2021-05-17 07:41:58 +00:00
|
|
|
# Installation (NixOS)
|
|
|
|
## Install methods
|
|
|
|
### Declarative Nix
|
|
|
|
To install with nix, create a `.nix` file like this and import it to your `configuration.nix` :
|
|
|
|
```nix
|
|
|
|
{ config, pkgs, ... }:
|
|
|
|
|
|
|
|
let
|
|
|
|
archbox = pkgs.stdenv.mkDerivation rec {
|
|
|
|
name = "archbox";
|
|
|
|
src = pkgs.fetchFromGitHub {
|
|
|
|
owner = "your_user_here";
|
|
|
|
repo = "archbox";
|
|
|
|
rev = "rev_here";
|
|
|
|
sha256 = "rev_sha256_here";
|
|
|
|
};
|
|
|
|
sourceRoot = ".";
|
|
|
|
installPhase = ''
|
|
|
|
mkdir -p $out
|
|
|
|
cd source
|
|
|
|
export FORCE_INSTALL_CONFIG=1
|
|
|
|
export ETC_DIR=$out/etc
|
|
|
|
export PREFIX=$out
|
|
|
|
export ARCHBOX_USER=your_user_here
|
|
|
|
export MOUNT_RUN=no
|
|
|
|
${pkgs.bash}/bin/bash install.sh
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
in
|
|
|
|
{
|
|
|
|
environment.systemPackages = [ archbox ];
|
|
|
|
environment.etc = {
|
|
|
|
"archbox.conf" = {
|
|
|
|
source = "${archbox}/etc/archbox.conf";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|
|
|
|
```
|
2021-05-17 07:44:51 +00:00
|
|
|
Replace `your_user_here`, `rev_here`, and `rev_sha256_here`. to get rev and sha256 you can do :
|
|
|
|
```sh
|
|
|
|
nix-shell -p nix-prefetch-git
|
|
|
|
nix-prefetch-git --url https://github.com/lemniskett/archbox.git
|
|
|
|
```
|
|
|
|
|
2021-05-17 07:41:58 +00:00
|
|
|
Configuration can be done by modifying `installPhase` e.g. :
|
|
|
|
```sh
|
|
|
|
mkdir -p $out
|
|
|
|
cd source
|
|
|
|
export FORCE_INSTALL_CONFIG=1
|
|
|
|
export ETC_DIR=$out/etc
|
|
|
|
export PREFIX=$out
|
|
|
|
export ARCHBOX_USER=lemni
|
|
|
|
export MOUNT_RUN=no
|
|
|
|
export ENV_VAR="TERM=foot"
|
|
|
|
export SHARED_FOLDER=( /home /var/www )
|
|
|
|
${pkgs.bash}/bin/bash install.sh
|
|
|
|
```
|
|
|
|
### Regular Installation
|
|
|
|
See [INSTALL.md](INSTALL.md)
|
|
|
|
## Issues
|
|
|
|
See [issues](https://github.com/lemniskett/archbox/#nixos-specific-issues)
|