整理 NixOS 配置:面向 i7-12700F + RTX 4060 的模块化桌面配置

从当前 /etc/nixos 拆出 common/plasma/中文/应用/打印模块,新增 NVIDIA 独显支持,并去掉原机硬件 UUID。
This commit is contained in:
whc
2026-09-19 15:50:30 +08:00
commit ad9bf8035e
13 changed files with 641 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
{ config, pkgs, ... }:
{
imports = [
./hardware.nix
../../modules/common.nix
../../modules/desktop-plasma.nix
../../modules/chinese.nix
../../modules/nvidia.nix
../../modules/gaming.nix
../../modules/printing.nix
../../modules/apps.nix
];
networking.hostName = "desktop";
# 12700F 桌面机:性能调度即可
powerManagement.cpuFreqGovernor = "performance";
system.stateVersion = "26.05";
}
+53
View File
@@ -0,0 +1,53 @@
# 目标机(i7-12700F + RTX 4060)上必须重新生成本文件,当前为占位骨架。
#
# 安装时在目标机执行:
# sudo nixos-generate-config --root /mnt # 若在 live 安装环境
# # 或已装系统上:
# sudo nixos-generate-config
# 然后把生成的 hardware-configuration.nix 内容覆盖本文件(保留下面 nvidia 相关不要被冲掉的话,
# 显卡驱动在 modules/nvidia.nix,本文件只放磁盘/CPU/固件)。
#
# 切勿带着本仓库里旧机器(Ultra 9 / 另一块盘 UUID)的分区信息开机。
{ config, lib, pkgs, modulesPath, ... }:
{
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot.initrd.availableKernelModules = [
"xhci_pci"
"ahci"
"nvme"
"usbhid"
"uas"
"sd_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
# === 必须按目标机实际分区改 UUID / 挂载点 ===
# fileSystems."/" = { device = "/dev/disk/by-uuid/REPLACE-ROOT"; fsType = "ext4"; };
# fileSystems."/boot" = { device = "/dev/disk/by-uuid/REPLACE-ESP"; fsType = "vfat"; options = [ "fmask=0077" "dmask=0077" ]; };
# swapDevices = [ { device = "/dev/disk/by-uuid/REPLACE-SWAP"; } ];
fileSystems."/" = lib.mkDefault {
device = "/dev/disk/by-uuid/REPLACE-ME-ROOT-UUID";
fsType = "ext4";
};
fileSystems."/boot" = lib.mkDefault {
device = "/dev/disk/by-uuid/REPLACE-ME-BOOT-UUID";
fsType = "vfat";
options = [
"fmask=0077"
"dmask=0077"
];
};
swapDevices = lib.mkDefault [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
hardware.enableRedistributableFirmware = true;
}