Commit Graph

6492 Commits

Author SHA1 Message Date
Austin Horstman
230199801b statix: enable misc rules that we already respect
Misc no-hit rules that we already are in compliance with. Ignoring
`faster_` rules because those prefer builtin > lib and we have lib
compat behavior to prefer.
2026-04-08 16:20:15 -05:00
Austin Horstman
f04b520e5b git: ignore more statix cleanup commits 2026-04-08 16:20:15 -05:00
Austin Horstman
de90ee2408 statix: enable eta_reduction
Enable statix's eta_reduction rule and apply its auto-fixes across the affected modules.
2026-04-08 16:00:28 -05:00
Austin Horstman
74b0e97937 statix: enable empty_pattern
Enable statix's empty_pattern rule and apply its auto-fixes across the affected modules and tests.
2026-04-08 16:00:28 -05:00
Austin Horstman
11ad9d2e42 statix: enable useless_has_attr
Enable statix's useless_has_attr rule and apply its auto-fixes across the affected modules.
2026-04-08 16:00:28 -05:00
Austin Horstman
5209a256fd statix: enable empty_list_concat
Enable statix's empty_list_concat rule and apply its auto-fixes across the affected modules.
2026-04-08 16:00:28 -05:00
Austin Horstman
838db3b5a8 git: ignore statix collapsible let in cleanup 2026-04-08 16:00:28 -05:00
Austin Horstman
74d8d47034 statix: enable collapsible_let_in
Enable statix's collapsible_let_in rule and apply its auto-fixes in the podman linux modules.

This keeps the ratchet focused on one auto-fixable warning at a time.
2026-04-08 15:28:35 -05:00
Austin Horstman
58a6be9fae git: ignore statix inherit commit 2026-04-08 15:28:35 -05:00
Austin Horstman
01ea51d706 treewide: use inherit for attribute assignments
This change converts redundant attribute assignments of the form `a =
a;` or `a = someSet.a;` into cleaner `inherit` statements. This reduces
verbosity and follows common Nix style for bringing attributes into
scope.

Statix Codes: W03 (manual_inherit), W04 (manual_inherit_from)

Also include statix and the rule in our configuration.
2026-04-08 14:47:48 -05:00
Austin Horstman
9ddbb69d18 vicinae: guard refresh-apps activation 2026-04-08 14:38:50 -05:00
Austin Horstman
7843c0025a vicinae: fix x-restart triggers 2026-04-08 14:38:50 -05:00
Austin Horstman
4ac0a4fd15 maintainers: update all-maintainers 2026-04-08 10:10:44 -05:00
Austin Horstman
4a0ded6f84 mbsync: KarlJoad -> ravenjoad 2026-04-08 10:10:44 -05:00
Austin Horstman
991a001751 mu: KarlJoad -> ravenjoad 2026-04-08 10:10:44 -05:00
home-manager-ci[bot]
dd82782450 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6201e203d09599479a3b3450ed24fa81537ebc4e?narHash=sha256-ZojAnPuCdy657PbTq5V0Y%2BAHKhZAIwSIT2cb8UgAz/U%3D' (2026-04-01)
  → 'github:NixOS/nixpkgs/68d8aa3d661f0e6bd5862291b5bb263b2a6595c9?narHash=sha256-vPKLpjhIVWdDrfiUM8atW6YkIggCEKdSAlJPzzhkQlw%3D' (2026-04-05)
2026-04-08 10:10:44 -05:00
Robert Helgesson
527e47b78f files: handle overlapping file targets
The current behavior of `home.file` is inconsistent when handling
recursive file with another, overlapping, non-recursive file.

Specifically, consider a configuration

```nix
home.file = {
  "foo" = { source = ./foo; recursive = true; };
  "foo/bar".text = "some other file";
};
```

where `./foo` is a directory containing a file `bar`. Switching to
this configuration will result in the `./foo` directory being
recursively symlinked while the "foo/bar" entry is ignored. Note,
building the home files derivation does log

> File conflict for file 'foo/bar'

On the other hand, the supposedly equivalent configuration

```nix
home.file = {
  "foo" = { source = ./foo; recursive = true; };
  abc = { target = "foo/bar"; text = "some other file"; };
};
```

results in the `./foo` directory not being recursively symlinked,
i.e., only the file `foo/bar` shows up in the built configuration.
This time the home files build log contains

> File conflict for file 'foo'

This commit makes the behavior more consistent in that we always
handle the file in a unified manner. The conflict resolution is
offered in three flavors, "ignore", "error", and "override" indicating
whether the recursively symlinked file wins, the entire build errors
out, and the regularly symlinked file wins.

The current default is "ignore" since it is the resolution that most
closely matches the current behavior, at least when the file attribute
name is used as the target path.

The other two resolutions can be chosen by setting the
`home.fileOverlapResolution` option, which is set as invisible due to
its experimental nature.
2026-04-07 23:33:05 -05:00
Austin Horstman
34cb41efe4 ci: fix labeler file count logic 2026-04-07 23:27:55 -05:00
Austin Horstman
f0c13b0ebc ci: limit labeler to small pull requests 2026-04-07 23:14:48 -05:00
Austin Horstman
c59483f8dc ci: improve robustness of maintainer extraction 2026-04-07 23:14:48 -05:00
Austin Horstman
41f55c248a ci: limit number of automated reviewer requests 2026-04-07 22:58:13 -05:00
Bernardo Meurer Costa
6f35bb9799 tmux: use idempotent new-session to avoid duplicate sessions
When both system-level (e.g., NixOS programs.tmux) and home-manager
tmux configs set newSession = true, tmux would create two sessions
on startup since both /etc/tmux.conf and ~/.config/tmux/tmux.conf
contain the new-session command.

Change new-session to new-session -A -s 0, which attaches to session
"0" if it exists, otherwise creates it. This makes the command
idempotent so multiple configs can safely enable newSession.
2026-04-07 21:52:27 -05:00
Miles Wirht
3d822c1dba dbeaver: init module 2026-04-07 21:32:28 -05:00
tarzst
98b4d61cfa neovim: disable python3 and ruby providers by default 2026-04-07 16:44:58 -05:00
Benedikt Ritter
9cc761169a tmuxinator: use yml file ending
Files with yaml file ending are recognized by `tmuxinator start` but not
by `tmuxinator list`.

Resolves #9031
2026-04-07 13:40:48 -05:00
philip-730
530d83a5a8 programs.wezterm: add philip-730 as maintainer 2026-04-07 13:39:56 -05:00
philip-730
92d382b982 programs.wezterm: add settings option
Add a `settings` option that allows WezTerm to be configured
declaratively using a Nix attribute set. Settings are serialized to
Lua using `lib.generators.toLua`. Raw Lua expressions such as
`wezterm.font` and `wezterm.action.*` can be embedded using
`lib.generators.mkLuaInline`.

When `settings` is set, `extraConfig` is still supported. It is
wrapped in an immediately invoked function expression so that any
`return` statement (including the common `return {}` and
`return config` patterns) is captured and merged on top of the
generated settings, preserving full backward compatibility.

The merge between `settings` and `extraConfig` is shallow: a key
returned from `extraConfig` replaces the entire corresponding value
from `settings`, including nested tables and arrays.

Closes #6047
2026-04-07 13:39:56 -05:00
philip-730
d65fb79dcc maintainers: add philip-730 2026-04-07 13:39:56 -05:00
leiserfg
b0cf7b520c vicinae: refresh app list on activation 2026-04-07 13:33:38 -05:00
Adam Dinwoodie
4bdfeff1d9 syncthing: set systemd start limits
Add StartLimitIntervalSec and StartLimitBurst configuration to the
Syncthing systemd unit.  This prevents Syncthing restarting indefinitely
if it hits a bug such as NixOS/nixpkgs#502836.

The values here are taken from the values provided in the upstream
Syncthing example systemd unit[0].

[0]: 1a3cbca017/etc/linux-systemd/user/syncthing.service
2026-04-07 12:00:24 +02:00
Nara Díaz Viñolas
2bd16b16a7 Translate using Weblate (Catalan)
Currently translated at 100.0% (39 of 39 strings)

Translate using Weblate (Spanish)

Currently translated at 100.0% (39 of 39 strings)

Co-authored-by: Nara Díaz Viñolas <nara.diaz.vinolas@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ca/
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/es/
Translation: Home Manager/Home Manager CLI
2026-04-07 08:41:37 +02:00
Robert Helgesson
5de7dbd151 restic: escape environment variables
This allows better handling of, e.g., file names with spaces.
2026-04-06 08:39:40 +02:00
home-manager-ci[bot]
7e7269ac06 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/8110df5ad7abf5d4c0f6fb0f8f978390e77f9685?narHash=sha256-D3Q07BbIA2KnTcSXIqqu9P586uWxN74zNoCH3h2ESHg%3D' (2026-03-28)
  → 'github:NixOS/nixpkgs/6201e203d09599479a3b3450ed24fa81537ebc4e?narHash=sha256-ZojAnPuCdy657PbTq5V0Y%2BAHKhZAIwSIT2cb8UgAz/U%3D' (2026-04-01)
2026-04-06 00:15:30 +02:00
Robert Helgesson
de5154c348 timidity: remove amesgen as maintainer
Sadly amesgen passed away some time ago, see
<https://www.tweag.io/blog/2025-12-16-in-memoriam-amesgen/>.
2026-04-05 23:57:43 +02:00
cinereal
c65923b58d xdg-mime-apps: document performance caveat
Passing a large number of packages (e.g. all of home.packages) to
defaultApplicationPackages causes slow builds because every .desktop
file in every listed package is scanned at build time. Add a note
warning users to list only the specific packages they need.
2026-04-05 23:35:01 +02:00
Roverp
2097a5c82b news: add opencode TUI configuration entry 2026-04-04 22:48:59 -05:00
Roverp
1089b2caba opencode: add programs.opencode.tui option
OpenCode v1.2.15 introduced a separate tui.json file for TUI-specific
settings, deprecating theme/keybinds in config.json.
Changes:
- Add programs.opencode.tui option for TUI settings
- Generate separate ~/.config/opencode/tui.json with proper schema
- Add deprecation warnings for theme/keybinds in settings
- Add tests for new functionality
- Fix existing tests that used deprecated theme in settings

See: https://opencode.ai/docs/config#tui
Release: https://github.com/anomalyco/opencode/releases/tag/v1.2.15

Co-authored-by: Thierry Delafontaine <delafthi@pm.me>
2026-04-04 22:48:59 -05:00
Benedikt Rips
8ec54491cd sshAuthSock: fix naming scheme 2026-04-04 22:28:41 -05:00
Bruno BELANYI
7923d24b0b home-cursor: use submodule-specific 'size' 2026-04-04 22:28:11 -05:00
nescias
e78a997d2e restic: allow setting password command
Includes asserting that either password file or password command
should be set.
2026-04-04 22:27:18 -05:00
Yiheng He
5ee3b3ef63 awww: remove blank space after awww-daemon when extraArgs is empty
awww: split graphical-session-target test into awww-default and awww-extraArgs
2026-04-04 11:33:34 -05:00
Yiheng He
5b6f55b784 awww: run daemon dependent on program mainProgram name 2026-04-04 11:33:34 -05:00
Benedikt Rips
9dc93220c1 ssh_auth_sock: assert that at most one agent is enabled 2026-04-03 21:15:34 -05:00
Benedikt Rips
a61b22e323 ssh_auth_sock: init module
`$SSH_AUTH_SOCK` must not be set unconditionally through
'home.sessionVariables' since its value needs to be preserved if it
stems from a forwarded SSH agent. Hence, this commit establishes a
centralized, internal 'ssh_auth_sock.initialization' option for setting
`$SSH_AUTH_SOCK`. It checks whether its value has to be preserved and
injects the initialization code into the proper
'programs.(bash|fish|nushell|zsh).*' options.
2026-04-03 21:15:34 -05:00
Yiheng He
03bdcf84f0 awww: rename swww to awww
Upstream project name has changed
2026-04-03 15:21:14 -05:00
Marko Milovanov
f68887a4c1 Translate using Weblate (Serbian)
Currently translated at 100.0% (16 of 16 strings)

Translate using Weblate (Serbian)

Currently translated at 100.0% (39 of 39 strings)

Co-authored-by: Marko Milovanov <markomilovanov03@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/sr/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/sr/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2026-04-03 15:45:10 +02:00
teto
d166a07854 neovim: fix viml plugin config appearing twice
nixpkgs is now in charge of aggregating viml config so no need to
duplicate the work in HM.
2026-04-02 17:27:31 +02:00
oneorseveralcats
eb6f347055 aria2: add systemd service 2026-04-02 16:20:22 +02:00
Austin Horstman
41e6e2ab37 codex: add support for managed rules files 2026-04-01 23:29:17 -05:00
squat
6267895e98 opencode: add environmentFile option to set OPENCODE_SERVER_PASSWORD
This commit introduces a new option for the Opencode web service to
allow configuring an environment file so that we can safely specify an
`OPENCODE_SERVER_PASSWORD` environment variable to secure access to the
service without exposing the secret to the Nix store.
2026-04-01 16:47:32 -05:00