This commit is contained in:
Stuce 2025-11-16 12:21:16 +01:00
parent b083d7134a
commit 0c7d1d1cb7

132
flake.nix
View file

@ -33,71 +33,71 @@
maintainers = with pkgs.lib.maintainers; [ stuce-bot ]; maintainers = with pkgs.lib.maintainers; [ stuce-bot ];
}; };
}; };
nixosModules.default = { config, lib, ... }:
let cfg = config.services.deafault;
in {
options.default = {
enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Enable myService";
};
config = lib.mkOption {
type = lib.types.attrs;
default = {
calDAV = {
address = "localhost:5232";
username = "username";
password = "password";
passwordFile = "/path/to/password";
};
server = { port = 8000; };
};
description = "User-defined configuration for the service";
};
};
# options.NixosModule = {
# enable = lib.mkEnableOption "Enable calDAVtoCSV service";
# port = lib.mkOption {
# type = lib.types.int;
# default = 8000;
# description = "Port on which calDAVtoCSV will listen";
# };
# url = lib.mkOption {
# type = lib.types.str;
# description = "url of the calendar";
# };
# calendarUsername = lib.mkOption {
# type = lib.types.str;
# description = "username of the calendar account";
# };
# calendarName = lib.mkOption {
# type = lib.types.str;
# description =
# "name of the calendar we will fetch the todo items from";
# };
# calendarPasswordFile = lib.mkOption {
# type = lib.types.str;
# description =
# "file where we need to look for password to connect, needs to be readeable by the service user";
# };
# };
config = lib.mkIf config.default.enable {
environment.etc."config.ini".text = ''
${lib.toIni config.default.config}
'';
systemd.services.default = {
description = "calDAV to CSV Service";
after = [ "network.target" ];
serviceConfig = {
ExecStart =
"${pkgs.python3.pkgs.gunicorn}/bin/gunicorn -w 1 -b 0.0.0.0:${cfg.port} main:app";
Restart = "on-failure";
};
wantedBy = [ "multi-user.target" ];
};
};
};
}); });
nixosModules.default = { config, lib, pkgs, ... }:
let cfg = config.services.deafault;
in {
options.default = {
enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Enable myService";
};
config = lib.mkOption {
type = lib.types.attrs;
default = {
calDAV = {
address = "localhost:5232";
username = "username";
password = "password";
passwordFile = "/path/to/password";
};
server = { port = 8000; };
};
description = "User-defined configuration for the service";
};
};
# options.NixosModule = {
# enable = lib.mkEnableOption "Enable calDAVtoCSV service";
# port = lib.mkOption {
# type = lib.types.int;
# default = 8000;
# description = "Port on which calDAVtoCSV will listen";
# };
# url = lib.mkOption {
# type = lib.types.str;
# description = "url of the calendar";
# };
# calendarUsername = lib.mkOption {
# type = lib.types.str;
# description = "username of the calendar account";
# };
# calendarName = lib.mkOption {
# type = lib.types.str;
# description =
# "name of the calendar we will fetch the todo items from";
# };
# calendarPasswordFile = lib.mkOption {
# type = lib.types.str;
# description =
# "file where we need to look for password to connect, needs to be readeable by the service user";
# };
# };
config = lib.mkIf config.default.enable {
environment.etc."config.ini".text = ''
${lib.toIni config.default.config}
'';
systemd.services.default = {
description = "calDAV to CSV Service";
after = [ "network.target" ];
serviceConfig = {
ExecStart =
"${pkgs.python3.pkgs.gunicorn}/bin/gunicorn -w 1 -b 0.0.0.0:${cfg.port} main:app";
Restart = "on-failure";
};
wantedBy = [ "multi-user.target" ];
};
};
};
} }