- printing role: Add configurable printerName, printerUri, and printerModel options to replace hardcoded Brother printer values - nfs-mounts role: Add configurable server, remotePath, and mountPoint options to replace hardcoded NFS server IP (10.0.0.43) - virtualisation role: Add configurable dockerUsers option as list type to replace hardcoded 'johno' docker group membership All options have sensible defaults matching the original hardcoded values, ensuring backward compatibility while allowing per-host customization. Implements bead: nixos-configs-fkt
26 lines
571 B
Nix
26 lines
571 B
Nix
{ config, lib, ... }:
|
|
|
|
with lib;
|
|
|
|
let
|
|
cfg = config.roles.virtualisation;
|
|
in
|
|
{
|
|
options.roles.virtualisation = {
|
|
enable = mkEnableOption "Enable virtualisation";
|
|
dockerUsers = mkOption {
|
|
type = types.listOf types.str;
|
|
default = [ "johno" ];
|
|
description = "List of users to add to the docker group";
|
|
};
|
|
};
|
|
|
|
config = mkIf cfg.enable
|
|
{
|
|
virtualisation.libvirtd.enable = true;
|
|
programs.virt-manager.enable = true;
|
|
virtualisation.docker.enable = true;
|
|
users.extraGroups.docker.members = cfg.dockerUsers;
|
|
};
|
|
}
|