Coffee journaling on ATProto (alpha) alpha.arabica.social
coffee
at refactor-preact 58 lines 1.5 kB view raw
1{ lib, buildGoModule, tailwindcss }: 2 3buildGoModule rec { 4 pname = "arabica"; 5 version = "0.1.0"; 6 src = ./.; 7 vendorHash = "sha256-mrIFu5c2EuGvYHyjJVqC8WzlsmUJYCm/6yUpJ0IGPlA="; 8 9 nativeBuildInputs = [ tailwindcss ]; 10 11 preBuild = '' 12 tailwindcss -i static/css/style.css -o static/css/output.css --minify 13 ''; 14 15 buildPhase = '' 16 runHook preBuild 17 go build -o arabica cmd/server/main.go 18 runHook postBuild 19 ''; 20 21 installPhase = let 22 wrapperScript = '' 23 #!/bin/sh 24 SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" 25 SHARE_DIR="$SCRIPT_DIR/../share/arabica" 26 27 # Set default database path if not specified 28 # Uses XDG_DATA_HOME or falls back to ~/.local/share 29 if [ -z "$ARABICA_DB_PATH" ]; then 30 DATA_DIR="''${XDG_DATA_HOME:-$HOME/.local/share}/arabica" 31 mkdir -p "$DATA_DIR" 32 export ARABICA_DB_PATH="$DATA_DIR/arabica.db" 33 fi 34 35 cd "$SHARE_DIR" 36 exec "$SCRIPT_DIR/arabica-unwrapped" "$@" 37 ''; 38 in '' 39 mkdir -p $out/bin 40 mkdir -p $out/share/arabica 41 42 # Copy static files and templates 43 cp -r static $out/share/arabica/ 44 cp -r templates $out/share/arabica/ 45 cp arabica $out/bin/arabica-unwrapped 46 cat > $out/bin/arabica <<'WRAPPER' 47 ${wrapperScript} 48 WRAPPER 49 chmod +x $out/bin/arabica 50 ''; 51 52 meta = with lib; { 53 description = "Arabica - Coffee brew tracker"; 54 license = licenses.mit; 55 platforms = platforms.linux; 56 mainProgram = "arabica"; 57 }; 58}