diff --git a/flakes/de_plasma/de_plasma.nix b/flakes/de_plasma/de_plasma.nix index 9ccf3edf..3e64be9d 100644 --- a/flakes/de_plasma/de_plasma.nix +++ b/flakes/de_plasma/de_plasma.nix @@ -45,12 +45,6 @@ in description = "Enable Breeze Dark, GTK Breeze-Dark, and dark cursors."; }; - flatpak.enable = mkOption { - type = types.bool; - default = false; - description = "Enable Flatpak."; - }; - sddm.autologinUser = mkOption { type = types.nullOr types.str; default = null; @@ -98,96 +92,6 @@ in }; }; }; - - # TODO how to use same type as home manager programs.plasma.panels.* - # panels = mkOption { - # type = types.listOf types.; - # default = [ defaultPanel ]; - # }; - - shortcuts = { - terminal = mkOption { - type = types.str; - default = "kitty"; - }; - launcher = mkOption { - type = types.enum [ - "krunner" - "rofi" - ]; - default = "krunner"; - }; - useI3Like = mkOption { - type = types.bool; - default = true; - }; - closeWindow = mkOption { - type = types.str; - default = "Meta+Q"; - }; - workspaceKeys = mkOption { - type = types.listOf types.str; - default = [ - "Meta+1" - "Meta+2" - "Meta+3" - "Meta+4" - "Meta+5" - "Meta+6" - "Meta+7" - "Meta+8" - "Meta+9" - ]; - }; - moveWindowWorkspaceKeys = mkOption { - type = types.listOf types.str; - default = [ - "Meta+Shift+1" - "Meta+Shift+2" - "Meta+Shift+3" - "Meta+Shift+4" - "Meta+Shift+5" - "Meta+Shift+6" - "Meta+Shift+7" - "Meta+Shift+8" - "Meta+Shift+9" - ]; - }; - }; - - monitors = { - enableOverrides = mkOption { - type = types.bool; - default = false; - }; - commands = mkOption { - type = types.listOf types.str; - default = [ ]; - }; - scriptDelayMs = mkOption { - type = types.int; - default = 500; - }; - }; - - apps.include = mkOption { - type = types.listOf types.package; - default = with pkgs; [ - # Core KDE tools - kdePackages.kde-gtk-config - kdePackages.konsole - kdePackages.dolphin - kdePackages.spectacle - kdePackages.plasma-browser-integration - kdePackages.plasma-workspace-wallpapers - # Panel applets required for widgets - kdePackages.plasma-nm # org.kde.plasma.networkmanagement - kdePackages.bluedevil # org.kde.plasma.bluetooth - kdePackages.plasma-pa # org.kde.plasma.volume - kdePackages.kdeplasma-addons # extra widgets - kdePackages.powerdevil # power management services - ]; - }; }; config = mkIf cfg.enable (mkMerge [ @@ -216,7 +120,6 @@ in }; services.power-profiles-daemon.enable = true; - services.flatpak.enable = cfg.flatpak.enable; # Wayland-friendly Electron/Chromium environment.sessionVariables.NIXOS_OZONE_WL = "1"; @@ -231,7 +134,22 @@ in programs.kdeconnect.enable = true; # Useful KDE packages - environment.systemPackages = cfg.apps.include; + environment.systemPackages = with pkgs; [ + # Core KDE tools + kdePackages.kde-gtk-config + kdePackages.konsole + kdePackages.dolphin + kdePackages.spectacle + kdePackages.plasma-browser-integration + # kdePackages.plasma-workspace-wallpapers + + # Panel applets required for widgets + kdePackages.plasma-nm # org.kde.plasma.networkmanagement + kdePackages.bluedevil # org.kde.plasma.bluetooth + kdePackages.plasma-pa # org.kde.plasma.volume + kdePackages.kdeplasma-addons # extra widgets + kdePackages.powerdevil # power management services; + ]; # Keyboard like sway/i3 console.useXkbConfig = true; diff --git a/flakes/de_plasma/home_manager/panel.nix b/flakes/de_plasma/home_manager/panel.nix index e90188e3..95e2fa1e 100644 --- a/flakes/de_plasma/home_manager/panel.nix +++ b/flakes/de_plasma/home_manager/panel.nix @@ -5,7 +5,7 @@ }: let cfg = osConfig.ringofstorms.dePlasma; - inherit (lib) mkIf; + inherit (lib) mkIf mkDefault; defaultPanel = { location = "top"; @@ -36,6 +36,6 @@ in { options = { }; config = mkIf cfg.enable { - programs.plasma.panels = [ defaultPanel ]; + programs.plasma.panels = mkDefault [ defaultPanel ]; }; } diff --git a/flakes/de_plasma/home_manager/plasma.nix b/flakes/de_plasma/home_manager/plasma.nix index 347f6f85..36502ab4 100644 --- a/flakes/de_plasma/home_manager/plasma.nix +++ b/flakes/de_plasma/home_manager/plasma.nix @@ -1,4 +1,4 @@ -{ osConfig, lib, pkgs, ... }: +{ osConfig, lib, ... }: let cfg = osConfig.ringofstorms.dePlasma; inherit (lib) mkIf; @@ -6,10 +6,8 @@ in { options = {}; config = mkIf cfg.enable { - # plasma-manager base enable programs.plasma = { enable = true; - # Tweak some global Plasma config if desired later }; }; } diff --git a/flakes/de_plasma/home_manager/shortcuts.nix b/flakes/de_plasma/home_manager/shortcuts.nix index f8cf3ef0..bc7081da 100644 --- a/flakes/de_plasma/home_manager/shortcuts.nix +++ b/flakes/de_plasma/home_manager/shortcuts.nix @@ -1,7 +1,5 @@ -{ osConfig, lib, ... }: +{ ... }: let - cfg = osConfig.ringofstorms.dePlasma; - inherit (lib) mkIf; workspaces = builtins.genList (i: i + 1) 9; kwinWorkspace = builtins.listToAttrs ( map (i: { @@ -15,42 +13,22 @@ let value = "Meta+Shift+${toString i}"; }) workspaces ); - krunnerShortcut = - if cfg.shortcuts.launcher == "krunner" then - { - krunner = { - "Run Command" = "Meta+Space"; - }; - } - else - { }; in { options = { }; - config = mkIf (cfg.enable && cfg.shortcuts.useI3Like) { - programs.plasma.shortcuts = ( - { - kwin = ({ "Close Window" = cfg.shortcuts.closeWindow; } // kwinWorkspace // kwinMoveWorkspace); - } - // krunnerShortcut - ); + config = { + programs.plasma.shortcuts = ({ + kwin = ({ "Close Window" = "Meta+Q"; } // kwinWorkspace // kwinMoveWorkspace); + krunner = { + "Run Command" = "Meta+Space"; + }; + }); programs.plasma.hotkeys.commands = { ringofstorms-terminal = { key = "Meta+Return"; - command = cfg.shortcuts.terminal; + command = "foot"; # TODO configurable? }; - } - // ( - if cfg.shortcuts.launcher == "rofi" then - { - ringofstorms-launcher = { - key = "Meta+Space"; - command = "rofi -show drun"; - }; - } - else - { } - ); + }; }; } diff --git a/flakes/de_plasma/home_manager/theme.nix b/flakes/de_plasma/home_manager/theme.nix index 1fca1251..0e628bb4 100644 --- a/flakes/de_plasma/home_manager/theme.nix +++ b/flakes/de_plasma/home_manager/theme.nix @@ -16,8 +16,6 @@ in lookAndFeel = "org.kde.breezedark.desktop"; cursor.theme = "breeze_cursors"; }; - fonts = { }; # keep defaults - kscreenlocker = { }; # swaylock analog not applicable; left default }; }; } diff --git a/hosts/lio/plasma_overrides.nix b/hosts/lio/plasma_overrides.nix index 0208f0cd..29d812eb 100644 --- a/hosts/lio/plasma_overrides.nix +++ b/hosts/lio/plasma_overrides.nix @@ -17,21 +17,8 @@ in ]; scriptDelayMs = 500; }; - shortcuts = { - terminal = "kitty"; - launcher = "krunner"; - useI3Like = true; - closeWindow = "Meta+Q"; - }; - panel = { - enabled = true; - location = "top"; - height = 28; - opacity = "translucent"; - }; sddm.autologinUser = null; - flatpak.enable = false; - # GPU vendor left unset; set per machine if needed + # GPU vendor left unset; set per machine if needed TODO }; }; }