aux-config/modules/home/suites/desktop/default.nix
Kaybee 43d47fd8a5
Some checks are pending
/ Check Nix Flake (push) Waiting to run
Added Stylix Theming to LoyAdjo
2025-12-06 00:12:17 +01:00

169 lines
4.4 KiB
Nix

{ lib, config, pkgs, ... }:
let
cfg = config.suites.desktop;
in {
imports = [
./firefox.nix
./chromium.nix
./waybar.nix
./terminal.nix
];
options.suites.desktop = {
enable = lib.mkEnableOption "Desktop";
# Keybinds
keybinds = {
mod = lib.mkOption {
type = with lib.types; str;
default = "Mod";
description = "Modifyer for all Desktop Keybinds";
};
focusRight = lib.mkOption {
type = with lib.types; str;
default = "Mod+Right";
description = "Modifyer for all Desktop Keybinds";
};
#focusLeft = "${keybinds.mod}+Left";
#focusUp = "${keybinds.mod}+Up";
#focusDown = "${keybinds.mod}+Down";
#moveRight = "${keybinds.mod}+Shift+Right";
#moveLeft = "${keybinds.mod}+Shift+Left";
#moveUp = "${keybinds.mod}+Shift+Up";
#moveDown = "${keybinds.mod}+Shift+Down";
#toggleTiling = "${keybinds.mod}+Space";
#toggleFullscreen = "${keybinds.mod}+F";
#modeResize = "${keybinds.mod}+R"; # Use Arrow-Keys to Resize, Exit using Esc or Enter
#switchWS1 = "${keybinds.mod}+1";
#switchWS2 = "${keybinds.mod}+2";
#switchWS3 = "${keybinds.mod}+3";
#switchWS4 = "${keybinds.mod}+4";
#switchWS5 = "${keybinds.mod}+5";
#nextWS = "${keybinds.mod}+Tab";
#previousWS = "${keybinds.mod}+Shift+Tab";
#moveToWS1 = "${keybinds.mod}+Shift+1";
#moveToWS2 = "${keybinds.mod}+Shift+2";
#moveToWS3 = "${keybinds.mod}+Shift+3";
#moveToWS4 = "${keybinds.mod}+Shift+4";
#moveToWS5 = "${keybinds.mod}+Shift+5";
#launcher = "${keybinds.mod}+D";
#appLauncher = "${keybinds.mod}+Shift+D";
#exit = "${keybinds.mod}+Shift+E";
#reloadConfig = "${keybinds.mod}+Shift+C";
#close = "${keybinds.mod}+Backspace";
#viewScratchpad = "${keybinds.mod}+-";
#moveToScratchpad = "${keybinds.mod}+Shift+-";
};
############
# Programs #
############
firefox.enable = lib.mkOption {
type = with lib.types; bool;
default = cfg.enable;
description = "Enable Firefox";
};
firefox.disableuBlockOrigin = lib.mkOption {
type = with lib.types; bool;
default = false;
};
firefox.disableIDontCareAboutCookies = lib.mkOption {
type = with lib.types; bool;
default = false;
};
firefox.disableKeepassxcBrowser = lib.mkOption {
type = with lib.types; bool;
default = false;
};
firefox.disableOfflineQr = lib.mkOption {
type = with lib.types; bool;
default = false;
};
firefox.disableDarkReader = lib.mkOption {
type = with lib.types; bool;
default = false;
};
firefox.disableLanguageTool = lib.mkOption {
type = with lib.types; bool;
default = false;
};
firefox.disableDefaultBookmarks = lib.mkOption {
type = with lib.types; bool;
default = false;
};
chromium.enable = lib.mkOption {
type = with lib.types; bool;
default = cfg.enable;
description = "Enable Chromium";
};
chromium.enableWideVine = lib.mkOption {
type = with lib.types; bool;
default = true;
};
chromium.disableChromiumWebStore = lib.mkOption {
type = with lib.types; bool;
default = false;
};
chromium.disableuBlockOrigin = lib.mkOption {
type = with lib.types; bool;
default = false;
};
chromium.disableIDontCareAboutCookies = lib.mkOption {
type = with lib.types; bool;
default = false;
};
chromium.disableKeepassxcBrowser = lib.mkOption {
type = with lib.types; bool;
default = false;
};
chromium.disableLanguageTool = lib.mkOption {
type = with lib.types; bool;
default = false;
};
chromium.disableDarkReader = lib.mkOption {
type = with lib.types; bool;
default = false;
};
terminal = {
enable = lib.mkOption {
type = with lib.types; bool;
default = cfg.enable;
description = "Enable Customized Terminal";
};
};
waybar.enable = lib.mkOption {
type = with lib.types; bool;
default = cfg.enable;
description = "Enable Customized Waybar";
};
waybar.outputs = lib.mkOption {
type = with lib.types; nullOr (listOf str);
default = [ "eDP-1" ];
example = [
"eDP-1"
"DP-2"
"DP-3"
"DP-4"
"HDMI-A-1"
];
};
};
config = lib.mkIf cfg.enable {
};
}