nixos/devices/pc/default.nix

194 lines
5.9 KiB
Nix
Raw Normal View History

2024-01-16 22:41:03 +08:00
inputs:
{
config =
{
nixos =
{
system =
{
fileSystems =
{
mount =
{
2024-08-17 12:28:58 +08:00
vfat."/dev/disk/by-uuid/7A60-4232" = "/boot";
btrfs."/dev/mapper/root1" = { "/nix" = "/nix"; "/nix/rootfs/current" = "/"; };
2024-01-16 22:41:03 +08:00
};
2024-09-26 11:46:06 +08:00
luks.auto =
2024-01-16 22:41:03 +08:00
{
"/dev/disk/by-uuid/4c73288c-bcd8-4a7e-b683-693f9eed2d81" = { mapper = "root1"; ssd = true; };
2024-01-16 22:41:03 +08:00
"/dev/disk/by-uuid/4be45329-a054-4c20-8965-8c5b7ee6b35d" =
2024-07-23 17:48:53 +08:00
{ mapper = "swap"; ssd = true; before = [ "root1" ]; };
2024-01-16 22:41:03 +08:00
};
swap = [ "/dev/mapper/swap" ];
resume = "/dev/mapper/swap";
2024-07-23 17:48:53 +08:00
rollingRootfs = {};
2024-01-16 22:41:03 +08:00
};
2024-08-18 12:56:49 +08:00
grub.windowsEntries."7AF0-D2F2" = "Windows";
2024-01-16 22:41:03 +08:00
nix =
{
marches =
[
"znver2" "znver3" "znver4"
# FXSR SAHF XSAVE
"sandybridge"
# FXSR PREFETCHW RDRND SAHF
"silvermont"
# FXSR HLE LZCNT PREFETCHW RDRND SAHF XSAVE
"broadwell"
# FXSR HLE LZCNT PREFETCHW RDRND SAHF SGX XSAVE
2024-09-12 23:39:33 +08:00
"skylake" "cascadelake"
2024-01-16 22:41:03 +08:00
# AVX-VNNI CLDEMOTE GFNI-SSE HRESET KL LZCNT MOVDIR64B MOVDIRI PCONFIG PREFETCHW PTWRITE RDRND
# SERIALIZE SGX WAITPKG WIDEKL XSAVE XSAVEOPT
"alderlake"
];
2024-09-26 11:46:06 +08:00
remote.master = { enable = true; hosts = [ "xmupc1" "xmupc2" ]; };
2024-05-24 11:41:09 +08:00
githubToken.enable = true;
2024-01-16 22:41:03 +08:00
};
nixpkgs =
{ march = "znver4"; cuda = { enable = true; capabilities = [ "8.9" ]; forwardCompat = false; }; };
2024-06-26 14:53:27 +08:00
kernel =
{
2024-07-01 02:41:09 +08:00
variant = "xanmod-latest";
patches = [ "hibernate-progress" "amdgpu" ];
2024-06-26 14:53:27 +08:00
modules.modprobeConfig =
[ "options iwlwifi power_save=0" "options iwlmvm power_scheme=1" "options iwlwifi uapsd_disable=1" ];
};
2024-01-16 22:41:03 +08:00
sysctl.laptop-mode = 5;
gui.enable = true;
2024-01-16 22:41:03 +08:00
};
hardware =
{
cpus = [ "amd" ];
gpu =
{
type = "amd+nvidia";
nvidia = { prime.busId = { amd = "5:0:0"; nvidia = "1:0:0"; }; dynamicBoost = true; driver = "latest"; };
};
legion = {};
};
2024-01-16 22:41:03 +08:00
virtualization =
{
kvmHost = { enable = true; gui = true; };
2024-01-16 22:41:03 +08:00
nspawn = [ "arch" "ubuntu-22.04" "fedora" ];
};
services =
{
2024-03-25 12:57:25 +08:00
snapper.enable = true;
2024-01-16 22:41:03 +08:00
samba =
{
enable = true;
hostsAllowed = "192.168. 127.";
shares =
{
media.path = "/run/media/chn";
home.path = "/home/chn";
mnt.path = "/mnt";
share.path = "/home/chn/share";
};
};
2024-03-31 14:17:00 +08:00
sshd = {};
xray.client =
{
2024-06-04 01:05:29 +08:00
enable = true;
dnsmasq.hosts = builtins.listToAttrs
(
(builtins.map
(name: { inherit name; value = "74.211.99.69"; })
[ "mirism.one" "beta.mirism.one" "ng01.mirism.one" "initrd.vps6.chn.moe" ])
++ (builtins.map
(name: { inherit name; value = "0.0.0.0"; })
[
"log-upload.mihoyo.com" "uspider.yuanshen.com" "ys-log-upload.mihoyo.com"
"dispatchcnglobal.yuanshen.com"
])
2024-09-15 15:35:30 +08:00
++ [{ name = "4006024680.com"; value = "192.168.199.1"; }]
);
};
2024-03-24 13:55:06 +08:00
acme.cert."debug.mirism.one" = {};
2024-01-16 22:41:03 +08:00
frpClient =
{
enable = true;
serverName = "frp.chn.moe";
user = "pc";
stcpVisitor."yy.vnc".localPort = 6187;
};
nix-serve = { enable = true; hostname = "nix-store.chn.moe"; };
smartd.enable = true;
misskey.instances.misskey.hostname = "xn--qbtm095lrg0bfka60z.chn.moe";
beesd.instances.root = { device = "/"; hashTableSizeMB = 4096; threads = 4; };
wireguard =
{
enable = true;
peers = [ "vps6" ];
publicKey = "l1gFSDCeBxyf/BipXNvoEvVvLqPgdil84nmr5q6+EEw=";
wireguardIp = "192.168.83.3";
};
gamemode = { enable = true; drmDevice = 1; };
2024-06-08 21:03:33 +08:00
slurm =
{
enable = true;
2024-09-16 16:50:57 +08:00
master = "pc";
node.pc =
{
name = "pc"; address = "127.0.0.1";
cpu = { cores = 16; threads = 2; };
memoryMB = 90112;
gpus."4060" = 1;
};
partitions.localhost = [ "pc" ];
2024-09-22 17:33:37 +08:00
tui = { cpuMpiThreads = 4; cpuOpenmpThreads = 4; gpus = [ "4060" ]; };
2024-06-08 21:03:33 +08:00
};
2024-07-12 14:23:55 +08:00
ollama = {};
2024-09-17 12:00:55 +08:00
waydroid = {};
2024-09-17 14:09:54 +08:00
docker = {};
2024-01-16 22:41:03 +08:00
};
bugs = [ "xmunet" "backlight" "amdpstate" ];
2024-01-16 22:41:03 +08:00
};
2024-07-25 22:47:49 +08:00
boot =
{
kernelParams = [ "acpi_osi=!" ''acpi_osi="Windows 2015"'' ];
2024-07-25 22:47:49 +08:00
loader.grub =
{
extraFiles =
{
2024-08-17 11:53:01 +08:00
"DisplayEngine.efi" = ./bios/DisplayEngine.efi;
"SetupBrowser.efi" = ./bios/SetupBrowser.efi;
"UiApp.efi" = ./bios/UiApp.efi;
"EFI/Boot/Bootx64.efi" = ./bios/Bootx64.efi;
2024-07-25 22:47:49 +08:00
};
extraEntries =
''
menuentry 'Advanced UEFI Firmware Settings' {
insmod fat
insmod chain
2024-08-17 12:28:58 +08:00
chainloader @bootRoot@/EFI/Boot/Bootx64.efi
2024-07-25 22:47:49 +08:00
}
'';
};
};
2024-06-14 10:17:16 +08:00
# 禁止鼠标等在睡眠时唤醒
2024-06-14 18:53:58 +08:00
services.udev.extraRules = ''ACTION=="add", ATTR{power/wakeup}="disabled"'';
2024-03-11 16:44:25 +08:00
networking.extraHosts = "74.211.99.69 mirism.one beta.mirism.one ng01.mirism.one";
2024-03-06 20:09:18 +08:00
services.colord.enable = true;
2024-06-06 12:25:48 +08:00
environment.persistence."/nix/archive" =
{
hideMounts = true;
users.chn.directories = builtins.map
(dir: { directory = "repo/${dir}"; user = "chn"; group = "chn"; mode = "0755"; })
[ "BPD-paper" "kurumi-asmr" "BPD-paper-old" "SiC-20240705" ];
2024-06-06 12:25:48 +08:00
};
specialisation =
{
nvidia.configuration =
2024-03-07 12:54:16 +08:00
{
nixos =
{
hardware.gpu.type = inputs.lib.mkForce "nvidia";
services.gamemode.drmDevice = inputs.lib.mkForce 0;
};
system.nixos.tags = [ "nvidia" ];
};
};
2024-01-16 22:41:03 +08:00
};
}