# NixOS Config Flake A Nix flake managing NixOS, nix-darwin, and Home Manager configurations across multiple hosts. ## Hosts | Host | Type | Role | Disk Config | |------------|-----------------|---------------------------------|-------------| | `acheron` | Linux Server | Server | disko | | `armaros` | Linux Server | Server | disko | | `buildbox` | Linux Server | CI / Build server | disko | | `ender-ml` | Linux Server | ML / ComfyUI server | disko | | `eva-01` | Linux Desktop | ThinkPad X1 Nano Gen 1 | disko | | `eva-02` | macOS | Darwin / Mac | — | | `eva-03` | Linux Desktop | Desktop with ComfyUI | disko | Each host gets an auto-generated `-iso` rescue/installer ISO (except `eva-02`). ## Structure ``` ├── flake.nix # Main flake with all host definitions ├── flake.lock ├── hosts/ │ ├── acheron/ # Server #1 │ │ ├── configuration.nix │ │ ├── disko-config.nix │ │ ├── hardware-configuration.nix │ ├── armaros/ # Server #2 │ │ └── ... │ ├── buildbox/ # CI / Build │ │ └── ... │ ├── ender-ml/ # ML server with ComfyUI │ │ └── ... │ ├── eva-01/ # ThinkPad X1 Nano (Linux desktop) │ │ └── ... │ ├── eva-02/ # macOS │ │ └── configuration.nix │ ├── eva-03/ # Linux desktop with ComfyUI │ │ └── ... ├── home-manager/ │ ├── home.nix # Home Manager config for `rogueking` │ ├── commands/ # CLI tool modules │ │ ├── commands.nix │ │ ├── direnv.nix │ │ ├── eza.nix │ │ ├── git.nix │ │ ├── newsboat.nix │ │ ├── starship.nix │ │ ├── tmux.nix │ │ └── zsh.nix │ │ └── custom/ # Custom command packages │ │ └── fastfetch/ │ │ └── nixvim/ │ └── programs/ # GUI / desktop program modules │ ├── programs.nix │ ├── ghostty/ │ ├── hypr/ │ └── rofi/ └── assets/ └── pfp/ # Profile pictures ``` ## Flake Inputs | Input | Source | |--------------------------|----------------------------------------------| | `nixpkgs` | `nixos-26.05` | | `nixpkgs-unstable` | `nixos-unstable` | | `nix-darwin` | `nix-darwin-26.05` | | `home-manager` | `release-26.05` (follows `nixpkgs`) | | `home-manager-unstable` | `master` (follows `nixpkgs-unstable`) | | `nixvim` | `nixos-26.05` | | `nixos-hardware` | `master` | | `disko` | Latest | | `nix-snapd` | Latest | | `comfyui-nix` | `main` | ## Dev Shell A `direnv`-friendly dev shell is available with `nixd`, `alejandra`, `nil`, `git`, and `bun`. ```bash # Enter the dev shell nix develop # Or with direnv (if you have the .envrc set up) direnv allow ``` ## Commands ```bash # Rebuild a host sudo nixos-rebuild switch --flake .#eva-01 # Darwin rebuild darwin-rebuild switch --flake .#eva-02 # Update flake inputs nix flake update # Build a specific host's ISO nix build .#nixosConfigurations.eva-01-iso.config.system.build.isoImage ```