Compare commits

...

2 commits

Author SHA1 Message Date
fc7fbbf2ef Create backuphost Bragi 2024-01-07 15:37:32 +01:00
45d0ef262f Differentiate hardware and vms in roles 2023-12-21 12:11:20 +01:00
8 changed files with 109 additions and 2 deletions

View file

@ -0,0 +1,15 @@
{
imports = [
./hardware-configuration.nix
../../roles
../../roles/hardware.nix
./network.nix
../../modules/borgbackup.nix
];
services.mathebau-borgbackup.enable = true;
# System configuration here
networking.hostName = "bragi";
system.stateVersion = "23.11";
}

View file

@ -0,0 +1,32 @@
{lib, ...}: {
imports = [];
fileSystems."/" = {
device = "gha-root";
fsType = "tmpfs";
options = ["size=1G" "mode=755"];
};
fileSystems."/persist" = {
device = "/dev/disk/by-uuid/b75e52a1-deee-45d4-b958-086bdaeb4fa4"; #TODO
fsType = "btrfs";
options = ["subvol=persist"];
neededForBoot = true;
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/6b86ec51-b854-4227-9b05-c8e15f7b2e62"; #TODO
fsType = "ext4";
};
fileSystems."/nix" = {
device = "/dev/disk/by-uuid/b75e52a1-deee-45d4-b958-086bdaeb4fa4"; #TODO
fsType = "btrfs";
options = ["subvol=nix"];
};
# swapDevices = [{device = "/dev/disk/by-uuid/";}]; #TODO
boot.loader.grub.device = "/dev/sda";
nix.settings.max-jobs = lib.mkDefault 4;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}

View file

@ -0,0 +1,16 @@
# We sohuld put that config somewhere in roles and give it a parameter or something,
# everyone gets the same nameserver and the same prefixLength and address vs defaultGateway alsways
# depend on the same thing
{
imports = [];
networking = {
interfaces.enp0s25.ipv4.addresses = [
{
address = "192.168.1.11";
prefixLength = 24;
}
];
defaultGateway = "192.168.1.137";
nameservers = ["130.83.2.22" "130.83.56.60" "130.83.22.60" "130.82.22.63"];
};
}

View file

@ -3,6 +3,7 @@
./hardware-configuration.nix
../../modules/jitsi.nix
../../roles
../../roles/vm.nix
./network.nix
];

View file

@ -0,0 +1,31 @@
{
config,
lib,
...
}: let
inherit
(lib)
mkIf
mkEnableOption
;
cfg = config.services.mathebau-borgbackup;
in {
imports = [];
options.services.mathebau-borgbackup = {
enable = mkEnableOption "mathebau borgbackup service";
};
config = mkIf cfg.enable {
services.borgbackup = {
repos = {
cthulhu = {
authorizedKeys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMSJl1MvabUADTdOCgufsBzn1tIIpxMq4iDcYZsaW1lV Cthulhu Backup"
];
path = "/var/lib/cthulhu";
};
};
};
};
}

View file

@ -1,16 +1,15 @@
{
pkgs,
lib,
modulesPath,
...
}: {
imports = [
./admins.nix
./nix_keys.nix
./prometheusNodeExporter.nix
(modulesPath + "/virtualisation/xen-domU.nix")
../modules/impermanence.nix
];
nix = {
extraOptions = ''
experimental-features = nix-command flakes

5
nixos/roles/hardware.nix Normal file
View file

@ -0,0 +1,5 @@
{
# Bootloader
boot.loader.grub.enable = true;
# boot.loader.efi.canTouchEfiVariables = true;
}

8
nixos/roles/vm.nix Normal file
View file

@ -0,0 +1,8 @@
{
modulesPath,
...
}: {
imports = [
(modulesPath + "/virtualisation/xen-domU.nix")
];
}