• Updated input 'darwin': 'github:lnl7/nix-darwin/5ce8503cf402cf76b203eba4b7e402bea8e44abc' (2024-07-13) → 'github:lnl7/nix-darwin/7522a30d328f885d20c2815bd05eb711bc69644c' (2024-07-15) • Updated input 'nixpkgs-unstable': 'github:NixOS/nixpkgs/aa247c0c90ecf4ae7a032c54fdc21b91ca274062' (2024-07-14) → 'github:NixOS/nixpkgs/b2c1f10bfbb3f617ea8e8669ac13f3f56ceb2ea2' (2024-07-15) • Updated input 'nixvim': 'github:nix-community/nixvim/75e7bb13f5a3183f4993f4a9e44c1ede2076f6eb' (2024-07-14) → 'github:nix-community/nixvim/eef2f4c6b190d92e296e47e5fe10e7ced65fd959' (2024-07-15) • Updated input 'nixvim/git-hooks': 'github:cachix/git-hooks.nix/2b6bd3c87d3a66fb0b8f2f06c985995e04b4fb96' (2024-07-08) → 'github:cachix/git-hooks.nix/622291c026190caf13cb26f5136616b1ff0a07aa' (2024-07-15) • Updated input 'nixvim/nix-darwin': 'github:lnl7/nix-darwin/0f89b73f41eaa1dde67b291452c181d9a75f10dd' (2024-07-07) → 'github:lnl7/nix-darwin/5ce8503cf402cf76b203eba4b7e402bea8e44abc' (2024-07-13) • Updated input 'nixvim/treefmt-nix': 'github:numtide/treefmt-nix/6fc8bded78715cdd43a3278a14ded226eb3a239e' (2024-07-08) → 'github:numtide/treefmt-nix/b92afa1501ac73f1d745526adc4f89b527595f14' (2024-07-14)
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.