From 99861009450dc880e888c6b504654721d80f07f1 Mon Sep 17 00:00:00 2001 From: xinyangli Date: Sat, 2 Dec 2023 01:33:20 +0800 Subject: [PATCH] move restic to nixosModules --- flake.nix | 3 ++- machines/calcite/configuration.nix | 2 +- modules/nixos/default.nix | 5 ++++- {machines => modules/nixos}/restic.nix | 5 +++-- 4 files changed, 10 insertions(+), 5 deletions(-) rename {machines => modules/nixos}/restic.nix (87%) diff --git a/flake.nix b/flake.nix index 0c61577..22af664 100644 --- a/flake.nix +++ b/flake.nix @@ -46,6 +46,7 @@ inherit system; specialArgs = specialArgs // { inherit inputs system; }; modules = [ + self.nixosModules.default home-manager.nixosModules.home-manager nur.nixosModules.nur ] ++ modules; @@ -53,7 +54,7 @@ evalSecrets = import ./eval_secrets.nix; in { - nixosModules = import ./modules/nixos; + nixosModules.default = import ./modules/nixos; homeManagerModules = import ./modules/home-manager; colmena = { diff --git a/machines/calcite/configuration.nix b/machines/calcite/configuration.nix index d19bcd0..92dc4ca 100644 --- a/machines/calcite/configuration.nix +++ b/machines/calcite/configuration.nix @@ -7,7 +7,6 @@ ./hardware-configuration.nix ./network.nix ../sops.nix - ../restic.nix ]; # Bootloader. @@ -247,6 +246,7 @@ sopsFile = ./secrets.yaml; }; }; + custom.restic.enable = true; custom.restic.repositoryFile = config.sops.secrets.restic_repo_calcite.path; custom.restic.passwordFile = config.sops.secrets.restic_repo_calcite_password.path; diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 077404a..1759f2f 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -1,3 +1,6 @@ +{ config, pkgs, ... }: { - + imports = [ + ./restic.nix + ]; } \ No newline at end of file diff --git a/machines/restic.nix b/modules/nixos/restic.nix similarity index 87% rename from machines/restic.nix rename to modules/nixos/restic.nix index 1e8c763..178d599 100644 --- a/machines/restic.nix +++ b/modules/nixos/restic.nix @@ -5,18 +5,19 @@ in { options = { custom.restic = { + enable = lib.mkEnableOption "restic"; repositoryFile = lib.mkOption { type = lib.types.str; default = ""; }; - passwordFile = lib.mkOption { + passwordFile = lib.mkOption { type = lib.types.str; default = ""; }; }; }; config = { - services.restic.backups = { + services.restic.backups = lib.mkIf cfg.enable { remotebackup = { repositoryFile = cfg.repositoryFile; passwordFile = cfg.passwordFile;