{ description = "Home Manager configuration flake for JSL"; inputs = { # Specify the source of Home Manager and Nixpkgs. nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { nixpkgs, home-manager, ... }: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; lib = pkgs.lib; in { homeManagerModules.default = { config, pkgs, ... }: { options.user = lib.mkOption { type = lib.types.str; description = "The username for the Home Manager configuration."; }; options.profile = lib.mkOption { type = lib.types.enum [ "personal" "work" ]; default = "personal"; description = "Profile type for the Home Manager configuration."; }; imports = [ ./home.nix ] ++ lib.optionals (config.profile == "personal") [ ./git-personal.nix ]; }; }; }