Commit graph

4729 commits

Author SHA1 Message Date
Utkarsh Gupta
38539206d0 cargo: add cargoHome option 2026-03-22 11:53:53 -05:00
Austin Horstman
b92cad188c git: warn on signing format default change
The default value for programs.git.signing.format changed in 25.05
from an implicit "openpgp" to null. Keep the existing gated
mkOptionDefault behavior so the signing block only materializes when
other signing settings are in use, but route the versioned value and
static docs text through the shared state-version helper.

Add a focused current-state-version test that covers a non-empty
signing configuration with no explicit format, alongside the existing
legacy implicit-openpgp and explicit-format tests.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-03-22 11:46:51 -05:00
Austin Horstman
45e3b622b1 swaylock: warn on implicit enable default
Before 23.05, programs.swaylock.enable implicitly followed whether
programs.swaylock.settings was non-empty. That compatibility path was
still active for older state versions, but it emitted no warning.

Route the default through the shared state-version helper so legacy
users get the standard deprecation warning before the implicit enable
behavior is removed. Add a focused current-state-version test and keep
the existing legacy and explicit-enable coverage in place.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-03-22 11:46:51 -05:00
Austin Horstman
111b158a98 beets: warn on implicit enable default
Before 19.03, programs.beets.enable implicitly followed whether
programs.beets.settings was non-empty. That compatibility branch was
still active for older state versions, but it was silent.

Route the default through the shared state-version helper so legacy
users get a consistent deprecation warning before the implicit
enablement is cleaned up. Add focused tests for the legacy and current
default branches alongside the existing beets coverage.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-03-22 11:46:51 -05:00
Austin Horstman
a49e2f1b5b password-store: warn on settings default change
The default value of programs.password-store.settings changed in 25.11
when Home Manager stopped exporting PASSWORD_STORE_DIR implicitly.
Route the default through the shared state-version helper so users on
older state versions keep the compatibility behavior with a consistent
warning and a single place to remove later.

The existing password-store tests already cover the legacy default, the
current empty default, and explicit override behavior, so no new test
fixture is needed for this migration.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-03-22 11:46:51 -05:00
Austin Horstman
d3281688bf gtk: warn on gtk4 theme inheritance change
The gtk4 theme option still inherits from gtk.theme for users pinned
before 26.05, but that fallback was previously silent. Move the
default through the shared state-version helper so the compatibility
branch emits the standard deprecation warning and stays consistent
with other future cleanups.

Add a focused test that covers the legacy inheritance path alongside
the existing current-state-version test for the null default.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-03-22 11:46:51 -05:00
Austin Horstman
acf65ad748 xdg-user-dirs: warn on setSessionVariables default change
Switch xdg.userDirs.setSessionVariables to the shared state-version default helper so older configurations get an explicit warning before the legacy default is removed.

Add focused tests for the legacy and current branches to verify that the session variable exports remain enabled before 26.05 and are disabled by default starting at 26.05.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-03-22 11:46:51 -05:00
Austin Horstman
db91cbf795 yazi: use state version default helper
Replace the inline shellWrapperName migration logic with the shared state-version default helper. This keeps the existing warning and version-dependent default, but moves the message and defaultText formatting into one reusable implementation.

Inline the helper directly at the option declaration so the module stays small while matching the new deprecation-default pattern for future adoptions.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-03-22 11:46:51 -05:00
Austin Horstman
95496df8c0 lib/deprecations: add state version default helper
Add a helper for options whose defaults change across home.stateVersion boundaries. This centralizes the warning text and documentation shape so modules do not need to hand-roll the same migration pattern at each call site.

The helper takes legacy and current branches with a runtime value plus optional static documentation text. That keeps the actual default version-gated while avoiding option docs that depend on evaluated config. Add a focused test covering the legacy warning path, the new-value path, and an explicit legacy pin that should not warn.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-03-22 11:46:51 -05:00
Malix - Alix Brunet
856b01ebd1 shell: DRY shellIntegrationParameters 2026-03-21 18:24:31 -05:00
Malix - Alix Brunet
887e96cf30 lib: remove rec in shell.nix 2026-03-21 18:23:54 -05:00
teto
9670de2921 neovim: reuse more of upstream logic 2026-03-20 12:59:40 +01:00
teto
1c10e6596f neovim: now include nixpkgs wrapper generated lua
now that home-manager always generates an init.lua we can take the
wrapper output instead of reimplemnting stuff in HM (notwithstanding rtp
changes that are not needed in HM).
This is necessary to keep the provider configuration available after
this change https://github.com/NixOS/nixpkgs/pull/487390

Also updated test to reflect ruby disabling
2026-03-19 18:24:53 -05:00
Bob van der Linden
9bc3ca1230 opencode: skill -> skills
The skills option was creating files under ~/.config/opencode/skill/
(singular) but OpenCode documentation only mentions
~/.config/opencode/skills/ (plural). Both work, but using an
undocumented directory can be confusing.

Fixes: https://github.com/nix-community/home-manager/issues/8907
2026-03-19 21:32:45 +01:00
Wildan Nursyamsi
5ae5f8cedf Translate using Weblate (Indonesian)
Currently translated at 100.0% (16 of 16 strings)

Co-authored-by: Wildan Nursyamsi <muhamad11wildan4n@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/id/
Translation: Home Manager/Home Manager Modules
2026-03-19 21:30:15 +01:00
Austin Horstman
c4ab19c919 lib: extend lib to include hm maintainers
Upstream change is validating all maintainers against lib.maintainers,
need to merge our maintainer list in to pass doc building.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-03-19 15:16:56 -05:00
James Davidson
f72ed9c97d smug: add project session setting
Add an optional session setting so that session names can be different
than the smug project name. This also enables using template variables
when naming sessions.
2026-03-19 15:36:43 +00:00
Austin Horstman
ecf019baf4 claude-code: code style/lint cleanup
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-03-19 00:32:52 -05:00
Austin Horstman
0d200e1da7 claude-code: deduplicate module helpers
Factor the repeated claude-code module patterns into a small set of local helpers instead of open-coding them over and over.

This keeps the behavior the same, but removes duplication in the inline-or-path option declarations, the inline-vs-directory assertions, and the repeated .claude file generation code. The claude-code NMT test slice still passes after the refactor.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-03-19 00:32:52 -05:00
Austin Horstman
4fcef56c15 claude-code: load MCP config via plugin dir
Claude Code rejects `--mcp-config` once the Home Manager wrapper injects
it around subcommands, which breaks commands like `claude mcp list`.
Claude Code 2.1.76 fixed `--plugin-dir` so it no longer consumes
following subcommands, so use that path for the generated MCP config
instead.

Generate a plugin directory with a manifest and `.mcp.json`, wrap
`claude` with `--plugin-dir` before user arguments, and snapshot that
wrapper directly in the tests. Keep the existing LSP support in the
generated plugin directory as well, and add coverage for the combined
MCP+LSP case plus the MCP integration merge path.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-03-18 23:58:36 -05:00
rsahwe
ba197beccc rizin: cleanup according to feedback
In both prior feature pull requests for this module there was a review
after the pull request got merged, those are addressed here.
2026-03-18 00:02:59 -05:00
natsukium
a455ac1bb3 claude-code: add lsp servers support 2026-03-17 23:52:47 -05:00
Fae
f0e123a7e2 clipman: Add extraArgs option to clipman service 2026-03-17 23:50:17 -05:00
RockWolf
54db7915d0 fish: change mode & setsMode bind options to allow arbitrary strings additional to default enum values 2026-03-17 23:47:50 -05:00
RockWolf
51895e1813 fish: add name field to binds module
Resolves: #8795
2026-03-17 23:47:50 -05:00
Austin Horstman
9fc7535efc gemini-cli: add policy engine support
Gemin now supports policy configuration through policy files in toml.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-03-17 23:46:59 -05:00
Austin Horstman
9a40ec3b78 sketchybar: refactor sbarlua support
Needs to handle different lua versions better. Determine lua version for
which luaPackages set to reference

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-03-15 16:01:32 -05:00
Francis Hamel
ef12a9a2b0 obsidian: fix obsidian.json path on macOS 2026-03-13 12:21:53 -05:00
Francis Hamel
ef1e33949e obsidian: add cli option to obsidian.json 2026-03-13 12:21:53 -05:00
Max Cabrajac
be0c641a6a mergiraf: Prevent warnings related unmanaged VCSs
Add a guard to prevent people from getting warnings related to VCSs they
don't use.
2026-03-12 21:00:48 -05:00
teto
7cd3093fc6 neovim: disable ruby provider by default 2026-03-12 15:01:04 +01:00
teto
52d053556a create-news-entry.sh: add more examples
To make it easier for contributors to customize their entry: it's easier
to remove the comments (or not since they wont be seen anyway) then
searching for those examples.
2026-03-12 15:00:50 +01:00
luo jiyin
7d06e0cefe
treewide: fix spelling errors
Some checks failed
/ triage (push) Has been cancelled
GitHub Pages / publish (ubuntu-latest) (push) Has been cancelled
2026-03-11 22:32:16 -05:00
Alin
45fe5c9854 zed-editor: add alinnow as maintainer 2026-03-11 22:13:46 -05:00
Alin
4536603a43 zed-editor: add enableMcpIntegration option
Integrate with the shared MCP module
2026-03-11 22:13:46 -05:00
Bruno BELANYI
d7ef0034e3
mergiraf: add 'enable{Git,Jujutsus}Integration' 2026-03-11 21:52:41 -05:00
teto
3f98e2bbc6 neovim: reference neovim-unwrapped lua
less opportunities to mess the reference up by referencing unwrapped's lua directly.
2026-03-10 22:45:37 +01:00
teto
1b2dc84c81 neovim: filter attributes passed to makeVimPackageInfo
nixpkgs is going to emit errors when seeing unknown attributes so this
preemptively cleans the passe attributes to avoid errors on next
nixpkgs bump.
2026-03-10 22:45:37 +01:00
teto
2912398c1c kitty: dont add unneeded newlines
triggers my OCD.
2026-03-10 16:01:24 -05:00
Linus Warnatz
bb014746ed zed-editor: remove libewa as maintainer and resolve TODO
I no longer use Zed, and most of the code in the module is not mine.
I'd rather have someone who actually uses the module take it up.

The TODO was resolved a long time ago.
2026-03-09 23:04:00 +01:00
Bikku
c804204306 lutris: fix proton packages not showing up
For versions of lutris 0.5.20+, it no longer links proton packages under
the proton folder, instead uses wine's folder for both types.
2026-03-06 19:04:28 -06:00
Wildan Nursyamsi
efba7917d5 Translate using Weblate (Indonesian)
Currently translated at 93.7% (15 of 16 strings)

Translate using Weblate (Indonesian)

Currently translated at 94.8% (37 of 39 strings)

Co-authored-by: Wildan Nursyamsi <muhamad11wildan4n@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/id/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/id/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2026-03-06 19:01:13 -06:00
Vinicius Deolindo
daa2c22132 colima: only pass --save-config=false if settings were set 2026-03-06 14:28:38 +00:00
Zhanibek Adilbekov
5a75730e6f bash: support defining aliases beginning with a dash or plus 2026-03-04 08:08:47 -06:00
Austin Horstman
d76a12d115 maintainers: drop duplicated mikaeladev from HM
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-03-03 14:24:37 -06:00
Austin Horstman
8f7638b4db maintainers: drop duplicated karaolidis from HM
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-03-03 14:24:37 -06:00
Karun Sandhu
2b9504d5a0 hyprland: allow closing submaps on dispatch
This adds an 'onDispatch' option to the 'submaps' attribute set,
enabling the 'submap = name, ondispatch' syntax which allows submaps to
be closed automatically after a dispatch.
2026-03-02 23:43:40 -06:00
leiserfg
9d83727001 vicinae: restart service on config change 2026-03-02 23:37:26 -06:00
Adam C. Stephens
a71c7c601e home-environment: revert use nix profile add instead of install
This reverts commit e8d5fc77c2.
2026-03-02 23:32:28 -06:00
Vinicius Deolindo
f140aa04d7 colima: add kubectl to the service's $PATH 2026-03-01 09:54:21 -06:00