mirror of
https://git.pvv.ntnu.no/Drift/pvv-nixos-config.git
synced 2026-02-20 08:57:53 +01:00
Compare commits
42 Commits
2ace7b649f
...
skrott-cro
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
20f9a8a582 | ||
|
|
15004829a8 | ||
|
|
48ffb3cda1 | ||
|
|
9bbc64afc8 | ||
|
|
1cf956f37b | ||
|
|
38a1d38c7f | ||
|
|
f1a6e47e67 | ||
|
|
c061c5be0c | ||
|
|
08e3e1a287 | ||
|
|
034f6540d9 | ||
|
|
695fe48ba8 | ||
|
|
b37551209a | ||
| 19059b742e | |||
|
|
e336c119a5 | ||
|
|
52ac4ca775 | ||
|
|
6b352507a3 | ||
|
|
604b528dd3 | ||
|
|
689d6582ae | ||
|
|
ccdaeaf4a3 | ||
|
|
72fdca4998 | ||
|
|
9ccdeb6ac9 | ||
|
|
8072121b3c | ||
|
|
95f6463171 | ||
|
|
39d3773a10 | ||
|
|
0e963f8cf0 | ||
|
|
ba6c1c8205 | ||
|
|
1d47409d96 | ||
|
|
f7757d697d | ||
|
|
9f43ea887e | ||
|
|
5f94345a91 | ||
|
|
28baf322ce | ||
|
|
12477aeb34 | ||
|
|
e2d553af19 | ||
|
|
89ea5b321a | ||
|
|
3940f52760 | ||
|
|
e2f3c81ecd | ||
|
|
a4c3aaa402 | ||
|
|
5714efc668 | ||
|
|
d5199779a6 | ||
|
|
ae3c7019ef | ||
|
|
73dc9306f1 | ||
|
|
09d72305e2 |
@@ -43,6 +43,7 @@ revert the changes on the next nightly rebuild (tends to happen when everybody i
|
||||
| [kommode][kom] | Virtual | Gitea + Gitea pages |
|
||||
| [lupine][lup] | Physical | Gitea CI/CD runners |
|
||||
| shark | Virtual | Test host for authentication, absolutely horrendous |
|
||||
| [skrott][skr] | Physical | Kiosk, snacks and soda |
|
||||
| [wenche][wen] | Virtual | Nix-builders, general purpose compute |
|
||||
|
||||
## Documentation
|
||||
@@ -59,4 +60,5 @@ revert the changes on the next nightly rebuild (tends to happen when everybody i
|
||||
[ild]: https://wiki.pvv.ntnu.no/wiki/Maskiner/ildkule
|
||||
[kom]: https://wiki.pvv.ntnu.no/wiki/Maskiner/kommode
|
||||
[lup]: https://wiki.pvv.ntnu.no/wiki/Maskiner/lupine
|
||||
[skr]: https://wiki.pvv.ntnu.no/wiki/Maskiner/Skrott
|
||||
[wen]: https://wiki.pvv.ntnu.no/wiki/Maskiner/wenche
|
||||
|
||||
@@ -10,10 +10,12 @@
|
||||
(fp /users)
|
||||
(fp /modules/snakeoil-certs.nix)
|
||||
|
||||
./flake-input-exporter.nix
|
||||
./networking.nix
|
||||
./nix.nix
|
||||
./programs.nix
|
||||
./sops.nix
|
||||
./vm.nix
|
||||
./flake-input-exporter.nix
|
||||
|
||||
./services/acme.nix
|
||||
./services/auto-upgrade.nix
|
||||
@@ -40,6 +42,9 @@
|
||||
boot.tmp.cleanOnBoot = lib.mkDefault true;
|
||||
boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
|
||||
|
||||
boot.loader.systemd-boot.enable = lib.mkDefault true;
|
||||
boot.loader.efi.canTouchEfiVariables = lib.mkDefault true;
|
||||
|
||||
time.timeZone = "Europe/Oslo";
|
||||
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
@@ -48,22 +53,8 @@
|
||||
keyMap = "no";
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
file
|
||||
git
|
||||
gnupg
|
||||
htop
|
||||
nano
|
||||
net-tools
|
||||
ripgrep
|
||||
rsync
|
||||
screen
|
||||
tmux
|
||||
vim
|
||||
wget
|
||||
|
||||
kitty.terminfo
|
||||
];
|
||||
# Don't install the /lib/ld-linux.so.2 stub
|
||||
environment.ldso32 = null;
|
||||
|
||||
# .bash_profile already works, but lets also use .bashrc like literally every other distro
|
||||
# https://man.archlinux.org/man/core/bash/bash.1.en#INVOCATION
|
||||
@@ -77,8 +68,6 @@
|
||||
fi
|
||||
'';
|
||||
|
||||
programs.zsh.enable = true;
|
||||
|
||||
# security.lockKernelModules = true;
|
||||
security.protectKernelImage = true;
|
||||
security.sudo.execWheelOnly = true;
|
||||
@@ -86,6 +75,14 @@
|
||||
Defaults lecture = never
|
||||
'';
|
||||
|
||||
# These are servers, sleep is for the weak
|
||||
systemd.sleep.extraConfig = lib.mkDefault ''
|
||||
AllowSuspend=no
|
||||
AllowHibernation=no
|
||||
'';
|
||||
|
||||
# users.mutableUsers = lib.mkDefault false;
|
||||
|
||||
users.groups."drift".name = "drift";
|
||||
|
||||
# Trusted users on the nix builder machines
|
||||
|
||||
@@ -37,4 +37,9 @@
|
||||
"unstable=${inputs.nixpkgs-unstable}"
|
||||
];
|
||||
};
|
||||
|
||||
# Make builds to be more likely killed than important services.
|
||||
# 100 is the default for user slices and 500 is systemd-coredumpd@
|
||||
# We rather want a build to be killed than our precious user sessions as builds can be easily restarted.
|
||||
systemd.services.nix-daemon.serviceConfig.OOMScoreAdjust = lib.mkDefault 250;
|
||||
}
|
||||
|
||||
60
base/programs.nix
Normal file
60
base/programs.nix
Normal file
@@ -0,0 +1,60 @@
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
# We don't need fonts on headless machines
|
||||
fonts.fontconfig.enable = lib.mkDefault false;
|
||||
|
||||
# Extra packags for better terminal emulator compatibility in SSH sessions
|
||||
environment.enableAllTerminfo = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Debug dns outside resolvectl
|
||||
dig
|
||||
|
||||
# Debug and find files
|
||||
file
|
||||
|
||||
# Check computer specs
|
||||
lshw
|
||||
|
||||
# Scan for open ports with netstat
|
||||
net-tools
|
||||
|
||||
# Grep for files quickly
|
||||
ripgrep
|
||||
|
||||
# Copy files over the network
|
||||
rsync
|
||||
|
||||
# Access various state, often in /var/lib
|
||||
sqlite-interactive
|
||||
|
||||
# Debug software which won't debug itself
|
||||
strace
|
||||
|
||||
# Download files from the internet
|
||||
wget
|
||||
];
|
||||
|
||||
# Clone/push nix config and friends
|
||||
programs.git.enable = true;
|
||||
|
||||
# Gitea gpg, oysteikt sops, etc.
|
||||
programs.gnupg.agent.enable = true;
|
||||
|
||||
# Monitor the wellbeing of the machines
|
||||
programs.htop.enable = true;
|
||||
|
||||
# Keep sessions running during work over SSH
|
||||
programs.tmux.enable = true;
|
||||
|
||||
# Same reasoning as tmux
|
||||
programs.screen.enable = true;
|
||||
|
||||
# Edit files on the system without resorting to joe(1)
|
||||
programs.nano.enable = true;
|
||||
# Same reasoning as nano
|
||||
programs.vim.enable = true;
|
||||
|
||||
# Some people like this shell for some reason
|
||||
programs.zsh.enable = true;
|
||||
}
|
||||
@@ -39,7 +39,8 @@
|
||||
SystemCallFilter = lib.mkForce null;
|
||||
};
|
||||
|
||||
services.nginx.virtualHosts."_" = lib.mkIf config.services.nginx.enable {
|
||||
services.nginx.virtualHosts = lib.mkIf config.services.nginx.enable {
|
||||
"_" = {
|
||||
listen = [
|
||||
{
|
||||
addr = "0.0.0.0";
|
||||
@@ -64,4 +65,12 @@
|
||||
addSSL = true;
|
||||
extraConfig = "return 444;";
|
||||
};
|
||||
|
||||
${config.networking.fqdn} = {
|
||||
sslCertificate = lib.mkDefault "/etc/certs/nginx.crt";
|
||||
sslCertificateKey = lib.mkDefault "/etc/certs/nginx.key";
|
||||
addSSL = lib.mkDefault true;
|
||||
extraConfig = lib.mkDefault "return 444;";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
services.smartd = {
|
||||
enable = lib.mkDefault true;
|
||||
# NOTE: qemu guests tend not to have SMART-reporting disks. Please override for the
|
||||
# hosts with disk passthrough.
|
||||
enable = lib.mkDefault (!config.services.qemuGuest.enable);
|
||||
notifications = {
|
||||
mail = {
|
||||
enable = true;
|
||||
|
||||
12
base/sops.nix
Normal file
12
base/sops.nix
Normal file
@@ -0,0 +1,12 @@
|
||||
{ config, fp, lib, ... }:
|
||||
{
|
||||
sops.defaultSopsFile = let
|
||||
secretsFilePath = fp /secrets/${config.networking.hostName}/${config.networking.hostName}.yaml;
|
||||
in lib.mkIf (builtins.pathExists secretsFilePath) secretsFilePath;
|
||||
|
||||
sops.age = lib.mkIf (config.sops.defaultSopsFile != null) {
|
||||
sshKeyPaths = lib.mkDefault [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||
keyFile = "/var/lib/sops-nix/key.txt";
|
||||
generateKey = true;
|
||||
};
|
||||
}
|
||||
8
flake.lock
generated
8
flake.lock
generated
@@ -8,11 +8,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1768138611,
|
||||
"narHash": "sha256-KfZX6wpuwE2IRKLjh0DrEviE4f6kqLJWwKIE5QJSqa4=",
|
||||
"lastModified": 1769362210,
|
||||
"narHash": "sha256-QCQD7Ofin5UYL0i5Sv34gfJ0p5pv1hwZspE/Ufe84L8=",
|
||||
"ref": "main",
|
||||
"rev": "cb385097dcda5fb9772f903688d078b30a66ccd4",
|
||||
"revCount": 221,
|
||||
"rev": "1d01e1b2cb8fb2adee96c0b4f065c43c45eae290",
|
||||
"revCount": 229,
|
||||
"type": "git",
|
||||
"url": "https://git.pvv.ntnu.no/Projects/dibbler.git"
|
||||
},
|
||||
|
||||
61
flake.nix
61
flake.nix
@@ -69,8 +69,7 @@
|
||||
in {
|
||||
inputs = lib.mapAttrs (_: src: src.outPath) inputs;
|
||||
|
||||
pkgs = forAllSystems (system:
|
||||
import nixpkgs {
|
||||
pkgs = forAllSystems (system: import nixpkgs {
|
||||
inherit system;
|
||||
config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg)
|
||||
[
|
||||
@@ -80,39 +79,22 @@
|
||||
});
|
||||
|
||||
nixosConfigurations = let
|
||||
unstablePkgs = nixpkgs-unstable.legacyPackages.x86_64-linux;
|
||||
|
||||
nixosConfig =
|
||||
nixpkgs:
|
||||
name:
|
||||
configurationPath:
|
||||
extraArgs@{
|
||||
system ? "x86_64-linux",
|
||||
localSystem ? "x86_64-linux", # buildPlatform
|
||||
crossSystem ? "x86_64-linux", # hostPlatform
|
||||
specialArgs ? { },
|
||||
modules ? [ ],
|
||||
overlays ? [ ],
|
||||
enableDefaults ? true,
|
||||
...
|
||||
}:
|
||||
lib.nixosSystem (lib.recursiveUpdate
|
||||
{
|
||||
inherit system;
|
||||
|
||||
specialArgs = {
|
||||
inherit unstablePkgs inputs;
|
||||
values = import ./values.nix;
|
||||
fp = path: ./${path};
|
||||
} // specialArgs;
|
||||
|
||||
modules = [
|
||||
configurationPath
|
||||
] ++ (lib.optionals enableDefaults [
|
||||
sops-nix.nixosModules.sops
|
||||
inputs.roowho2.nixosModules.default
|
||||
]) ++ modules;
|
||||
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
let
|
||||
commonPkgsConfig = {
|
||||
inherit localSystem crossSystem;
|
||||
config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg)
|
||||
[
|
||||
"nvidia-x11"
|
||||
@@ -123,9 +105,35 @@
|
||||
inputs.roowho2.overlays.default
|
||||
]) ++ overlays;
|
||||
};
|
||||
|
||||
pkgs = import nixpkgs commonPkgsConfig;
|
||||
unstablePkgs = import nixpkgs-unstable commonPkgsConfig;
|
||||
in
|
||||
lib.nixosSystem (lib.recursiveUpdate
|
||||
{
|
||||
system = crossSystem;
|
||||
|
||||
inherit pkgs;
|
||||
|
||||
specialArgs = {
|
||||
inherit inputs unstablePkgs;
|
||||
values = import ./values.nix;
|
||||
fp = path: ./${path};
|
||||
} // specialArgs;
|
||||
|
||||
modules = [
|
||||
{
|
||||
networking.hostName = lib.mkDefault name;
|
||||
}
|
||||
configurationPath
|
||||
] ++ (lib.optionals enableDefaults [
|
||||
sops-nix.nixosModules.sops
|
||||
inputs.roowho2.nixosModules.default
|
||||
]) ++ modules;
|
||||
}
|
||||
(builtins.removeAttrs extraArgs [
|
||||
"system"
|
||||
"localSystem"
|
||||
"crossSystem"
|
||||
"modules"
|
||||
"overlays"
|
||||
"specialArgs"
|
||||
@@ -160,7 +168,6 @@
|
||||
bekkalokk = stableNixosConfig "bekkalokk" {
|
||||
overlays = [
|
||||
(final: prev: {
|
||||
heimdal = unstablePkgs.heimdal;
|
||||
mediawiki-extensions = final.callPackage ./packages/mediawiki-extensions { };
|
||||
simplesamlphp = final.callPackage ./packages/simplesamlphp { };
|
||||
bluemap = final.callPackage ./packages/bluemap.nix { };
|
||||
@@ -219,7 +226,7 @@
|
||||
];
|
||||
};
|
||||
skrott = stableNixosConfig "skrott" {
|
||||
system = "aarch64-linux";
|
||||
crossSystem = "aarch64-linux";
|
||||
modules = [
|
||||
(nixpkgs + "/nixos/modules/installer/sd-card/sd-image-aarch64.nix")
|
||||
inputs.dibbler.nixosModules.default
|
||||
|
||||
@@ -6,20 +6,13 @@
|
||||
./filesystems.nix
|
||||
];
|
||||
|
||||
sops.defaultSopsFile = ../../secrets/bakke/bakke.yaml;
|
||||
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||
sops.age.keyFile = "/var/lib/sops-nix/key.txt";
|
||||
sops.age.generateKey = true;
|
||||
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
networking.hostName = "bakke";
|
||||
networking.hostId = "99609ffc";
|
||||
systemd.network.networks."30-enp2s0" = values.defaultNetworkConfig // {
|
||||
matchConfig.Name = "enp2s0";
|
||||
address = with values.hosts.bakke; [ (ipv4 + "/25") (ipv6 + "/64") ];
|
||||
};
|
||||
|
||||
# Don't change (even during upgrades) unless you know what you are doing.
|
||||
# See https://search.nixos.org/options?show=system.stateVersion
|
||||
system.stateVersion = "24.05";
|
||||
}
|
||||
|
||||
@@ -19,16 +19,6 @@
|
||||
./services/qotd
|
||||
];
|
||||
|
||||
sops.defaultSopsFile = fp /secrets/bekkalokk/bekkalokk.yaml;
|
||||
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||
sops.age.keyFile = "/var/lib/sops-nix/key.txt";
|
||||
sops.age.generateKey = true;
|
||||
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
networking.hostName = "bekkalokk";
|
||||
|
||||
systemd.network.networks."30-enp2s0" = values.defaultNetworkConfig // {
|
||||
matchConfig.Name = "enp2s0";
|
||||
address = with values.hosts.bekkalokk; [ (ipv4 + "/25") (ipv6 + "/64") ];
|
||||
@@ -36,7 +26,7 @@
|
||||
|
||||
services.btrfs.autoScrub.enable = true;
|
||||
|
||||
# Do not change, even during upgrades.
|
||||
# Don't change (even during upgrades) unless you know what you are doing.
|
||||
# See https://search.nixos.org/options?show=system.stateVersion
|
||||
system.stateVersion = "22.11";
|
||||
}
|
||||
|
||||
@@ -15,16 +15,6 @@
|
||||
./services/matrix
|
||||
];
|
||||
|
||||
sops.defaultSopsFile = fp /secrets/bicep/bicep.yaml;
|
||||
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||
sops.age.keyFile = "/var/lib/sops-nix/key.txt";
|
||||
sops.age.generateKey = true;
|
||||
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
networking.hostName = "bicep";
|
||||
|
||||
#systemd.network.networks."30-enp6s0f0" = values.defaultNetworkConfig // {
|
||||
systemd.network.networks."30-ens18" = values.defaultNetworkConfig // {
|
||||
#matchConfig.Name = "enp6s0f0";
|
||||
@@ -36,16 +26,9 @@
|
||||
anyInterface = true;
|
||||
};
|
||||
|
||||
# There are no smart devices
|
||||
services.smartd.enable = false;
|
||||
|
||||
# we are a vm now
|
||||
services.qemuGuest.enable = true;
|
||||
|
||||
# Enable the OpenSSH daemon.
|
||||
services.openssh.enable = true;
|
||||
|
||||
# Do not change, even during upgrades.
|
||||
# Don't change (even during upgrades) unless you know what you are doing.
|
||||
# See https://search.nixos.org/options?show=system.stateVersion
|
||||
system.stateVersion = "22.11";
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
];
|
||||
|
||||
networking = {
|
||||
hostName = "bikkje";
|
||||
firewall = {
|
||||
enable = true;
|
||||
# Allow SSH and HTTP and ports for email and irc
|
||||
@@ -36,9 +37,11 @@
|
||||
useHostResolvConf = mkForce false;
|
||||
};
|
||||
|
||||
system.stateVersion = "23.11";
|
||||
services.resolved.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Don't change (even during upgrades) unless you know what you are doing.
|
||||
# See https://search.nixos.org/options?show=system.stateVersion
|
||||
system.stateVersion = "23.11";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -8,28 +8,14 @@
|
||||
./services/grzegorz.nix
|
||||
];
|
||||
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
networking.hostName = "brzeczyszczykiewicz";
|
||||
|
||||
systemd.network.networks."30-eno1" = values.defaultNetworkConfig // {
|
||||
matchConfig.Name = "eno1";
|
||||
address = with values.hosts.brzeczyszczykiewicz; [ (ipv4 + "/25") (ipv6 + "/64") ];
|
||||
};
|
||||
|
||||
# List packages installed in system profile
|
||||
environment.systemPackages = with pkgs; [
|
||||
];
|
||||
|
||||
# List services that you want to enable:
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It's perfectly fine and recommended to leave
|
||||
# this value at the release version of the first install of this system.
|
||||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "23.05"; # Did you read the comment?
|
||||
fonts.fontconfig.enable = true;
|
||||
|
||||
# Don't change (even during upgrades) unless you know what you are doing.
|
||||
# See https://search.nixos.org/options?show=system.stateVersion
|
||||
system.stateVersion = "23.05";
|
||||
}
|
||||
|
||||
@@ -8,24 +8,11 @@
|
||||
(fp /modules/grzegorz.nix)
|
||||
];
|
||||
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
networking.hostName = "georg";
|
||||
|
||||
systemd.network.networks."30-eno1" = values.defaultNetworkConfig // {
|
||||
matchConfig.Name = "eno1";
|
||||
address = with values.hosts.georg; [ (ipv4 + "/25") (ipv6 + "/64") ];
|
||||
};
|
||||
|
||||
# List packages installed in system profile
|
||||
environment.systemPackages = with pkgs; [
|
||||
];
|
||||
|
||||
# List services that you want to enable:
|
||||
|
||||
|
||||
|
||||
services.spotifyd = {
|
||||
enable = true;
|
||||
settings.global = {
|
||||
@@ -41,15 +28,9 @@
|
||||
5353 # spotifyd is its own mDNS service wtf
|
||||
];
|
||||
|
||||
fonts.fontconfig.enable = true;
|
||||
|
||||
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It's perfectly fine and recommended to leave
|
||||
# this value at the release version of the first install of this system.
|
||||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "23.05"; # Did you read the comment?
|
||||
|
||||
# Don't change (even during upgrades) unless you know what you are doing.
|
||||
# See https://search.nixos.org/options?show=system.stateVersion
|
||||
system.stateVersion = "23.05";
|
||||
}
|
||||
|
||||
@@ -10,16 +10,21 @@
|
||||
(fp /base)
|
||||
];
|
||||
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
systemd.network.enable = lib.mkForce false;
|
||||
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
|
||||
|
||||
boot.loader = {
|
||||
systemd-boot.enable = false; # no uefi support on this device
|
||||
grub.device = "/dev/sda";
|
||||
grub.enable = true;
|
||||
};
|
||||
boot.tmp.cleanOnBoot = true;
|
||||
|
||||
networking =
|
||||
let
|
||||
hostConf = values.hosts.gluttony;
|
||||
in
|
||||
{
|
||||
hostName = "gluttony";
|
||||
tempAddresses = "disabled";
|
||||
useDHCP = false;
|
||||
|
||||
@@ -47,5 +52,9 @@
|
||||
};
|
||||
};
|
||||
|
||||
system.stateVersion = "25.11"; # Don't change unless you know what you are doing.
|
||||
services.qemuGuest.enable = true;
|
||||
|
||||
# Don't change (even during upgrades) unless you know what you are doing.
|
||||
# See https://search.nixos.org/options?show=system.stateVersion
|
||||
system.stateVersion = "25.11";
|
||||
}
|
||||
|
||||
@@ -10,11 +10,7 @@
|
||||
./services/journald-remote.nix
|
||||
];
|
||||
|
||||
sops.defaultSopsFile = fp /secrets/ildkule/ildkule.yaml;
|
||||
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||
sops.age.keyFile = "/var/lib/sops-nix/key.txt";
|
||||
sops.age.generateKey = true;
|
||||
|
||||
boot.loader.systemd-boot.enable = false;
|
||||
boot.loader.grub.device = "/dev/vda";
|
||||
boot.tmp.cleanOnBoot = true;
|
||||
zramSwap.enable = true;
|
||||
@@ -24,7 +20,6 @@
|
||||
networking = let
|
||||
hostConf = values.hosts.ildkule;
|
||||
in {
|
||||
hostName = "ildkule";
|
||||
tempAddresses = "disabled";
|
||||
useDHCP = lib.mkForce true;
|
||||
|
||||
@@ -43,13 +38,9 @@
|
||||
};
|
||||
};
|
||||
|
||||
# List packages installed in system profile
|
||||
environment.systemPackages = with pkgs; [
|
||||
];
|
||||
|
||||
# No devices with SMART
|
||||
services.smartd.enable = false;
|
||||
|
||||
system.stateVersion = "23.11"; # Did you read the comment?
|
||||
services.qemuGuest.enable = true;
|
||||
|
||||
# Don't change (even during upgrades) unless you know what you are doing.
|
||||
# See https://search.nixos.org/options?show=system.stateVersion
|
||||
system.stateVersion = "23.11";
|
||||
}
|
||||
|
||||
@@ -9,16 +9,6 @@
|
||||
./services/nginx.nix
|
||||
];
|
||||
|
||||
sops.defaultSopsFile = fp /secrets/kommode/kommode.yaml;
|
||||
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||
sops.age.keyFile = "/var/lib/sops-nix/key.txt";
|
||||
sops.age.generateKey = true;
|
||||
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
networking.hostName = "kommode"; # Define your hostname.
|
||||
|
||||
systemd.network.networks."30-ens18" = values.defaultNetworkConfig // {
|
||||
matchConfig.Name = "ens18";
|
||||
address = with values.hosts.kommode; [ (ipv4 + "/25") (ipv6 + "/64") ];
|
||||
@@ -26,7 +16,9 @@
|
||||
|
||||
services.btrfs.autoScrub.enable = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [];
|
||||
services.qemuGuest.enable = true;
|
||||
|
||||
# Don't change (even during upgrades) unless you know what you are doing.
|
||||
# See https://search.nixos.org/options?show=system.stateVersion
|
||||
system.stateVersion = "24.11";
|
||||
}
|
||||
|
||||
@@ -9,12 +9,6 @@
|
||||
];
|
||||
|
||||
sops.defaultSopsFile = fp /secrets/lupine/lupine.yaml;
|
||||
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||
sops.age.keyFile = "/var/lib/sops-nix/key.txt";
|
||||
sops.age.generateKey = true;
|
||||
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
systemd.network.networks."30-enp0s31f6" = values.defaultNetworkConfig // {
|
||||
matchConfig.Name = "enp0s31f6";
|
||||
@@ -28,7 +22,7 @@
|
||||
# There are no smart devices
|
||||
services.smartd.enable = false;
|
||||
|
||||
# Do not change, even during upgrades.
|
||||
# Don't change (even during upgrades) unless you know what you are doing.
|
||||
# See https://search.nixos.org/options?show=system.stateVersion
|
||||
system.stateVersion = "25.05";
|
||||
}
|
||||
|
||||
@@ -6,33 +6,14 @@
|
||||
(fp /base)
|
||||
];
|
||||
|
||||
sops.defaultSopsFile = fp /secrets/shark/shark.yaml;
|
||||
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||
sops.age.keyFile = "/var/lib/sops-nix/key.txt";
|
||||
sops.age.generateKey = true;
|
||||
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
networking.hostName = "shark"; # Define your hostname.
|
||||
|
||||
systemd.network.networks."30-ens18" = values.defaultNetworkConfig // {
|
||||
matchConfig.Name = "ens18";
|
||||
address = with values.hosts.shark; [ (ipv4 + "/25") (ipv6 + "/64") ];
|
||||
};
|
||||
|
||||
# List packages installed in system profile
|
||||
environment.systemPackages = with pkgs; [
|
||||
];
|
||||
|
||||
# List services that you want to enable:
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It's perfectly fine and recommended to leave
|
||||
# this value at the release version of the first install of this system.
|
||||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "23.05"; # Did you read the comment?
|
||||
services.qemuGuest.enable = true;
|
||||
|
||||
# Don't change (even during upgrades) unless you know what you are doing.
|
||||
# See https://search.nixos.org/options?show=system.stateVersion
|
||||
system.stateVersion = "23.05";
|
||||
}
|
||||
|
||||
@@ -1,14 +1,17 @@
|
||||
{ config, pkgs, lib, fp, ... }: {
|
||||
{ config, pkgs, lib, fp, values, ... }: {
|
||||
imports = [
|
||||
# ./hardware-configuration.nix
|
||||
|
||||
(fp /base)
|
||||
];
|
||||
|
||||
sops.defaultSopsFile = fp /secrets/skrott/skrott.yaml;
|
||||
|
||||
boot = {
|
||||
consoleLogLevel = 0;
|
||||
enableContainers = false;
|
||||
loader.grub.enable = false;
|
||||
loader.systemd-boot.enable = false;
|
||||
kernelPackages = pkgs.linuxPackages;
|
||||
};
|
||||
|
||||
@@ -18,18 +21,17 @@
|
||||
services.logrotate.enable = lib.mkForce false;
|
||||
services.nginx.enable = lib.mkForce false;
|
||||
services.postfix.enable = lib.mkForce false;
|
||||
services.smartd.enable = lib.mkForce false;
|
||||
services.udisks2.enable = lib.mkForce false;
|
||||
services.thermald.enable = lib.mkForce false;
|
||||
services.promtail.enable = lib.mkForce false;
|
||||
boot.supportedFilesystems.zfs = lib.mkForce false;
|
||||
documentation.enable = lib.mkForce false;
|
||||
|
||||
# TODO: can we reduce further?
|
||||
|
||||
system.stateVersion = "25.05";
|
||||
|
||||
sops.defaultSopsFile = fp /secrets/skrott/skrott.yaml;
|
||||
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||
sops.age.keyFile = "/var/lib/sops-nix/key.txt";
|
||||
sops.age.generateKey = true;
|
||||
|
||||
sops.secrets = {
|
||||
"dibbler/postgresql/url" = {
|
||||
"dibbler/postgresql/password" = {
|
||||
owner = "dibbler";
|
||||
group = "dibbler";
|
||||
};
|
||||
@@ -39,10 +41,16 @@
|
||||
|
||||
networking = {
|
||||
hostName = "skrot";
|
||||
defaultGateway = values.hosts.gateway;
|
||||
defaultGateway6 = values.hosts.gateway6;
|
||||
interfaces.eth0 = {
|
||||
useDHCP = false;
|
||||
ipv4.addresses = [{
|
||||
address = "129.241.210.235";
|
||||
address = values.hosts.skrott.ipv4;
|
||||
prefixLength = 25;
|
||||
}];
|
||||
ipv6.addresses = [{
|
||||
address = values.hosts.skrott.ipv6;
|
||||
prefixLength = 25;
|
||||
}];
|
||||
};
|
||||
@@ -56,7 +64,15 @@
|
||||
|
||||
settings = {
|
||||
general.quit_allowed = false;
|
||||
database.url = config.sops.secrets."dibbler/postgresql/url".path;
|
||||
database = {
|
||||
type = "postgresql";
|
||||
postgresql = {
|
||||
username = "pvv_vv";
|
||||
dbname = "pvv_vv";
|
||||
host = "postgres.pvv.ntnu.no";
|
||||
password_file = config.sops.secrets."dibbler/postgresql/password".path;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -70,4 +86,8 @@
|
||||
wantedBy = [ "getty.target" ]; # to start at boot
|
||||
serviceConfig.Restart = "always"; # restart when session is closed
|
||||
};
|
||||
|
||||
# Don't change (even during upgrades) unless you know what you are doing.
|
||||
# See https://search.nixos.org/options?show=system.stateVersion
|
||||
system.stateVersion = "25.11";
|
||||
}
|
||||
|
||||
@@ -6,34 +6,19 @@
|
||||
(fp /base)
|
||||
|
||||
./services/nfs-mounts.nix
|
||||
./services/userweb.nix
|
||||
];
|
||||
|
||||
# sops.defaultSopsFile = fp /secrets/shark/shark.yaml;
|
||||
# sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||
# sops.age.keyFile = "/var/lib/sops-nix/key.txt";
|
||||
# sops.age.generateKey = true;
|
||||
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
networking.hostName = "temmie"; # Define your hostname.
|
||||
|
||||
systemd.network.networks."30-ens18" = values.defaultNetworkConfig // {
|
||||
matchConfig.Name = "ens18";
|
||||
address = with values.hosts.temmie; [ (ipv4 + "/25") (ipv6 + "/64") ];
|
||||
};
|
||||
|
||||
# List packages installed in system profile
|
||||
environment.systemPackages = with pkgs; [
|
||||
];
|
||||
services.nginx.enable = false;
|
||||
|
||||
# List services that you want to enable:
|
||||
services.qemuGuest.enable = true;
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It's perfectly fine and recommended to leave
|
||||
# this value at the release version of the first install of this system.
|
||||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "25.11"; # Did you read the comment?
|
||||
# Don't change (even during upgrades) unless you know what you are doing.
|
||||
# See https://search.nixos.org/options?show=system.stateVersion
|
||||
system.stateVersion = "25.11";
|
||||
}
|
||||
|
||||
@@ -1,21 +1,60 @@
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
fileSystems = let
|
||||
{ lib, values, ... }:
|
||||
let
|
||||
# See microbel:/etc/exports
|
||||
shorthandAreas = lib.listToAttrs (map
|
||||
(l: lib.nameValuePair "/run/pvv-home-mounts/${l}" "homepvv${l}.pvv.ntnu.no:/export/home/pvv/${l}")
|
||||
[ "a" "b" "c" "d" "h" "i" "j" "k" "l" "m" "z" ]);
|
||||
in { }
|
||||
//
|
||||
(lib.mapAttrs (_: device: {
|
||||
inherit device;
|
||||
fsType = "nfs";
|
||||
options = [
|
||||
letters = [ "a" "b" "c" "d" "h" "i" "j" "k" "l" "m" "z" ];
|
||||
in
|
||||
{
|
||||
systemd.targets."pvv-homedirs" = {
|
||||
description = "PVV Homedir Partitions";
|
||||
};
|
||||
|
||||
systemd.mounts = map (l: {
|
||||
description = "PVV Homedir Partition ${l}";
|
||||
|
||||
before = [ "remote-fs.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
requiredBy = [ "pvv-homedirs.target" ];
|
||||
|
||||
type = "nfs";
|
||||
what = "homepvv${l}.pvv.ntnu.no:/export/home/pvv/${l}";
|
||||
where = "/run/pvv-home-mounts/${l}";
|
||||
|
||||
options = lib.concatStringsSep "," [
|
||||
"nfsvers=3"
|
||||
"noauto"
|
||||
|
||||
# NOTE: this is a bit unfortunate. The address above seems to resolve to IPv6 sometimes,
|
||||
# and it doesn't seem possible to specify proto=tcp,tcp6, meaning we have to tell
|
||||
# NFS which exact address to use here, despite it being specified in the `what` attr :\
|
||||
"proto=tcp"
|
||||
"x-systemd.automount"
|
||||
"x-systemd.idle-timeout=300"
|
||||
"addr=${values.hosts.microbel.ipv4}"
|
||||
"mountproto=tcp"
|
||||
"mounthost=${values.hosts.microbel.ipv4}"
|
||||
"port=2049"
|
||||
|
||||
# NOTE: this is yet more unfortunate. When enabling locking, it will sometimes complain about connection failed.
|
||||
# dmesg(1) reveals that it has something to do with registering the lockdv1 RPC service (errno: 111), not
|
||||
# quite sure how to fix it. Living life on dangerous mode for now.
|
||||
"nolock"
|
||||
|
||||
# Don't wait on every read/write
|
||||
"async"
|
||||
|
||||
# Always keep mounted
|
||||
"noauto"
|
||||
|
||||
# We don't want to update access time constantly
|
||||
"noatime"
|
||||
|
||||
# No SUID/SGID, no special devices
|
||||
"nosuid"
|
||||
"nodev"
|
||||
|
||||
# TODO: are there cgi scripts that modify stuff in peoples homedirs?
|
||||
# "ro"
|
||||
"rw"
|
||||
|
||||
# TODO: can we enable this and still run cgi stuff?
|
||||
# "noexec"
|
||||
];
|
||||
}) shorthandAreas);
|
||||
}) letters;
|
||||
}
|
||||
|
||||
29
hosts/temmie/services/userweb.nix
Normal file
29
hosts/temmie/services/userweb.nix
Normal file
@@ -0,0 +1,29 @@
|
||||
{ ... }:
|
||||
{
|
||||
services.httpd = {
|
||||
enable = true;
|
||||
|
||||
# extraModules = [];
|
||||
|
||||
# virtualHosts."userweb.pvv.ntnu.no" = {
|
||||
virtualHosts."temmie.pvv.ntnu.no" = {
|
||||
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.httpd = {
|
||||
after = [ "pvv-homedirs.target" ];
|
||||
requires = [ "pvv-homedirs.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
ProtectHome = "tmpfs";
|
||||
BindPaths = let
|
||||
letters = [ "a" "b" "c" "d" "h" "i" "j" "k" "l" "m" "z" ];
|
||||
in map (l: "/run/pvv-home-mounts/${l}:/home/pvv/${l}") letters;
|
||||
};
|
||||
};
|
||||
|
||||
# TODO: create phpfpm pools with php environments that contain packages similar to those present on tom
|
||||
}
|
||||
@@ -7,12 +7,7 @@
|
||||
./services/gitea-runners.nix
|
||||
];
|
||||
|
||||
sops.defaultSopsFile = fp /secrets/ustetind/ustetind.yaml;
|
||||
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||
sops.age.keyFile = "/var/lib/sops-nix/key.txt";
|
||||
sops.age.generateKey = true;
|
||||
|
||||
networking.hostName = "ustetind";
|
||||
boot.loader.systemd-boot.enable = false;
|
||||
|
||||
networking.useHostResolvConf = lib.mkForce false;
|
||||
|
||||
@@ -39,5 +34,7 @@
|
||||
};
|
||||
};
|
||||
|
||||
# Don't change (even during upgrades) unless you know what you are doing.
|
||||
# See https://search.nixos.org/options?show=system.stateVersion
|
||||
system.stateVersion = "24.11";
|
||||
}
|
||||
|
||||
@@ -14,15 +14,9 @@
|
||||
"armv7l-linux"
|
||||
];
|
||||
|
||||
sops.defaultSopsFile = fp /secrets/wenche/wenche.yaml;
|
||||
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||
sops.age.keyFile = "/var/lib/sops-nix/key.txt";
|
||||
sops.age.generateKey = true;
|
||||
|
||||
boot.loader.systemd-boot.enable = false;
|
||||
boot.loader.grub.device = "/dev/sda";
|
||||
|
||||
networking.hostName = "wenche"; # Define your hostname.
|
||||
|
||||
systemd.network.networks."30-ens18" = values.defaultNetworkConfig // {
|
||||
matchConfig.Name = "ens18";
|
||||
address = with values.hosts.wenche; [ (ipv4 + "/25") (ipv6 + "/64") ];
|
||||
@@ -36,9 +30,9 @@
|
||||
package = config.boot.kernelPackages.nvidiaPackages.production;
|
||||
};
|
||||
|
||||
# List packages installed in system profile
|
||||
environment.systemPackages = with pkgs; [
|
||||
];
|
||||
services.qemuGuest.enable = true;
|
||||
|
||||
system.stateVersion = "24.11"; # Did you read the comment?
|
||||
# Don't change (even during upgrades) unless you know what you are doing.
|
||||
# See https://search.nixos.org/options?show=system.stateVersion
|
||||
system.stateVersion = "24.11";
|
||||
}
|
||||
|
||||
@@ -37,9 +37,13 @@ in {
|
||||
services.nginx.enable = true;
|
||||
services.nginx.virtualHosts = {
|
||||
${config.networking.fqdn} = {
|
||||
# NOTE: this overrides the default config in base/services/nginx.nix
|
||||
addSSL = false;
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
|
||||
kTLS = true;
|
||||
|
||||
serverAliases = [
|
||||
"${machine}.pvv.org"
|
||||
];
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
dibbler:
|
||||
postgresql:
|
||||
url: ENC[AES256_GCM,data:rHmeviBKp5b33gZ+nRweJ9YSobG4OSOxypMcyGb3/Za5DyVjydEgWBkcugrLuy1fUYIu1UV93JizCRLqOOsNkg7ON2AGhw==,iv:mWgLeAmnVaRNuKI4jIKRtW5ZPjnt2tGqjfDbZkuAIXk=,tag:iHSkFcMmTWEFlIH7lVmN1Q==,type:str]
|
||||
password: ENC[AES256_GCM,data:2n85TO709GJc7/qoYp2RXO8Ttfo=,iv:5ZCZPEQQXPGYfDd1qPhDwDfm1Gds1M8PEX9IiCsHcrw=,tag:PAseyFBAe56pLj5Uv8Jd7A==,type:str]
|
||||
sops:
|
||||
age:
|
||||
- recipient: age1ug30gg4y7ftuya0wdv7q0vh4egn00wlv2th7mt7cgc2ze46wmvyq9lq6ge
|
||||
@@ -48,8 +48,8 @@ sops:
|
||||
ZE5tMXJOYlFMOVNJU3FEZFB4TlZ1U00KHnunzKMy91oc92ptcaKCE1sfkhFGvf0S
|
||||
vRX/nyQnBGqD3X3yfvkt+aQnoLxcjoanpJVM9VeigyPu1mRg0OOxXg==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2026-01-11T17:28:43Z"
|
||||
mac: ENC[AES256_GCM,data:l43vquKg33LndSXOm0hsPcalQRXjqbb30QvptXuBsmQrcEVVh20Aqp92l+rwgv60P03ZtK4SKxm/udVVoqViFTwCLYtCC5GEn4OqbD94LQKzl+XLe7yLWwv2WF8ueu170YpZ97uFxUrhOoaOaKUgnAV+4CocixG5hfadpqA3yYE=,iv:a6RRILzz4gDUuiSZPVoqjlIMu4NZG+D5Q+brusfh9PU=,tag:Y8nKbnctjka44eH15x8oCA==,type:str]
|
||||
lastmodified: "2026-01-25T14:03:57Z"
|
||||
mac: ENC[AES256_GCM,data:RBf3LjVNSclsPN7I4QPaDUjWbKlaccjk3rzsRNdRe3+OvJSd7MsS9RfpUFCqUtO7ZkkocXHmkHA8z8LNxs6vejT9czMsLLQD14qHZS6fFdTnToOx3Kt5UuviPO/2UryVI+6HWORkH1aqFJhzkSMop2TO5mzuOTfbCEBLYUUuS6s=,iv:NQs8O1hIbjzGBTZo+gCuisj3edraFGk/Y146HmfPmQY=,tag:4g9IXw2UFC5V9EIHuWJqdA==,type:str]
|
||||
pgp:
|
||||
- created_at: "2026-01-11T17:12:49Z"
|
||||
enc: |-
|
||||
|
||||
@@ -53,7 +53,7 @@ in {
|
||||
nodes.ntnu-pvv-router = mkRouter "NTNU PVV Gateway" {
|
||||
interfaceGroups = [ ["wan1"] ["eth1"] ];
|
||||
connections.eth1 = mkConnection "knutsen" "em1";
|
||||
interfaces.eth1.network = "pvv";
|
||||
interfaces.eth1.network = "ntnu";
|
||||
};
|
||||
|
||||
nodes.knutsen = mkRouter "knutsen" {
|
||||
@@ -82,6 +82,8 @@ in {
|
||||
(mkConnection "buskerud" "eth1")
|
||||
# (mkConnection "knutsen" "eth1")
|
||||
(mkConnection "powerpuff-cluster" "eth1")
|
||||
(mkConnection "powerpuff-cluster" "eth2")
|
||||
(mkConnection "powerpuff-cluster" "eth3")
|
||||
(mkConnection "lupine-1" "enp0s31f6")
|
||||
(mkConnection "lupine-2" "enp0s31f6")
|
||||
(mkConnection "lupine-3" "enp0s31f6")
|
||||
@@ -139,7 +141,7 @@ in {
|
||||
|
||||
hardware.info = "Dell PowerEdge R730 x 3";
|
||||
|
||||
interfaceGroups = [ [ "eth1" ] ];
|
||||
interfaceGroups = [ [ "eth1" "eth2" "eth3" ] ];
|
||||
|
||||
services = {
|
||||
proxmox = {
|
||||
@@ -167,6 +169,13 @@ in {
|
||||
interfaces.ens18.network = "pvv";
|
||||
};
|
||||
|
||||
nodes.temmie = {
|
||||
guestType = "proxmox";
|
||||
parent = config.nodes.powerpuff-cluster.id;
|
||||
|
||||
interfaces.ens18.network = "pvv";
|
||||
};
|
||||
|
||||
nodes.ustetind = {
|
||||
guestType = "proxmox LXC";
|
||||
parent = config.nodes.powerpuff-cluster.id;
|
||||
@@ -219,7 +228,7 @@ in {
|
||||
(mkConnection "demiurgen" "eno1")
|
||||
(mkConnection "sanctuary" "ethernet_0")
|
||||
(mkConnection "torskas" "eth0")
|
||||
(mkConnection "skrott" "eth0")
|
||||
(mkConnection "skrot" "eth0")
|
||||
(mkConnection "homeassistant" "eth0")
|
||||
(mkConnection "orchid" "eth0")
|
||||
(mkConnection "principal" "em0")
|
||||
@@ -249,6 +258,12 @@ in {
|
||||
|
||||
interfaces.ens4.network = "ntnu";
|
||||
};
|
||||
nodes.gluttony = {
|
||||
guestType = "openstack";
|
||||
parent = config.nodes.stackit.id;
|
||||
|
||||
interfaces.ens3.network = "ntnu";
|
||||
};
|
||||
nodes.wenche = {
|
||||
guestType = "openstack";
|
||||
parent = config.nodes.stackit.id;
|
||||
|
||||
@@ -290,21 +290,6 @@ in {
|
||||
};
|
||||
};
|
||||
|
||||
nodes.skrott = mkDevice "skrott" {
|
||||
# TODO: the interface name is likely wrong
|
||||
interfaceGroups = [ [ "eth0" ] ];
|
||||
interfaces.eth0 = {
|
||||
# mac = "";
|
||||
addresses = [
|
||||
"129.241.210.235"
|
||||
];
|
||||
gateways = [
|
||||
values.hosts.gateway
|
||||
values.hosts.gateway6
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
nodes.torskas = mkDevice "torskas" {
|
||||
deviceIcon = "${pkgs.super-tiny-icons}/share/icons/SuperTinyIcons/svg/arch_linux.svg";
|
||||
|
||||
|
||||
@@ -9,8 +9,9 @@
|
||||
];
|
||||
shell = pkgs.zsh;
|
||||
openssh.authorizedKeys.keys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDKzPICGew7uN0cmvRmbwkwTCodTBUgEhkoftQnZuO4Q felixalbrigtsen@gmail.com"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBTXSL0w7OUcz1LzEt1T3I3K5RgyNV+MYz0x/1RbpDHQ felixalb@worf"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDKzPICGew7uN0cmvRmbwkwTCodTBUgEhkoftQnZuO4Q felixalb@pvv.ntnu.no"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJky33ynjqyWP+hh24gFCMFIEqe3CjIIowGM9jiPbT79 felixalb@sisko.home.feal.no"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -69,10 +69,18 @@ in rec {
|
||||
ipv4 = pvv-ipv4 223;
|
||||
ipv6 = pvv-ipv6 223;
|
||||
};
|
||||
microbel = {
|
||||
ipv4 = pvv-ipv4 179;
|
||||
ipv6 = pvv-ipv6 "1:2";
|
||||
};
|
||||
ustetind = {
|
||||
ipv4 = pvv-ipv4 234;
|
||||
ipv6 = pvv-ipv6 234;
|
||||
};
|
||||
skrott = {
|
||||
ipv4 = pvv-ipv4 235;
|
||||
ipv6 = pvv-ipv6 235;
|
||||
};
|
||||
temmie = {
|
||||
ipv4 = pvv-ipv4 167;
|
||||
ipv6 = pvv-ipv6 167;
|
||||
|
||||
Reference in New Issue
Block a user