From ad064dfb954a815f1e5175ab42033fc9e1fb6d02 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Sun, 12 May 2024 23:24:03 +0200 Subject: build: export nixos module and overlay --- nix/modules/default.nix | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'nix/modules/default.nix') diff --git a/nix/modules/default.nix b/nix/modules/default.nix index 6e2c86b..e0544a6 100644 --- a/nix/modules/default.nix +++ b/nix/modules/default.nix @@ -1,3 +1,4 @@ +flake: { config , lib , pkgs @@ -7,7 +8,7 @@ let cfg = config.services.searchix; - package = (import ../.. { inherit pkgs; }).searchix; + package = flake.packages.${pkgs.system}.default; settingsFormat = pkgs.formats.toml { }; @@ -133,7 +134,9 @@ in default = "${cfg.homeDir}/data"; }; sources = mkOption { - type = with types; attrsOf (submodule (import ./source-options.nix { inherit cfg; })); + type = with types; attrsOf (submodule (import ./source-options.nix { + inherit cfg settingsFormat; + })); default = { nixos.enable = true; darwin.enable = false; @@ -149,17 +152,18 @@ in }; config = mkIf cfg.enable { - nixpkgs.overlays = [ - (import "${(import ../sources.nix).gomod2nix}/overlay.nix") - ]; - systemd.services.searchix-importer = { description = "Searchix option importer"; - unitConfig.Conflicts = [ "searchix-web" ]; + conflicts = [ "searchix-web.service" ]; + before = [ "searchix-web.service" ]; path = with pkgs; [ nix ]; serviceConfig = defaultServiceConfig // { ExecStart = "${package}/bin/import"; Type = "oneshot"; + + RestartSec = 10; + RestartSteps = 5; + RestartMaxDelaySec = "5 min"; }; environment = env; startAt = cfg.dates; @@ -175,6 +179,7 @@ in systemd.services.searchix-web = { description = "Searchix Nix option search"; after = [ "searchix-importer.service" ]; + wants = [ "searchix-importer.service" ]; wantedBy = [ "multi-user.target" ]; environment = env; serviceConfig = defaultServiceConfig // { -- cgit 1.4.1