Files
dotfiles/systems/jeeves/vars.nix
T
Richie aa552ecca1
treefmt / nix fmt (pull_request) Failing after 5s
pytest / pytest (pull_request) Successful in 30s
test ebook search / test-ebook-search (pull_request) Successful in 36s
build_systems / build-bob (pull_request) Successful in 49s
build_systems / build-brain (pull_request) Successful in 49s
build_systems / build-rhapsody-in-green (pull_request) Successful in 1m1s
build_systems / build-jeeves (pull_request) Successful in 2m18s
Implement ZFS dataset management and snapshot configuration
- Introduced a new `datasets.nix` file to define ZFS datasets and their properties, allowing for centralized management of dataset configurations.
- Updated `default.nix` to import and enable the `zfs_manager` service, integrating it into the system configuration.
- Refactored `zfs.sh` to remove dataset creation commands, delegating dataset management to the `zfs_manager` service.
- Removed the legacy `snapshot_config.toml` file, as snapshot configurations are now handled within `datasets.nix`.
- Modified `vars.nix` to derive mountpoint paths from `datasets.nix`, ensuring consistency across the configuration.
- Created a new `zfs.nix` file to define the `zfs_manager` service and its dependencies.
- Added comprehensive tests for the `zfs_manager` functionality, covering dataset creation, property management, and error handling.
2026-08-19 20:13:44 -04:00

23 lines
965 B
Nix

# Paths are derived from the dataset declarations in ./datasets.nix so that a
# mountpoint only ever has to change in one place.
let
inherit (import ./datasets.nix) mountpoints;
in
{
# Not a dataset of its own, it is the directory the postgres datasets share.
database = "/zfs/media/database";
docker = mountpoints."media/secure/docker";
docker_configs = "${mountpoints."media/secure/docker"}/configs";
home_assistant = mountpoints."media/secure/home_assistant";
notes = mountpoints."media/secure/notes";
secrets = mountpoints."storage/secure/secrets";
services = mountpoints."media/secure/services";
share = mountpoints."media/secure/share";
syncthing = mountpoints."storage/secure/syncthing";
transmission = mountpoints."storage/secure/transmission";
ollama = mountpoints."storage/ollama";
transmission_scratch = mountpoints."scratch/transmission";
uv_cache = mountpoints."scratch/uv_cache";
kafka = mountpoints."scratch/kafka";
}