diff --git a/flake.lock b/flake.lock index de8411a..607603a 100644 --- a/flake.lock +++ b/flake.lock @@ -1,8 +1,13 @@ { "nodes": { - "hyprland-qt-support": { + "aquamarine": { "inputs": { - "hyprlang": "hyprlang", + "hyprutils": [ + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprwayland-scanner" + ], "nixpkgs": [ "nixpkgs" ], @@ -11,37 +16,63 @@ ] }, "locked": { - "lastModified": 1737634706, - "narHash": "sha256-nGCibkfsXz7ARx5R+SnisRtMq21IQIhazp6viBU8I/A=", + "lastModified": 1767024902, + "narHash": "sha256-sMdk6QkMDhIOnvULXKUM8WW8iyi551SWw2i6KQHbrrU=", "owner": "hyprwm", - "repo": "hyprland-qt-support", - "rev": "8810df502cdee755993cb803eba7b23f189db795", + "repo": "aquamarine", + "rev": "b8a0c5ba5a9fbd2c660be7dd98bdde0ff3798556", "type": "github" }, "original": { "owner": "hyprwm", - "repo": "hyprland-qt-support", + "repo": "aquamarine", + "type": "github" + } + }, + "hyprgraphics": { + "inputs": { + "hyprutils": [ + "hyprutils" + ], + "nixpkgs": [ + "nixpkgs" + ], + "systems": [ + "systems" + ] + }, + "locked": { + "lastModified": 1766946335, + "narHash": "sha256-MRD+Jr2bY11MzNDfenENhiK6pvN+nHygxdHoHbZ1HtE=", + "owner": "hyprwm", + "repo": "hyprgraphics", + "rev": "4af02a3925b454deb1c36603843da528b67ded6c", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprgraphics", "type": "github" } }, "hyprlang": { "inputs": { - "hyprutils": "hyprutils", + "hyprutils": [ + "hyprutils" + ], "nixpkgs": [ - "hyprland-qt-support", "nixpkgs" ], "systems": [ - "hyprland-qt-support", "systems" ] }, "locked": { - "lastModified": 1737634606, - "narHash": "sha256-W7W87Cv6wqZ9PHegI6rH1+ve3zJPiyevMFf0/HwdbCQ=", + "lastModified": 1764612430, + "narHash": "sha256-54ltTSbI6W+qYGMchAgCR6QnC1kOdKXN6X6pJhOWxFg=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "f41271d35cc0f370d300413d756c2677f386af9d", + "rev": "0d00dc118981531aa731150b6ea551ef037acddd", "type": "github" }, "original": { @@ -50,25 +81,59 @@ "type": "github" } }, + "hyprtoolkit": { + "inputs": { + "aquamarine": [ + "aquamarine" + ], + "hyprgraphics": [ + "hyprgraphics" + ], + "hyprlang": [ + "hyprlang" + ], + "hyprutils": [ + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprwayland-scanner" + ], + "nixpkgs": [ + "nixpkgs" + ], + "systems": [ + "systems" + ] + }, + "locked": { + "lastModified": 1767025790, + "narHash": "sha256-LEGGn0KRXr3swO80ESKE72KR6J4arRX/9psBnNF7O0A=", + "owner": "hyprwm", + "repo": "hyprtoolkit", + "rev": "b42b3281d766e67eca990dba89e85cc7c1d3e26d", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprtoolkit", + "type": "github" + } + }, "hyprutils": { "inputs": { "nixpkgs": [ - "hyprland-qt-support", - "hyprlang", "nixpkgs" ], "systems": [ - "hyprland-qt-support", - "hyprlang", "systems" ] }, "locked": { - "lastModified": 1737632363, - "narHash": "sha256-X9I8POSlHxBVjD0fiX1O2j7U9Zi1+4rIkrsyHP0uHXY=", + "lastModified": 1766253372, + "narHash": "sha256-1+p4Kw8HdtMoFSmJtfdwjxM4bPxDK9yg27SlvUMpzWA=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "006620eb29d54ea9086538891404c78563d1bae1", + "rev": "51a4f93ce8572e7b12b7284eb9e6e8ebf16b4be9", "type": "github" }, "original": { @@ -77,7 +142,7 @@ "type": "github" } }, - "hyprutils_2": { + "hyprwayland-scanner": { "inputs": { "nixpkgs": [ "nixpkgs" @@ -87,26 +152,52 @@ ] }, "locked": { - "lastModified": 1737632363, - "narHash": "sha256-X9I8POSlHxBVjD0fiX1O2j7U9Zi1+4rIkrsyHP0uHXY=", + "lastModified": 1763640274, + "narHash": "sha256-Uan1Nl9i4TF/kyFoHnTq1bd/rsWh4GAK/9/jDqLbY5A=", "owner": "hyprwm", - "repo": "hyprutils", - "rev": "006620eb29d54ea9086538891404c78563d1bae1", + "repo": "hyprwayland-scanner", + "rev": "f6cf414ca0e16a4d30198fd670ec86df3c89f671", "type": "github" }, "original": { "owner": "hyprwm", - "repo": "hyprutils", + "repo": "hyprwayland-scanner", + "type": "github" + } + }, + "hyprwire": { + "inputs": { + "hyprutils": [ + "hyprutils" + ], + "nixpkgs": [ + "nixpkgs" + ], + "systems": [ + "systems" + ] + }, + "locked": { + "lastModified": 1766253414, + "narHash": "sha256-O70C7PD8r/8fwrVofU5gaswXrQ7WFg0m/M1eWnm3+1U=", + "owner": "hyprwm", + "repo": "hyprwire", + "rev": "c0541f6fa55bfc98a7bfdfe07b0e448d616a3a1b", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwire", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1737469691, - "narHash": "sha256-nmKOgAU48S41dTPIXAq0AHZSehWUn6ZPrUKijHAMmIk=", + "lastModified": 1766902085, + "narHash": "sha256-coBu0ONtFzlwwVBzmjacUQwj3G+lybcZ1oeNSQkgC0M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9e4d5190a9482a1fb9d18adf0bdb83c6e506eaab", + "rev": "c0b0e0fddf73fd517c3471e546c0df87a42d53f4", "type": "github" }, "original": { @@ -118,8 +209,13 @@ }, "root": { "inputs": { - "hyprland-qt-support": "hyprland-qt-support", - "hyprutils": "hyprutils_2", + "aquamarine": "aquamarine", + "hyprgraphics": "hyprgraphics", + "hyprlang": "hyprlang", + "hyprtoolkit": "hyprtoolkit", + "hyprutils": "hyprutils", + "hyprwayland-scanner": "hyprwayland-scanner", + "hyprwire": "hyprwire", "nixpkgs": "nixpkgs", "systems": "systems" } diff --git a/flake.nix b/flake.nix index a842cb6..982183c 100644 --- a/flake.nix +++ b/flake.nix @@ -5,16 +5,56 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; systems.url = "github:nix-systems/default-linux"; + aquamarine = { + url = "github:hyprwm/aquamarine"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.systems.follows = "systems"; + inputs.hyprutils.follows = "hyprutils"; + inputs.hyprwayland-scanner.follows = "hyprwayland-scanner"; + }; + + hyprgraphics = { + url = "github:hyprwm/hyprgraphics"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.systems.follows = "systems"; + inputs.hyprutils.follows = "hyprutils"; + }; + hyprutils = { url = "github:hyprwm/hyprutils"; inputs.nixpkgs.follows = "nixpkgs"; inputs.systems.follows = "systems"; }; - hyprland-qt-support = { - url = "github:hyprwm/hyprland-qt-support"; + hyprlang = { + url = "github:hyprwm/hyprlang"; inputs.nixpkgs.follows = "nixpkgs"; inputs.systems.follows = "systems"; + inputs.hyprutils.follows = "hyprutils"; + }; + + hyprwayland-scanner = { + url = "github:hyprwm/hyprwayland-scanner"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.systems.follows = "systems"; + }; + + hyprwire = { + url = "github:hyprwm/hyprwire"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.systems.follows = "systems"; + inputs.hyprutils.follows = "hyprutils"; + }; + + hyprtoolkit = { + url = "github:hyprwm/hyprtoolkit"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.systems.follows = "systems"; + inputs.aquamarine.follows = "aquamarine"; + inputs.hyprutils.follows = "hyprutils"; + inputs.hyprlang.follows = "hyprlang"; + inputs.hyprgraphics.follows = "hyprgraphics"; + inputs.hyprwayland-scanner.follows = "hyprwayland-scanner"; }; }; diff --git a/nix/default.nix b/nix/default.nix index dc33dc8..fcf4b9a 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -4,46 +4,48 @@ stdenv, cmake, - qt6, pkg-config, + aquamarine, + cairo, + glaze-hyprsysteminfo, + hyprgraphics, + hyprtoolkit, hyprutils, + libdrm, pciutils, - hyprland-qt-support, + pixman, version ? "0", -}: let - inherit (lib.strings) makeBinPath; -in - stdenv.mkDerivation { - pname = "hyprsysteminfo"; - inherit version; +}: - src = nix-gitignore.gitignoreSource [] ./..; +stdenv.mkDerivation { + pname = "hyprsysteminfo"; + inherit version; - nativeBuildInputs = [ - cmake - pkg-config - qt6.wrapQtAppsHook - ]; + src = nix-gitignore.gitignoreSource [] ./..; - buildInputs = [ - qt6.qtbase - qt6.qtdeclarative - qt6.qtsvg - qt6.qtwayland - hyprutils - hyprland-qt-support - ]; + nativeBuildInputs = [ + cmake + pkg-config + ]; - preFixup = '' - qtWrapperArgs+=(--prefix PATH : "${makeBinPath [pciutils]}") - ''; + buildInputs = [ + aquamarine + cairo + glaze-hyprsysteminfo + hyprgraphics + hyprtoolkit + hyprutils + libdrm + pciutils + pixman + ]; - meta = { - description = "A tiny qt6/qml application to display information about the running system"; - homepage = "https://github.com/hyprwm/hyprsysteminfo"; - license = lib.licenses.bsd3; - maintainers = [lib.maintainers.fufexan]; - mainProgram = "hyprsysteminfo"; - platforms = lib.platforms.linux; - }; - } + meta = { + description = "System info utility for Hyprland"; + homepage = "https://github.com/hyprwm/hyprsysteminfo"; + license = lib.licenses.bsd3; + maintainers = [lib.maintainers.fufexan]; + mainProgram = "hyprsysteminfo"; + platforms = lib.platforms.linux; + }; +} diff --git a/nix/overlays.nix b/nix/overlays.nix index ffab21d..24ed99f 100644 --- a/nix/overlays.nix +++ b/nix/overlays.nix @@ -14,12 +14,28 @@ in { default = self.overlays.hyprsysteminfo; hyprsysteminfo = lib.composeManyExtensions [ + inputs.aquamarine.overlays.default + inputs.hyprgraphics.overlays.default + inputs.hyprlang.overlays.default inputs.hyprutils.overlays.default - inputs.hyprland-qt-support.overlays.default + inputs.hyprwayland-scanner.overlays.default + inputs.hyprtoolkit.overlays.default + inputs.hyprwire.overlays.default + self.overlays.glaze (final: prev: { hyprsysteminfo = final.callPackage ./. { version = "${version}+date=${date}_${self.shortRev or "dirty"}"; + stdenv = final.gcc15Stdenv; }; }) ]; + + # Even though glaze itself disables it by default, nixpkgs sets ENABLE_SSL set to true. + # Since we don't include openssl, the build failes without the `enableSSL = false;` override + glaze = final: prev: { + glaze-hyprsysteminfo = prev.glaze.override { + enableSSL = false; + enableInterop = false; + }; + }; }