vpsAdminOS uses Nix configuration language. It reuses a number of NixOS modules for system configuration and also adds some of its own. The full list of supported options can be found in the OS reference documentation.
Default and example configs are included in
The simplest way to start with vpsAdminOS is to clone its repository and
put your configuration in
os/configs/local.nix, which you can base on
local.nix is imported with
make qemu automatically
if it exists.
Another option is to put path to your config to environment variable
export VPSADMINOS_CONFIG=/where/is/your/config.nix make qemu
It is possible to built the
os with images for containers to be imported and
started on boot by
osctld. For examples see
This functionality is experimental and mostly used for testing.
Explicit configuration and dependencies
Most of the
make targets are just wrappers for
nix-build. It is possible
to build the
os by specifying required arguments directly without relying on
nixops or setting the correct
NIX_PATH. The following example demonstrates
how to build the
os directly without
cd os nix-build \ --arg configuration /where/is/your/config.nix \ --arg nixpkgs "../../nixpkgs" \ --cores 0
configuration can also be passed via environmental variable
so this is equivalent:
cd os export VPSADMINOS_CONFIG=/where/is/your/config.nix nix-build \ --arg nixpkgs "../../nixpkgs" \ --cores 0
VPSADMINOS_CONFIG has to be an absolute path.