home-manager/docs/manual/contributing/getting-started.md

1.5 KiB

Getting started

If you have not previously forked Home Manager then you need to do that first. Have a look at GitHub's Fork a repo for instructions on how to do this.

Once you have a fork of Home Manager you should create a branch starting at the most recent master branch. Give your branch a reasonably descriptive name. Commit your changes to this branch and when you are happy with the result and it fulfills Guidelines then push the branch to GitHub and create a pull request.

Assuming your clone is at $HOME/devel/home-manager then you can make the home-manager command use it by either

  1. overriding the default path by using the -I command line option:

    $ home-manager -I home-manager=$HOME/devel/home-manager
    

    or, if using flakes:

    $ home-manager --override-input home-manager ~/devel/home-manager
    

    or

  2. changing the default path by ensuring your configuration includes

    programs.home-manager.enable = true;
    programs.home-manager.path = "$HOME/devel/home-manager";
    

    and running home-manager switch to activate the change. Afterwards, home-manager build and home-manager switch will use your cloned repository.

The first option is good if you only temporarily want to use your clone.