{ system ? builtins.currentSystem , version ? "latest" , rev ? "" , commitTime ? "1970-01-01T00:00:00+00:00" , repoUrl ? "" }: let nixpkgs = builtins.fetchTarball { url = "https://github.com/NixOS/nixpkgs/archive/4ecab3273592f27479a583fb6d975d4aba3486fe.tar.gz"; sha256 = "10wn0l08j9lgqcw8177nh2ljrnxdrpri7bp0g7nvrsn9rkawvlbf"; }; pkgs = import nixpkgs { inherit system; }; devshell = import (pkgs.fetchFromGitHub { owner = "numtide"; repo = "devshell"; rev = "5143ea68647c4cf5227e4ad2100db6671fc4c369"; sha256 = "sha256-9goJTd05yOyD/McaMqZ4BUB8JW+mZMnZQJZ7VQ6C/Lw="; }) { nixpkgs = pkgs; }; nodejs = pkgs.nodejs_20; go = pkgs.go_1_20; dream2nix = pkgs.dream2nix; buildGoModule = pkgs.buildGoModule.override { inherit go; }; golangci-lint = pkgs.golangci-lint.override { inherit buildGoModule; }; src = pkgs.lib.cleanSource ./.; uiSrc = pkgs.lib.cleanSource ./app/frontend; package = pkgs.buildNpmPackage { name = "ui"; buildInputs = [ nodejs ]; pname = "ui"; src = uiSrc; buildPhase = '' npm run check npm run build mkdir $out cp -a dist $out ''; npmInstallFlags = "--no-audit --no-progress --no-fund"; npmDepsHash = "sha256-p4rTpy0t8aajbubvtF1TA83/FFqvfKEOPBb5T0ZRfQY="; npmPackFlags = [ "--ignore-scripts" ]; }; server = buildGoModule { inherit src version; pname = "cv"; postPatch = '' rm -rf app/server/internal/files/data/public mkdir -p app/server/internal/files/data/public touch app/server/internal/files/data/public/.gitkeep cp -Tr ${package}/dist/ app/server/internal/files/data/public/ chmod +w -R app/server/internal/files/data/public sed -i 's# /dev/null) [[ ''$HASH = sha256* ]] && echo "Hash is ''$HASH" [[ ''$HASH != sha256* ]] && echo "Failed" && exit 137 # Replace the first occurence of npmDepsHash with the new calculated hash in this file sed -i "0,/npmDepsHash =/{s@npmDepsHash = .*@npmDepsHash = \"''$HASH\";@}" ''$PRJ_ROOT/default.nix ''; } { name = "pre-commit"; help = "Format and fix found issues"; command = '' cd ''$PRJ_ROOT golangci-lint run --sort-results --out-format tab --fix npm --prefix ''$PRJ_ROOT/app/frontend run fix update-npm-deps-hash ''; } { name = "dev"; help = "Starts the javascript project in dev"; command = '' npm --prefix ''$PRJ_ROOT/app/frontend run dev ''; } ]; }; }