Commit graph

929 commits

Author SHA1 Message Date
Ivan Leshchenko 31c77dcc2e
sway: systemd customization 2024-04-19 17:15:54 +02:00
Ramses 068dd4ae29
alacritty: cleanup after 0.13 merge in nixpkgs 2024-04-19 16:57:02 +02:00
Ramses 7ca7025cf2
alacritty: fix escape sequence in example and test
See https://github.com/nix-community/home-manager/pull/4817#discussion_r1441710049
2024-04-19 16:26:23 +02:00
diniamo b62cad68b7
spotify-player: add module 2024-04-19 12:39:30 +02:00
Danil Suetin b5b2b1ac63
helix: add ignores option 2024-04-19 12:05:08 +02:00
Henri Sota 8ff7bb3f4d
tofi: add module 2024-04-19 11:32:49 +02:00
tschai-yim 54e35e0e1c
qt: use warnings API 2024-04-18 23:29:12 +02:00
tschai-yim b31019d64f
qt: add adwaita platform theme
Fixes #4702 and https://github.com/NixOS/nixpkgs/issues/295345.
2024-04-18 23:25:50 +02:00
a-kenji f46814ec7c
treewide: prefer the official wiki 2024-04-17 23:58:16 +02:00
Nathan Henrie 59d50bc582
espanso: enable module on darwin 2024-04-15 09:40:27 +02:00
Jose Plana 9f32c66a51
k9s: configuration files in Darwin without XDG
Support alternate configuration files for k9s in darwin where XDG is
not mandated and k9s expects configuration files in
`~/Library/Application Support/k9s/`.
2024-04-14 23:48:01 +02:00
Jose Plana 76a1650c45
k9s: fix typos in configuration file names 2024-04-14 23:47:45 +02:00
Philipp Mildenberger 630a0992b3
nushell: fix nushell config path on darwin 2024-04-14 08:58:16 +02:00
MiSumiSumi 8fdf329526
neovim: enable use of external package manager (#5225)
* neovim: add extraWrapperArgs option

pass external arguments to neovim-unwrapper
this gives users more flexibility in managing neovim configuration

* neovim: add test for `extraWrapperArgs`
2024-04-13 16:50:15 +02:00
Bryn Edwards 40ab43ae98
foot: set PATH in server's systemd unit file
If not set, foot's terminal spawning shortcut will not work as the
`footclient` binary is not on the server's PATH.
2024-04-13 08:27:43 +02:00
O. C. Taskin 782eed8bb6
programs.khal: add "addresses" option + tidy up (#5221)
- Add `accounts.<calendar|contact>.accounts.<name>.khal.addresses`
  option to enable new configuration option, "addresses", from khal,
  which is used for showing participation status [1].
- Remove mistaken new line in khal implementation, refer to [2].
- Make additions to the existing test case to check the new addresses
  feature. And remove the empty lines in expected configs.

[1]: https://khal.readthedocs.io/en/latest/configure.html#the-calendars-section
[2]: https://github.com/nix-community/home-manager/pull/5192#pullrequestreview-1975091763
2024-04-05 13:48:20 +02:00
Matthieu Coudron 820be197cc
programs.khal: ability to set RGB color (#5192)
The current module constrains to values in enum but khal supports RGB
colors as well
khal.readthedocs.io/en/latest/configure.html#the-calendars-section !
(be careful when setting an RGB value, it has to be quoted else it is ignored, got bitten by it with a manual config )

NB: It's also not possible to set addresses khal.readthedocs.io/en/latest/configure.html#the-calendars-section
2024-03-31 22:06:56 +02:00
Shaw Vrana 3142bdcc47
readline: optionally place config file in XDG dir
Based on PR #4189
2024-03-28 06:48:10 +01:00
Sumner Evans eb869521cb
darkman: allow no configuration
Closes #4779

Signed-off-by: Sumner Evans <me@sumnerevans.com>
2024-03-26 14:24:49 -06:00
Gabriel Fontes 1c2acec999
xdg-portal: align with NixOS module
Nixpkgs has recently made a few major changes to its
xdg-desktop-portal package, which silently breaks our module here:

- The NIXOS_XDG_DESKTOP_PORTAL_CONFIG_DIR variable patch has been
  removed (in favor of putting portal configurations in /etc or
  XDG_CONFIG_HOME).

- A new variable, NIX_XDG_DESKTOP_PORTAL_DIR, was introduced in a
  patch to avoid setting XDG_DESKTOP_PORTAL_DIR (which also affected
  portal configuration reading, not only portal definitions)

I updated our module to match the changes, but this breakage also made
me revisit this module and look into some improvements.

Long story short, I think it's worth it to make it more similar to the
NixOS one, as it will make behavior more predictable and consistent.
The main change is relying on the upstream linked systemd
unit (instead of using systemd.user.services), and setting the
environment variables globally instead of scoping it to the unit, as
it's a very global thing anyway.
2024-03-20 23:41:55 +01:00
s.seidenath 865bef3435
kime: fix configuration
Switches the kime configuration format to use unstructured text. This
is necessary since version 3 and upwards use YAML tags.
2024-03-18 22:12:53 +01:00
Icy-Thought c781b28add
zsh: add patterns option to syntax-highlighting 2024-03-15 19:29:51 +01:00
Patrick Widmer ca922258e1
senpai: switch to scfg format 2024-03-15 11:42:17 +01:00
Gabriel Arazas 029545350c
activitywatch: add module 2024-03-15 09:39:56 +01:00
Kylie McClain 096d9c04b3
qutebrowser: actually implement unbinding
The documentation for the option says...

> If you want a default binding to be passed through to the website,
> bind it to null.

but if you actually try to set a key to `null`, it causes an error.

> A definition for option
> `programs.qutebrowser.keyBindings."<Ctrl+Shift+Tab>".normal' is not
> of type `strings concatenated with " ;; "'.

So this commit implements unbinding as it is documented.
2024-03-14 22:38:52 +01:00
zorrobert bd9141ea97
fusuma: add missing dependencies 2024-03-14 18:08:10 +01:00
Phillip Cloud 587719494e
gpg-agent: fix broken variable reference 2024-03-14 14:45:55 +01:00
Bruno BELANYI 1ab3cec3a1
rbw: simplify 'pinentry' type
Following some upstream changes [1], it's now possible to use a simplified
package type for the option.

[1]: https://github.com/NixOS/nixpkgs/pull/133542
2024-03-14 08:29:43 +01:00
Bruno BELANYI 01e4a5143e
gpg-agent: migrate to 'pinentryPackage'
This follows upstream's module change [1], which allows setting any
package as a pinentry program.

[1]: https://github.com/NixOS/nixpkgs/pull/133542
2024-03-14 08:22:26 +01:00
zorrobert 383296ffa4
joplin-desktop: add module
PR #5020
2024-03-13 14:28:30 +01:00
Mathis H 49a266d2ca
hyprland: add option for per-input device configs 2024-03-12 23:16:18 +01:00
Philipp Kühn 017b12de5b
neomutt: adding unmailboxes option
Adding unmailboxes option to neomutt, which adds the `unmailboxes`
option it to every account.email with neomutt enabled.

See https://www.mutt.org/doc/manual/#mailboxes for more.
2024-03-11 14:44:17 +01:00
Lin Xianyi 36f873dfc8
pqiv: add extraConfig option 2024-03-10 10:20:21 +01:00
Liassica 16311f1d3c
borgmatic: add option for pattern matching
Borgmatic has support for Borg's pattern matching. It is mutually
exclusive with the existing `sourceDirectories` option, so assertions
have been added to make sure that both are not set at the same
time (but also that at least one of them is). Additionally, tests have
been added to test the following configurations: `patterns` instead of
`sourceDirectories`, both at the same time, and neither.
2024-03-09 13:27:20 +01:00
Filip Pobořil bfc438e9b7
ranger: add module 2024-03-08 23:35:34 +01:00
Silmar b550d074fb
zk: add module 2024-03-08 23:26:08 +01:00
David Sánchez 9a3a5b4402
rio: use XDG config for both linux and darwin
`rio` now uses the same config location for both Linux and macOS:

> MacOS and Linux configuration file path is `~/.config/rio/config.toml`.

Ref: https://raphamorim.io/rio/docs/configuration-file
2024-03-08 14:18:28 +01:00
Clément DOUIN 417015af0d
himalaya: adjust code for v1.0.0-beta.3 2024-03-08 13:58:55 +01:00
bri cf111d1a84
zsh: improve shell{,Global}Aliases
This commit changes the way aliases are rendered, adding the "no more
flags" flag `--`, which means that, for example, the alias `"-" = "cd
-";` will work as expected. (I was getting a syntax error before this
change.)

Additionally, now the alias key is shell escaped, which may help some
edge cases. I'm honestly not sure if this part is necessary since I
assume an alias can't contain spaces anyway, but it definitely
shouldn't break anything.
2024-03-06 23:39:12 +01:00
musjj f240015a3a
gallery-dl: add package option 2024-03-06 18:43:55 +01:00
Robert Helgesson 613384a511
tests: include a service in integration tests 2024-03-06 12:58:02 +01:00
Robert Helgesson 9daee941ab
gpg: fix immutable keyfile test 2024-03-06 08:42:20 +01:00
Robert Helgesson c386fde594
bemenu: stub package in tests 2024-03-06 08:42:20 +01:00
Robert Helgesson bdea159ffa
fcitx5: fix reference to fcitx5-with-addons 2024-03-05 23:19:22 +01:00
Felipe Silva d579633ff9
khal: fix contact integration (#4836)
* khal: fix contact integration

- Add tests for contact+khal
- Make options `color`/`priority` available for contact accounts

* khal: add separate calendar for each contact collection

A contact account may have multiple VCARD collections, but Khal doesn't
search recursively. Collection folder names must be hardcoded, and each
has its own calendar.

- Add khal.collections option for contact accounts
- Default to previous setup for accounts with a single collection
- Add tests

* khal: specify how priority is defined by Khal

See https://khal.readthedocs.io/en/latest/configure.html
2024-03-03 18:12:42 +01:00
Robert Helgesson 4de84265d7
fcitx5: fix tests 2024-03-03 06:56:05 +01:00
Robert Helgesson 0992b38e5e
tests: add mkStubPackage in Nixpkgs overlay 2024-03-03 06:56:05 +01:00
John Axel Eriksson ecfffe3631
river: fix systemd activation (#5055)
The `exec` command does not do any shell parsing and does not
understand the `&&` which is how the extraCommands are added after
dbus activation. There doesn't seem to be a reason for `exec` here
anyway so just remove it and allow shell parsing.
2024-02-29 11:10:25 +01:00
XYenon 1d085ea444
yazi: update shell integrations (#5048) 2024-02-27 00:00:56 +01:00
Gaetan Lepage 3dda8e795f
river: add module 2024-02-22 00:10:51 +01:00
Nikita Pedorich a54e05bc12
tealdeer: module improvements
- Cache update on HM activation removed
- freeformType settings
- More tests added
- Platform-dependent tests
- Maintainer added
2024-02-18 23:14:41 +01:00
Robert Helgesson 043ba285c6
tests: add basic integration tests
This introduces some rudimentary integration tests using the NixOS
test framework. The intent is to better catch regressions when doing
more elaborate changes that may affect overall Home Manager behavior.
Note, the tests are currently not run automatically.
2024-02-14 15:10:53 +01:00
Robert Helgesson 354643e6c1
neomutt: fix tests
Caused by an unfortunate interaction between #4597 and #4999.
2024-02-14 14:44:07 +01:00
Robert Helgesson 157bf71277
mpv: create doc output in tests 2024-02-14 11:25:39 +01:00
Christian Dannie Storgaard a09cfdbaf1
neomutt: Initial IMAP support (#4597)
neomutt: Updated options and added tests

neomutt: Added test for individual mailbox type

neomutt: Formatted code

neomutt: Enable ssl_force_tls based on IMAP instead of SMTP

neomutt: Applied suggestions from @chayleaf

neomutt: fix breaking tests
2024-02-11 18:22:37 +01:00
Rafael Carvalho fb0196ad9d
imapnotify: enable STARTTLS if enabled in email account config (#5013)
* imapnotify: enable STARTTLS if enabled in email account config

Since version 2.3.10 goimapnotify supports starttls. In version 2.3.11 a
typo in the settings was fixed, using tlsOptions.starttls to enable it.

This commit enables starttls in the goimapnotify config file if it is
enabled in the email account's imap settings.

* imapnotify: test generated config file

Compare the generated service config file with a manually verified
sample.
2024-02-10 23:01:01 +01:00
Emily 4c0357ff87
sway: fix workspace 10 missing from default config (#4636)
workspace 10 is part of upstream's default config, but was missing in home-manager.

The initial "sway: add module" PR (02d6040003) went through multiple iterations and had workspace 10 included for a brief moment.
Until the author removed it in a force-push commenting

> Have removed the last change which added bound ${modifer}+0 to workspace number 10 as this messed up workspace numbering in sway.

The reason might have been, that sway used to sort the workspaces in the order they appeared in the config.

Attribute sets in nix are sorted, but not "naturally sorted", meaning `bindsym Mod1+0 workspace number 10` comes before `bindsym Mod1+0 workspace number 1`.

It's unclear if that's what really happened. A workaround would have been to use `lib.lists.naturalSort` in `keybindingsStr`.

But I cannot reproduce this anymore in any way.
I assume this has been fixed many years ago by now.

upstream config: 020a572ed6/config.in (L113-L134)
2024-02-10 19:59:52 +01:00
Alexis (Poliorcetics) Bourget 5b9156fa9a
zellij: use full executable path 2024-02-09 09:26:22 +01:00
arjan-s f65dcd6c15
neomutt: fix crypt_use_gpgme in newer versions
Fixes config load error since newer versions of neomutt don't allow
`crypt_use_gpgme` to be loaded dynamically (from folder hooks)
2024-02-05 23:42:06 +01:00
Anton 13dbf2623d
swayosd: update executable 2024-02-05 23:31:53 +01:00
Clément DOUIN 3c6f2dd59c
himalaya: adjust module for v1.0.0-beta 2024-02-05 23:03:40 +01:00
shivaraj-bh 274bd470a5
nix-gc: add service
The nix-gc service runs automatically at a specified frequency. It is
managed via launchd on macOS and systemd on Linux.
2024-02-05 18:10:00 +01:00
musjj 4740f2ccda
kitty: always export KITTY_SHELL_INTEGRATION
This ensures that `KITTY_SHELL_INTEGRATION` is manually set to the
user's `shellIntegration.mode`. This is necessary because sometimes
the variable is not set in subshells or splits.
`shellIntegration.mode` is also now ensured to always contain `no-rc`.
2024-02-05 00:10:32 +01:00
Robert Helgesson 1ca210648a
tests: reduce closure sizes 2024-02-03 19:39:45 +01:00
Sefa Eyeoglu ebba24a6fe
wob: add module
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-01-28 10:46:09 +01:00
Ryan Horiguchi 03958aff44
firefox: add default containers 2024-01-25 23:08:09 +01:00
Robert Helgesson 4256729006
treewide: deprecate DRY_RUN_CMD and DRY_RUN_NULL
As a replacement, this adds the `run` helper function.
2024-01-24 13:36:05 +01:00
Nikita Pedorich 6b28ab2d79
tealdeer: add cache update activation script
Calls 'tldr --update' on home-manager switch
2024-01-24 08:21:24 +01:00
Anton Tetov 3d0dc78e80
bemenu: allow floats in settings
For example, the CLI option --width-factor controls the width of the
launcher and is set to a value between 0-1.
2024-01-23 08:21:17 +01:00
Robert Helgesson 4af6720fff
k9s: fix unnecessary test dependency 2024-01-22 00:18:04 +01:00
Lucas Wagler 020399c287
k9s: v0.29/v0.30 compatibility
- Add `skins` option for definition of multiple skin files
- Change file extension to ".yaml"
- Deprecate `skin` option (points to `skins.skin`)
2024-01-22 00:17:27 +01:00
Nikita Pedorich 0021558dba
mise: fix test
assertPathExists -> assertFileExists
2024-01-21 23:26:31 +01:00
Nikita Pedorich 928f2528f9
mise: add module
This adds the support for the mise program, the successor of rtx. This
commit therefore also removes the rtx module.
2024-01-21 08:51:14 +01:00
Samuele Facenda 9b378afae7
hyprland: change plugins settings generation
The previous syntax (`plugin:name { ...settings}`) is not working with
more than one plugin. There is no documentation for this, just the
source code [1].

With this update the plugins paths aren't generated together with the
full config (so the "plugin" field is not "important" anymore) and the
plugins settings are generated like the other fields.

[1] 4d403dac32/src/config/ConfigManager.cpp (L1574)
2024-01-21 00:40:55 +01:00
Samuele Facenda 2064348e55
hyprland: do not override existing plugins settings in config
The plugin setting in the Hyprland config is used both for defining
plugin paths and configuring the plugins. This fix removes the
silent override of the plugins settings converting them to the
`plugin:<name> { ...settings }` syntax.
2024-01-19 11:27:00 +01:00
Robert Helgesson d6185e83d8
docs, tests: revert to fetchTarball for nmd and nmt
Turns out pulling nmt and nmd from Nixpkgs causes an IFD, even when
the packages are fixed-output derivations.

Thus, since Sourcehut is up and well, we can revert to simply fetching
nmd and nmt directly.

See discussion in <https://github.com/nix-community/home-manager/pull/4884>.
2024-01-18 23:29:40 +01:00
Jared Baur d9c869681d
sway: include cursor environment variables
DBus activated services such as mako use the XCURSOR_THEME and
XCURSOR_SIZE environment variables to decide how to show the cursor,
so without these, the cursor may not match the rest of the desktop
when hovering over (in this example) mako notification surfaces.
2024-01-18 00:30:06 +01:00
Damien Cassou bf4b576f84
firefox: restore compatibility for extraPolicies
This commit makes it possible to specify Firefox' extraPolicies
through:

    programs.firefox.package = pkgs.firefox.override {
      extraPolicies = {... }
    }

This was possible in the past but was broken by:

  3feeb77155
  firefox: add support for specifying policies (#4626)
2024-01-16 09:04:30 +01:00
Robert Helgesson 8ae3bfe2bf
tests: use nmt from Nixpkgs 2024-01-14 22:57:56 +01:00
Robert Helgesson f2942f3385
Remove some formatting exceptions
This formats a few more file using nixfmt.
2024-01-13 19:05:27 +01:00
Silvio Ankermann e13aa9e287
thunderbird: configure signature if set (#4852)
The identity's signature  will be configured according to signature.text
and signature.showSignature. Signature commands are not supported by
Thunderbird.
2024-01-09 15:19:17 +01:00
Gabriel Fontes fcbc70a7ee
xdg-portal: add new module 2024-01-03 20:51:54 +01:00
XYenon 992b38f29c
yazi: fix nushell integration 2024-01-03 20:18:53 +01:00
~noodlez1232 6e91c5df19
i3blocks: added configuration module 2024-01-01 10:15:19 +01:00
Omer Naveed 2aff324cf6
bemenu: add module 2023-12-29 09:24:28 +01:00
Robert Helgesson 30f9cdd69d
oh-my-posh: fix test under Darwin 2023-12-28 23:07:59 +01:00
r-vdp ba6b75011b
alacritty: make compatible with alacritty 0.13
The config file is in TOML from 0.13 onwards.
2023-12-28 21:25:20 +01:00
Fugi 6e2afa5c3b
sftpman: add module 2023-12-28 14:03:49 +01:00
Tom Hall 0f11c14065
osmscout-server: add module
Osmscout-server includes a setting in its UI to create a systemd user
service and socket to run the server on demand. This does not function
correctly on NixOS, for two reasons:

1. It assumes that the binary path is stable (e.g.
   /usr/bin/osmscout-server), which is not the case on NixOS.

2. It auto-detects the unwrapped binary path, which doesn't work.

This module allows the user to access the same functionality on NixOS.
2023-12-28 09:28:48 +01:00
Harsh Shandilya d1d950841d gh: include version in settings
Also add an activation script block for allowing gh version 2.40.0 and
later to perform account migration.
2023-12-27 11:42:06 +05:30
Callum Iddon 015a36e9c7
oh-my-posh: enable nushell integration 2023-12-25 19:01:13 +01:00
lgehr 07c322a7cf
aerc-accounts: support for maildirpp (#4653)
* aerc-accounts: support for maildirpp

aerc-accounts now is aware of the mbsync.subFolders setting

* aerc: Adds test for maildirpp format

---------

Co-authored-by: lgehr <lgehr@mailbox.org>
2023-12-22 18:14:39 +01:00
Stel Abrego 8b797c8eea
fish: escape abbr expansions once again
Commit 8cedd6 `fish: support flexible abbreviations` removed shell
escaping for fish shell abbr values. This was a dangerous breaking
change offered little value and made writing abbr expansions more
difficult. This commit restores automatic shell escaping of fish abbr
values.
2023-12-21 11:42:07 +01:00
Joaquín Triñanes 3bfaacf461
direnv: Make lines shorter 2023-12-21 00:00:17 +01:00
Joaquín Triñanes 67c4c05c29
direnv: Apply nushell env transformations
In nushell, the ENV_CONVERSIONS environment variable is used to
transform the defined variables from a string to a nushell value (PATH
to a list being one of the most common uses). This commit applies
user-defined conversions to direnv-loaded variables.

This fixes binary autocompletion not being triggered for newly added
paths and makes direnv work consistently with nushell
2023-12-21 00:00:16 +01:00
Robert Helgesson 4f258945de
thefuck: fix test case 2023-12-20 22:33:36 +01:00
Robert Helgesson c8c6a52702
sway: fix failing tests
Due to a recent change in Nixpkgs, the version field is required for
the sway package.
2023-12-20 22:29:00 +01:00
Benedikt Ritter 433120e47d
gradle: add module
Introduces a new program called gradle for managing files stored in
the home directory by the [Gradle Build Tool](https://gradle.org).
Gradle uses the $HOME/.gradle folder for all it's configuration.

Features of the new program module are:

- Automatically setting programs.java.enable = true to make a Java
  installation available for running Gradle.
- Specifying an alternate Gradle home directory
- Setting of abitrary values for gradle.properties stored inside the
  Gradle home directory.
- Defining init scripts that will be linked into the init.d inside
  the Gradle home directory.

Co-authored-by: Olli Helenius <liff@iki.fi>
Co-authored-by: Robert Helgesson <robert@rycee.net>
2023-12-20 12:41:17 +01:00
Pierce Bartine efc177c15f
sapling: add module
Adds a program module for [Sapling](https://sapling-scm.com/).

Since Sapling itself is very similar in nature to Mercurial,
`modules/programs/mercurial.nix` was copied to make this module with
the ignore pieces removed (Sapling respects gitignore).
2023-12-19 23:58:05 +01:00
Viktor Kronvall 6c82b1c9ce docs: use .xhtml for appendices 2023-12-16 15:46:42 +09:00