{ description = "flake for matt-nixos"; inputs = { # Common nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; # Desktop nix-flatpak.url = "github:gmodena/nix-flatpak"; impermanence.url = "github:nix-community/impermanence"; home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; lanzaboote = { url = "github:nix-community/lanzaboote/v0.3.0"; inputs.nixpkgs.follows = "nixpkgs"; }; nixos-apple-silicon.url = "github:tpwrules/nixos-apple-silicon"; nix-darwin.url = "github:LnL7/nix-darwin"; # Pi4 nixos-hardware.url = "github:NixOS/nixos-hardware/master"; }; outputs = { self, nixpkgs, chaotic, lanzaboote, impermanence, nix-flatpak, home-manager , nixos-hardware, nix-darwin, nixos-apple-silicon }@inputs: { nixosConfigurations = { # Desktop "matt-nixos" = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ impermanence.nixosModules.impermanence lanzaboote.nixosModules.lanzaboote nix-flatpak.nixosModules.nix-flatpak ./hosts/desktop/configuration.nix ./share/impermanence chaotic.nixosModules.default home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.matt = import ./hosts/desktop/home.nix; } ]; }; # mac nix "mac-nixos" = nixpkgs.lib.nixosSystem { system = "aarch64-linux"; modules = [ nixos-apple-silicon.nixosModules.apple-silicon-support ./hosts/mac-nixos/configuration.nix home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.matt = import ./hosts/mac-nixos/home.nix; } ]; }; # Pi4 "nixos-pi4" = nixpkgs.lib.nixosSystem { system = "aarch64-linux"; modules = [ nixos-hardware.nixosModules.raspberry-pi-4 ./hosts/pi4/configuration.nix ]; }; }; darwinConfigurations = { "MacBook-Pro" = nix-darwin.lib.darwinSystem { system = "aarch64-darwin"; modules = [ ./hosts/mac/configuration.nix home-manager.darwinModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.mattjallen = import ./hosts/mac/home.nix; } ]; }; }; # Expose the package set, including overlays, for convenience. darwinPackages = self.darwinConfigurations."MacBook-Pro".pkgs; # Set Git commit hash for darwin-version. system.configurationRevision = self.rev or self.dirtyRev or null; }; }