Begin getting unifi/openstack setup working
All checks were successful
/ dev-shell (push) Successful in 18s
/ terraform-providers (push) Successful in 11s
/ rust-packages (push) Successful in 23s
/ check (push) Successful in 1m29s

Now I can create an instance, get NixOS on it, with
working IPv6 connectivity
This commit is contained in:
Kaare Hoff Skovgaard 2025-07-08 16:33:18 +02:00
parent 1945038c90
commit fbed2265dd
Signed by: khs
GPG key ID: C7D890804F01E9F0
14 changed files with 47 additions and 18 deletions

View file

@ -34,7 +34,7 @@ in
boot.kernelParams = lib.mkIf (system == "aarch64-linux") [ "console=tty" ];
zramSwap.enable = lib.mkDefault true;
khscodes.systemd-boot.enable = lib.mkDefault true;
khscodes.qemu-guest.enable = true;
khscodes.virtualisation.qemu-guest.enable = true;
networking = {
useDHCP = false;
useNetworkd = false;

View file

@ -0,0 +1 @@
{ ... }: { }

View file

@ -5,7 +5,7 @@
...
}:
let
cfg = config.khscodes.hetzner-instance;
cfg = config.khscodes.infrastructure.hetzner-instance;
fqdn = config.khscodes.fqdn;
firewallTcpRules = lib.lists.map (p: {
direction = "in";
@ -47,7 +47,7 @@ let
lib.strings.removePrefix "${builtins.head split}." fqdn;
in
{
options.khscodes.hetzner-instance = {
options.khscodes.infrastructure.hetzner-instance = {
enable = lib.mkEnableOption "enables generating a opentofu config";
dnsNames = lib.mkOption {
type = lib.types.listOf lib.types.str;
@ -210,7 +210,7 @@ in
}
];
khscodes.provisioning.pre = {
khscodes.infrastructure.provisioning.pre = {
modules = modules;
secretsSource = cfg.secretsSource;
endpoints = [

View file

@ -5,7 +5,7 @@
...
}:
let
cfg = config.khscodes.khs-openstack-instance;
cfg = config.khscodes.infrastructure.khs-openstack-instance;
fqdn = config.khscodes.fqdn;
firewallTcpRules = lib.lists.flatten (
lib.lists.map (p: [
@ -69,7 +69,7 @@ let
lib.strings.removePrefix "${builtins.head split}." fqdn;
in
{
options.khscodes.khs-openstack-instance = {
options.khscodes.infrastructure.khs-openstack-instance = {
enable = lib.mkEnableOption "enables generating a opentofu config for khs openstack instance";
dnsNames = lib.mkOption {
type = lib.types.listOf lib.types.str;
@ -237,7 +237,7 @@ in
}
];
khscodes.provisioning = {
khscodes.infrastructure.provisioning = {
pre = {
modules = modules;
secretsSource = cfg.secretsSource;

View file

@ -6,7 +6,7 @@
...
}:
let
cfg = config.khscodes.provisioning;
cfg = config.khscodes.infrastructure.provisioning;
provisioning = {
modules = lib.mkOption {
type = lib.types.listOf lib.types.anything;
@ -37,7 +37,7 @@ let
};
in
{
options.khscodes.provisioning = {
options.khscodes.infrastructure.provisioning = {
pre = provisioning;
post = provisioning;
preConfig = lib.mkOption {
@ -56,7 +56,7 @@ in
};
config = {
khscodes.provisioning.preConfig =
khscodes.infrastructure.provisioning.preConfig =
if lib.lists.length cfg.pre.modules > 0 then
inputs.terranix.lib.terranixConfiguration {
system = pkgs.hostPlatform.system;
@ -64,7 +64,7 @@ in
}
else
null;
khscodes.provisioning.postConfig =
khscodes.infrastructure.provisioning.postConfig =
if lib.lists.length cfg.post.modules > 0 then
inputs.terranix.lib.terranixConfiguration {
system = pkgs.hostPlatform.system;

View file

@ -22,6 +22,6 @@ in
};
boot.loader.grub.efiSupport = false;
boot.loader.timeout = 1;
khscodes.qemu-guest.enable = true;
khscodes.virtualisation.qemu-guest.enable = true;
};
}

View file

@ -0,0 +1,8 @@
{ ... }:
{ }
# let
# modules = lib.khscodes.dirsInPath ./.;
# in
# {
# imports = lib.lists.map (d: import d args) modules;
# }

View file

@ -0,0 +1,10 @@
# TODO: Why is this needed just for this directory?
# In the other directories this will create the modules twice.
# Perhaps because there's only a single sub directory here?
args@{ lib, ... }:
let
modules = lib.khscodes.dirsInPath ./.;
in
{
imports = lib.lists.map (d: import d args) modules;
}

View file

@ -5,10 +5,10 @@
...
}:
let
cfg = config.khscodes.qemu-guest;
cfg = config.khscodes.virtualisation.qemu-guest;
in
{
options.khscodes.qemu-guest = {
options.khscodes.virtualisation.qemu-guest = {
enable = lib.mkEnableOption "Configures machine with NixOS profile for qemu guest";
};