nixos-configs/common/vars/default.nix
matt1432 ae55d93ace
All checks were successful
Discord / discord commits (push) Has been skipped
feat(vars): add different color schemes for starship prompt
2024-01-24 18:39:18 -05:00

86 lines
2 KiB
Nix

{
config,
lib,
...
}: {
options.vars = let
inherit (lib) mkOption types;
cfg = config.vars;
in {
mainUser = mkOption {
type = types.str;
description = ''
Username that was defined at the initial setup process
'';
};
hostName = mkOption {
type = types.str;
description = ''
Hostname that was defined at the initial setup process
'';
};
promptMainColor = mkOption {
type = types.enum ["red" "green" "blue" "purple"];
default = "purple";
};
promptColors = mkOption {
description = ''
Colors used in starship prompt
'';
default = import ./prompt-schemes.nix cfg.promptMainColor;
# FIXME: doesn't work when passing vars to home-manager
# readOnly = true;
type = with types;
submodule {
options = {
textColor = mkOption {type = str;};
firstColor = mkOption {type = str;};
secondColor = mkOption {type = str;};
thirdColor = mkOption {type = str;};
fourthColor = mkOption {type = str;};
};
};
};
configDir = mkOption {
type = types.str;
default = "/home/${cfg.mainUser}/.nix/devices/${cfg.hostName}/config";
description = ''
The path to where most of the devices' configs are in the .nix folder
'';
};
mainMonitor = mkOption {
type = types.str;
description = ''
The name of the main monitor used for Hyprland
and Regreet which also uses Hyprland
'';
# This is to allow a bash script to know wether this value exists
default = "null";
};
greetdDupe = mkOption {
type = types.bool;
description = ''
If we should duplicate regreet on all monitors
'';
default = true;
};
fontSize = mkOption {
type = types.nullOr types.float;
};
neovimIde = mkOption {
type = types.bool;
default = true;
};
};
}