From 3dfc2ab02533afbbd4c3ac464003700e73a47603 Mon Sep 17 00:00:00 2001 From: UGA Innovation Factory Date: Thu, 18 Dec 2025 16:24:07 -0500 Subject: [PATCH] symlink in install phase --- default.nix | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/default.nix b/default.nix index 41c3ca2..afcab26 100644 --- a/default.nix +++ b/default.nix @@ -39,6 +39,11 @@ let # Copy all application files cp -r $src/* $out/opt/usda-vision/ + # Remove any existing .env files and create symlink to /var/lib location + rm -f $out/opt/usda-vision/management-dashboard-web-app/.env + rm -f $out/opt/usda-vision/.env + ln -s /var/lib/usda-vision/.env $out/opt/usda-vision/management-dashboard-web-app/.env + # Create convenience scripts mkdir -p $out/bin @@ -55,7 +60,7 @@ let EOF cat > $out/bin/usda-vision-logs <<'EOF' - #!/usr/bin/env bash + #!/usr%bin/env bash cd $out/opt/usda-vision ${pkgs.docker-compose}/bin/docker-compose logs -f "$@" EOF @@ -112,7 +117,6 @@ in systemd.tmpfiles.rules = [ "d /var/lib/usda-vision 0755 root root -" "f /var/lib/usda-vision/.env 0644 root root -" - "L+ ${usda-vision-app}/opt/usda-vision/management-dashboard-web-app/.env - - - - /var/lib/usda-vision/.env" ]; # Systemd service to manage usda-vision docker compose @@ -122,6 +126,10 @@ in wants = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; + preStart = '' + # Ensure .env file exists with defaults if empty + if [ ! -s /var/lib/usda-vision/.env ]; then + if [ -f ${usda-vision-app}/opt/usda-vision/.env.example ]; then preStart = '' # Ensure .env file exists with defaults if empty if [ ! -s /var/lib/usda-vision/.env ]; then @@ -131,11 +139,7 @@ in echo "Please edit /var/lib/usda-vision/.env with your configuration" fi fi - ''; - - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; + '';emainAfterExit = true; WorkingDirectory = "${usda-vision-app}/opt/usda-vision"; User = "root"; Group = "root";