1
0
Fork 0
nixos-config/nixos/roles/laminar/projects.nix
2021-12-27 17:02:07 +01:00

26 lines
836 B
Nix

{ pkgs, lib, config, ... }:
let
path = [ pkgs.git pkgs.nix pkgs.gnutar pkgs.gzip pkgs.openssh pkgs.laminar ];
mkJob = name: pkgs.writeShellScript "${name}.run" ''
set -e
export PATH=${lib.makeBinPath path}:$PATH
git clone git@localhost:${name} .
git show -q --oneline
export FLAGS="--builders @/etc/nix/machines -o /var/cache/gc-links/$JOB"
if [[ -e "flake.nix" ]]; then
echo "Flake detected. Using flake.nix"
${pkgs.nixFlakes}/bin/flix build .#defaultPackage.x86_64-linux $FLAGS
else
echo "Building default.nix"
nix-build $FLAGS
fi
'';
in
{
services.laminar.cfgFiles.jobs = {
"logfeed.run" = mkJob "logfeed";
"blog.run" = mkJob "blog";
"haskell-taskwarrior.run" = mkJob "haskell-taskwarrior";
"nix-output-monitor.run" = mkJob "nix-output-monitor";
};
}