2024-12-02 19:57:19 -05:00
|
|
|
{
|
|
|
|
pkgs,
|
|
|
|
inputs,
|
|
|
|
system,
|
|
|
|
lib,
|
|
|
|
...
|
|
|
|
}:
|
2024-11-16 20:00:33 -05:00
|
|
|
let
|
|
|
|
kdePackages = with pkgs.kdePackages; [ 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-11-16 20:14:38 -05:00
|
|
|
krita
|
2024-11-16 20:59:55 -05:00
|
|
|
ytmdesktop
|
2024-11-18 20:11:33 -05:00
|
|
|
ktailctl
|
2024-11-16 17:52:13 -05:00
|
|
|
wl-clipboard
|
2024-11-20 11:40:42 -05:00
|
|
|
# we install xdg-desktop-portal-gtk so GTK theming works in KDE Plasma
|
2024-11-16 21:00:38 -05:00
|
|
|
xdg-desktop-portal-gtk
|
2024-11-22 09:11:26 -05:00
|
|
|
libnotify
|
2024-11-16 17:26:05 -05:00
|
|
|
];
|
2024-11-20 11:40:42 -05:00
|
|
|
flakePackages = with inputs; [ zen-browser.packages.${system}.specific ];
|
2024-12-02 19:57:19 -05:00
|
|
|
in
|
|
|
|
{
|
|
|
|
environment.systemPackages = lib.lists.unique (kdePackages ++ packages ++ flakePackages);
|
2024-11-16 17:26:05 -05:00
|
|
|
|
2024-11-22 09:11:21 -05:00
|
|
|
# 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-11-16 17:26:05 -05:00
|
|
|
programs.partition-manager.enable = true;
|
|
|
|
|
2024-11-17 15:32:21 -05:00
|
|
|
fonts.packages = with pkgs; [
|
|
|
|
corefonts
|
2024-12-02 13:18:18 -05:00
|
|
|
nerd-fonts.fira-code
|
2024-11-17 15:32:21 -05:00
|
|
|
];
|
2024-11-18 20:11:33 -05:00
|
|
|
|
|
|
|
# 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" ];
|
2024-12-02 19:57:19 -05:00
|
|
|
description = "A GUI to monitor and manage Tailscale on your Linux desktop, built using KDE Frameworks and Kirigami2.";
|
2024-11-18 20:11:33 -05:00
|
|
|
serviceConfig = {
|
|
|
|
Type = "simple";
|
|
|
|
ExecStart = "${pkgs.ktailctl}/bin/ktailctl";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2024-11-16 17:26:05 -05:00
|
|
|
}
|