Adopt Home Manager; manage starship, nix.conf, and opencode config

This commit is contained in:
2026-10-08 22:17:14 +00:00
commit 40abf86655
12 changed files with 465 additions and 0 deletions
+49
View File
@@ -0,0 +1,49 @@
# 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.