{ pkgs, lib, ... }: let rishot = pkgs.callPackage ../../pkgs/rishot.nix { }; in # Desktop applications for a workstation host (currently: terra). Split from # desktop-hyprland.nix, which owns the *session* (compositor, greeter, audio, # portals); this owns the things the user actually launches inside it. { nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "gitkraken" "jetbrains-toolbox" "steam" "steam-unwrapped" "steam-run" "claude-code" "proton-pass-cli" "vivaldi" "mongodb" # librechat's local db (services/desktop/librechat.nix) — SSPL ]; programs.steam = { enable = true; remotePlay.openFirewall = true; dedicatedServer.openFirewall = false; gamescopeSession.enable = true; extraCompatPackages = [ pkgs.proton-ge-bin ]; }; hardware.graphics.enable32Bit = true; environment.systemPackages = with pkgs; [ alacritty zed-editor gitkraken jetbrains-toolbox cosmic-settings-daemon cosmic-settings cosmic-icons cosmic-files vivaldi rishot jq dotnetCorePackages.sdk_10_0 nodejs ]; fonts.packages = [ pkgs.nerd-fonts.departure-mono ]; }