# nix-clanker-vm Nix configuration for this host (a Debian VM with standalone Nix). ## What's here - `flake.nix` — root flake: aggregates packages and the Home Manager config. - `tinfoil-proxy/` — self-contained flake packaging `tinfoil-proxy` (Go). - `home/` — Home Manager configuration (user `user`): bash, shell env, starship (declarative init), user-level nix.conf, installed packages (opencode), managed opencode config. - `config/nix.conf` — source of truth for Nix settings (`sandbox`, flakes). - `config/starship.toml` — the host's starship preset (nerd-font-symbols). - `config/opencode.jsonc` — global opencode config, managed via `home.file`. - `install.sh` — applies `config/nix.conf` system-wide (sudo, backs up). ## Apply ```sh sudo ./install.sh # update /etc/nix/nix.conf home-manager --flake ~/nix#user switch ``` The user-level `~/.config/nix/nix.conf` is managed by Home Manager via `home.file` in `home/default.nix`; the shell environment is owned by `programs.bash` (plus `hm-session-vars.sh`). ## Build ```sh nix build ~/nix nix build ~/nix/tinfoil-proxy ``` ## Push to Codeberg ```sh git remote add origin git@codeberg.org:kawaiipunk/nix-clanker-vm.git git branch -M main git push -u origin main ``` ## Notes - `sandbox = true` is a restricted setting; when supplied from the user-level config it is ignored with a warning (the daemon enforces it from `/etc/nix/nix.conf`). This is cosmetic. - Existing pre-Home-Manager dotfiles were moved to `~/.bashrc.backup` and `~/.profile.backup` during the first switch.