configuration for my mac and linux workstations
  • Nix 83.5%
  • Shell 10.2%
  • Lua 3.5%
  • Just 2.8%
Find a file
2026-05-03 14:51:39 -04:00
.github/workflows chore: use github token in update-hashes workflow, disable regex automerge 2026-05-01 15:35:59 -04:00
home Ensure that mako does not time out critical notifications 2026-05-03 10:50:52 -04:00
hosts Replace pika-backup with borgmatic 2026-05-03 10:38:53 -04:00
litellm remove gemini models from litellm config 2026-05-01 23:55:14 -04:00
modules Add feature flags 2026-04-24 10:51:01 -04:00
overlays Add subtui for music 2026-04-29 10:38:40 -04:00
.envrc Add azure-cli-extensions.fzf 2026-04-24 11:17:06 -04:00
.gitignore Add subtui for music 2026-04-29 10:38:40 -04:00
AGENTS.md docs: update agents.md to reflect removal of update-flake.sh and renovate automation 2026-05-01 15:50:01 -04:00
CLAUDE.md Add mcp servers 2026-04-24 12:39:37 -04:00
flake.lock Update niri digest to 945748d (#111) 2026-05-03 14:40:26 -04:00
flake.nix Update niri digest to 945748d (#111) 2026-05-03 14:40:26 -04:00
justfile Add just merge-pr 2026-05-03 14:28:44 -04:00
LICENSE Create LICENSE 2023-09-30 21:20:12 -04:00
nixos-gui.nix Replace pika-backup with borgmatic 2026-05-03 10:38:53 -04:00
nixos.nix Move models into litellm directory 2026-04-30 21:28:45 -04:00
opensnitch.nix Add more opensnitch rules 2026-04-27 16:25:26 -04:00
packages.nix Add dust 2026-05-02 08:33:48 -04:00
README.md Update update section 2026-05-03 14:51:39 -04:00
renovate.json Remove lockFileMaintenance 2026-05-03 14:41:48 -04:00
wallpaper.png Add niri 2026-04-14 17:05:00 -04:00

nix-config

This repo stores nix configuration to manage my hosts 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.

 macchina

        a8888b.           Host        -  dave@hephaestus
       d888888b.          Machine     -  Micro-Star International Co., Ltd MS-7C02 1.0
       8P"YP"Y88          Kernel      -  6.12.81
       8|o||o|88          Distro      -  NixOS 25.11 (Xantusia)
       8'    .88          DE          -  Niri
       8`._.' Y8.         Packages    -  1 (cargo), 6 (flatpak), 9299 (nix)
      d/      `8b.        Shell       -  fish
     dP        Y8b.       Terminal    -  .ghostty-wrappe
    d8:       ::88b.      Resolution  -  3840x2160
   d8"         'Y88b      Uptime      -  11h 32m
  :8P           :888      CPU         -  AMD Ryzen 7 5700X 8-Core Processor (16)
   8a.         _a88P      CPU Load    -  3%
 ._/"Yaa     .| 88P|      Memory      -  10.2 GB / 32.8 GB
 \    YP"    `|     `.
 /     \.___.d|    .'
 `--..__)     `._.'

Prerequisites

Build

To run a build/rebuild:

just rebuild

Update

Updates are proposed by renovate. To build the system, checkout the renovate PR and run just rebuild.

If the build is stable, run just merge-pr

Rollback

To rollback to the previous generation:

just rollback

Garbage collection

To cleanup previous files, run nix garbage collection:

just clean

Restoring from a live USB

If the bootloader for some reason breaks (i.e. motherboard firmware upgrade), restore it from a live USB by running the following commands:

$ sudo cryptsetup luksOpen /dev/nvme0n1p2 crypted-nixos
Enter passphrase for /dev/nvme0n1p2: ********
$ sudo mount /dev/vg/root /mnt
$ sudo mount /dev/nvme0n1p1 /mnt/boot/efi
$ sudo nixos-enter --root /mnt
$ hostname <hostname>

Navigate to the nix-config directory and run:

just rebuild-boot