Commit Graph
46 Commits
Author SHA1 Message Date
Richie ae18feb0fd feat(zfs): manage jeeves datasets declaratively from nix
treefmt / nix fmt (pull_request) Successful in 6s
pytest / pytest (pull_request) Successful in 37s
build_systems / build-brain (pull_request) Successful in 57s
test ebook search / test-ebook-search (pull_request) Successful in 44s
build_systems / build-bob (pull_request) Successful in 58s
build_systems / build-rhapsody-in-green (pull_request) Successful in 1m11s
build_systems / build-jeeves (pull_request) Successful in 3m1s
Add a zfs_manager module that reconciles the live datasets on jeeves
against a nix declaration, and generate the snapshot retention config
from that same declaration so the two can no longer drift apart.

systems/jeeves/datasets.nix declares every dataset on the media, storage
and scratch pools, nested the way zfs nests them and flattened into
pool/parent/child names. Values were transcribed from the live pools
rather than from scripts/zfs.sh, which had gone stale: acltype reads back
as posix, and media/secure/important, scratch/kestra and storage/nomad
were never recorded. root_pool datasets are declared for retention only,
their properties stay unmanaged for now.

python.tools.zfs_manager creates missing datasets and corrects drifted
properties, and never destroys anything. Undeclared properties are judged
by the zfs source field, so inherited and default values stay quiet while
locally set ones warn. Size values are normalised to bytes so that 16K and
16384 do not re-issue zfs set on every run.

vars.nix now derives its paths from the declared mountpoints instead of
repeating them, dropping three zfs_* keys that nothing referenced.

Replaces systems/jeeves/snapshot_config.toml, which listed a dataset that
does not exist and omitted thirteen that do.
2026-07-27 23:26:44 -04:00
Richie d7651bf588 set update.nix to gitea 2026-04-30 12:46:55 -04:00
Richie 374d7e8d38 setting up resource monitoring for bob and jeeves 2026-04-30 10:16:37 -04:00
Richie bcc2227cfd updating syncthing phone id 2026-04-18 11:53:20 -04:00
Richie 1419deb3c6 setting up brain nix serve 2026-03-24 15:04:48 -04:00
Richie c046710258 updating desktop kernelPackages 2025-12-26 11:53:26 -05:00
Richie 7f9fbe3602 updated to pkgs.zfs_2_4 2025-12-26 11:18:17 -05:00
Richie 9ec988729b testing zfs_unstable and linuxPackages_6_17 2025-11-15 13:47:13 -05:00
Richie afb62b97d1 got usb decrypt working 2025-10-26 08:34:32 -04:00
Richie b554325b13 added brain to syncthing 2025-09-27 11:56:20 -04:00
Richie 29f51bf116 testing linuxPackages_6_16 2025-09-10 21:58:26 -04:00
Richie 9f3a2b2a4b testing continue-on-error: true and linuxPackages_6_17 2025-09-10 21:58:26 -04:00
Richie 559ca7a45e adding update the jeeves 2025-07-28 12:47:17 -04:00
Richie f4348c2ab5 update desktop.nix kernelPackages to linuxPackages_6_15 2025-07-02 08:21:41 -04:00
Richie d711983ac7 update desktop.nix kernelPackages to linuxPackages_6_14 2025-06-20 21:34:29 -04:00
Richie fa27adb4fe removed cache.tmmworkshop.com from nix.nix and flake.nix 2025-06-08 15:06:01 -04:00
Richie 171dcb6273 testing nixpkgs.config.cudaSupport 2025-03-25 11:42:48 -04:00
Richie 8576cb2113 updated phone id 2025-03-23 19:06:29 -04:00
Richie 27c59192c8 linux 6.13 2025-03-14 22:32:19 -04:00
Richie 1d1bfae8ee made syncthing overrideFolders false on jeeves 2025-02-26 21:04:27 -05:00
Richie f7f0d02ef9 moved nvidia.nix to common/optional 2025-02-12 21:20:39 -05:00
Richie 300aa1f032 ran nix fmt . 2025-02-08 18:13:31 -05:00
Richie 00852c019d moving hardware.bluetooth to optional/desktop.nix 2025-01-26 12:58:32 -05:00
Richie c0a97c6ed8 removed unnecessary nesting 2025-01-19 16:40:53 -05:00
Richie 83dad24351 moved davids-server.id to jeeves/syncthing.nix 2025-01-19 16:40:53 -05:00
Richie 27ec9d9204 added davids-server to devices 2025-01-19 16:40:53 -05:00
Richie 0f094bfacb added update.nix to bob 2025-01-19 14:41:24 -05:00
Richie e88fc08d91 moved security.rtkit.enable = true; to optional/desktop.nix
https://nixos.wiki/wiki/PipeWire
2025-01-19 14:41:24 -05:00
Richie a7e8494d8a zfs 2.3 update 2025-01-17 18:56:22 -05:00
Richie 91ebec054c fixed evaluation warning 2025-01-10 23:08:32 -05:00
Richie cdf26994a3 creating printing.nix
I dont always need printing enable. this will allows me to quickly add the printing setting when i do
2025-01-01 17:31:18 -05:00
Richie 02084080d2 moved muninn to desktop.nix
moved pipewire and kernel into desktop.nix
2024-12-25 18:30:50 -05:00
Richie 3bb8873e7d adding protontricks 2024-12-18 11:48:37 -05:00
Richie fe53feed59 moved all systems to linuxPackages_6_12
moved desktops off master
2024-12-17 21:56:31 -05:00
Richie cbec4e6deb moving to desktops to linuxPackages_6_12 2024-12-12 21:16:12 -05:00
Richie 1490b31bb9 moved off zen kernel 2024-12-08 19:41:21 -05:00
Richie db60b2f1a9 removed docker.nix from global default.nix 2024-12-08 18:14:45 -05:00
Richie d5ad93e6a9 adding cache to zerotier 2024-12-03 22:11:26 -05:00
Richie 350667786d created pipewire.nix
centralized pipewire settings
2024-11-29 22:41:33 -05:00
Richie 0a65d204a0 enabled gamescope
capSysNice allows game scope to set nice value for scheduler

: References
https://man7.org/linux/man-pages/man7/capabilities.7.html
CAP_SYS_NICE

https://wiki.archlinux.org/title/Gamescope
3.3 Setting Gamescopes priority
2024-11-28 11:53:29 -05:00
Richie 9fa3ab6758 added desktop_kernel 2024-11-21 21:02:12 -05:00
Richie 3783b21416 fixed update.nix 2024-11-21 20:21:28 -05:00
Richie 1c3ea5f270 moved zfs_unstable and linuxPackages_zen off nixos master 2024-11-15 21:29:07 -05:00
Richie 9869f88a3e added nixpkgs-master 2024-11-02 22:34:57 -04:00
Richie 2d0c2baee4 removing default global kernel and moving desktop.nix to zfs unstable and linuxPackages_zen
Im testing this to allow jeeves to be stable and desktops stay on the latest kernel
2024-11-02 22:34:57 -04:00
Richie f706463500 moved common out of systems 2024-10-25 16:47:36 -04:00