Commit graph

1293 commits

Author SHA1 Message Date
Anthony Roussel f1b7775d23
awscli: add module 2023-09-30 09:48:13 +02:00
Ramses 4f02e35f9d
direnv: add package options 2023-09-29 12:51:58 +02:00
jakob 0f4e5b4999
keychain: fix edge-cases in nushell integration
- If the parse does not match/returns an empty list, transpose does
  not transform it into a record and thus load-env fails.

- The parsing assumes keychain to emit bash-style completions, so set
  SHELL=bash to ensure keychain output is in the expected format.

PR #4459
2023-09-26 16:24:27 +02:00
KFears dd88dbc694
neovim: expose finalPackage
Make the `finalPackage` option public, but still read-only. The final
package option is quite useful for users.

For example, to integrate `lazy.nvim` with Nix there are three things
that must be done:

1. `lazy.nvim` resets packpath, which should be managed by Nix; it has
   to be turned off with `performance.reset_packpath = false` option in
   `lazy.nvim`

2. Same thing applies to rtp, the relevant option is
   `performance.rtp.reset = false`

3. `dev.path` must be specified as the folder that contains the plugins.
   This folder is the path to Nix store path with Neovim plugins, and
   the plugins that are managed by Nix must be marked as `dev = true`

The third condition can not be fulfilled without this PR, as the final
package that Home Manager produces is not exposed, therefore it is
impossible to extract the Nix store path. This PR makes it more
accessible via

    ${
      pkgs.vimUtils.packDir config.programs.neovim.finalPackage.passthru.packpathDirs
    }/pack/myNeovimPackages/start
2023-09-26 08:00:52 +02:00
shimun a88df2fb10
bacon: add module
Bacon is a background rust code checker. See
<https://dystroy.org/bacon/>.
2023-09-24 12:07:57 +02:00
Avimitin 835465e8ba
lsd: allow user to configure colors
Signed-off-by: Avimitin <dev@avimit.in>
2023-09-24 09:47:00 +02:00
Chris Dawkins 2d27bdcd64
direnv: fix nushell syntax
With nushell `0.85.0` this is no longer valid syntax. This change fixes
the syntax error with `0.85.0` while still remaining valid for `0.84.0`
and earlier.
2023-09-24 00:56:48 +02:00
XYenon 7413408b04
yazi: add fish and nushell integration
PR #4493
2023-09-24 00:41:14 +02:00
Franz Pletz 408ba13188
neomutt: fix STARTTLS
When smtps is used as a protocol, neomutt expects TLS but will if
STARTTLS should be used. When using STARTTLS, smtp has to be used as
protocol and `ssl_force_tls` is set.

See <https://neomutt.org/guide/optionalfeatures#2-1-%C2%A0starttls>.
2023-09-20 17:39:23 +02:00
David Knaack 6f88243322
starship: use use instead of source for nushell
For starship v1.16 onwards this is the upstream-recommended method.
2023-09-19 23:14:29 +02:00
Robert Walter 7ee73f5363
rofi-pass: add package option 2023-09-19 22:24:36 +02:00
Robert Helgesson 8aac47a140
waybar: fix service After value
Fixes #4469
2023-09-19 21:39:16 +02:00
VwCSXg feb7006159
git: replace gitToInit with lib function
Remove the function gitToInit and underlying functions in favor of using
the function lib.generators.toGitINI from nixpkgs.
2023-09-18 23:57:36 +02:00
Otavio Salvador f092a92202
programs.rio: add module (#4118)
Adds a programs.rio module to control Rio installation and configuration, a gpu accelerated terminal

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2023-09-18 22:42:22 +02:00
Florian Peter e63a6b3479
programs.i3status-rust: reload on config change (#4466)
Adds automatic reloading of i3status-rust on config change.
This is done via sending SIGUSR2, which is now supported since [v0.20.0](https://github.com/greshake/i3status-rust/blob/master/NEWS.md#new-blocks-and-features-21)

The previous method of attempting to restart i3 in its entirety didn't work at least on my system, and is now overkill anyways.
2023-09-18 15:25:42 +02:00
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
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
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
arjan-s a7eab56be5
programs.khal: add settings option (#4375) 2023-08-30 11:57:47 +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
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
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
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
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
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
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 f58889c07e
gnome-terminal: add assertion on profile names 2023-07-29 19:43:20 +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
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
Patrick Jackson 1443abd269
script-directory: fix documentation link (#4258) 2023-07-20 19:52:05 +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 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
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
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
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
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
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
Janik 4a26e21030
programs.khal
moved highlight_event_days where appropriated and added tests
2023-07-04 12:14:47 +02:00
ThinkChaos 7a0e9a6782
chromium: fix commandLineArgs to use the user specified package (#4175) 2023-07-01 07:41:37 -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
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
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
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
Daniel Siepmann ea2f17615e
khal: improve module (#4088)
* khal: Do not hard code globbing.
2023-06-16 11:10:24 +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
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
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
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
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
Naïm Favier 2a69182c56
Revert "maintainers: add rasmus-kirk as a maintainer" (#4076)
* Revert "maintainers: add rasmus-kirk as a maintainer"

This reverts commit 301b364892.

* Revert "joshuto: add the joshuto file manager"

This reverts commit e7fdcb40b2.
2023-06-09 22:15:56 +02:00
rasmus-kirk e7fdcb40b2
joshuto: add the joshuto file manager
PR #4004
2023-06-09 21:27:40 +02:00
Jany cc6745b35f
aerc: add package option (#4065) 2023-06-07 22:15:15 +02:00
Christoph Heiss 39c7d0a97a
imv: add module (#4032)
* imv: add module

Signed-off-by: Christoph Heiss <christoph@c8h4.io>

* imv: add test cases

Signed-off-by: Christoph Heiss <christoph@c8h4.io>

---------

Signed-off-by: Christoph Heiss <christoph@c8h4.io>
Co-authored-by: Naïm Favier <n@monade.li>
2023-06-07 14:51:05 +02:00
Nikita Pedorich 3512a6dafb
rtx: add module (#4051) 2023-06-07 10:32:56 +02:00
Robert Helgesson 79e03fbe24
lib: remove listOrDagOf type
It has been deprecated for a long time and should be safe to remove.
2023-06-05 23:08:29 +02:00
Olmo Kramer 24d590cc32
wezterm: add integrations for Bash and Zsh (#3934)
* wezterm: Add `enableBashIntegration` option

* wezterm: Add `enableZshIntegration` option
2023-06-05 22:46:18 +02:00
Nikita Pedorich bffc49ffb2
ripgrep: remove configDir
Also minor formatting and news entry.
2023-06-04 01:12:05 +02:00
Nikita Pedorich 2951946183
ripgrep: add module (#4017)
* ripgrep: add module

* ripgrep: Apply suggestions from code review

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

* ripgrep: fix maintainers

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

* ripgrep: rename config into arguments

---------

Co-authored-by: Naïm Favier <n@monade.li>
2023-06-02 17:59:12 +02:00
Emily 53ccbe0170
fish: use babelfish for hm-session-vars.sh (#4012)
* home-environment: add `home.sessionVariablesPackage`

Allow the `hm-session-vars.sh` derivation to be referenced from other
modules, e.g. to translate it to fish with babelfish at build time.

* fish: use babelfish for `hm-session-vars.sh`

Translate `hm-session-vars.sh` to fish at system build time,
significantly decreasing shell startup time.

Based on https://github.com/NixOS/nixpkgs/pull/108947 by @kevingriffin.
2023-06-01 00:01:27 +02:00
MaeIsBad 54a9d6456e
waybar: merge multiple style definitions (#4038)
This is backwards compatible and allows for more flexibility(eg.
allows for defining custom waybar modules in separate nixos modules,
before merging them together)

Co-authored-by: mae <git@badat.dev>
2023-05-30 23:06:24 +02:00
Naïm Favier 2d963854ae
ssh: don't install a client by default (#4016)
Make use of the recently added nullable `mkPackageOption` feature
to disable installing an SSH client by default: most people should use
the client provided by their system.
2023-05-27 14:11:50 +02:00
百地 希留耶 bec196cd9b
helix: improve warning message for languages option (#4023) 2023-05-26 15:35:29 +02:00
Dany Marcoux d1f04b0f36
yt-dlp: generate config if settings or extraConfig are defined (#4018)
Previously, the config was generated only if settings were defined. In a
case where settings weren't defined, extraConfig was ignored.
2023-05-25 15:06:34 +02:00
Naïm Favier d9995d94f1
lib/file-type: fix xrefs (#4007)
Currently they all point to `home.file`.
2023-05-22 22:48:23 +02:00
Philipp Mildenberger 27ef11f021
helix: update languages.toml generation (support every option in languages.toml) (#4003)
Co-authored-by: Naïm Favier <n@monade.li>
2023-05-20 17:22:06 +02:00
Janik b9a52ad20e
script-directory: add module (#3995) 2023-05-19 10:29:27 +02:00
Maria c10403a573
Update ssh.nix (#4000)
fix typo
2023-05-18 22:37:19 +02:00
Naïm Favier e4272987f7
Drop CODEOWNERS 2023-05-14 12:46:21 +02:00
Naïm Favier db3d440e26
kitty: improve error message when theme not found (#3989) 2023-05-14 12:05:10 +02:00
George Macon 6702b22b98
ssh: install an ssh client
Fixes #3667
2023-05-13 16:50:10 +02:00
Sefa Eyeoglu e0026e16a5
fuzzel: add module 2023-05-13 15:54:34 +02:00
Robert Helgesson caa47705f7
beets: minor fixes 2023-05-12 23:26:09 +02:00
Robert Helgesson 8345a3166d
kitty: minor fixes 2023-05-12 23:26:06 +02:00
Erik Krieg 70c8bd08e6
zellij: disables shell integrations by default (#3981)
* zellij: disables shell integrations by default

* zellij: removes outdated comment from test
2023-05-12 13:54:26 +02:00
Sefa Eyeoglu a835096fd2
kitty: add shellIntegration (#3759)
Kitty provides integrations for bash, fish and zsh. The new
programs.kitty.shellIntegration options allow the configuration of
these integrations.

See <https://sw.kovidgoyal.net/kitty/shell-integration> for more details.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-05-12 11:20:22 +02:00
Erik Krieg cc9f65d104
zellij: adds options to integrate with zsh, bash and fish shells (#3926)
* zellij: adds options to integrate with zsh, bash and fish shells

* zellij: add tests for shell integration options

* zellij: eval setup auto start for fish integration

* zellij: use interactiveShellInit for fish integration

* zellij: fixes format issues

* zellij: enable shell integrations by default

* zellij: compresses shell integration test cases

* zellij: removes the disabled shell integration tests

* zellij: formats tests
2023-05-11 21:25:46 +02:00
Gaétan Lepage 6be873663e
ssh: add setEnv option (#3935) 2023-05-11 14:22:40 +02:00
Leix b d991776527
taskwarrior: add package option (#3768) 2023-05-11 14:04:17 +02:00
Sefa Eyeoglu 622fa73725
beets: add mpdIntegration (#3755)
Allow configuration of mpdstats and mpdupdate plugins for Beets using
Home Manager.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-05-11 14:03:54 +02:00
Mario Rodas fa720861b5
translate-shell: add module (#3659) 2023-05-11 11:21:18 +02:00
Mario Rodas b365342adb
ledger: add structural settings option (#3661) 2023-05-11 11:20:49 +02:00
Christoph Heiss 010c269877
zsh: add package option (#3945)
Signed-off-by: Christoph Heiss <christoph@c8h4.io>
2023-05-10 17:54:34 -06:00
Nate Cox 983f8a1bb9
git-cliff: add module 2023-05-09 18:53:49 +02:00
Anton Mosich d12ca77844
atuin: Replace dead link in documentation (#3962) 2023-05-07 23:44:22 +02:00
amesgen 6fc82e5697
i3status-rust: revert #3938 (#3957)
* Revert "i3status-rust: satisfy new 0.31 TOML output requirements (#3938)"

This reverts commit 0e4c33d760.

* i3status-rust: assertion for unsupported versions
2023-05-07 13:42:55 +02:00
Nathan Henrie f3824311a1
readline: Add support for keynames (#3947)
Kenames like `Control-n` or `meta-p` should not be quoted or they don't work.

Keyseqs like `\C-p` or `ab` must continue to be quoted.

See also: https://www.gnu.org/software/bash/manual/html_node/Readline-Init-File-Syntax.html

Fixes https://github.com/nix-community/home-manager/issues/3611
2023-05-04 19:39:46 +02:00
Naïm Favier ae6d5466bf
firefox: support bookmark tags (#3942) 2023-05-04 16:58:13 +02:00
Clément DOUIN 6abb775e75
himalaya: improve derivation for v0.7.X (#3664)
* himalaya: add soywod to maintainers

* himalaya: make the config safer

Also added two services and more tests.

* himalaya: fix doc + typos

* himalaya: use freeform

* himalaya: run ./format

* himalaya: make use of mkPackageOption
2023-05-04 12:28:08 +02:00
Matthias Jonen 514c0a71f4
helix: provide more detailed settings description (#3932)
Helix changed the definition of options. E.g. editor specific options
need to be prefixed with editor.
2023-05-04 00:42:04 +02:00
Yt 788777b536
nushell: add envVars attribute (#3930) 2023-05-04 00:12:21 +02:00
amesgen 0e4c33d760
i3status-rust: satisfy new 0.31 TOML output requirements (#3938) 2023-05-01 23:46:41 +02:00
Bernardo Meurer 3144311f31
zsh: allow multiple bindings to history-substring-search (#3929)
It's pretty common to need multiple bindings to
history-substring-search, since different terminals will send different
keys for up/down.

This does not break back-compatibility, and introduces a new test
2023-04-29 16:53:09 +02:00
Sinkerine 27d89b49e3
zplug: Update the path of init.zsh (#3922)
The current zplug nixpkgs puts everything under `$out/`. It pollutes the nix
profile dir.

This is a breaking change. It depends on an change of the output path in the
nixpkgs zplug package.
2023-04-29 11:08:16 +02:00
William Phetsinorath c4f3a37071
jujutsu: add module 2023-04-28 22:14:13 +02:00
Erwin Boskma 6142193635
atuin: Use flags option with nushell integration (#3917)
* atuin: Use flags option

* atuin: formatting

* atuin: Use flagsStr
2023-04-25 12:45:09 +02:00
Ryan Lahfa 0263da497e
notmuch & neomutt: Control virtualboxes being set in NeoMutt for Notmuch integration (#3143)
Virtual mailboxes (described by Notmuch queries) can now configured for each account in NeoMutt.
Plus, it is possible to disable Notmuch section for a specific account.
2023-04-24 16:41:29 +02:00
Sebastian Estrella e21ec3db17
git: add delta.package option
This makes it possible to conveniently customize the `delta` package.

PR #3897
2023-04-23 20:02:28 +02:00
winston 6169690ae3
zsh: add package option to oh-my-zsh
Allow setting a custom package for `programs.zsh.oh-my-zsh`.
2023-04-22 17:13:06 +02:00
Patrick Widmer 5cd5a1b585
aerc: add oauth params 2023-04-22 17:07:51 +02:00
Utkarsh Gupta 218503b691
zellij: use xdg.configHome on darwin 2023-04-22 16:35:31 +02:00
Christoph Heiss 5160039edc
wofi: add module (#3786)
Signed-off-by: Christoph Heiss <christoph@c8h4.io>
2023-04-20 00:11:30 -06:00
Roberto Abdelkader Martínez Pérez dfe7024f7e
mr: add module 2023-04-19 17:36:41 +02:00
nat-418 5ae849d3c5
docs: add toolbar to firefox bookmarks example (#3889)
This commit adds a clear example of how to get bookmarks into the bookmarks toolbar.
2023-04-19 15:04:40 +02:00
Bernardo Meurer aa03c8a429
bat: rebuild caches during activation
Without this, themes configured through Home Manager are not found at
runtime.
2023-04-18 23:13:11 +02:00
Naïm Favier cd5723734a
rofi: skip override if there are no plugins (#3885)
Avoid needless calls to `override` (also allows using `pkgs.rofi-unwrapped` with no plugins).
2023-04-18 12:33:44 +02:00
happysalada 2dcb61d396
atuin: enable nushell integration 2023-04-18 08:31:28 +02:00
Mika Naylor 58b8685e47
nushell: add shellAliases option
This allows nushell users to define shell aliases that are inserted
into nushell's `config.nu`.
2023-04-17 22:59:32 +02:00
VwCSXg 6db559daa9
thunderbird: add extraConfig option
The added extraConfig option allowes users to insert custom text at
the end of the generated profile `user.js` file. This allows the users
to import templates as part of their configuration.
2023-04-17 22:42:32 +02:00
Utkarsh Gupta e17e5e4f48
bottom: use xdg.configHome on Darwin
Both locations are supported, see

  https://clementtsang.github.io/bottom/nightly/configuration/config-file/default-config/
2023-04-17 21:57:35 +02:00
Utkarsh Gupta cd690d2021
lazygit: use xdg.configHome on Darwin
If XDG_CONFIG_HOME is set then lazygit will use it. We therefore write
to that directory if Home Manager is managing the XDG directory
variables.
2023-04-17 21:32:48 +02:00
Robert Helgesson 40ebb62101
swaylock: add platform assertion 2023-04-15 21:17:23 +02:00
Paul Meyer 2df3d5d39c
swaylock: add enable and package option
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-04-15 21:17:23 +02:00
Matthew_Cash 28698126bd
thunderbird: add userChrome and userContent options
Add an option to the Thunderbird module that allows specifying CSS for
userChrome and userContent styling

PR #3808
2023-04-12 00:06:38 +02:00
Robert Helgesson ccf650bb5b
man: use cfg when possible 2023-04-03 21:18:07 +02:00
Naïm Favier 0e065e1b6f
Revert "programs.neovim: link packpath dir in XDG_DATA_HOME (#3717)" (#3817)
This reverts commit deb2f59b5c.
2023-03-29 20:25:04 +02:00
Matthieu Coudron deb2f59b5c
programs.neovim: link packpath dir in XDG_DATA_HOME (#3717)
link the packpath in expected folder so that even unwrapped neovim can pick home-manager's plugins.

I sometimes need to run neovim not wrapped/configured by nix (when
developing neovim or when other projects bring their own neovim in
PATH). Currently they dont find plugins installed by home-manager in the
cases where packpath is not set to the generated nix packpath directory.
With this change, neovim can discover HM-installed plugins by itself.
2023-03-28 10:40:39 +02:00
Denis Kaynar 99680311f1
hstr: add module 2023-03-25 15:54:19 +01:00
Adam Stephens 2f8d24b7f5
zoxide: enable nushell integration 2023-03-25 11:47:07 +01:00
Pavel Borzenkov 363c46b248
programs/alot: make Sent and Drafts folder optional (#3798)
Some of the email providers (like GMail and Fastmail) save Sent messages
automatically, so make the folders optional in the configuration.

Make Drafts folder optional as well, to allow it to be configured
manually in the extraConf with location outside of the maildir.
2023-03-22 11:25:02 +01:00
Gaétan Lepage c6a7bc90ca
zathura: add documentation for mode-specific mappings (#3797) 2023-03-22 10:50:13 +01:00
Chuang Zhu e386ec640e
mpv: add scriptOpts option, fix tests (#3491) 2023-03-21 11:33:36 +01:00
Damien Cassou a8f5ca239f
borgmatic: optionally exclude HM symlinks from backup
Co-authored-by: Naïm Favier <n@monade.li>
Co-authored-by: Robert Helgesson <robert@rycee.net>
2023-03-21 08:56:23 +01:00
Damien Cassou 2ddd4e151d
borgmatic: change type of extraConfigOption
Switched to `yamlFormat.type` since the output file format is YAML.
2023-03-21 08:55:17 +01:00
Alejandro Angulo bcc417b80f
exa: removed stale comment (#3789) 2023-03-19 18:14:05 +01:00
Naïm Favier 3239e0b40f
Revert "starship: condition nushell integration on nushell 0.73+" (#3778)
This reverts commit c7231c06e9.
2023-03-17 16:31:35 +01:00
Naïm Favier c7231c06e9
starship: condition nushell integration on nushell 0.73+ (#3776)
Older versions are not supported: https://starship.rs/#nushell
2023-03-17 14:11:30 +01:00
Thiago Kenji Okada b832390db3
i3status-rust: update it to handle 0.30.x releases (#3773)
* i3status-rust: update it to handle 0.30.x releases

0.30.0 is a major release that brings many breaking changes to the
configuration file. See:
https://github.com/greshake/i3status-rust/blob/master/NEWS.md#i3status-rust-0300

The only one that actually affects the module though is the change in
how the theme/icons are defined. Other changes are mostly on how to
specify formatting/blocks, and since we just generate the TOML as-is, it
needs changes in the user side.

So most changes in this commit are documentation updates, having
up-to-date examples from things that changed, e.g.: the new `click`
attribute that now can be applied to any block.

* i3status-rust: only use new format if i3status-rust >= 0.30.0

* news: document the i3status-rust changes

* i3status-rust: add thiagokokada as maintainer
2023-03-16 12:48:55 +01:00
Kylie McClain 95201931f2
qutebrowser: allow for specifying multiple commands in bindings (#3322)
This command adds the ability to specify lists of qutebrowser
commands as values for key bindings, which avoids the need for
concatenating commands with ` ;; `.
2023-03-15 19:22:12 +01:00
Janik 215af6252d
atuin: add disable key options (#3754)
Co-authored-by: Janik H <janik@aq0.de>
2023-03-15 11:52:48 +01:00
Felix Leitz 24c1a6335e
vscode: add options for global and user snippets (#3765)
Co-authored-by: Felix Leitz <felix.leitz92@gmail.com>
2023-03-13 18:45:03 +01:00
Olli Helenius 7fe539dfbb
Fix path to Kitty theme files (#3764)
The theme files were moved to `share/kitty-themes` in this nixpkgs
commit:

  3e29ae4159
2023-03-13 14:37:26 +01:00
Robert Helgesson bf5712c586
home-manager: slightly expand option description 2023-03-11 22:44:26 +01:00
Gaetan Lepage 7224d7c54c zellij: fix typo 2023-03-10 17:15:39 +01:00
h7x4 c03d1e75a1
zellij: switch config lang from yaml to kdl for 0.32.0 2023-03-10 16:48:11 +01:00
amesgen e314f6cf21
broot: remove unnecessary IFD 2023-03-05 13:27:21 +01:00
Sylvain Fankhauser 547a3bc8d4
git: allow tags to be unsigned when signing.signByDefault=true (#3479) 2023-03-02 12:27:57 +01:00
Naïm Favier ef7d316578
exa: always configure exa alias (#3721)
Otherwise the `icons`, `git` and `extraOptions` options have no effect
unless `enableAliases` is true.
2023-02-28 22:50:55 +01:00
Joel Höner 4bac341868
exa: add more options (#3505)
* exa: add more options

* exa: use `escapeShellArgs`

* exa: don't hardcode executable path in aliases

Prevents aliases from going stale in open terminals when the system is updated.

* exa: use `command` for self-referential alias

Otherwise fish complains about the recursive call.

Drop the aliases from ion shell since it doesn't implement the POSIX
`command` built-in.

* exa: re-add ion aliases

* exa: drop `command`

Fish doesn't complain about recursion if `exa` isn't escaped.

---------

Co-authored-by: Naïm Favier <n@monade.li>
2023-02-28 18:24:36 +01:00
patwid 305daba44a
aerc: update auth mechanisms (#3714) 2023-02-27 22:32:12 +01:00
Maximilian Bosch 635bbcdd6f
modules/git: make options passed to less(1) for diff-so-fancy configurable (#3704)
The `-X` prevents that screen is cleared when showing a diff that's
larger than my screen.

I.e. when running `git diff` and press `q`, the last thing I want to see
is the prompt with `git diff` and *not* the part of the diff I browsed,
to be clear

    $ git diff
    $ <cursor>

Considering that this is somewhat opinionated, I decided to build an
option which allows you to pass arbitrary commands to the less
invocation.
2023-02-27 13:04:46 +01:00
siflfran bf76afbb06
Set the SHELL environment variable for keychain in .xsession (#3695)
Xsession (and hence ~/.xsession) is executed in bash but does not set
SHELL to the full path to bash. In case the user's login shell is
something other than bash then SHELL is set to that shell. Keychain
inspects the SHELL variable to find out what shell it has to generate
code for, so in .xsession it generates code for the user's login shell
instead for bash.

This change forces SHELL to bash for keychain when invoked from
.xsession, the same way it's done when generating keychain's code for
bash integration.

Closes #3693
2023-02-26 19:55:27 +01:00
Gabriel Arazas 693d76eeb8
programs.gpg: update references to respective manpages (#3648) 2023-02-26 09:30:45 +01:00
Lord-Valen 664945b3e0
starship: Use mkEnableOption (#3701) 2023-02-24 23:15:57 +01:00
Kira Bruneau 564b82b354
firefox: fix search options without a default engine 2023-02-21 22:13:10 +01:00
Robert Helgesson ebb21e1bf6
direnv: nushell integration should not be read only
Fixes #3689
2023-02-20 07:43:27 +01:00
James Williams 81f16a1e3c
prezto: add missing use of yesNo
Specifically, this fixes evaluation of prompt.showReturnVal.
2023-02-19 23:20:59 +01:00
Kiran Ostrolenk da72e6fc6b keychain: add nushell integration 2023-02-14 09:41:45 +00:00
Naïm Favier 1232d0e133
Revert "mbsync: make passwordCommand escaping consistent" (#3657)
This reverts commit e2c1756e3a.
2023-02-08 21:39:10 +01:00
Nathan van Doorn e631d78ddf
vscode: fix erroneous application of lib.optional (#3655) 2023-02-08 12:18:28 +01:00
Nathan van Doorn d7a5a28fc3
vscode: add extensions.json file in extensions dir (#3588)
* vscode: add extensions.json file in extensions dir

This change generates an 'extensions.json` file the same way that
nixpkgs' vscode-with-extensions does, and makes sure it is placed in the
directory with the extensions.

* vscode: remove leftover trace

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

* vscode: fix adding extensions.json with mutable extension dir

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

* vscode: let vscode regenerate the mutable extensions.json

* Remove nixpkgs duplication; only apply on vscodes new enough to need it

* Use lib.versionAtLeast

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

* Format vscode.nix

---------

Co-authored-by: Naïm Favier <n@monade.li>
2023-02-08 11:00:27 +01:00