Commit graph

366 commits

Author SHA1 Message Date
Robert Helgesson a34aaad2ae
gpg: fix URL of key in test case
Fixes #3803
2023-03-25 09:57:33 +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
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
Kira Bruneau 564b82b354
firefox: fix search options without a default engine 2023-02-21 22:13:10 +01:00
Naïm Favier 5ffb0f1f81
tests: fix gnupg stub (#3685)
systemd now depends on `gnupg.override`, so we need a stub for systemd too.
2023-02-19 11:19:00 +01:00
Naïm Favier 1232d0e133
Revert "mbsync: make passwordCommand escaping consistent" (#3657)
This reverts commit e2c1756e3a.
2023-02-08 21:39:10 +01:00
Robert Helgesson 7529a2674a
scmpuff: clean up tests
Stub the scmpuff package. Also remove unnecessary `config` wrapping.
2023-02-07 22:19:10 +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
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
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
Mario Rodas c59f0eac51
treewide: fix typos (#3618) 2023-01-24 11:30:04 +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
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
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
Robert Helgesson d7a3c26854
broot: simplify test slightly 2022-12-28 20:49:19 +01:00
Robert Helgesson 18b56e3f7d
broot: update test to match upstream changes
Fixes #3527
2022-12-28 20:36:15 +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
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
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
Robert Helgesson 263f6e4523
i3status-rust: fix tests
Nix 2.12.0 slightly changed the JSON output format. This updates the
i3status-rust test cases to match.
2022-12-13 22:10:22 +01:00
Gaetan Lepage 054d9e3187
gpg: update hash in test 2022-12-08 16:36:10 +01:00
mat ess 7e81e7ae2b
fish: always run fish_indent 2022-12-05 23:16:39 +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
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
Robert Helgesson 7bfe3cd9b0
firefox: fix expected bookmarks in test 2022-12-04 13:29:25 +01:00
Robert Helgesson 848ae0d6bb
neovim: avoid aliased package 2022-12-04 13:13:19 +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
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
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 4a12f304e0
nushell: add options 'extraConfig' and 'extraEnv' 2022-11-27 09:09:09 +01:00
Andrew Marshall cc58d31953
flake: Expose tests to allow running purely (#3412)
* flake: Expose tests to allow running purely

The existing way to run tests with `nix-shell` relies on impure usage of
`<nixpkgs>`. This can lead to failures when the local nixpkgs is
incompatible with the locked one. I.e., where CI is passing but a
contributor may experience a failure.

So, expose tests as `devShells.tests` to use the locked nixpkgs and
allow easy invocation via `nix develop`.

* tests: Remove impure path

With Nix 2.10+ and pure evaluation mode e.g.

```
nix run nixpkgs/nixos-unstable#nixVersions.nix_2_10 -- develop -i .#tests.zplug-modules
```

this test would fail with:

> error: the path '~/.customZplugHome' can not be resolved in pure mode

Since the test only cares that it is a path, rather than anything about
its contents, use a dummy empty directory.
2022-11-27 01:37:24 +01:00
Phillip Cloud f7641a3ff3
scmpuff: add fish integration flag 2022-11-21 23:51:05 +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 9333581075
vscode: add userTasks test 2022-11-03 10:36:21 +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