diff --git a/deploy/nixos/lamassu-atm.nix b/deploy/nixos/bitspire-atm.nix similarity index 95% rename from deploy/nixos/lamassu-atm.nix rename to deploy/nixos/bitspire-atm.nix index b407d28..1b7ff93 100644 --- a/deploy/nixos/lamassu-atm.nix +++ b/deploy/nixos/bitspire-atm.nix @@ -6,10 +6,10 @@ with lib; let - cfg = config.services.lamassu-atm; + cfg = config.services.bitspire; in { - options.services.lamassu-atm = { + options.services.bitspire = { enable = mkEnableOption "Lamassu ATM service"; relayUrl = mkOption { @@ -26,13 +26,13 @@ in appDir = mkOption { type = types.path; - default = "/opt/lamassu-atm"; + default = "/opt/bitspire"; description = "Directory containing the ATM application"; }; dataDir = mkOption { type = types.path; - default = "/var/lib/lamassu-atm"; + default = "/var/lib/bitspire"; description = "Directory for ATM data and configuration"; }; @@ -106,7 +106,7 @@ in ]; # Environment file for ATM configuration - environment.etc."lamassu-atm/config.env".text = '' + environment.etc."bitspire/config.env".text = '' # Lamassu ATM Configuration RELAY_URL=${cfg.relayUrl} LIGHTNING_PUB_URL=${cfg.lightningPubUrl} @@ -131,7 +131,7 @@ in ''; # Main ATM service - systemd.services.lamassu-atm = { + systemd.services.bitspire = { description = "Lamassu ATM Application"; wantedBy = [ "graphical.target" ]; after = [ "graphical.target" "network-online.target" ]; @@ -144,7 +144,7 @@ in WorkingDirectory = cfg.appDir; # Environment - EnvironmentFile = "/etc/lamassu-atm/config.env"; + EnvironmentFile = "/etc/bitspire/config.env"; # Start the Electron app ExecStart = "${pkgs-unstable.electron}/bin/electron ${cfg.appDir}"; diff --git a/deploy/nixos/configuration.nix b/deploy/nixos/configuration.nix index e78fc68..3dc9897 100644 --- a/deploy/nixos/configuration.nix +++ b/deploy/nixos/configuration.nix @@ -9,7 +9,7 @@ # Networking networking = { - hostName = "lamassu-atm"; + hostName = "bitspire"; # Use NetworkManager for easy WiFi configuration networkmanager.enable = true; diff --git a/deploy/nixos/live.nix b/deploy/nixos/live.nix index 54962c1..9fbc1f8 100644 --- a/deploy/nixos/live.nix +++ b/deploy/nixos/live.nix @@ -23,7 +23,7 @@ let # .env template — runtime secrets are provisioned later via provision-atm.sh. # Only non-secret defaults and display vars go here. - envTemplate = pkgs.writeText "lamassu-atm-env" '' + envTemplate = pkgs.writeText "bitspire-env" '' VITE_RELAY_URL= VITE_LIGHTNING_PUB_PUBKEY= VITE_LIGHTNING_PUB_API_URL= @@ -48,12 +48,12 @@ in ./configuration.nix # Reuse ATM systemd service module - ./lamassu-atm.nix + ./bitspire-atm.nix ]; # ISO image settings isoImage = { - isoName = "lamassu-atm-${machineModel}-live.iso"; + isoName = "bitspire-${machineModel}-live.iso"; makeEfiBootable = true; makeBiosBootable = true; squashfsCompression = "zstd -Xcompression-level 6"; @@ -139,7 +139,7 @@ in }; # Enable the ATM service with live USB paths - services.lamassu-atm = { + services.bitspire = { enable = true; appDir = "${atm-app}"; }; @@ -148,9 +148,9 @@ in boot.kernel.sysctl."kernel.unprivileged_userns_clone" = 1; # Override the systemd service for live USB environment - systemd.services.lamassu-atm = { + systemd.services.bitspire = { serviceConfig = { - EnvironmentFile = lib.mkForce "/var/lib/lamassu-atm/.env"; + EnvironmentFile = lib.mkForce "/var/lib/bitspire/.env"; # Native modules need libstdc++ on NixOS Environment = "LD_LIBRARY_PATH=${pkgs.stdenv.cc.cc.lib}/lib"; # Electron needs --no-sandbox in the live/testing environment @@ -170,12 +170,12 @@ in }; # Install the .env on first boot - system.activationScripts.lamassu-env = '' - mkdir -p /var/lib/lamassu-atm - if [ ! -f /var/lib/lamassu-atm/.env ]; then - cp ${envTemplate} /var/lib/lamassu-atm/.env - chmod 600 /var/lib/lamassu-atm/.env - chown lamassu:lamassu /var/lib/lamassu-atm/.env + system.activationScripts.bitspire-env = '' + mkdir -p /var/lib/bitspire + if [ ! -f /var/lib/bitspire/.env ]; then + cp ${envTemplate} /var/lib/bitspire/.env + chmod 600 /var/lib/bitspire/.env + chown lamassu:lamassu /var/lib/bitspire/.env fi ''; @@ -186,7 +186,7 @@ in after = [ "display-manager.service" ]; requires = [ "display-manager.service" ]; wantedBy = [ "graphical.target" ]; - before = [ "lamassu-atm.service" ]; + before = [ "bitspire.service" ]; serviceConfig = { Type = "oneshot"; User = "lamassu"; diff --git a/deploy/nixos/provision-atm.sh b/deploy/nixos/provision-atm.sh index 5714dcc..d53b6f3 100755 --- a/deploy/nixos/provision-atm.sh +++ b/deploy/nixos/provision-atm.sh @@ -34,7 +34,7 @@ echo "--- Step 2: Creating ATM app ---" RESPONSE=$(curl -s -X POST "$LP_API/api/admin/app/add" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $ADMIN_TOKEN" \ - -d '{"name":"lamassu-atm-live","allow_user_creation":true}' 2>/dev/null) + -d '{"name":"bitspire-atm-live","allow_user_creation":true}' 2>/dev/null) if echo "$RESPONSE" | grep -q '"status":"OK"'; then APP_ID=$(echo "$RESPONSE" | grep -oP '"id":"\K[^"]+') @@ -86,12 +86,12 @@ ELECTRON_FORCE_PROD=1 DISPLAY=:0" ssh -o StrictHostKeyChecking=no -p "$ATM_SSH_PORT" "$ATM_USER@$ATM_HOST" \ - "echo '$ENV_CONTENT' | sudo tee /var/lib/lamassu-atm/.env > /dev/null && sudo systemctl restart lamassu-atm" + "echo '$ENV_CONTENT' | sudo tee /var/lib/bitspire/.env > /dev/null && sudo systemctl restart bitspire" echo "" echo "=== ATM provisioned successfully ===" echo "" -echo "Credentials written to /var/lib/lamassu-atm/.env" +echo "Credentials written to /var/lib/bitspire/.env" echo "ATM service restarted. It should connect to Lightning.Pub at $HOST_IP." echo "" -echo "To check status: ssh -p $ATM_SSH_PORT $ATM_USER@$ATM_HOST 'sudo journalctl -u lamassu-atm -f'" +echo "To check status: ssh -p $ATM_SSH_PORT $ATM_USER@$ATM_HOST 'sudo journalctl -u bitspire -f'" diff --git a/flake.nix b/flake.nix index 54cac78..e2df411 100644 --- a/flake.nix +++ b/flake.nix @@ -116,10 +116,10 @@ modules = [ hardwareModule ./deploy/nixos/configuration.nix - ./deploy/nixos/lamassu-atm.nix + ./deploy/nixos/bitspire-atm.nix determinate.nixosModules.default ({ config, lib, pkgs, ... }: { - services.lamassu-atm = { + services.bitspire = { enable = true; appDir = "${atm-app}"; }; @@ -186,10 +186,10 @@ }; # Env template — runtime secrets provisioned via provision-atm.sh - system.activationScripts.lamassu-env = '' - mkdir -p /var/lib/lamassu-atm - if [ ! -f /var/lib/lamassu-atm/.env ]; then - cp ${pkgs.writeText "lamassu-atm-env-default" '' + system.activationScripts.bitspire-env = '' + mkdir -p /var/lib/bitspire + if [ ! -f /var/lib/bitspire/.env ]; then + cp ${pkgs.writeText "bitspire-env-default" '' VITE_RELAY_URL= VITE_LIGHTNING_PUB_PUBKEY= VITE_LIGHTNING_PUB_API_URL= @@ -202,16 +202,16 @@ VITE_LAMASSU_FIAT_CODE=${fiatCode} ELECTRON_FORCE_PROD=1 DISPLAY=:0 - ''} /var/lib/lamassu-atm/.env - chmod 600 /var/lib/lamassu-atm/.env - chown lamassu:lamassu /var/lib/lamassu-atm/.env + ''} /var/lib/bitspire/.env + chmod 600 /var/lib/bitspire/.env + chown lamassu:lamassu /var/lib/bitspire/.env fi ''; # Override systemd service for Electron runtime - systemd.services.lamassu-atm = { + systemd.services.bitspire = { serviceConfig = { - EnvironmentFile = lib.mkForce "/var/lib/lamassu-atm/.env"; + EnvironmentFile = lib.mkForce "/var/lib/bitspire/.env"; Environment = "LD_LIBRARY_PATH=${pkgs.stdenv.cc.cc.lib}/lib"; ExecStart = lib.mkForce "${pkgs-unstable.electron}/bin/electron --no-sandbox --disable-gpu-sandbox --disable-gpu --disable-software-rasterizer --enable-logging ${atm-app}"; MemoryMax = lib.mkForce "1G"; @@ -230,7 +230,7 @@ after = [ "display-manager.service" ]; requires = [ "display-manager.service" ]; wantedBy = [ "graphical.target" ]; - before = [ "lamassu-atm.service" ]; + before = [ "bitspire.service" ]; serviceConfig = { Type = "oneshot"; User = "lamassu"; @@ -282,8 +282,8 @@ # ── Standalone NixOS module ─────────────────────────────────── - nixosModules.default = import ./deploy/nixos/lamassu-atm.nix; - nixosModules.lamassu-atm = import ./deploy/nixos/lamassu-atm.nix; + nixosModules.default = import ./deploy/nixos/bitspire-atm.nix; + nixosModules.bitspire = import ./deploy/nixos/bitspire-atm.nix; # ── Packages (x86_64-linux only for ATM hardware) ─────────────