• Updated input 'darwin': 'github:lnl7/nix-darwin/bd7d1e3912d40f799c5c0f7e5820ec950f1e0b3d' (2024-09-22) → 'github:lnl7/nix-darwin/4b43b68281fd1a332c2aec8fbc077d92ca352c3e' (2024-09-29) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/d830ad47cc992b4a46b342bbc79694cbd0e980b2' (2024-09-27) → 'github:NixOS/nixos-hardware/f5c239fa9acb27f0a5326ba2949c00fada89ca9f' (2024-09-29) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/759537f06e6999e141588ff1c9be7f3a5c060106' (2024-09-25) → 'github:NixOS/nixpkgs/fbca5e745367ae7632731639de5c21f29c8744ed' (2024-09-28) • Updated input 'nixpkgs-unstable': 'github:NixOS/nixpkgs/28b5b8af91ffd2623e995e20aee56510db49001a' (2024-09-26) → 'github:NixOS/nixpkgs/7eee17a8a5868ecf596bbb8c8beb527253ea8f4d' (2024-09-29)
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.