2024-03-16 10:07:36 +01:00
|
|
|
{ config, lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
|
|
let
|
|
|
|
cfg = config.grimmShared;
|
|
|
|
in {
|
|
|
|
options.grimmShared = {
|
|
|
|
enable = mkEnableOption "grimm-shared-modules";
|
|
|
|
|
2024-03-16 12:03:33 +01:00
|
|
|
locale = mkOption {
|
2024-03-16 10:07:36 +01:00
|
|
|
type = types.bool;
|
|
|
|
default = true;
|
|
|
|
description = "Sets german units but english language";
|
|
|
|
};
|
2024-03-16 12:03:33 +01:00
|
|
|
|
|
|
|
printing = mkOption {
|
|
|
|
type = types.bool;
|
2024-03-16 12:19:02 +01:00
|
|
|
default = false;
|
2024-03-16 12:03:33 +01:00
|
|
|
description = "Enables print and scan related options";
|
|
|
|
};
|
2024-03-16 12:19:02 +01:00
|
|
|
|
|
|
|
portals = mkOption {
|
|
|
|
type = types.bool;
|
|
|
|
default = false;
|
|
|
|
description = "Enables portals for wlr, gtk and kde as well as fixes fonts";
|
|
|
|
};
|
2024-03-16 12:52:08 +01:00
|
|
|
|
|
|
|
network = mkOption {
|
|
|
|
type = types.bool;
|
|
|
|
default = false;
|
|
|
|
description = "Enables network manager, wifi and bluetooth";
|
|
|
|
};
|
2024-03-16 13:49:20 +01:00
|
|
|
|
2024-03-16 13:51:38 +01:00
|
|
|
tooling = {
|
2024-03-16 13:49:20 +01:00
|
|
|
enable = mkEnableOption "grimm-tooling";
|
2024-03-17 10:54:25 +01:00
|
|
|
|
|
|
|
pass = mkOption {
|
|
|
|
type = types.bool;
|
|
|
|
default = true;
|
|
|
|
description = "Enables password-store, gnupg and such secret handling";
|
|
|
|
};
|
2024-03-16 13:49:20 +01:00
|
|
|
|
|
|
|
git_user = mkOption {
|
|
|
|
type = types.str;
|
|
|
|
default = "Grimmauld";
|
|
|
|
description = "Username for git to use";
|
|
|
|
};
|
|
|
|
|
|
|
|
git_email = mkOption {
|
|
|
|
type = types.str;
|
|
|
|
default = "${config.grimmShared.tooling.git_user}@grimmauld.de";
|
|
|
|
description = "Email for git to use";
|
|
|
|
};
|
|
|
|
};
|
2024-03-16 15:31:18 +01:00
|
|
|
|
|
|
|
sound = mkOption {
|
|
|
|
type = types.bool;
|
|
|
|
default = false;
|
|
|
|
description = "whether to enable sound";
|
|
|
|
};
|
2024-03-16 17:48:41 +01:00
|
|
|
|
|
|
|
graphical = mkOption {
|
|
|
|
type = types.bool;
|
|
|
|
default = false;
|
|
|
|
description = "whether to enable graphical components";
|
2024-03-16 17:50:30 +01:00
|
|
|
};
|
2024-03-16 22:16:24 +01:00
|
|
|
|
|
|
|
gaming = mkOption {
|
|
|
|
type = types.bool;
|
|
|
|
default = false;
|
2024-03-16 22:18:30 +01:00
|
|
|
description = "enables steam, heroic, prism and gamemoded";
|
2024-03-16 22:16:24 +01:00
|
|
|
};
|
2024-03-17 10:54:25 +01:00
|
|
|
|
|
|
|
firefox = {
|
|
|
|
enable = mkEnableOption "grimm-firefox";
|
|
|
|
|
|
|
|
plugins = mkOption {
|
|
|
|
type = types.attrsOf types.str;
|
|
|
|
default = {};
|
2024-03-17 11:29:04 +01:00
|
|
|
description = "set of plugins to install. Format: guid = short-id";
|
|
|
|
};
|
|
|
|
|
|
|
|
disableUserPlugins = mkOption {
|
|
|
|
type = types.bool;
|
|
|
|
default = false;
|
|
|
|
description = "disables user controlled plugins";
|
2024-03-17 10:54:25 +01:00
|
|
|
};
|
|
|
|
};
|
2024-03-18 00:34:52 +01:00
|
|
|
|
|
|
|
sway = {
|
|
|
|
enable = mkEnableOption "grimm-sway";
|
|
|
|
|
|
|
|
definitions = mkOption {
|
|
|
|
type = types.attrsOf types.str;
|
|
|
|
default = {};
|
|
|
|
description = "set of definitions assigning variable to value";
|
|
|
|
};
|
|
|
|
|
|
|
|
keybinds = mkOption {
|
|
|
|
type = types.attrsOf types.str;
|
|
|
|
default = {};
|
|
|
|
description = "set of keybinds assigning key combo to action";
|
|
|
|
};
|
|
|
|
|
|
|
|
autolaunch = mkOption {
|
|
|
|
type = types.listOf types.str;
|
|
|
|
default = [];
|
|
|
|
description = "set of commands to be run at sway startup";
|
|
|
|
};
|
|
|
|
|
|
|
|
extraConfig = mkOption {
|
|
|
|
type = types.str;
|
|
|
|
default = "";
|
|
|
|
description = "additional sway config to be included";
|
|
|
|
};
|
|
|
|
|
|
|
|
populateDefaultConfig = mkOption {
|
|
|
|
type = types.bool;
|
|
|
|
default = false;
|
|
|
|
description = "puts my personal config in place using above methods";
|
|
|
|
};
|
|
|
|
};
|
2024-03-16 10:07:36 +01:00
|
|
|
};
|
|
|
|
|
2024-03-16 12:03:33 +01:00
|
|
|
imports = [
|
|
|
|
./modules/localisation.nix
|
|
|
|
./modules/printing.nix
|
2024-03-16 12:19:02 +01:00
|
|
|
./modules/portals.nix
|
2024-03-16 12:52:08 +01:00
|
|
|
./modules/networking.nix
|
2024-03-16 13:49:20 +01:00
|
|
|
./modules/toolchains.nix
|
2024-03-16 15:38:45 +01:00
|
|
|
./modules/sound.nix
|
2024-03-16 17:56:41 +01:00
|
|
|
./modules/opengl.nix
|
2024-03-16 22:16:24 +01:00
|
|
|
./modules/gaming.nix
|
2024-03-17 10:54:25 +01:00
|
|
|
./modules/firefox.nix
|
|
|
|
./modules/pass.nix
|
2024-03-18 00:34:52 +01:00
|
|
|
./modules/sway.nix
|
|
|
|
./modules/sway-defaults.nix
|
2024-03-16 12:03:33 +01:00
|
|
|
];
|
2024-03-16 10:07:36 +01:00
|
|
|
}
|