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

1690 commits

Author SHA1 Message Date
Austin Horstman
0f9fae161d tests/arrpc: add service module test coverage
- Add custom-target.nix test for custom systemd target configuration

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-29 10:31:11 -05:00
Austin Horstman
a1b7e7f510 tests/antidote: remove deprecated relative path usage
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-28 14:47:42 -05:00
Austin Horstman
e52c6c3da3 zsh: env var assertion for dotdir
Needs to be known at build time. Ensure user doesn't accidentally use
env var in `dotDir`

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-28 14:47:42 -05:00
Austin Horstman
40af7ba06b zsh: relative path deprecation warning
Warn users when they configure a relative path. We want to encourage
using absolute paths and env variables.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-28 14:47:42 -05:00
Austin Horstman
9ff467fbe7 tests/zsh: add more path test cases
Test the new lib file path function

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-28 14:47:42 -05:00
Austin Horstman
800f16a9c5 tests: forward only test chunks to buildbot
We currently only need the tests covered by test-chunks in CI. We will
migrate more tests into the buildbot CI, as we are able to flesh them
out more.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-27 23:02:18 -05:00
Austin Horstman
7a02711a61 tests: integration tests only run on linux
Using dependencies that require linux.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-27 23:02:18 -05:00
Austin Horstman
234f10ec6d tests/flake: add buildbot output
Filters tests to specific platforms for buildbot.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-27 23:02:18 -05:00
Austin Horstman
e45ff5651c ci: split tests into chunks
We have lots of tests and would like to add more. However, adding more
testing coverage comes at the cost of a slower CI when we run them
sequentially. This adds test outputs that are chunked however we'd like
to tune for batch sizes. Allowing us to create a parallelized CI
workflow.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-27 23:02:18 -05:00
Austin Horstman
72cc1e3134 tests/hyprlock: update tests with upstream changes
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-27 07:03:54 -05:00
Friedrich Altheide
26e33ea5c0 docker-cli: Improve docs, fix enviornment variable 2025-07-25 14:03:11 -05:00
Kristopher James Kent (kjkent)
9fca491587 zsh: improve histfile handling
Previously, a stateVersion check for 20.03 determined whether or not the input to
`programs.zsh.history.path` would be prepended with `$HOME`. However, this was not
communicated in the documentation, which stated the version check determined whether
the default histfile location would be in `programs.zsh.dotDir` or
`home.homeDirectory`.

The current change simplifies matters and brings path handling in-line with that of
the preceding work on dotDir path handling. If a relative path is provided, it is
parsed as being relative to `home.homeDirectory`. Both absolute and relative paths
are supported, and are cleaned before being passed to other functions.

Tests have been rewritten for the new logic, with case handling for reusability.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-25 13:15:29 -05:00
Kristopher James Kent (kjkent)
21399deff2 zsh: improve dotDir handling
Previously, `config.programs.zsh.dotDir` prepended strings with `$HOME`.
This caused issues like nix-community#5100, where `$HOME` is
inconsistently resolved in time for the evaluation of the option. The handling
of this variable is also inconsistent with how paths are handled elsewhere,
including within the same module, where `config.programs.zsh.history.path`
does not mutate the supplied string.

To preserve backwards compatibility, this change prepends
`config.home.homeDirectory` to relative paths, while assigning absolute paths
unchanged. Tests for both cases are added.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-25 13:15:29 -05:00
Thierry Delafontaine
64796151f7 opencode: add JSON schema reference to config.json output
- Automatically include "$schema": "https://opencode.ai/config.json" in the generated
  opencode config.json file
- Update documentation to mention the added schema property
- Add corresponding "$schema" entry in test config.json file for validation purposes

Closes #7506
2025-07-24 11:05:45 -05:00
Thierry Delafontaine
1df662dde0 opencode: add empty-settings test
- Add `empty-settings` test to ensure the config file is not generated
  when no settings are provided
2025-07-24 11:05:45 -05:00
Thierry Delafontaine
08edcbe9df opencode: add support for global custom instructions via rules option
- Introduce `rules` option to provide global custom instructions for opencode
- Write `rules` content to `~/.config/opencode/AGENTS.md` if non-empty
- Update tests to cover presence and absence of `AGENTS.md` file with rules content
2025-07-24 11:05:45 -05:00
Aguirre Matteo
1fde6fb1be
yofi: add module (#7528) 2025-07-23 13:13:14 -05:00
Friedrich Altheide
e9c599e40c
yarn: add module (#7526) 2025-07-23 10:42:37 -05:00
Austin Horstman
b4752b0eda treewide: format with latest stable formatter
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-23 10:27:52 -05:00
Austin Horstman
6cf61d10e8 tests/darwinScrublist: add opencode
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-23 10:27:52 -05: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
Jairo Llopis
13a83d1b65
zed-editor: support tasks (#7493)
Just like other features, they can merge with preexisting JSON5
settings.
2025-07-20 19:14:57 -05:00
zorrobert
7834432ca5
thunderbird: support declaration of address books (#7443)
Adds support for address books using the `accounts.contact.accounts.*` options.
2025-07-20 19:12:35 -05:00
Yethal
dcfd70f80f
ssh-tpm-agent: init module (#7495) 2025-07-17 19:31:15 -05:00
Austin Horstman
8320333a45 tests/direnv: refactor tests
Consolidate and increase testing scope.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-17 14:47:20 -05:00
Aguirre Matteo
2d55a52963
radio-cli: add module (#7488) 2025-07-17 14:21:31 -05:00
Ryan Horiguchi
460f1e9af9
starship: set STARSHIP_CONFIG var and add option to set config path (#7435) 2025-07-17 10:59:05 -05:00
Adam Dinwoodie
f7a45b0831
nix: use-sandbox -> sandbox (#7475)
The Nix configuration file sandbox setting is now "sandbox", not
"use-sandbox".  Correct the documentation and tests that reference this
setting.
2025-07-15 10:22:11 -05:00
1444
4cc9cc67eb
wayfire: fix broken configuration.ini test (#7478)
Normalize store paths so it will pass even with flake updates and on different architectures.
2025-07-15 10:20:41 -05:00
awwpotato
7969ed8baa
gurk-rs: add module (#7466) 2025-07-13 17:51:03 -05:00
Robert Helgesson
bf893ad4cb
tests: re-add module argument
These were removed as part of dead code removal, but they are actually
needed in the integration tests for comparing with the configuration
generated by the installation.
2025-07-13 12:27:35 +02:00
Austin Horstman
908200d680 tests/zellij: add zellij layout test
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-12 20:41:52 -05:00
Quentin Smith
ea24675e4f
lib: Improve KDL generator (#7429)
This adds support for generating ordered children and nodes with
attributes and/or properties but no children. These are both needed to
generate zellij keybinding configuration.
2025-07-12 14:32:14 -05:00
Austin Horstman
ae62fd8ad8 tests/zsh: add zprof test
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-12 11:42:00 -05:00
Austin Horstman
196487c54f zsh: group plugins in a separate directory
Make it more scalable to prevent crowding the main folder.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-12 11:42:00 -05:00
Jacob S. Steward
7c6f7377cc
vscode: enable defining mcp.json separate from settings.json (#7441)
VS Code 1.102 separates MCP configuration from `settings.json` to a profile-specific `mcp.json`. VS Code automatically performs this separation if MCP configuration is detected inside `settings.json` which conflicts with the immutability of the settings.json that home-manager supplies.
2025-07-11 20:33:17 -05:00
Austin Horstman
3976e0507e test/wpaperd: add test for empty settings
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-11 15:26:17 -05:00
Austin Horstman
47443585fe tests/gtk: refactor and organize
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-11 11:53:47 -05:00
Austin Horstman
18ff4e1e11 tests/gtk: expand testing for new customization
We can now customize a lot more in the gtk module. Test more scenarios
to ensure a user has more control over what gets generated.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-11 11:53:47 -05:00
Austin Horstman
d9915499e3 gtk: refactor to support more modular customization
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-11 11:53:47 -05:00
1444
e90b28967c
wayfire: allow path in settings (#7427) 2025-07-11 10:15:54 -05:00
Aguirre Matteo
fab659b346
trippy: add module (#7426) 2025-07-10 22:01:34 -05:00
tsrk.
3978bcd696 thunderbird: configure SMTP and GPG for aliases
Signed-off-by: tsrk. <tsrk@tsrk.me>
2025-07-10 15:45:32 -05:00
Friedrich Altheide
729c5e5465
docker-cli: add module (#7411) 2025-07-10 15:36:53 -05:00
bricked
d52da303ef
firefox: add extension permissions (#7402)
Adds extension permissions as suggested in
https://github.com/nix-community/home-manager/issues/7001.
Adds the 'profiles.<name>.extensions.settings.<name>.permissions' to Firefox
derivatives. If set, this option adds an assertion that fails if an extension
package requests permissions that weren't added to the permissions option. In
order to not require 'profiles.<name>.extensions.force' to be set when only
permissions, but no extension settings were defined, the relevant assertions
were changed. They now check whether any 'extensions.settings.<name>.settings'
was set instead of checking whether 'extensions.settings' was set.

---------

Co-authored-by: Robert Helgesson <robert@rycee.net>
Co-authored-by: awwpotato <awwpotato@voidq.com>
2025-07-10 15:33:18 -05:00
B1kku
fb12dbbce3
lutris: make module x86_64-linux only (#7425) 2025-07-10 15:15:49 -05:00
Aguirre Matteo
d81cb050f5
hyprshell: add module (#7409) 2025-07-10 14:23:15 -05:00
bricked
218da00bfa
firefoxpwa: add module (#7408)
Adds the `firefoxpwa` module for the native Progressive Web Apps for
Firefox application.
2025-07-08 10:56:50 -05:00
Aguirre Matteo
5751fa774f
twitch-tui: add module (#7416) 2025-07-08 09:52:03 -05:00
Aguirre Matteo
c00730550e
tray-tui: add module (#7415) 2025-07-08 09:51:45 -05:00