49 lines
1.5 KiB
Markdown
49 lines
1.5 KiB
Markdown
# 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. |