Fix module
This commit is contained in:
12
flake.nix
12
flake.nix
@@ -13,13 +13,17 @@
|
|||||||
flake-utils,
|
flake-utils,
|
||||||
}:
|
}:
|
||||||
flake-utils.lib.eachDefaultSystem (system: let
|
flake-utils.lib.eachDefaultSystem (system: let
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
pkgs = import nixpkgs {inherit system;};
|
||||||
in {
|
in {
|
||||||
packages = rec {
|
packages = rec {
|
||||||
tauron-scrapper = pkgs.callPackage ./package.nix {};
|
tauron-scrapper = pkgs.callPackage ./package.nix {};
|
||||||
default = tauron-scrapper;
|
default = tauron-scrapper;
|
||||||
};
|
};
|
||||||
|
})
|
||||||
nixosModules.tauron-scrapper = pkgs.callPackage ./module.nix {inherit self;};
|
// {
|
||||||
});
|
nixosModules = rec {
|
||||||
|
tauron-scrapper = import ./module.nix self;
|
||||||
|
default = tauron-scrapper;
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
32
module.nix
32
module.nix
@@ -1,23 +1,35 @@
|
|||||||
{
|
self: {
|
||||||
config,
|
config,
|
||||||
coreutils-full,
|
pkgs,
|
||||||
formats,
|
|
||||||
system,
|
system,
|
||||||
utils,
|
|
||||||
lib,
|
lib,
|
||||||
self,
|
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
inherit (utils.systemdUtils.unitOptions) unitOption;
|
inherit (pkgs) coreutils-full formats;
|
||||||
cfg = config.services.tauron-scrapper;
|
cfg = config.services.tauron-scrapper;
|
||||||
yamlConfig = (formats.yaml {}).generate "tauron-scrapper-config.yaml" cfg.config;
|
yamlConfig = (formats.yaml {}).generate "tauron-scrapper-config.yaml" cfg.config;
|
||||||
in {
|
in {
|
||||||
options.services.tauron-scrapper = {
|
options.services.tauron-scrapper = {
|
||||||
enable = mkEnableOption "tauron-scrapper";
|
enable = mkEnableOption "tauron-scrapper";
|
||||||
|
|
||||||
|
cliArgs = mkOption {
|
||||||
|
type = types.attrs;
|
||||||
|
description = "List of CLI arguments. Do not put '-c' argument here as it will be automatically appended basing on the 'config' option.";
|
||||||
|
|
||||||
|
example = {
|
||||||
|
date = "$(date -d '5 days ago' '+%Y-%m-%d')";
|
||||||
|
to = "$(date -d 'yesterday' '+%Y-%m-%d')";
|
||||||
|
};
|
||||||
|
|
||||||
|
default = {
|
||||||
|
date = "$(date -d '5 days ago' '+%Y-%m-%d')";
|
||||||
|
to = "$(date -d 'yesterday' '+%Y-%m-%d')";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
config = mkOption {
|
config = mkOption {
|
||||||
type = types.attr;
|
type = types.attrs;
|
||||||
description = "The configuration of tauron-scrapper command";
|
description = "The configuration of tauron-scrapper command";
|
||||||
example = {
|
example = {
|
||||||
timezone = "Europe/Warsaw";
|
timezone = "Europe/Warsaw";
|
||||||
@@ -54,7 +66,7 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
timerConfig = mkOption {
|
timerConfig = mkOption {
|
||||||
type = types.nullOr (types.attrsOf unitOption);
|
type = types.attrs;
|
||||||
|
|
||||||
default = {
|
default = {
|
||||||
OnCalendar = "*-*-* 03:00";
|
OnCalendar = "*-*-* 03:00";
|
||||||
@@ -68,7 +80,7 @@ in {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
example = {
|
example = {
|
||||||
OnCalendar = "00:05";
|
OnCalendar = "*-*-* 00:05";
|
||||||
Persistent = true;
|
Persistent = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -93,7 +105,7 @@ in {
|
|||||||
path = [self.packages.${system}.tauron-scrapper coreutils-full];
|
path = [self.packages.${system}.tauron-scrapper coreutils-full];
|
||||||
|
|
||||||
script = ''
|
script = ''
|
||||||
tauron-scrapper -c ${yamlConfig} -d "$(date -d "yesterday" '+%Y-%m-%d')"
|
tauron-scrapper -c ${yamlConfig} ${lib.cli.toGNUCommandLineShell {} cfg.cliArgs}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user