141 lines
4.5 KiB
Nix
141 lines
4.5 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.
|
||
{
|
||
config,
|
||
lib,
|
||
pkgs,
|
||
modulesPath,
|
||
systemName,
|
||
...
|
||
}:
|
||
|
||
{
|
||
imports = [
|
||
(modulesPath + "/installer/scan/not-detected.nix")
|
||
];
|
||
|
||
boot.initrd.availableKernelModules =
|
||
[ ]
|
||
++ (lib.optionals (systemName == "pc") [
|
||
"xhci_pci"
|
||
"ahci"
|
||
"nvme"
|
||
"usb_storage"
|
||
"usbhid"
|
||
"sd_mod"
|
||
])
|
||
++ (lib.optionals (systemName == "laptop") [
|
||
"vmd"
|
||
"xhci_pci"
|
||
"nvme"
|
||
"usb_storage"
|
||
"sd_mod"
|
||
]);
|
||
boot.initrd.kernelModules = [ ];
|
||
boot.kernelModules =
|
||
[ ]
|
||
++ (lib.optionals (systemName == "pc") [ "kvm-amd" "btusb"])
|
||
++ (lib.optionals (systemName == "laptop") [ "kvm-intel" ]);
|
||
boot.extraModulePackages = [ ];
|
||
boot.kernelParams = [
|
||
# Most common working combination in 2024/2025
|
||
"btusb.enable_autosuspend=0"
|
||
"btusb.reset=1"
|
||
];
|
||
|
||
fileSystems."/" = lib.mkMerge [
|
||
(lib.mkIf (systemName == "pc") {
|
||
device = "/dev/disk/by-uuid/fdcbb840-4b35-4023-a048-599b0c5161d6";
|
||
fsType = "btrfs";
|
||
})
|
||
(lib.mkIf (systemName == "laptop") {
|
||
device = "/dev/disk/by-uuid/6aa7c67d-a0a5-4928-b16b-9c7991fee7ab";
|
||
fsType = "ext4";
|
||
})
|
||
];
|
||
|
||
fileSystems."/boot" = lib.mkMerge [
|
||
(lib.mkIf (systemName == "pc") {
|
||
device = "/dev/disk/by-uuid/E1B6-9089";
|
||
fsType = "vfat";
|
||
})
|
||
(lib.mkIf (systemName == "laptop") {
|
||
device = "/dev/disk/by-uuid/FF4B-819D";
|
||
fsType = "vfat";
|
||
options = [
|
||
"fmask=0077"
|
||
"dmask=0077"
|
||
];
|
||
})
|
||
];
|
||
|
||
fileSystems."/home" = lib.mkMerge [
|
||
(lib.mkIf (systemName == "pc") {
|
||
device = "/dev/disk/by-uuid/d226a8ed-10eb-452e-9284-1ff994a7f179";
|
||
fsType = "btrfs";
|
||
})
|
||
];
|
||
fileSystems."/home/mrfluffy/Games" = lib.mkMerge [
|
||
(lib.mkIf (systemName == "pc") {
|
||
device = "/dev/disk/by-uuid/54188f21-d525-4681-a9d4-b798363eef17";
|
||
fsType = "ext4";
|
||
})
|
||
];
|
||
|
||
|
||
#fileSystems."/server" = lib.mkIf (systemName == "pc") { # or remove the mkIf if you want it on both
|
||
# device = "//192.168.1.8/mrfluffy"; # adjust the share name if it’s not the home share
|
||
# fsType = "cifs";
|
||
# options = let
|
||
# # Separate credentials from the Nix store (very important for security)
|
||
# credFile = "/etc/nixos/smb-credentials-mrfluffy";
|
||
# in [
|
||
# # Basic recommended options
|
||
# "credentials=${credFile}"
|
||
# "gid=users" # make files belong to the "users" group (or your preferred group)
|
||
# "uid=1000" # replace with your user’s UID, or use "uid=${config.users.users.yourname.uid}"
|
||
# "file_mode=0664"
|
||
# "dir_mode=0775"
|
||
# "nofail" # ← this makes the mount OPTIONAL (boot continues if unreachable)
|
||
# "noauto" # don’t mount automatically at boot (optional, combine with x-systemd.automount)
|
||
# "x-systemd.automount" # creates a systemd automount unit → mounts on first access
|
||
# "x-systemd.mount-timeout=15" # don’t wait forever
|
||
# "vers=3.0" # force SMB3 if the server supports it (recommended)
|
||
# # "iocharset=utf8" # usually not needed with modern servers
|
||
# # "cache=loose" # improves performance for some workloads
|
||
# ];
|
||
#};
|
||
|
||
swapDevices =
|
||
[ ]
|
||
++ (lib.optionals (systemName == "pc") [
|
||
{
|
||
device = "/dev/disk/by-uuid/ccf41b96-c45f-47e0-8541-cd865f5d2ec6";
|
||
}
|
||
])
|
||
++ (lib.optionals (systemName == "laptop") [
|
||
{
|
||
device = "/dev/disk/by-uuid/b416c3bd-861b-4b0c-aa84-6962b2e6a47d";
|
||
}
|
||
]);
|
||
|
||
# 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.enp6s0.useDHCP = lib.mkDefault true;
|
||
# networking.interfaces.wlp4s0f0u8.useDHCP = lib.mkDefault true;
|
||
|
||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||
hardware = lib.mkMerge [
|
||
(lib.mkIf (systemName == "pc") {
|
||
cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||
})
|
||
(lib.mkIf (systemName == "laptop") {
|
||
cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||
})
|
||
];
|
||
}
|