mochi/.archive/modules/nixos/de/kde.nix

66 lines
1.6 KiB
Nix
Raw Permalink Normal View History

2024-09-24 13:36:57 -05:00
{ lib, config, pkgs, ... }:
let
cfg = config.mySystem.de.kde;
flameshotOverride = pkgs.unstable.flameshot.override { enableWlrSupport = true; };
2024-09-24 13:36:57 -05:00
in
{
options = {
mySystem.de.kde = {
2024-10-28 14:06:14 -05:00
enable = lib.mkEnableOption "KDE" // { default = false; };
2024-09-24 13:36:57 -05:00
};
};
2024-10-28 14:06:14 -05:00
config = lib.mkIf cfg.enable {
2024-09-24 13:36:57 -05:00
# Ref: https://wiki.nixos.org/wiki/KDE
2024-11-07 17:01:21 -06:00
2024-09-24 13:36:57 -05:00
# KDE
services = {
displayManager = {
sddm = {
enable = true;
wayland = {
enable = true;
};
};
};
desktopManager.plasma6.enable = true;
};
2024-11-07 17:01:21 -06:00
security = {
# realtime process priority
rtkit.enable = true;
# KDE Wallet PAM integration for unlocking the default wallet on login
pam.services."sddm".kwallet.enable = true;
};
2024-09-25 19:09:22 -05:00
# enable pipewire for sound
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
2024-09-24 13:36:57 -05:00
# extra pkgs and extensions
environment = {
systemPackages = with pkgs; [
wl-clipboard # ls ~/Downloads | wl-copy or wl-paste > clipboard.txt
playerctl # gsconnect play/pause command
vorta # Borg backup tool
flameshotOverride # screenshot tool
libsForQt5.qt5.qtbase # for vivaldi compatibility
2024-09-30 13:35:02 -05:00
kdePackages.discover # KDE software center -- mainly for flatpak updates
2024-09-24 13:36:57 -05:00
];
};
# enable kdeconnect
# this method also opens the firewall ports required when enable = true
programs.kdeconnect = {
enable = true;
};
};
}