straylight: build tracker from git input
This commit is contained in:
+11
-15
@@ -1,28 +1,24 @@
|
||||
# tracker: single-host project tracker web app (hackerman edition).
|
||||
# Wraps the prebuilt Go binary in ./tracker-bin; rebuild it with
|
||||
# CGO_ENABLED=0 go build -o tracker-bin .
|
||||
{ config, lib, pkgs, ... }:
|
||||
# Built from the git repo (https://git.wntrmute.dev/kyle/tracker) via the
|
||||
# `tracker` flake input; see the flake.nix in that repo for the package.
|
||||
{ config, lib, pkgs, inputs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.tracker;
|
||||
|
||||
trackerPackage = pkgs.stdenvNoCC.mkDerivation {
|
||||
pname = "tracker";
|
||||
version = "0.1.0";
|
||||
src = ./tracker-bin;
|
||||
dontUnpack = true;
|
||||
dontBuild = true;
|
||||
installPhase = ''
|
||||
install -Dm755 $src $out/bin/tracker
|
||||
'';
|
||||
};
|
||||
in
|
||||
{
|
||||
options.services.tracker = {
|
||||
enable = mkEnableOption "tracker project tracker web app";
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = inputs.tracker.packages.x86_64-linux.default;
|
||||
defaultText = literalExpression "inputs.tracker.packages.x86_64-linux.default";
|
||||
description = "The tracker package to use.";
|
||||
};
|
||||
|
||||
address = mkOption {
|
||||
type = types.str;
|
||||
default = ":8420";
|
||||
@@ -53,7 +49,7 @@ in
|
||||
User = "tracker";
|
||||
Group = "tracker";
|
||||
StateDirectory = "tracker";
|
||||
ExecStart = "${trackerPackage}/bin/tracker -addr ${cfg.address} -db /var/lib/tracker/tracker.db";
|
||||
ExecStart = "${cfg.package}/bin/tracker -addr ${cfg.address} -db /var/lib/tracker/tracker.db";
|
||||
Restart = "on-failure";
|
||||
RestartSec = 5;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user