diff --git a/modules/home-manager/programs/sops.nix b/modules/home-manager/programs/sops.nix index 9075f32..aa4248b 100644 --- a/modules/home-manager/programs/sops.nix +++ b/modules/home-manager/programs/sops.nix @@ -35,7 +35,9 @@ in (writeShellScriptBin "ls-secrets" "exec ${lib.getExe pkgs.eza} -alT --follow-symlinks ~/.config/sops-nix/secrets") ]; - programs.zsh.shellAliases.sops = "exec ${sopsBin} --config ${sopsConfigPath}"; + home.shellAliases = { + sops = "${sopsBin} --config ${sopsConfigPath}"; + }; imports = [ # This import makes the sops config attribute available below @@ -51,16 +53,14 @@ in sops = { defaultSopsFile = "${sopsSecretsPath}"; defaultSopsFormat = "yaml"; - - # Not sure any of these are necessary - # age.sshKeyPaths = [ "${config.sshIdentityFile}" ]; + age.sshKeyPaths = [ "${config.ssh.IdentityFile}" ]; # age.keyFile = "${ageKeyFile}"; # age.generateKey = true; - # secrets."api/gmail_client_secret" = { - # path = "${config.xdg.configHome}/resticprofile/dendrite.txt"; - # }; - + secrets."api/gmail_client_secret" = { + path = "${config.xdg.configHome}/resticprofile/dendrite.txt"; + }; + templates."gmail_creds" = { path = "${config.xdg.configHome}/sops-nix/gmail_api_credentials.json"; content = '' diff --git a/modules/hosts/john-pc-ubuntu.nix b/modules/hosts/john-pc-ubuntu.nix index 4af79b7..b689448 100644 --- a/modules/hosts/john-pc-ubuntu.nix +++ b/modules/hosts/john-pc-ubuntu.nix @@ -19,7 +19,7 @@ inputs.self.homeModules."john-pc-ubuntu" # Include another inline module to set the options created through the jsl-home modules - { + ({ config, ... }: { homeManagerFlakeDir = "~/.config/home-manager/jsl-dendritic"; docker.enable = true; ssh.matchSets = { @@ -28,8 +28,28 @@ homelab = true; }; shell.program = "zsh"; - programs.resticprofile.enable = true; - } + sops.secrets."restic_password/john_ubuntu" = { + path = "${config.xdg.configHome}/resticprofile/password.txt"; + }; + programs.resticprofile = { + enable= true; + profiles = { + default = { + "inherit" = "base"; + repository = "rest:https://soteria.john-stream.com/john-ubuntu"; + cacert = "${config.home.homeDirectory}/.step/certs/root_ca.crt"; + tls-client-cert = "${config.home.homeDirectory}/.step/certs/mtls.pem"; + backup = { + source = [ + "${config.xdg.userDirs.documents}" + "/conf" + ]; + schedule = "*-*-* *:15,30,45:00"; + }; + }; + }; + }; + }) ]; }; }