60 lines
1.2 KiB
Nix
60 lines
1.2 KiB
Nix
{ config, options, lib, pkgs, ... }:
|
|
with lib;
|
|
let
|
|
# cfg = config.services.archivebox;
|
|
dataDir = "/var/lib/archivebox";
|
|
user = "archivebox";
|
|
port = "8123";
|
|
in
|
|
{
|
|
systemd.services.archivebox-install = {
|
|
description = "archivebox install service";
|
|
wantedBy = [ "multi-user.target" ];
|
|
path = with pkgs; [ coreutils archivebox ];
|
|
|
|
serviceConfig = {
|
|
User = user;
|
|
Type = "oneshot";
|
|
RemainAfterExit = "yes";
|
|
PermissionsStartOnly = true;
|
|
};
|
|
|
|
preStart = ''
|
|
mkdir -p "${dataDir}"
|
|
chown ${user} "${dataDir}"
|
|
'';
|
|
|
|
script = ''
|
|
echo "Setting up wallabag files in ${dataDir} ..."
|
|
cd "${dataDir}"
|
|
|
|
archivebox init
|
|
'';
|
|
};
|
|
|
|
systemd.services.archivebox-server = {
|
|
description = "archivebox server service";
|
|
wantedBy = [ "multi-user.target" ];
|
|
path = with pkgs; [ coreutils archivebox ];
|
|
|
|
serviceConfig = {
|
|
User = user;
|
|
Type = "oneshot";
|
|
RemainAfterExit = "yes";
|
|
PermissionsStartOnly = true;
|
|
};
|
|
|
|
preStart = ''
|
|
mkdir -p "${dataDir}"
|
|
chown ${user} "${dataDir}"
|
|
'';
|
|
|
|
script = ''
|
|
echo "Setting up wallabag files in ${dataDir} ..."
|
|
cd "${dataDir}"
|
|
|
|
archivebox server 0.0.0.0:${port}
|
|
'';
|
|
};
|
|
}
|