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}