diff --git a/hosts/gitea/pkgs/gitea/build.nix b/hosts/gitea/pkgs/gitea/build.nix index 633f330..06c53f7 100644 --- a/hosts/gitea/pkgs/gitea/build.nix +++ b/hosts/gitea/pkgs/gitea/build.nix @@ -1,18 +1,16 @@ -{ pkgs, ... }: +{ pkgs, giteaVersion, ... }: let - nodeNix = (import ./node.nix { inherit pkgs; }); + giteaVersion = "1.19.3"; + src = pkgs.fetchgit { url = "https://github.com/nyxkrage/gitea"; rev = giteaVersion; hash = "sha256-KQEBq1BFQRLJW9fJq4W1sOsAqOCfNHKY/+cT8rkXxv4="; }; + nodeNix = (import ./node.nix { inherit pkgs giteaVersion src; }); nodeEnv = (pkgs.callPackage (nodeNix + "/default.nix") { }); in pkgs.buildGoModule rec { pname = "gitea-build"; - version = "1.19.3-nyx"; - vendorHash = "sha256-gfHyssQrY5r3rQAzonM3Rv/BDIYGEY/PiOZEyoGGeiw="; + version = "${giteaVersion}-nyx"; + vendorSha256 = "sha256-gfHyssQrY5r3rQAzonM3Rv/BDIYGEY/PiOZEyoGGeiw="; - src = pkgs.fetchgit { - url = "https://github.com/nyxkrage/gitea"; - rev = "1.19.3"; - hash = "sha256-KQEBq1BFQRLJW9fJq4W1sOsAqOCfNHKY/+cT8rkXxv4="; - }; + inherit src; nativeBuildInputs = [ pkgs.gnumake @@ -20,7 +18,6 @@ pkgs.buildGoModule rec { pkgs.nodejs pkgs.nodePackages.npm pkgs.git - ]; buildPhase = '' diff --git a/hosts/gitea/pkgs/gitea/default.nix b/hosts/gitea/pkgs/gitea/default.nix index c554920..da2aaf4 100644 --- a/hosts/gitea/pkgs/gitea/default.nix +++ b/hosts/gitea/pkgs/gitea/default.nix @@ -1,6 +1,6 @@ { pkgs, ... }: pkgs.unstable.gitea.overrideAttrs (old: rec { pname = "gitea"; - version = "1.19.3-nyx"; + version = "1.19.3"; - src = "${import ./build.nix { inherit pkgs; }}/gitea-src-${version}.tar.gz"; + src = "${import ./build.nix { inherit pkgs; giteaVersion = version; }}/gitea-src-${version}-nyx.tar.gz"; }) \ No newline at end of file diff --git a/hosts/gitea/pkgs/gitea/node.nix b/hosts/gitea/pkgs/gitea/node.nix index 7f14fa9..2326a61 100644 --- a/hosts/gitea/pkgs/gitea/node.nix +++ b/hosts/gitea/pkgs/gitea/node.nix @@ -1,20 +1,19 @@ -{ pkgs, ... }: +{ pkgs, giteaVersion, src, ... }: +let + escapeSlash = str: builtins.replaceStrings [ "/" ] [ "\\/"] str; +in pkgs.stdenv.mkDerivation rec { pname = "gitea-node-env"; - version = "1.19.3-nyx"; + version = "${giteaVersion}-nyx"; - src = pkgs.fetchgit { - url = "https://github.com/nyxkrage/gitea"; - rev = "1.19.3"; - hash = "sha256-KQEBq1BFQRLJW9fJq4W1sOsAqOCfNHKY/+cT8rkXxv4="; - }; + inherit src; nativeBuildInputs = [ pkgs.node2nix ]; buildPhase = '' mkdir nix node2nix -i ${src}/package.json -l ${src}/package-lock.json - sed -r -i 's/src = .+?nix\/store.+?;/src = fetchgit { url = "https:\/\/github.com\/nyxkrage\/gitea"; rev = "1.19.3"; hash = "sha256-KQEBq1BFQRLJW9fJq4W1sOsAqOCfNHKY\/+cT8rkXxv4="; };/' node-packages.nix + sed -r -i 's/src = .+?nix\/store.+?;/src = fetchgit { url = "${escapeSlash src.url}"; rev = "${escapeSlash src.rev}"; hash = "${escapeSlash src.outputHash}"; };/' node-packages.nix ''; installPhase = ''