NixOS remote builder
Plugin to use the nix store of a remote system to remote build given Nix flake paths
Woodpecker CI plugin which uses the store of a remote NixOS system to build our given Nix flake paths.
The usecase is that the remote system acts as a builder and Nix binarycache. So we build our NixOS systems (or packages) on the remote system and keep the output in the nix store of the remote system.
- For each build we use the persistent store of the remote system and get much faster builds because we use already build artefacts.
- The result will stay in the Nix store of the remote machine. So we can serve this store as binary cache.
|sshkey||none||SSH key for SSH authentification on remote system. This should be applied from a CI secret|
|username||none||Username on remote system|
|hostname||none||Hostname of remote system|
|sshport||none||SSH Port to connect on remote system|
|flakepaths||none||List of flakepaths to build separated by
steps: remote-build: image: johnwalkerx/nix-remote-builder-plugin:latest pull: true settings: hostname: binarycache.example.com sshport: 22 username: uploaduser sshkey: from_secret: sshkey flakepaths: >- .#nixosConfigurations.machine1.config.system.build.toplevel, .#nixosConfigurations.machine2.config.system.build.toplevel
NOTE: Make sure to restrict usage of the secret to this specific docker image and select that only plugins can use this secrets.