- 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.
43 lines
982 B
Nix
43 lines
982 B
Nix
{ inputs, ... }:
|
|
{
|
|
imports = [
|
|
"${inputs.self}/users/dov"
|
|
"${inputs.self}/users/math"
|
|
"${inputs.self}/users/richie"
|
|
"${inputs.self}/users/steve"
|
|
"${inputs.self}/common/global"
|
|
"${inputs.self}/common/optional/docker.nix"
|
|
"${inputs.self}/common/optional/monitoring-agent.nix"
|
|
"${inputs.self}/common/optional/ssh_decrypt.nix"
|
|
"${inputs.self}/common/optional/syncthing_base.nix"
|
|
"${inputs.self}/common/optional/update.nix"
|
|
"${inputs.self}/common/optional/zerotier.nix"
|
|
"${inputs.self}/common/optional/zfs_manager.nix"
|
|
./monitoring
|
|
./docker
|
|
./services
|
|
./web_services
|
|
./hardware.nix
|
|
./networking.nix
|
|
./programs.nix
|
|
./runners
|
|
./syncthing.nix
|
|
./zfs.nix
|
|
];
|
|
|
|
services = {
|
|
openssh.ports = [ 629 ];
|
|
|
|
smartd.enable = true;
|
|
|
|
zerotierone.joinNetworks = [ "a09acf02330d37b9" ];
|
|
};
|
|
|
|
users.groups = {
|
|
nornsight = { };
|
|
nornsight-admin = { };
|
|
};
|
|
|
|
system.stateVersion = "24.05";
|
|
}
|