dot

vizie's NixOS desktop: Hyprland, CachyOS kernel and gaming tweaks

73 lines2163 bytesNix
1# Desktop apps and what they need from the system.
2{ pkgs, ... }:
3{
4 programs.firefox.enable = true;
5
6 environment.systemPackages = with pkgs; [
7 claude-desktop
8 signal-desktop-themed
9 discord
10 bitwarden-desktop
11 opendeck
12 kdePackages.dolphin
13 kdePackages.ark
14 kdePackages.kio-extras
15 kdePackages.ffmpegthumbs
16 cosmic-files
17 mpv
18 vlc
19 pavucontrol
20 pulsemixer
21 playerctl
22 nwg-look
23 qalculate-gtk
24 alacritty
25 ];
26
27 # --- Claude Desktop's Cowork ----------------------------------------------------
28
29 # Cowork runs its tasks in a QEMU/KVM virtual machine. The app looks for the
30 # UEFI firmware at the path Debian uses, so it is linked there; QEMU, socat
31 # and virtiofsd come with the package (pkgs/claude-desktop).
32 boot.kernelModules = [ "vhost_vsock" ];
33 systemd.tmpfiles.rules = [
34 "L+ /usr/share/OVMF/OVMF_CODE_4M.fd - - - - ${pkgs.OVMF.fd}/FV/OVMF_CODE.fd"
35 ];
36
37 # --- OpenDeck -------------------------------------------------------------------
38
39 # Lets your user open the Stream Deck (40-streamdeck.rules on CachyOS).
40 services.udev.packages = [ pkgs.opendeck ];
41
42 # Plugins installed from OpenDeck's store (Starter Pack, Discord) are prebuilt
43 # generic-Linux binaries; nix-ld gives them a /lib64 loader and their libraries.
44 programs.nix-ld = {
45 enable = true;
46 libraries = with pkgs; [
47 stdenv.cc.cc.lib # libgcc_s
48 libxkbcommon
49 openssl
50 ];
51 };
52
53 # --- Flatpak --------------------------------------------------------------------
54
55 # Flatpak with Flathub, for apps that are only published there. Nothing is
56 # installed from it by default.
57 services.flatpak.enable = true;
58 systemd.services.flathub-remote = {
59 description = "Add the Flathub Flatpak remote";
60 wantedBy = [ "multi-user.target" ];
61 wants = [ "network-online.target" ];
62 after = [ "network-online.target" ];
63 path = [ pkgs.flatpak ];
64 serviceConfig = {
65 Type = "oneshot";
66 Restart = "on-failure";
67 RestartSec = "1min";
68 };
69 script = ''
70 flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
71 '';
72 };
73}