diff --git a/README.md b/README.md index 14e047b..0bec688 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,8 @@ inputs.actualbudget-report.url = "git+https://git.wanderingcrow.net/TheWandering Then in your configuration (using sops-nix, you will need to adjust it if you use agenix or alternatives): ```nix +nixpkgs.overlays = [ inputs.actualbudget-report.overlays.default ]; + imports = [ inputs.actualbudget-report.nixosModules.default; ]; diff --git a/flake.nix b/flake.nix index 5caf0c0..29ec137 100644 --- a/flake.nix +++ b/flake.nix @@ -7,44 +7,52 @@ }; outputs = - inputs@{ flake-parts, ... }: - flake-parts.lib.mkFlake { inherit inputs; } { - systems = [ - "x86_64-linux" - "aarch64-linux" - "aarch64-darwin" - "x86_64-darwin" - ]; - flake.nixosModules = { - default = ./modules/actualbudget-report; - }; - perSystem = - { - config, - self', - inputs', - pkgs, - system, - ... - }: - { - packages.default = pkgs.buildGoModule { - name = "actualbudget-report"; - src = pkgs.fetchFromGitea { - domain = "git.wanderingcrow.net"; - owner = "TheWanderingCrow"; - repo = "actualbudget-report"; - rev = "v0.1"; - hash = "sha256-1Z3+Efx0MCsZhfz49nKsdaWgyVt9+7kekwgfQyaYUxQ="; + inputs@{ + self, + flake-parts, + ... + }: + flake-parts.lib.mkFlake + { + inherit inputs; + } + { + imports = [ inputs.flake-parts.flakeModules.easyOverlay ]; + systems = [ + "x86_64-linux" + "aarch64-linux" + "aarch64-darwin" + "x86_64-darwin" + ]; + flake.nixosModules.default = ./modules/actualbudget-report; + perSystem = + { + config, + self', + inputs', + pkgs, + system, + ... + }: + { + overlayAttrs = { inherit (config.packages) actualbudget-report; }; + packages.actualbudget-report = pkgs.buildGoModule { + name = "actualbudget-report"; + src = pkgs.fetchFromGitea { + domain = "git.wanderingcrow.net"; + owner = "TheWanderingCrow"; + repo = "actualbudget-report"; + rev = "v0.1"; + hash = "sha256-1Z3+Efx0MCsZhfz49nKsdaWgyVt9+7kekwgfQyaYUxQ="; + }; + vendorHash = "sha256-NHTKwUSIbNCUco88JbHOo3gt6S37ggee+LWNbHaRGEs="; + }; + devShells.default = pkgs.mkShell { + ENVIRONMENT = "dev"; + nativeBuildInputs = with pkgs; [ + devenv + ]; }; - vendorHash = "sha256-NHTKwUSIbNCUco88JbHOo3gt6S37ggee+LWNbHaRGEs="; }; - devShells.default = pkgs.mkShell { - ENVIRONMENT = "dev"; - nativeBuildInputs = with pkgs; [ - devenv - ]; - }; - }; - }; + }; } diff --git a/modules/actualbudget-report/default.nix b/modules/actualbudget-report/default.nix index d3e3763..c856982 100644 --- a/modules/actualbudget-report/default.nix +++ b/modules/actualbudget-report/default.nix @@ -1,8 +1,8 @@ { + pkgs, config, options, lib, - pkgs, ... }: let @@ -10,8 +10,8 @@ let opt = options.services.actualbudget-report; inherit (lib) mkEnableOption - mkOption mkPackageOption + mkOption mkIf types ; @@ -20,12 +20,12 @@ in options = { services.actualbudget-report = { enable = mkEnableOption "Actualbudget email reports"; - package = mkPackageOption pkgs.default; - interval = { + interval = mkOption { type = types.str; default = "Sun 12:00:00"; description = "systemd-timer OnCalendar legal string for sending reports."; }; + package = mkPackageOption pkgs "actualbudget-report" { }; environmentFile = mkOption { type = types.path; default = ""; @@ -39,11 +39,11 @@ in description = "Actualbudget report sender service"; serviceConfig = { Type = "oneshot"; - ExecStart = "${cfg.package}/bin/actualbudget-report"; + ExecStart = "${pkgs.actualbudget-report}/bin/actualbudget-report"; EnvironmentFile = cfg.environmentFile; }; }; - systemd.timers.flamesite-backup = { + systemd.timers.actualbudget-report = { enable = true; wantedBy = [ "timers.target" ]; timerConfig = {