• Updated input 'darwin': 'github:lnl7/nix-darwin/6374cd7e50aa057a688142eed2345083047ad884' (2024-09-17) → 'github:lnl7/nix-darwin/bd7d1e3912d40f799c5c0f7e5820ec950f1e0b3d' (2024-09-22) • Updated input 'home-manager': 'github:nix-community/home-manager/2ab00f89dd3ecf8012f5090e6d7ca1a7ea30f594' (2024-09-17) → 'github:nix-community/home-manager/2f23fa308a7c067e52dfcc30a0758f47043ec176' (2024-09-22) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/dc8b0296f68f72f3fe77469c549a6f098555c2e9' (2024-09-16) → 'github:NixOS/nixos-hardware/b493dfd4a8cf9552932179e56ff3b5819a9b8381' (2024-09-21) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/086b448a5d54fd117f4dc2dee55c9f0ff461bdc1' (2024-09-16) → 'github:NixOS/nixpkgs/944b2aea7f0a2d7c79f72468106bc5510cbf5101' (2024-09-20) • Updated input 'nixpkgs-unstable': 'github:NixOS/nixpkgs/658e7223191d2598641d50ee4e898126768fe847' (2024-09-17) → 'github:NixOS/nixpkgs/a1d92660c6b3b7c26fb883500a80ea9d33321be2' (2024-09-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.