unpacking 'github:NixOS/nixpkgs/8ddbc4432614ed034cb69f02eedd723250d9513e' into the Git cache... • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/b47fd6fa00c6afca88b8ee46cfdb00e104f50bca?narHash=sha256-nbG9TijTMcfr%2Bau7ZVbKpAhMJzzE2nQBYmRvSdXUD8g%3D' (2024-12-19) → 'github:NixOS/nixpkgs/1c6e20d41d6a9c1d737945962160e8571df55daa?narHash=sha256-GIMyMt1pkkoXdCq9un859bX6YQZ/iYtukb9R5luazLM%3D' (2024-12-20) • Updated input 'nixpkgs-master': 'github:NixOS/nixpkgs/0e4e4814dbf753422adb6586c98a62591c93cded?narHash=sha256-MeviH4TtYZR9bzYPu0HZFnxrJPPX8ArwF9R7CpjQs20%3D' (2024-12-20) → 'github:NixOS/nixpkgs/8ddbc4432614ed034cb69f02eedd723250d9513e?narHash=sha256-rUg5S3bKZu1rNPY5/EqQNXN9DNpXIZXc/AnbcK/h/sU%3D' (2024-12-21) • Updated input 'nixvim': 'github:nix-community/nixvim/4f0d5e0d2947dbf111f2ce00c99ca4c6c659dc79?narHash=sha256-APyzO3pn6iiGJxkWczifnxm3pKZrNYgpJUPpnVfUwsk%3D' (2024-12-17) → 'github:nix-community/nixvim/334947672f1eb05488e69657b9c412230bd658b4?narHash=sha256-uap4LcvjpTz5WTgDfQYtL3QCpGmtee7DuD5mB8AIiLw%3D' (2024-12-21) • Updated input 'nixvim/git-hooks': 'github:cachix/git-hooks.nix/d8c02f0ffef0ef39f6063731fc539d8c71eb463a?narHash=sha256-%2BXTFXYlFJBxohhMGLDpYdEnhUNdxN8dyTA8WAd%2Blh2A%3D' (2024-12-08) → 'github:cachix/git-hooks.nix/0ddd26d0925f618c3a5d85a4fa5eb1e23a09491d?narHash=sha256-nzE5UbJ41aPEKf8R2ZFYtLkqPmF7EIUbNEdHMBLg0Ig%3D' (2024-12-17) • Updated input 'nixvim/home-manager': 'github:nix-community/home-manager/1318c3f3b068cdcea922fa7c1a0a1f0c96c22f5f?narHash=sha256-Zb5ZCa7Xj%2B0gy5XVXINTSr71fCfAv%2BIKtmIXNrykT54%3D' (2024-12-11) → 'github:nix-community/home-manager/80b0fdf483c5d1cb75aaad909bd390d48673857f?narHash=sha256-vykpJ1xsdkv0j8WOVXrRFHUAdp9NXHpxdnn1F4pYgSw%3D' (2024-12-16) • Updated input 'nixvim/treefmt-nix': 'github:numtide/treefmt-nix/0ce9d149d99bc383d1f2d85f31f6ebd146e46085?narHash=sha256-s4DalCDepD22jtKL5Nw6f4LP5UwoMcPzPZgHWjAfqbQ%3D' (2024-12-09) → 'github:numtide/treefmt-nix/65712f5af67234dad91a5a4baee986a8b62dbf8f?narHash=sha256-MMi74%2BWckoyEWBRcg/oaGRvXC9BVVxDZNRMpL%2B72wBI%3D' (2024-12-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.