• Updated input 'darwin': 'github:lnl7/nix-darwin/7840909b00fbd5a183008a6eb251ea307fe4a76e' (2024-10-25) → 'github:lnl7/nix-darwin/5c0c6aaa797d6ccbb6cdab14de0248135735709d' (2024-10-27) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/e8a2f6d5513fe7b7d15701b2d05404ffdc3b6dda' (2024-10-24) → 'github:NixOS/nixos-hardware/6906ac67a1078cf950b8527341e229eeecb5bc30' (2024-10-27) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/32e940c7c420600ef0d1ef396dc63b04ee9cad37' (2024-10-23) → 'github:NixOS/nixpkgs/cd3e8833d70618c4eea8df06f95b364b016d4950' (2024-10-26) • Updated input 'nixpkgs-master': 'github:NixOS/nixpkgs/86e78d3d2084ff87688da662cf78c2af085d8e73' (2024-10-26) → 'github:NixOS/nixpkgs/95d29b24b0568e62514dec4c74a87e91584dca7b' (2024-10-28) • Updated input 'nixpkgs-unstable': 'github:NixOS/nixpkgs/41dea55321e5a999b17033296ac05fe8a8b5a257' (2024-10-25) → 'github:NixOS/nixpkgs/86e78d3d2084ff87688da662cf78c2af085d8e73' (2024-10-26)
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.