Commit graph

2035 commits

Author SHA1 Message Date
corbinallison 498c46ea5d
fluxbox: fix a typo, windowMenu -> windowmenu (#3544) 2023-01-03 13:09:52 -07:00
Martin Weinelt d01e7280ad
i3-sway: Use foot as default terminal on sway (#3490) 2023-01-03 19:26:08 +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
Naïm Favier c8f6322303
home-environment: use lazyAttrsOf for home.sessionVariables (#3541)
* home-environment: use `lazyAttrsOf` for `home.sessionVariables`

`attrs` has unreasonable merge semantics and is deprecated. `attrsOf`
doesn't support variables depending on each other as is recommended in
the option's description.

* home-environment: restrict `sessionVariables` type

The consumer is `toString`, but we don't want to accept e.g. lists.
2022-12-29 22:33:15 +01:00
leifhelm 079a33a015
i3: Fix escaping in documentation
In nix `${` is escaped like this `''${` and not like this `\${`
2022-12-29 17:41:04 +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
Jarosław Wygoda fb49fbc368
clipman: add module 2022-12-28 23:02:08 +01:00
Robert Helgesson 8745cc9a21
parcellite: add basic test case 2022-12-28 22:16:47 +01:00
Even Brenden d38dbec809
parcellite: add extraOptions option
Even though `--no-icon` is currently the only viable option for both
parcellite and clipit, other options may be added to later releases.
2022-12-28 22:16:39 +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 939731b8cb
cachix-agent: add module 2022-12-25 09:54:43 +01:00
Robert Helgesson d7eee202e5
home-environment: explicitly use coreutils
Before we used dirname and readlink from the ambient environment,
which caused problems when they don't behave as expected.

Fixes #3516
2022-12-23 22:40:33 +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
Robert Helgesson 0f8bf4f92e
herbstluftwm: merge improvements 2022-12-21 00:20:28 +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
Olmo Kramer 47bb9e7569
herbstluftwm: Reset mousebinds on (re)load
Keybinds and rules were already reset, but now also the mousebinds are.
2022-12-19 22:40:24 +01:00
Olmo Kramer 1a0a5f5037
herbstluftwm: Fix error when no tags set
The default value for `xsession.windowManager.herbstluftwm.tags` is an
empty list, but the config file uses `builtins.head` on it, which causes
an error upon evaluation. With this change the tags configuration is
skipped if the list is empty.
2022-12-19 22:40:24 +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
Walter Franzini d744c2bb9b
Translate using Weblate (Italian)
Currently translated at 92.8% (13 of 14 strings)

Co-authored-by: Walter Franzini <walter.franzini@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/it/
Translation: Home Manager/Home Manager Modules
2022-12-16 16:37:31 +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
Gaetan Lepage 0e9e86b179
megasync: add module 2022-12-16 16:01:49 +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
anna e56714a057
types: allow non-integer font sizes 2022-12-04 14:29:34 +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
Loïc Reynier 15d94f3058
pet: don't create file without snippets 2022-12-04 12:28:03 +01:00
Robert Helgesson 65700a4fd1
polybar: fix restart trigger
The old trigger would actually never cause a restart since the path
doesn't change. With this change the trigger is now using the actual
configuration path in the Nix store, which depends on the content.
2022-12-04 12:12:32 +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
toastal 05d71f517b
email: add signature delimiter
While this is created to match `himalaya`’s configuration API, this
could easly be reused for other programs that consume the email module
by concatination the strings.
2022-12-04 09:34:22 +01:00
toastal 9e266ca2a7
maintainers: add toastal
I wish there there were a contribution option outside of the proprietary
closed-source, Microsoft GitHub platform :(
2022-12-04 09:29:21 +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
Kylie McClain 518dca61c0
mpd-discord-rpc: fix typo 2022-12-04 00:29:50 +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
Robert Helgesson 71fa4cdf9c
home-manager: update stable version to 22.11 2022-12-02 11:49:58 +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
li 63cef13e49
pueue: fix for empty settings
PR #3230
2022-11-29 17:39:24 +01:00
Robert Helgesson cd2a826f33
ssh: make news item conditional 2022-11-29 13:25:48 +01:00
Nick Cao 02c0546033
dbus: fix dbus-run-session command
Specifically, inform the command about the absolute path of
dbus-daemon. Otherwise it will try running dbus-daemon from PATH,
which may not always work.

PR #3405
2022-11-29 13:23:42 +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
Leix b f7fed4dd3d
picom: add egl backend to options (#3441)
Mirrors: 2beff9375c
2022-11-27 18:48:48 +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
h7x4 64f7a77517
polybar: don't generate config if no options are set (#3383)
* polybar: don't generate config if no options are set

* polybar: add h7x4 as maintainer
2022-11-27 01:17:28 +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
Robert Helgesson 62cb5bcf93
Switch master branch version to 23.05 2022-11-24 23:13:38 +01:00
Phillip Cloud f7641a3ff3
scmpuff: add fish integration flag 2022-11-21 23:51:05 +01:00
Pablo Bollansee 3ce1c4787a
Translate using Weblate (Dutch)
Currently translated at 100.0% (14 of 14 strings)

Translate using Weblate (Dutch)

Currently translated at 100.0% (32 of 32 strings)

Co-authored-by: Pablo Bollansee <pablo.bollansee@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/nl/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/nl/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2022-11-21 16:35:25 +01:00
Jakub Janczak c3690701d1
Translate using Weblate (Polish)
Currently translated at 100.0% (14 of 14 strings)

Co-authored-by: Jakub Janczak <kubek2k@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/pl/
Translation: Home Manager/Home Manager Modules
2022-11-21 16:35:25 +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
Thiago Kenji Okada c94c9c342f
picom: remove experimentalBackends, add extraArgs (#3423)
`--experimental-backends` flag was removed in the recent released picom
v10. Using it now will result in the program exiting.

v10 also introduces its counter-part, `--legacy-backends`. However this
will be removed soon. Instead of adding this as an separate option, add
`extraArgs` option so for those that they want they can pass it manuall.
It is also more future proof.
2022-11-18 08:59:30 -07:00
Sumner Evans fe85cc4c37
udiskie: add note about needing to enable system-wide config (#3424)
Closes #3153

Signed-off-by: Sumner Evans <me@sumnerevans.com>
2022-11-17 13:27:03 -07:00
Andrew Marshall bc90de24d8
xdg-user-dirs: allow setting to null to skip setting
Previously, this module was all-or-nothing with its pre-defined user
dirs. This allows e.g. `xdg.userDirs.desktop = null;` to opt-out of
some configuration while still benefiting from the rest.
2022-11-13 10:38:54 +01: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 d20e3d070c
screen-locker: minor description fix 2022-11-08 10:15:54 +01:00
Robert Helgesson 886675991b
home-environment: reset PATH in activation script
Starting with state version 22.11 we completely reset the PATH
variable in the activation script. This is to avoid impurities and
unexpected results if the activation script accidentally uses a
command found in the user's PATH.
2022-11-07 15:09:36 +01:00
Robert Helgesson d67776563e
systemd: fix systemctlPath default text 2022-11-07 15:09:35 +01:00
Robert Helgesson 5dd3ce3f1e
mu: use absolute path to mu in activation block 2022-11-07 15:09:31 +01:00
Guillaume Girol c5adf29545
i3: fix reloading when there are several sockets
This can happen after logout/login.

Fixes #527
2022-11-06 00:41:10 +01:00
David Arnold 989d4fa536
home-environment: remove no-op commands 2022-11-06 00:15:35 +01:00
Ronny Pfannschmidt ccc9164b76
home-environment: fix activation on new style profiles
When using the new style profiles we get conflicts when trying to
replace the old `home-path` derivation. To avoid this conflict we
delete the old `home-path` before the install.

Unfortunately, `nix profile` does not yet have a equivalent for
`nix-env --set` and we have to do this hackish workaround. See

  https://github.com/NixOS/nix/issues/6349

for the associated issue in Nix.

Fixes #2848
2022-11-06 00:12:08 +01:00
midchildan c728307482
darwin: use full path to commands in activation script 2022-11-05 12:14:08 +09: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
Marin f520832a47
darwin: re-enable ~/Applications symlinks (#3139)
Tested-by: supermarin@users.noreply.github.com
2022-11-02 13:41:53 -04:00
Chuang Zhu 916811c8f9
xfconf: add module 2022-11-02 12:01:17 +01:00
Arjan Schrijver 04e844090e
oh-my-posh: add module 2022-11-02 01:04:42 +01:00
David Arnold 183a62f356
targets/generic-linux: use the correct nix package 2022-11-02 00:45:56 +01:00
Anton Bulakh 8957d53199
awesome: fix luaModules using pkgs.lua instead of awesome.lua (#3258)
Mirroring my change to awesome module in nixos:
b79f9e9b8a
2022-11-01 19:43:20 +01:00
polykernel 2464c21ab2
sway: import XDG_SESSION_TYPE in systemd user environment (#3328)
- The `XDG_SESSION_TYPE` environment variable is used by some applications and frameworks to
  detect wayland sessions (i.e qt5/6, electron/chromium). It is set by wlroots since version 0.13.0 [1].

- Propagating `XDG_SESSION_TYPE` to the systemd user environment is necessary when processes launched by
  services (e.g emacs) need to inherit the environment variable.

[1] - 90c8452959
2022-10-31 13:09:06 +01:00
David Morgan 160025ca46
irssi: add option for SASL external authentication 2022-10-31 09:28:49 +01:00
Robert Helgesson 423211401c
home-environment: update hm-version generation
Instead of home-made script use the Nixpkgs library functions. This
will hopefully be more robust and give more accurate results.
2022-10-28 22:51:35 +02:00
Robert Helgesson f67649307d
home-environment: make getVersion more robust 2022-10-27 22:20:37 +02: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
Robert Helgesson 32fe7d2ebb
home-environment: add hm-version file
This commits adds a file `hm-version` to the generated generation
directory. This file will contain the release version, and if
available, the Git commit hash.
2022-10-27 14:51:48 +02:00
Paul Meyer 7dc4e4ebd7
k9s: add module 2022-10-25 00:05:50 +02:00
Damien Cassou 186d9399f9
borgmatic: specify where to find sleep (#3349)
Closes #3348.
2022-10-23 16:52:22 -04: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
ElnuDev da3b8049fd
im/fcitx5: add GLFW_IM_MODULE session variable
This lets fcitx5 be used within the kitty terminal emulator. See
https://wiki.archlinux.org/title/Kitty#Enable_IME_support for more.
2022-10-16 21:42:32 +02:00
Robert Helgesson 86bc0e349f
dconf: handle missing oldGenPath 2022-10-16 17:59:57 +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
Robert Helgesson 8eaa3ba56e
lib/bash: remove unused Bash library files
The color echo functions are provided by `lib/bash/home-manager.sh`.
2022-10-13 11:56:46 +02:00
Robert Helgesson 618ab0f882
discocss: fix attribute name 2022-10-13 11:52:24 +02:00
Ilan Joselevich 2d8e5a9934
discocss: add module
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2022-10-13 01:11:01 +02:00
ilkecan 5597b3a742
dconf: reset keys that become unmanaged on switch 2022-10-11 22:41:39 +02:00
arcnmx e1f1160284
redshift/gammastep: add enableVerboseLogging option
This option controls whether the `-v` command line argument is given.

Co-authored-by: Sumner Evans <me@sumnerevans.com>
2022-10-09 01:21:05 +02:00
Gabriel Arazas bd87a34bb4
sioyek: enable multiple bindings for the same command 2022-10-08 22:11:55 +02:00
ralismark 9fcae11ff2 systemd: name slice unit correctly 2022-10-07 16:07:53 +11:00
AndersonTorres be2cade373
havoc: add module 2022-10-07 01:21:11 +02:00
Mario Rodas 8c297e1816
ledger: add module
Add module for https://www.ledger-cli.org/
2022-10-07 01:06:40 +02:00
Philippe Laflamme 7fee13eb4c
sbt: cache passwordCommand output
This will cache the output of `passwordCommand` per authentication
realm.

Context: the `credentials` key in `sbt` is a `TaskKey[Seq[Credentials]]`.
In `sbt`, tasks are evaluated on-demand and their output is not cached.
This particular key is referenced by all submodules in a project. When
the command is relatively expensive (e.g.: `pass show foo`), this
results in several seconds of delay when doing basic things like
`compile` or `test` which makes this unusable without some kind of
caching.
2022-10-07 00:40:50 +02:00
Philippe Laflamme 599e22b1c7
sbt: allow managing the ~/.sbt/repositories file
sbt allows overriding the default repositories to use to resolve
dependencies. This is often used with proxies and/or private
repositories to host internal packages.

This change adds a `repositories` attribute to `sbt` to allow
specifying the values that will go in `~/.sbt/repositories` file.

To support the above change we also deprecate the `baseConfigPath`
option in favour of `baseUserConfigPath` which points one level higher
by default. This allows not using relative paths to refer to the
top-level configuration directory.

Also adds tests for the new option and the deprecation of the previous
one.
2022-10-07 00:23:29 +02:00
wuyoli 6427ae9578
swayidle: fix examples
The example did not work before, since the systemd service does not
have swaylock in its PATH.

PR #3298
2022-10-06 19:52:37 +02:00
Naïm Favier 1a8e35d2e5
mpd: add package to home path (#3303)
It's always useful to have the man pages available.
2022-10-05 11:22:12 -04:00
Tad Fisher e4e639dd4d
programs/lieer: use lieer package (#3262)
The gmailieer attribute was aliased to lieer in nixpkgs.
2022-10-03 09:50:40 +02:00
Judson Lester a7f0cc2d7b
lorri: add nixPackage and enableNotifications options 2022-09-30 23:30:42 +02:00
Robert Helgesson 7a3384c796
syncthing: add platform assertion 2022-09-30 22:27:35 +02:00
Vanilla 9727190b80
mangohud: fix moved link of config file
PR #3278
2022-09-30 20:47:00 +02:00
superherointj 5c5a5b9b45 urxvt: fix package name 2022-09-30 15:08:02 -03:00
Anderson Torres a053da0f22
fluxbox: use mkPackageOption instead of mkOption (#3286) 2022-09-30 12:54:55 -04:00
arjan-s e7be7c4688
pls: add module (#3285) 2022-09-30 12:53:39 -04:00
Liam Petrie 864ff685fe
lib: add two new gvariant types
Add GVariant variant and dictionary entry types
2022-09-29 13:05:51 +02:00
Sumner Evans 68ea28d330
kdeconnect: change package
Specifically, use pkgs.kdeconnect instead of
pkgs.plasma5Packages.kdeconnect-kde.

Closes #3274

Signed-off-by: Sumner Evans <me@sumnerevans.com>
2022-09-29 12:06:52 +02:00
Naïm Favier 28334988db
picom: use types.numbers.between
Mirrors 77307fcff8
2022-09-29 11:34:00 +02:00
Chan Siu Man 1f5ef2bb41
broot: fix config file location (#3273)
At commit [5666e6b9](5666e6b9fb),
broot refactored the content of the file `/resources/default-conf.hjson`
into multiple files under the directory `/resources/default-conf`, using
[`imports`](5666e6b9fb/resources/default-conf/conf.hjson (L152-L165))
to refer to other configurations.

This refactoring is effective since version 1.14.0 of broot.

After this refactoring, in `xdg.configFile.broot` (which defaults to
`~/.config/broot`):
- we need to copy all potentially referenced files (all files under
  `resources/default-conf`),
- except we need to leave out `conf.hjson` which conflicts with the
  `conf.toml` generated by home-manager (because broot [accepts both conf.toml and conf.hjson](https://dystroy.org/broot/conf_file/))

To implement this, we use `symlinkJoin` to create the content of
`xdg.configFile.broot` by merging multiple sources.
2022-09-27 12:19:02 +02:00
Robin Stumm 65b65ce5ef
broot: use upstream defaults, allow all config options (#2644)
* broot: use freeformType for config

* broot: use defaults from upstream

closes #2395

* broot: generate shell function

* broot: add @dermetfan to CODEOWNERS

* broot: rename `config` option to `settings`

* broot: make example more idiomatic

Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>

Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>
2022-09-26 20:36:06 +02:00
José Luis Lafuente 707cb75ed3
tmate: add module 2022-09-26 00:28:00 +02:00
Rosario Pulella 9b91709899
safeeyes: add module
This adds a basic module for Safe Eyes based off of the one in
Nixpkgs.
2022-09-25 23:01:25 +02:00
Rosario Pulella 3eaadd82b8
maintainers: add Rosuavio 2022-09-25 22:51:50 +02:00
Joosep Jääger de3758e31a
neovim: fix a typo in the generated init.lua (#3252)
neovim complains when having both an init.lua and an init.vim
2022-09-23 13:33:17 +02:00
Matthieu Coudron bd83eab622
programs.neovim: default to init.lua (#3233)
We change the current logic: instead of writing an init.vim which loads
lua/init-home-manager.lua, we write an init.lua that sources init.vim

This commit also avoids writing any of these files if the plugins have
no config.
2022-09-22 10:39:55 +02:00
AndersonTorres f17819f4f1
fluxbox: add module 2022-09-22 00:43:09 +02:00
Loïc Reynier f5e4614c11
yt-dlp: add settings option 2022-09-22 00:09:35 +02:00
David Baynard 41790ba656
mbsync: extend config type with list of strings
Some configuration options can take space separated strings; for
example `SSLVersions` can be configured with multiple allowed
versions.

    SSLVersions TLSv1.3 TLSv1.2

This can now be represented in Home Manager.

    SSLVersions = [ “TLSv1.3” “TLSv1.2” ];

In implementing this change, it uses oneOf for config type, as it is a
cleaner way to represent the union than the nested eithers
formulation.

Also add SSLVersions to test lists of strings in
`account.extraConfig`.
2022-09-20 01:24:21 +02:00
cafkafk df79df8be1
Translate using Weblate (Danish)
Currently translated at 100.0% (14 of 14 strings)

Co-authored-by: cafkafk <christina@cafkafk.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/da/
Translation: Home Manager/Home Manager Modules
2022-09-19 22:24:39 +02:00
Weblate 22ef57a54c
Add translation using Weblate (Danish)
Co-authored-by: Weblate <noreply@weblate.org>
2022-09-19 22:24:39 +02:00
Robert Helgesson 5427f3d1f0
mpd: use XDG music dir if XDG user dirs are enabled
If the user has enabled the XDG user directories module then we can
use the XDG music directory in the MPD module. Otherwise we'll leave
the option undefined so that the user is forced to define the
directory to use.

This applies to state version 22.11 and above.

Fixes #3225
2022-09-16 13:41:40 +02:00
Robert Helgesson b0247ceedc
xdg.userDirs: avoid using $HOME
Instead of referencing the `HOME` environment variable, use the
`home.homeDirectory` option. This allows other modules to reference an
XDG user directory without having to support shell syntax.
2022-09-16 13:41:39 +02:00
AndersonTorres 6745da6dce
rtorrent: change settings to extraConfig
Per NixOS RFC #42, settings should be reserved to structured settings,
whereas extraConfig is used for stringly configuration.
2022-09-15 09:25:46 +02:00
janabhumi ebd7830814
exa: add package option 2022-09-15 09:15:09 +02:00
Kiran 60c6bfe322
zsh: add option for zsh-history-substring-search (#3156) 2022-09-13 16:06:52 -04:00
Mario Rodas f9f4c8e1e7
gallery-dl: add module
gallery-dl [1] is a cli to download image galleries from several image
hosting sites.

[1] https://github.com/mikf/gallery-dl
2022-09-09 11:56:37 +02:00
Mario Rodas 4cfc0a1e02
yt-dlp: add module
yt-dlp is a cli to download videos from YouTube.com and other sites.
2022-09-08 19:51:24 +02:00
Gabriel Volpe 6ec6b2e362
nheko: add module 2022-09-08 19:09:30 +02:00
Charlie Moog 340ec22f6f
git: add config helper for hooks 2022-09-08 11:05:07 +02:00
arcnmx 2e41a1bab3
systemd: handle Install.RequiredBy
Units with

    Install.RequiredBy = [ target ]

set will now be linked in the

    ${target}.requires

directory. Similar to how `Install.WantedBy` already causes a link in
the

    ${target}.wants

directory.
2022-09-08 10:39:57 +02:00
Loïc Reynier de94878b6b
editorconfig: add module (#3204)
Add a module to generate `~/.editorconfig` configuration file.

Co-authored-by: Robert Helgesson <robert@rycee.net>
Co-authored-by: Sumner Evans <me@sumnerevans.com>
2022-09-06 07:50:36 -06:00
Erik Rodriguez 583a99f016
swayidle: allow wayland targets other than sway-session.target (#3202)
Allow another Wayland targets, as river-session.target or
hyprland-session.target, to use swayidle.service which is hard-coded to
sway-session.target.
2022-09-05 10:56:10 -06:00
Lily Foster 140aaed3df
git: gpg sign tags with signing.signByDefault set
The `tag.gpgSign` config option was added in Git 2.23.0 and seems like
it should be set in addition to `commit.gpgSign` when
`programs.git.signing.signByDefault` is enabled
2022-09-05 14:52:39 +02:00
Gaetan Lepage de079ec371
btop: add module 2022-09-05 14:34:37 +02:00
cab 66cc5c7ef9
git-sync: add ssh to path
This fixes automated pushing to repository.
2022-09-05 13:15:40 +02:00
Linus Heckemann f9a35cacdc
msmtp: allow sending email from aliased addresses 2022-09-05 12:50:09 +02:00
Jim Fowler 7b512c94ff
gpg-agent: invert grab and no-grab behavior
The GNU Privacy Guard 2.3 man page for `gpg-agent` describes the
`--grab` and `--no-grab` options as follows:

> Tell the pinentry to grab the keyboard and mouse. This option should
> be used on X-Servers to avoid X-sniffing attacks. Any use of the
> option --grab overrides an used option --no-grab. The default is
> --no-grab.

Therefore Home Manager should explicitly output `grab` when
`cfg.grabKeyboardAndMouse` is true. Previously Home Manager emitted
`no-grab` when `cfg.grabKeyboardAndMouse` was false.

PR #3192
2022-09-05 12:12:48 +02:00
pleshevskiy 5bd66dc6cd
email: fix the office365 smtp host (#3191) 2022-08-29 21:48:12 -04:00
Matthew Toohey d89bdff445
sway, bspwm: add extraConfigEarly (#2847) 2022-08-27 00:09:46 -04:00
Ryan Horiguchi 375631f35b
firefox: support nested folders in bookmarks (#3112) 2022-08-26 21:28:57 -04:00
Matthieu Coudron 0884d6c6e4
programs.neovim: remove 'configure' setting (#3177)
everything is now covered by other settings that are more user friendly
than this big opaque attrset.

Also 'configure' wont do anything with nixpkgs-unstable the way HM
configures neovim. so no need to keep it, the deprecation warning is > 1
year old.
2022-08-26 22:11:34 +02:00
Ronny Pfannschmidt 5bb1f67568
git: add option to define store names for generated include files (#3171)
This allows to use gitconfig/gitconfig-some-intent
as store path suffixes for the texts.
2022-08-26 15:48:50 -04:00
Loïc Reynier 3d3bbdfe95
clipmenu: add launcher option
This adds an option to set the launcher command for Clipmenu
(which is set with the `CM_LAUNCHER` session variable).
2022-08-26 00:52:29 +02:00
Matthieu Coudron 4c8c1c9977
kitty: produce fewer empty lines
This generates a more compact configuration file.
2022-08-26 00:17:05 +02:00
Robert Helgesson 76fbb1b15e
treewide: replace <link> by <xref> where appropriate 2022-08-26 00:07:08 +02:00
AndersonTorres 7bb4576f46
pueue: add module 2022-08-25 23:09:25 +02:00
Dmitriy Pleshevskiy ae474885f7
email: add yandex and office365 email flavors 2022-08-25 21:17:42 +02:00
Pedro Lara Campos c5b4177bda
i3-sway: allow "container" and "output" in focus.mouseWarping (#3154)
Allow specifying which kind of mouseWarping to use since sway
supports `mouse_warping output|container|none`.
2022-08-25 15:02:04 -04:00
Filippo Berto b382b59faf
service.xidlehook: add detect-sleep option (#3165)
Add detect sleep configuration option. Allows to execute the specified commands with more accurate timings if the system wakes from a sleep state.
2022-08-24 15:56:45 -04:00
Matthieu Coudron 353d21e108
neovim runtime (#3168) 2022-08-23 22:02:05 +02:00
Lily Foster 8ea0e4d6d8
udiskie: fix configuration file path typo 2022-08-23 20:11:41 +02:00
Lily Foster ee8e99add5
udiskie: make dependency on tray.target conditional
Specifically, it is unnecessary to have the dependency when the
udiskie tray applet is disabled.
2022-08-23 20:11:04 +02:00
Sumner Evans 688e5c85b7
neovim: fix tests (#3147)
https://github.com/NixOS/nixpkgs/pull/184364 broke the tests

Closes #3146

Signed-off-by: Sumner Evans <me@sumnerevans.com>
2022-08-15 08:41:57 -06:00
Gaetan Lepage ff5133843c
zathura: add mappings option 2022-08-14 21:27:06 +02:00
Chua Hou 44dcad5604
wezterm: support color schemes
Allows users to specify TOML color schemes using Nix.
2022-08-14 20:57:22 +02:00
amesgen 8675cfa549
gh: add extensions option 2022-08-12 20:49:50 +02:00
Lukas Nagel 324fedcf9f
Add module for aerc (#3070)
This adds support for configuring email accounts, with automatic smtp, imap,
sendmail (msmpt) and maildir (mbsync, offlineimap) setup in aerc,
via `accounts.email`.
2022-08-11 23:08:28 +02:00
Bernardo Meurer c1addfdad3
gammastep: wait on geoclue-agent when configured 2022-08-08 19:08:04 +02:00
AndersonTorres 389f2b2037
bashmount: add module 2022-08-08 18:13:21 +02:00
Robert Helgesson f5e9879e74
bash: support bash completion 2022-08-07 15:25:44 +02:00
Hemanth Bollamreddi d9e03b7f8c
wezterm: add module 2022-08-07 11:11:56 +02:00
Robert Helgesson 91f26e0b0e
polybar: use add .ini suffix to configuration file
The old name is deprecated and causes a warning to be logged.
2022-08-07 10:51:38 +02:00
Sky Leite d8d9ff0b2d
tint2: correctly reference the provided package (#3125) 2022-08-02 20:01:13 -04:00
Lily Foster 77648a07e4
hyfetch: prevent writing config with default/empty settings (#3124) 2022-08-01 19:58:38 -04:00
Lily Foster d1c677ac25
hyfetch: add module 2022-08-01 18:38:42 +02:00
Moïse Valvassori 7146638e9e
Fix typo. (#3118) 2022-07-30 18:49:20 -07:00
Gabriel Arazas 0e2f7876d2
recoll: add module 2022-07-27 14:25:27 +02:00
Naïm Favier 119febc464
vscode: avoid unnecessary IFD (again)
Fixed in https://github.com/nix-community/home-manager/pull/2506 then
unfixed in https://github.com/nix-community/home-manager/pull/2613
2022-07-27 13:51:19 +02:00
Tom Wieczorek 0b7fd187e2
xdg-mime-apps: fix regex in mimeAssociations
The XDG Desktop Entry spec mentions that multiple values per key may be
optionally terminated by a semicolon. An example for this is the Firefox
desktop file, which has no trailing semicolon. This breaks the sed regex
used in `mimeAssociations`.

Fix the regex by matching the end of string, optionally preceded by a
semicolon, or any other semicolon. This makes it work with both
semicolon-terminated and non-semicolon-terminated desktop files.
2022-07-26 10:08:25 +02:00
Naïm Favier dbed4c794d
xdg-user-dirs: create directories after linkGeneration
In the scenario where some XDG user directory is a symlink defined by
`home.file`, we want the symlink to be created before we try to
`mkdir -p` that directory, as it will then silently succeed. On the
other hand, if we create the directory first, creating the symlink
will fail.

We lose nothing by doing this as `linkGeneration` creates the
directories it needs.
2022-07-25 14:18:36 +02:00
linj 8419dfd39d
fish: enable manpage completion
This patch follows a similar patch[1] in nixpkgs. With this patch,
fish can complete manpages for programs installed through
home-manager, e.g., using home.packages.

[1]: https://github.com/NixOS/nixpkgs/pull/91794
2022-07-25 13:54:51 +02:00
Loïc Reynier a3b778e672
spectrwm: add module
PR #3077
2022-07-25 13:42:06 +02:00
midchildan 572f348a10
darwin: add support for 'defaults -currentHost' options
Closes #2615
2022-07-24 15:17:21 +02:00
Ryan Horiguchi d86c189158
firefox: support showing bookmarks on toolbar 2022-07-23 15:28:14 +02:00
rcerc 218cb3aee2
firefox: fix empty check of bookmarks list 2022-07-23 15:22:31 +02:00
rcerc f91fb470bc
firefox: use coercedTo to convert bookmarks to a list 2022-07-23 15:22:23 +02:00
rcerc 4a724cb84c
lib: improve DAG library
Specifically,

- directly export `modules/lib/dag.nix` instead of renaming
  attributes,

- run through utilities to reuse code where possible,

- expose `lib.hm.dag.isEntry` and reuse it in
  `modules/lib/types-dag.nix`,

- reuse utilities through `lib` set instead of passing imports to
  functions, and

- eta reduction of `map`, `entryAnywhere`, `entryAfter` and
  `entryBefore`.
2022-07-18 15:32:48 +02:00
h7x4 64c745fe1c
firefox: add support for nested bookmarks
Change type of `firefox.profile.<name>.bookmarks` to allow for nested
bookmarks with user defined order.
2022-07-18 14:55:54 +02:00
rcerc 4c5106ed0f
firefox: reuse escapeXML from Nixpkgs 2022-07-15 14:11:50 +02:00
Weblate 8385408c65
Add translation using Weblate (Dutch)
Co-authored-by: Weblate <noreply@weblate.org>
2022-07-13 15:34:00 +02:00
Jonas Heinrich 2c94b9801f
librewolf: add module 2022-07-13 15:31:25 +02:00