57 lines
1.4 KiB
Nix
57 lines
1.4 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
config,
|
|
...
|
|
}: {
|
|
options = {
|
|
enableKDE = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = false;
|
|
description = "Enable KDE Plasma Desktop Environment with my favorite packages";
|
|
};
|
|
};
|
|
|
|
config = lib.mkMerge [
|
|
(lib.mkIf config.enableKDE {
|
|
# Enable the X11 windowing system.
|
|
# You can disable this if you're only using the Wayland session.
|
|
services.xserver.enable = true;
|
|
|
|
# Enable the KDE Plasma Desktop Environment.
|
|
services.displayManager.sddm.enable = true;
|
|
services.desktopManager.plasma6.enable = true;
|
|
|
|
# Enable CUPS to print documents.
|
|
services.printing.enable = true;
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
vscode
|
|
discord # discord sucks
|
|
alacritty
|
|
obsidian
|
|
mpv
|
|
libreoffice
|
|
blender
|
|
gimp
|
|
kitty
|
|
obs-studio
|
|
audacity
|
|
qbittorrent
|
|
ani-cli
|
|
prismlauncher
|
|
qbittorrent
|
|
];
|
|
|
|
programs.steam = {
|
|
enable = true;
|
|
# Open ports in the firewall for Steam Remote Play
|
|
remotePlay.openFirewall = true;
|
|
# Open ports in the firewall for Source Dedicated Server
|
|
dedicatedServer.openFirewall = true;
|
|
# Open ports in the firewall for Steam Local Network Game Transfers
|
|
localNetworkGameTransfers.openFirewall = true;
|
|
};
|
|
})
|
|
];
|
|
}
|