reorg
This commit is contained in:
@@ -15,6 +15,7 @@
|
|||||||
"wheel"
|
"wheel"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
# https://github.com/Doc-Steve/dendritic-design-with-flake-parts/wiki/Dendritic_Aspects#multi-context-aspect
|
||||||
home-manager.users."${username}" = {
|
home-manager.users."${username}" = {
|
||||||
imports = [
|
imports = [
|
||||||
self.modules.homeManager."${username}"
|
self.modules.homeManager."${username}"
|
||||||
|
|||||||
@@ -15,8 +15,8 @@ in
|
|||||||
flake.modules.homeManager.sops = { inputs, config, pkgs, lib, ... }:
|
flake.modules.homeManager.sops = { inputs, config, pkgs, lib, ... }:
|
||||||
let
|
let
|
||||||
sopsBin = lib.getExe pkgs.sops;
|
sopsBin = lib.getExe pkgs.sops;
|
||||||
sopsConfigPath = ../../../.sops.yaml;
|
sopsConfigPath = ../../.sops.yaml;
|
||||||
sopsSecretsPath = ../../../keys/secrets.yaml;
|
sopsSecretsPath = ../../keys/secrets.yaml;
|
||||||
ageKeyFile = "${config.xdg.configHome}/sops/age/keys.txt";
|
ageKeyFile = "${config.xdg.configHome}/sops/age/keys.txt";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
42
modules/services/restic/base.yaml
Normal file
42
modules/services/restic/base.yaml
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
base:
|
||||||
|
repository: local:/mnt/backup
|
||||||
|
password-file: '{{ .ConfigDir }}/password.txt'
|
||||||
|
status-file: '{{ .ConfigDir }}/backup-status.json'
|
||||||
|
retention:
|
||||||
|
after-backup: true
|
||||||
|
keep-last: '10'
|
||||||
|
keep-hourly: '8'
|
||||||
|
keep-daily: '14'
|
||||||
|
keep-weekly: '8'
|
||||||
|
backup:
|
||||||
|
verbose: true
|
||||||
|
exclude:
|
||||||
|
- .cache
|
||||||
|
- .devenv
|
||||||
|
- .rustup
|
||||||
|
- .cargo
|
||||||
|
- .venv
|
||||||
|
- .pyenv
|
||||||
|
- .vscode*
|
||||||
|
- data/postgres
|
||||||
|
- build
|
||||||
|
- __pycache__
|
||||||
|
- '*.log'
|
||||||
|
- '*.egg-info'
|
||||||
|
- '*.csv'
|
||||||
|
- '*.m4a'
|
||||||
|
- .local/share/Steam
|
||||||
|
- .local/share/Trash
|
||||||
|
- build
|
||||||
|
- dist
|
||||||
|
- /home/*/Pictures
|
||||||
|
- /home/*/Videos
|
||||||
|
- /home/*/go
|
||||||
|
- /home/*/snap
|
||||||
|
- /home/john/john-nas
|
||||||
|
schedule-permission: user
|
||||||
|
schedule-priority: background
|
||||||
|
check-after: true
|
||||||
|
prune:
|
||||||
|
schedule-permission: user
|
||||||
|
schedule-lock-wait: 1h
|
||||||
@@ -33,7 +33,8 @@
|
|||||||
let
|
let
|
||||||
cfg = config.programs.resticprofile;
|
cfg = config.programs.resticprofile;
|
||||||
yamlFormat = pkgs.formats.yaml { };
|
yamlFormat = pkgs.formats.yaml { };
|
||||||
baseProfile = import ../../../resticprofile/base.nix { inherit lib config; };
|
baseProfile = import ../../../resticprofile/base.nix;
|
||||||
|
# baseProfile = builtins.fromJSON (builtins.readFile ./base.yaml)
|
||||||
profiles = lib.recursiveUpdate baseProfile cfg.profiles;
|
profiles = lib.recursiveUpdate baseProfile cfg.profiles;
|
||||||
in {
|
in {
|
||||||
options.programs.resticprofile = {
|
options.programs.resticprofile = {
|
||||||
@@ -20,7 +20,9 @@ in
|
|||||||
modules = lib.mkMerge [
|
modules = lib.mkMerge [
|
||||||
(inputs.self.factory.user username true)
|
(inputs.self.factory.user username true)
|
||||||
{
|
{
|
||||||
# https://github.com/Doc-Steve/dendritic-design-with-flake-parts/wiki/Dendritic_Aspects#multi-context-aspect
|
#
|
||||||
|
# NixOS
|
||||||
|
#
|
||||||
nixos."${username}" = { pkgs, ... }: {
|
nixos."${username}" = { pkgs, ... }: {
|
||||||
users.users."${username}" = {
|
users.users."${username}" = {
|
||||||
openssh.authorizedKeys.keys = inputs.self.meta.users."${username}".authorizedKeys;
|
openssh.authorizedKeys.keys = inputs.self.meta.users."${username}".authorizedKeys;
|
||||||
@@ -28,7 +30,9 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# This gets imported by the user factory:
|
#
|
||||||
|
# Home Manager
|
||||||
|
#
|
||||||
homeManager."${username}" = with inputs.self.meta.users."${username}"; {
|
homeManager."${username}" = with inputs.self.meta.users."${username}"; {
|
||||||
home.stateVersion = "25.11";
|
home.stateVersion = "25.11";
|
||||||
xdg.enable = true;
|
xdg.enable = true;
|
||||||
@@ -36,9 +40,9 @@ in
|
|||||||
programs.git.settings.user.name = name;
|
programs.git.settings.user.name = name;
|
||||||
programs.git.settings.user.email = email;
|
programs.git.settings.user.email = email;
|
||||||
|
|
||||||
# imports = with inputs.self.modules.homeManager; [
|
imports = with inputs.self.modules.homeManager; [
|
||||||
# # base
|
# base
|
||||||
# ];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
{ lib, config, ... }:
|
|
||||||
{
|
{
|
||||||
base = {
|
base = {
|
||||||
repository = "local:/mnt/backup";
|
repository = "local:/mnt/backup";
|
||||||
|
|||||||
Reference in New Issue
Block a user