From b956c8da1e649582fe7d8afbe0a41a947270a030 Mon Sep 17 00:00:00 2001 From: Evan Reichard Date: Thu, 27 Mar 2025 10:11:28 -0400 Subject: [PATCH] wip --- flake.nix | 15 +++++++- hosts/mbp-asahi.nix | 83 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 hosts/mbp-asahi.nix diff --git a/flake.nix b/flake.nix index 7b39d9f..b3e466c 100644 --- a/flake.nix +++ b/flake.nix @@ -4,13 +4,17 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; disko.url = "github:nix-community/disko"; + apple-silicon = { + url = "github:tpwrules/nixos-apple-silicon"; + inputs.nixpkgs.follows = "nixpkgs"; + }; nixos-generators = { url = "github:nix-community/nixos-generators"; inputs.nixpkgs.follows = "nixpkgs"; }; }; - outputs = { self, nixpkgs, disko, nixos-generators }: + outputs = { self, nixpkgs, disko, nixos-generators, apple-silicon }: let mkSystem = { systemConfig ? { }, moduleConfig }: nixpkgs.lib.nixosSystem { system = "x86_64-linux"; @@ -46,6 +50,15 @@ # NixOS Configurations nixosConfigurations = { + # MBP NixOS Asahi + mpb-asahi = nixpkgs.lib.nixosSystem { + system = "aarch64-linux"; + modules = [ + apple-silicon.nixosModules.default + ./hosts/mbp-asahi.nix + ]; + }; + # Office Server (LLaMA / ADS-B) lin-va-office = mkSystem { systemConfig = ./hosts/office-server.nix; diff --git a/hosts/mbp-asahi.nix b/hosts/mbp-asahi.nix new file mode 100644 index 0000000..c3b38ae --- /dev/null +++ b/hosts/mbp-asahi.nix @@ -0,0 +1,83 @@ +{ pkgs, lib, ... }: + +# let +# home-manager = builtins.fetchTarball { +# url = "https://github.com/nix-community/home-manager/archive/release-24.11.tar.gz"; +# sha256 = "156hc11bb6xiypj65q6gzkhw1gw31dwv6dfh6rnv20hgig1sbfld"; +# }; +# in +{ + # imports = [ + # "${home-manager}/nixos" + # ]; + + # Generic Config + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux"; + time.timeZone = "America/New_York"; + + # Boot Loader Config + boot.loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = false; + }; + + # Networking Config + networking = { + firewall.enable = true; + hostName = "mpb-nixos"; + networkmanager.enable = true; + networkmanager.wifi.backend = "iwd"; + useDHCP = lib.mkDefault true; + wireless.iwd.enable = true; + }; + + # Hardware Config + hardware = { + asahi = { + peripheralFirmwareDirectory = ./firmware; + useExperimentalGPUDriver = true; + }; + + # graphics = { + # enable = true; + # enable32Bit = true; + # }; + + bluetooth.enable = true; + bluetooth.powerOnBoot = true; + }; + + # # User Config + # users.users.evanreichard = { + # isNormalUser = true; + # home = "/home/evanreichard"; + # extraGroups = [ "wheel" "networkmanager" "video" ]; + # shell = pkgs.bash; + # }; + + # # Home Manager Config + # home-manager = { + # useGlobalPkgs = true; + # useUserPackages = true; + # users.evanreichard = import ../home-manager/home.nix; + # }; + + # HyprLand Config + programs.hyprland.enable = true; + # environment.sessionVariables.NIXOS_OZONE_WL = "1"; + # environment.sessionVariables.WLR_NO_HARDWARE_CURSORS = "1"; + + # System Packages + environment.systemPackages = with pkgs; [ + ghostty + firefox + htop + tmux + vim + wget + + hyprlock + hypridle + ]; +}