diff --git a/flake.nix b/flake.nix index 61aabd2..6b2fd09 100644 --- a/flake.nix +++ b/flake.nix @@ -74,6 +74,7 @@ nixbox = mkNixos "x86_64" [./nixos/hosts/nixbox.nix]; thinkpad = mkNixos "x86_64" [./nixos/hosts/thinkpad.nix]; + voyager = mkNixos "aarch64" [./nixos/hosts/voyager]; darwin-arm-minimal-vm = mkNixos "aarch64" [./nixos/hosts/vms/aarch64-darwin-host/minimal.nix]; darwin-arm-homeconsole-vm = mkNixos "aarch64" [./nixos/hosts/vms/aarch64-darwin-host/home-console.nix]; diff --git a/nixos/hosts/voyager/default.nix b/nixos/hosts/voyager/default.nix new file mode 100755 index 0000000..4657504 --- /dev/null +++ b/nixos/hosts/voyager/default.nix @@ -0,0 +1,66 @@ +{ + inputs, + config, + lib, + pkgs, + modulesPath, + ... +}: { + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ../profiles/hyprland.nix + ../users/willem/home/linux.nix + ../modules/zerotier.nix + inputs.nixos-apple-silicon.nixosModules.apple-silicon-support + ]; + + boot.initrd.availableKernelModules = ["usb_storage" "sdhci_pci"]; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/62169b05-efa5-482c-9664-6683b6d474ce"; + fsType = "ext4"; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/3CAD-1DF4"; + fsType = "vfat"; + }; + + swapDevices = []; + + networking.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux"; + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = false; + + hardware.asahi.peripheralFirmwareDirectory = ./firmware; + + hardware.asahi = { + withRust = true; + addEdgeKernelConfig = true; + useExperimentalGPUDriver = true; + experimentalGPUInstallMode = "overlay"; + }; + + systemd.services.limit-charge = { + enable = true; + description = "Limit battery charge to 80%."; + wantedBy = ["multi-user.target"]; + serviceConfig = { + User = "root"; + Group = "root"; + }; + script = '' + ${pkgs.coreutils}/bin/echo 80 > /sys/class/power_supply/macsmc-battery/charge_control_end_threshold + ''; + }; + + hardware.opengl.enable = true; + networking.wireless.iwd = { + enable = true; + settings.General.EnableNetworkConfiguration = true; + }; + + networking.hostName = "voyager"; +} diff --git a/nixos/hosts/voyager/firmware/all_firmware.tar.gz b/nixos/hosts/voyager/firmware/all_firmware.tar.gz new file mode 100755 index 0000000..b1bfb43 Binary files /dev/null and b/nixos/hosts/voyager/firmware/all_firmware.tar.gz differ diff --git a/nixos/hosts/voyager/firmware/kernelcache.release.mac13j b/nixos/hosts/voyager/firmware/kernelcache.release.mac13j new file mode 100755 index 0000000..71881bf Binary files /dev/null and b/nixos/hosts/voyager/firmware/kernelcache.release.mac13j differ