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

5870 commits

Author SHA1 Message Date
Bernardo Meurer
a521eab881 home-environment: add home.uid option
Add a home.uid option similar to home.username. When set, the
activation script verifies the current UID matches the expected
value using the new checkUid function.

When using the NixOS or nix-darwin modules, home.uid is
auto-discovered from users.users.<name>.uid when that value
is set.

This is useful for constructing paths that depend on the user's
UID, such as /run/user/<uid> paths for gpg-agent sockets or
other user-specific runtime directories.
2025-12-04 17:22:25 +01:00
tsrk.
d441981b20 thunderbird: fix aliases SMTP configuration not being listed as usable
Signed-off-by: tsrk. <tsrk@tsrk.me>
2025-12-04 10:16:29 +01:00
Xaver Wenhart
fca4cba863 parallel: package nullable 2025-12-03 12:58:50 -06:00
trash-panda-v91-beta
af324afa72 cargo: fix typo in tests
testing docker-cli instead of cargo in empty-config.nix
2025-12-03 10:43:50 -06:00
Bruno BELANYI
12e7786854 programs/ssh: use 'toList' 2025-12-03 09:48:51 -06:00
Bruno BELANYI
28741978a3 programs/ssh: use 'toKeyValue' for 'extraOptions'
A first step towards refactoring the module.

Unfortunately the config is not consistent in using comma-separated
values or repeated keys for lists, since the user can always add commas
by themselves, we should default to repeated keys in the generator.
2025-12-03 09:44:29 -06:00
Andrew Jeffery
43173abcb4 pimsync: Make storage names unique
This includes the calendar/contacts prefix in the storage name as well
as the pair name to ensure that if the same name is used for contacts
and calendar then it is correctly referenced.
2025-12-03 13:46:21 +01:00
home-manager-ci[bot]
bcc7afa1d8 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2fad6eac6077f03fe109c4d4eb171cf96791faa4?narHash=sha256-sKoIWfnijJ0%2B9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI%3D' (2025-11-27)
  → 'github:NixOS/nixpkgs/2d293cbfa5a793b4c50d17c05ef9e385b90edf6c?narHash=sha256-pp3uT4hHijIC8JUK5MEqeAWmParJrgBVzHLNfJDZxg4%3D' (2025-11-30)
2025-12-02 22:41:07 -06:00
Patrick Steinhardt
281e9398cc swayidle: improve confusing "events" configuration
With swayidle one can configure two different kinds of hooks:

  - Idle timeouts are executed after the session has been idle for a
    specific amount of time.

  - Events are executed when systemd notifies us that for example the
    user session is locked or that the device is about to suspend.

While not obvious, there is a significant difference between how these
two kinds are configured: there can be several timeouts with separate
commands to be executed, but each event can only be specified once. If
an event is specified multiple times, then the last command wins.

This can be very easy to miss in swayidle's documentation. Furthermore,
because the config is a list of `{ event = "..."; command = "..."; }`
attrset, we double down on this confusion and make it seem like having
multiple handlers for an event was actually supported.

Fix this by converting from a list of "event" submodules to an attrset
where the key is the event name and the value is the command to be
executed. This makes it impossible to specify multiple commands for a
single event by accident.

If a user _does_ want to have multiple commands executed on any event
they can for example use `pkgs.writeShellScript` and manually chain the
commands in that script.
2025-12-02 22:24:56 -06:00
Aguirre Matteo
93d907a205 news: ludusavi's default backup path changed entry 2025-12-02 21:57:23 -06:00
Aguirre Matteo
eca5f967cd ludusavi: use config.xdg.stateHome instead of $XDG_STATE_HOME 2025-12-02 21:57:23 -06:00
Aguirre Matteo
db44f38047 ludusavi: add test 2025-12-02 21:57:23 -06:00
Mirko Lenz
06f81463bb infat: add module 2025-12-02 21:39:05 -06:00
Matt Sturgeon
ab8e4b2b5a home-environment: extend release check to include pkgs
`lib` comes from the Nixpkgs used to instantiate Home Manager itself and
cannot change within the module fixpoint. However, `pkgs` is configurable
(via `nixpkgs.*` or `_module.args`) and may come from a different Nixpkgs
instance from the one providing `lib`.

Mismatches between Home Manager's release and the release of the `pkgs`
instance are more common and also more likely to cause subtle issues.

This change extends the release check to include `pkgs.lib.trivial.release`
so that such mismatches can be detected and reported.
2025-12-02 21:35:34 -06:00
Anton Mosich
c3d1e5c65a pimsync: extend test to contacts
If I had added such a test right away, I would have encountered #8258
myself. I mistakenly believed the contact and calendar modules to be the
same.
2025-12-03 04:10:48 +01:00
Anton Mosich
bf003999ed accounts.contacts: fix eval error
You would encounter an eval error when a module (such as pimsync) would
try to access an attribute of `accounts.contacts.<name>.local`, since it
would default to `null`. The same problem was encountered in the
`accounts.calendar` module, and fixed in
2c157e22dc which has the same solution.

Closes #8258

Reported-by: redbeardymcgee
2025-12-03 04:10:48 +01:00
Xaver Wenhart
ff067cfc61
parallel: init module (#8240) 2025-12-02 01:44:57 +01:00
Austin Horstman
effe4c007d ci: remove unused dependabot ignore
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-12-01 09:37:35 -06:00
home-manager-ci[bot]
6cedf24ada maintainers: update all-maintainers.nix
Automated update of the master maintainers list combining:
- Home Manager specific maintainers from modules/lib/maintainers.nix
- Nixpkgs maintainers referenced in Home Manager modules

**Added:** 1 maintainers
**Removed:** 0 maintainers
**Total:** 280 → 281 maintainers

** Added:** arunoruto

Generated by: lib/python/generate-all-maintainers.py
2025-12-01 09:34:48 -06:00
novenary
e4e25a8c31 fish: ensure generated completions considered last
home-manager's generated completions shadow built-in completion scripts.
fish actually has logic to deal with this when the path ends with
/generated_completions, so let's take advantage of it.

Link: 47c773300a/src/autoload.rs (L421-L424)
2025-11-30 17:12:04 -06:00
novenary
13b089b586 Revert "fish: avoid shadowing builtin completions"
This reverts commit 23f2ba7ae0.
2025-11-30 17:12:04 -06:00
Victor Engmark
784a83782c nixos: Don't "[a]ttempt to evaluate package pkgs.trash-cli"
Closes #8161.
2025-11-30 14:28:55 -06:00
Brian E
704b6ffa8a Translate using Weblate (Faroese)
Currently translated at 7.6% (3 of 39 strings)

Translate using Weblate (Faroese)

Currently translated at 17.6% (3 of 17 strings)

Co-authored-by: Brian E <brianellingsgaard9@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/fo/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/fo/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2025-11-30 14:18:18 -06:00
Carl
83053e1d33
GPU freedom (#8239)
* gpu: only add intel driver for x86_64-linux

* gpu: allow configuring drivers option

Allow overriding the drivers option if you're an advanced user
2025-11-30 14:48:38 +01:00
Aguirre Matteo
ae400a1dcc
shikane: add package to PATH (#8233) 2025-11-30 14:48:16 +01:00
DDoSolitary
edbb012a21
dconf: support configuring specific user databases (#6301)
By default, dconf uses $XDG_CONFIG_HOME/dconf/user as the user database, but this can be changed by specifying user-db:<name> in a profile file and setting the DCONF_PROFILE environment variable to that profile. One may want to use different user databases for different DE/WMs to avoid collision.

Currently the module invokes dconf without touching DCONF_PROFILE, which means that 1) it is unable to configure multiple different user databases, and 2) the behavior of activation script will be affected by the DCONF_PROFILE environment variable when it is invoked, possibly leading to undesired results.

This PR adds a dconf.databases option, so that settings under dconf.databases.<name> will be written to $XDG_CONFIG_HOME/dconf/<name>. The old dconf.settings option is left as-is to avoid breaking compatibility.
2025-11-30 14:37:17 +01:00
Jo²
b1bb534c17
xsession: only require xdg autostart target if explicitely enabled (#8237)
This is a fix for PR #7108 that forcibly enables xdg-desktop-autostart
units, whether or not `config.xdg.autostart` is enabled.
Partially fixes #7708, there is still a risk for conflict if
`xdg.autostart` and `services.picom` are enabled.
2025-11-30 14:35:54 +01:00
Austin Horstman
780be8ef50 tests: disable release check bypass
nixos-unstable bumped

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-11-28 14:27:50 -06:00
home-manager-ci[bot]
40c18076d8 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5ae3b07d8d6527c42f17c876e404993199144b6a?narHash=sha256-6eeL1YPcY1MV3DDStIDIdy/zZCDKgHdkCmsrLJFiZf0%3D' (2025-11-24)
  → 'github:NixOS/nixpkgs/2fad6eac6077f03fe109c4d4eb171cf96791faa4?narHash=sha256-sKoIWfnijJ0%2B9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI%3D' (2025-11-27)
2025-11-28 14:27:50 -06:00
Austin Horstman
d13041d6f0 tests/gtk4: add test for stateversion change
Ensure default behavior with new state version works properly.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-11-28 14:14:32 -06:00
Fugi
ae9f38e889 gtk4: don't enable theme by default
This is not officially supported and causes issues in some cases.
Also adds a warning to the option.
2025-11-28 14:14:32 -06:00
Friedrich Altheide
86ff0ef506 cargo: add module 2025-11-27 22:29:55 -06:00
damidoug
c220f242cd aerospace: add more tests and fix expected values 2025-11-27 22:27:29 -06:00
damidoug
1ed596c638 aerospace: remove extraConfig, use settings instead 2025-11-27 22:27:29 -06:00
damidoug
9f31ea236b aerospace: add more settings examples 2025-11-27 22:27:29 -06:00
damidoug
b414c94d4e aerospace: fallback default settings 2025-11-27 22:27:29 -06:00
damidoug
5b8d259ee6 aerospace: auto-reload config on file changes; 2025-11-27 22:27:29 -06:00
damidoug
29b672194d aerospace: add assertion to ensure launchd.enable and after-startup-command are used instead of start-at-login and after-login-command 2025-11-27 22:27:29 -06:00
damidoug
f302550865 aerospace: rename userSettings → settings 2025-11-27 22:27:29 -06:00
Matt Sturgeon
23f2ba7ae0 fish: avoid shadowing builtin completions
The fish shell comes with builtin completions. For example, git
completion supports context-aware completion of things like commit
hashes, branch names, sub-commands, etc.

Until fish 4.2, builtin completions were explicitly loaded from
`share/fish/completions`, however that is now deprecated and disabled.
In effect, this means generating manpage-based completion will shadow
and disable builtin completion.

Avoid that, by only generating completion when fish does not have
builtin support for the command.
2025-11-27 22:17:20 -06:00
Mirza Arnaut
470d24d809 vivid: change colorMode type to enum 2025-11-27 22:07:41 -06:00
Mirza Arnaut
740134d4af vivid: replace theme content from yaml with json
This should fix missinterpretation of hex colors (which should be a
string) as numbers in scientific notation. For example: 1e2030.
2025-11-27 22:07:41 -06:00
Mirza Arnaut
c23379a330 vivid: add arunoruto to maintainers list 2025-11-27 22:07:41 -06:00
Austin Horstman
9651819d75 ci: update checkout and update-flake-lock
https://github.com/DeterminateSystems/update-flake-lock/releases/tag/v28
updated with checkout v6 support.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-11-26 16:02:49 -06:00
Austin Horstman
8220473f95 ci: revert actions/checkout to v5 due to update-flake-lock incompatibility
Root cause: DeterminateSystems/update-flake-lock@v27 uses
peter-evans/create-pull-request@v6.0.5 internally, which is incompatible
with actions/checkout@v6's new credential storage mechanism.

The Problem Chain:
- actions/checkout@v6 moved credentials from .git/config to $RUNNER_TEMP
  (security improvement)
- peter-evans/create-pull-request@v6.0.5 cannot access credentials from
  the new $RUNNER_TEMP location
- This causes exit code 128 when update-flake-lock tries to create PRs

The Fix:
- create-pull-request@v7.0.9 fixed v6 compatibility
- However, update-flake-lock@v27 (released July 2025) hasn't upgraded yet
- Reverting to v5 restores working credential access

Next Steps:
- Can upgrade to v6 once update-flake-lock uses create-pull-request@v7.0.9+
  - https://github.com/DeterminateSystems/update-flake-lock/pull/224
- Dependabot configured to ignore v6 upgrades until compatibility is fixed

Fixes: https://github.com/nix-community/home-manager/actions/runs/19712979574
See: https://github.com/peter-evans/create-pull-request/issues/690

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-11-26 12:47:12 -06:00
Austin Horstman
946907fa6a maintaining.md: add note about dependabot release branch update
When creating a new release branch, dependabot.yml needs to be updated
to include the new branch for automated dependency updates.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-11-26 12:38:45 -06:00
Austin Horstman
201c883d0d ci: dependabot update release branch
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-11-26 12:38:45 -06:00
Austin Horstman
cc0425becf ci: disable fail fast on flake update
We don't need to block a channels flake update because of a bug in
another.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-11-26 11:59:27 -06:00
Austin Horstman
ee7f4646da maintaining.md: add note about flake.nix / lock update
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-11-26 11:20:41 -06:00
Austin Horstman
ad0b497533 tests: disable release check temporarily
Remove after nixos-unstable bumped

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-11-26 11:16:38 -06:00