Move options to seperate modules so they can be shared between home manager and nixos

This commit is contained in:
2024-06-17 17:43:14 -05:00
parent 8f66309008
commit 4910af0d2c
23 changed files with 394 additions and 291 deletions

73
modules/options/gui.nix Normal file
View File

@@ -0,0 +1,73 @@
{ lib
, pkgs
, config
, localPackages
, ...
}:
with lib;
let
cfg = config.simmer.gui;
in
{
options.simmer.gui = {
enable = mkOption {
description = "Enable gui";
type = types.bool;
default = false;
};
sway = {
enable = mkOption {
description = "Install and configure sway window manager";
type = types.bool;
default = true;
};
desktop = mkOption {
description= "Use desktop configuration";
type = types.bool;
default = false;
};
};
terminal = mkOption {
description = "Which terminal to install (alacritty)";
type = types.enum [ pkgs.alacritty ];
default = pkgs.alacritty;
};
gtk = mkOption {
description = "Whether to configure gtk";
type = types.bool;
default = cfg.gui.enable;
};
protonmail = mkOption {
description = "Whether to install protonmail bridge and mail application";
type = types.bool;
default = false;
};
secrets = mkOption {
description = "Whether to enable secrets handling with gnomke-keyring";
type = types.bool;
default = cfg.protonmail;
};
matrix = mkOption {
description = "Whether to install a matrix client";
type = types.bool;
default = false;
};
monitors = mkOption {
description = "Attribute set of system monitors";
type = types.attrs;
default = {};
};
};
}