Skip to content
No description, website, or topics provided.
Go Vue Python CSS JavaScript Shell Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
build
cmd
data
guest-tools
images
internal
misc
packaging/fedora
utils
web
.editorconfig
.firebaserc
.gitignore
.gn
BUILD.gn
LICENSE
README.md
firebase.json
go.mod
go.sum

README.md

nsbox

nsbox is a multi-purpose, nspawn-powered container manager. Please see the website for more user-friendly information and documentation.

Build dependencies

You need:

  • Google's GN to generate the build files. Building this from source is pretty simple, see the instructions on the site for more info.
  • Ninja to actually...build stuff.
  • The Go compiler.
  • GCC or Clang for compiling cgo code.
  • Python 3, which is used to run some of the build scripts.
  • The systemd development headers.

Building the code

Run:

$ go mod vendor
$ gn gen out
$ ninja -C out

The resulting files should all be under out/install. Then, you can run build/install.py out to install to /usr/local (or set --prefix and/or --destdir, with the usual meanings).

Build configuration

Run gn args --list out to see all the configuration arguments nsbox supports. You can use these options to set the saved paths (e.g. the libexec directory) to your distro's preferred locations.

Building the website

Run:

$ cd web
$ yarn
# Run a development web server:
$ yarn run dev
# Build the production docs:
$ yarn run build

Updating the theme

$ git -C VUEPRESS/packages/@vuepress/theme-default diff --relative v.PREV ':(exclude)__tests__' |\
  git apply --reject --directory web/.vuepress/theme
You can’t perform that action at this time.