Restic: made modular backup declerations.
Required tree-wide re-wiring of the host option. Now, rather than each host having a monolithic restic.nix file, the hosts restic.nix file just specifies the password and url of the restic repository. Eatch module then definies specific paths to backup and any pre and post commands that need to be performed. Each backed up service gets an independent systemd backup service and timer.
This commit is contained in:
parent
cf33c036dd
commit
48c60629ab
36 changed files with 307 additions and 1476 deletions
|
@ -1,12 +1,12 @@
|
|||
# this ISO works best with tow-boot or another way of UEFI booting.
|
||||
{
|
||||
inputs,
|
||||
configLib,
|
||||
myLib,
|
||||
...
|
||||
}:
|
||||
(inputs.nixpkgs.lib.nixosSystem {
|
||||
system = "aarch64-linux";
|
||||
specialArgs = {inherit inputs configLib;};
|
||||
specialArgs = {inherit inputs myLib;};
|
||||
# > Our main nixos configuration file <
|
||||
modules = [
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
|
@ -19,7 +19,6 @@
|
|||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
configLib,
|
||||
modulesPath,
|
||||
options,
|
||||
...
|
||||
|
@ -38,26 +37,26 @@
|
|||
"${modulesPath}/installer/scan/detected.nix"
|
||||
"${modulesPath}/installer/scan/not-detected.nix"
|
||||
];
|
||||
host = {
|
||||
host.details = {
|
||||
user = "gabe";
|
||||
fullName = "Gabe Venberg";
|
||||
gui.enable = true;
|
||||
};
|
||||
networking.hostName = "nixos-installer"; # Define your hostname.
|
||||
|
||||
users.users.${config.host.user} = {
|
||||
users.users.${config.host.details.user} = {
|
||||
packages = with pkgs; [
|
||||
neovim
|
||||
gptfdisk
|
||||
];
|
||||
};
|
||||
|
||||
home-manager.users.${config.host.user} = {
|
||||
home-manager.users.${config.host.details.user} = {
|
||||
inputs,
|
||||
osConfig,
|
||||
...
|
||||
}: {
|
||||
host = osConfig.host;
|
||||
host.details = osConfig.host.details;
|
||||
user = {
|
||||
nvim.enable-lsp = false;
|
||||
git = {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{
|
||||
inputs,
|
||||
configLib,
|
||||
myLib,
|
||||
...
|
||||
}:
|
||||
(inputs.nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {inherit inputs configLib;};
|
||||
specialArgs = {inherit inputs myLib;};
|
||||
# > Our main nixos configuration file <
|
||||
modules = [
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
|
@ -22,7 +22,6 @@
|
|||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
configLib,
|
||||
modulesPath,
|
||||
options,
|
||||
...
|
||||
|
@ -36,26 +35,26 @@
|
|||
"${modulesPath}/installer/scan/detected.nix"
|
||||
"${modulesPath}/installer/scan/not-detected.nix"
|
||||
];
|
||||
host = {
|
||||
host.details = {
|
||||
user = "gabe";
|
||||
fullName = "Gabe Venberg";
|
||||
gui.enable = true;
|
||||
};
|
||||
networking.hostName = "nixos-installer"; # Define your hostname.
|
||||
|
||||
users.users.${config.host.user} = {
|
||||
users.users.${config.host.details.user} = {
|
||||
packages = with pkgs; [
|
||||
firefox
|
||||
gptfdisk
|
||||
];
|
||||
};
|
||||
|
||||
home-manager.users.${config.host.user} = {
|
||||
home-manager.users.${config.host.details.user} = {
|
||||
inputs,
|
||||
osConfig,
|
||||
...
|
||||
}: {
|
||||
host = osConfig.host;
|
||||
host.details = osConfig.host.details;
|
||||
user = {
|
||||
nvim.enable-lsp = false;
|
||||
git = {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{
|
||||
inputs,
|
||||
configLib,
|
||||
myLib,
|
||||
...
|
||||
}:
|
||||
(inputs.nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {inherit inputs configLib;};
|
||||
specialArgs = {inherit inputs myLib;};
|
||||
modules = [
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
../configs/nixos/sshd.nix
|
||||
|
@ -13,7 +13,6 @@
|
|||
({
|
||||
config,
|
||||
pkgs,
|
||||
configLib,
|
||||
modulesPath,
|
||||
lib,
|
||||
...
|
||||
|
@ -22,19 +21,21 @@
|
|||
proxmoxLXC.manageHostName = false;
|
||||
boot.loader.grub.enable = lib.mkForce false;
|
||||
boot.loader.systemd-boot.enable = lib.mkForce false;
|
||||
host.user = "gabe";
|
||||
host.fullName = "Gabe Venberg";
|
||||
host.details = {
|
||||
user = "gabe";
|
||||
fullName = "Gabe Venberg";
|
||||
};
|
||||
|
||||
home-manager.users.${config.host.user} = {
|
||||
home-manager.users.${config.host.details.user} = {
|
||||
inputs,
|
||||
osConfig,
|
||||
...
|
||||
}: {
|
||||
host = osConfig.host;
|
||||
host.details = osConfig.host.details;
|
||||
user = {
|
||||
git = {
|
||||
profile = {
|
||||
name = config.host.fullName;
|
||||
name = config.host.details.fullName;
|
||||
email = "gabevenberg@gmail.com";
|
||||
};
|
||||
workProfile.enable = false;
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{
|
||||
inputs,
|
||||
configLib,
|
||||
myLib,
|
||||
...
|
||||
}:
|
||||
(inputs.nixpkgs.lib.nixosSystem {
|
||||
system = "aarch64-linux";
|
||||
specialArgs = {inherit inputs configLib;};
|
||||
specialArgs = {inherit inputs myLib;};
|
||||
modules = [
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
inputs.disko.nixosModules.disko
|
||||
|
@ -20,13 +20,12 @@
|
|||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
configLib,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = ["${modulesPath}/installer/sd-card/sd-image-aarch64.nix"];
|
||||
hardware.enableRedistributableFirmware = true;
|
||||
host = {
|
||||
host.details = {
|
||||
user = "gabe";
|
||||
fullName = "Gabe Venberg";
|
||||
};
|
||||
|
@ -55,17 +54,17 @@
|
|||
# home-manager.sharedModules = [
|
||||
# inputs.sops-nix.homeManagerModules.sops
|
||||
# ];
|
||||
home-manager.users.${config.host.user} = {
|
||||
home-manager.users.${config.host.details.user} = {
|
||||
inputs,
|
||||
osConfig,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
host = osConfig.host;
|
||||
host.details = osConfig.host.details;
|
||||
user = {
|
||||
git = {
|
||||
profile = {
|
||||
name = config.host.fullName;
|
||||
name = config.host.details.fullName;
|
||||
email = "gabevenberg@gmail.com";
|
||||
};
|
||||
workProfile.enable = false;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue