plasma wip

This commit is contained in:
RingOfStorms (Joshua Bell) 2025-12-01 09:47:04 -06:00
parent 1dcc9b436d
commit e06f1e887b
6 changed files with 30 additions and 151 deletions

View file

@ -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;