{ description = "Home Manager configuration flake for JSL"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; _1password-shell-plugins.url = "github:1Password/shell-plugins"; }; outputs = { self, nixpkgs, ... }@inputs: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; lib = pkgs.lib; in { homeManagerModules.default = { ... }: { imports = [ ./nixosModules/options.nix ./home.nix ./git.nix inputs._1password-shell-plugins.hmModules.default ]; nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "1password-cli" ]; }; nixosModules.default = { config, ... }: { imports = [ ./nixosModules/options.nix ./nixosModules/scripts.nix inputs.home-manager.nixosModules.default ]; home-manager = { useGlobalPkgs = true; useUserPackages = true; extraSpecialArgs = { inherit inputs; }; users.${config.user} = { imports = [ self.homeManagerModules.default { user = config.user; stateVersion = config.stateVersion; } ] ++ config.extraImports; }; }; }; }; }