diff --git a/index.html b/index.html index 5fed822da..116189980 100644 --- a/index.html +++ b/index.html @@ -1,6 +1,6 @@
ca.desrt.dconf or dconf.service?+ — reconfigure a user environment
This manual will eventually describe how to install, use, and extend Home Manager.
@@ -49,7 +49,7 @@ option. On NixOS you can control this option using the Add the appropriate Home Manager channel. If you are following Nixpkgs master or an unstable channel you can run
$ nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager -$ nix-channel --update
and if you follow a Nixpkgs version 23.05 channel you can run
$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.05.tar.gz home-manager +$ nix-channel --update
and if you follow a Nixpkgs version 23.11 channel you can run
$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.11.tar.gz home-manager $ nix-channel --update
Run the Home Manager installation command and create the first Home Manager generation: @@ -72,7 +72,7 @@ deployed through NixOps.
To make the NixOS module available for use you mu your system configuration. This is most conveniently done by adding a Home Manager channel to the root user. For example, if you are following Nixpkgs master or an unstable channel, you can run
$ sudo nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager -$ sudo nix-channel --update
and if you follow a Nixpkgs version 23.05 channel, you can run
$ sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.05.tar.gz home-manager +$ sudo nix-channel --update
and if you follow a Nixpkgs version 23.11 channel, you can run
$ sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.11.tar.gz home-manager $ sudo nix-channel --update
It is then possible to add
imports = [ <home-manager/nixos> ];
to your system configuration.nix file, which will introduce a new
NixOS option called home-manager.users whose type is an attribute
set that maps user names to Home Manager configurations.
For example, a NixOS configuration may include the lines
users.users.eve.isNormalUser = true;
@@ -82,7 +82,7 @@ home-manager.users.eve = { pkgs, ... }: {
# The state version is required and should stay at the version you
# originally installed.
- home.stateVersion = "23.05";
+ home.stateVersion = "23.11";
};and after a sudo nixos-rebuild switch the user eve’s environment should
include a basic Bash configuration and the packages atool and httpie.
If nixos-rebuild switch does not result in the environment you expect,
you can take a look at the output of the Home Manager activation script output using
$ systemctl status "home-manager-$USER.service"
If you do not plan on having Home Manager manage your shell @@ -107,7 +107,7 @@ tool.
To make the NixOS module available for use you must and if you follow a Nixpkgs version 23.05 channel, you can run and if you follow a Nixpkgs version 23.11 channel, you can run It is then possible to add to your nix-darwin For example, a nix-darwin configuration may include the lines and after a If you do not plan on having Home Manager manage your shell
@@ -161,7 +161,7 @@ error: A definition for option `programs.emacs.enable' is not of type `boolean'.
# You can update Home Manager without changing this value. See
# the Home Manager release notes for a list of state version
# changes in each release.
- home.stateVersion = "23.05";
+ home.stateVersion = "23.11";
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
@@ -187,7 +187,7 @@ error: A definition for option `programs.emacs.enable' is not of type `boolean'.
# You can update Home Manager without changing this value. See
# the Home Manager release notes for a list of state version
# changes in each release.
- home.stateVersion = "23.05";
+ home.stateVersion = "23.11";
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
@@ -301,11 +301,11 @@ so it must be present before bootstrap of Home Manager from the flake.
See Section 2.1, “Configuration Example” for introduction about
writing a Home Manager configuration.$ nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
-$ nix-channel --update$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.05.tar.gz home-manager
+$ nix-channel --update
$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.11.tar.gz home-manager
$ nix-channel --update
imports = [ <home-manager/nix-darwin> ];
configuration.nix file, which will introduce a
new NixOS option called home-manager whose type is an attribute set
that maps user names to Home Manager configurations.users.users.eve = {
@@ -120,7 +120,7 @@ home-manager.users.eve = { pkgs, ... }: {
# The state version is required and should stay at the version you
# originally installed.
- home.stateVersion = "23.05";
+ home.stateVersion = "23.11";
};darwin-rebuild switch the user eve’s environment
should include a basic Bash configuration and the packages atool and
httpie.
To prepare an initial Home Manager configuration for your logged in user,
you can run the Home Manager init command directly from its flake.
For example, if you are using the unstable version of Nixpkgs or NixOS, -then to generate and activate a basic configuration run the command
$ nix run home-manager/master -- init --switch
For Nixpkgs or NixOS version 23.05 run
$ nix run home-manager/release-23.05 -- init --switch
This will generate a flake.nix and a home.nix file in
+then to generate and activate a basic configuration run the command
$ nix run home-manager/master -- init --switch
For Nixpkgs or NixOS version 23.11 run
$ nix run home-manager/release-23.11 -- init --switch
This will generate a flake.nix and a home.nix file in
~/.config/home-manager, creating the directory if it does not exist.
If you omit the --switch option then the activation will not happen.
This is useful if you want to inspect and edit the configuration before activating it.
$ nix run home-manager/$branch -- init $ # Edit files in ~/.config/home-manager -$ nix run home-manager/$branch -- init --switch
Where $branch is one of master or release-23.05.
After the initial activation has completed successfully then building +$ nix run home-manager/$branch -- init --switch
Where $branch is one of master or release-23.11.
After the initial activation has completed successfully then building and activating your flake-based configuration is as simple as
$ home-manager switch
It is possible to override the default configuration directory, if you want. For example,
$ nix run home-manager/$branch -- init --switch ~/hmconf $ # And after the initial activation. diff --git a/release-notes.html b/release-notes.html index 5d89c88b2..8e4f8ecfb 100644 --- a/release-notes.html +++ b/release-notes.html @@ -1,5 +1,11 @@ -Appendix E. Release Notes This section lists the release notes for stable versions of Home Manager and the current unstable version.
This is the current unstable branch and the information in this section is therefore not final.
This release has the following notable changes:
- +
Appendix E. Release Notes This section lists the release notes for stable versions of Home Manager and the current unstable version.
This is the current unstable branch and the information in this section is therefore not final.
This release has the following notable changes:
- +The
.releasefile in the Home Manager project root has been removed. + Please use therelease.jsonfile instead. +The 23.11 release branch became stable in November, 2023.
This release has the following notable changes:
- When using
programs.fish.enable, the setup code forhome.sessionVariablesis now translated with babelfish. @@ -24,10 +30,10 @@ to Theservices.password-store-syncmodule has been removed. Useservices.git-syncinstead. -The 23.05 release branch became the stable branch in May, 2023.
The 23.05 release branch became the stable branch in May, 2023.
This release has the following notable changes:
Firefox add-ons are now managed per-profile. That is, if you are currently having
programs.firefox.extensions = [ foo bar ];in your configuration then you must change it to
programs.firefox.profiles.myprofile.extensions = [ foo bar ];@@ -45,7 +51,7 @@ The recommended installation method for a standalone Home Manager setup with Nix flakes uses this new command. The standard installation method remains the same but uses the new command internally. See Section 3.2, “Standalone setup” for more. -
The state version in this release includes the changes below. These changes are only active if the
home.stateVersionoption is set to "23.05" or later.
The options
- @@ -57,7 +63,7 @@ The options
wayland.windowManager.sway.config.floating.titlebarnow default to
truewhich is consistent with the default values for -those options used byi3andsway.The 22.11 release branch became the stable branch in November, 2022.
The 22.11 release branch became the stable branch in November, 2022.
This release has the following notable changes:
The
home.stateVersionoption no longer has a default value. It used to default to “18.09”, which was the Home Manager version that introduced the option. If your configuration does not explicitly @@ -112,7 +118,7 @@ You can migrate the blur settings to useservices.picom.settingsinstead.- The
services.comptonmodule has been removed. It was deprecated in release 20.03. Useservices.picominstead. -The state version in this release includes the changes below. These changes are only active if the
home.stateVersionoption is set to "22.11" or later.
- The
services.mpd.musicDirectoryoption now defaults to the value ofxdg.userDirs.musicifxdg.userDirs.enableis @@ -128,7 +134,7 @@ activation script to commands that are explicitly specified. make the activation script as reproducible as possible and honoring the user’sPATHreduces reproducibility.If you need to run a command in an activation script block then refer to the command by its absolute command path, such as -
${pkgs.hello}/bin/hello.The 22.05 release branch became the stable branch in May, 2022.
The 22.05 release branch became the stable branch in May, 2022.
This release has the following notable changes:
- The
programs.waybar.settings.modulesoption was removed. Waybar modules should now be declared directly underprograms.waybar.settings.@@ -140,12 +146,12 @@ such as the
home-managercommand line tool and the then you can do so through the Home Manager Weblate project.- A new module,
launchd.agentswas added. Use this to enable services based on macOS LaunchAgents. -The state version in this release includes the changes below. These changes are only active if the
home.stateVersionoption is set to "22.05" or later.
The
programs.waybar.settingsoption now allows defining modules directly underprograms.waybar.settings. Defining modules underprograms.waybar.settings.moduleswill now be an error. For example, -programs.waybar.settings.modules."custom/my-module" = { };becomes
programs.waybar.settings."custom/my-module" = { };The 21.11 release branch became the stable branch in November, 2021.
The 21.11 release branch became the stable branch in November, 2021.
This release has the following notable changes:
All Home Manager modules are now loaded on all platforms. With this change you will get a more descriptive error message if you attempt to enable a module that is incompatible with the host platform. @@ -169,7 +175,7 @@ Rofi version 1.7.0 removed many options that were used by the module and replace Taskwarrior version 2.6.0 respects XDG Specification for the config file now. Option
programs.taskwarrior.configand friends now generate the config file at$XDG_CONFIG_HOME/task/taskrcinstead of~/.taskrc. -The state version in this release includes the changes below. These changes are only active if the
home.stateVersionoption is set to "21.11" or later.
- The
home.keyboardoption now defaults tonull, meaning that Home Manager won’t do any keyboard layout management. For example,setxkbmapwon’t be run in X sessions. @@ -179,7 +185,7 @@ For example,programs.pet.settings.editor = "nvim";becomes
programs.pet.settings.General.editor = "nvim";The
programs.waybar.settingsoption now allows defining modules directly underprograms.waybar.settings. For example, -programs.waybar.settings.modules."custom/my-module" = { };becomes
programs.waybar.settings."custom/my-module" = { };The 21.05 release branch became the stable branch in May, 2021.
The 21.05 release branch became the stable branch in May, 2021.
This release has the following notable changes:
The ‘opt-programs.broot.verbs` option is now a list rather than an attribute set. To migrate, move the keys of the attrset into the list items’
invocationkeys. For example, @@ -296,14 +302,14 @@ options inprograms.htop. To migrate, set the htop highlight_megabytes = 1; highlight_threads = 1; }; -};
The 20.09 release branch became the stable branch in late September, 2020.
The 20.09 release branch became the stable branch in late September, 2020.
The state version in this release includes the changes below. These
changes are only active if the home.stateVersion option is set to
"20.09" or later.
The options home.homeDirectory and home.username no
@@ -352,7 +358,7 @@ The options wayland.windowManager.sway.config.bars
binding_mode #2f343a #900000 #ffffff
}
-}
The 20.03 release branch became the stable branch in April, 2020.
The 20.03 release branch became the stable branch in April, 2020.
This release has the following notable changes:
Assigning a list to the home.file, xdg.configFile,
and xdg.dataFile options is now deprecated and will produce a
warning message if used. Specifically, if your configuration currently
@@ -408,7 +414,7 @@ configuration
user = "jd";
}
};
Support for the list form will be removed in Home Manager version -20.09.
The state version in this release includes the changes below. These
changes are only active if the home.stateVersion option is set to
"20.03" or later.
programs.zsh.history.path option is no longer prepended
@@ -420,7 +426,7 @@ The queries before urls in
its main window. This makes sense in the case when one has a lot of URLs and
few queries.
-The 19.09 release branch became the stable branch in October, 2019.
The 19.09 release branch became the stable branch in October, 2019.
This release has the following notable changes:
programs.firefox.enableGoogleTalk and
programs.firefox.enableIcedTea options are now deprecated
and will only work if Firefox ESR 52.x is used.
@@ -428,7 +434,7 @@ The programs.firefox.enableGoogleTalk and
The home-manager tool now provides an uninstall sub-command that
can be used to uninstall Home Manager, if used in the standalone
mode. That is, not as a NixOS module.
-The state version in this release includes the changes below. These
changes are only active if the home.stateVersion option is set to
"19.09" or later.
programs.firefox.package option now expects a wrapped
@@ -437,7 +443,7 @@ The home.keyboard.layout and
home.keyboard.variant now default to null, which indicates
that the system value should be used.
-The 19.03 release branch became the stable branch in April, 2019.
The 19.03 release branch became the stable branch in April, 2019.
This release has the following notable changes:
The home.file.<name>.source option now allows source files to be
hidden, that is, having a name starting with the . character. It
also allows the source file name to contain characters not typically
@@ -454,10 +460,10 @@ encounter errors.
“defined multiple times” then you need to use the
mkForce
function. For example,
systemd.user.services.foo.Service.ExecStart = "/foo/bar";
becomes
systemd.user.services.foo.Service.ExecStart = lib.mkForce "/foo/bar";
We had to make this change because the old merging was causing too -many confusing situations for people.
The state version in this release includes the changes below. These
changes are only active if the home.stateVersion option is set
to “19.03” or later.
programs.beets.enable that defaults
to false. Before the module would be active if the
programs.beets.settings option was non-empty.
-