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;
settings = {
"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"
else "";

View file

@ -129,6 +129,11 @@ in {
dwindle.preserve_split = true;
env = [
"QT_QPA_PLATFORMTHEME,kde"
"QT_STYLE_OVERRIDE,Breeze"
];
exec-once = [
"${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 = {
enable = lib.mkOption {
description = "Sway with full desktop session components.";

View file

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

View file

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

View file

@ -1,7 +1,6 @@
{
config,
lib,
pkgs,
...
}: {
config = lib.mkIf config.ar.desktop.greetd.enable {
@ -11,25 +10,29 @@
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 = {
enable = true;
settings =
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;
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}";
};
};
settings.initial_session = lib.mkIf (config.ar.desktop.greetd.autologin != null) {
command = config.ar.desktop.greetd.session;
user = config.ar.desktop.greetd.autologin;
};
};
};
}

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.";
hyprland.enable = lib.mkEnableOption "Hyprland wayland session.";
kde.enable = lib.mkEnableOption "KDE desktop session.";
steam.enable = lib.mkEnableOption "Steam + Gamescope session.";
sway.enable = lib.mkEnableOption "Sway wayland session.";
};