diff options
author | Jon Seager <jon@sgrs.uk> | 2024-02-19 09:45:01 +0000 |
---|---|---|
committer | Jon Seager <jon@sgrs.uk> | 2024-02-22 21:20:08 +0000 |
commit | 41f9a37ee4b3421f06c9d3b794cb07a05dd4fc96 (patch) | |
tree | d0956d99f87514ccddfaac7cf5b8adbf6f8546dd /pkgs/by-name/sc | |
parent | c9dda2db28825cb690dc647b74c6cd7dde795d89 (diff) |
scrutiny: init at 0.7.2
Diffstat (limited to 'pkgs/by-name/sc')
-rw-r--r-- | pkgs/by-name/sc/scrutiny/package.nix | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/pkgs/by-name/sc/scrutiny/package.nix b/pkgs/by-name/sc/scrutiny/package.nix new file mode 100644 index 0000000000000..5ca6a86e9dc1f --- /dev/null +++ b/pkgs/by-name/sc/scrutiny/package.nix @@ -0,0 +1,68 @@ +{ buildNpmPackage +, buildGoModule +, fetchFromGitHub +, nixosTests +, lib +}: +let + pname = "scrutiny"; + version = "0.7.2"; + + src = fetchFromGitHub { + owner = "AnalogJ"; + repo = "scrutiny"; + rev = "refs/tags/v${version}"; + hash = "sha256-UYKi+WTsasUaE6irzMAHr66k7wXyec8FXc8AWjEk0qs="; + }; + + frontend = buildNpmPackage { + inherit version; + pname = "${pname}-webapp"; + src = "${src}/webapp/frontend"; + + npmDepsHash = "sha256-M8P41LPg7oJ/C9abDuNM5Mn+OO0zK56CKi2BwLxv8oQ="; + + buildPhase = '' + runHook preBuild + mkdir dist + npm run build:prod --offline -- --output-path=dist + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + mkdir $out + cp -r dist/* $out + runHook postInstall + ''; + }; +in +buildGoModule rec { + inherit pname src version; + + subPackages = "webapp/backend/cmd/scrutiny"; + + vendorHash = "sha256-SiQw6pq0Fyy8Ia39S/Vgp9Mlfog2drtVn43g+GXiQuI="; + + CGO_ENABLED = 0; + + ldflags = [ "-extldflags=-static" ]; + + tags = [ "static" ]; + + postInstall = '' + mkdir -p $out/share/scrutiny + cp -r ${frontend}/* $out/share/scrutiny + ''; + + passthru.tests.scrutiny = nixosTests.scrutiny; + + meta = { + description = "Hard Drive S.M.A.R.T Monitoring, Historical Trends & Real World Failure Thresholds."; + homepage = "https://github.com/AnalogJ/scrutiny"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ jnsgruk ]; + mainProgram = "scrutiny"; + platforms = lib.platforms.linux; + }; +} |