diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0a8e97f..22107d3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,14 +18,14 @@ jobs: - uses: actions/checkout@v4 with: submodules: true - fetch-depth: 0 + fetch-depth: 1 - name: Install Nix - uses: cachix/install-nix-action@V28 + uses: cachix/install-nix-action@v30 with: nix_path: nixpkgs=channel:nixos-unstable - name: Build - run: nix --experimental-features 'nix-command flakes' build -L "git+file://$(pwd)?submodules=1&rev=$(git rev-parse HEAD)" + run: nix --experimental-features 'nix-command flakes' build -L '.?submodules=1#' - name: Flake check - run: nix --experimental-features 'nix-command flakes' flake check "git+file://$(pwd)?submodules=1&rev=$(git rev-parse HEAD)" + run: nix --experimental-features 'nix-command flakes' flake check '.?submodules=1#' - name: Format run: nix --experimental-features 'nix-command flakes' fmt && git diff --exit-code diff --git a/flake.lock b/flake.lock index 4079e55..3f74b9d 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -19,11 +19,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1724395761, - "narHash": "sha256-zRkDV/nbrnp3Y8oCADf5ETl1sDrdmAW6/bBVJ8EbIdQ=", + "lastModified": 1737942377, + "narHash": "sha256-8Eo/jRAgT3CbAloyqOj6uPN1EqBvLI/Tv2g+RxHjkhU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ae815cee91b417be55d43781eb4b73ae1ecc396c", + "rev": "88a55dffa4d44d294c74c298daf75824dc0aafb5", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index ea7eaa9..b221ed5 100644 --- a/flake.nix +++ b/flake.nix @@ -7,7 +7,7 @@ nixpkgs, }: let inherit (flake-utils.lib) eachDefaultSystem; - inherit (nixpkgs.lib) hasSuffix composeManyExtensions; + inherit (nixpkgs.lib) assertMsg; rev = self.shortRev or self.dirtyShortRev or "unknown"; shvspy = { @@ -19,49 +19,41 @@ copyDesktopItems, makeDesktopItem, }: - stdenv.mkDerivation { - name = "shvspy-${rev}"; - src = builtins.path { - path = ./.; - filter = path: _: ! hasSuffix ".nix" path; + assert assertMsg self.submodules + "Unable to build without submodules. Append '?submodules=1#' to the URL."; + stdenv.mkDerivation { + name = "shvspy-${rev}"; + src = ./.; + buildInputs = [ + qt6.wrapQtAppsHook + qt6.qtbase + qt6.qtserialport + qt6.qtwebsockets + qt6.qtsvg + qt6.qtnetworkauth + doctest + openldap + ]; + nativeBuildInputs = [ + cmake + qt6.qttools + copyDesktopItems + ]; + desktopItems = [ + (makeDesktopItem { + name = "shvspy"; + exec = "shvspy"; + desktopName = "SHVSpy"; + categories = ["Network" "RemoteAccess"]; + }) + ]; + cmakeFlags = ["-DUSE_QT6=ON"]; + meta.mainProgram = "shvspy"; }; - buildInputs = [ - qt6.wrapQtAppsHook - qt6.qtbase - qt6.qtserialport - qt6.qtwebsockets - qt6.qtsvg - qt6.qtnetworkauth - doctest - openldap - ]; - nativeBuildInputs = [ - cmake - qt6.qttools - copyDesktopItems - ]; - desktopItems = [ - (makeDesktopItem { - name = "shvspy"; - exec = "shvspy"; - desktopName = "SHVSpy"; - categories = ["Network" "RemoteAccess"]; - }) - ]; - cmakeFlags = [ - "-DUSE_QT6=ON" - ]; - meta.mainProgram = "shvspy"; - }; in { - overlays = { - pkgs = final: _: { - shvspy = final.callPackage shvspy {}; - }; - default = composeManyExtensions [ - self.overlays.pkgs - ]; + overlays.default = final: _: { + shvspy = final.callPackage shvspy {}; }; } // eachDefaultSystem (system: let