Skip to content

awakesecurity/nix-delegate

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
app
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

nix-delegate

This is a command-line utility that you can use to run a subcommand with distributed builds transiently enabled:

$ nix-delegate --help
Usage: nix-delegate --host ARG ([--x86_64-linux] | [--x86_64-darwin])
                    [--key ARG] [--cores ARG] [--feature ARG] COMMAND [ARGS]
  Run a subcommand with distributed builds transiently enabled

Available options:
  --host ARG               Machine to use as a build slave
  --key ARG                Path to SSH private key (Default: ~/.ssh/id_rsa)
  --cores ARG              Number of cores to use (Default: 1)
  --feature ARG            Supported system features
  COMMAND                  Command to delegate (if 'nix-build', sudo will be
                           used if $NIX_REMOTE=daemon)
  -h,--help                Show this help text

The first positional argument is the command to run with distributed builds transiently enabled (in this example, nix-build). All options, flags, or arguments immediately following the first positional argument are collected and fed to the command.

Example:

$ nix-delegate --host parnell@jenkins-slave-nixos01 --cores 4 --x86_64-linux --key /home/parnell/.ssh/awake nix-build --no-out-link -A shipit release.nix
[+] Downloading: /etc/nix/signing-key.sec
[+] Installing: /etc/nix/signing-key.sec
[+] Downloading: /etc/nix/signing-key.pub
[+] Installing: /etc/nix/signing-key.pub
[+] Running command: sudo nix-build --no-out-link -A shipit release.nix
[+] Full command context: sudo NIX_BUILD_HOOK=/nix/store/jj3kq2dmllvkqwwbhnmzbk9hfgncdbvl-nix-1.11.6/libexec/nix/build-remote.pl
...
/nix/store/wwrrkwzhq43c22if31d65qikslmvivyc-shipit-1.0.0

If you are on a system with the nix-daemon running and you are not root, this utility will detect if your nix-build work is handled by the nix-daemon and if nix-build is supplied in the first positional argument then sudo will be automatically prepended to the command.

Any other commands supplied are not auto-prefixed with sudo.

About

Convenient utility for distributed Nix builds

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published