• Updated input 'darwin': 'github:lnl7/nix-darwin/a60ac02f9466f85f092e576fd8364dfc4406b5a6' (2024-10-14) → 'github:lnl7/nix-darwin/64d9d1ae25215c274c37e3e4016977a6779cf0d3' (2024-10-22) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/38279034170b1e2929b2be33bdaedbf14a57bfeb' (2024-10-19) → 'github:NixOS/nixos-hardware/22e8de2729f40d29a445c8baeaf22740b8b25daf' (2024-10-22) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/4eb33fe664af7b41a4c446f87d20c9a0a6321fa3' (2024-10-17) → 'github:NixOS/nixpkgs/89172919243df199fe237ba0f776c3e3e3d72367' (2024-10-20) • Updated input 'nixpkgs-master': 'github:NixOS/nixpkgs/bd95a9ab27e843d42e6bc6b6bebf5587b460b6e8' (2024-10-19) → 'github:NixOS/nixpkgs/1c9fee8711a88d5b09e2072caf331efaec6501d3' (2024-10-23) • Updated input 'nixpkgs-unstable': 'github:NixOS/nixpkgs/ccc0c2126893dd20963580b6478d1a10a4512185' (2024-10-18) → 'github:NixOS/nixpkgs/ca30f584e18024baf39c395001262ed936f27ebd' (2024-10-20)
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.