···
6
+
writableTmpDirAsHomeHook,
20
+
gen = stdenvNoCC.mkDerivation {
21
+
pname = "olivetin-gen";
22
+
inherit (finalAttrs) version src;
24
+
nativeBuildInputs = [
25
+
writableTmpDirAsHomeHook
45
+
cp -r service/gen $out
50
+
outputHashMode = "recursive";
51
+
outputHash = "sha256-KygZ7NqkfhczYy1YMR824Om4NTq06+KHa/jvmsCty3s=";
54
+
webui = buildNpmPackage {
55
+
pname = "olivetin-webui";
56
+
inherit (finalAttrs) version src;
58
+
npmDepsHash = "sha256-VxIPjpsbxEPP15cu5Wvz0qeDGXTMb2tojdry8YaHMVI=";
60
+
sourceRoot = "${finalAttrs.src.name}/webui.dev";
65
+
npx parcel build --public-url "."
83
+
version = "2025.4.22";
85
+
src = fetchFromGitHub {
88
+
tag = finalAttrs.version;
89
+
hash = "sha256-dgoYGtBsyaCTgxCT/y7rU5B9pEvIU/yiLU2/pPm/vJU=";
92
+
modRoot = "service";
94
+
vendorHash = "sha256-yUW4BrC7Oqs+mvvZGp6oxdGQ9fxP5gQNacq6Pz5ZHAQ=";
99
+
"-X main.version=${finalAttrs.version}"
102
+
__darwinAllowLocalNetworking = true;
104
+
nativeBuildInputs = [ installShellFiles ];
108
+
substituteInPlace internal/config/config.go \
109
+
--replace-fail 'config.WebUIDir = "./webui"' 'config.WebUIDir = "${webui}"'
110
+
substituteInPlace internal/httpservers/webuiServer_test.go \
111
+
--replace-fail '"../webui/"' '"${webui}"'
115
+
installManPage ../var/manpage/OliveTin.1.gz
118
+
nativeInstallCheckInputs = [ versionCheckHook ];
119
+
versionCheckProgram = "${placeholder "out"}/bin/OliveTin";
120
+
versionCheckProgramArg = "-version";
121
+
doInstallCheck = true;
125
+
updateScript = ./update.sh;
129
+
description = "Gives safe and simple access to predefined shell commands from a web interface";
130
+
homepage = "https://www.olivetin.app/";
131
+
downloadPage = "https://github.com/OliveTin/OliveTin";
132
+
changelog = "https://github.com/OliveTin/OliveTin/releases/tag/${finalAttrs.version}";
133
+
license = lib.licenses.agpl3Only;
134
+
maintainers = with lib.maintainers; [ defelo ];
135
+
mainProgram = "OliveTin";