1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-11-27 05:29:46 +01:00
Commit graph

2364 commits

Author SHA1 Message Date
Robert Helgesson
5f5cb7a613
carapace: add xgettext workaround 2023-09-13 23:45:50 +02:00
stuebinm
aed5ed979e
bat: allow adding custom syntaxes
Adds an option to add custom syntax files to bat's cache, analogous to
the existing programs.bat.themes option.
2023-09-13 22:29:41 +02:00
NotAShelf
a0ddf43b62
xplr: add module 2023-09-13 08:10:39 +02:00
Tristan Daniël Maat
5171f5ef65
swaylock: document the need for host PAM configuration 2023-09-11 23:59:04 +02:00
Sefa Eyeoglu
ac1c7c34db
exa: replace with eza
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-09-11 22:17:41 +02:00
Karel Kremel
2b637f3289
Translate using Weblate (Czech)
Currently translated at 100.0% (35 of 35 strings)

Translate using Weblate (Czech)

Currently translated at 5.5% (1 of 18 strings)

Co-authored-by: Karel Kremel <charles@alembiq.net>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/cs/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/cs/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-09-10 12:17:56 +02:00
Weblate
3dd5470e59
Add translation using Weblate (Czech)
Co-authored-by: Weblate <noreply@weblate.org>
2023-09-10 12:17:56 +02:00
Lin Jian
19c6a4081b
emacs: add version for default.el package
A recent change[1] in Nixpkgs makes version attribute non-optional.

[1]: https://github.com/NixOS/nixpkgs/pull/253448
2023-09-08 09:00:58 +08:00
Robert Helgesson
f1d4f49e71
just: simplify 2023-09-07 22:29:12 +02:00
Christina Sørensen
91341cde41
eza: add module
This copies the exa configuration for eza, the official fork of the
program.

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-09-07 17:57:00 +02:00
Weathercold
3c0e381fef
carapace: add module 2023-09-05 08:39:59 +02:00
Basile Clément
886ea1d213
accounts.email: fix runbox.com TLS setup (#4408) 2023-09-04 22:29:18 +02:00
nicoo
7ac2cd01ae tmpfiles: use only xdg.configFile
This is a small refactor, and minimises the impact of home-manager#4398.
2023-08-31 14:18:55 +02:00
arjan-s
a7eab56be5
programs.khal: add settings option (#4375) 2023-08-30 11:57:47 +02:00
cafkafk
43ec65ad55
Translate using Weblate (Danish)
Currently translated at 83.3% (15 of 18 strings)

Translate using Weblate (Danish)

Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: cafkafk <christina@cafkafk.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/da/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/da/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-08-27 23:09:54 +02:00
Damien Cassou
455cc8cf1c
offlineimap: cleanup unused bindings 2023-08-27 22:36:42 +02:00
Damien Cassou
0962772e0b
antidote: cleanup unused bindings 2023-08-27 22:36:41 +02:00
Damien Cassou
35cbed7ac7
aerc: cleanup unused bindings 2023-08-27 22:36:40 +02:00
XYenon
90e62f96c7
programs.yazi: add module (#4373)
add module for yazi https://github.com/sxyazi/yazi a terminal rust file browser akin to ranger or joshuto
2023-08-27 20:47:47 +02:00
networkException
f8c5fd7509
chromium: add support for dictionaries
this patch adds support for installing hunspell dictionaries in
chromium.
2023-08-27 10:42:38 +02:00
Anton Mosich
8eb8c212e5
qcal: add module 2023-08-22 18:09:05 +02:00
Robert Helgesson
ea59b79f31
bat: generate cache file in XDG cache home
Fixes #4345
2023-08-22 08:34:00 +02:00
polykernel
a0ad98174c
home-cursor: remove IFD when linking icon directories
An IFD was introduced in bdb5bcad01 from
reading the top-level directories of the `home.pointerCursor.package`
at instantiation time.

This commit removes the IFD introduced when linking icon directories
by linking only the icon directory matching `home.pointerCursor.name`
in `home.pointerCursor.package`. This should be functionally
equivalent to linking all top-level directories of the supplied icon
package as the module only generates cursor configurations pertaining
to the cursor identified by `home.pointerCursor.name`. Deviations in
behavior caused by additional files linked in $HOME/.icons as of the
status quo should be treated as impurities.
2023-08-22 08:22:24 +02:00
polykernel
bdb5bcad01
home-cursor: improve icon compatibility
The current cursor configuration poorly accomodate applications not
following the XDG icon theme spec. As a result, some applications fail
to locate user defined icons and themes.

To address this, symlinks from icon directories in the provided cursor
package was to $HOME/.icons were added added for greater compatibility
with applications using hardcoded icons directories. This approach was
chosen to allow for coexistence of declarative and non-declarative
icon files in the icons directory. In addition, symlinks of icon
directories were mirrored in $XDG_DATA_HOME/.icons for backwards
compatibility. As per the XDG icon theme spec, applications are to
search in $HOME/.icons first for icons and themes so the existing
behavior should not break for XDG compliant applications[1].

[1] https://specifications.freedesktop.org/icon-theme-spec/latest/ar01s03.html
2023-08-19 14:32:28 +02:00
Kilian Mio
6a94c1a597
fix(qt): allow theming for apps started by systemd (#4349) 2023-08-17 10:27:17 +02:00
Donovan Glover
9db5b89f40
pqiv: add module 2023-08-16 17:44:54 +02:00
NotAShelf
b84767a145
xplr: add module 2023-08-15 20:26:58 +03:00
Robert Schütz
18791781ea
browserpass: support librewolf 2023-08-15 08:42:51 +02:00
HeartBlin913861820c094e37
da6874e8bb
Translate using Weblate (Romanian)
Currently translated at 100.0% (18 of 18 strings)

Translate using Weblate (Romanian)

Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: HeartBlin913861820c094e37 <heartblin@proton.me>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ro/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ro/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-08-14 09:40:15 +02:00
Mihai Fufezan
88067b9b14
hyprland: remove xwayland.hidpi (#4302)
Remove xwayland.hidpi option, since we're dropping HiDPI XWayland
patches support, opting to use the builtin xwayland:force_zero_scaling
option instead. It is described in more detail in
https://wiki.hyprland.org/ Configuring/XWayland.
2023-08-14 09:40:09 +02:00
Robert Helgesson
c3ab5ea047
home-manager: handle profile list in Nix >2.17
Nix 2.17 changed the format of the `nix profile list` output. This
commit adds support for parsing the new JSON profile list format.

Fixes #4298
2023-08-13 01:18:17 +02:00
musjj
406d34d919
lf: simplify option validation (#4334)
Don't try to validate a limited set of hardcoded options, instead just
convert them as-is. Now, users can keep all their options in a single
attribute set, including arbitrary `user_{option}`s which was impossible
to express with a hard-coded submodule. As a plus, there is also less
maintainence burden.
2023-08-12 18:10:49 +02:00
Anton Mosich
255f921049
programs.khal: uncomment locale config (#4319)
While the locale options were declared, the weren't used in the
generation of the config file, because the locale submodule missed a
default, which failed the tests. I added an empty attribute set as a
default, which fixes the test, and works with the defaults in the
submodule options as expected.
2023-08-12 17:21:13 +02:00
Slabity
6e1eff9aac
kanshi: support adaptive sync (#4328) 2023-08-10 15:05:36 +02:00
Jian Lin
a8f8f48320
mu: add package option (#4325) 2023-08-09 18:40:43 +02:00
Christian Albrecht
7b8d43fbaf
modules: types.string throws error now (#4324)
Since the merge of https://github.com/NixOS/nixpkgs/pull/247848
2023-08-08 17:00:24 +02:00
Ivan Malison
903e06d734
taffybar: Avoid restarting too quickly (#4316) 2023-08-06 11:00:44 +02:00
Maxim Karasev
0a014a729c
aerc: do not use smtp-starttls (#4272)
It was deprecated in 0.15.0, +insecure schema is suggested instead.
Thus, we can just copy imap logic, which already uses +insecure.
2023-08-05 10:56:10 +02:00
Lena Fuhrimann
15043a6591
zsh: Add zsh.history.ignoreAllDups config option (#4248) 2023-08-04 12:12:57 +02:00
Matt Moriarity
a4f4508791
jujutsu: fix zsh completion (#4305) 2023-08-04 11:19:57 +02:00
박수원
86dd48d70a
Translate using Weblate (Korean)
Currently translated at 100.0% (18 of 18 strings)

Translate using Weblate (Korean)

Currently translated at 100.0% (35 of 35 strings)

Co-authored-by: 박수원 <bboxone@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ko/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ko/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-08-03 07:07:08 +02:00
cvoges12
484a1c9442
network-manager-applet: remove --sm-disable flag
The `--sm-disable` flag is deprecated. It doesn't show in the man
pages, any documentation, and others have seemed to notice as well:

> The `--sm-disable` flag isn't used anymore due to the applet no longer being session-managed.

From: <https://askubuntu.com/a/525273>

Which cites: <https://mail.gnome.org/archives/networkmanager-list/2011-May/msg00141.html>

PR #4296
2023-08-02 12:09:07 +02:00
Masanori Ogino
a146ab6a61
himalaya: update a link to ticket 2023-08-02 11:41:17 +02:00
Yt
8c731978f0
nushell: deprecation of let-env (#4292) 2023-08-01 19:27:30 +02:00
Yureka
4542db6056
man: fix caches generation in cross-compiled system (#4294)
Co-authored-by: Your Name <you@example.com>
2023-08-01 12:56:37 +02:00
Yureka
89df56fefe
fish: fix session vars build in cross-compiled system (#4293) 2023-08-01 10:50:13 +02:00
Hosted Weblate
310c0063b2
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-08-01 01:40:43 +02:00
satoqz
4fd794d3df
gh: option to enable helper for additional hosts (#4288)
* gh: option to enable helper for additional hosts

`gh` can also be used with github enterprise
hosts, for which there exists no easy option
to enable the credential helper except for
directly working with `programs.git.extraConfig`.
Not sure if this is a needed addition since it's
somewhat niche, at the same time it's not very
complex and makes the life of github enterprise
a little easier.

* gh: update credential-helper tests

* gh: refactor credential helper option

this moves from `enableGitCredentialHelper` to
`gitCredentialHelper.enable` and
`gitCredentialHelper.hosts`.

* gh: lib.mkIf -> mkIf
2023-08-01 01:40:37 +02:00
Robert Helgesson
3db43afcb4
home-manager: rework news command
This new way of handling news should also work in Nix Flake setups.
2023-07-31 12:43:36 +02:00
Robert Helgesson
f58889c07e
gnome-terminal: add assertion on profile names 2023-07-29 19:43:20 +02:00
Naïm Favier
5c23226768
hyprland: use toKeyValue's indent argument (#4274)
Freshly added in https://github.com/NixOS/nixpkgs/pull/244819
2023-07-29 13:12:37 +02:00
Anselm Schüler
8d243f7da1
gpg: fix typo (#4277) 2023-07-27 18:54:08 +02:00
Naïm Favier
ba2c0737cc
firefox: make package nullable (#4113) 2023-07-25 18:49:12 +02:00
Robert Helgesson
0306d5ed7e
git-sync: add news entry for darwin
PR #4259
2023-07-25 09:16:42 +02:00
Naïm Favier
d309a62ee8
tmate: don't generate empty config file (#4271) 2023-07-24 16:17:31 +02:00
Janik H
a30f5b5b35
gh-dash: add module 2023-07-24 12:38:44 +02:00
ryane
ab70a02363
git-sync: add darwin support
- On darwin, creates a launch agent to run git-sync on an interval and
  when the `path` changes.

- The `uri` option is not used on Darwin. The auto-creation of the
  local git directory from the `uri` is a feature of the
  git-sync-on-inotify [1] wrapper (which won't work on Darwin afaik)
  and not `git-sync` itself.

[1] https://github.com/simonthum/git-sync/blob/master/contrib/git-sync-on-inotify
2023-07-24 11:16:09 +02:00
Mihai Fufezan
76dd6c6619
hyprland: prioritize variables and beziers (#4263)
* hyprland: prioritize variables and beziers

The `settings` key now handles `$variables` and `bezier`s differently,
putting them at the top of the file.
Also, proper indentation has been implemented.

* Update modules/services/window-managers/hyprland.nix

Co-authored-by: Naïm Favier <n@monade.li>

* hyprland: add animations & beziers test

---------

Co-authored-by: Naïm Favier <n@monade.li>
2023-07-22 13:58:46 +02:00
Mihai Fufezan
ee5673246d
hyprland: add module
Ported from

  https://github.com/hyprwm/Hyprland/blob/main/nix/hm-module.nix

which was adapted from the sway module.

Co-authored-by: Robert Helgesson <robert@rycee.net>
2023-07-21 00:14:22 +02:00
Patrick Jackson
1443abd269
script-directory: fix documentation link (#4258) 2023-07-20 19:52:05 +02:00
Reza Almanda
0cb3ac57fc
Translate using Weblate (Indonesian)
Currently translated at 38.8% (7 of 18 strings)

Translate using Weblate (Indonesian)

Currently translated at 38.8% (14 of 36 strings)

Co-authored-by: Reza Almanda <rezaalmanda27@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/id/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/id/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-07-19 23:28:32 +02:00
Masanori Ogino
44ba018437
jujutsu: update for Jujutsu 0.8.0 (#4250) 2023-07-19 20:33:38 +02:00
Naïm Favier
0841242b94
ripgrep: don't set env. variable if no config (#4254)
Fixes https://github.com/nix-community/home-manager/issues/4253
2023-07-19 18:18:40 +02:00
Emily
9f9e277b60 treewide: remove now-redundant lib.mdDoc calls
These (and the `*MD` functions apart from `literalMD`) are now no-ops
in nixpkgs and serve no purpose other than to add additional noise and
potentially mislead people into thinking unmarked DocBook documentation
will still be accepted.

Note that if backporting changes including documentation to 23.05,
the `mdDoc` calls will need to be re-added.

To reproduce this commit, run:

    $ NIX_PATH=nixpkgs=flake:nixpkgs/e7e69199f0372364a6106a1e735f68604f4c5a25 \
      nix shell nixpkgs#coreutils \
      -c find . -name '*.nix' \
      -exec nix run -- github:emilazy/nix-doc-munge/98dadf1f77351c2ba5dcb709a2a171d655f15099 \
      --strip {} +
    $ ./format
2023-07-17 18:49:09 +01:00
Emily
36a53d9f26 treewide: convert all option docs to Markdown
This process was automated by [my fork of `nix-doc-munge`]. All
conversions were automatically checked to produce the same DocBook
result when converted back, modulo minor typographical/formatting
differences on the acceptable-to-desirable spectrum.

To reproduce this commit, run:

  $ NIX_PATH=nixpkgs=flake:nixpkgs/e7e69199f0372364a6106a1e735f68604f4c5a25 \
    nix shell nixpkgs#coreutils \
    -c find . -name '*.nix' \
    -exec nix run -- github:emilazy/nix-doc-munge/98dadf1f77351c2ba5dcb709a2a171d655f15099 \
    {} +
  $ ./format

[my fork of `nix-doc-munge`]: https://github.com/emilazy/nix-doc-munge/tree/home-manager
2023-07-17 18:40:56 +01:00
Emily
c1d8d2a3d1 treewide: adjust some DocBook for conversion
The NixOS variant of Markdown doesn't make a distinction between
`<code>` and `<literal>` or `<quote>` and... quotes, and doesn't
support `<parameter>` or `<replaceable>`. These are infrequently used
(apart from `<code>`) and don't add much, so just convert them to
simpler forms to allow the options containing them to be converted
to Markdown automatically.

A few minor syntactic adjustments were also made to make
`nix-doc-munge`'s job easier.
2023-07-17 16:49:35 +01:00
Emily
b5a65b91fb treewide: mkAliasOption -> mkAliasOptionMD 2023-07-17 16:49:35 +01:00
Emily
e04de5b308 treewide: mkPackageOption -> mkPackageOptionMD 2023-07-17 16:49:35 +01:00
Emily
71df507159 treewide: convert options with tables to Markdown
The Markdown options processor cannot handle rendering tables
to DocBook.  This could be fixed, but as we won't be using the
DocBook output for long I just removed them for now in the interest
of expediency; they were all well-suited to being description lists
showing option types anyway, apart from one awkward case in the form
of trayer, which also had ad-hoc syntax for enumerating acceptable
values in the documentation. Since the types aren't actually used for
option processing anyway, I changed them to use `enum` and similar to
give a single description of the acceptable values without a big table.
2023-07-17 16:49:35 +01:00
Emily
21c700d14b treewide: convert options with lists to Markdown
`nix-doc-munge` can't handle these, which is understandable as I can
barely handle them either. There are a few infelicities here: the
current processor can't handle multiple terms to one description in
a description list so they get comma-separated in one case, and one
case that should ideally render as a `<figure>` with a `<figcaption>`
in HTML is reduced to a paragraph with some `<strong>` text. (Which, in
fairness, is how it rendered in practice with the DocBook anyway.) The
docs generator has since been updated to handle figures, but we can't
use it until moving off DocBook output.
2023-07-17 16:49:35 +01:00
Emily
9e4a73c25e treewide: convert custom enable docs to Markdown
`nix-doc-munge` can't tell what's going on with this pattern, so I
just handled them all manually.
2023-07-17 16:49:35 +01:00
Emily
3222c99a91 treewide: convert parameterized docs to Markdown
Parameterized documentation generators like this can't be converted
automatically.
2023-07-17 16:49:35 +01:00
Emily
3228f92b90 treewide: manually convert some docs to Markdown
These files all have options that trip up the `nix-doc-munge`
conversion tool for one reason or another (syntax that clashes with
Markdown, options that were already using Markdown syntax despite not
being marked that way, output that differs slightly after conversion,
syntax too elaborate to convert with some cheap regular expressions,
...). Translate them manually and do a little copyediting to options
in the vicinity while we're at it.
2023-07-17 16:49:35 +01:00
Emily
e2a1cb50d8 treewide: fix mkEnableOption arguments
`mkEnableOption` wraps its argument in a full sentence; its argument
should not include the start of a sentence or the final full stop.
2023-07-17 16:49:35 +01:00
Emily
11b09b10e4 treewide: add missing option descriptions
The new options processor errors out on these by default, and it's
good for every option to have documentation in general.
2023-07-17 16:49:35 +01:00
Emily
59b933653a docs: use nixosOptionsDoc
Output is mostly unchanged aside from some minor typographical and
formatting changes, along with better source links.

We temporarily export `options.docBookForMigration` to allow
`nix-doc-munge` to check its conversions.
2023-07-17 16:49:35 +01:00
Emily
23ad3d2b53 version: add isReleaseBranch 2023-07-17 16:49:32 +01:00
Hosted Weblate
2f84579a70
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-07-16 10:11:32 +02:00
Rosario Pulella
1e7ba7102e
home-manager: remove Home Manager default paths
This removes the hard-coded fallback Home Manager paths. Specifically

    ${XDG_CONFIG_HOME:-$HOME/.config}/nixpkgs/home-manager

and

    "$HOME/.nixpkgs/home-manager"

Use `@HOME_MANAGER_PATH@` if it has been provided and points to
something that exists. Warn the user if it does not point to
something.

If we have not been provided with a `@HOME_MANAGER_PATH@` that exists,
then for both hard-coded paths show a warning if something exists
where the paths are pointing.

This no longer attempts to use either of the hard-coded paths as
fallback for the Home Manager path.
2023-07-16 10:09:22 +02:00
Genevieve
f5b03feb33
imapnotify: Use JSON type for extraConfig (#4238)
Prior to this change, it was impossible to nest attrsets in
accounts.email.accounts.<name>.imapnotify.extraConfig. However,
goimapnotify's configuration is JSON-based, and the recommended
configuration has:
```
  "tlsOptions": {
    "rejectUnauthorized": true
  },
```

This change changes the type from an attrset of str/int/bool to the
JSON type provided by nixpkg's `pkgs.formats.json`.
2023-07-15 20:53:43 +02:00
swaps
346032240c
Translate using Weblate (French)
Currently translated at 100.0% (18 of 18 strings)

Co-authored-by: swaps <swapgs@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/fr/
Translation: Home Manager/Home Manager Modules
2023-07-15 16:49:56 +02:00
Aaron Pietscher
5598567489
zsh: fix custom syntax highlighting styles (#4236)
Previously, lines in .zshrc were added with quotes in keys
(e.g. ZSH_HIGHLIGHT_STYLES['comment']='fg=#6c6c6c'). However, zsh
considered these quotes to be part of the key, so the "comment" key
remained unchanged.
2023-07-15 11:49:12 +02:00
Naïm Favier
c1cdce3d89
i3-sway: allow arbitrary floating modifier (#4229)
The floating modifier can consist of a combination of modifier keys.
Trying to model this with a regex doesn't seem worth it, so just use
`str`.
2023-07-14 21:26:09 +02:00
Sven Friedrich
f63b39a67d
i3-sway: multiple outputs (#4223)
multiple outputs can be assigned to a workspace
2023-07-14 21:25:55 +02:00
Maroka-chan
d2e47de536
home-cursor.nix: enable gtk module when enabling gtk config generation (#4144)
* home-cursor.nix: enable gtk module when enabling gtk config generation

The gtk configurations are not generated unless config.gtk is enabled.
This is a point of confusion because config.home.pointerCursor.gtk can essentially be disabled,
despite having it enabled.

* home-cursor.nix: Add note to gtk config generation description instead of enabling gtk module

* home-cursor.nix: Add note about applying pointerCursor configs to main submodule desc

* home-cursor.nix: Change tabs to spaces
2023-07-14 21:25:46 +02:00
Genevieve
bec87d536c
aerc: add assertion to limit per-account extraConfig to UI config (#4196)
* aerc: fix per-account extraConfig section names

The aerc configuration file `aerc.conf` can contain 10 different
sections, but only the UI section supports what the aerc manual calls
contextual configuration. This works by appending to the section heading
either `:account=name` or `:folder=bar`.

The aerc-accounts module, however, applied `mkAccountConfig` to each
section heading declared in
`config.accounts.email.accounts.<name>.aerc.extraConfig.*`. This means
home-manager will generate files with `[general:account=default]` and
the options will not be recognized by aerc.

To address this, and since it doesn't make sense for other sections to
only be under a single account's scope, an assertion has been added
to confirm that only sectons that support contextual config (i.e.,
only the UI section) is declared.

This also addresses confusions like declaring
`accounts.email.accounts.*.aerc.extraConfig.general.unsafe-accounts-conf
= true` and triggering a warning message because
`programs.aerc.extraConfig.general.unsafe-accounts-conf` was unset.

This commit also updated documentation throughout the aerc modules to
be in line with this change, and fixed minor typos/formatting therein.

Co-authored-by: Genevieve <genevieve@sunlashed.garden>

* aerc: make assertion plaintext and add test case

This commit adds a test case to check both the warning on unset
`unsafe-accounts-conf = true` when aerc accounts are configured
with Nix, and the new assertion when per-account configuration
contains unsupported subsections (i.e. general).

It also fixes minor formatting issues and typos.
2023-07-14 20:34:28 +02:00
Sumner Evans
a6d1d954b8
ssh-agent: add assertion and fix news entry (#4210)
See https://github.com/nix-community/home-manager/pull/4178#discussion_r1249460142

Signed-off-by: Sumner Evans <me@sumnerevans.com>
2023-07-10 16:37:49 +02:00
David Baynard
fad475553a
imapnotify: use direct nix store path for config
As pointed out in #3291, using the XDG symlink means the agent/unit
files don’t change when the contents of the config changes, and so the
service will not be restarted.
2023-07-09 09:32:25 +02:00
SaiProton
e15010ee6e
nushell: add login.nu configuration option
Nushell has the option to source from the login.nu file in the case
that nushell is used as a login shell. This commit adds the login file
alongside the existing config and env files as another configuration
option.
2023-07-08 23:58:37 +02:00
SiriusStarr
24805d3ca7
himalaya: fix notmuch backend
Previously, IMAP was preferred over notmuch, even if notmuch was
configured, causing problems with setting account flavor (which
automatically sets IMAP settings). The new backend order is:

    notmuch > IMAP > maildir

This also fixes the notmuch DB path being set to the wrong location.
The notmuch DB is located at the maildir base path, not in each
account's maildir.
2023-07-08 12:37:34 +02:00
Anton Plotnikov
98282a481d
swayosd: add module 2023-07-08 12:09:09 +02:00
Tobias Markus
069d450b6d
pyenv: add module
Adds a module for pyenv (https://github.com/pyenv/pyenv).
2023-07-08 11:26:21 +02:00
Chris Martin
050d01a62c
darcs: add module 2023-07-08 10:31:45 +02:00
simfu
34db2f0521
unison: Allow using same option multiple times (#4208)
Unison supports the same option to be given several times as a command
 line argument (e.g. unison -path xxx -path yyy).

 This commit adds Home Manager support for this by allowing a list of
 strings to be given to services.unison.pairs.<name>.commandOptions values.

 # Veuillez saisir le message de validation pour vos modifications. Les lignes
2023-07-07 13:57:22 +02:00
David Baynard
719de878f7
imapnotify: Add launchd agent (#3291)
* imapnotify: expose package (and exe) options

There are multiple packages that provide an imapnotify interface. Those
packages have differently named executables. This can now be customized.

This change also means test configurations can use stub packages.

* imapnotify: use/create config in configHome

Exposing the configuration file makes testing imapnotify configurations much
easier. It also allows for golden tests in home-manager.

* imapnotify: extend with launchd agent

Now that home-manager supports launchd agents, the imapnotify service
can be configured (and enabled) for darwin. The configuration matches
that of the linux/systemd version. In particular, by not setting a
`UserName`, this runs as the user whose configuration includes the
module.

Due to the launchd `Program` implementation (it must take an absolute
path) it is not possible to use that for the program and stub the path
in tests. Instead, this uses `ProgramArguments` for the program name.

The `ThrottleInterval` is equivalent to `RestartSec`. `KeepAlive` is
equivalent to `Restart`.

The `ExitTimeOut` default is 20 seconds, but goimapnotify should not
time out — this is achieved by setting the `ExitTimeout` to 0.

* imapnotify: add launchd plist test

This only tests the generated plist (which is new), not the original
systemd implementation, nor the json config file.

(Note the lack of a newline at the end of the plist file.)
2023-07-07 11:39:12 +02:00
Anton Mosich
b23c7501f7
i3: remove deprecated example in i3.config.startup (#4201)
Deprecated in cacb8d4, see #265
2023-07-05 12:23:31 +02:00
hitsmaxft
2f78e6fcba
antidote: static file move to /tmp
Make antidote create static file path with hm hash_id in /tmp.
2023-07-05 08:30:58 +02:00
Reza Almanda
b66af0ac66
Translate using Weblate (Indonesian)
Currently translated at 27.7% (5 of 18 strings)

Translate using Weblate (Indonesian)

Currently translated at 33.3% (11 of 33 strings)

Co-authored-by: Reza Almanda <rezaalmanda27@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/id/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/id/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-07-04 12:41:08 +02:00
Janik
4a26e21030
programs.khal
moved highlight_event_days where appropriated and added tests
2023-07-04 12:14:47 +02:00
Kylie McClain
d895a77448
vdirsyncer: synchronize metadata as well (#4167) 2023-07-04 12:11:28 +02:00
Rodney Lorrimar
3be2abb2e6
i18n: Use glibcLocales from NixOS if possible (#2333) (#4177)
This will reduce the system closure size by about 200MB under NixOS by
sharing the glibcLocales package.

When home-manager is installed on Linux without the NixOS module, all
glibc locales are installed, as before.

Resolves: #2333
2023-07-04 11:28:25 +02:00
Paul Stadig
c24deeca64
xfconf: remove properties with null values (#4192)
Co-authored-by: Paul Stadig <paul@thoughtfull.systems>
2023-07-03 20:34:42 +02:00
Linus Heckemann
89d10f8adc
news: fix typo in programs.zsh.antidote entry 2023-07-01 08:09:07 -06:00
Linus Heckemann
2d9210f25e
ssh-agent: init module (#4178) 2023-07-01 08:08:59 -06:00
ThinkChaos
7a0e9a6782
chromium: fix commandLineArgs to use the user specified package (#4175) 2023-07-01 07:41:37 -06:00
Kylie McClain
44d1a8542a
sxhkd: allow usage of derivations as keybind commands (#4169)
This makes it consistent with some other options, like
`systemd.user.services.Service.ExecStart`.
2023-06-30 17:49:05 -06:00
Guilhem Saurel
17ce23ea56
lsd: use -A instead of -a in aliases (#4173)
The current `lla` alias, together with the `total-size` option try to get
the size of the `..` directory, and for this has to recursively open all
sibling folders. This may be super slow if some of those siblings
contain too many files, and raise a ton of useless errors if some of
those siblings contains non-readable files.

I'm suggesting to use `-A` instead, which will skip the obvious `.` and
`..` folders.

While here, I think we could also add `llt`.
2023-06-30 21:47:03 +02:00
Kylie McClain
a7002d6bfc
kakoune: add defaultEditor option 2023-06-28 18:31:26 +02:00
ThinkChaos
f5f64ac022
zsh: allow setting custom syntax highlighting styles (#4122)
* zsh: allow setting custom syntax highlighting styles

Custom styles allow overriding the default colors.
Example:
```nix
zsh.syntaxHighlighting.styles.comment = "fg=#6c6c6c";
```

See https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters.md

* zsh: allow configuring syntax-highlighting package
2023-06-28 11:12:58 +02:00
hitsmaxft
3bc1bc4012
antidote: fix .dot path
Add $HOME to pin .zsh_plugin path, prevents antidote from creating
empty .zsh_plugins.txt in pwd while new zsh process starting.
2023-06-27 08:28:40 +02:00
Alexander Ben Nasrallah
68aebb45de
fish: follow links to find man pages
Some packages link man pages, e.g. if a package is wrapped with
`buildEnv`.
2023-06-24 13:37:18 +02:00
Alexander Ben Nasrallah
b59f682e86
fish: consider man pages from extraOutputsToInstall
Some packages provide man pages in extraOutputs, e.g. tmux and
tmux.man.
2023-06-24 13:37:17 +02:00
Gabriel Arazas
d2b6f2d154
zellij: fix module description for shell integrations 2023-06-23 09:49:50 +02:00
hitsmaxft
491f74db89
antidote: fix package source path
Changes

  'source %antidote%/antidote.zsh'

to

  'source %antidote%/share/antidote/antidote.zsh'
2023-06-23 09:36:00 +02:00
hitsmaxft
70ac18872a
antidote: add module
Antidote is a Zsh plugin manager.
2023-06-23 00:35:00 +02:00
Weblate
b9046172a5
Add translation using Weblate (Indonesian)
Co-authored-by: Weblate <noreply@weblate.org>
2023-06-22 21:28:55 +02:00
Mario Rodas
a481789457
treewide: remove marsam as maintainer (#4136) 2023-06-22 10:16:28 +02:00
Ivan Malison
29358e8be7
starship: Remove INSIDE_EMACS checks when enabling shell integration (#4135)
Many of the terminals supported inside emacs work perfectly fine with STARSHIP.
The TERM=dumb case already handles the tramp and eterm cases, so as far as I can
tell, this is basically just a check for the benefit of OLD versions of
term-mode (see
emacswiki.org/emacs/AnsiTerm#:~:text=Historically%2C%20'M%2Dx%20ansi%2Dterm,the%20older%20'C%2Dc'%20binding.,
which indicates that it also now handles colors).
2023-06-22 10:14:49 +02:00
dariof4
1fefd7bb8d
gtk: Add gtk4.extraCss option (#4133) 2023-06-21 18:38:43 +02:00
Dany Marcoux
50cb4d8a1e
programs.helix: add defaultEditor (#4127) 2023-06-21 15:50:13 +02:00
Clément DOUIN
9ce6977fe7
himalaya: adjust module for 0.8.X (#4093)
Added notmuch support, and adjust password commands configuration.
2023-06-21 10:59:29 +02:00
Robert Helgesson
9a76fb9a85
home-environment: allow skipping sanity checks
See https://github.com/nix-community/home-manager/issues/4019#issuecomment-1568659267
2023-06-21 00:52:20 +02:00
Sven Keidel
1b61530608
Translate using Weblate (German)
Currently translated at 100.0% (18 of 18 strings)

Translate using Weblate (German)

Currently translated at 100.0% (33 of 33 strings)

Co-authored-by: Sven Keidel <svenkeidel@pm.me>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/de/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/de/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-06-21 00:20:32 +02:00
Naïm Favier
e6d134ce12
home-environment: re-enable Nixpkgs release check 2023-06-20 23:35:23 +02:00
Damien Cassou
ec58f8bed7
borgmatic: add missing support for output and hooks
Fixes #3760
2023-06-20 19:19:10 +02:00
Rafael
e8b5f8f9b3
Update documentation to mention renamed option name. (#4126)
PR #3747 renamed the option wayland.windowManager.sway.systemdIntegration
to wayland.windowManager.sway.systemd.enable.

This commit simply updates documentation to reference the new format.
2023-06-20 12:43:16 +02:00
Will Leinweber
f06a43dca0
starship: add enable_transience for fish (#3975)
Starship has an advanced, experimental feature where fancy stuff in the
prompt can be replaced with something more simple after the command is
ran. This is very helpful for copy and pasting shell history somewhere
else.

docs: https://starship.rs/advanced-config/#transientprompt-and-transientrightprompt-in-fish

Fish is currently the only shell as far as I can tell that both
home-manager and starship support for this feature. Since the function
has to be called after starship is loaded, this seems like the best
place to put it.

format
2023-06-19 21:56:48 +02:00
NotAShelf
6bdd72b914
clipman: wrong module name in description (#4117) 2023-06-19 16:29:55 +02:00
Damien Cassou
0480dabc99
vdirsyncer: Fix service by moving the options before the command (#4109) 2023-06-18 16:23:02 +02:00
Pink Pony
f7c4dae2c8
Translate using Weblate (French)
Currently translated at 83.3% (15 of 18 strings)

Translate using Weblate (French)

Currently translated at 100.0% (33 of 33 strings)

Co-authored-by: Pink Pony <dreammc@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/fr/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/fr/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-06-18 00:32:44 +02:00
Robert Helgesson
162c17b0c9
fontconfig: minor update of generated configuration 2023-06-17 22:25:06 +02:00
Naïm Favier
9ba7b3990e
qt: fix breeze-qt5 path (#4098)
Don't use aliases as those may be disabled.
2023-06-16 15:33:15 +02:00
Daniel Siepmann
ea2f17615e
khal: improve module (#4088)
* khal: Do not hard code globbing.
2023-06-16 11:10:24 +02:00
Thiago Kenji Okada
4e09c83255
qt: bunch of fixes and updates (#4095)
* qt: always apply qt.style.package

Before this commit this was only being applied if `qt.platformName` was
set to "gnome". With this change we will always apply the package.

* qt: only set ~/config/Trolltech.conf in GTK or GNOME

* qt: add qtstyleplugin-kvantum-qt4 and qt6Packages.qtstyleplugin-kvantum

qt: add qtstyleplugin-kvantum-qt4

* news: add news entry about the qt module refactors

* qt: add thiagokokada as maintainer
2023-06-15 20:09:30 +02:00
Thiago Kenji Okada
d214b93ee3
Add missing qt modules (#4094)
* qt: add "qtct" to qt.platformTheme

This allows usage of qt5ct/qt6ct tool to configure Qt theme/icons/fonts
in non-KDE platforms.

* qt: add missing relatedPackages for qt.platformTheme = "kde"

* qt: add "kvantum" for qt.styles.name
2023-06-15 16:06:07 +02:00
Clément DOUIN
e0034971f9
comodoro: add module 2023-06-14 23:43:19 +02:00
Tomo
194086df82
git-credential-oauth: add module 2023-06-14 23:26:14 +02:00
Thiago Kenji Okada
32376992f7
qt: add "kde" to qt.platformTheme (#4085)
This allow you to configure Qt integration using KDE instead of
qgnomeplatform or qtstyleplugins. Useful if your theme supports both GTK
and KDE, for example Nordic.

To use this properly you will need to do some manual configuration for
now. You can set the theme settings using `~/.config/kdeglobals`.

Example:

```nix
{ ... }:
{
  qt = {
    enable = true;
    platformTheme = "kde";
  };

  xdg = {
    configFile.kdeglobals.text = lib.generators.toINI { } {
      General = {
        ColorScheme = "nordicbluish";
        Name = "nordic-bluish";
        shadeSortColumn = true;
      };
      Icons = {
        Theme = "Nordic-bluish";
      };
      KDE = {
        LookAndFeelPackage = "Nordic-bluish";
        contrast = 4;
      };
    };

    dataFile = {
      # For General.ColorScheme
      color-schemes = {
        source = "${pkgs.nordic}/share/color-schemes";
        recursive = true;
      };
      # For KDE.LookAndFeelPackage
      plasma = {
        source = "${pkgs.nordic}/share/plasma";
        recursive = true;
      };
    };
  };
}
```
2023-06-14 21:16:20 +02:00
Alois Wohlschlager
75b24cc557
thunderbird: support aliases
The main email address, as well as all aliases, each get mapped to one
identity in Thunderbird. All these identities are then linked to their
account.
2023-06-14 08:31:26 +02:00
Jeff Ames
e4aa9fd83b
Translate using Weblate (Japanese)
Currently translated at 100.0% (18 of 18 strings)

Translate using Weblate (Japanese)

Currently translated at 100.0% (33 of 33 strings)

Co-authored-by: Jeff Ames <jeff@anjefu.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ja/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ja/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-06-13 16:31:55 +02:00
Hongtyu Bhe
252302673d
Translate using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18 of 18 strings)

Translate using Weblate (Chinese (Simplified))

Currently translated at 100.0% (33 of 33 strings)

Co-authored-by: Hongtyu Bhe <mfthits@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/zh_Hans/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2023-06-13 16:31:55 +02:00
Daniel Siepmann
0d1e053ce9
vdirsyncer: Add missing include of services module (#4089) 2023-06-13 16:31:49 +02:00
Matthieu Coudron
d9a97e8b33
calendars: add missing modules (#4087)
forgot to import those during rebase
2023-06-13 11:07:56 +02:00
Lukas Nagel
8da1135365
aerc: improve module (#3150)
* aerc: add space after definitions

* aerc: only generate files, if options were set

* aerc: improve file permission warning

* aerc: remove redundant access to builtins

* aerc: allow overwriting of derived values

the order of merging the config subsets did not allow the user to specify
outgoing, source and password command values,
if they were previously derived from the SMTP, IMAP, Maildir etc config.

The values from `account.<name>.extraAccounts` now have the highest precedence.
Appropriate tests were added as well.

* aerc: write primary account first
2023-06-13 10:59:42 +02:00
Austin Lund
cbbceb4894
offlineimap: Add package option (#4021) 2023-06-13 10:41:25 +02:00
Robert Helgesson
c8dafb187b
specialisation: renamed from specialization
Renamed to be consistent with NixOS.

Fixes #4074
2023-06-13 08:44:30 +02:00
Matthieu Coudron
b01eb1eb3b
Add infrastructure for contacts and calendars (#4078)
* Add infrastructure for contacts and calendars

This also adds the modules

  - programs.vdirsyncer,
  - programs.khal, and
  - services.vdirsyncer

that integrate with the new infrastructure.

Co-authored-by: Andrew Scott <3648487+ayyjayess@users.noreply.github.com>
Co-authored-by: Sebastian Zivota <sebastian.zivota@mailbox.org>

wip

* vdirsyncer: allow option userName, disallow userNameCommand

1. account option `userName` is now allowed by `programs.vdirsyncer`

2. The commented out account option `userNameCommand` was required to be set
   by `programs.vdirsyncer` (e.g. as `null`).
   It is now disallowed (commented out) by vdirsyncer.

* khal: added options 'color' and 'priority'
* Apply nixfmt

---------

Co-authored-by: Sebastian Zivota <sebastian.zivota@mailbox.org>
Co-authored-by: Johannes Rosenberger <johannes.rosenberger@jorsn.eu>
Co-authored-by: Johannes Rosenberger <johannes@jorsn.eu>
Co-authored-by: Robert Helgesson <robert@rycee.net>
2023-06-12 23:21:24 +02:00
Rasmus Kirk
9e37a1b6f9
programs.joshuto: add the joshuto file manager (#4004)
* joshuto: Added the joshuto file manager

* maintainers: Added rasmus-kirk as a maintainer

* joshuto: Fixed maintainer information

Co-authored-by: Naïm Favier <n@monade.li>

---------

Co-authored-by: Naïm Favier <n@monade.li>
2023-06-12 12:02:09 +02:00
Sefa Eyeoglu
0144ac418e
sway: add support for XDG autostart using systemd (#3747)
* sway: add support for XDG autostart using systemd

Using the option wayland.windowManager.sway.systemd.xdgAutostart, users
can now choose to start applications present in
$XDG_CONFIG_HOME/autostart when starting their sway session.

This change also renames wayland.windowManager.sway.systemdIntegration
to wayland.windowManager.sway.systemd.enable;

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>

* sway: add Scrumplex to maintainers

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>

---------

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-06-10 12:10:40 +02:00
nikp123
0945875a2a
boxxy: add module (#4075)
* boxxy: add module

 * boxxy: added nikp123 to maintainers list

* boxxy: use mkPackageOption instead for the package

Co-authored-by: Naïm Favier <n@monade.li>

* boxxy: use yaml generator instead of json

Co-authored-by: Naïm Favier <n@monade.li>

* boxxy: various fixes

* boxxy: various fixes (part 2)

* boxxy: various fixes (part 3)

* boxxy: various fixes (part 4)

forgot to run ./format, whoops

* boxxy: use literalExpression for the rewrite example

Co-authored-by: Naïm Favier <n@monade.li>

* boxxy: add news entry

---------

Co-authored-by: Naïm Favier <n@monade.li>
2023-06-09 22:32:11 +02:00