From 5d1bca33e1e55ef1e16f88876bf6381839d7c636 Mon Sep 17 00:00:00 2001 From: Ember 'n0emis' Keske Date: Sun, 17 Jul 2022 23:01:55 +0200 Subject: [PATCH] yate-dialup: bootstrap host --- flake.nix | 4 ++ hosts/nixdeploy/configuration.nix | 4 +- hosts/yate-dialup/configuration.nix | 45 ++++++++++++++++++++ hosts/yate-dialup/hardware-configuration.nix | 37 ++++++++++++++++ hosts/yate-dialup/voip.nix | 7 +++ 5 files changed, 95 insertions(+), 2 deletions(-) create mode 100644 hosts/yate-dialup/configuration.nix create mode 100644 hosts/yate-dialup/hardware-configuration.nix create mode 100644 hosts/yate-dialup/voip.nix diff --git a/flake.nix b/flake.nix index 5f32bb0..7900608 100644 --- a/flake.nix +++ b/flake.nix @@ -47,6 +47,10 @@ deployment.targetHost = "yate.bula22.de"; }; + yate-dialup = { ... }: { + deployment.targetHost = "yate-dialup.bula22.de"; + }; + pre-router = { config, pkgs, ... }: { deployment.targetHost = "fd00:10:42:10::25"; deployment.keys = { diff --git a/hosts/nixdeploy/configuration.nix b/hosts/nixdeploy/configuration.nix index b0dc971..a36c19c 100644 --- a/hosts/nixdeploy/configuration.nix +++ b/hosts/nixdeploy/configuration.nix @@ -31,8 +31,8 @@ "2a01:4f8:1c0c:8221::1" ]; dns = [ - "10.42.10.1" - "2a01:4f8:1c0c:8221::1" + "10.42.10.8" + "2a01:4f8:1c0c:8221::8" ]; }; }; diff --git a/hosts/yate-dialup/configuration.nix b/hosts/yate-dialup/configuration.nix new file mode 100644 index 0000000..68cad93 --- /dev/null +++ b/hosts/yate-dialup/configuration.nix @@ -0,0 +1,45 @@ +{ config, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ./voip.nix + ]; + + # Use the systemd-boot EFI boot loader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "yate-dialup"; + + networking.useNetworkd = true; + systemd.network = { + networks."10-ens18" = { + matchConfig = { + Name = "ens18"; + }; + address = [ + "10.42.10.9/24" + "2a01:4f8:1c0c:8221::9/64" + ]; + gateway = [ + "10.42.10.1" + "2a01:4f8:1c0c:8221::1" + ]; + dns = [ + "10.42.10.8" + "2a01:4f8:1c0c:8221::8" + ]; + }; + }; + + # 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 = "22.05"; # Did you read the comment? + +} diff --git a/hosts/yate-dialup/hardware-configuration.nix b/hosts/yate-dialup/hardware-configuration.nix new file mode 100644 index 0000000..66821dd --- /dev/null +++ b/hosts/yate-dialup/hardware-configuration.nix @@ -0,0 +1,37 @@ +# 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 + "/profiles/qemu-guest.nix") + ]; + + boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/a2e0233a-3bfd-4c17-8139-41ebe0733ec4"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/5BC9-396D"; + fsType = "vfat"; + }; + + swapDevices = [ ]; + + # 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..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.ens18.useDHCP = lib.mkDefault true; + + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} + diff --git a/hosts/yate-dialup/voip.nix b/hosts/yate-dialup/voip.nix new file mode 100644 index 0000000..d9ad53c --- /dev/null +++ b/hosts/yate-dialup/voip.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, ... }: + +{ + services.yate = { + enable = true; + }; +}