diff --git a/devices/disko/vds.nix b/devices/disko/vds.nix index 7c28981..706153c 100644 --- a/devices/disko/vds.nix +++ b/devices/disko/vds.nix @@ -1,7 +1,7 @@ { disko.devices = { disk = { - my-disk = { + main = { device = "/dev/vda"; type = "disk"; content = { @@ -9,13 +9,19 @@ partitions = { ESP = { type = "EF00"; - size = "500M"; + size = "512M"; content = { type = "filesystem"; format = "vfat"; mountpoint = "/boot"; }; }; + swap = { + size = "2G"; + content = { + type = "swap"; + }; + }; root = { size = "100%"; content = { diff --git a/devices/hardware/vds.nix b/devices/hardware/vds.nix new file mode 100755 index 0000000..669b605 --- /dev/null +++ b/devices/hardware/vds.nix @@ -0,0 +1,78 @@ +{ + config, + lib, + pkgs, + modulesPath, + ... +}: +{ + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + boot = { + initrd = { + availableKernelModules = [ + "ahci" + "xhci_pci" + "usbhid" + "usb_storage" + "sd_mod" + "sdhci_pci" + ]; + }; + kernel = { + sysctl = { + "fs.inotify.max_user_watches" = "204800"; + }; + }; + kernelModules = [ + "kvm-intel" + "coretemp" + ]; + }; + + fileSystems = { + "/" = { + device = "/dev/disk/by-partlabel/disk-main-root"; + fsType = "ext4"; + }; + "/boot" = { + device = "/dev/disk/by-partlabel/disk-main-ESP"; + fsType = "vfat"; + options = [ + "fmask=0022" + "dmask=0022" + ]; + }; + }; + + # fileSystems."/" = + # { device = "/dev/disk/by-uuid/8acccc34-edc6-4934-886c-ef4b778ca24a"; + # fsType = "ext4"; + # }; + # + # fileSystems."/boot" = + # { device = "/dev/disk/by-uuid/DDF2-C940"; + # fsType = "vfat"; + # options = [ "fmask=0022" "dmask=0022" ]; + # }; + # + # fileSystems."/home/otreca/External" = + # { device = "/dev/disk/by-uuid/37e53ebc-5343-a94d-9fe2-0ca39e13a8de"; + # fsType = "ext4"; + # }; + + 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.eno1.useDHCP = lib.mkDefault true; + # networking.interfaces.tailscale0.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp3s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/devices/vds.nix b/devices/vds.nix index 0a40f1f..5a53374 100755 --- a/devices/vds.nix +++ b/devices/vds.nix @@ -14,6 +14,8 @@ let (modulesPath + "/profiles/qemu-guest.nix") ./disko/vds.nix + ./hardware/vds.nix + disko.nixosModules.disko nixos-facter-modules.nixosModules.facter @@ -30,24 +32,24 @@ let pkgs.lazygit ]; - boot.loader.grub = { - # no need to set devices, disko will add all devices that have a EF02 partition to the list already - # devices = [ ]; - efiSupport = true; - efiInstallAsRemovable = true; + # boot.loader.grub = { + # # no need to set devices, disko will add all devices that have a EF02 partition to the list already + # # devices = [ ]; + # efiSupport = true; + # efiInstallAsRemovable = true; + # }; + boot = { + kernelPackages = pkgs.linuxPackages_xanmod_stable; + hardwareScan = true; + loader = { + systemd-boot.enable = lib.mkDefault true; + efi.canTouchEfiVariables = lib.mkDefault true; + }; }; - #boot = { - #kernelPackages = pkgs.linuxPackages_xanmod_stable; # pkgs.linuxPackages_xanmod_stable - #hardwareScan = true; - #loader = { - # systemd-boot.enable = lib.mkDefault true; - # efi.canTouchEfiVariables = lib.mkDefault true; - #}; - #}; - #swapDevices = - # [ { device = "/dev/disk/by-partlabel/disk-main-swap"; } - # ]; + swapDevices = [ + { device = "/dev/disk/by-partlabel/disk-main-swap"; } + ]; users = { users = {