Compare commits

..

7 Commits

Author SHA1 Message Date
Hunter Halloran
78bfcf0261 Mount Nix camera SDK into docker container with proper LD_LIBRARY_PATH 2026-01-30 18:07:18 -05:00
Hunter Halloran
194f3fbd9a Fix Nix string concatenation in preStart 2026-01-30 17:55:19 -05:00
Hunter Halloran
147c21a19b Fix missing 'fi' in shell script 2026-01-30 17:53:49 -05:00
Hunter Halloran
5cb5a78032 Fix env_file paths and ANON_KEY references in docker-compose.yml
- Update sed pattern to correctly match absolute env_file paths
- Replace [REDACTED] placeholders with VITE_SUPABASE_ANON_KEY variable reference
- Fix missing file path in sed command
2026-01-30 17:52:17 -05:00
Hunter Halloran
53314a0896 fix: Link .env file correctly (I hope) 2026-01-30 17:38:03 -05:00
Hunter Halloran
998a84f992 Fix module.nix package references 2026-01-30 17:26:16 -05:00
Hunter Halloran
59d3a1eec1 Move usda-vision module to flake nixosModules output 2026-01-30 17:24:14 -05:00
2 changed files with 29 additions and 8 deletions

View File

@@ -7,6 +7,11 @@
}; };
outputs = { self, nixpkgs, flake-utils }: outputs = { self, nixpkgs, flake-utils }:
{
# NixOS module (system-independent)
nixosModules.default = import ./module.nix;
}
//
flake-utils.lib.eachDefaultSystem (system: flake-utils.lib.eachDefaultSystem (system:
let let
pkgs = import nixpkgs { pkgs = import nixpkgs {
@@ -95,9 +100,6 @@
DOCKER_BUILDKIT = "1"; DOCKER_BUILDKIT = "1";
COMPOSE_DOCKER_CLI_BUILD = "1"; COMPOSE_DOCKER_CLI_BUILD = "1";
}; };
# NixOS module for deployment
nixosModules.default = import ./module.nix;
} }
); );
} }

View File

@@ -3,9 +3,9 @@
let let
cfg = config.services.usda-vision; cfg = config.services.usda-vision;
# Get packages from the flake (self reference) # Get packages from the package option (must be provided)
camera-sdk = config.services.usda-vision.package.camera-sdk or pkgs.callPackage ./camera-sdk.nix {}; camera-sdk = cfg.package.camera-sdk;
usda-vision-app = config.services.usda-vision.package.usda-vision or pkgs.callPackage ./package.nix {}; usda-vision-app = cfg.package.usda-vision;
in in
{ {
@@ -127,11 +127,30 @@ in
/var/lib/usda-vision/docker-compose.yml /var/lib/usda-vision/docker-compose.yml
''} ''}
${lib.optionalString (cfg.envFile != null) '' # Configure docker-compose to use Nix-provided camera SDK
echo "Configuring camera SDK in docker-compose.yml..."
${pkgs.gnused}/bin/sed -i \
-e '/^ - \/etc\/timezone:\/etc\/timezone:ro$/a\ - ${camera-sdk}/lib:/opt/camera-sdk/lib:ro' \
-e 's|LD_LIBRARY_PATH=/usr/local/lib:/lib:/usr/lib|LD_LIBRARY_PATH=/opt/camera-sdk/lib:/usr/local/lib:/lib:/usr/lib|' \
/var/lib/usda-vision/docker-compose.yml
# Fix env_file paths to point to /var/lib/usda-vision/.env
echo "Fixing env_file paths in docker-compose.yml..."
${pkgs.gnused}/bin/sed -i \
's|/var/lib/usda-vision/management-dashboard-web-app/\.env|/var/lib/usda-vision/.env|g' \
/var/lib/usda-vision/docker-compose.yml
# Replace [REDACTED] placeholders with actual VITE_SUPABASE_ANON_KEY reference
echo "Fixing ANON_KEY references in docker-compose.yml..."
${pkgs.gnused}/bin/sed -i \
's|\[REDACTED\]|$${VITE_SUPABASE_ANON_KEY}|g' \
/var/lib/usda-vision/docker-compose.yml
if [ -n "${cfg.envFile}" ]; then
echo "Copying environment file from managed secret..." echo "Copying environment file from managed secret..."
cp ${cfg.envFile} /var/lib/usda-vision/.env cp ${cfg.envFile} /var/lib/usda-vision/.env
chmod 644 /var/lib/usda-vision/.env chmod 644 /var/lib/usda-vision/.env
''} fi
${lib.optionalString (cfg.envFile == null) '' ${lib.optionalString (cfg.envFile == null) ''
if [ ! -s /var/lib/usda-vision/.env ]; then if [ ! -s /var/lib/usda-vision/.env ]; then