# JSL Home ## Usage Shell alias for "nix home manager update" ```shell nhmu ``` ### Function ```nix { description = "Machine-specific Home Manager configuration"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; john-home-config = { url = "git+https://gitea.john-stream.com/john/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { nixpkgs, ... }@inputs: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; mkHomeJSL = inputs.john-home-config.lib.mkHomeConfiguration; userName = "john"; in { homeConfigurations."${userName}" = mkHomeJSL userName; }; } ``` ### Module ```nix { description = "Home Manager configuration of john"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; john-home-config = { url = "path:/home/john/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; inputs.home-manager.follows = "home-manager"; }; }; outputs = { nixpkgs, ... }@inputs: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; homeManagerConfiguration = inputs.home-manager.lib.homeManagerConfiguration; jslDefault = inputs.john-home-config.homeManagerModules.default; userName = "john"; in { homeConfigurations."${userName}" = homeManagerConfiguration { inherit pkgs; modules = [ jslDefault { user = "${userName}"; # Add any additional configuration here } ./home.nix # Add other home manager modules here ]; }; }; } ```