forked from aylac.top/nixcfg
this repo has no description

adds plasma if i ever want it

aylac.top 74b1302a caa5d10a

verified
Changed files
+84 -5
modules
home
desktop
nixos
desktop
services
+2 -1
modules/home/desktop/default.nix
···
}: {
imports = [
./gnome
+
./plasma
];
options.myHome.desktop.enable = lib.mkOption {
-
default = config.myHome.desktop.gnome.enable;
+
default = config.myHome.desktop.gnome.enable or config.myHome.desktop.plasma.enable;
description = "Desktop environment configuration.";
type = lib.types.bool;
};
+11
modules/home/desktop/plasma/default.nix
···
+
{
+
lib,
+
config,
+
...
+
}: {
+
options.myHome.desktop.plasma = {
+
enable = lib.mkEnableOption "KDE Plasma desktop environment";
+
};
+
+
config = lib.mkIf config.myHome.desktop.plasma.enable {};
+
}
+4 -1
modules/nixos/desktop/default.nix
···
lib,
...
}: {
-
imports = [./gnome];
+
imports = [
+
./gnome
+
./plasma
+
];
options.myNixOS.desktop.enable = lib.mkOption {
default =
+1 -3
modules/nixos/desktop/gnome/default.nix
···
}
];
-
services = {
-
desktopManager.gnome.enable = true;
-
};
+
services.desktopManager.gnome.enable = true;
environment.gnome.excludePackages = with pkgs; [
decibels
+25
modules/nixos/desktop/plasma/default.nix
···
+
{
+
pkgs,
+
lib,
+
config,
+
...
+
}: {
+
options.myNixOS.desktop.plasma.enable = lib.mkEnableOption "use kde plasma desktop environment";
+
+
config = lib.mkIf config.myNixOS.desktop.plasma.enable {
+
home-manager.sharedModules = [
+
{
+
config.myHome.desktop.plasma.enable = true;
+
}
+
];
+
+
environment.plasma6.excludePackages = with pkgs; [
+
kdePackages.kwallet
+
kdePackages.kwallet-pam
+
kdePackages.kwalletmanager
+
kdePackages.wacomtablet
+
];
+
+
services.desktopManager.plasma6.enable = true;
+
};
+
}
+1
modules/nixos/services/default.nix
···
./qbittorrent
./radicale
./redlib
+
./sddm
./syncthing
./tailscale
./tangled-knot
+40
modules/nixos/services/sddm/default.nix
···
+
{
+
config,
+
lib,
+
...
+
}: {
+
options.myNixOS.services.sddm = {
+
enable = lib.mkEnableOption "use sddm";
+
+
autoLogin = lib.mkOption {
+
description = "User to autologin.";
+
default = null;
+
type = lib.types.nullOr lib.types.str;
+
};
+
};
+
+
config = lib.mkIf config.myNixOS.services.sddm.enable {
+
security.pam.services.sddm = {
+
enableGnomeKeyring = true;
+
gnupg.enable = true;
+
kwallet.enable = false;
+
};
+
+
services = {
+
displayManager = {
+
autoLogin = lib.mkIf (config.myNixOS.services.sddm.autoLogin != null) {
+
enable = true;
+
user = config.myNixOS.services.sddm.autoLogin;
+
};
+
+
sddm = {
+
enable = true;
+
wayland = {
+
enable = true;
+
compositor = "kwin";
+
};
+
};
+
};
+
};
+
};
+
}