mirror of
https://git.kb-one.de/kb01/aux-config.git
synced 2025-12-06 10:40:48 +00:00
169 lines
4.4 KiB
Nix
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 {
|
|
|
|
};
|
|
}
|