add system 'hasel'
3 files changed, 100 insertions(+), 0 deletions(-)
M flake.nix → flake.nix
@@ -126,6 +126,17 @@ ./system/hosts/r5.nix ./system/hosts/r5-hardware.nix ]; }; + hasel = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { inherit inputs; }; + modules = [ + srvos.nixosModules.server + agenix.nixosModules.default + ./packages/modules/nixos/laminar.nix + ./packages/modules/nixos/bark.nix + ./system/hosts/hasel.nix + ]; + }; smrk = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; };
A system/hosts/hasel-hardware.nix
@@ -0,0 +1,32 @@ +# 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" "sr_mod" "virtio_blk" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/76ab3165-681a-4ad6-ad58-6b81dc079870"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/DE3A-D5A2"; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; + }; + + swapDevices = + [ { device = "/dev/disk/by-uuid/140ebe6f-5a39-49d5-9b64-8d80288cb819"; } + ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; +}
A system/hosts/hasel.nix
@@ -0,0 +1,57 @@ +{ + config, + lib, + pkgs, + ... +}: +let + hostname = "hasel"; +in +{ + imports = [ + ./hasel-hardware.nix + ../roles/remote.nix + ../roles/server.nix + ]; + system.stateVersion = "26.05"; + + boot.loader = { + grub = { + enable = true; + device = "/dev/vda"; + }; + }; + services.qemuGuest.enable = true; + + environment.systemPackages = with pkgs; [ + knot-dns + ]; + + networking = { + hostName = hostname; + defaultGateway = { + address = "185.55.243.1"; + interface = "ens18"; + }; + defaultGateway6 = { + address = "2a00:1913::1"; + interface = "ens18"; + }; + nameservers = [ + "9.9.9.9" + "1.1.1.1" + ]; + interfaces = { + ens18 = { + ipv4.addresses = [ { + address = "185.55.243.110"; + prefixLength = 24; + } ]; + ipv6.addresses = [ { + address = "2a00:1913:682b::"; + prefixLength = 32; + } ]; + }; + }; + }; +}