1{
2 inputs,
3 ...
4}:
5{
6 imports = [
7 ./gui
8 ./development
9 ./services
10 inputs.nixos-hardware.nixosModules.common-cpu-amd-pstate
11 inputs.nixos-hardware.nixosModules.common-gpu-amd
12 ];
13
14 gensokyo = {
15 traits = {
16 gui = true;
17 games = true;
18 };
19 presets = {
20 vmetrics = true;
21 secureboot = true;
22 };
23 system-manager = {
24 enable = true;
25 flakeLocation = "/home/cassie/gensokyo";
26 };
27 };
28
29 # boot.kernelPackages = pkgs.linuxPackages_latest;
30 # Use the systemd-boot EFI boot loader.
31 boot.loader.systemd-boot = {
32 enable = true;
33 consoleMode = "max";
34 };
35 boot.initrd.systemd.enable = true;
36
37 boot.loader.efi.canTouchEfiVariables = true;
38 boot.loader.efi.efiSysMountPoint = "/efi";
39
40 fileSystems."/".options = [
41 "compress=zstd:5"
42 "autodefrag"
43 ];
44
45 networking.firewall = {
46 allowedTCPPorts = [ 59153 ];
47 allowedTCPPortRanges = [
48 {
49 from = 25560;
50 to = 25570;
51 }
52 ];
53 allowedUDPPortRanges = [
54 {
55 from = 25560;
56 to = 25570;
57 }
58
59 # plasmo voice
60 {
61 from = 55111;
62 to = 55199;
63 }
64 ];
65 };
66
67 # muh unfree software!!!!!!!!!!!!!!!!!!
68 nixpkgs.config.allowUnfree = true;
69
70 system.stateVersion = "23.11"; # Did you read the comment? Yes.
71}