1{
2 inputs,
3 pkgs,
4 lib,
5 ...
6}:
7{
8 imports = [
9 ./steam.nix
10 inputs.nixos-hardware.nixosModules.apple-t2
11 inputs.nixos-hardware.nixosModules.common-cpu-intel
12 ];
13
14 gensokyo = {
15 traits = {
16 gui = true;
17 games = true;
18 portable = true;
19 hidpi = true;
20 };
21 presets = {
22 vmetrics = true;
23 };
24 system-manager = {
25 enable = true;
26 flakeLocation = "/home/cassie/gensokyo";
27 };
28 };
29
30 # Use the systemd-boot EFI boot loader.
31 boot.loader.systemd-boot.enable = true;
32 boot.loader.efi.canTouchEfiVariables = true;
33 boot.loader.efi.efiSysMountPoint = "/boot";
34
35 # development
36 # services.redis.servers."".enable = true;
37
38 boot.initrd.systemd.enable = true;
39 hardware.apple.touchBar = {
40 enable = true;
41 settings = {
42 FontTemplate = "Hurmit Nerd Font";
43 };
44 };
45 hardware.firmware = [
46 inputs.self.packages.${pkgs.system}.brcmfmac
47 ];
48
49 hardware.apple-t2.kernelChannel = "stable";
50 specialisation.latest-kernel.configuration.hardware.apple-t2.kernelChannel = lib.mkForce "latest";
51
52 # experimental
53 boot.kernelParams = [ "mem_sleep_default=s2idle" ];
54 systemd = {
55 services.tiny-dfr = {
56 wantedBy = [
57 "post-resume.target"
58 "dev-tiny_dfr_display.device"
59 "dev-tiny_dfr_backlight.device"
60 "dev-tiny_dfr_display_backlight.device"
61 ];
62 after = [ "post-resume.target" ];
63 };
64 };
65
66 environment.etc."systemd/timesyncd.conf.d/50-save-clock.conf".text = ''
67 [Time]
68 SaveIntervalSec=30
69 '';
70
71 environment.systemPackages = [
72 pkgs.jetbrains.idea-ultimate
73 pkgs.prismlauncher
74 ];
75
76 zramSwap.enable = true;
77
78 # muh unfree software!!!!!!!!!!!!!!!!!!
79 nixpkgs.config.allowUnfree = true;
80
81 system.stateVersion = "23.05"; # Did you read the comment? Yes.
82}