Desktop API client (REST/GraphQL/gRPC). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S94o42aQ8VkBmEWvDem5xa
52 lines
1.2 KiB
Nix
52 lines
1.2 KiB
Nix
{ 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
|
|
yaak # desktop API client (REST/GraphQL/gRPC)
|
|
];
|
|
|
|
fonts.packages = [ pkgs.nerd-fonts.departure-mono ];
|
|
}
|