• Updated input 'darwin': 'github:lnl7/nix-darwin/eac4f25028c1975a939c8f8fba95c12f8a25e01c' (2024-05-21) → 'github:lnl7/nix-darwin/0bea8222f6e83247dd13b055d83e64bce02ee532' (2024-05-24) • Updated input 'home-manager': 'github:nix-community/home-manager/ab5542e9dbd13d0100f8baae2bc2d68af901f4b4' (2024-05-10) → 'github:nix-community/home-manager/2c78a57c544dd19b07442350727ced097e1aa6e6' (2024-05-26) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/d9e0b26202fd500cf3e79f73653cce7f7d541191' (2024-05-20) → 'github:NixOS/nixos-hardware/2e7d6c568063c83355fe066b8a8917ee758de1b8' (2024-05-26) • Updated input 'nixpkgs-unstable': 'github:NixOS/nixpkgs/3f316d2a50699a78afe5e77ca486ad553169061e' (2024-05-22) → 'github:NixOS/nixpkgs/c5187508b11177ef4278edf19616f44f21cc8c69' (2024-05-25)
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.