1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-09-21 13:57:31 +02:00
Commit graph

1225 commits

Author SHA1 Message Date
Paul Meyer
c5f0d02e3c
k9s: add aliases, plugins, views
Adding the remaining config files of k9s that weren't covered yet.

PR #4627
2024-04-10 21:26:35 +02:00
Damien Cassou
5521cbc10f
firefox: add container support 2024-04-10 21:26:35 +02:00
Damien Cassou
f55c68baf9
firefox: refactor duplicate profile ID detection 2024-04-10 21:26:34 +02:00
9p4
117a4b9cfa
swayr: add module (#4322)
a window switcher for sway
2024-04-10 21:26:34 +02:00
Sebastian Zivota
b9b9b5aab0
thefuck: add fish integration (#4535)
Co-authored-by: Sumner Evans <me@sumnerevans.com>
2024-04-10 21:26:33 +02:00
Willi Carlsen
972916c973
granted: add module
Signed-off-by: Willi Carlsen <carlsenwilli@gmail.com>
2024-04-10 21:26:33 +02:00
Philipp Kühn
0d9be30cfb
borgmatic: preparing upcoming borgmatic change
This commit changes the config format of repositories to the
soon-be-expected `{ "path": "repository-path", }`. The Home Manager
configuration allows a simple string (which will get translated), the
new format by directly using the path attribute, and the one with the
optional label attribute. More information about the background can be
found here https://torsion.org/borgmatic/docs/reference/configuration/
2024-04-10 21:26:33 +02:00
Li Yang
990fc60aaf
k9s: add hotkey option (#4617)
* k9s: add hotkey option

This PR adds an option to customise k9s hotkeys.
The keyword `hotKey` must be in camel case on the user config.

* Update modules/programs/k9s.nix

Co-authored-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>

* fix formatting

---------

Co-authored-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2024-04-10 21:26:33 +02:00
Nova Leary
5b0be3512d
zsh: made ZDOTDIR export to the shell (#4619) 2024-04-10 21:26:32 +02:00
NAHO
87c2ff0a36
wezterm: remove automatic config reload call
Closes: #4426
2024-04-10 21:26:32 +02:00
Knut Magnus Aasrud
1947c9901c
aerc: fix config paths on darwin
When xdg.enable is set, aerc uses the $XDG_CONFIG_HOME variable instead
of the default $HOME/Library/Preferences. home-manager needs to check
this to make sure aerc can find the proper file in both cases.
2024-04-10 21:26:32 +02:00
Martin Schwaighofer
3b72c311ac
helix: add extraPackages option
Closes #2923 based on how arnarg solves this in his personal config.
With review suggestions from musjj.

Co-authored-by: Arnar Gauti Ingason <arnarg@fastmail.com>
Co-authored-by: musjj <72612857+musjj@users.noreply.github.com>
2024-04-10 21:26:31 +02:00
Luna Simons
6da70f2252
cava: add module 2024-04-10 21:26:31 +02:00
Benjamin Lee
f833d2a354
aerc: fix config paths on darwin 2024-04-10 21:26:30 +02:00
Haras
76e58a3a92
exa: add aliases to nushell 2024-04-10 21:26:30 +02:00
sisyphushappy
872242a275
qutebrowser: add greasemonkey userscript option
Co-authored-by: Ivar Scholten <ivar.scholten@protonmail.com>
2024-04-10 21:26:29 +02:00
r-vdp
f1ca52127d
fzf: add mkOrder for fish like we do for other shells 2024-04-10 21:26:28 +02:00
r-vdp
c1f8ffca76
fzf: fix fish integration
Since fzf 0.43.0, the fzf_key_bindings function is only defined when
fish is running interactively, see [1].
This caused errors when entering non-interactive fish shells since we
called fzf_key_bindings during startup.

[1]: 7e89458a3b
2024-04-10 21:26:28 +02:00
Gabe Dunn
2ca2163ece
thefuck: add instant mode option
Also do a slight code cleanup.
2024-04-10 21:26:28 +02:00
Damien Cassou
27a92b54f3
borgmatic: improve support for version 1.8.0
The configuration file format of borgmatic has changed in version
1.8.0:
https://projects.torsion.org/borgmatic-collective/borgmatic/src/branch/main/NEWS

This commit makes Home Manager generate borgmatic's configuration file
using the new format.

Even though the NEWS file indicates that old configuration files are
compatible, this is not 100% the case: empty sections work fine in old
borgmatic but stop working in new ones. I've reported the bug upstream
by email as I couldn't create an account on the forge.
2024-04-10 21:26:26 +02:00
Kiran Ostrolenk
5d13d826a0
zsh: generalize zsh-history-substring-search
Specifically, allow variable expansion for the key codes by switching
from single to double quotes.

This also adds a helpful suggestion to descriptions. Taken from the
project's README, see

  4abed97b6e/README.md (L71-L74))
2024-04-10 21:26:25 +02:00
a-kenji
5f34ca8c64
fish: query pname and version for completions
Query the `pname` and `version` attributes for completion generation,
if the `name` attribute is not available.

Fixes #2813
2024-04-10 21:26:24 +02:00
Bernardo Meurer
8a719ddd3c
bat: allow setting themes/syntaxes without IFD
The way the `bat` module is currently written makes it essentially
impossible to use themes and syntaxes without IFD, since you must
provide the contents as string, instead of just giving a path to be
linked.

With this change, setting themes/syntaxes by-string will start issuing
warnings, and a new attribute model is added, lightly inspired by how
`programs.zsh.plugins` avoided this issue.
2024-04-10 21:26:24 +02:00
Simone Ragusa
149a52a414
firefox: set ADD_DATE and LAST_MODIFIED of bookmarks to 1
For some reason, Firefox completely discards the ADD_DATE and
LAST_MODIFIED attributes if they are set to 0. This has been
confirmed by exporting a sample set of bookmarks generated by
Nix using home-manager and comparing it to the same sample of
bookmarks set manually and then exported.

Missing these attributes can cause problems for extensions and
other tools that try to read bookmarks. A known example is the
Tridactyl extension.
2024-04-10 21:26:23 +02:00
ilaumjd
823f7a6439
thefuck: add module 2024-04-10 21:26:23 +02:00
ilaumjd
8a209007e2
zsh-abbr: add module 2024-04-10 21:26:23 +02:00
ilaumjd
0e14af6788
scmpuff: enable or disable aliases 2024-04-10 21:26:22 +02:00
Olmo Kramer
9af726faca
khard: add module 2024-04-10 21:26:22 +02:00
Avimitin
00a599717b
wpaperd: add wpaperd configuration
Signed-off-by: Avimitin <dev@avimit.in>
2024-04-10 21:26:21 +02:00
Anthony Roussel
84ccadec72
awscli: add module 2024-04-10 21:26:21 +02:00
Ramses
b07382acc2
direnv: add package options 2024-04-10 21:26:21 +02:00
jakob
cfd725853b
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
2024-04-10 21:26:20 +02:00
KFears
1c92ee2a49
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
2024-04-10 21:26:20 +02:00
shimun
72202495ae
bacon: add module
Bacon is a background rust code checker. See
<https://dystroy.org/bacon/>.
2024-04-10 21:26:19 +02:00
Avimitin
9711ed2e82
lsd: allow user to configure colors
Signed-off-by: Avimitin <dev@avimit.in>
2024-04-10 21:26:19 +02:00
Chris Dawkins
6c792aa57e
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.
2024-04-10 21:26:18 +02:00
XYenon
5e5063a9bd
yazi: add fish and nushell integration
PR #4493
2024-04-10 21:26:18 +02:00
Franz Pletz
9e70a3df87
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>.
2024-04-10 21:26:18 +02:00
David Knaack
c20a5caba2
starship: use use instead of source for nushell
For starship v1.16 onwards this is the upstream-recommended method.
2024-04-10 21:26:17 +02:00
Robert Walter
92d368d971
rofi-pass: add package option 2024-04-10 21:26:17 +02:00
Robert Helgesson
bd2e251fa3
waybar: fix service After value
Fixes #4469
2024-04-10 21:26:16 +02:00
VwCSXg
84f11acf9a
git: replace gitToInit with lib function
Remove the function gitToInit and underlying functions in favor of using
the function lib.generators.toGitINI from nixpkgs.
2024-04-10 21:26:15 +02:00
Otavio Salvador
e69f3844a3
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>
2024-04-10 21:26:15 +02:00
Florian Peter
382faa84fe
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.
2024-04-10 21:26:15 +02:00
Robert Helgesson
fe9daa8aae
carapace: add xgettext workaround 2024-04-10 21:26:14 +02:00
stuebinm
088f23f690
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.
2024-04-10 21:26:14 +02:00
Tristan Daniël Maat
768e981935
swaylock: document the need for host PAM configuration 2024-04-10 21:26:13 +02:00
Sefa Eyeoglu
e12a69178c
exa: replace with eza
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-04-10 21:26:12 +02:00
Lin Jian
740ea8730d
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
2024-04-10 21:26:11 +02:00
Robert Helgesson
9447730c9a
just: simplify 2024-04-10 21:26:10 +02:00
Christina Sørensen
9632dbb67d
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>
2024-04-10 21:26:10 +02:00
Weathercold
26ddb8a893
carapace: add module 2024-04-10 21:26:10 +02:00
arjan-s
83cae866ee
programs.khal: add settings option (#4375) 2024-04-10 21:26:08 +02:00
Mikilio
296e5d371e
todoman: use ini format for settings
Use ini format to generate config
2024-04-10 21:26:08 +02:00
Mikilio
0055eeafb6
todoman: added maintainer
Adds Mikilio as maintainer.
2024-04-10 21:26:08 +02:00
Mikilio
e492daeae3
todoman: init module
Adds module to configure todoman in a way that is agnostic with other
pimutil projects.
2024-04-10 21:26:08 +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