33 current 2024-04-17 23:41:19 23.11.20240405.72da83d 6.1.84 *
This commit is contained in:
parent
fa9beb8b1c
commit
948e70c783
96
home/jonas/borg.nix
Normal file
96
home/jonas/borg.nix
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
defaultChecks = [
|
||||||
|
{
|
||||||
|
name = "repository";
|
||||||
|
frequency = "2 weeks";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "archives";
|
||||||
|
frequency = "4 weeks";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "data";
|
||||||
|
frequency = "6 weeks";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "extract";
|
||||||
|
frequency = "6 weeks";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
passwordFile = "${config.home.homeDirectory}/.config/borg/password";
|
||||||
|
encCmd = ''cat ${passwordFile}'';
|
||||||
|
repo = "ssh://borg.jroeger.de/comfy-station";
|
||||||
|
in {
|
||||||
|
sops.secrets = {
|
||||||
|
"borg/password" = {
|
||||||
|
sopsFile = ../../secrets/jonas/borg.yaml;
|
||||||
|
key = "password";
|
||||||
|
path = passwordFile;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.borgmatic.enable = true;
|
||||||
|
programs.borgmatic.backups = {
|
||||||
|
workspaces = {
|
||||||
|
location = {
|
||||||
|
sourceDirectories = ["${config.xdg.userDirs.extraConfig.XDG_WORKSPACES_DIR}"];
|
||||||
|
repositories = [repo];
|
||||||
|
excludeHomeManagerSymlinks = true;
|
||||||
|
};
|
||||||
|
retention = {
|
||||||
|
keepDaily = 7;
|
||||||
|
keepHourly = 12;
|
||||||
|
keepWeekly = 4;
|
||||||
|
keepMonthly = 6;
|
||||||
|
};
|
||||||
|
storage = {
|
||||||
|
encryptionPasscommand = encCmd;
|
||||||
|
};
|
||||||
|
consistency.checks = defaultChecks;
|
||||||
|
};
|
||||||
|
media = {
|
||||||
|
location = {
|
||||||
|
sourceDirectories = [
|
||||||
|
"${config.xdg.userDirs.documents}"
|
||||||
|
"${config.xdg.userDirs.music}"
|
||||||
|
"${config.xdg.userDirs.pictures}"
|
||||||
|
"${config.xdg.userDirs.videos}"
|
||||||
|
];
|
||||||
|
repositories = [repo];
|
||||||
|
excludeHomeManagerSymlinks = true;
|
||||||
|
};
|
||||||
|
retention = {
|
||||||
|
keepDaily = 7;
|
||||||
|
keepWeekly = 2;
|
||||||
|
keepMonthly = 6;
|
||||||
|
};
|
||||||
|
storage = {
|
||||||
|
encryptionPasscommand = encCmd;
|
||||||
|
};
|
||||||
|
consistency.checks = defaultChecks;
|
||||||
|
};
|
||||||
|
var = {
|
||||||
|
location = {
|
||||||
|
sourceDirectories = [
|
||||||
|
"${config.xdg.userDirs.desktop}"
|
||||||
|
"${config.xdg.userDirs.download}"
|
||||||
|
];
|
||||||
|
repositories = [repo];
|
||||||
|
excludeHomeManagerSymlinks = true;
|
||||||
|
};
|
||||||
|
retention = {
|
||||||
|
keepDaily = 7;
|
||||||
|
keepWeekly = 2;
|
||||||
|
keepMonthly = 6;
|
||||||
|
};
|
||||||
|
storage = {
|
||||||
|
encryptionPasscommand = encCmd;
|
||||||
|
};
|
||||||
|
consistency.checks = defaultChecks;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@ -4,6 +4,7 @@
|
|||||||
...
|
...
|
||||||
}: rec {
|
}: rec {
|
||||||
imports = [
|
imports = [
|
||||||
|
./borg.nix
|
||||||
./firefox.nix
|
./firefox.nix
|
||||||
./plasma.nix
|
./plasma.nix
|
||||||
./ssh.nix
|
./ssh.nix
|
||||||
@ -30,6 +31,13 @@
|
|||||||
"x-scheme-handler/unknown" = "firefox.desktop";
|
"x-scheme-handler/unknown" = "firefox.desktop";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
xdg.userDirs.enable = true;
|
||||||
|
xdg.userDirs.createDirectories = true;
|
||||||
|
xdg.userDirs.extraConfig = {
|
||||||
|
XDG_WORKSPACES_DIR = "${config.home.homeDirectory}/Workspaces";
|
||||||
|
XDG_NEXTCLOUD_DIR = "${config.home.homeDirectory}/Nextcloud";
|
||||||
|
XDG_NOTES_DIR = "${config.home.homeDirectory}/Notes";
|
||||||
|
};
|
||||||
|
|
||||||
# This value determines the Home Manager release that your configuration is
|
# This value determines the Home Manager release that your configuration is
|
||||||
# compatible with. This helps avoid breakage when a new Home Manager release
|
# compatible with. This helps avoid breakage when a new Home Manager release
|
||||||
|
|||||||
@ -51,6 +51,7 @@
|
|||||||
age
|
age
|
||||||
alejandra
|
alejandra
|
||||||
borgbackup
|
borgbackup
|
||||||
|
borgmatic
|
||||||
docker
|
docker
|
||||||
git
|
git
|
||||||
ranger
|
ranger
|
||||||
|
|||||||
22
secrets/jonas/borg.yaml
Normal file
22
secrets/jonas/borg.yaml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
repo: ENC[AES256_GCM,data:iKiwwVmH0gZw0tp/MsJQWF6TGyFMc78Hs8h1Fnqz6CqfA8s=,iv:qTNERPdDipOrXefWqk9SKstVpsbgdXVUNtukSwmJ2r8=,tag:ojgzc9XKwq+4tRmFGq06Lg==,type:str]
|
||||||
|
password: ENC[AES256_GCM,data:LnS0rAH30QfUukWnbP+xO49vVA==,iv:GCpxdZXtFGAsG6S/mw6s1aKUFa/v6Rt30crKIxLmv80=,tag:g4EcylWvtFZH0j1+uRnQEw==,type:str]
|
||||||
|
sops:
|
||||||
|
kms: []
|
||||||
|
gcp_kms: []
|
||||||
|
azure_kv: []
|
||||||
|
hc_vault: []
|
||||||
|
age:
|
||||||
|
- recipient: age1expg8vyduf290pz7l4f3mjzvk9f0azfdn48pyjzs3m6p7v4qjq0qwtn36z
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPdXVISjczNFVHTW13WjFl
|
||||||
|
UjloRWU2clNBZk1zUlZyVklnb1AzUTBLaXdvClZCM1NybnNjQ3N1TGRVczJKTXFE
|
||||||
|
N3g5QmhxOCtZa3c5b2dGbnFVcVk5V3MKLS0tIGhocDQ4NWtOSTMyK3BxUlJqWHNG
|
||||||
|
OUFzQlZQWGQ5NXBCSWV3M0VYVk0raFEKMsWSxV4cmuRWvGswc7qwcFUcZxAB6YWg
|
||||||
|
55dc1Sj6AAhr17egQPQzEC72Mls5yZVN1ow0xPI2d13l1l7Q8Drq9Q==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
lastmodified: "2024-04-17T21:24:51Z"
|
||||||
|
mac: ENC[AES256_GCM,data:zSKO+eHwTv93fLlJa20Me57jv5hcWfDHnzcPaHrlZdb1Sdavf1ledaepPMifQO4hww5SzS6Uptuhkk9n+PSFrOt97jhzMB80aDmYZc5c0RR28fGu0onB4qEccSzCd9wR27JSgCyUnYAS1i3JtOp0pszs+PwQaX2NQPmH/HhhFXQ=,iv:grXkUh3VNE9zunXttKZ+2Mqjk4D7qnUIPUV/o6glHpI=,tag:4ECbvVPCz87D78y98r8Qmw==,type:str]
|
||||||
|
pgp: []
|
||||||
|
unencrypted_suffix: _unencrypted
|
||||||
|
version: 3.8.1
|
||||||
Loading…
x
Reference in New Issue
Block a user