Commit graph

1019 commits

Author SHA1 Message Date
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
Robert Helgesson
c43d4a3d6d
firefox: manage add-ons per-profile
Internally we already managed them per-profile but exposed a global
option to maintain backwards compatibility. The benefit to having
per-profile extensions is quite large though, so it is time to switch.

Users of the global extensions option will get an error message that
indicates how to edit their configuration to work again.
2023-02-05 23:54:56 +01:00
Guillaume Desforges
9621e9ab80
programs.neovim: add extraLuaConfig (#3639)
* programs.neovim: add extraLuaConfig

Add a configuration option to add custom lua configuration lines to
`lua.init`.

* apply review: formatting

* apply review: fix test
2023-02-05 12:09:26 +01:00
Kira Bruneau
9f4268e6b6
firefox: support passing any json value to settings (#3580)
Firefox internally only supports bool, int, and string types for
preferences, but often stores objects, arrays and floats as strings.

This change makes it nicer to specify those type of preferences in
Nix, and it also makes it possible to merge objects & arrays across
multiple modules.
2023-02-05 11:23:22 +01:00
Stanislav Asunkin
e3f28ddb0d
tmux: fix secureSocket environment variable (#3593) 2023-02-05 11:22:41 +01:00
Tomo
ffc022b6a7
vim-vint: add module (#3604)
* vim-vint: add module

* vim-vint: add tests

* maintainers: add tomodachi94

* vim-vint: fix tests

---------

Co-authored-by: Naïm Favier <n@monade.li>
2023-02-05 11:12:28 +01:00
Jacob Birkett
e716961d78
modules: java: fix setting JAVA_HOME (#3638)
Some JVMs pass through `home` as a derivation rather than as a string, as `openjdk` does. Since the module option for session variables expects a string, this is a type error. I suspect that this incorrect, and have changed the assignment here to coerce the `cfg.package.home` attribute to a string to be safe.

After discussing with @NobbZ, we have decided it is best to mitigate this problem in HM rather than to make potentially breaking changes to Nixpkgs.

Please do mention if you think we ought to propose a change to Nixpkgs instead.
2023-02-05 11:02:57 +01:00
Sleroq
2ffc6d6496
tmux: mouse support (#3642)
Co-authored-by: Sleroq <sleroq@sleroq.link>
2023-02-05 11:02:14 +01:00
Jarkad
e2c1756e3a
mbsync: make passwordCommand escaping consistent (#3630)
* Fix mbsync passwordCommand escaping

* email: use lib.escapeShellArgs

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

* mbsync: update tests

---------

Co-authored-by: Naïm Favier <n@monade.li>
2023-02-03 23:22:11 +01:00
Loïc Reynier
2f62da9837
git: unset pager while using difftastic (#3633) 2023-02-02 02:58:17 +01:00
David Houston
1d94de5604
pass-secret-service: various improvements
Allow setting the application package and storePath used by the
config. Since the `programs.password-store` Home Manager module sets
config values via global environment variables, the default behavior
of the module should continue to behave as before for the user.

Additionally,

- Adds a few tests.

- Use "escapeShellArg" function call to the path parameter call to
  ensure paths with spaces work.

- Allow not setting storePath, which will cause `pass_secret_service`
  to default to using `~/.password-store`.

- If `pass-secret-service` is enabled, set its store path to default
  to the one defined in our password-store environment settings.

- Add myself (houstdav000) as maintainer.
2023-01-31 23:19:09 +01:00
Mario Rodas
1c6f3054ca
rbenv: add module 2023-01-31 23:09:53 +01:00
Sefa Eyeoglu
69696fe539
wlogout: add module (#3629) 2023-01-31 17:06:18 +01:00
Mario Rodas
08a778d803
papis: add module 2023-01-28 18:51:48 +01:00
Lin Jian
bb4b25b302
bash: format using nixfmt
PR #3609
2023-01-26 23:18:39 +01:00
Mario Rodas
c59f0eac51
treewide: fix typos (#3618) 2023-01-24 11:30:04 +01:00
Kira Bruneau
866a4ddcb3
firefox: refactor search.json.mozlz4 generation
The new setup should be easier to read.
2023-01-18 23:25:04 +01:00
Bikal Lem
3e42035fc0
opam: fix enableFishIntegration (#3597)
Fish shell doesn't require arguments to `eval` to be double quoted
like in a bash shell. At the moment doing so gives us the following
error:

~/.config/fish/config.fish (line 12): $(...) is not supported. In fish, please use '(/nix/store/8asq…)'.
eval "$(/nix/store/8asqgnhs89wzyjvs8p1n5hvxn7lkn9wa-opam-2.1.3/bin/opam env --shell=fish)"
      ^
from sourcing file ~/.config/fish/config.fish
	called during startup
source: Error while reading file “/home/user/.config/fish/config.fish”

This commit fixes the above error.
2023-01-15 13:48:02 -07:00
Yurii Matsiuk
4f0c1afba7
firefox: remove https-everywhere from example
See b70c44e857
2023-01-09 12:30:26 +01:00
Olmo Kramer
2cff1c7642
ncmpcpp: Allow str type values for mpdMusicDir option (#3565)
The default value of `programs.ncmpcpp.mpdMusicDir` is taken from
`services.mpd.musicDirectory` if the mpd module is enabled, which has
type `either path str`. `programs.ncmpcpp.mpdMusicDir` did not accept
`str` values, though, so an error was raised when the default value was
used and `services.mpd.musicDirectory` was set to a value of type `str`.

This commit changes the type of `programs.ncmpcpp.mpdMusicDir` to also
accept `str` to reflect the type of `services.mpd.musicDirectory`.

Fixes #3560
2023-01-07 11:59:51 +01:00
Wiseh
c1a830c8fa
feh: Add package option (#3552)
Co-authored-by: Naïm Favier <n@monade.li>
Co-authored-by: Sumner Evans <me@sumnerevans.com>
2023-01-02 20:36:23 +01:00
Naïm Favier
dd99675ee8
vim,neovim: add defaultEditor (#3496)
Also rename `vim_configurable` to `vim-full` per https://github.com/NixOS/nixpkgs/pull/204438
2022-12-29 22:36:05 +01:00
Stanislav Asunkin
cbacdaba3c
man: update database cache generation
Specifically, use the configured man-db package for generating the
database cache.
2022-12-29 13:52:46 +01:00
Loric Brevet
f97f191fe7
kakoune: update hooks (#3418)
Some hooks were removed in Kakoune, and some were added. This PR updates the list so they are aligned with the latest version of Kakoune.
Removed

mawww/kakoune@e4fb70e

    NormalBegin
    NormalEnd
    InsertBegin
    InsertEnd

mawww/kakoune@78419bc

    InsertCompletionSelect

Added

mawww/kakoune@c8839e7

    ClientCreate
    ClientClose

mawww/kakoune@47ba36c

    RegisterModified

mawww/kakoune@f2cc7bc

    User
2022-12-29 13:42:24 +01:00
Ramses
a993eac106
neovim: fix extraLuaPackages type. (#3533)
Assigning to `programs.neovim.extraLuaPackages` a function taking a lua package set as input
and returning a list of packages, as described in the documentation,
threw an error because the rest of the code assumed that the value was always a plain list.
Using `lib.types.coercedTo`, we can accept such functions, as per the documentation,
as well as plain lists, which we then convert to a function ignoring its input argument.
We print a warning when a plain list is assigned, since the function
form is preferred, as it ensures that the right lua package set is used.

For the lua packages, we also get the lua package set from the
finalPackage, to make sure that we are always using the same package set
as the actual unwrapped neovim package being built.

For `programs.neovim.extraPythonPackages` I did the same.

I updated the test case so that we test both ways of setting these options.
2022-12-29 01:48:45 +01:00
Robert Helgesson
fa1bc088ea
gitui: update default theme to match upstream
Fixes #3506
2022-12-28 23:20:37 +01:00
mat ess
e70550577f
fish: set tmp $HOME to silence errors 2022-12-28 21:27:34 +01:00
Mika Naylor
3ad22341a2
direnv: enable nushell integration
This enables nushell integration by default for direnv, similar to
bash/zsh/fish. The slightly verbose way of setting this is to ensure
that peoples' existing nushell configuration isn't overwritten, only
appended to, as would be the case if we just used the integration
example from the nushell docs:

  https://www.nushell.sh/cookbook/direnv.html

Closes #3520
2022-12-28 21:09:31 +01:00
Marcel Transier
a62e4c88d7
starship: re-add ion integration
which was apparently mistakenly removed in commit 7ae7250
2022-12-28 18:16:31 +01:00
Aidan Gauland
646ac0ad17
starship: fix nushell integration
Overwrite starship/init.nu if already exists, since this is a cache
file for sourcing in `init.nu`.
2022-12-28 17:37:42 +01:00
Robert Helgesson
eb9ff9556d
bash: escape historyIgnore value
Since this option is very unlikely to contain a shell variable we
should be safe doing a full shell escaping.

Fixes #3249
2022-12-23 10:02:39 +01:00
David Armstrong Lewis
b44f56dfcd
nushell: support darwin config file locations
Previously the nushell module did not differentiate between Linux and
Darwin when deciding where to place config files, whereas nushell
does. This commit fixes that.
2022-12-20 23:57:11 +01:00
Marijan Petričević
7d55a72d4c
lazygit: add package option (#3456) 2022-12-16 09:55:29 -07:00
Matthew Toohey
b7eb400d41
pistol: refactor
This pull requests refactors the pistol configuration options, since
the current options are deficient in a few ways.

Closes #3486
2022-12-16 17:05:30 +01:00
1sixth
3f0d04aeca
treewide: replace replaceChars with replaceStrings
replaceChars is a deprecated alias, see
05a2dfd674
for details.
2022-12-16 16:34:59 +01:00
Norbert Melzer
b3565b3447
java: remove IFD
The previous variant used IFD to generate the `JAVA_HOME` variable and relied on internal hooks of the `java` package, this failed for a user cross compiling their configuration.

This PR changes that and uses the `home` attribute, as documented in the very last sentence of the https://nixos.org/manual/nixpkgs/stable/#sec-language-java chapter.
2022-12-16 16:13:08 +01:00
Matt Bryant
e412025fff
borgmatic: allow lists in extraConfig
In particular, we should be able to specify `exclude_backups` in our
configuration.

Fixes #3489
2022-12-13 23:34:49 +01:00
mat ess
7e81e7ae2b
fish: always run fish_indent 2022-12-05 23:16:39 +01:00
Mario Rodas
b5c083300b
treewide: fix typos 2022-12-05 12:58:02 +01:00
Robert Helgesson
c3060ab937
emacs: add note about inhibit-startup-message 2022-12-05 12:56:17 +01:00
Mario Rodas
6ce326cef9
treewide: use liberachat and OFTC in examples
Freenode was taken over by a wannabe bitcoin millionaire [1], which
prompted the migration of communities to Libera Chat and OFTC [2].

[1] https://blog.bofh.it/debian/id_461
[2] https://hackaday.com/2021/05/20/freenode-debacle-prompts-staff-exodus-new-network/
2022-12-05 10:38:54 +01:00
Mario Rodas
e3e2abaef5 yt-dlp: fix settings example
The yt-dlp settings should be an attribute set.
2022-12-03 04:20:00 +00:00
David
2b02f8c7cb
thunderbird: use account id for IMAP directory name
This allows users to have multiple accounts on the same domain within
the same profile.

Fixes #3448.
2022-12-04 13:49:29 +01:00
Loïc Reynier
15d94f3058
pet: don't create file without snippets 2022-12-04 12:28:03 +01:00
toastal
9fb1bb9794
himalaya: 0.6.x config updates
Some properties were renamed. Big changes however include `backend` and
`sender` enum options.
2022-12-04 09:34:47 +01:00
mat ess
ca48fced83
fish: format user and generated .fish files
Adds a `fishIndent` wrapper to pass fish scripts to the built in
`fish_indent` function.
2022-12-04 09:07:54 +01:00
maximsmol
eb3598cf44
just: deprecate module
The module is no longer necessary since completions work out of the
box now.
2022-12-03 10:13:47 +01:00
Andrew Marshall
478610aa37
neovim: Source neovimRcContent directly from store (#3444)
The previous version linked the file into home, then sourced that. Since
nothing else expects that file to be there, this is unnecessary.
Additionally, doing so made it impossible to test a built config without
switching, e.g. using `XDG_CONFIG_HOME=… nvim` or `nvim -u`. This
remedies that, at least for this particular reference.

To test this, change from asserting contents of the config file to
actually starting nvim, outputting sentinel values, and then asserting
their values are present. This way it’s tested that nvim loaded the
config, rather than that some config is in a specific place.

This is all in one commit as the test, as written now, would not have
worked before since the previously hard-coded home path was not an
actual file in the test environment.
2022-11-30 17:19:31 +01:00
Mario Rodas
e38ce0ae16
direnv: fix direnv configuration path
Direnv >=2.21.0 uses [1] $XDG_CONFIG_HOME/direnv/config.toml as
configuration path.

[1] 54cb3c5a91
2022-11-30 11:45:39 +01:00
Nicholas Sielicki
50c9bccb6a
bat: add extraPackages option
The bat program has a few additional packages in Nixpkgs, allow for
these to be specified via Home Manager.
2022-11-27 19:19:21 +01:00
Peter Kling
fa671f1795
programs.zsh: set ZPLUG_HOME before loading zplug (#2987)
ZPLUG_HOME must be set before loading zplug, since otherwise it is ignored.
2022-11-27 18:50:46 +01:00
Jakub Fišer
1bdbebc3f8
ssh: add generic Match support for matchBlocks (#2992)
* ssh: add generic Match support for matchBlocks

Introduce conservative support for actual `Match`
blocks in ssh config.

"Conservative" means this PR doesn'tt try to process
the `match` expression and simply uses it as a string
provided by the user.

If set, `match` has precedence over `host` meaning
if both are set, `match` is used and `host` is ignored.

* Add news entry
2022-11-27 16:15:32 +01:00
Philipp Mildenberger
7ae7250df8
starship: add nushell integration support 2022-11-27 09:13:20 +01:00
Philipp Mildenberger
4a12f304e0
nushell: add options 'extraConfig' and 'extraEnv' 2022-11-27 09:09:09 +01:00
Loric Brevet
e999dfe7cb
kakoune: allow custom package (#3434) 2022-11-27 01:49:15 +01:00
Nicholas Sielicki
bf99255fc9
kitty: silently drop darwin-specific options (#3394)
Rather than reject a configuration when this option is set, just
silently ignore it when the platform isn't darwin. The name makes it
obvious that it won't be applied outside of darwin, and this allows
people to use the same configuration between hosts without any special concern.

Co-authored-by: Nicholas Sielicki <git@opensource.nslick.com>
2022-11-27 01:16:33 +01:00
Phillip Cloud
f7641a3ff3
scmpuff: add fish integration flag 2022-11-21 23:51:05 +01:00
Loïc Reynier
433e8de330
fzf: add colors option (#3206) 2022-11-21 08:35:18 -07:00
KFearsoff
c0f9cbcf93
newsboat: allow imperative "urls" management
This commit allows imperative management of "urls" file. It can be
useful if "urls" file is treated as a secret.

With this change, it's possible to provision "urls" via Syncthing,
agenix, sops-nix or other means, while still managing Newsboat
declaratively.
2022-11-20 00:26:42 +01:00
Matthieu Coudron
948d1f8a5c
programs.zsh: generate a more compact config (#3170) 2022-11-18 09:27:43 -07:00
alois31
5589b28e66
opam: add fish integration (#3422) 2022-11-18 09:00:57 -07:00
David
651db464dc
thunderbird: allow using the module on Darwin
While the Nix packages for Thunderbird are not available for macOS,
the module can still be used to manage profiles and configuration.

Fixes #3407.
2022-11-13 10:06:36 +01:00
Xyz00777
6ce3493a3c
kodi: fix syntax error in example 2022-11-09 09:16:50 +01:00
Robert Helgesson
5dd3ce3f1e
mu: use absolute path to mu in activation block 2022-11-07 15:09:31 +01:00
David
b764068a50
thunderbird: add module
Add a new Thunderbird module that uses the configuration in
`accounts.email.accounts` to setup SMTP and IMAP accounts.

Multiple profiles are not supported at this point.
2022-11-04 16:12:12 +01:00
natsukium
39c1e6704a
vscode: fix invalid examples 2022-11-03 09:24:25 +01:00
Arjan Schrijver
04e844090e
oh-my-posh: add module 2022-11-02 01:04:42 +01:00
David Morgan
160025ca46
irssi: add option for SASL external authentication 2022-10-31 09:28:49 +01:00
Markus S. Wamser
d3f21617ac
vscode: add options to disable update checks
Update notification popups are annoying when vscode/vscodium is
managed by Home Manager. However, as these settings also require the
configuration to be managed via `userSettings`, they are disabled by
default.
2022-10-27 18:16:03 +02:00
Paul Meyer
7dc4e4ebd7
k9s: add module 2022-10-25 00:05:50 +02:00
Kira Bruneau
69d19b9839
firefox: support setting search engines
With this change, it's now possible to configure the default search
engine in Firefox with

  programs.firefox.profiles.<name>.search.default

and add custom engines with

  programs.firefox.profiles.<name>.search.engines.

It's also recommended to enable

  programs.firefox.profiles.<name>.search.force = true

since Firefox will replace the symlink for the search configuration on
every launch, but note that you'll loose any existing configuration by
enabling this.
2022-10-22 20:36:04 +02:00
David Warde-Farley
c485669ca5
i3status: add package attribute 2022-10-20 10:04:30 +02:00
j-brn
42f81ac107
looking-glass-client: add module 2022-10-18 10:12:15 +02:00
Damien Cassou
04f5399978
borgmatic: add module 2022-10-16 21:51:52 +02:00
Rohan Ferris
2ecb3ea990
firefox: rename chrome-gnome-shell suggestion to gnome.gnome-browser-connector (#3329)
gnome3.chrome-gnome-shell is now gnome.gnome-browser-connector
2022-10-15 15:49:11 -04:00