mirror of
https://github.com/nix-community/home-manager.git
synced 2026-06-05 21:02:51 +00:00
deploy: 1a95e2efb4
This commit is contained in:
24
index.xhtml
24
index.xhtml
@@ -29,7 +29,7 @@
|
||||
<div class="titlepage">
|
||||
<div>
|
||||
<div><h1 class="title"><a id="home-manager-manual"></a>Home Manager Manual</h1></div>
|
||||
<div><h2 class="subtitle">Version 26.05 (unstable)</h2></div>
|
||||
<div><h2 class="subtitle">Version 26.05</h2></div>
|
||||
</div>
|
||||
<hr />
|
||||
</div>
|
||||
@@ -85,7 +85,7 @@ Nix option. On NixOS you can control this option using the
|
||||
system option.</p></li><li class="listitem"><p>Add the appropriate Home Manager channel. If you are following
|
||||
Nixpkgs master or an unstable channel you can run</p><pre><code class="programlisting shell">$ nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
|
||||
$ nix-channel --update
|
||||
</code></pre><p>and if you follow a Nixpkgs version 25.11 channel you can run</p><pre><code class="programlisting shell">$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-25.11.tar.gz home-manager
|
||||
</code></pre><p>and if you follow a Nixpkgs version 26.05 channel you can run</p><pre><code class="programlisting shell">$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-26.05.tar.gz home-manager
|
||||
$ nix-channel --update
|
||||
</code></pre></li><li class="listitem"><p>Run the Home Manager installation command and create the first Home
|
||||
Manager generation:</p><pre><code class="programlisting shell">$ nix-shell '<home-manager>' -A install
|
||||
@@ -114,7 +114,7 @@ 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</p><pre><code class="programlisting shell">$ sudo nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
|
||||
$ sudo nix-channel --update
|
||||
</code></pre><p>and if you follow a Nixpkgs version 25.11 channel, you can run</p><pre><code class="programlisting shell">$ sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-25.11.tar.gz home-manager
|
||||
</code></pre><p>and if you follow a Nixpkgs version 26.05 channel, you can run</p><pre><code class="programlisting shell">$ sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-26.05.tar.gz home-manager
|
||||
$ sudo nix-channel --update
|
||||
</code></pre><p>It is then possible to add</p><pre><code class="programlisting nix">imports = [ <home-manager/nixos> ];
|
||||
</code></pre><p>to your system <code class="literal">configuration.nix</code> file, which will introduce a new
|
||||
@@ -122,7 +122,7 @@ NixOS option called <code class="literal">home-manager.users</code> whose type i
|
||||
that maps user names to Home Manager configurations.</p><p>Alternatively, home-manager installation can be done declaratively through configuration.nix using the following syntax:</p><pre><code class="programlisting nix">{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
home-manager = builtins.fetchTarball https://github.com/nix-community/home-manager/archive/release-25.11.tar.gz;
|
||||
home-manager = builtins.fetchTarball https://github.com/nix-community/home-manager/archive/release-26.05.tar.gz;
|
||||
in
|
||||
{
|
||||
imports =
|
||||
@@ -137,7 +137,7 @@ in
|
||||
|
||||
# The state version is required and should stay at the version you
|
||||
# originally installed.
|
||||
home.stateVersion = "25.11";
|
||||
home.stateVersion = "26.05";
|
||||
};
|
||||
}
|
||||
</code></pre><p>For example, a NixOS configuration may include the lines</p><pre><code class="programlisting nix">users.users.eve.isNormalUser = true;
|
||||
@@ -152,7 +152,7 @@ home-manager.users.eve = { pkgs, ... }: {
|
||||
# You should not change this value, even if you update Home Manager. If you do
|
||||
# want to update the value, then make sure to first check the Home Manager
|
||||
# release notes.
|
||||
home.stateVersion = "25.11"; # Please read the comment before changing.
|
||||
home.stateVersion = "26.05"; # Please read the comment before changing.
|
||||
|
||||
};
|
||||
</code></pre><p>and after a <code class="literal">sudo nixos-rebuild switch</code> the user eve’s environment
|
||||
@@ -192,7 +192,7 @@ into your system configuration. This is most conveniently done by adding
|
||||
a Home Manager channel. For example, if you are following Nixpkgs master
|
||||
or an unstable channel, you can run</p><pre><code class="programlisting shell">$ nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
|
||||
$ nix-channel --update
|
||||
</code></pre><p>and if you follow a Nixpkgs version 25.11 channel, you can run</p><pre><code class="programlisting shell">$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-25.11.tar.gz home-manager
|
||||
</code></pre><p>and if you follow a Nixpkgs version 26.05 channel, you can run</p><pre><code class="programlisting shell">$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-26.05.tar.gz home-manager
|
||||
$ nix-channel --update
|
||||
</code></pre><p>It is then possible to add</p><pre><code class="programlisting nix">imports = [ <home-manager/nix-darwin> ];
|
||||
</code></pre><p>to your nix-darwin <code class="literal">configuration.nix</code> file, which will introduce a
|
||||
@@ -207,7 +207,7 @@ home-manager.users.eve = { pkgs, ... }: {
|
||||
|
||||
# The state version is required and should stay at the version you
|
||||
# originally installed.
|
||||
home.stateVersion = "25.11";
|
||||
home.stateVersion = "26.05";
|
||||
};
|
||||
</code></pre><p>and after a <code class="literal">darwin-rebuild switch</code> the user eve’s environment should
|
||||
include a basic Bash configuration and the packages atool and httpie.</p><p>If you do not plan on having Home Manager manage your shell
|
||||
@@ -279,7 +279,7 @@ command performs a combined build and activation.</p><div class="toc"> <p><stron
|
||||
# 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 = "25.11";
|
||||
home.stateVersion = "26.05";
|
||||
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
@@ -311,7 +311,7 @@ follows:</p><pre><code class="programlisting nix">{ config, pkgs, ... }:
|
||||
# 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 = "25.11";
|
||||
home.stateVersion = "26.05";
|
||||
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
@@ -847,7 +847,7 @@ introduction about writing a Home Manager configuration.</p></li></ul></div>
|
||||
user, you can run the Home Manager <code class="literal">init</code> command directly from its
|
||||
flake.</p><p>For example, if you are using the unstable version of Nixpkgs or NixOS,
|
||||
then to generate and activate a basic configuration run the command</p><pre><code class="programlisting shell">$ nix run home-manager/master -- init --switch
|
||||
</code></pre><p>For Nixpkgs or NixOS version 25.11 run</p><pre><code class="programlisting shell">$ nix run home-manager/release-25.11 -- init --switch
|
||||
</code></pre><p>For Nixpkgs or NixOS version 26.05 run</p><pre><code class="programlisting shell">$ nix run home-manager/release-26.05 -- init --switch
|
||||
</code></pre><p>This will generate a <code class="literal">flake.nix</code> and a <code class="literal">home.nix</code> file in
|
||||
<code class="literal">~/.config/home-manager</code>, creating the directory if it does not exist.</p><p>If you need to pass additional values from your flake to <code class="literal">home.nix</code> or any
|
||||
imported Home Manager modules, use <code class="literal">extraSpecialArgs</code> in the call to
|
||||
@@ -874,7 +874,7 @@ This is useful if you want to inspect and edit the configuration before
|
||||
activating it.</p><pre><code class="programlisting shell">$ nix run home-manager/$branch -- init
|
||||
$ # Edit files in ~/.config/home-manager
|
||||
$ nix run home-manager/$branch -- init --switch
|
||||
</code></pre><p>Where <code class="literal">$branch</code> is one of <code class="literal">master</code> or <code class="literal">release-25.11</code>.</p><p>After the initial activation has completed successfully then building
|
||||
</code></pre><p>Where <code class="literal">$branch</code> is one of <code class="literal">master</code> or <code class="literal">release-26.05</code>.</p><p>After the initial activation has completed successfully then building
|
||||
and activating your flake-based configuration is as simple as</p><pre><code class="programlisting shell">$ home-manager switch
|
||||
</code></pre><p>It is possible to override the default configuration directory, if you
|
||||
want. For example,</p><pre><code class="programlisting shell">$ nix run home-manager/$branch -- init --switch ~/hmconf
|
||||
|
||||
@@ -25,8 +25,7 @@
|
||||
</table>
|
||||
<hr />
|
||||
</div><div class="appendix"> <div class="titlepage"> <div> <div> <h1 id="ch-release-notes" class="title" >Appendix D. Release Notes </h1> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-26.05">Release 26.05</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-25.11">Release 25.11</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-25.05">Release 25.05</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-24.11">Release 24.11</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-24.05">Release 24.05</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-23.11">Release 23.11</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-23.05">Release 23.05</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-22.11">Release 22.11</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-22.05">Release 22.05</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-21.11">Release 21.11</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-21.05">Release 21.05</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-20.09">Release 20.09</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-20.03">Release 20.03</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-19.09">Release 19.09</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-19.03">Release 19.03</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.xhtml#sec-release-18.09">Release 18.09</a> </span></dt> </dl></div><p>This section lists the release notes for stable versions of Home Manager
|
||||
and the current unstable version.</p><div class="chapter"> <div class="titlepage"> <div> <div> <h2 id="sec-release-26.05" class="title" >Release 26.05 </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="release-notes.xhtml#sec-release-26.05-highlights">Highlights</a> </span></dt><dt> <span class="section"> <a href="release-notes.xhtml#sec-release-26.05-state-version-changes">State Version Changes</a> </span></dt> </dl></div><p>This is the current unstable branch and the information in this
|
||||
section is therefore not final.</p><div class="section"> <div class="titlepage"> <div> <div> <h2 id="sec-release-26.05-highlights" class="title" style="clear: both">Highlights </h2> </div> </div></div><p>This release has the following notable changes:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>WezTerm now supports declarative configuration via
|
||||
and the current unstable version.</p><div class="chapter"> <div class="titlepage"> <div> <div> <h2 id="sec-release-26.05" class="title" >Release 26.05 </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="release-notes.xhtml#sec-release-26.05-highlights">Highlights</a> </span></dt><dt> <span class="section"> <a href="release-notes.xhtml#sec-release-26.05-state-version-changes">State Version Changes</a> </span></dt> </dl></div><p>The 26.05 release branch became stable in May, 2026.</p><div class="section"> <div class="titlepage"> <div> <div> <h2 id="sec-release-26.05-highlights" class="title" style="clear: both">Highlights </h2> </div> </div></div><p>This release has the following notable changes:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>WezTerm now supports declarative configuration via
|
||||
<a class="xref" href="options.xhtml#opt-programs.wezterm.settings" ><code class="option">programs.wezterm.settings</code></a>. Settings are expressed as a Nix
|
||||
attribute set and serialized to Lua using <code class="literal">lib.generators.toLua</code>.
|
||||
Raw Lua expressions such as <code class="literal">wezterm.font</code> and <code class="literal">wezterm.action.*</code>
|
||||
|
||||
Reference in New Issue
Block a user