flake/nixos/gui-pkgs.nix

92 lines
2.1 KiB
Nix
Raw Normal View History

{
pkgs,
lib,
...
}:
let
customfonts = pkgs.callPackage ../packages/customfonts.nix { inherit pkgs; };
catppuccin-konsole = pkgs.callPackage ../packages/catppuccin-konsole.nix { inherit pkgs; };
2024-12-06 14:13:03 -05:00
kdePackages = with pkgs.kdePackages; [
catppuccin-konsole
2024-12-06 14:13:03 -05:00
plasma-browser-integration
];
packages = with pkgs; [
2024-11-16 21:04:00 -05:00
bitwarden-desktop
2024-11-17 15:32:21 -05:00
onlyoffice-bin
2024-12-13 08:06:51 -05:00
obs-studio
2024-12-06 14:13:03 -05:00
okteta
2024-11-16 20:14:38 -05:00
krita
2024-11-16 20:59:55 -05:00
ytmdesktop
ktailctl
2024-11-16 17:52:13 -05:00
wl-clipboard
# we install xdg-desktop-portal-gtk so GTK theming works in KDE Plasma
xdg-desktop-portal-gtk
2024-11-22 09:11:26 -05:00
libnotify
2024-12-06 14:13:03 -05:00
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;
2024-12-13 08:06:40 -05:00
environment.plasma6.excludePackages = with pkgs.kdePackages; [
2024-12-22 11:32:15 -05:00
krunner
2024-12-13 08:06:40 -05:00
discover
];
programs.partition-manager.enable = true;
2024-12-22 13:07:25 -05:00
fonts = {
fontconfig = {
enable = true;
2024-12-22 13:10:03 -05:00
defaultFonts = {
sansSerif = [
"ComicCode Nerd Font"
];
serif = [
"ComicCode Nerd Font"
];
monospace = [
"ComicCode Nerd Font"
];
emoji = [
"Twitter Color Emoji"
];
};
2024-12-22 13:07:25 -05:00
};
packages = with pkgs; [
customfonts
corefonts
nerd-fonts.fira-code
twemoji-color-font
twitter-color-emoji
];
};
# 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";
};
};
};
}