91 lines
2.1 KiB
Nix
91 lines
2.1 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 = {
|
|
fontconfig = {
|
|
enable = true;
|
|
defaultFonts = {
|
|
sansSerif = [
|
|
"ComicCode Nerd Font"
|
|
];
|
|
serif = [
|
|
"ComicCode Nerd Font"
|
|
];
|
|
monospace = [
|
|
"ComicCode Nerd Font"
|
|
];
|
|
emoji = [
|
|
"Twitter Color Emoji"
|
|
];
|
|
};
|
|
};
|
|
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";
|
|
};
|
|
};
|
|
};
|
|
}
|