Compare commits
9 Commits
new_nodes
...
gitea-runn
Author | SHA1 | Date | |
---|---|---|---|
878a105d15
|
|||
59969b9ec8
|
|||
febc0940f8 | |||
76c251c277 | |||
1d48a63e3d | |||
5d704840ce | |||
43d3ef1fed | |||
e8df081894 | |||
f40f2ae89d |
.sops.yamlflake.lockflake.nix
hosts
secrets/lupine
values.nix
13
.sops.yaml
13
.sops.yaml
@@ -15,6 +15,7 @@ keys:
|
||||
- &host_bicep age1sl43gc9cw939z5tgha2lpwf0xxxgcnlw7w4xem4sqgmt2pt264vq0dmwx2
|
||||
- &host_ustetind age1hffjafs4slznksefmtqrlj7rdaqgzqncn4un938rhr053237ry8s3rs0v8
|
||||
- &host_kommode age1mt4d0hg5g76qp7j0884llemy0k2ymr5up8vfudz6vzvsflk5nptqqd32ly
|
||||
- &host_lupine-1 age1fkrypl6fu4ldsa7te4g3v4qsegnk7sd6qhkquuwzh04vguy96qus08902e
|
||||
|
||||
creation_rules:
|
||||
# Global secrets
|
||||
@@ -104,3 +105,15 @@ creation_rules:
|
||||
- *user_pederbs_bjarte
|
||||
pgp:
|
||||
- *user_oysteikt
|
||||
|
||||
- path_regex: secrets/lupine/[^/]+\.yaml$
|
||||
key_groups:
|
||||
- age:
|
||||
- *host_lupine-1
|
||||
- *user_danio
|
||||
- *user_felixalb
|
||||
- *user_pederbs_sopp
|
||||
- *user_pederbs_nord
|
||||
- *user_pederbs_bjarte
|
||||
pgp:
|
||||
- *user_oysteikt
|
||||
|
58
flake.lock
generated
58
flake.lock
generated
@@ -7,11 +7,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1745502102,
|
||||
"narHash": "sha256-LqhRwzvIVPEjH0TaPgwzqpyhW6DtCrvz7FnUJDoUZh8=",
|
||||
"lastModified": 1752113600,
|
||||
"narHash": "sha256-7LYDxKxZgBQ8LZUuolAQ8UkIB+jb4A2UmiR+kzY9CLI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "ca27b88c88948d96feeee9ed814cbd34f53d0d70",
|
||||
"rev": "79264292b7e3482e5702932949de9cbb69fedf6d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -48,11 +48,11 @@
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746563623,
|
||||
"narHash": "sha256-5DxgNFpSgxft/sWraZnHIUlb4S3Io73SVS7FZCbWSUY=",
|
||||
"lastModified": 1752258704,
|
||||
"narHash": "sha256-pRK99+MCgkeVptbJxXhVMXIXl8uwSdkZDpQzFi3OgkA=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "4e0408887f80e61a90286ff630a7855b828ae421",
|
||||
"revCount": 45,
|
||||
"rev": "9ff525339b62855d53a44b4dc0154a33ac19e44d",
|
||||
"revCount": 48,
|
||||
"type": "git",
|
||||
"url": "https://git.pvv.ntnu.no/Grzegorz/greg-ng.git"
|
||||
},
|
||||
@@ -139,11 +139,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1752247770,
|
||||
"narHash": "sha256-WDk5Sx9JWr8A+EPfkTLEcVNrBlY700rSNH8nm/oaVGY=",
|
||||
"rev": "739c8f530a2c5e0b9eefc8019d201654264cb974",
|
||||
"lastModified": 1752439653,
|
||||
"narHash": "sha256-mG27U2CFuggpAuozOu/4XAMKaOtJxzJVzdEemjQEBgg=",
|
||||
"rev": "dfcd5b901dbab46c9c6e80b265648481aafb01f8",
|
||||
"type": "tarball",
|
||||
"url": "https://releases.nixos.org/nixos/25.05-small/nixos-25.05.806236.739c8f530a2c/nixexprs.tar.xz"
|
||||
"url": "https://releases.nixos.org/nixos/25.05-small/nixos-25.05.806304.dfcd5b901dba/nixexprs.tar.xz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
@@ -152,11 +152,11 @@
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1748588304,
|
||||
"narHash": "sha256-YCnUqO9k39p0oMIBndxYTbu8m0fOA/KVcq3IekXPy9c=",
|
||||
"rev": "b8af95f4cf511c5f056b463c3a45d2b63c7cfb03",
|
||||
"lastModified": 1752439402,
|
||||
"narHash": "sha256-xDfOnjnKStgsgcn9SFPgOV6qzwac4JvGKYyfR++49Pw=",
|
||||
"rev": "b47d4f01d4213715a1f09b999bab96bb6a5b675e",
|
||||
"type": "tarball",
|
||||
"url": "https://releases.nixos.org/nixos/unstable-small/nixos-25.11pre807945.b8af95f4cf51/nixexprs.tar.xz?rev=b8af95f4cf511c5f056b463c3a45d2b63c7cfb03"
|
||||
"url": "https://releases.nixos.org/nixos/unstable-small/nixos-25.11pre829909.b47d4f01d421/nixexprs.tar.xz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
@@ -170,11 +170,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1723850344,
|
||||
"narHash": "sha256-aT37O9l9eclWEnqxASVNBL1dKwDHZUOqdbA4VO9DJvw=",
|
||||
"lastModified": 1742225512,
|
||||
"narHash": "sha256-OB0ndlrGLE5wMUeYP4lmxly9JUEpPCeZRQyMzITKCB0=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "38b66677ab8c01aee10cd59e745af9ce3ea88092",
|
||||
"revCount": 19,
|
||||
"rev": "c4a6a02c84d8227abf00305dc995d7242176e6f6",
|
||||
"revCount": 21,
|
||||
"type": "git",
|
||||
"url": "https://git.pvv.ntnu.no/Projects/calendar-bot.git"
|
||||
},
|
||||
@@ -190,11 +190,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1741738148,
|
||||
"narHash": "sha256-cJo6nbcJEOjkazkZ194NDnlsZe0W0wpxeUh2/886uC8=",
|
||||
"lastModified": 1752865540,
|
||||
"narHash": "sha256-VYLXcV8FsaMTsmxISOejvBq76eA41yi7BCRNW1qGbV0=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "c1802e7cf27c7cf8b4890354c982a4eef5b11593",
|
||||
"revCount": 486,
|
||||
"rev": "f732582d0d1389721ea2c91ab370ba2fb824d644",
|
||||
"revCount": 496,
|
||||
"type": "git",
|
||||
"url": "https://git.pvv.ntnu.no/Projects/nettsiden.git"
|
||||
},
|
||||
@@ -227,11 +227,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746498961,
|
||||
"narHash": "sha256-rp+oh/N88JKHu7ySPuGiA3lBUVIsrOtHbN2eWJdYCgk=",
|
||||
"lastModified": 1752201818,
|
||||
"narHash": "sha256-d8KczaVT8WFEZdWg//tMAbv8EDyn2YTWcJvSY8gqKBU=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "24b00064cdd1d7ba25200c4a8565dc455dc732ba",
|
||||
"rev": "bd8f8329780b348fedcd37b53dbbee48c08c496d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -247,11 +247,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1745310711,
|
||||
"narHash": "sha256-ePyTpKEJTgX0gvgNQWd7tQYQ3glIkbqcW778RpHlqgA=",
|
||||
"lastModified": 1751606940,
|
||||
"narHash": "sha256-KrDPXobG7DFKTOteqdSVeL1bMVitDcy7otpVZWDE6MA=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "5e3e92b16d6fdf9923425a8d4df7496b2434f39c",
|
||||
"rev": "3633fc4acf03f43b260244d94c71e9e14a2f6e0d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
52
flake.nix
52
flake.nix
@@ -55,37 +55,50 @@
|
||||
|
||||
nixosConfigurations = let
|
||||
unstablePkgs = nixpkgs-unstable.legacyPackages.x86_64-linux;
|
||||
nixosConfig = nixpkgs: name: config: lib.nixosSystem (lib.recursiveUpdate
|
||||
rec {
|
||||
|
||||
nixosConfig =
|
||||
nixpkgs:
|
||||
name:
|
||||
configurationPath:
|
||||
extraArgs:
|
||||
lib.nixosSystem (lib.recursiveUpdate
|
||||
(let
|
||||
system = "x86_64-linux";
|
||||
in {
|
||||
inherit system;
|
||||
|
||||
specialArgs = {
|
||||
inherit unstablePkgs inputs;
|
||||
values = import ./values.nix;
|
||||
fp = path: ./${path};
|
||||
};
|
||||
} // extraArgs.specialArgs or { };
|
||||
|
||||
modules = [
|
||||
./hosts/${name}/configuration.nix
|
||||
configurationPath
|
||||
sops-nix.nixosModules.sops
|
||||
] ++ config.modules or [];
|
||||
] ++ extraArgs.modules or [];
|
||||
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg)
|
||||
extraArgs.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg)
|
||||
[
|
||||
"nvidia-x11"
|
||||
"nvidia-settings"
|
||||
];
|
||||
overlays = [
|
||||
# Global overlays go here
|
||||
] ++ config.overlays or [ ];
|
||||
] ++ extraArgs.overlays or [ ];
|
||||
};
|
||||
}
|
||||
(removeAttrs config [ "modules" "overlays" ])
|
||||
})
|
||||
(builtins.removeAttrs extraArgs [
|
||||
"modules"
|
||||
"overlays"
|
||||
"specialArgs"
|
||||
])
|
||||
);
|
||||
|
||||
stableNixosConfig = nixosConfig nixpkgs;
|
||||
unstableNixosConfig = nixosConfig nixpkgs-unstable;
|
||||
stableNixosConfig = name: extraArgs:
|
||||
nixosConfig nixpkgs name ./hosts/${name}/configuration.nix extraArgs;
|
||||
in {
|
||||
bicep = stableNixosConfig "bicep" {
|
||||
modules = [
|
||||
@@ -115,12 +128,6 @@
|
||||
inputs.pvv-nettsiden.nixosModules.default
|
||||
];
|
||||
};
|
||||
bob = stableNixosConfig "bob" {
|
||||
modules = [
|
||||
disko.nixosModules.disko
|
||||
{ disko.devices.disk.disk1.device = "/dev/vda"; }
|
||||
];
|
||||
};
|
||||
ildkule = stableNixosConfig "ildkule" { };
|
||||
#ildkule-unstable = unstableNixosConfig "ildkule" { };
|
||||
shark = stableNixosConfig "shark" { };
|
||||
@@ -163,7 +170,16 @@
|
||||
inputs.gergle.overlays.default
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
//
|
||||
(let
|
||||
machineNames = map (i: "lupine-${toString i}") (lib.range 1 5);
|
||||
stableLupineNixosConfig = name: extraArgs:
|
||||
nixosConfig nixpkgs name ./hosts/lupine/configuration.nix extraArgs;
|
||||
in lib.genAttrs machineNames (name: stableLupineNixosConfig name {
|
||||
modules = [{ networking.hostName = name; }];
|
||||
specialArgs.lupineName = name;
|
||||
}));
|
||||
|
||||
nixosModules = {
|
||||
snakeoil-certs = ./modules/snakeoil-certs.nix;
|
||||
|
@@ -1,46 +0,0 @@
|
||||
{ config, fp, pkgs, values, ... }:
|
||||
{
|
||||
imports = [
|
||||
# Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
(fp /base)
|
||||
(fp /misc/metrics-exporters.nix)
|
||||
./disks.nix
|
||||
|
||||
(fp /misc/builder.nix)
|
||||
];
|
||||
|
||||
sops.defaultSopsFile = fp /secrets/bob/bob.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.grub = {
|
||||
enable = true;
|
||||
efiSupport = true;
|
||||
efiInstallAsRemovable = true;
|
||||
};
|
||||
|
||||
networking.hostName = "bob"; # Define your hostname.
|
||||
|
||||
systemd.network.networks."30-all" = values.defaultNetworkConfig // {
|
||||
matchConfig.Name = "en*";
|
||||
DHCP = "yes";
|
||||
gateway = [ ];
|
||||
};
|
||||
|
||||
# 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?
|
||||
|
||||
}
|
@@ -1,39 +0,0 @@
|
||||
# Example to create a bios compatible gpt partition
|
||||
{ lib, ... }:
|
||||
{
|
||||
disko.devices = {
|
||||
disk.disk1 = {
|
||||
device = lib.mkDefault "/dev/sda";
|
||||
type = "disk";
|
||||
content = {
|
||||
type = "gpt";
|
||||
partitions = {
|
||||
boot = {
|
||||
name = "boot";
|
||||
size = "1M";
|
||||
type = "EF02";
|
||||
};
|
||||
esp = {
|
||||
name = "ESP";
|
||||
size = "500M";
|
||||
type = "EF00";
|
||||
content = {
|
||||
type = "filesystem";
|
||||
format = "vfat";
|
||||
mountpoint = "/boot";
|
||||
};
|
||||
};
|
||||
root = {
|
||||
name = "root";
|
||||
size = "100%";
|
||||
content = {
|
||||
type = "filesystem";
|
||||
format = "ext4";
|
||||
mountpoint = "/";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@@ -8,7 +8,7 @@
|
||||
|
||||
(fp /modules/grzegorz.nix)
|
||||
];
|
||||
services.spotifyd.enable = true;
|
||||
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
@@ -25,6 +25,26 @@
|
||||
|
||||
# List services that you want to enable:
|
||||
|
||||
|
||||
|
||||
services.spotifyd = {
|
||||
enable = true;
|
||||
settings.global = {
|
||||
device_name = "georg";
|
||||
use_mpris = false;
|
||||
#dbus_type = "system";
|
||||
#zeroconf_port = 1234;
|
||||
};
|
||||
};
|
||||
|
||||
networking.firewall.allowedTCPPorts = [
|
||||
# config.services.spotifyd.settings.zeroconf_port
|
||||
5353 # spotifyd is its own mDNS service wtf
|
||||
];
|
||||
|
||||
|
||||
|
||||
|
||||
# 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
|
||||
|
35
hosts/lupine/configuration.nix
Normal file
35
hosts/lupine/configuration.nix
Normal file
@@ -0,0 +1,35 @@
|
||||
{ fp, values, lupineName, ... }:
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration/${lupineName}.nix
|
||||
|
||||
(fp /base)
|
||||
(fp /misc/metrics-exporters.nix)
|
||||
|
||||
./services/gitea-runner.nix
|
||||
];
|
||||
|
||||
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";
|
||||
address = with values.hosts.${lupineName}; [ (ipv4 + "/25") (ipv6 + "/64") ];
|
||||
networkConfig.LLDP = false;
|
||||
};
|
||||
systemd.network.wait-online = {
|
||||
anyInterface = true;
|
||||
};
|
||||
|
||||
# There are no smart devices
|
||||
services.smartd.enable = false;
|
||||
|
||||
# Do not change, even during upgrades.
|
||||
# See https://search.nixos.org/options?show=system.stateVersion
|
||||
system.stateVersion = "25.05";
|
||||
}
|
@@ -5,20 +5,36 @@
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/profiles/qemu-guest.nix")
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_blk" ];
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/a949e2e8-d973-4925-83e4-bcd815e65af7";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/81D6-38D3";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0077" "dmask=0077" ];
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/82c2d7fa-7cd0-4398-8cf6-c892bc56264b"; }
|
||||
];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.ens3.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
41
hosts/lupine/hardware-configuration/lupine-2.nix
Normal file
41
hosts/lupine/hardware-configuration/lupine-2.nix
Normal file
@@ -0,0 +1,41 @@
|
||||
# IKKE EKTE BARE EN TEST
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/a949e2e8-d973-4925-83e4-bcd815e65af7";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/81D6-38D3";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0077" "dmask=0077" ];
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/82c2d7fa-7cd0-4398-8cf6-c892bc56264b"; }
|
||||
];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
0
hosts/lupine/hardware-configuration/lupine-3.nix
Normal file
0
hosts/lupine/hardware-configuration/lupine-3.nix
Normal file
0
hosts/lupine/hardware-configuration/lupine-4.nix
Normal file
0
hosts/lupine/hardware-configuration/lupine-4.nix
Normal file
0
hosts/lupine/hardware-configuration/lupine-5.nix
Normal file
0
hosts/lupine/hardware-configuration/lupine-5.nix
Normal file
45
hosts/lupine/services/gitea-runner.nix
Normal file
45
hosts/lupine/services/gitea-runner.nix
Normal file
@@ -0,0 +1,45 @@
|
||||
{ config, lupineName, ... }:
|
||||
{
|
||||
# This is unfortunately state, and has to be generated one at a time :(
|
||||
# To do that, comment out all except one of the runners, fill in its token
|
||||
# inside the sops file, rebuild the system, and only after this runner has
|
||||
# successfully registered will gitea give you the next token.
|
||||
# - oysteikt Sep 2023
|
||||
sops = {
|
||||
secrets."gitea/runners/token" = {
|
||||
key = "gitea/runners/${lupineName}";
|
||||
};
|
||||
|
||||
templates."gitea-runner-envfile" = {
|
||||
restartUnits = [
|
||||
"gitea-runner-${lupineName}.service"
|
||||
];
|
||||
content = ''
|
||||
TOKEN="${config.sops.placeholder."gitea/runners/token"}"
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
services.gitea-actions-runner.instances = {
|
||||
${lupineName} = {
|
||||
enable = true;
|
||||
name = "git-runner-${lupineName}";
|
||||
url = "https://git.pvv.ntnu.no";
|
||||
labels = [
|
||||
"debian-latest:docker://node:current-bookworm"
|
||||
"ubuntu-latest:docker://node:current-bookworm"
|
||||
];
|
||||
tokenFile = config.sops.templates."gitea-runner-envfile".path;
|
||||
};
|
||||
};
|
||||
|
||||
virtualisation.podman = {
|
||||
enable = true;
|
||||
defaultNetwork.settings.dns_enabled = true;
|
||||
autoPrune.enable = true;
|
||||
};
|
||||
|
||||
networking.dhcpcd.IPv6rs = false;
|
||||
|
||||
networking.firewall.interfaces."podman+".allowedUDPPorts = [53 5353];
|
||||
}
|
84
secrets/lupine/lupine.yaml
Normal file
84
secrets/lupine/lupine.yaml
Normal file
@@ -0,0 +1,84 @@
|
||||
gitea:
|
||||
runners:
|
||||
lupine-1: ENC[AES256_GCM,data:UcZB2p/dInvcl0yNBEohzbmcVxg/QQPXlIsaVB3M3hyxFg1gtGfUGA==,iv:OigyPfPoRIjvyiId7hiiWdNrZqyZqI3OonvJC+zYEzI=,tag:SjBsvo/IJKhFQs+PiI596g==,type:str]
|
||||
sops:
|
||||
age:
|
||||
- recipient: age1fkrypl6fu4ldsa7te4g3v4qsegnk7sd6qhkquuwzh04vguy96qus08902e
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuRW9KRUlSeVBaeFVTc29G
|
||||
UFJoU1pKWmVObXpXWjZzRWNUR082Qk5FQ2djClJmMWI0YndtVTNrZmNlcXpPSER2
|
||||
a0FMWitKeEhYSDRjR1BMbDFPcGlqYncKLS0tIGtYOFRpdllqTFJ0UGRNNzdkQ1VF
|
||||
cHEzSTlvakFYd003WkE4SzkxS0ZVb2cK4GO9xi5Z1izyAcq4qqSqeWi3tHI8bbbr
|
||||
aUuMQonbKA5XWUu6g+6pNiy225ci6ISXwnB6RoJFKd9tFYIP+3JQ0Q==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
- recipient: age17tagmpwqjk3mdy45rfesrfey6h863x8wfq38wh33tkrlrywxducs0k6tpq
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArZ1ltOVRzZm8vQXMrTUMv
|
||||
TDZSb0dQVXNLaWkrcEcwdW13WXhiMVdCM2hJCko4bGVLNzMydDBQUGVtbFZnSHZB
|
||||
eWRqY0liOEJ3bHFZN1ExMUNOUVYyaDAKLS0tIENVZjVOOUYzSnNGU3g2UEZzRFhJ
|
||||
NCttU0NNaW5XU3dENW9VYmdBUzlzbTAKD1VzA7ms5SlI4JCpWAjc7SfSTaQ+qFJU
|
||||
KvgWN+jT2/qaRL657z3XzHawZd9AValNLAgi3clNgEmhM5pQ5a5PFA==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
- recipient: age1mrnldl334l2nszuta6ywvewng0fswv2dz9l5g4qcwe3nj4yxf92qjskdx6
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJeEVQNUVHaHJObWsvNmlh
|
||||
di9zV0VwZ2JzdnpuNHBFUVV2SFUxcmRVWEZNCmMyNW54QUptWGg2bEtJM3VBbHlC
|
||||
VVVSWCtkUUxJRGZRaFNpcm9iVHNrMGcKLS0tIG1jSTdFTVAyUmV5THBNeEU3QUFF
|
||||
alF0T3Y2S0tqNlB0ZmtQUjVZdmNoNVEKdkDrrSn8QG5iVCh4etpTXVcFcyd2qK95
|
||||
OY3G77iJrxoM2BGICh6WuZfAgOgasVLzunkeX5DzF0lSuP3glzJbBA==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
- recipient: age1hmpdk4h69wxpwqk9tkud39f66hprhehxtzhgw97r6dvr7v0mx5jscsuhkn
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoUklWV3IxL3ZYbHY5NEpS
|
||||
UzMvL1k0WmtOVC9xdlRMOFppZnJJYkw1ZEU0Cjl4VllRaU94LzJvblhCcS9XUTFQ
|
||||
MXVjUnlKeVMyckhIdnBmYlo3V1BZZXMKLS0tIFJnSEpZKy80ZjdpelRaWVhZdWxF
|
||||
NS84NDRranB5ZENoRlhBT1hBVWt4VjAKmCNCCclkHLYyEnt24Hl3V2YAexuUEC94
|
||||
B4rq0kXRA187682kCVf8uz4h6qrgs+WyN6Qf4LZD1wyfWG+Sf0vTvQ==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
- recipient: age1wrssr4z4g6vl3fd3qme5cewchmmhm0j2xe6wf2meu4r6ycn37anse98mfs
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoYisrSEJKT2F4S3UwRGdN
|
||||
dFhvWjRWNjBCdnNaMGd2N3lMKy9zOVdvV3lRCm1pb2VHT2RKMXVtNnZMQUNoSk0w
|
||||
SGtiUEdhQzFNYUdXb1VYcVRWMVEvNzQKLS0tIHhwWXZDa0d0aTJvdGE5WGdiWEpv
|
||||
NTFZMUlLMWsraEVhcVpTUGN0a2QrWTgKOQkZ9TF4de2+jhw0W5uiFQt/HV22EcgO
|
||||
fdLJi4KeIyEddeuLyHks5s83jF8wFS847gKVTCEcfqtJHV9yfV7sfw==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
- recipient: age1zhxul786an743u0fascv4wtc5xduu7qfy803lfs539yzhgmlq5ds2lznt5
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1djlnZnh6RjZsVGtXTG5s
|
||||
UUVJRVJIQ1ZndTErWXBHemxGUkxaVHpYV3hzCmJBSGYwNmhOUTN0MDE0WHZmdDBP
|
||||
RkVkS0dhdnFuOGh2TDV4YU5wTHlpd3MKLS0tIFg2WnZ0NUFReGZ1TngwR2g2UmU0
|
||||
R2d6dXBldFovQ0J6cHVxMXVPd2NHYncKYbSv7BYLxyd9awJeFk3B2GnUKSHnMeMR
|
||||
gRmNsLLgByiPbtB/YXvtsSv98ioO6Xqk8TWJ11x2nfkIoem0gci7mw==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2025-07-21T01:23:58Z"
|
||||
mac: ENC[AES256_GCM,data:RcwHWNMQmOzdVpk63a7laTrpbf5sbP0xqCIyRsE7Kr4J9UYlWxpKJGpvF975xpWzAPaTbJB64vDfOZaoONp1LIf8W/v3nU7Zp2CTLIMQjxgmVyl3TR4NQYNdrv7Qtbamx+0rpTOg8gvnSLeAtH05EGbEb5EUg193p3lmbyS3haw=,iv:ykN0+RsaggzNz1aaqKl4SZyf2nVKE/Iirmh3vzQ17wU=,tag:CRjnQx5NydN4gbMDN3XD9w==,type:str]
|
||||
pgp:
|
||||
- created_at: "2025-07-21T01:23:22Z"
|
||||
enc: |-
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
hQIMA0av/duuklWYARAAxdcP2bAKtTYZl55FDQoxjH2yTZw778itZsnCdpCH+J7g
|
||||
6Fa5p8BRkZ2yu19IlMmKcgQg+ZSwRiTSJ06IODxnhiAYXJJYo0rOfDx5UgQg1mCX
|
||||
/sYqiVgmL0H5Yh6uq5/uTRFeYN/K4w/3C6wLEG2+6vUneeHRI/PkcbjHenb6Rn7K
|
||||
sQvB/f2oGUVAR/8JAzEzADVpGi7Yb7xiMLFItaQhvpZ7LdShV0zScfQcn4H4/yCY
|
||||
XoMM5uwbCsuko7ZCtzbpIyhVTayGLx5Z9zbuRb5oeZldUgqKzOTxKmcxz/PjECG0
|
||||
M4Ib+85sevrFgaF4Z9GbEGRbMivBuj8Yez7W9vTBbsIKtI5+JIxqwHezE+Tns7F3
|
||||
N4im1i7khoXGwWmf7pOZzPG6+P+GUM/xdo1tsXHdRL8WOodabtU8RaOXD/h/9puK
|
||||
ZLTLXRn3FhJNyVwu7rSd1eoOCbtLRwNkHUiBbdLCT4StmNwpRx+JfO2Wj9WLhsTG
|
||||
27Y4xneDC3sbQE0nsWdcj/opSAA6zqX2U/DGu359qF12SnYcahcG0vThCfCYIH6X
|
||||
/x5TND0716Vs5ObuAsnqlw/wjeKrILRl2j2/IBjmjlaujFRzzTW3ukRrwwwfSrFp
|
||||
ZHsstigTk9cyblKW0HTClm4UlJ36ESqUYCAw7kXYnW4kb3URo3oz+kcE+W1f5vTS
|
||||
XgE2Ql0eo/e+HycILJDepOiFRYzTcR3XzbdRDO/k6Hk8b5STBZ05JhHdD2M1xeZt
|
||||
kkzR/PJ0IgCSDVK7d7f0mg0gkKn6ehh80uWVH5pdPg752WC4Y0Y0PKu9AZi6Tl4=
|
||||
=qhzP
|
||||
-----END PGP MESSAGE-----
|
||||
fp: F7D37890228A907440E1FD4846B9228E814A2AAC
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.10.2
|
24
values.nix
24
values.nix
@@ -41,10 +41,6 @@ in rec {
|
||||
ipv4 = pvv-ipv4 209;
|
||||
ipv6 = pvv-ipv6 209;
|
||||
};
|
||||
bob = {
|
||||
ipv4 = "129.241.152.254";
|
||||
# ipv6 = ;
|
||||
};
|
||||
knutsen = {
|
||||
ipv4 = pvv-ipv4 191;
|
||||
};
|
||||
@@ -72,6 +68,26 @@ in rec {
|
||||
ipv4 = pvv-ipv4 240;
|
||||
ipv6 = pvv-ipv6 240;
|
||||
};
|
||||
lupine-1 = {
|
||||
ipv4 = pvv-ipv4 224;
|
||||
ipv6 = pvv-ipv6 224;
|
||||
};
|
||||
lupine-2 = {
|
||||
ipv4 = pvv-ipv4 225;
|
||||
ipv6 = pvv-ipv6 225;
|
||||
};
|
||||
lupine-3 = {
|
||||
ipv4 = pvv-ipv4 226;
|
||||
ipv6 = pvv-ipv6 226;
|
||||
};
|
||||
lupine-4 = {
|
||||
ipv4 = pvv-ipv4 227;
|
||||
ipv6 = pvv-ipv6 227;
|
||||
};
|
||||
lupine-5 = {
|
||||
ipv4 = pvv-ipv4 228;
|
||||
ipv6 = pvv-ipv6 228;
|
||||
};
|
||||
};
|
||||
|
||||
defaultNetworkConfig = {
|
||||
|
Reference in New Issue
Block a user