serokell / deploy-rs

A simple multi-profile Nix-flake deploy tool.
Other
1.33k stars 101 forks source link

Deploy-rs errors with `nix 2.15.0`: The interpretation of store paths arguments ending in `.drv` recently changed #202

Closed soupglasses closed 1 year ago

soupglasses commented 1 year ago

The latest pkgs.nixUnstable release of nix, version 2.15.0, breaks deploy-rs. The same configuration with nix 2.14.1 works correctly. This seems to have caused #199 and why remoteBuilder = true fixes this error, likely due to differing nix versions between the local and remote machine.

The logs after a weekly nix flake update and deploy .#host command:

% deploy .#nona --debug-logs
🚀 ❓ [deploy] [DEBUG] Checking for flake support
🚀 ℹī¸ [deploy] [INFO] Running checks for flake in .
🚀 ℹī¸ [deploy] [INFO] Evaluating flake in .
🚀 ℹī¸ [deploy] [INFO] The following profiles are going to be deployed:
[nona.system]
user = "root"
ssh_user = "sofi"
path = "/nix/store/iignc95ivrjl2xisb4d57d6avhka9qhy-activatable-nixos-system-nona-23.05.20230417.4aa62d5"
hostname = "nona.hosts.byte.surf"
ssh_opts = []

🚀 ❓ [deploy] [DEBUG] Finding the deriver of store path for /nix/store/iignc95ivrjl2xisb4d57d6avhka9qhy-activatable-nixos-system-nona-23.05.20230417.4aa62d5
🚀 ℹī¸ [deploy] [INFO] Building profile `system` for node `nona`
warning: The interpretation of store paths arguments ending in `.drv` recently changed. If this command is now failing try again with '/nix/store/7k21mmwi0mcfwqpkr9zjm1z7191a7qg0-activatable-nixos-system-nona-23.05.20230417.4aa62d5.drv!*'
🚀 ❌ [deploy] [ERROR] Failed to push profile: Activation script deploy-rs-activate does not exist in profile.
Did you forget to use deploy-rs#lib.<...>.activate.<...> on your profile path?
rvem commented 1 year ago

You can try a version with workaround for this issue from #203