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

4989 commits

Author SHA1 Message Date
pancho horrillo
3c59c5132b
wayprompt: init module (#7002)
A module for configuring Wayprompt¹, a password-prompter for
Wayland, that can be used as a pinentry program for GnuPG (and more).

Provides a 'programs.wayprompt.settings', following RFC 42².

¹: https://git.sr.ht/~leon_plickat/wayprompt
²: https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md
2025-05-08 10:45:24 -05:00
Austin Horstman
c84396bda0
rofi: modes optional (#7003)
Don't include the modes option if it hasn't been used.
2025-05-08 10:45:00 -05:00
Shahar "Dawn" Or
cea975d46d
rofi: modes option (#6115)
Adds `programs.rofi.modes` option.
For the tiny convenience of supporting the custom mode syntax.
2025-05-08 08:16:34 -05:00
Plume
2ede089d11
git: configure patdiff through [patdiff] git section (#6978)
This adds the ability to enable the patdiff program as git differ.
Website of the project: https://opensource.janestreet.com/patdiff/
2025-05-08 08:15:51 -05:00
pancho horrillo
50894120e8
modules/modules.nix: drop duplicate entry (#7000)
This partially reverts a0461b67ff,
where a duplicate entry for `./programs/vim.nix` was erroneously added.
2025-05-08 06:23:20 -05:00
Darren Gibson
ec71b51628
sbt: Scoping credentials to ThisBuild (#6026)
In Sbt (prior to 2.0) a sbt key not scoped to `ThisBuild` will always be at the project level, rather than at the build level.
In order to do some things, like use a private repository configured by sbt with sbt-scalafix, we need the credentials scope to the build, otherwise the credentials show as non-existent.
2025-05-07 18:40:35 -05:00
ScribblyBirb
a8e2d08ffd
alot: allow commas in maildir path (#6989)
Previously, maildir path was not escaped in any way, so using a path with commas
lead to a TypeError:

```
TypeError: expected string or bytes-like object, got 'list'
```
2025-05-07 18:17:09 -05:00
Andrew Marshall
708074ae6d treewide: Prevent IFD by default
Import-from-derivation (IFD) has problematic performance, and is disabled in
Nixpkgs by policy. It is arguably good practice for libraries to avoid
it whenever possible, as it has poor ergonomics in some cases,
especially with dry builds, as it requires multiple eval+build phases.

As such, prevent its use in Home Manager by default by putting existing
tests that use IFD behind a config. In CI, run a first pass with IFD
disabled, skipping tests without the config. Then run a second pass with
IFD enabled and including tests with the config. This second pass will
also run tests without the config, but they should be cached from the
previous run, so the cost is not double (only eval time should be paid
twice). It’s necessary to change from using NMT’s `run` to `build` as
`run` itself uses IFD.

Of the tests that have the config:

- kitty/theme-to-themeFile: this is a test for deprecated config, and so
  should be removed eventually anyway
- podman: the implementation relies on IFD to create individual systemd
  units from the derivation output, and so it is not straightforward to
  remove the IFD; doing so would require rethinking how the module works
  to instead have the systemd unit files included as-is rather than as
  individually configured units in the Nix config.
2025-05-07 10:34:18 -05:00
Andrew Marshall
ae44268529 prezto: Remove unnecessary import-from-derivation 2025-05-07 10:34:18 -05:00
Ramses
f3384e688d
tmpfiles: also remove files that need to be removed during activation (#6980)
Make sure that tmpfiles entries that ask for files/directories to be removed, are also executed
2025-05-07 10:27:02 -05:00
home-manager-bot
1d5fb9da10
flake.lock: Update (#6992)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/7a2622e2c0dbad5c4493cb268aba12896e28b008?narHash=sha256-MHmBH2rS8KkRRdoU/feC/dKbdlMkcNkB5mwkuipVHeQ%3D' (2025-05-03)
  → 'github:NixOS/nixpkgs/3730d8a308f94996a9ba7c7138ede69c1b9ac4ae?narHash=sha256-7%2BpG1I9jvxNlmln4YgnlW4o%2Bw0TZX24k688mibiFDUE%3D' (2025-05-05)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-07 10:26:32 -05:00
awwpotato
5da6eafceb
treewide: remove unused code (#6985) 2025-05-07 10:03:21 -05:00
Austin Horstman
76274a2130 tests/man: index.bt -> index.db
Looks like the generated cache is now using index.db
2025-05-07 10:02:56 -05:00
Austin Horstman
ba45438996 tests/darwinScrublist: add newsboat 2025-05-07 10:02:56 -05:00
Austin Horstman
f78a171fe4 mako: use toKebabCase for option transformation
Update mako module to pass lib.hm.strings.toKebabCase to the
mkSettingsRenamedOptionModules
function, which ensures option names are properly converted to
kebab-case format.
2025-05-07 10:02:56 -05:00
Austin Horstman
327885ceae lib/deprecations: add mkSettingsRenamedOptionModules with transform parameter
Add a new library module for deprecation utilities with a configurable
transformation function that allows specifying how option names should
be
converted (snake_case, kebab-case, etc.).
2025-05-07 10:02:56 -05:00
Austin Horstman
94d32062ca lib/strings: add toCaseWithSeparator
Utility function accepting a separator for converting camelCase settings
2025-05-07 10:02:56 -05:00
Austin Horstman
9cebc4cb8a lib/strings: add toKebabCase
Utility function for converting camelCase strings to kebab-case
2025-05-07 10:02:56 -05:00
Austin Horstman
e121442b65 lib/strings: add toSnakeCase
Utility function for converting camelCase strings to snake_case
2025-05-07 10:02:56 -05:00
awwpotato
35535345be
television: add shell integrations (#6983) 2025-05-06 21:35:55 -05:00
Aguirre Matteo
60964ff845
mako: fix example config (#6987) 2025-05-06 21:06:15 -05:00
Aguirre Matteo
8a318641ac
sway-easyfocus: add module (#6976) 2025-05-04 21:46:28 -05:00
Austin Horstman
5f1f472565
mako: use ini atom type (#6977)
Fix backwards compatibility
2025-05-04 21:44:38 -05:00
Nick K.
1a1793f6d9
ghostty: fix config syntax file location on darwin (#6970)
Home Manager creates broken link to the Ghostty config
syntax highlighting definition file, because it has different location
on Darwin. This commit updates path to the config for Darwin users.

Fixes #6961
2025-05-04 09:42:05 -05:00
awwpotato
8167af657c
mako: fix criterias typo (#6968) 2025-05-04 09:17:09 -05:00
home-manager-bot
3a185176e4
flake.lock: Update (#6969)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/46e634be05ce9dc6d4db8e664515ba10b78151ae?narHash=sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ%2B5dck%3D' (2025-04-29)
  → 'github:NixOS/nixpkgs/7a2622e2c0dbad5c4493cb268aba12896e28b008?narHash=sha256-MHmBH2rS8KkRRdoU/feC/dKbdlMkcNkB5mwkuipVHeQ%3D' (2025-05-03)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-04 09:16:26 -05:00
Aguirre Matteo
621986fed3
i3bar-river: add module (#6967) 2025-05-03 19:12:02 -05:00
Aguirre Matteo
64f7d5e6b9
wofi: allow path to style.css (#6966) 2025-05-03 19:11:10 -05:00
Aguirre Matteo
d1bbab6b04
mako: refactor (#6948)
Refactors the services.mako module to replace all its configuration options with a freeform settings option and criterias. I also added a test for the configuration.
2025-05-03 19:09:56 -05:00
Austin Horstman
94f4c66660
tests/darwinScrublist: add more packages (#6965) 2025-05-03 19:08:12 -05:00
Ihar Hrachyshka
75268f6252
tests: enable all firefox tests on darwin (plus derivations) (#6960) 2025-05-03 10:51:18 -05:00
Ihar Hrachyshka
929f8ee836
thunderbird: deprecate darwinSetupWarning option (#6531)
nixpkgs support thunderbird for darwin now
2025-05-03 10:40:34 -05:00
MithicSpirit
c0962eeeab
thunderbird: fix accounts being removed (#6959)
Even if no accounts were configured, it was defaulting to just account1,
which meant all other accounts were deleted every time thunderbird was
restarted. This fixes that by defaulting to the empty list (so it
remains unset in the user.js).
2025-05-02 22:32:45 -05:00
Aguirre Matteo
123297c57e
onagre: add module (#6958) 2025-05-02 22:09:45 -05:00
Dawid Ciężarkiewicz
1e8c62c651 gpg-agent: avoid console output when using ssh
Without `--quiet` gpg-connect-agent sometimes prints

```
gpg-connect-agent: connection to the agent is in restricted mode
```
2025-05-02 18:56:14 +02:00
Aguirre Matteo
d6b0c05457
visidata: add module (#6956) 2025-05-02 11:14:19 -05:00
Joaquín Triñanes
355a6b937d
nushell: throw instead of abort (#6870) 2025-05-02 08:45:16 -05:00
Jess
2eabb26d08
restic: allow the convenience script to source environmentFile (#6947) 2025-05-02 08:23:57 -05:00
Aguirre Matteo
f15be4feb6
clipcat: add module (#6946) 2025-05-02 08:22:35 -05:00
milanglacier
c5cad190ba
zsh: update doc to show how to add initContent at multiple location. (#6945) 2025-05-02 08:18:11 -05:00
Aguirre Matteo
669e813c75
element-desktop: add module (#6935) 2025-05-02 08:17:24 -05:00
Marien Zwart
f045bd46b7 fish: keep all fish-completions packages around
...even empty ones.

For packages in `home.packages` with no Fish completions, we build an
empty directory that is not included in our runtime closure (because we
build a collection of symlinks to their contents: if there are no
contents, there is nothing to symlink). This means these empty
completion packages get garbage-collected by Nix. They are not that
expensive to rebuild but there can be enough of them it adds up, and any
change to any package in `home.packages` is enough to trigger a rebuild.

Fix this by forcing a dependency on all of them. Since we already
depended on them anyway if they were non-empty, this only adds
dependencies on empty directories (so should not significantly affect
storage space).

Fixes #6157.
2025-05-02 11:11:28 +02:00
Marien Zwart
361ab4484e home-environment: add home.extraDependencies
This should have the same effect `system.extraDependencies` has in
nixpkgs: adds paths to the runtime closure without installing them
anywhere.

This is useful for preventing garbage collection of packages that are
expensive to rebuild. For example:

- nixpkgs itself suggests using this for `factorio.src`, which requires
  a token to fetch.
- we can use it to address #6157: avoid needlessly rebuilding
  completions for packages that do not have any.

The implementation mirrors nixpkgs: add a file containing the store
paths we want to keep around to the home-manager-generation derivation.
2025-05-02 11:11:28 +02:00
Robert Helgesson
1298a3418b
ci: remove release-24.05 from dependabot setup 2025-05-02 09:07:04 +02:00
Robert Helgesson
015f191310 ci: remove GitLab rycee/nur-expression update
This removes the automatic update of the Home Manager packaging in
<https://gitlab.com/rycee/nur-expressions/>. That setup is very old
and brittle, it should therefore not be used.
2025-05-01 23:17:55 +02:00
Robert Helgesson
4e7ee4d02c home-manager: new formatting of generated configuration
Makes the formatting of the generated initial `flake.nix` match the
RFC style format.
2025-05-01 23:13:47 +02:00
pancho horrillo
81431b6d6f
gpg-agent: fix typo (#6950)
See 46e634be05/pkgs/by-name/wa/wayprompt/package.nix (L60)
2025-05-01 15:11:25 -05:00
Jess
5f217e5a31 restic: change service type from simple to oneshot
Fixes #6930
2025-04-30 14:19:59 -05:00
Jess
7f301a4d96 restic: fix certain integration tests 2025-04-30 14:19:59 -05:00
June Stepp
272eb00d13
fcitx5: ensure config doesn't get overwritten (#6940)
fcitx5 overwrites config files unless the entire folder is readonly. With this PR, a single fcitx5 symlink is made instead of multiple fcitx5/* ones. The link is only created when relevant options are set.
2025-04-30 14:19:29 -05:00