Files
.hive/modules/desktop/plasma.nix

39 lines
914 B
Nix

{
flake.nixosModules.plasma = {
config,
pkgs,
lib,
...
}: let
cfg = config.hive.plasma;
in {
options.hive.plasma = {
enable = lib.mkEnableOption "Enable Plasma 6 desktop environment";
autologin = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
description = "The autologin username or null for no autologin.";
};
};
config = lib.mkIf cfg.enable {
services.displayManager = {
autoLogin.enable = cfg.autologin != null;
autoLogin.user = cfg.autologin;
sddm = {
enable = true;
wayland.enable = true;
};
};
services.desktopManager.plasma6.enable = true;
xdg.portal = {
enable = true;
extraPortals = with pkgs; [
kdePackages.xdg-desktop-portal-kde
xdg-desktop-portal-gtk
];
};
};
};
}