Add a module to configure kitchen with

This commit is contained in:
Jeremy Wall 2022-02-28 16:31:05 -05:00
parent 3c812a737f
commit 2efbe2dacf
3 changed files with 34 additions and 0 deletions

View File

@ -43,6 +43,7 @@
;
};
defaultPackage = kitchen;
nixosModules.kitchen = import ./nix/kitchen/module.nix;
}
);
}

32
nix/kitchen/module.nix Normal file
View File

@ -0,0 +1,32 @@
{config, lib, pkgs, ...}:
with lib;
{
options = {
services.kitchen.enable = mkEnableOption "Activates the kitchen recipe/shopping service";
services.kitchen.listenSocket = mkOption {
description = "Listen socket for the kitchen service";
default = "0.0.0.0:9003";
defaultText = "0.0.0.0:9003";
};
};
config = mkIf config.services.kitchen.enable {
nixpkgs.overlays = [
(final: prev: {
kitchen = (import ../packages/kitchen/package.nix) { inherit pkgs; };
recipes = (import ../packages/recipes/package.nix) { inherit pkgs; };
})
];
systemd.services.kitchen = {
wantedBy = [ "multi-user.target" "default.target" ];
wants = [ "network.target" ];
after = [ "networ-online.target" ];
serviceConfig = {
restart = "on-failure";
restartSec = "10s";
ExecStart = "${self.packages."${system}".kitchen}/bin/kitchen serve --listen ${config.services.kitchen.listenSocket} --dir ${pkgs.recipes}";
};
};
};
}

1
result Symbolic link
View File

@ -0,0 +1 @@
/nix/store/vyw5rbm7vqyzp27b1a2c2s4x6vfdn4xa-rust-workspace-0.2.1