unpacking 'github:ghostty-org/ghostty/918ccdba5cc65ccd1fb48a54c71306d869299441' into the Git cache... unpacking 'github:NixOS/nixos-hardware/8870dcaff63dfc6647fb10648b827e9d40b0a337' into the Git cache... unpacking 'github:NixOS/nixpkgs/c3c9b284ca97b041c96a19844c305bac06c8b5d8' into the Git cache... unpacking 'github:NixOS/nixpkgs/32af3611f6f05655ca166a0b1f47b57c762b5192' into the Git cache... unpacking 'github:nix-community/nixvim/2004ff4547f11d25da78f393fe797dde2b831ce7' into the Git cache... • Updated input 'ghostty': 'github:ghostty-org/ghostty/12ce9f2e3b19cf1810746dcfe5b19f173004e256?narHash=sha256-9UHWb2T2VJRYN%2B72yEFjXgJcuFZqKQSHggj6oy9tzJs%3D' (2025-01-09) → 'github:ghostty-org/ghostty/918ccdba5cc65ccd1fb48a54c71306d869299441?narHash=sha256-r%2BFXWU/hfgO3lAHYs9Q03iCShnC42mZd1pnmIIp8Z9k%3D' (2025-01-11) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/4f339f6be2b61662f957c2ee9eda0fa597d8a6d6?narHash=sha256-BG1FfTexFwNty5VhYjaQLMR6CMPfI3QRcaZrFQYu2EM%3D' (2025-01-07) → 'github:NixOS/nixos-hardware/8870dcaff63dfc6647fb10648b827e9d40b0a337?narHash=sha256-OL7leZ6KBhcDF3nEKe4aZVfIm6xQpb1Kb%2BmxySIP93o%3D' (2025-01-09) • Updated input 'nixpkgs-master': 'github:NixOS/nixpkgs/c30dc6d36c14f2febe70f32f138e76094e077b66?narHash=sha256-ApMzJACM3M0kdBorJpZSgTk7IkJzbYFZwG0xQv/T3BQ%3D' (2025-01-09) → 'github:NixOS/nixpkgs/c3c9b284ca97b041c96a19844c305bac06c8b5d8?narHash=sha256-ua1c8eqrTDSICU/9d/BuRuJRPatViSXDRO/70zC3Ghs%3D' (2025-01-11) • Updated input 'nixpkgs-unstable': 'github:NixOS/nixpkgs/8c9fd3e564728e90829ee7dbac6edc972971cd0f?narHash=sha256-CHd7yhaDigUuJyDeX0SADbTM9FXfiWaeNyY34FL1wQU%3D' (2025-01-07) → 'github:NixOS/nixpkgs/32af3611f6f05655ca166a0b1f47b57c762b5192?narHash=sha256-dMGNa5UwdtowEqQac%2BDr0d2tFO/60ckVgdhZU9q2E2o%3D' (2025-01-09) • Updated input 'nixvim': 'github:nix-community/nixvim/6bd1c7c5927fa9fdfdfd68f5aa772e6a62b9d779?narHash=sha256-Syew%2B5yuzysUr07SrGD%2BGRfZjE11h36TSYbxzEHYyyc%3D' (2025-01-04) → 'github:nix-community/nixvim/2004ff4547f11d25da78f393fe797dde2b831ce7?narHash=sha256-G6/9vT12RAxkNWQPEX9p8tTx/i8jJcmISpbVDGbEPGc%3D' (2025-01-11) • Updated input 'nixvim/flake-parts': 'github:hercules-ci/flake-parts/f2f7418ce0ab4a5309a4596161d154cfc877af66?narHash=sha256-soePLBazJk0qQdDVhdbM98vYdssfs3WFedcq%2BraipRI%3D' (2025-01-01) → 'github:hercules-ci/flake-parts/b905f6fc23a9051a6e1b741e1438dbfc0634c6de?narHash=sha256-%2Bhu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU%3D' (2025-01-06) • Updated input 'nixvim/home-manager': 'github:nix-community/home-manager/613691f285dad87694c2ba1c9e6298d04736292d?narHash=sha256-oJDtWPH1oJT34RJK1FSWjwX4qcGOBRkcNQPD0EbSfNM%3D' (2024-12-28) → 'github:nix-community/home-manager/bd65bc3cde04c16755955630b344bc9e35272c56?narHash=sha256-dinzAqCjenWDxuy%2BMqUQq0I4zUSfaCvN9rzuCmgMZJY%3D' (2025-01-08) • Updated input 'nixvim/nix-darwin': 'github:lnl7/nix-darwin/3feaf376d75d3d58ebf7e9a4f584d00628548ad9?narHash=sha256-svzx3yVXD5tbBJZCn3Lt1RriH8GHo6CyVUPTHejf7sU%3D' (2025-01-04) → 'github:lnl7/nix-darwin/57733bd1dc81900e13438e5b4439239f1b29db0e?narHash=sha256-iWcjToBpx4PUd74uqvIGAfqqVfyrvRLRauC/SxEKIF0%3D' (2025-01-08) • Updated input 'nixvim/treefmt-nix': 'github:numtide/treefmt-nix/29806abab803e498df96d82dd6f34b32eb8dd2c8?narHash=sha256-1hKMRIT%2BQZNWX46e4gIovoQ7H8QRb7803ZH4qSKI45o%3D' (2025-01-03) → 'github:numtide/treefmt-nix/13c913f5deb3a5c08bb810efd89dc8cb24dd968b?narHash=sha256-p2r8xhQZ3TYIEKBoiEhllKWQqWNJNoT9v64Vmg4q8Zw%3D' (2025-01-06)
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.