desktop: add kde modules (#143)
Some checks are pending
git-mirror / gitlab-sync (push) Waiting to run
nix-build / adjustor-build (push) Waiting to run
nix-build / clean-install-build (push) Waiting to run
nix-build / hhd-ui-build (push) Waiting to run
nix-build / rofi-bluetooth-build (push) Waiting to run
nix-build / fallarbor-build (push) Waiting to run
nix-build / lavaridge-build (push) Waiting to run
nix-build / mauville-build (push) Waiting to run
nix-build / pacifidlog-build (push) Waiting to run
nix-build / rustboro-build (push) Waiting to run
nix-build / slateport-build (push) Waiting to run
nix-check / fmt-check (push) Waiting to run
nix-check / eval-check (push) Waiting to run

* theme: don't set kde qt theme if kde is enabled

* home: add kde option

* nixos: add kde module

* hyprland: set kde theme variables

* desktop: set libadwaita headerbar buttons for kde

* greetd: tuigreet -> regreet
This commit is contained in:
Aly Raffauf 2024-10-25 15:05:48 -04:00 committed by GitHub
parent 91312a5d2f
commit d86e4c5be1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 45 additions and 19 deletions

View file

@ -21,7 +21,7 @@
enable = true; enable = true;
settings = { settings = {
"org/gnome/desktop/wm/preferences".button-layout = "org/gnome/desktop/wm/preferences".button-layout =
if config.ar.home.desktop.gnome.enable if (config.ar.home.desktop.gnome.enable || config.ar.home.desktop.kde.enable)
then "appmenu:minimize,maximize,close" then "appmenu:minimize,maximize,close"
else ""; else "";

View file

@ -129,6 +129,11 @@ in {
dwindle.preserve_split = true; dwindle.preserve_split = true;
env = [
"QT_QPA_PLATFORMTHEME,kde"
"QT_STYLE_OVERRIDE,Breeze"
];
exec-once = [ exec-once = [
"${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1" "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"
]; ];

View file

@ -136,6 +136,12 @@ in {
}; };
}; };
kde.enable = lib.mkOption {
description = "KDE Plasma with sane defaults.";
default = osConfig.ar.desktop.kde.enable;
type = lib.types.bool;
};
sway = { sway = {
enable = lib.mkOption { enable = lib.mkOption {
description = "Sway with full desktop session components."; description = "Sway with full desktop session components.";

View file

@ -21,7 +21,7 @@ in {
package = pkgs.papirus-icon-theme.override {color = "adwaita";}; package = pkgs.papirus-icon-theme.override {color = "adwaita";};
}; };
qt = { qt = lib.mkIf (!config.ar.home.desktop.kde.enable) {
enable = true; enable = true;
platformTheme.name = "kde"; platformTheme.name = "kde";
style.name = "Breeze"; style.name = "Breeze";

View file

@ -8,6 +8,7 @@
./greetd ./greetd
./gnome ./gnome
./hyprland ./hyprland
./kde
./sway ./sway
./waylandComp.nix ./waylandComp.nix
]; ];
@ -16,6 +17,7 @@
lib.mkIf ( lib.mkIf (
config.ar.desktop.gnome.enable config.ar.desktop.gnome.enable
|| config.ar.desktop.hyprland.enable || config.ar.desktop.hyprland.enable
|| config.ar.desktop.kde.enable
|| config.ar.desktop.steam.enable || config.ar.desktop.steam.enable
|| config.ar.desktop.sway.enable || config.ar.desktop.sway.enable
) { ) {

View file

@ -1,7 +1,6 @@
{ {
config, config,
lib, lib,
pkgs,
... ...
}: { }: {
config = lib.mkIf config.ar.desktop.greetd.enable { config = lib.mkIf config.ar.desktop.greetd.enable {
@ -11,25 +10,29 @@
kwallet.enable = true; kwallet.enable = true;
}; };
programs.regreet = {
enable = true;
settings = {
background.fit =
if config.stylix.imageScalingMode == "fill"
then "Fill"
else "ScaleDown";
GTK.application_prefer_dark_theme =
if config.stylix.polarity == "dark"
then true
else false;
};
};
services.greetd = { services.greetd = {
enable = true; enable = true;
settings = settings.initial_session = lib.mkIf (config.ar.desktop.greetd.autologin != null) {
if config.ar.desktop.greetd.autologin != null
then {
default_session = {
command = lib.mkDefault "${lib.getExe pkgs.greetd.tuigreet} --asterisks --user-menu -g 'Welcome to NixOS ${config.system.nixos.release}' --time --remember --cmd ${config.ar.desktop.greetd.session}";
};
initial_session = {
command = config.ar.desktop.greetd.session; command = config.ar.desktop.greetd.session;
user = config.ar.desktop.greetd.autologin; user = config.ar.desktop.greetd.autologin;
}; };
}
else {
default_session = {
command = lib.mkDefault "${lib.getExe pkgs.greetd.tuigreet} --asterisks --user-menu -g 'Welcome to NixOS ${config.system.nixos.release}' --time --remember --cmd ${config.ar.desktop.greetd.session}";
};
};
}; };
}; };
} }

View file

@ -0,0 +1,9 @@
{
config,
lib,
...
}: {
config = lib.mkIf config.ar.desktop.kde.enable {
services.desktopManager.plasma6.enable = true;
};
}

View file

@ -31,6 +31,7 @@
gnome.enable = lib.mkEnableOption "GNOME desktop session."; gnome.enable = lib.mkEnableOption "GNOME desktop session.";
hyprland.enable = lib.mkEnableOption "Hyprland wayland session."; hyprland.enable = lib.mkEnableOption "Hyprland wayland session.";
kde.enable = lib.mkEnableOption "KDE desktop session.";
steam.enable = lib.mkEnableOption "Steam + Gamescope session."; steam.enable = lib.mkEnableOption "Steam + Gamescope session.";
sway.enable = lib.mkEnableOption "Sway wayland session."; sway.enable = lib.mkEnableOption "Sway wayland session.";
}; };