#!/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"