1
0
Fork 0
nixos-config/nixos/roles/laminar/projects.nix
Malte Brandy 57123b08e1 Reformat
2022-03-08 02:42:46 +01:00

33 lines
998 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."
echo "Running 'flake check'"
${pkgs.nixFlakes}/bin/flix flake check
echo "Building 'defaultPackage' from '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";
};
}