1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-11-08 19:46:05 +01:00
Commit graph

212 commits

Author SHA1 Message Date
Robert Helgesson
173a29f735
docs: add note of Synthing tray option removal 2025-09-26 10:47:47 +02:00
Frazer Rose
a3d90c996f docs: fix typo in collision.md 2025-08-29 14:46:26 -05:00
awwpotato
e49a2511fe docs: update formatting information 2025-08-26 16:48:54 -05:00
Austin Horstman
b4a07cd14b docs/tests: expand test documentation for contributors
Most of it was focused around running the tests instead of how to
create/modify them.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-08-11 09:02:38 -05:00
Austin Horstman
53bf4fab30 docs: add tests command documentation
Make it easier to be discovered how to use the new command to aid in
contributing.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-08-06 12:33:37 -05:00
Nalon
a7b7c6f520
docs: add upgrade guide for NixOS version transitions
- Add comprehensive documentation for upgrading Home Manager channels.

- Cover channel-based, flake-based, and NixOS module methods.

- Include troubleshooting section and state version updates.

- Update examples for NixOS 25.05 compatibility.
2025-07-28 11:04:16 +02:00
Robert Helgesson
3156a1c419
docs: minor manual style fix
- Make sure the warning and note boxes are tall enough to fit the
  icon.

- Add styling of the h4 element.
2025-07-28 11:04:16 +02:00
Robert Helgesson
710771af3d
docs: add a poison module
The poison module is intended to catch cases where the documentation
depends on the user's configuration. We want to keep such dependencies
to a minimum as it increases the risk of documentation rebuilds and
confusion caused by documentation being different depending on the
source.
2025-07-27 07:52:42 +02:00
Robert Helgesson
de448dcb57
home-manager: avoid profile management during activation
This commit deprecates profile management from the activation script.
The profile management is instead the responsibility of the driving
software, for example, the `home-manager` tool in the case of
standalone installs.

The legacy behavior is still available for backwards compatibility but
may be removed in the future.

The new behavior resolves (or moves us closer to resolving) a number
of long standing open issues:

- `home-manager switch --rollback`, which performs a rollback to the
  previous Home Manager generation before activating. While it was
  previously possible to accomplish this by activating an old
  generation, it did always create a new profile generation.

  This option has been implemented as part of this commit.

- `home-manager switch --specialisation NAME`, which switches to the
  named specialisation. While it was previously possible to accomplish
  this by manually running the specialisation activate script, it did
  always create a new profile generation.

  This option has been implemented as part of this commit.

- `home-manager switch --test`, which activates the configuration but
  does not create a new profile generation.

  This option has _not_ been implemented here since it relies on the
  current configuration being activated on login, which we do not
  currently do.

- When using the "Home Manager as a NixOS module" installation method
  we previously created an odd `home-manager` per-user "shadow
  profile" for the user. This is no longer necessary.

  This has been implemented as part of this commit.

Fixes #3450
2025-07-22 11:00:18 +02:00
Austin Horstman
d07e9cceb4
docs: add note about importing modules (#7315)
Help explain how we import for contributers.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-23 20:57:15 -05:00
Piotr Lewandowski
34a1308614
doc: add a missing subcommand (#7199) 2025-06-03 14:33:17 -05:00
Norbert Melzer
593b0c667d
doc: fix instructions for enabling flakes in NixOS (#7189) 2025-06-03 07:57:46 -05:00
Robert Helgesson
ee85cfc5c1
home-manager: add missing file 2025-05-18 11:07:58 +02:00
Robert Helgesson
9a4a9f1d6e
home-manager: prepare 25.11 2025-05-18 10:26:50 +02:00
Robert Helgesson
e08e6e2389
home-manager: set 25.05 as stable 2025-05-18 10:26:29 +02:00
Austin Horstman
5d13260881 treewide: lnl7 -> nix-darwin
Renamed recently.
2025-05-16 18:47:17 -05:00
Austin Horstman
12e6738596 docs: remove recommendation to wait for maintainers for news
We dont have merge conflicts with new method of creating news entries.
2025-05-10 11:00:39 -05:00
Austin Horstman
6fd639dbe5 docs: update news.md to highlight create-news-entry command
Update the documentation to inform users they can create news entries
themselves using `nix run .#create-news-entry` without waiting for
maintainers. This makes the contribution process more self-service
and improves the documentation to match the recently exposed flake
package.
2025-05-10 11:00:39 -05:00
pancho horrillo
5d428b68dd
docs: update filename of generated HTML manual (#7010)
Since 613dbb35db, the manual
produces an `index.xhtml` file, instead of a plain `index.html`.
2025-05-09 08:17:06 -05:00
Andrew Marshall
708074ae6d treewide: Prevent IFD by default
Import-from-derivation (IFD) has problematic performance, and is disabled in
Nixpkgs by policy. It is arguably good practice for libraries to avoid
it whenever possible, as it has poor ergonomics in some cases,
especially with dry builds, as it requires multiple eval+build phases.

As such, prevent its use in Home Manager by default by putting existing
tests that use IFD behind a config. In CI, run a first pass with IFD
disabled, skipping tests without the config. Then run a second pass with
IFD enabled and including tests with the config. This second pass will
also run tests without the config, but they should be cached from the
previous run, so the cost is not double (only eval time should be paid
twice). It’s necessary to change from using NMT’s `run` to `build` as
`run` itself uses IFD.

Of the tests that have the config:

- kitty/theme-to-themeFile: this is a test for deprecated config, and so
  should be removed eventually anyway
- podman: the implementation relies on IFD to create individual systemd
  units from the derivation output, and so it is not straightforward to
  remove the IFD; doing so would require rethinking how the module works
  to instead have the systemd unit files included as-is rather than as
  individually configured units in the Nix config.
2025-05-07 10:34:18 -05:00
awwpotato
5da6eafceb
treewide: remove unused code (#6985) 2025-05-07 10:03:21 -05:00
Austin Horstman
cba2f9ce95 treewide: reformat nixfmt-rfc-style
Reformat repository using new nixfmt-rfc-style.
2025-04-08 08:50:05 -07:00
Austin Horstman
14269b06a0 docs/flake.nix: add flake outputs for docs
We have stuff that's referenced in CI but not available as flake outputs
to build. Adding default.nix outputs to flake.nix so flake users can
reference them easier.
2025-04-07 08:15:20 -07:00
Thiago Kenji Okada
d094c6763c
news: create an individual file for each news entry (#6747)
The current way to define a news entry in Home-Manager is error prone
(since you need to type the date manually) and also it is common cause
of conflicts after merges because all entries are defined in the same
file.

This commit fixes this: we can now create individual news entries for
each new entry. A script `create-news-entry.sh` also helps to create it
in the correct format (with the correct filenames and structure).
2025-04-05 11:13:59 -05:00
Austin Horstman
0afad8f080
Revert "nixos-module: Fix potential recursion between users.users and home-ma…" (#6745)
This reverts commit 216690777e.

Reverts #6622

Seems to be causing issues for other users, though. Will revert and we can try again with some tests in place.
2025-04-01 09:52:10 -05:00
Proesmans Bert
216690777e
nixos-module: Fix potential recursion between users.users and home-manager.users (#6622)
Pushing users.users.<name>.packages from matching home-manager users leads to a circular dependency when
one attribute set is calculated from the other.
A configuration pull approach replaces the previous one to break up the circular dependency. This new approach
allows more flexibility in configuring both option sets, including calculating from each other.

EXAMPLE;

```nix
{lib, /* custom arg */ flake, config, ...}: {
    home-manager.useUserPackages = true;
    home-manager.users = builtins.intersectAttrs (lib.filterAttrs (_: v: v.isNormalUser) config.users.users) (flake.outputs.homeModules.users);
}
```

EXAMPLE;
```nix
{lib, /* custom arg */ flake, config, ...}: {
    home-manager.useUserPackages = true;
    home-manager.users = { inherit (flake.outputs.homeModules.users) demo-user; };
    users.users = lib.mapAttrs (_: _: { isNormalUser = true; }) (lib.filterAttrs (_: v: v.programs.git.enable) config.home-manager.users);
}
```

fixes #594

* options-manual: Remove `users` option set from documentation

The option declaration `users.users` is owned by the upstream
nixos modules and should not be documented by home-manager.

Home-manager declares an incomplete/partial option definition for
`users.users` that cannot be documented without the full definition from
the nixos modules. This partial definition is removed from the options
set while generating documentation for the home-manager nixos module.
2025-03-31 09:19:52 -05:00
Tobor
2760046f34
docs: correct improper import of home.nix (#6732)
This change improves the module system's error messages.
2025-03-30 09:39:15 -05:00
Cat
fc189507bc
docs: nixos module declarative installation instructions (#6208)
Added instructions for a different installation method for home manager on NixOS.
2025-03-20 11:50:36 -05:00
imsuck
229648c51e home-manager: support --log-format flag (#6093)
You can now pass `--log-format FORMAT` to `nix-build`,
useful for piping into `nix-output-monitor`.
2025-03-19 13:32:33 -05:00
Jérémy Garniaux
ef257da52a
docs: enhance comment for home.stateVersion option (#6116)
Enhance comment for home.stateVersion option (see issue #5794)
2025-03-13 08:50:10 -05:00
Austin Horstman
2c87a6475f
flake-module: rename homeManagerModules to homeModules (#6406)
This reverts commit 066ba0c5cf. After
further discussion, we want to maintain this as the naming scheme going
forward to be similar to standards that have been trying to be
implemented in naming configurations and modules.
2025-03-08 19:14:01 +01:00
Heitor Augusto
066ba0c5cf
flake-module: rename homeModules to homeManagerModules (#6392) 2025-02-03 13:19:46 -06:00
Robert Helgesson
a8159195bf
flake-module: fix naming 2025-01-30 23:22:29 +01:00
Matt Sturgeon
a5e196d61f
flake-module: add flake-parts module (#5229)
Add a flake-parts module, output as flakeModules.home-manager and flakeModules.default.

The module defines options for flake.homeModules and flake.homeConfigurations, based on the respective nixos equivalents; flake.nixosModules and flake.nixosConfigurations.
2025-01-30 12:17:53 -06:00
Robert Helgesson
1b9fe46e9f
home-manager: move tests into new test flake
Having the tests available in the main Nix Flake introduces
unnecessary evaluation for non-developer users and, worse, a
dependency on the nmt library.

Fixes #6354
2025-01-24 22:31:22 +01:00
Robert Helgesson
f4f8d09f90
home-manager: update copyright year 2025-01-03 10:56:26 +01:00
Robert Helgesson
9a9fef316a
systemd: use sd-switch by default
Also remove the legacy Ruby alternative.

Fixes #5452
2025-01-01 16:31:32 +01:00
Simone Ragusa
83ecd50915
docs: fix typo in 24.11 release notes 2024-12-16 11:23:18 +01:00
Robert Helgesson
4964f3c6fc
home-manager: prepare 24.11 release 2024-12-01 10:31:51 +01:00
Robert Helgesson
05d3b6215a
home-manager: prepare 25.05-pre 2024-11-18 00:13:46 +01:00
Jure Varlec
8bd6e0a1a8
nixgl: add support for channel-based configuration 2024-10-25 10:20:38 +02:00
Jure Varlec
7a5879707b
nixgl: API rework for flexibility and dual-GPU 2024-10-25 10:20:38 +02:00
Sergey
2a4fd1cfd8
eza: fix icons option
Fixes the icons option for eza which was breaking completion in zsh.
2024-10-15 23:22:21 +02:00
Sandro
d47d33254f
home-manager-manual: expose options.json 2024-10-10 20:29:24 +02:00
leoTlr
4803bf558b
swayidle: make -w optional
The option -w causes swayidle to wait on timeouts/events to finish.
This can cause problems with certain timout/event commands (see
https://github.com/swaywm/swaylock/issues/86#issuecomment-662702180)
2024-09-20 11:13:54 +02:00
Robert Helgesson
51e4664342
treewide: use non-deprecated substitute arguments 2024-09-12 13:54:47 +02:00
Shahar "Dawn" Or
1a4f12ae0b
docs: introduction chapter
Adds an introduction chapter to the manual.
2024-06-26 23:48:52 +02:00
Mario Rodas
8bdb74eaff
docs: add redirect from the previous options.html
After migrating to nixos-render-docs, the extension move to .xtml.
Unfortunately, this broke links to the previous Options Page.

This patch provides a basic redirect support to the new Options Page.
2024-06-09 13:09:00 +02:00
Robert Helgesson
d179da4e81
home-manager: prepare 24.11-pre 2024-05-25 22:13:25 +02:00
Robert Helgesson
548ba194d0
home-manager: prepare release 24.05 2024-05-25 22:13:25 +02:00