dot

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

61 lines2264 bytesNix
1# Packages this config adds to nixpkgs or patches. Used as an overlay, so the
2# patched waybar replaces the stock one everywhere. Takes the flake's inputs first.
3inputs: final: prev: {
4 # Same three patches as the Arch PKGBUILD in the old dotfiles repo; see the
5 # comments at the top of each patch.
6 waybar = prev.waybar.overrideAttrs (old: {
7 patches = (old.patches or [ ]) ++ [
8 ./waybar/tray-sticky-custom-icons.patch
9 ./waybar/tray-order.patch
10 ./waybar/hyprland-lua-dispatch.patch
11 ];
12 });
13
14 xembedsniproxy = final.callPackage ./xembedsniproxy { };
15 # Signal from the nixpkgs-signal input until nixos-unstable has 8.31.0 too;
16 # then the input and this choice can go.
17 signal-desktop-themed = final.callPackage ./signal-desktop-themed {
18 signal-desktop =
19 if final.lib.versionAtLeast prev.signal-desktop.version "8.31.0" then
20 prev.signal-desktop
21 else
22 inputs.nixpkgs-signal.legacyPackages.${final.stdenv.hostPlatform.system}.signal-desktop;
23 };
24 claude-desktop = final.callPackage ./claude-desktop { };
25 opendeck = final.callPackage ./opendeck { };
26 breezex-cursor = final.callPackage ./breezex-cursor { };
27 proton-cachyos = final.callPackage ./proton-cachyos { };
28
29 # python3 for the Waybar/Eww scripts and xwl-clipbridge: PyGObject (Gio, GLib,
30 # Gdk) and python-xlib, with the typelibs those imports need on its own path,
31 # since the scripts run from Waybar and systemd rather than a wrapped program.
32 python3-desktop =
33 let
34 python = final.python3.withPackages (ps: [
35 ps.pygobject3
36 ps.xlib
37 ]);
38 in
39 final.symlinkJoin {
40 name = "python3-desktop";
41 paths = [ python ];
42 nativeBuildInputs = [ final.makeWrapper ];
43 postBuild = ''
44 for exe in $out/bin/python3 $out/bin/python; do
45 wrapProgram "$exe" --prefix GI_TYPELIB_PATH : ${
46 final.lib.makeSearchPath "lib/girepository-1.0" (
47 map (p: p.out or p) [
48 final.glib
49 final.gobject-introspection
50 final.gtk3
51 final.pango
52 final.gdk-pixbuf
53 final.atk
54 final.harfbuzz
55 ]
56 )
57 }
58 done
59 '';
60 };
61}