# nitro@ : nitro user services I heard you like nitro, so how about sharing a bit with your users? This runs nitro in a way that users can run their own services (as themselves), and does not depend on a seat manager. When symlinked as `nitro@username`, will run a user service nitro daemon for `username`. You can configure things for all users via `./conf`, or for a particular user via `./conf.username`. Here are the settings you can set / may want to set: * `$HOME`: you can override the user's home directory. This is only ever used to define `CONFDIR`, but you might want to set this to something in /media for example. It is also exported, so they may be affected by this. * `$CONFDIR`: the nitro config dirctory for the user (equivalent of /etc/nitro). Defaults to `$HOME/.config/nitro`. * `$SOCKET_PREFIX`: where to place the user's runtime directory, if any. Basically the `/run/user` prefix for default `$SOCKDIR`. Note that this is sensitive! `unitroctl` won't know if you change this, so changing this (or `$SOCKDIR`) will require that the user manually set `$NITRO_SOCK`. * `$SOCKDIR`: the parent directory for nitro's runtime directory. For example, if `$NITRO_SOCK` will be `/foo/bar/nitro/nitro.sock`, then this is `/foo/bar`. `$NITRO_SOCK` is not configurable (though you can always edit it in!). Defaults to `${SOCKET_PREFIX:-/run/user}/$UID`. * `$CHPSTUSER`: what to pass to chpst's `-u` argument. Defaults to `:$(id -u $USER):$(id -G $USER)`, so for UID 1000 GID 1000 supplementary groups 1, 2, 3, this will be `:1000:1000:1:2:3`. Importantly, this is not sanity-checked, so you could run a daemon with an extra (or fewer) user groups. There are a couple of failure conditions. By default, ./setup is written in such a way as to continually retry if any of them are hit. See ./setup for more details. While users (or even you via the system profile) can set `$NITRO_SOCK` ahead of time to an appropriate value, the `unitroctl` script exists in case you didn't change either socket default.