unpacking 'github:lnl7/nix-darwin/c6b65d946097baf3915dd51373251de98199280d' into the Git cache... unpacking 'github:nix-community/home-manager/62d536255879be574ebfe9b87c4ac194febf47c5' into the Git cache... unpacking 'github:NixOS/nixos-hardware/fe01780d356d70fd119a19277bff71d3e78dad00' into the Git cache... unpacking 'github:NixOS/nixpkgs/62c435d93bf046a5396f3016472e8f7c8e2aed65' into the Git cache... unpacking 'github:NixOS/nixpkgs/5d776e2586ead4f5883e66072bb29713b610f75e' into the Git cache... unpacking 'github:NixOS/nixpkgs/31d66ae40417bb13765b0ad75dd200400e98de84' into the Git cache... unpacking 'github:nix-community/nixvim/838829c8f9cb238a915fe3d6ac36df1a3f040d2c' into the Git cache... unpacking 'github:danth/stylix/d13ffb381c83b6139b9d67feff7addf18f8408fe' into the Git cache... • Updated input 'darwin': 'github:lnl7/nix-darwin/6ab87b7c84d4ee873e937108c4ff80c015a40c7a?narHash=sha256-AEjWTJwOmSnVYsSJCojKgoguGfFfwel6z/6ud6UFMU8%3D' (2024-11-26) → 'github:lnl7/nix-darwin/c6b65d946097baf3915dd51373251de98199280d?narHash=sha256-Qs3YmoLYUJ8g4RkFj2rMrzrP91e4ShAioC9s%2BvG6ENM%3D' (2024-12-02) • Updated input 'home-manager': 'github:nix-community/home-manager/f3111f62a23451114433888902a55cf0692b408d?narHash=sha256-T1e5oceypZu3Q8vzICjv1X/sGs9XfJRMW5OuXHgpB3c%3D' (2024-11-24) → 'github:nix-community/home-manager/62d536255879be574ebfe9b87c4ac194febf47c5?narHash=sha256-lYnT%2BEYE47f5yY3KS/Kd4pJ6CO9fhCqumkYYkQ3TK20%3D' (2024-12-01) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/45348ad6fb8ac0e8415f6e5e96efe47dd7f39405?narHash=sha256-kF6rDeCshoCgmQz%2B7uiuPdREVFuzhIorGOoPXMalL2U%3D' (2024-11-24) → 'github:NixOS/nixos-hardware/fe01780d356d70fd119a19277bff71d3e78dad00?narHash=sha256-aQorWITXZu7b095UwnpUvcGt9dNJie/GO9r4hZfe2sU%3D' (2024-12-01) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/c71ad5c34d51dcbda4c15f44ea4e4aa6bb6ac1e9?narHash=sha256-fYNXgpu1AEeLyd3fQt4Ym0tcVP7cdJ8wRoqJ%2BCtTRyY%3D' (2024-11-28) → 'github:NixOS/nixpkgs/62c435d93bf046a5396f3016472e8f7c8e2aed65?narHash=sha256-F7thesZPvAMSwjRu0K8uFshTk3ZZSNAsXTIFvXBT%2B34%3D' (2024-11-30) • Updated input 'nixpkgs-master': 'github:NixOS/nixpkgs/bf89f433578a7bb652d3dd23701bd00e18d8f2f8?narHash=sha256-sLJrzRd6%2BL8oJSkRlOsr1Zo/ThhqG/CdSXs5sgCcyEE%3D' (2024-12-01) → 'github:NixOS/nixpkgs/5d776e2586ead4f5883e66072bb29713b610f75e?narHash=sha256-QsnXeYIvVqMcnYxJ4uoO0A%2B6aAd6oUxEn3EkfsCVRvw%3D' (2024-12-02) • Updated input 'nixpkgs-unstable': 'github:NixOS/nixpkgs/4703b8d2c708e13a8cab03d865f90973536dcdf5?narHash=sha256-B5pYT%2BIVaqcrfOekkwKvx/iToDnuQWzc2oyDxzzBDc4%3D' (2024-11-30) → 'github:NixOS/nixpkgs/31d66ae40417bb13765b0ad75dd200400e98de84?narHash=sha256-7NbtSLfZO0q7MXPl5hzA0sbVJt6pWxxtGWbaVUDDmjs%3D' (2024-12-01) • Updated input 'nixvim': 'github:nix-community/nixvim/80e49e7fd3fa720b93d18e6d859d9b9e7aad4a62?narHash=sha256-xPf3jjDBDA9oMVnWU5DJ8gINCq2EPiupvF/4rD/0eEI%3D' (2024-11-30) → 'github:nix-community/nixvim/838829c8f9cb238a915fe3d6ac36df1a3f040d2c?narHash=sha256-RnDTSTRYcfgqrkBPNN7uvojwRzEKPYiZaFg9VQ4m7hQ%3D' (2024-12-02)
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.