type = "app";
program = "${self.packages.${system}.default}/bin/chirp";
};
- })
- // {
- nixosModules.default = { config, lib, pkgs, ... }: {
- options.services.chirp = {
- enable = lib.mkEnableOption "Enable Chirp";
-
- port = lib.mkOption {
- type = lib.types.port;
- default = 8080;
- description = "Port to listen on";
- };
- };
-
- config = lib.mkIf config.services.chirp.enable {
- systemd.services.chirp = {
- description = "Chirp SystemD Service";
- wantedBy = ["multi-user.target"];
- after = ["network.target"];
- serviceConfig = {
- ExecStart = "${self.packages.${pkgs.system}.default}/bin/chirp";
- Restart = "always";
- Type = "simple";
- DynamicUser = "yes";
- };
- environment = {
- PORT = toString config.services.chirp.port;
- };
- };
- };
- };
- };
+ });
}