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. Takes the flake's inputs first. |
| 3 | inputs: 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..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 | |
| 47 | |
| 48 | |
| 49 | |
| 50 | |
| 51 | |
| 52 | |
| 53 | |
| 54 | |
| 55 | |
| 56 | |
| 57 | |
| 58 | done |
| 59 | ''; |
| 60 | }; |
| 61 | } |