60 lines
1.3 KiB
Nix
60 lines
1.3 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
|
|
let
|
|
cfg = config.home.roles.desktop;
|
|
in
|
|
{
|
|
options.home.roles.desktop = {
|
|
enable = mkEnableOption "Enable desktop GUI applications and utilities";
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
home.packages = with pkgs; [
|
|
# Desktop applications
|
|
bitwarden
|
|
dunst
|
|
keepassxc
|
|
kitty
|
|
|
|
# Desktop utilities
|
|
solaar # Logitech management software
|
|
waybar
|
|
wofi
|
|
|
|
# System utilities with GUI components
|
|
(snapcast.override { pulseaudioSupport = true; })
|
|
|
|
# KDE tiling window management
|
|
kdePackages.krohnkite # Dynamic tiling extension for KWin 6
|
|
|
|
# KDE PIM applications for email, calendar, and contacts
|
|
kdePackages.kmail
|
|
kdePackages.kmail-account-wizard
|
|
kdePackages.kmailtransport
|
|
kdePackages.korganizer
|
|
kdePackages.kaddressbook
|
|
kdePackages.kontact
|
|
|
|
# KDE Online Accounts support
|
|
kdePackages.kaccounts-integration
|
|
kdePackages.kaccounts-providers
|
|
kdePackages.signond
|
|
];
|
|
|
|
programs.firefox = {
|
|
enable = true;
|
|
};
|
|
|
|
programs.spotify-player.enable = true;
|
|
|
|
services.gnome-keyring = {
|
|
enable = true;
|
|
};
|
|
|
|
xdg.enable = true;
|
|
|
|
# Note: modules must be imported at top-level home config
|
|
};
|
|
} |