add server

This commit is contained in:
kp2pml30 2025-01-26 19:33:07 +04:00
parent 284b131058
commit 95f65d9c03
18 changed files with 358 additions and 112 deletions

View file

@ -4,25 +4,23 @@
, ...
}:
{
hardware.enableRedistributableFirmware = true;
boot = {
loader.grub = {
enable = true;
devices = [ "nodev" ];
efiSupport = true;
useOSProber = true;
};
loader.efi.canTouchEfiVariables = true;
initrd.availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "sd_mod" "sdhci_pci" ];
initrd.kernelModules = [ ];
extraModulePackages = [ ];
options.kp2pml30.boot = {
efiGrub = lib.mkEnableOption "";
};
networking = {
networkmanager.enable = true;
useDHCP = lib.mkDefault true;
imports = [
./efiGrub.nix
];
config = {
hardware.enableRedistributableFirmware = true;
boot = {
loader.efi.canTouchEfiVariables = true;
initrd.availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "sd_mod" "sdhci_pci" "uas" "usbcore" ];
initrd.kernelModules = [ ];
extraModulePackages = [ ];
};
};
}

17
nix/hardware/efiGrub.nix Normal file
View file

@ -0,0 +1,17 @@
{ pkgs
, config
, lib
, inputs
, rootPath
, ...
}:
let
cfg = config.kp2pml30.boot;
in lib.mkIf cfg.efiGrub {
boot.loader.grub = {
enable = true;
devices = [ "nodev" ];
efiSupport = true;
useOSProber = true;
};
}

View file

@ -39,4 +39,9 @@
support32Bit.enable = true;
};
};
networking = {
networkmanager.enable = true;
useDHCP = lib.mkDefault true;
};
}

58
nix/hardware/server.nix Normal file
View file

@ -0,0 +1,58 @@
{ pkgs
, inputs
, lib
, ...
}:
{
imports = [
./common.nix
];
boot.initrd.availableKernelModules = [
"xhci_pci"
"ehci_pci"
"ahci"
"usbhid"
"usb_storage"
"sd_mod"
"virtio_balloon"
"virtio_blk"
"virtio_pci"
"virtio_ring"
];
fileSystems."/" = {
device = "/dev/disk/by-uuid/4a450f44-a611-4f12-9628-8d5da7cf0180";
fsType = "ext4";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/985D-9086";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
boot = {
loader.grub = {
enable = true;
#efiSupport = true;
#efiInstallAsRemovable = true;
devices = [ "/dev/vda" ];
};
};
services.qemuGuest.enable = true;
networking = {
hostName = "v168671";
interfaces.ens3.ipv4.addresses = [ {
prefixLength = 24;
address = "185.121.233.63";
} ];
defaultGateway = "185.121.233.1";
nameservers = [
"1.1.1.1"
"8.8.8.8"
];
};
}