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

3698 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
Thane Gill
a5b5672084
kitty: add config change signal on darwin (#7375) 2025-07-02 18:56:54 -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
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
121b430df7
maintainers: fix incorrect entries (#7360)
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-01 23:01:12 -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
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
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
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
damidoug
d33444e63a aerospace: Add launchd agent and enhance configuration 2025-06-23 20:30:43 -05:00
Austin Horstman
86402a17b6 treewide: flatten single file modules
Some files don't need nesting and can be root level again to reduce
conflicts with other PRs.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-23 16:20:26 -05:00
Austin Horstman
bda9deb791 modules: allow root level nix files
More flexibility in allowing root level files to import, for those that
don't need nesting.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-23 16:20:26 -05:00
Perchun Pak
f5098b0740
programs/hyprpanel: init (#7303) 2025-06-23 15:48:27 -05:00
Johan Larsson
873c5b2dc5
way-displays: use mkOptionDefault in systemd.variables (#7306)
Closes #7296.
2025-06-23 13:50:37 -05:00
Dan Xin
4a8f993c45 home-manager: fix broken path reference 2025-06-23 09:59:09 -05:00
Austin Horstman
4fca600cb1 treewide: implement auto importing for modules
Reduce maintenance burden and increase efficiency by automatically
importing modules following a specific convention.

Co-authored-by: awwpotato <awwpotato@voidq.com>
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 23:58:37 -05:00
Josef Hofer
520fc4b50a
k9s: fix config files not generated correctly & improve options (#7262) 2025-06-22 22:55:09 -05:00
LesVu
6fa01d524b labwc: do not manage file when in default value(#7240) 2025-06-22 22:51:51 -05:00
LesVu
2fbd694fec labwc: Fix pipemenu(#7236) and icon in menu generation
Add the generation of icon and pipemenu
2025-06-22 22:51:51 -05:00
leiserfg
3bd646138a
nushell: Make sure the plugins are not garbage-collected (#7295) 2025-06-22 22:42:38 -05:00
Austin Horstman
19530b8d3c network-manager-applet: maintainer midirhee12 -> midischwarz12
https: //github.com/NixOS/nixpkgs/pull/418190
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 12:47:26 -05:00
crasm
39b7903eab
helix: don't ignore extraConfig when no other settings (#7302)
Fix so that you can still generate `programs.helix.extraConfig` without
using `programs.helix.settings`. Useful particularly in the case of
`extraConfig = lib.readFile ./config.toml;`.
2025-06-22 10:03:39 -05:00
Florent Charpentier
8638426397
hyprland: update wiki domain name (#7293)
As I noticed in
<https://github.com/nix-community/home-manager/pull/7277#issuecomment-2985781610>,
it seems hyprland changed its domain name from `hyprland.org` to
`hypr.land`. (The old domain redirects to the new one)

These changes are made by the following:
find . \( -type d -name .git -prune \) -o -type f -print0 | xargs -0 sed -i 's/hyprland\.org/hypr.land/g'
2025-06-18 22:41:02 -05:00
Austin Horstman
70c289b54d i3status-rust: farlion -> workflow
maintainer entry renamed

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-18 11:12:29 -05:00
Bryton Hall
28eef8722d
vscode: fix version checks when using Windsurf (#7285) 2025-06-16 21:31:03 -05:00
xaltsc
0edffd088e
firefox: allow separators in bookmarks (#7284)
Allow users to create separators in their Firefox bookmarks.

Co-authored-by: xaltsc <hey@xaltsc.dev>
2025-06-16 15:51:11 -05:00
Different
1db3cb415d
lib/strings: add PascalCase support for toCaseWithSeperator (#7282) 2025-06-16 13:49:41 -05:00
DerRockWolf
66523b0efe
thunderbird: support declaration of calendars (#5484)
Adds calendar support using the `accounts.calendar.accounts.*` options.
2025-06-15 19:21:02 -05:00
Aguirre Matteo
cef3e0adc0
maintainers: update aguirre-matteo email (#7279) 2025-06-15 18:45:17 -05:00
Austin Horstman
676e40a246
sketchybar: inherit meta in finalPackage (#7276)
Since we're creating a new derivation, we drop the original package
attributes. Add our own meta.mainProgram to resolve those warnings.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-15 18:37:49 -05:00
MaeIsBad
30b6daf872
kakoune: implement a final package option (#7275) 2025-06-15 17:23:27 -05:00
Shahar "Dawn" Or
04672588c6
way-displays: support stateful configuration file (#7138)
This is good for when displays are not considered part of the home configuration and are instead considered ephemeral.
Great for laptops but I use it for my desktop as well.
2025-06-15 16:59:12 +02:00
awwpotato
dceefa87dc ncspot: make package nullable 2025-06-15 08:26:06 -05:00
awwpotato
6e36b1be0b ncspot: adopt 2025-06-15 08:26:06 -05:00
Paul Menhart
c5f3451533
atuin: fix docs url (#7252)
* atuin: fix docs url

Co-authored-by: Austin Horstman <khaneliman12@gmail.com>

---------

Co-authored-by: Paul Menhart <paul_menhart@genua.de>
Co-authored-by: Matthieu Coudron <886074+teto@users.noreply.github.com>
Co-authored-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-15 01:46:37 +02:00
Matthieu Coudron
8fabeb9c14
fix meli eval warning (#7267) 2025-06-14 23:06:00 +02:00
Matthieu Coudron
79dfd9aa29
meli: move freeformat settings to example (#7259)
these hardcoded freeformat settings dont add anything over the default,
worse they generate empty sections which can then clash with user included config (my usecase).
It's best to move those to example.
2025-06-13 15:25:19 +02:00