diff --git a/machines/zoidberg/default.nix b/machines/zoidberg/default.nix new file mode 100644 index 0000000..72b99f2 --- /dev/null +++ b/machines/zoidberg/default.nix @@ -0,0 +1,23 @@ +{ config, pkgs, lib, ... }: + +{ + imports = [ + ./hardware-configuration.nix + ]; + + # services.spotifyd.enable = true; + + # services.mount-samba.enable = true; + + boot.loader.timeout = 15; + + de.enable = true; + services.xserver.desktopManager.kodi.enable = true; + + # virt-manager + virtualisation.libvirtd.enable = true; + programs.dconf.enable = true; + virtualisation.spiceUSBRedirection.enable = true; + environment.systemPackages = with pkgs; [ virt-manager ]; + users.users.googlebot.extraGroups = [ "libvirtd" ]; +} diff --git a/machines/zoidberg/hardware-configuration.nix b/machines/zoidberg/hardware-configuration.nix new file mode 100644 index 0000000..bb15f4a --- /dev/null +++ b/machines/zoidberg/hardware-configuration.nix @@ -0,0 +1,44 @@ +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + # boot + efi.enable = true; + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" ]; + boot.initrd.kernelModules = [ "dm-snapshot" ]; + + # kernel + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + # disks + remoteLuksUnlock.enable = true; + boot.initrd.luks.devices."enc-pv" = { + device = "/dev/disk/by-uuid/04231c41-2f13-49c0-8fce-0357eea67990"; + allowDiscards = true; + + # Fetch key from USB drive + keyFileSize = 4096; + keyFile = "/dev/disk/by-id/usb-USB_Flash_Disk_10622352-0:0"; + fallbackToPassword = true; + }; + fileSystems."/" = + { + device = "/dev/disk/by-uuid/39ee326c-a42f-49f3-84d9-f10091a903cd"; + fsType = "btrfs"; + }; + fileSystems."/boot" = + { + device = "/dev/disk/by-uuid/954B-AB3E"; + fsType = "vfat"; + }; + swapDevices = + [{ device = "/dev/disk/by-uuid/44e36954-9f1c-49ae-af07-72b240f93a95"; }]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/machines/zoidberg/properties.nix b/machines/zoidberg/properties.nix new file mode 100644 index 0000000..923ad9f --- /dev/null +++ b/machines/zoidberg/properties.nix @@ -0,0 +1,14 @@ +{ + hostNames = [ + "zoidberg" + ]; + + arch = "x86_64-linux"; + + systemRoles = [ + "personal" + "media-center" + ]; + + hostKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHvdC1EiLqSNVmk5L1p7cWRIrrlelbK+NMj6tEBrwqIq"; +}