dotfiles
My PC Dotfiles & Websitegit clone https://github.com/maydayv7/dotfiles
modules/hosts/valkyrie/default.nix (3806B)
1# Valkyrie - ASUS ROG Zephyrus G14
2{
3 config,
4 inputs,
5 ...
6} @ args: let
7 inherit (config.flake.modules) nixos homeManager;
8 inherit (config) util;
9
10 nixosModules = [
11 "v7"
12 "extbase"
13 "prompt"
14 "mobile"
15 "printer"
16 "docker"
17 "mc-server"
18 #"roblox"
19 "vfio"
20 ];
21
22 hmModules = [
23 "secrets"
24 "auth"
25 "syncthing"
26 "internet"
27 "firefox"
28 "notes"
29 "discord"
30 "spotify"
31 "vscode"
32 "zed"
33 "codex"
34 "antigravity"
35 "stream"
36 "minecraft"
37 "osu"
38 ];
39
40 mixedModules = [
41 "crypt"
42 "security"
43 "laptop"
44 "mouse"
45 "shell-utils"
46 "git"
47 "office"
48 "tools"
49 "games"
50 "latex"
51 #"flatpak"
52 #"wine"
53 "libvirt"
54 "hyprland"
55 ];
56
57 hmImports =
58 util.map.array hmModules homeManager
59 ++ util.map.array mixedModules homeManager;
60
61 disk = import ./_disk/full.nix args;
62 asus = import ./_asus {};
63 dev = import ./_dev.nix {};
64 vm = import ./_vm args;
65in {
66 configurations.nixos.valkyrie = {
67 system = "x86_64-linux";
68 module = {
69 config,
70 pkgs,
71 ...
72 }: {
73 imports =
74 util.map.array nixosModules nixos
75 ++ util.map.array mixedModules nixos
76 ++ [
77 disk.nixos
78 (asus.nixos or {})
79 (dev.nixos or {})
80 vm.nixos
81 ]
82 ++ util.map.array ["asus-zephyrus-ga402x-nvidia"] inputs.hardware.nixosModules;
83
84 networking.hostId = builtins.substring 0 8 (builtins.hashString "md5" "valkyrie");
85
86 # Localization
87 time.timeZone = "Asia/Kolkata";
88 i18n.defaultLocale = "en_IN";
89 environment.variables."LC_ALL" = "en_IN.UTF-8";
90
91 system = {
92 scheme = "secure";
93
94 # Kernel
95 kernel = "zen";
96 kernelModules = [
97 "nvme"
98 "thunderbolt"
99 "asus-armoury"
100 ];
101
102 # Nix Tools
103 nix = {
104 index = true;
105 tools = true;
106 };
107 };
108
109 # Hardware
110 hardware = {
111 cpu = {
112 model = "amd";
113 cores = 8;
114 mode = "performance";
115 };
116 gpu = {
117 enable = true;
118 model = "nvidia";
119 };
120
121 # ! # Fix build with Linux 7.2
122 nvidia.package = (pkgs.unstable.linuxPackagesFor config.boot.kernelPackages.kernel).nvidiaPackages.production;
123 };
124
125 # GUI
126 gui = {
127 display = "eDP-1";
128 wallpaper = "Quasar";
129 fancy = true;
130 };
131
132 # Minecraft Server
133 games.mc-servers = [
134 {
135 type = "fabric";
136 memory = 16;
137 port = 25565;
138 vc-port = 24454;
139 config = {
140 gamemode = "survival";
141 difficulty = "normal";
142 online-mode = false;
143 server-ip = "0.0.0.0";
144 spawn-protection = 0;
145 motd = "My World";
146 };
147 }
148 ];
149
150 # Virtualisation
151 virt.vfio = {
152 setup = true;
153 passthrough = [
154 "10de:28e0" # Graphics
155 "10de:22be" # Audio
156 ];
157 isolate = "2-4,10-12";
158 hugepages = 16;
159 };
160
161 # User
162 users.users.v7.extraGroups = [
163 "wheel"
164 "keys"
165 "adbusers"
166 "docker"
167 "i2c"
168 "input"
169 "lp"
170 "networkmanager"
171 "scanner"
172 "systemd-journal"
173 "video"
174 "minecraft"
175 "kvm"
176 "libvirtd"
177 ];
178
179 home-manager.users.v7.imports =
180 hmImports
181 ++ [
182 homeManager.v7
183 (asus.home or {})
184 (dev.home or {})
185 ];
186 };
187 };
188
189 configurations.homeManager."v7@valkyrie" = {
190 module = {
191 imports = hmImports ++ [homeManager.v7];
192 home = {
193 username = "v7";
194 homeDirectory = "/home/v7";
195 };
196 };
197 system = "x86_64-linux";
198 };
199}