- Nix 82.9%
- Python 16.4%
- Shell 0.7%
|
|
||
|---|---|---|
| .gitea/workflows | ||
| config | ||
| home | ||
| hosts | ||
| scripts | ||
| .gitignore | ||
| AGENTS.md | ||
| flake.lock | ||
| flake.nix | ||
| personal.nix | ||
| personal.nix.example | ||
| README.md | ||
NixOS config
This flake includes the complete NixOS setup for all computers.
It includes the configuration of zsh, neovim, tmux, etc across all the machines. On Linux desktops it uses the Gnome desktop environment. On the main server it uses podman (docker drop-in replacement) containers for all the services.
Feel free to take a look and I hope it can be used for inspiration.
Personal configuration
Your identity (git name/email, domain) lives in personal.nix in the repo root. Copy personal.nix.example to it and fill in your values:
cp personal.nix.example personal.nix
personal.nix is committed rather than gitignored, so rebuilds need no --impure. The earlier guidance that it was gitignored and required --impure never worked: flake fetchers copy the repository from the git tree, which excludes gitignored files, so an ignored personal.nix would simply have been missing from the flake source.
To update the flake run:
sudo nix flake update
On nix-darwin for install run:
sudo nix run nix-darwin/master#nix-darwin-rebuild -- switch --flake .#admins-MacBook-Air
To rebuild and switch to the configuration, first copy over the hardware.nix which by default on a NixOS install will be at /etc/nixos/hardware-configuration.nix and then run one of the following
sudo nixos-rebuild switch --flake .#desktop
sudo nix-darwin-rebuild switch --flake .#admins-MacBook-Air
sudo nixos-rebuild switch --flake .#nixos-server