{ self, inputs, globalArgs, ... }: let common = [ { programs.home-manager.enable = true; } ./common/zsh ./common/direnv ]; mkPkgs = system: import inputs.nixpkgs { inherit system; config = { allowUnfree = true; allowBroken = true; allowInsecure = true; }; overlays = [ self.overlays.default ]; }; extraSpecialArgs = globalArgs; in { flake.homeConfigurations = let nattoModules = [ ./natto ./common/fonts ./common/emacs ./common/laptop.nix inputs.agenix.homeManagerModules.default ] ++ common; in { natto-laptop = inputs.home-manager.lib.homeManagerConfiguration { inherit extraSpecialArgs; modules = nattoModules ++ [ { isLaptop = true; } ]; pkgs = mkPkgs "x86_64-linux"; }; natto = inputs.home-manager.lib.homeManagerConfiguration { inherit extraSpecialArgs; modules = nattoModules; pkgs = mkPkgs "x86_64-linux"; }; } // { spark = inputs.home-manager.lib.homeManagerConfiguration { inherit extraSpecialArgs; modules = [ { home = { homeDirectory = "/home/spark"; username = "spark"; stateVersion = "23.05"; }; } ] ++ common; pkgs = mkPkgs "aarch64-linux"; }; bat = inputs.home-manager.lib.homeManagerConfiguration { inherit extraSpecialArgs; modules = [ { home = { homeDirectory = "/home/bat"; username = "bat"; stateVersion = "23.05"; }; } ] ++ common; pkgs = mkPkgs "x86_64-linux"; }; spin = inputs.home-manager.lib.homeManagerConfiguration { inherit extraSpecialArgs; modules = [ { home = { homeDirectory = "/home/spin"; username = "spin"; stateVersion = "23.05"; }; } ] ++ common; pkgs = mkPkgs "x86_64-linux"; }; kero = inputs.home-manager.lib.homeManagerConfiguration { inherit extraSpecialArgs; modules = [ { home = { homeDirectory = "/home/kero"; username = "kero"; stateVersion = "24.05"; }; } ] ++ common; pkgs = mkPkgs "aarch64-linux"; }; amneesh = inputs.home-manager.lib.homeManagerConfiguration { inherit extraSpecialArgs; modules = [ ./common/emacs ./amneesh ] ++ common; pkgs = mkPkgs "x86_64-linux"; }; }; }