- Adds full PulseAudio package configuration - Refines Bluetooth settings, enabling power-on boot and adding extra tools/configs - Switches to zen kernel and adjusts CPU microcode update option
104 lines
2.6 KiB
Nix
104 lines
2.6 KiB
Nix
# 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.
|
||
|
||
{
|
||
pkgs,
|
||
config,
|
||
lib,
|
||
modulesPath,
|
||
...
|
||
}:
|
||
|
||
{
|
||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||
|
||
## Boot ##
|
||
boot = {
|
||
loader = {
|
||
systemd-boot = {
|
||
enable = true;
|
||
# When using plymouth, initrd can expand by a lot each time, so limit how many we keep around
|
||
configurationLimit = lib.mkDefault 10;
|
||
};
|
||
efi.canTouchEfiVariables = true;
|
||
timeout = 3;
|
||
};
|
||
|
||
# Use the zen kernel for better performance
|
||
kernelPackages = pkgs.linuxPackages_zen;
|
||
|
||
initrd = {
|
||
systemd.enable = true;
|
||
verbose = false;
|
||
availableKernelModules = [
|
||
"nvme"
|
||
"xhci_pci"
|
||
"ahci"
|
||
"usb_storage"
|
||
"usbhid"
|
||
"sd_mod"
|
||
];
|
||
kernelModules = [ ];
|
||
};
|
||
kernelModules = [ "kvm-amd" ];
|
||
extraModulePackages = [ ];
|
||
};
|
||
|
||
# For less permission issues with SSHFS
|
||
programs.fuse.userAllowOther = true;
|
||
|
||
# File system configurations
|
||
fileSystems = {
|
||
"/" = {
|
||
device = "/dev/disk/by-uuid/d38c182c-6f05-4bf3-8a45-5532c10fd342";
|
||
fsType = "ext4";
|
||
};
|
||
|
||
"/boot" = {
|
||
device = "/dev/disk/by-uuid/5B39-A7CB";
|
||
fsType = "vfat";
|
||
options = [
|
||
"fmask=0077"
|
||
"dmask=0077"
|
||
];
|
||
};
|
||
|
||
"/pool" = {
|
||
device = "${config.hostSpec.username}@cloud:/pool";
|
||
fsType = "sshfs";
|
||
options = [
|
||
"defaults"
|
||
"reconnect"
|
||
"_netdev"
|
||
"allow_other"
|
||
"identityfile=/home/${config.hostSpec.username}/.ssh/pve"
|
||
];
|
||
};
|
||
|
||
"/home/${config.hostSpec.username}/git" = {
|
||
fsType = "none";
|
||
device = "/pool/git";
|
||
options = [
|
||
"bind"
|
||
"nofail"
|
||
];
|
||
};
|
||
};
|
||
|
||
swapDevices = [ { device = "/dev/disk/by-uuid/6586847d-eba9-4317-9077-98ae9b2812c9"; } ];
|
||
|
||
# Time and networking configurations
|
||
time.hardwareClockInLocalTime = true; # Fixes windows dual-boot time issues
|
||
|
||
# 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.<interface>.useDHCP`.
|
||
# networking.useDHCP = lib.mkDefault true;
|
||
# networking.interfaces.enp5s0.useDHCP = lib.mkDefault true;
|
||
|
||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableAllFirmware;
|
||
|
||
}
|