1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-11-20 17:29:39 +01:00
Commit graph

4989 commits

Author SHA1 Message Date
Lucas Servén Marín
1fa73bb2cc
fix(service/gpg-agent): allow SSH ForwardAgent compatibility (#7355)
https://github.com/nix-community/home-manager/pull/7117#issuecomment-3018582819
noted that #7117 broke compatibility with forwarding ssh-agents using
`ssh -A`/`ForwardAgent`. In order to continue supporting the fix for
the issue raised in #5997 and address the compatibility problem
mentioned by @euank, this commit introduces the solution described in
https://github.com/nix-community/home-manager/pull/7117#issuecomment-3025001779.

The code now checks the following:
1. is this shell part of an SSH connection and is `SSH_AUTH_SOCK` set?
   if so, assume the socket variable was set by sshd to point at a
   forwarded socket; bail out to skip setting `SSH_AUTH_SOCK".
1. is the current process a child of `gpg-agent --daemon`? if so, then
   bail out to skip setting `SSH_AUTH_SOCK`.
1. if we got this far, then set `SSH_AUTH_SOCK`.

I've tested this fix locally and can confirm that both #5997 as well as
the regression are fixed.

Signed-off-by: squat <lserven@gmail.com>
2025-07-03 08:24:16 -05:00
Jairo Llopis
b182e64c01
zed-editor: survive if previous files are not JSON5 (#7351) 2025-07-03 07:44:20 -05:00
Austin Horstman
426b405d97 ci: add validation workflow for maintainers list
We need to make sure that we don't insert invalid maintainers otherwise
it breaks the RFC39 invite workflow. Check that we have valid nix and
the required attributes are able to be parsed properly.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-02 22:25:47 -05:00
Austin Horstman
66de606f48 ci: update all-maintainers on merge
We want to update the master list for RFC39 invites on master after a
change is merged in.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-02 22:25:47 -05:00
Thane Gill
a5b5672084
kitty: add config change signal on darwin (#7375) 2025-07-02 18:56:54 -05:00
Yiheng He
89af52d9a8 tests/firefox: add extension user.js test 2025-07-02 15:59:50 -05:00
Yiheng He
1b25908d1d firefox: fix user.js extensions.settings creation
Creates the user.js if profile.extensions.settings is set.
This fixes the case when profile.extensions.settings is set but every
other option in the mkIf is false, resulting in no user.js creation.
2025-07-02 15:59:50 -05:00
Austin Horstman
25f003f8a9
ci: tag maintainers automatically for PR reviews (#6921)
Want to create an easier way to notify maintainers that someone is
working on their module. Added a workflow for requesting a review from any maintainers that have joined the `home-manager-maintainers` team in the organization. 

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-02 14:45:27 -05:00
Austin Horstman
9347c61bc0
ci: use GITHUB_TOKEN when app config missing (#7374)
Allow testing workflows more on forks when app configuration missing.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-02 12:17:42 -05:00
Matt Sturgeon
a7820832c6
ci: fix update-maintainers indentation (#7372)
Fixes a regression from be8f7e100f
2025-07-02 11:44:16 -05:00
Matt Sturgeon
bafcf33687 ci: use env in update-maintainers changes summary
Use env variables in the changes summary, to avoid string escape issues
with injecting template strings directly into the script.
2025-07-02 11:25:16 -05:00
Matt Sturgeon
be8f7e100f ci: move update-maintainers commit/pr to env
Define the commit & PR title and body in env variables to make the
script itself more readable and avoid any string escape issues.
2025-07-02 11:25:16 -05:00
Matt Sturgeon
7241b18a7b ci: make update-maintainers check-changes multiline
Use yaml's multiline string syntax for check-changes's run script.
2025-07-02 11:25:16 -05:00
Tarow
7c45553340
mpvpaper: fix eval if no settings are defined (#7370)
Do not attempt to evaluate the xdg config files if no settings for
pauseList and stopList are defined.
2025-07-02 10:25:41 -05:00
Austin Horstman
3d243d4a16
ci: fix which branch to show on pr (#7368)
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-02 08:45:36 -05:00
Austin Horstman
77027882a7
ci: prefix flake update prs (#7366)
Make it easier to distinguish which flake.lock update a pr is for.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-02 08:41:10 -05:00
Austin Horstman
4bd4634525
ci: fix update-flake branch inputs (#7345)
Help with allowing multiple Prs from actions to different branches.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-02 08:25:53 -05:00
home-manager-ci[bot]
6c53df3b9c
flake.lock: Update (#7363)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/30e2e2857ba47844aa71991daa6ed1fc678bcbb7?narHash=sha256-krGXKxvkBhnrSC/kGBmg5MyupUUT5R6IBCLEzx9jhMM%3D' (2025-06-27)
  → 'github:NixOS/nixpkgs/3016b4b15d13f3089db8a41ef937b13a9e33a8df?narHash=sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU%2Btt4YY%3D' (2025-06-30)

Co-authored-by: home-manager-ci[bot] <214323736+home-manager-ci[bot]@users.noreply.github.com>
2025-07-02 08:13:41 -05:00
home-manager-ci[bot]
df12269039
maintainers: update all-maintainers.nix (#7361)
Automated update of the master maintainers list combining:
- Home Manager specific maintainers from modules/lib/maintainers.nix
- Nixpkgs maintainers referenced in Home Manager modules

Changes: +6 -4 lines

Generated by: lib/python/generate-all-maintainers.py

Co-authored-by: home-manager-ci[bot] <214323736+home-manager-ci[bot]@users.noreply.github.com>
2025-07-01 23:10:52 -05:00
Austin Horstman
29d717aab5 ci: tests fetch nixpkgs from flake.lock rev
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-01 23:03:57 -05:00
Austin Horstman
212f4a4fb2 ci: update-maintainers fetch nixpkgs from flake.lock rev
We need a nixpkgs on NIX_PATH. Right now we have been using the latest
from channel. But, we can actually just fetch the nixpkgs from our
flake.lock by parsing the flake.lock.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-01 23:03:57 -05:00
Austin Horstman
121b430df7
maintainers: fix incorrect entries (#7360)
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-01 23:01:12 -05:00
Austin Horstman
e96a8a325c
ci: conditional test step runs (#7358)
Not every PR requires the overhead of spinning up runners and running
our entire test suite. Filter on paths affected and only run the
relevant steps.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-01 18:11:29 -05:00
Austin Horstman
5d2f3e3e7f
ci: fix update-maintainers reference location (#7357)
Moved from scripts to lib/python and forgot to update action

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-01 16:59:53 -05:00
Austin Horstman
77bb9e033b ci: add update-maintainers.yml
Create workflow for updating maintainers list.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-01 16:30:06 -05:00
Austin Horstman
11db56137d all-maintainers.nix: initial creation
Create initial master maintainer list from the home manager and nixpkgs
maintainers that are referenced in the repository.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-01 16:30:06 -05:00
Austin Horstman
44a2308db9 scripts/generate-all-maintainers.py: add script
Create a script for generating the master maintainer list we will use
for inviting / pinging on changed files.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-01 16:30:06 -05:00
Austin Horstman
479f888967
bash: support path in sessionVariables again (#7354)
Upstream shell environment variables support paths.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-01 10:47:16 -05:00
Winter
96354906f5
files: show better error when file would be clobbered (#7348)
Before:

> Existing file '' would be clobbered by backing up '/home/winter/.config/fish/config.fish'

After:

> Existing file '/home/winter/.config/fish/config.fish' would be clobbered
2025-06-30 21:16:25 -05:00
Ali Jamadi
4074121796 nh: update maintainers 2025-06-30 21:12:20 -05:00
Ali Jamadi
e8a3e2c1e0 nh: fix clean option behaviour for Darwin 2025-06-30 21:12:20 -05:00
Kira
78fc50f1cf
direnv: fix nushell cell-path handling (#7339)
After https://github.com/nushell/nushell/pull/15692, this integration breaks
$PATH conversions again as cell-paths are now case-sensitive.
2025-06-30 13:49:04 -05:00
Austin Horstman
ee2189cb2f
gh: insert empty helper when using credential helper (#7347)
Resets previous helpers so the only one being used is the `gh` cli

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-30 12:12:19 -05:00
Matthieu Coudron
0f21ed5182
bash: change sessionVariables to attrsOf ... (#7300)
I had programs.bash.sessionVariables.CDPATH = ... defined in the
different nix files. One was taken into account and the other one
ignored.

Turns out plain "types.attrs" has the following merging strategy:

===
merge = loc: foldl' (res: def: res // def.value) { };
===

Changing it to "attrsOf", the module system warned me of the conflicting
values.
2025-06-30 17:19:07 +02:00
Devin Droddy
f6deff178c
quickshell: add module (#7316) 2025-06-29 18:28:19 -05:00
Adam Dinwoodie
cab8104e92
home-manager: add repl subcommand (#5600)
Similar to the `nixos-rebuild repl` command, `home-manager repl` will
launch the Nix read-evaluate-print-loop environment with the Home
Manager configuration loaded.

To make that more useful, also add the pkgs and options attributes from
the generated Home Manager configuration to the environment.

This doesn't currently work with flakes, because I don't use them and
I'm not confident I could safely test that function.
2025-06-29 18:12:33 -05:00
Maximilian Dietrich
3faf4a1507
syncthing: add guiAddress to configuration (#7281)
We have a configuration option services.syncthing.guiAddress which is an explicit option because we need it in the syncthing-init service, but why not also set it in the actual syncthing config as well as (or instead of?) the current CLI override? This way other software that parses the config file / REST API like syncthingtray just works with it instead of erroring out and unexpectedly requesting user interaction.

I guess we could actually also scrap the explicit services.syncthing.guiAddress option in favor of the syncthing-native services.syncthing.settings.gui.address because these two (valid!) options conflict otherwise.

Also, a next PR (or addition to this one) could be to make sure the syncthing-init service treats services.syncthing.settings.gui differently by not PUTting but PATCHing the configuration as PUTting triggers an API key regeneration, again breaking REST API access for other tools.
2025-06-29 18:11:18 -05:00
winston
a4f9ab0005
sway: add wayland.windowManager.sway.systemd.dbusImplementation (#7271)
Allows the user to choose the dbus implementation for the environment
import.

See https://github.com/swaywm/sway/wiki#systemd-and-dbus-activation-environments
2025-06-29 18:09:58 -05:00
home-manager-ci[bot]
522c681ac2
flake.lock: Update (#7326)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/08f22084e6085d19bcfb4be30d1ca76ecb96fe54?narHash=sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50%3D' (2025-06-19)
  → 'github:NixOS/nixpkgs/30e2e2857ba47844aa71991daa6ed1fc678bcbb7?narHash=sha256-krGXKxvkBhnrSC/kGBmg5MyupUUT5R6IBCLEzx9jhMM%3D' (2025-06-27)

Co-authored-by: home-manager-ci[bot] <214323736+home-manager-ci[bot]@users.noreply.github.com>
2025-06-29 17:35:42 -05:00
jaredmontoya
2b3bb17e87
oh-my-posh: fix nushell with v26.0.0 (#7342) 2025-06-29 17:34:38 -05:00
awwpotato
76d0c31fce
formatter: add deadnix (#7331) 2025-06-28 16:28:39 -05:00
Lucas Servén Marín
da077f20db
fix(service/gpg-agent): ensure SSH_AUTH_SOCK is set on Darwin (#7117)
This commit addresses https://github.com/nix-community/home-manager/issues/5997
At the root, the gpg-agent SSH integration is not working on Darwin
because shells are started with `SSH_AUTH_SOCK` already set to something
like `/private/tmp/com.apple.launchd.ozLmoURHDC/Listeners`, which
prevents the hook from setting the variable to the gpg-agent's socket.

This commit fixes the issue using a different mechanism to detect if the
current shell has already had the `SSH_AUTH_SOCK` variable set to the
gpg-agent's socket, namely by checking for `gnupg_SSH_AUTH_SOCK_by` as
documented in
https://www.gnupg.org/documentation/manuals/gnupg/Agent-Examples.html#Agent-Examples.

This is essentially a simplified version of
https://github.com/nix-community/home-manager/pull/5901 that does not
attempt to migrate gpg-agent over to launchd.

Signed-off-by: squat <lserven@gmail.com>
2025-06-28 12:30:46 -05:00
Matthias Beyer
080e8b48b0
mako: "settings" is an attrset, so use that as example too (#7330)
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2025-06-26 16:36:45 -05:00
Jairo Llopis
ff31a4677c
fix(zed): support preexisting JSON5 settings (#7317)
Zed uses JSON5 for settings files. JQ doesn't understand that format and
fails if found, when merging with preexisting settings.

Here I add a conversion step that converts JSON5 to JSON before handling
the contents to JQ.

Besides, I changed the arguments in the jq function, so instead of using
`[0]` and `[1]`, we now use `$dynamic` and `$static` respectively. This
should make scripts more readable.

Fixes https://github.com/nix-community/home-manager/issues/7247
Fixes https://github.com/nix-community/home-manager/issues/7226
2025-06-24 15:48:03 -05:00
Austin Horstman
951f0b30c5
ci: schedule release flake lock updates (#7325)
Currently only running on the master branch. But, we can schedule on the
release branch, as well.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-24 14:54:56 -05:00
Austin Horstman
d400c36166
tests/flake.lock: remove (#7324)
Accidentally checked in

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-24 14:09:59 -05:00
Jonathan Davies
a4bac2b9ba
helix: fix configuration file creation logic (#7319)
without this change, an extraConfig file always gets created, even when
none is specified
2025-06-24 11:06:11 -05:00
Austin Horstman
d07e9cceb4
docs: add note about importing modules (#7315)
Help explain how we import for contributers.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-23 20:57:15 -05:00
Austin Horstman
c9d8158bc5 tests/aerospace: test launchd agent
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-23 20:30:43 -05:00
damidoug
d33444e63a aerospace: Add launchd agent and enhance configuration 2025-06-23 20:30:43 -05:00