• Updated input 'darwin': 'github:lnl7/nix-darwin/a3e4a7b8ffc08c7dc1973822a77ad432e1ec3dec' (2024-07-18) → 'github:lnl7/nix-darwin/33bf7df5bbfcbbb49e6559b0c96c9e3b26d14e58' (2024-07-21) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/c5013aa7ce2c7ec90acee5d965d950c8348db751' (2024-07-11) → 'github:NixOS/nixos-hardware/ab165a8a6cd12781d76fe9cbccb9e975d0fb634f' (2024-07-19) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/c716603a63aca44f39bef1986c13402167450e0a' (2024-07-17) → 'github:NixOS/nixpkgs/0c53b6b8c2a3e46c68e04417e247bba660689c9d' (2024-07-19) • Updated input 'nixpkgs-unstable': 'github:NixOS/nixpkgs/9355fa86e6f27422963132c2c9aeedb0fb963d93' (2024-07-16) → 'github:NixOS/nixpkgs/d43f0636fc9492e83be8bbb41f9595d7a87106b8' (2024-07-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.