borg service example
This commit is contained in:
parent
bf0e76a38e
commit
ad3c5b659e
51
service.nix
Normal file
51
service.nix
Normal file
|
@ -0,0 +1,51 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
src = ./.;
|
||||
in {
|
||||
users.users.gc-of-borg = {
|
||||
description = "GC Of Borg Workers";
|
||||
home = "/var/lib/gc-of-borg";
|
||||
createHome = true;
|
||||
group = "gc-of-borg";
|
||||
uid = 402;
|
||||
};
|
||||
users.groups.gc-of-borg.gid = 402;
|
||||
|
||||
systemd.services = {
|
||||
"grahamcofborg-builder" = {
|
||||
enable = true;
|
||||
after = [ "network.target" "network-online.target" ];
|
||||
wants = [ "network-online.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
path = with pkgs; [
|
||||
nix
|
||||
git
|
||||
php
|
||||
curl
|
||||
bash
|
||||
];
|
||||
|
||||
serviceConfig = {
|
||||
User = "gc-of-borg";
|
||||
Group = "gc-of-borg";
|
||||
PrivateTmp = true;
|
||||
WorkingDirectory = "/var/lib/gc-of-borg";
|
||||
Restart = "always";
|
||||
};
|
||||
|
||||
preStart = ''
|
||||
mkdir -p ./.nix-test
|
||||
'';
|
||||
|
||||
script = ''
|
||||
export HOME=/var/lib/gc-of-borg;
|
||||
export NIX_REMOTE=daemon;
|
||||
export NIX_PATH=nixpkgs=/run/current-system/nixpkgs;
|
||||
git config --global user.email "graham+cofborg@grahamc.com"
|
||||
git config --global user.name "GrahamCOfBorg"
|
||||
php ${src}/builder.php
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue