• Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/caabc425565bbd5c8640630b0bf6974961a49242' (2024-06-25) → 'github:NixOS/nixos-hardware/901bc809b5d3e73a609a167385df23311d81b39c' (2024-06-26) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/e4509b3a560c87a8d4cb6f9992b8915abf9e36d8' (2024-06-23) → 'github:NixOS/nixpkgs/fc07dc3bdf2956ddd64f24612ea7fc894933eb2e' (2024-06-24) • Updated input 'nixpkgs-unstable': 'github:NixOS/nixpkgs/efb39c6052f3ce51587cf19733f5f4e5d515aa13' (2024-06-24) → 'github:NixOS/nixpkgs/9c513fc6fb75142f6aec6b7545cb8af2236b80f5' (2024-06-25) • Updated input 'nixvim': 'github:nix-community/nixvim/066485bf4c4cd83f01a75d46556ba2037e716604' (2024-06-23) → 'github:nix-community/nixvim/a8c99bc62848ad0c850f585f2fd7dae0041d2cb1' (2024-06-26) • Updated input 'nixvim/git-hooks': 'github:cachix/git-hooks.nix/8cd35b9496d21a6c55164d8547d9d5280162b07a' (2024-06-20) → 'github:cachix/git-hooks.nix/0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07' (2024-06-24) • Updated input 'nixvim/treefmt-nix': 'github:numtide/treefmt-nix/68eb1dc333ce82d0ab0c0357363ea17c31ea1f81' (2024-06-16) → 'github:numtide/treefmt-nix/065a23edceff48f948816b795ea8cc6c0dee7cdf' (2024-06-24)
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.