Skip to content

Configuration and Administration

You can configure your nixbuild.net account using either an SSH-based terminal shell, or using the web UI that you can log in to at nixbuild.net.

The web UI is still limited in its functionality, but you can use it to get started, manage your SSH keys and create access tokens. You can also see information about the builds you've run.

The nixbuild.net Shell

nixbuild.net has a terminal-based adminstration shell accessible over SSH, that you can login to like this:

ssh eu.nixbuild.net shell

By default, the SSH key you used when registering is used both for performing Nix builds and for accessing the administration shell. You can, however, add more SSH keys to your account and give the keys different permissions within your account. It doesn't matter what user name you connect with, only your SSH key will be checked. The same SSH keys can't be added to multiple nixbuild.net accounts.

The nixbuild.net shell doesn't yet have support for command history or many other features that you could expect from a proper shell. However, you can use the rlwrap program to mitigate this:

rlwrap ssh eu.nixbuild.net shell

This will make things like Up/Down arrow keys and CTRL-R work as you would expect.

The greeting screen showed each time you log in to the shell also includes a list of all top-level commands, and instructions on how the help system works:

••••••••••••••••••••••••••••
••••••• nixbuild.net •••••••
••••••••••••••••••••••••••••

Welcome to nixbuild.net!

This shell allows you to administer your account
and retrieve information about your nix builds.

Account id: IIERI7
Unbilled CPU hours: 0
Free build time left: 49:59:59

Available shell commands:

  help         Show help
  settings     Configure account or SSH key
               settings
  usage        Show resource usage
  ssh-keys     Manage your public SSH keys
  billing      Billing activation and info
  tokens       Manage auth tokens
  builds       Manage builds

Run 'help COMMAND' for help on individual shell commands.
For help on subcommands run 'COMMAND SUBCOMMAND --help'.
For more documentation, see:
https://docs.nixbuild.net/configuration

Account Usage

To see how much you've been using nixbuild.net, run the usage command:

nixbuild.net> usage

Resources used since 2021-03-01
--------------------
Build count       : 51
Successful builds : 51
Wall time         : 5.79 s
CPU time          : 6.26 s

The usage metrics only includes non-discarded builds and includes any free build time consumed.
To find out your currently accumulated cost, or see past invoices, use the 'billing info' command.

By default, the usage command will show your usage during the current month. You can also show the previous month's usage with the -l option and the total usage with the -t option:

nixbuild.net> usage -h
usage - Show resource usage

Usage: usage [(-t|--total) | (-l|--last-month) | (-m|--this-month)]

Available options:
  -t,--total               Show total usage
  -l,--last-month          Show last month's usage
  -m,--this-month          Show this month's usage (default)
  -h,--help                Show this help text

To get information on how much money you've spent on builds, use the billing commands.

Settings

You can manage your nixbuild.net settings with the settings command.

Show all account settings by running settings --show:

nixbuild.net> settings --show
Account settings
----------------
  access-tokens             <no entries>
  always-substitute         true
  caches                    <no entries>
  inject-fs-randomness      false
+ keep-builds-running       true
  max-cpu-hours-per-month   2000
  reuse-build-failures      true
  reuse-build-timeouts      false
  substituters              https://cache.nixos.org
  trusted-public-keys       cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  settings-from-drv-env false
  settings-from-ssh-env true

Settings with a '+' sign have been assigned a value, others are using system defaults.

Set, get and reset individual settings with settings <SETTING>:

nixbuild.net> settings keep-builds-running --set true

nixbuild.net> settings keep-builds-running --show
keep-builds-running true

nixbuild.net> settings keep-builds-running --reset

nixbuild.net> settings keep-builds-running --show
keep-builds-running false

Complex settings like lists have the options --add and --remove instead of --set.

You can define settings that is only used when a specific SSH key is used for accessing nixbuild.net. Those settings will then override the account-level settings. To set key-specific settings add the option --ssh-key <key id> to the settings commands. The you can list your SSH key ids with the ssh-keys list command (the key id is the last column).

You can revert all account settings by running settings --reset. Note that this doesn't revert any of the settings you might have configured for individual SSH keys. To revert key-specific settings, run settings --ssh-key <key id> --reset.

SSH Keys

You can list, add and remove ssh keys associated with your account using the ssh-keys command:

Usage: ssh-keys COMMAND

  Manage your public SSH keys

Available options:
  -h,--help                Show this help text

Available commands:
  list                     List the public SSH keys identifying your
                           account
  add                      Add a public SSH key to your account
  remove                   Remove a public SSH key from your account

NOTE: Settings for SSH keys are no longer configured here, use the
'settings' commands with the '--ssh-key' option instead.

Billing

The billing commands let you manage billing for your account:

nixbuild.net> billing --help
billing - Billing activation and info

Usage: billing SUBCOMMAND

Available options:
  -h,--help                Show this help text

Available subcommands:
  activate                 Enable non-free usage
  edit                     Edit your credit card details
  info                     Display billing details

To be able to use nixbuild.net beyond the initial free build hours you need to enable billing by running billing activate. You can do this at any time, and as soon as you've done it your account will be able to run non-free builds. If you run out of free build hours before you have activated billing, you will not be able to run any more builds. As soon as you activate billing, you will be able to run builds again.

When activating billing, you will be directed to a Stripe-hosted web page where you can enter your billing address and credit card details. When running billing activate you need to provide your company name or full name (for personal accounts) like this:

nixbuild.net> billing activate Acme LLC

Billing has been activated for your account.
You will now be able to use nixbuild.net beyond your free CPU hours.
If you still have free CPU hours left, you will not be charged until they have been used up.

IMPORTANT: Visit the time-limited url below to enter your credit card details and billing address.

https://billing.stripe.com/session/_J7U1XtINfG0dMoQayAJegz3kcfSsryu

If you want to change your payment method after the above url has expired, use the command 'billing edit'.
If you need to make any other billing changes, please contact [email protected].
If you fail to provide valid billing details your account may be locked.

If you need to change your credit card details at any time, you can use the billing edit command. If you need to change any other billing details, you must contact [email protected].

The billing info command lets you see the amount of the upcoming invoice, as well as past invoices.

List Builds

Use the command builds list -r to list your currently running builds:

nixbuild.net> builds list -r
70196 2020-08-23 21:05:10Z 3.21 s 1 CPU [In queue]
      /nix/store/ky3fzyaw0hibjpkpyx8s89fhaprxhrba-zlib-1.2.11.drv

70195 2020-08-23 21:05:10Z 3.66 s 1 CPU [In queue]
      /nix/store/k8ir9nqbqhlriqs6r97vi19im5rn9nkd-xz-5.2.5.drv

70194 2020-08-23 21:05:09Z 3.40 s 4 CPUs [Running]
      /nix/store/5k1i3j15dzqkf8rcga0ap7fjk1q7xj9a-perl-5.30.3.drv

70193 2020-08-23 21:05:08Z 4.18 s 2 CPUs [Running]
      /nix/store/7cgb9m0dm9facpzqbyfkz1i0snd2n1y7-gnum4-1.4.18.drv

Remove the -r option to also show historic builds. By default, at most 500 builds are listed, but that can be adjusted with the -l option.