# Desktop apps and what they need from the system. { pkgs, ... }: { programs.firefox.enable = true; environment.systemPackages = with pkgs; [ claude-desktop signal-desktop-themed discord bitwarden-desktop opendeck kdePackages.dolphin kdePackages.ark kdePackages.kio-extras kdePackages.ffmpegthumbs cosmic-files mpv vlc pavucontrol pulsemixer playerctl nwg-look qalculate-gtk alacritty ]; # --- Claude Desktop's Cowork ---------------------------------------------------- # Cowork runs its tasks in a QEMU/KVM virtual machine. The app looks for the # UEFI firmware at the path Debian uses, so it is linked there; QEMU, socat # and virtiofsd come with the package (pkgs/claude-desktop). boot.kernelModules = [ "vhost_vsock" ]; systemd.tmpfiles.rules = [ "L+ /usr/share/OVMF/OVMF_CODE_4M.fd - - - - ${pkgs.OVMF.fd}/FV/OVMF_CODE.fd" ]; # --- OpenDeck ------------------------------------------------------------------- # Lets your user open the Stream Deck (40-streamdeck.rules on CachyOS). services.udev.packages = [ pkgs.opendeck ]; # --- Flatpak -------------------------------------------------------------------- # Flatpak with Flathub, for apps that are only published there. Nothing is # installed from it by default. services.flatpak.enable = true; systemd.services.flathub-remote = { description = "Add the Flathub Flatpak remote"; wantedBy = [ "multi-user.target" ]; wants = [ "network-online.target" ]; after = [ "network-online.target" ]; path = [ pkgs.flatpak ]; serviceConfig = { Type = "oneshot"; Restart = "on-failure"; RestartSec = "1min"; }; script = '' flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo ''; }; }