100 lines
2.6 KiB
Bash
Executable File
100 lines
2.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Droidnix: Create folder structure for a dendritic NixOS + Home Manager setup
|
|
|
|
set -euo pipefail
|
|
|
|
# Root directory (change this if needed)
|
|
ROOT_DIR="${1:-./Droidnix}"
|
|
|
|
# Create root directory if it doesn't exist
|
|
mkdir -p "$ROOT_DIR"
|
|
cd "$ROOT_DIR"
|
|
|
|
# Function to create directories
|
|
mkdir_structure() {
|
|
mkdir -p \
|
|
assets/common/conf \
|
|
assets/common/scripts \
|
|
assets/hyprland/conf \
|
|
assets/hyprland/themes \
|
|
assets/hyprland/scripts \
|
|
assets/mangowc/conf \
|
|
assets/mangowc/themes \
|
|
assets/mangowc/scripts \
|
|
assets/machines/maindroid \
|
|
assets/machines/traveldroid \
|
|
common/nixos/hardware \
|
|
common/nixos/services \
|
|
common/nixos/users \
|
|
common/nixos/security \
|
|
common/nixos/packages \
|
|
common/home-manager/programs \
|
|
common/home-manager/shell \
|
|
common/home-manager/starship \
|
|
common/themes/gtk \
|
|
common/themes/icons \
|
|
common/themes/fonts \
|
|
common/themes/shells \
|
|
common/templates \
|
|
hyprland/nixos/window-manager \
|
|
hyprland/nixos/plugins \
|
|
hyprland/home-manager/programs \
|
|
hyprland/home-manager/scripts \
|
|
hyprland/themes/hypr \
|
|
hyprland/themes/waybar \
|
|
hyprland/themes/rofi \
|
|
hyprland/overrides \
|
|
mangowc/nixos/window-manager \
|
|
mangowc/nixos/plugins \
|
|
mangowc/home-manager/programs \
|
|
mangowc/home-manager/scripts \
|
|
mangowc/themes/mangowc \
|
|
mangowc/themes/waybar \
|
|
mangowc/themes/wofi \
|
|
mangowc/overrides
|
|
}
|
|
|
|
# Create the structure
|
|
mkdir_structure
|
|
|
|
# Create a placeholder base.conf in assets/common/conf
|
|
cat > assets/common/conf/base.conf << 'EOF'
|
|
# Droidnix Base Configuration
|
|
# Choose your window manager: hyprland or mangowc
|
|
wm = "hyprland"
|
|
EOF
|
|
|
|
# Create a placeholder configuration.nix for each machine
|
|
cat > assets/machines/maindroid/configuration.nix << 'EOF'
|
|
# Maindroid NixOS Configuration
|
|
{ ... }: {
|
|
# Your NixOS configuration for maindroid
|
|
}
|
|
EOF
|
|
|
|
cat > assets/machines/traveldroid/configuration.nix << 'EOF'
|
|
# Traveldroid NixOS Configuration
|
|
{ ... }: {
|
|
# Your NixOS configuration for traveldroid
|
|
}
|
|
EOF
|
|
|
|
# Create a placeholder flake.nix in the root
|
|
cat > flake.nix << 'EOF'
|
|
{
|
|
description = "Droidnix: A dendritic NixOS + Home Manager configuration";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
home-manager.url = "github:nix-community/home-manager";
|
|
};
|
|
|
|
outputs = { self, nixpkgs, home-manager, ... }@inputs: {
|
|
# Your flake outputs here
|
|
};
|
|
}
|
|
EOF
|
|
|
|
echo "Droidnix folder structure created in: $ROOT_DIR"
|