• Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/d6c6cf6f5fead4057d8fb2d5f30aa8ac1727f177' (2024-06-05) → 'github:NixOS/nixos-hardware/057a7996d012f342a38a26261ee529cebb1755ef' (2024-06-08) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/0b8e7a1ae5a94da2e1ee3f3030a32020f6254105' (2024-06-05) → 'github:NixOS/nixpkgs/9b5328b7f761a7bbdc0e332ac4cf076a3eedb89b' (2024-06-06) • Updated input 'nixpkgs-unstable': 'github:NixOS/nixpkgs/818dbe2f96df233d2041739d6079bb616d3e5597' (2024-06-06) → 'github:NixOS/nixpkgs/31f40991012489e858517ec20102f033e4653afb' (2024-06-06) • Updated input 'nixvim': 'github:nix-community/nixvim/2c25e77d8265a1b473a671d0cb5598c1830d94c6' (2024-06-06) → 'github:nix-community/nixvim/5972abdc3482daa1e21ae593d479bc4c1141093a' (2024-06-07)
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.