dot
vizie's NixOS desktop: Hyprland, CachyOS kernel and gaming tweaks
| 1 | # Packages this config adds to nixpkgs or patches. Used as an overlay, so the |
| 2 | # patched waybar replaces the stock one everywhere. |
| 3 | 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-desktop-themed = final.callPackage ./signal-desktop-themed { }; |
| 16 | claude-desktop = final.callPackage ./claude-desktop { }; |
| 17 | opendeck = final.callPackage ./opendeck { }; |
| 18 | breezex-cursor = final.callPackage ./breezex-cursor { }; |
| 19 | proton-cachyos = final.callPackage ./proton-cachyos { }; |
| 20 | |
| 21 | # python3 for the Waybar/Eww scripts and xwl-clipbridge: PyGObject (Gio, GLib, |
| 22 | # Gdk) and python-xlib, with the typelibs those imports need on its own path, |
| 23 | # since the scripts run from Waybar and systemd rather than a wrapped program. |
| 24 | python3-desktop = |
| 25 | let |
| 26 | python = final.python3.withPackages (ps: [ |
| 27 | ps.pygobject3 |
| 28 | ps.xlib |
| 29 | ]); |
| 30 | in |
| 31 | final.symlinkJoin { |
| 32 | name = "python3-desktop"; |
| 33 | paths = [ python ]; |
| 34 | nativeBuildInputs = [ final.makeWrapper ]; |
| 35 | postBuild = '' |
| 36 | for exe in $out/bin/python3 $out/bin/python; do |
| 37 | wrapProgram "$exe" --prefix GI_TYPELIB_PATH : |
| 38 | |
| 39 | |
| 40 | |
| 41 | |
| 42 | |
| 43 | |
| 44 | |
| 45 | |
| 46 | |
| 47 | |
| 48 | |
| 49 | |
| 50 | done |
| 51 | ''; |
| 52 | }; |
| 53 | } |