• Updated input 'darwin': 'github:lnl7/nix-darwin/9e7c20ffd056e406ddd0276ee9d89f09c5e5f4ed' (2024-04-19) → 'github:lnl7/nix-darwin/230a197063de9287128e2c68a7a4b0cd7d0b50a7' (2024-04-24) • Updated input 'home-manager': 'github:nix-community/home-manager/d6bb9f934f2870e5cbc5b94c79e9db22246141ff' (2024-04-06) → 'github:nix-community/home-manager/86853e31dc1b62c6eeed11c667e8cdd0285d4411' (2024-04-25) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/5d48925b815fd202781bfae8fb6f45c07112fdb2' (2024-04-19) → 'github:NixOS/nixos-hardware/797f8d8082c7cc3259cba7275c699d4991b09ecc' (2024-04-23) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/a5e4bbcb4780c63c79c87d29ea409abf097de3f7' (2024-04-21) → 'github:NixOS/nixpkgs/b500489fd3cf653eafc075f9362423ad5cdd8676' (2024-04-22) • Updated input 'nixpkgs-unstable': 'github:NixOS/nixpkgs/f2d7a289c5a5ece8521dd082b81ac7e4a57c2c5c' (2024-04-21) → 'github:NixOS/nixpkgs/a0cadba85e907b8e2d6ae549d25535da3b1b6d5e' (2024-04-24) • Updated input 'nixvim': 'github:nix-community/nixvim/b3ea5256e07ee9105060cffa075028402946bd63' (2024-01-03) → 'github:nix-community/nixvim/7c59615585f691b560d9522c94d8f3195853ca8e' (2024-04-24)
nix-config
This repo stores nix to manage my machines running NixOS and macOS.
The configuration is very specific to my own machines and setup, but it may be a useful reference for anyone else learning or experimenting with nix, whether it be on a personal workstation or a server environment.
Setup
on macOS: install the latest unstable nix from https://github.com/numtide/nix-unstable-installer (for nix flakes), and nix-darwin: https://github.com/LnL7/nix-darwin
Recipes are stored in a justfile. just is required.
To run a rebuild:
just rebuild
Update
To update nixpkgs defined in flake.nix, run:
just update
If there are updates, they should be reflected in flake.lock.
Rollback
To rollback to the previous generation:
just rollback
Garbage collection
To cleanup previous files, run nix garbage collection:
just clean
Pre-commit hooks
Pre-commit hooks are automatically activated when direnv is installed.