From 1dcc9b436d0bd5a4b75535653e86bcd8b230e05e Mon Sep 17 00:00:00 2001 From: "RingOfStorms (Joshua Bell)" Date: Sun, 30 Nov 2025 01:26:14 -0600 Subject: [PATCH] more plasma updates --- flakes/de_plasma/de_plasma.nix | 62 ++++--------------------- flakes/de_plasma/home_manager/panel.nix | 43 +++++++++++------ 2 files changed, 37 insertions(+), 68 deletions(-) diff --git a/flakes/de_plasma/de_plasma.nix b/flakes/de_plasma/de_plasma.nix index 2f721603..9ccf3edf 100644 --- a/flakes/de_plasma/de_plasma.nix +++ b/flakes/de_plasma/de_plasma.nix @@ -24,24 +24,6 @@ let cfg.gpu.intel.enable or false ] )) <= 1; - panelDefaults = { - enabled = true; - location = "top"; - height = 24; - opacity = "translucent"; # "adaptive" | "translucent" | "opaque" - widgets = [ - "org.kde.plasma.kickoff" - "org.kde.plasma.icontasks" - "org.kde.plasma.systemtray" - "org.kde.plasma.networkmanagement" - "org.kde.plasma.bluetooth" - "org.kde.plasma.volume" - "org.kde.plasma.battery" - "org.kde.plasma.powerprofiles" - "org.kde.plasma.notifications" - "org.kde.plasma.digitalclock" - ]; - }; in { options.ringofstorms.dePlasma = { @@ -117,37 +99,11 @@ in }; }; - panel = { - enabled = mkOption { - type = types.bool; - default = panelDefaults.enabled; - }; - location = mkOption { - type = types.enum [ - "top" - "bottom" - "left" - "right" - ]; - default = panelDefaults.location; - }; - height = mkOption { - type = types.int; - default = panelDefaults.height; - }; - opacity = mkOption { - type = types.enum [ - "adaptive" - "translucent" - "opaque" - ]; - default = panelDefaults.opacity; - }; - widgets = mkOption { - type = types.listOf types.str; - default = panelDefaults.widgets; - }; - }; + # TODO how to use same type as home manager programs.plasma.panels.* + # panels = mkOption { + # type = types.listOf types.; + # default = [ defaultPanel ]; + # }; shortcuts = { terminal = mkOption { @@ -225,11 +181,11 @@ in 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.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 + kdePackages.powerdevil # power management services ]; }; }; diff --git a/flakes/de_plasma/home_manager/panel.nix b/flakes/de_plasma/home_manager/panel.nix index 1a380810..e90188e3 100644 --- a/flakes/de_plasma/home_manager/panel.nix +++ b/flakes/de_plasma/home_manager/panel.nix @@ -6,23 +6,36 @@ let cfg = osConfig.ringofstorms.dePlasma; inherit (lib) mkIf; - mkPanel = - { - location ? cfg.panel.location, - height ? cfg.panel.height, - opacity ? cfg.panel.opacity, - widgets ? cfg.panel.widgets, - }: - { - location = location; - height = height; - opacity = opacity; - widgets = widgets; - }; + + defaultPanel = { + location = "top"; + height = 24; + opacity = "translucent"; # "adaptive" | "translucent" | "opaque" + floating = true; + hiding = "dodgewindows"; + lengthMode = "fill"; + widgets = [ + "org.kde.plasma.kickoff" + "org.kde.plasma.pager" + "org.kde.plasma.icontasks" + # + "org.kde.plasma.marginsseparator" + # + "org.kde.plasma.systemtray" + "org.kde.plasma.networkmanagement" + "org.kde.plasma.bluetooth" + "org.kde.plasma.volume" + "org.kde.plasma.battery" + "org.kde.plasma.powerprofiles" + "org.kde.plasma.notifications" + "org.kde.plasma.digitalclock" + "org.kde.plasma.showdesktop" + ]; + }; in { options = { }; - config = mkIf (cfg.enable && cfg.panel.enabled) { - programs.plasma.panels = [ (mkPanel { }) ]; + config = mkIf cfg.enable { + programs.plasma.panels = [ defaultPanel ]; }; }