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

42 commits

Author SHA1 Message Date
bruce oberg
3c16ac3646 home manager: add test for option subcommand
- added a test to the standalone-basics unit:  the option subcommand queries the `home.username` value and ensures that something sane is returned.

details:

- the option subcommand was broken by upstream changes to the `nixos-option` command.
- hm had no tests for the option subcommand, so the problem was discovered by users.
- output from nixos-option probably starts with 'Value:\n  "alice"', but we're only looking for 'alice' because the output format is not guaranteed.
2025-11-03 09:12:22 -06:00
Benedikt Rips
b4350d54c2 tmpfiles: add option to purge rules' targets on change 2025-11-02 23:02:10 -06:00
Benedikt Rips
090aa14e5d tmpfiles: migrate to an RFC42-style option 2025-11-02 23:02:10 -06:00
Benedikt M. Rips
f2f1076c1f
treewide: remove no-ops (#8061) 2025-10-26 15:43:53 -05:00
Robert Helgesson
12dfb0cff9 restic: fix integration test 2025-09-17 16:24:18 +02:00
Kylie McClain
e44549074a programs.rclone: fix injecting secret when value begins with "-" 2025-08-31 09:26:13 -05:00
Jess
3001400e9f rclone: move activation script to systemd service
Fixes #7577
This lets us better express activation order dependencies on secret
provisioners that run as systemd services
2025-08-21 16:02:50 -05:00
Jess
56b8749987 rclone: modularize subtests 2025-08-21 16:02:50 -05:00
Robert Helgesson
bd82507edd home-manager: re-enable gcroot handling for NixOS module
It was a bit too ambitious to also remove production of the gcroot, we
need it to keep track of the currently active Home Manager
configuration.

Fixes #7583
2025-07-31 08:25:36 +02: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
b4752b0eda treewide: format with latest stable formatter
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
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
awwpotato
76d0c31fce
formatter: add deadnix (#7331) 2025-06-28 16:28:39 -05:00
Robert Helgesson
eee140958a home-manager: fix integration tests 2025-06-09 16:08:02 +02:00
Jess
dbc90cc3ae
rclone: declarative mounts (#7060) 2025-05-15 13:33:51 -05:00
awwpotato
5da6eafceb
treewide: remove unused code (#6985) 2025-05-07 10:03:21 -05:00
Jess
2eabb26d08
restic: allow the convenience script to source environmentFile (#6947) 2025-05-02 08:23:57 -05:00
Jess
5f217e5a31 restic: change service type from simple to oneshot
Fixes #6930
2025-04-30 14:19:59 -05:00
Jess
7f301a4d96 restic: fix certain integration tests 2025-04-30 14:19:59 -05:00
Jess
f98314bb06
restic: init module (#6729) 2025-04-19 22:53:06 -07:00
Austin Horstman
cba2f9ce95 treewide: reformat nixfmt-rfc-style
Reformat repository using new nixfmt-rfc-style.
2025-04-08 08:50:05 -07:00
Jess
7853236fae rclone: ensure remotes have a type field 2025-03-22 21:52:23 -05:00
Jess
7a08b8c898 rclone: correctly escape whitespace in secrets 2025-03-22 21:52:23 -05:00
Jess
eb5d59dac9 rclone: add module
Rclone is a command-line program to manage files on cloud storage, it
also featrues support for FUSE mounts.

"Users call rclone *"The Swiss army knife of cloud storage"* and
*"Technology indistinguishable from magic"*" - https://rclone.org/

This module manages the configuration of rclone remotes.
2025-03-19 13:49:44 -05:00
Austin Horstman
439a125afe
tests: remove with lib (#6511) 2025-02-21 23:20:07 -06:00
Robert Helgesson
1e68dc759b
home-manager: move profile management
This commit separates profile management (setting profile and creating
GC root) from file management (removing and adding managed files
within the user's home directory).

This is a step towards deprecating profile management within the
activation script, instead relying on the caller of the activation
script managing the profile.
2025-01-03 11:22:59 +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
Robert Helgesson
afbf007bb5
tests: add integration test for nh 2024-12-24 16:19:17 +01:00
Robert Helgesson
6427258409
tests: change to wait for network.target 2024-12-24 16:02:48 +01:00
Robert Helgesson
aa8c3d7f7d
tests: remove stray line 2024-12-24 09:13:32 +01:00
VojtechStep
8264bfe3a0
mu: add integration tests 2024-12-23 10:00:12 +01:00
Robert Helgesson
1395379a7a
home-manager: improve path handling when building news
Fixes #6217
2024-12-19 16:30:15 +01:00
Robert Helgesson
4964f3c6fc
home-manager: prepare 24.11 release 2024-12-01 10:31:51 +01:00
Robert Helgesson
8cf9cb2ee7
tests: fix integration test 2024-11-22 20:32:42 +01:00
alejandro-angulo
ecaed80b18
kitty: remove IFD
With this change the theme check happens at activation time. An
integration test is also added to verify the functionality.

Fixes #5110
2024-09-20 09:02:48 +02:00
Robert Helgesson
25c12f0736
tests: fix escaping of wait command 2024-08-23 13:31:48 +02:00
Robert Helgesson
2fb5c1e0a1
tests: update to match new sd-switch version
Also, seems Nix has become more memory hungry so increase memory
allocation.
2024-07-08 22:34:06 +02:00
Robert Helgesson
548ba194d0
home-manager: prepare release 24.05 2024-05-25 22:13:25 +02:00
dotconfig404
33a20182e3
home-manager: improve session variables comment 2024-04-23 19:49:42 +02:00
Robert Helgesson
613384a511
tests: include a service in integration tests 2024-03-06 12:58:02 +01:00
Robert Helgesson
043ba285c6
tests: add basic integration tests
This introduces some rudimentary integration tests using the NixOS
test framework. The intent is to better catch regressions when doing
more elaborate changes that may affect overall Home Manager behavior.
Note, the tests are currently not run automatically.
2024-02-14 15:10:53 +01:00