49 lines
982 B
Nix
49 lines
982 B
Nix
{ config, pkgs, lib, options, ... }:
|
|
|
|
let
|
|
cfg = config.greg.kde;
|
|
|
|
in with lib; {
|
|
options = {
|
|
greg.kde.enable = mkEnableOption "Enable my default KDE setup";
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
# Sets up a basic KDE installation
|
|
services = {
|
|
xserver = {
|
|
enable = true;
|
|
xkb.layout = "us";
|
|
# Trackpad support
|
|
libinput.enable = true;
|
|
};
|
|
|
|
pipewire = {
|
|
enable = true;
|
|
alsa.enable = true;
|
|
alsa.support32Bit = true;
|
|
pulse.enable = true;
|
|
};
|
|
} // (optionalAttrs (builtins.hasAttr "plasma6" options.services.xserver.desktopManager) {
|
|
desktopManager.plasma6.enable = true;
|
|
displayManager = {
|
|
defaultSession = "plasma";
|
|
sddm.enable = true;
|
|
};
|
|
});
|
|
|
|
programs.dconf.enable = true;
|
|
programs.sway.enable = true; # Gives us Wayland
|
|
xdg.portal = {
|
|
enable = true;
|
|
wlr.enable = true; # Enables screen sharing in Wayland
|
|
};
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
kalendar
|
|
korganizer
|
|
plasma-pa
|
|
];
|
|
};
|
|
}
|