unpacking 'github:NixOS/nixpkgs/02b2ca60cf6e8686bddc068bd9558fdabd1c2a12' into the Git cache... • Updated input '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 'nixos-hardware': 'github:NixOS/nixos-hardware/cf737e2eba82b603f54f71b10cb8fd09d22ce3f5?narHash=sha256-%2BjjPup/ByS0LEVIrBbt7FnGugJgLeG9oc%2BivFASYn2U%3D' (2024-12-10) → 'github:NixOS/nixos-hardware/b12e314726a4226298fe82776b4baeaa7bcf3dcd?narHash=sha256-mfv%2BJ/vO4nqmIOlq8Y1rRW8hVsGH3M%2BI2ESMjhuebDs%3D' (2024-12-16) • Updated input 'nixpkgs-master': 'github:NixOS/nixpkgs/bf17cda7a49edfc0e925439f8b9e5cb321aa9b25?narHash=sha256-FKJVhSk07RnE/lGjxkr3eN9kfCCvqGUHeAAQMKCKW0A%3D' (2024-12-16) → 'github:NixOS/nixpkgs/02b2ca60cf6e8686bddc068bd9558fdabd1c2a12?narHash=sha256-iMCsnJHb4im88nFvNA%2BFig3uVeOWU/qW2ryvowOhC1A%3D' (2024-12-17) • Updated input 'nixvim/git-hooks': 'github:cachix/git-hooks.nix/aa9f40c906904ebd83da78e7f328cd8aeaeae785?narHash=sha256-NdaCraHPp8iYMWzdXAt5Nv6sA3MUzlCiGiR586TCwo0%3D' (2024-12-15) → 'github:cachix/git-hooks.nix/d8c02f0ffef0ef39f6063731fc539d8c71eb463a?narHash=sha256-%2BXTFXYlFJBxohhMGLDpYdEnhUNdxN8dyTA8WAd%2Blh2A%3D' (2024-12-08)
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.