nixos-config-master/config.sh
jeirmeister e4b85e086f refactor: reorganize program configuration structure
Major structural changes:
- Create modular program organization by category (development, gaming, shell, etc.)
- Consolidate Python environment configurations using python311
- Introduce comprehensive shell configuration hierarchy
- Move utility programs into appropriate categories

Details:
- Migrate to consistent Python 3.11 usage across all Python tools
- Add structured environment management for multiple languages (Python, Rust, Go, JavaScript)
- Organize shell utilities into logical categories (security, network, files, etc.)
- Consolidate development tools and editor configurations
- Move VR configuration to gaming category
- Group productivity apps (Bitwarden, Obsidian, Todoist)

This restructuring aims to make the configuration more maintainable
and easier to extend in preparation for future flake migration.
2024-10-30 21:31:46 -07:00

31 lines
720 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
# Make sure jq is available
if ! command -v jq &> /dev/null; then
echo "Error: jq is required but not installed"
exit 1
fi
# Make sure config.json exists
if [ ! -f "config.json" ]; then
echo "Error: config.json not found in current directory"
exit 1
fi
echo "Creating directories and files..."
# Process each key in the JSON configuration
for file in $(jq -r 'keys[]' config.json); do
# Create directory if it doesn't exist
dir=$(dirname "$file")
mkdir -p "$dir"
# Write content to file
jq -r --arg file "$file" '.[$file]' config.json > "$file"
echo "Created: $file"
done
echo "Configuration files have been created successfully!"