flake/nixos/gui-pkgs.nix
2024-12-22 11:32:15 -05:00

70 lines
1.8 KiB
Nix

{
pkgs,
lib,
...
}:
let
customfonts = pkgs.callPackage ../packages/customfonts.nix { inherit pkgs; };
catppuccin-konsole = pkgs.callPackage ../packages/catppuccin-konsole.nix { inherit pkgs; };
kdePackages = with pkgs.kdePackages; [
catppuccin-konsole
plasma-browser-integration
];
packages = with pkgs; [
bitwarden-desktop
onlyoffice-bin
obs-studio
okteta
krita
ytmdesktop
ktailctl
wl-clipboard
# we install xdg-desktop-portal-gtk so GTK theming works in KDE Plasma
xdg-desktop-portal-gtk
libnotify
hoppscotch
];
in
{
environment.systemPackages = lib.lists.unique (kdePackages ++ packages);
# Enable the X11 windowing system.
# You can leave this disabled if you're only using the Wayland session.
services.xserver.enable = false;
# Enable the SDDM Display Manager and enable its Wayland support.
services.displayManager.sddm = {
enable = true;
wayland.enable = true;
};
# Enable the KDE Plasma Desktop Environment.
services.desktopManager.plasma6.enable = true;
environment.plasma6.excludePackages = with pkgs.kdePackages; [
krunner
discover
];
programs.partition-manager.enable = true;
fonts.packages = with pkgs; [
customfonts
corefonts
nerd-fonts.fira-code
];
# Systemd user services
# See https://wiki.nixos.org/wiki/Systemd/User_Services for more information
systemd.user.services = {
ktailctl = {
enable = true;
after = [ "network.target" ];
wantedBy = [ "default.target" ];
description = "A GUI to monitor and manage Tailscale on your Linux desktop, built using KDE Frameworks and Kirigami2.";
serviceConfig = {
Type = "simple";
ExecStart = "${pkgs.ktailctl}/bin/ktailctl";
};
};
};
}