1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-03-06 16:57:03 +00:00
Commit graph

1113 commits

Author SHA1 Message Date
David Thievon
bdf73272a8
swayimg: add module (#6506) 2025-02-21 12:15:02 -06:00
Ihar Hrachyshka
1a78a4c7fe firefox: fix build failure when package is null
Native messaging hosts module assumed all hosts are packages, and we
were passing null before.

The patch also adds a test case for a null firefox package to avoid
regressions in the future for this common (on Darwin at least) scenario.

Note: Thunderbird doesn't need a similar change because it doesn't allow
a null package.

Signed-off-by: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
2025-02-21 09:28:22 -08:00
Ihar Hrachyshka
fad54a641a tests: check thunderbird with and without native messaging hosts
Signed-off-by: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
2025-02-21 09:28:22 -08:00
Ihar Hrachyshka
63146593a9 tests: don't override scraping of nixpkgs for thunderbird suite
Instead, pick just the required packages to pass the tests.

Note: we have to refer to real derivations because symlinkJoin assumes
the passed derivation is a directory with files, otherwise it fails as:

@thunderbird@: No such file or directory

Signed-off-by: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
2025-02-21 09:28:22 -08:00
Ihar Hrachyshka
e5e485e73c thunderbird: separate test case for firefox+thunderbird setup
Signed-off-by: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
2025-02-21 09:28:22 -08:00
Ihar Hrachyshka
7e81c581a5 thunderbird, firefox: fix file conflict for native messaging hosts
On Linux, both Thunderbird and Firefox use the same directory to contain
native messaging host modules. On this platform, we have to merge both
directories with native hosts into one.

The patch introduces a separate helper module to manage native host
directory generation. Now program modules (firefox, thunderbird) declare
native hosts to initialize; while the new helper module determines
*where* and *how* to merge them on disc.

Signed-off-by: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
2025-02-21 09:28:22 -08:00
Ihar Hrachyshka
fadb9cba44 Reapply "thunderbird: add native host support (#6292)" (#6371)
This reverts commit 6fbbfb9240.

Signed-off-by: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
2025-02-21 09:28:22 -08:00
Heitor Augusto
3c82285348
vinegar: add module (#6494) 2025-02-21 07:48:51 -06:00
Austin Horstman
1c189f0114
tests/home-cursor: init (#6496)
Working on module and needed test to verify expected behavior.
2025-02-19 13:18:30 -06:00
ljyoth
69dfc316c5
mise: enable nushell integration (#6363) 2025-02-17 19:36:02 -06:00
HPsaucii
27ffa35178 firefox: add support for configuring extensions
This commit refactors programs.firefox.profiles.<name>.extensions in
order to support both installation of extensions (addons) and their
configuration. It does this by setting the
`extensions.webextensions.ExtensionStorageIDB.enabled` user_pref to
false.

When this preference is set to false, support for storing extension
settings in sqlite databases, also known as IndexedDB or IDB, is
reverted back to the JSON format present in firefox versions prior to
version 63, as seen here:
https://blog.mozilla.org/addons/2018/08/03/new-backend-for-storage-local-api/

IndexedDB was made the default due to performance improvements, but had
the consequence of removing any possibility of declarative extension
configuration without the assistance of firefox's policy system. The
policy system is supported by a small amount of extensions, such as
uBlock Origin, but has to be explicitly supported. Even when supported,
it provides significantly less granular control when compared to the
JSON storage format.
2025-02-17 12:17:38 -08:00
Austin Horstman
5c5697b82a
git: support not configuring signing.format (#6478) 2025-02-17 03:00:03 -08:00
Calum MacRae
582d3cd42d
yubikey-agent: init service module (#6446) 2025-02-14 15:10:24 -06:00
Sizhe Zhao
7da01bc47a
git: support alternate signing methods (#5516)
The Git module now supports SSH and X.509 signing in addition to
OpenPGP/GnuPG, via setting the `programs.git.signing.format` option.
It defaults to `openpgp` for now as a backwards compatibility measure,
but I feel like we shouldn't enforce GPG as the default on everyone,
especially for people who use SSH signing like me.

Accordingly, `programs.git.signing.gpgPath` has been renamed to
`programs.git.signing.signer`, as now the signer binary is not
restricted to GnuPG. Users should only get a warning and everything
should continue to work.

Fixes #4221, supersedes #4235

Co-authored-by: Mario Rodas <marsam@users.noreply.github.com>
Co-authored-by: Sumner Evans <me@sumnerevans.com>
Co-authored-by: Leah Amelia Chen <hi@pluie.me>
2025-02-14 11:47:27 -07:00
derrik
a70d788923
aerospace: fix workspace assignment config (#6442)
with the default to `{}`, this table is always set in the generated
config. this change allows `null` for
`workspace-to-monitor-force-assignment` and sets the default to `null`

Co-authored-by: derrik.fleming <derrik.fleming@spindance.com>
2025-02-13 08:24:38 -06:00
Austin Horstman
d303453b13 eww: add null configDir test 2025-02-12 09:38:53 -08:00
Christoffer Hald Christensen
1f6fa87808 eww: added tests 2025-02-12 09:38:53 -08:00
Mateus Auler
9c8169b446 git-worktree-switcher: init module 2025-02-11 09:18:04 -06:00
MithicSpirit
fc3cd1e408 kitty: allow not setting shell_integration
This allows better support for using kitty's built-in shell integration
method by setting `shellIntegration.mode' to `null', which makes it not
be set at all in the config file and disables modification to shell
initialization scripts by default. If this is used, the user should set
`settings.shell_integration' instead (if shell integration is desired),
which receives no special handling.
2025-02-10 17:56:59 -06:00
Robert Helgesson
a3c9e88177
nushell: temporarily disable test 2025-02-10 23:32:27 +01:00
Robert Helgesson
0f9e92302a
neovim: re-enable test 2025-02-10 23:32:14 +01:00
Perchun Pak
b0bd29bb4b
tldr-update: init (#6401)
Adds `tldr-update` module for enabling automatic `tldr update` on a schedule.
Adds option to `tealdeer` to enable integration with new `tldr-update` module.
2025-02-10 08:34:12 -06:00
Robert Helgesson
947eef9e99
neovim: disable neovim-coc-config test 2025-02-08 09:17:02 +01:00
Damien Cassou
f99c704fe3 bash: Make sure HISTFILE's directory exists
Co-authored-by: Robert Helgesson <robert@rycee.net>
2025-02-06 12:25:09 +01:00
Kira Bruneau
15bd673658
firefox: remove old unused test file (#6403) 2025-02-06 12:00:06 +01:00
Robert Helgesson
f2d32e46fa
broot: use hjson-go
Reduces the build closure quite a bit.
2025-02-04 23:58:20 +01:00
Robert Helgesson
7a3f0b3b8d
tests: rework derivation stubbing
Instead of having to manually stub packages that should not be
downloaded we instead automatically stub all packages (except a small
list of whitelisted ones). Tests can re-introduce the real package by
using the `realPkgs` module argument.
2025-02-04 23:58:20 +01:00
Robert Helgesson
24bb01ea17
tests: avoid unnecessary test script interpolation 2025-02-04 22:46:40 +01:00
Matthieu Coudron
7abcf59a36
mpv: support includes directives (#6391)
to allow mixing imperative and declarative config
the includes are at the end of the config
2025-02-04 12:07:35 +01:00
Timon Schelling
8544cd0920
lapce: add module (#5752)
Adds the 'programs.lapce' module for configuring lapce text editor.
Options for settings, plugins and keymaps are available.
2025-02-01 14:03:26 +01:00
utzuro
055c67056d
fcitx5: add waylandFrontend option to not set env vars (#5431) 2025-02-01 11:54:11 +01:00
Austin Horstman
801ddd8693 hyprland: use package stubs
Reducing closure size for tests.
2025-01-31 20:47:14 -06:00
Austin Horstman
9afd022013 wayfire-stubs: add stubs for wayfire tests
Reducing closure from 500MB to 357MB
2025-01-31 20:47:14 -06:00
Austin Horstman
c4f28f282f spectrwm-stubs: add stubs for spectrwm tests
Reducing closure from 500MB to 357MB
2025-01-31 20:47:14 -06:00
Austin Horstman
e17bdf3191 herbstluftwm-stubs: add stubs for herbstluftwm tests
Reducing closure from 500MB to 357MB
2025-01-31 20:47:14 -06:00
Austin Horstman
c4f4b1e2fa bspwm-stubs: add stubs for bspwm tests
Reducing closure from 500MB to 357MB
2025-01-31 20:47:14 -06:00
Austin Horstman
02dc2e827f river-stubs: add stubs for river tests
Reducing closure from 500MB to 357MB
2025-01-31 20:47:14 -06:00
Austin Horstman
e0a2df3193 i3-stubs: add more stubs
Reducing closure from 500MB to 357MB
2025-01-31 20:47:14 -06:00
Austin Horstman
644552519e sway-stubs: add more stubs
Reducing closure from 500MB to 357MB
2025-01-31 20:47:14 -06:00
Austin Horstman
86b0f3049c hyprland: add null package tests 2025-01-30 15:41:13 -06:00
ckgxrg
d963ed335b
linux-wallpaperengine: add module
linux-wallpaperengine is an implementation of Wallpaper Engine on
Linux, this module allows it to be declaractively configured.
2025-01-30 10:22:43 +01:00
Sefa Eyeoglu
9ce5d0b888
xdg-autostart: add module (#5251)
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2025-01-29 18:45:54 -06:00
Austin Horstman
6fbbfb9240
Revert "thunderbird: add native host support (#6292)" (#6371) 2025-01-29 17:11:30 -06:00
Ihar Hrachyshka
608b26d16e
thunderbird: add native host support (#6292)
Note: the test case uses a firefox native host but it shouldn't matter
since they are packaged the same way for both TB and Firefox.
2025-01-29 16:07:28 -06:00
DamiDoug
d5e5c0d051
aerospace: add module (#6279)
Co-authored-by: damidoug <contact@damidoug.dev>
2025-01-29 16:04:24 -06:00
Robert Helgesson
420a0d9506
nushell: structured settings and more
PR #6184
2025-01-29 20:18:33 +01:00
Austin Horstman
c4650fb9c0
cliphist: support multiple systemdTargets properly (#5669)
Using a space separated list of targets as a single string element in
the list doesn't work properly. Change property to support list of
targets and backwards compatibility with warning for single string.
2025-01-29 12:26:13 -06:00
Danil Suetin
0ee8bfdd04
firefox: add preConfig
Add `preConfig`, which acts like `extraConfig`, but placed before
`settings`. This will allow to overwrite settings in `preConfig`,
using `settings` option.
2025-01-29 18:36:43 +01:00
Andrew Marshall
bd530df4e2
firefox: avoid unnecessarily overriding package
When `cfg.package` is already wrapped, and wrapped without the
`ExtensionSettings` key set, this would always add that key, even if its
value was blank. This would result in `cfg.finalPackage` being a
functionally-identical, but differently-input-addressed package. This is
generally undesirable as it may result in multiple derivations being
built, and also if the value of `cfg.package` is expected to be
unchanged by the user (e.g. because they want it to be consistent
between NixOS and HM configuration).

Add a test to ensure this does not regress in the default case. Only
test on newish stateVersion since the logic for `isWrapped` differs on
older versions.
2025-01-29 18:29:44 +01:00
Joaquín Triñanes
82455a84e3
nushell: allow multi-word aliases
Also fix invalid alias in test
2025-01-29 18:22:08 +01:00