1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-11-25 04:29:45 +01:00
Commit graph

2419 commits

Author SHA1 Message Date
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
ash
66d7007e43
mpv: prohibit string values in scripts
Strings as scripts don't currently work, and probably haven't worked
since b567d273 (mpv: use wrapMpv instead of mpv-with-scripts,
2020-05-31).
2022-07-13 14:52:46 +02:00
ash
241a375f49
keychain: set SHELL correctly in bash and zsh
bash and zsh apparently handle command substitution slightly differently
than fish. in bash/zsh:

$ export FOO=x
$ FOO=y echo $(sh -c 'echo $FOO')
x

whereas in fish:

$ export FOO=x
$ FOO=y echo $(sh -c 'echo $FOO')
y

so we have to assign $SHELL within the substitution for bash and zsh.
2022-07-13 14:35:52 +02:00
Bryton Hall
b8bb5f291a
xdg-desktop-entries: allow icon path type 2022-07-12 22:13:34 +02:00
Sumner Evans
c5fc157554
picom: fix option name
The `services.picom.opacityRule` option was renamed to
`services.picom.opacityRules`.

This was missed in #2939

Signed-off-by: Sumner Evans <me@sumnerevans.com>
2022-07-12 21:26:31 +02:00
Nick Cao
1e66e035e1
gpg-agent: set Environment to a list 2022-07-12 12:26:36 +02:00
Joe Neeman
43ea4c5123
swayidle: fix systemd service
swayidle executes commands using "sh -c" and so its PATH must contain
a shell. This adds such PATH entry to the environment of the systemd
service.

Fixes #2811.
2022-07-12 12:01:04 +02:00
Naïm Favier
6311f4adc3
lib/types: make DAG entries mergeable
Removes the `uniq` constraint on `after` and `before` so that we can
merge multiple definitions for the same DAG entry:

    {
      dag = mkMerge [
        {
          foo = lib.hm.dag.entryBefore [ "bar" ] {
            # definition 1
          };
        }
        {
          foo = lib.hm.dag.entryBefore [ "qux" ] {
            # definition 2
          };
        }
        {
          foo = {
            # definition 3
          };
        }
      ];
    }

In this example `foo` will come before `bar` and `qux`.
2022-07-12 11:47:38 +02:00
Thiago Kenji Okada
177f1887d4
compton: remove
This module was deprecated since release 20.03 according to the news, so
it can be removed.
2022-07-12 11:21:50 +02:00
Thiago Kenji Okada
b908e61dfa
picom: sync module with the NixOS version
This brings a few advantages:

- Use of float instead of strings to represent float values,

- Use of structure settings, and

- Better type checking for some settings

Also add thiagokokada as codeowner of picom.
2022-07-12 11:21:49 +02:00
Congee
0639aa34f1
git: add option to set difftastic display setting 2022-07-12 10:48:26 +02:00
Maxime Brunet
8160b3b45b
zsh: source zsh-syntax-highlighting at the end of .zshrc (#3068)
zsh-syntax-highlighting.zsh must be sourced at the end of the .zshrc file, otherwise widgets created after are not properly highlighted (e.g. from oh-my-zsh): https://github.com/zsh-users/zsh-syntax-highlighting#faq
2022-07-07 18:57:27 -06:00
oxalica
25a9948361
sway: import dbus env vars and explicitly specify them (#3031)
- Importing all environment variables is considered deprecated for
  `systemdctl import-environment`. The list of variables are picked
  from:
  https://github.com/swaywm/sway/wiki/Systemd-integration#managing-user-applications-with-systemd

  The `XDG_CURRENT_DESKTOP` is said to be required for portals, see:
  https://github.com/nix-community/home-manager/pull/2385#issuecomment-1026454162

- DBus activation environment should also be updated. Otherwise, DBus
  activated programs, without a coresponding systemd service, cannot get a
  correct environment and would fail, eg. `mako`.
2022-07-07 11:03:58 -06:00
Julio Borja Barra
12cfcc1b9d
fusuma: fix settings example (#3067) 2022-07-07 00:55:01 -06:00
Philipp Mildenberger
ef990143b6
nushell: fix non-nullable configFile and envFile, fixes #3050 (#3060) 2022-07-07 00:49:50 -06:00
Naïm Camille Favier
face4094d4
bspwm: add missing rule setting rectangle (#2974)
Also add a `freeformType` so that we don't have to do this in the
future.
2022-07-06 23:36:20 -04:00
Robert Helgesson
f2445620d1
redshift: remove petabyteboy from maintainers 2022-07-04 11:39:38 +02:00
Philipp Mildenberger
3bf16c0fd1
udiskie: add option settings
Adds option settings, which writes settings to
.config/udiskie/config.yml.

Note, the option takes precedence against other options like notify,
automount or tray if they are configured in settings.program_options.
2022-06-28 00:12:57 +02:00
Kylie McClain
0ca0b91088
sctd: add module
This adds a module for enabling the `sctd` daemon, as well as setting
the preferred base temperature.
2022-06-26 21:29:50 +02:00
Ilan Joselevich
1dbac84b84
mpd-discord-rpc: restart on failure 2022-06-26 01:24:29 +02:00
Matthew Toohey
223b9deead
pistol: add module 2022-06-25 01:00:32 +02:00
Michael Forster
65bcfaccc5
micro: add module
This adds initial bare-bones support for the `micro` editor.
2022-06-24 19:19:11 +02:00
Samuel Tschiedel
fd047c84f7
mcfly: add fuzzy search factor option
Per the [docs], MCFLY_FUZZY is no longer a boolean, taking now a
positive integer that controls the fuzziness factor.

[docs]: https://github.com/cantino/mcfly#fuzzy-searching

Co-authored-by: Robert Helgesson <robert@rycee.net>
2022-06-24 18:22:15 +02:00
Nick Bathum
e622bad163
neovim/coc: fix withNodeJs value when enabling coc (#3048) 2022-06-22 14:14:18 -06:00
Eliza Velasquez
d059b9448a
mujmap: add module
mujmap is a tool that synchronizes mail between a mail server and
notmuch via JMAP. It's very similar to lieer, so I heavily based the
implementation of the notmuch module on lieer's. I did not include an
equivalent to lieer's periodic synchronization service, however,
because I plan to soon introduce a daemon mode to mujmap.

https://github.com/elizagamedev/mujmap
2022-06-22 00:33:10 +02:00
Robert Helgesson
467617947d
email: add support for JMAP
Co-authored-by: Eliza Velasquez <4576666+elizagamedev@users.noreply.github.com>
2022-06-22 00:13:22 +02:00
Kritnich
1ebbef8642
barrier: change enableCrypto behaviour
`--enable-crypto` is deprecated because crypto is now enabled by default.
`--disable-crypto` should be used instead.
Fixes https://github.com/nix-community/home-manager/issues/3001
2022-06-21 21:59:19 +02:00
Dominik Schrempf
206ded407e
dunst: fix settings example 2022-06-21 21:41:32 +02:00
Lily Foster
ce563f5911
mopidy: add support for extraConfigFiles 2022-06-21 01:04:56 +02:00
Shamrock Lee
60b064249d
treewide: remove trailing white spaces and tabs 2022-06-21 00:55:32 +02:00
Philipp Mildenberger
931e610552
nushell: update configuration management
Recent versions of nushell uses a different configuration setup. This
commit adjusts the module to match.

Fixes #2952
Fixes #2837
2022-06-21 00:39:00 +02:00
Robert Helgesson
3c710201d5
version: remove default value
The user should always explicitly set the state version they wish to
use. Indeed, the configuration generated by the Home Manager install
script has set this option for a long time. This removal should
therefore not affect many users.
2022-06-21 00:06:53 +02:00
Robert Helgesson
3d8265c5ef
email: minor formatting fix 2022-06-20 00:56:57 +02:00
Damien Cassou
931653b99f
emacs: optionally start service with the session
Add services.emacs.startWithUserSession boolean to indicate that Emacs
must be started with the systemd user session. This is true by default
unless socket activation is also true.

In the past, the user had to choose between socket activation (to get
the Emacs service started when the user uses emacsclient) and
immediate start with the user session. When choosing immediate start
over socket activation and if the Emacs service is stopped at some
point, using emacsclient would start a new Emacs daemon but the
service would still be turned off. This situation would prevent
`home-manager switch` from completing successfully because it wouldn't
be able to start the Emacs service as Emacs is already running.

This new setting makes it possible to have both socket activation and
immediate start at the same time. In this scenario, Emacs is started
with the user session and, after the Emacs service is stopped, using
emacsclient starts the service again.

This new settings also makes it possible to have neither socket
activation nor immediate start.
2022-06-19 01:09:41 +02:00
Naïm Camille Favier
1de492f6f8
format: update and remove exceptions (#3029)
Switches to nixfmt 0.5.0 and removes exceptions for files without open
PRs.
2022-06-16 14:13:06 +02:00
Weblate
68edbc7f28
Add translation using Weblate (Finnish)
Add translation using Weblate (Catalan)

Co-authored-by: Weblate <noreply@weblate.org>
2022-06-15 23:44:57 +02:00
Leix b
1342f4a07c
Translate using Weblate (Catalan)
Currently translated at 100.0% (14 of 14 strings)

Add translation using Weblate (Catalan)

Co-authored-by: Leix b <abone9999@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ca/
Translation: Home Manager/Home Manager Modules
2022-06-15 23:44:57 +02:00
Matthieu Coudron
07dbd4c0dd
pywal: fixed i3 config (#3002)
module was never imported and thus useless. This adds a neovim plugin too.
2022-06-15 23:44:52 +02:00
Thiago Kenji Okada
935ecea67d
neovim: add missing literalExpression in module docs (#3012) 2022-06-13 19:57:41 +02:00
rcerc
70824bb5c7
swaylock: Add module (#3003) 2022-06-07 21:01:14 +02:00
Naïm Camille Favier
64ab7d6e8d
Prepare inclusion in nixos-search (#2971)
* Add flake.lock and clean up flake.nix

Add a lockfile to work around https://github.com/NixOS/nix/issues/6541
(and because it's a good idea anyway).

Also use flake-utils, and restrict ourselves to the five platforms
supported by nixpkgs. Otherwise, the IFD for nmd fails on weird
platforms. This fixes `nix flake check`.

Remove the redundant `apps` output, see https://github.com/nix-community/home-manager/pull/2442#issuecomment-1133670487

* nixos,nix-darwin: factor out into a common module

* nixos,nix-darwin: make `home-managers.users` shallowly visible

Make sure the option is included in the NixOS/nix-darwin manual (but the
HM submodule options aren't).

Also add a static description to the HM submodule type so that we don't need to
evaluate the submodules just to build the option manual. This makes
nixos-search able to index the home-manager flake.

Also clean up some TODOs.

* flake: add nmd and nmt

This avoids having to use `pkgs.fetchFromGitLab` in an IFD, which causes
issues when indexing packages with nixos-search because `pkgs` is
instantiated with every platform.
2022-06-07 20:45:06 +02:00
Kylie McClain
2070389247
htop: add missing fields (#2989)
These new fields were added in htop 3.0.3 (PERCENT_NORM_CPU) and
3.1.0 (ELAPSED).
2022-06-05 11:50:13 +02:00
Roman Joost
a3638db009
Use newer getmail6 over getmail package (#2982)
The `getmail` package will soon be removed from nixpkgs. The
`nixos-unstable` channel already has it removed and using the service
will result in:

    error: getmail has been removed from nixpkgs, migrate to getmail6

Upgrade to the getmail6 package which is already available and backwards
compatible.
2022-06-05 11:48:58 +02:00
Robert Helgesson
684e85d01d
docs: set 22.11 as next version 2022-06-01 21:56:46 +02:00
Robert Helgesson
1808cb66aa
news: remove a bunch of old (>1 year) entries 2022-06-01 21:56:45 +02:00
NomisIV
bda2c80b4c himalaya: fix account.folders to new config syntax 2022-05-30 21:06:52 +02:00
midchildan
64831f938b
emacs: allow extraConfig to reference extraPackages
This fixes the issue described in

  https://github.com/nix-community/home-manager/pull/1758#issuecomment-1113706592
2022-05-26 00:34:17 +02:00
Erwin Boskma
9042c756fa
mpdris2: remove assertion on mpd module 2022-05-25 18:32:34 +02:00
Erwin Boskma
d73ba6a534
mpdris2: add password option 2022-05-25 18:32:33 +02:00
Sumner Evans
94780dd888
neovim/coc: add package option (#2972) 2022-05-21 11:12:29 -06:00
Naïm Camille Favier
02b15de8ad
Translate using Weblate (French)
Currently translated at 100.0% (14 of 14 strings)

Co-authored-by: Naïm Camille Favier <n@monade.li>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/fr/
Translation: Home Manager/Home Manager Modules
2022-05-19 23:44:42 +02:00
Yubo-Cao
97fac4f282
Translate using Weblate (Chinese (Simplified))
Currently translated at 92.8% (13 of 14 strings)

Co-authored-by: Yubo-Cao <Cao2006721@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/zh_Hans/
Translation: Home Manager/Home Manager Modules
2022-05-19 23:44:42 +02:00
Roman Timushev
e6869735d2
htop: fix darwin defaults
M_SHARE is not a valid column on Darwin. It seems that previously htop
ignored unknown columns, but the current version does not display all
subsequent columns.
2022-05-19 23:33:20 +02:00
Gabriel Arazas
cb9f03d519
mopidy: add module
This is adapted from the `services.mopidy` NixOS module. The
difference is the setting can be configured with Nix language, taking
advantage of generators from nixpkgs. The module is also suited more
for user-specific configuration, removing the `extraConfigFiles` and
`dataDir` option.
2022-05-19 00:31:37 +02:00
Peng Guanwen
32a7da69dc
Translate using Weblate (Chinese (Simplified))
Currently translated at 85.7% (12 of 14 strings)

Co-authored-by: Peng Guanwen <pg999w@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/zh_Hans/
Translation: Home Manager/Home Manager Modules
2022-05-13 16:27:27 +02:00
Sumner Evans
273598f53e
mako: add package option (#2955) 2022-05-13 08:27:23 -06:00
Matthieu Coudron
f735a8502b
programs.pywal: init (#2949) 2022-05-10 22:24:19 +02:00
Markus Scherer
4293902b64
offlineimap: remove dependency on python2 (#2909) (#2951) 2022-05-10 09:30:40 +02:00
Aidan Gauland
882bd8118b
gtk: Update example strings for gtk.theme.package (#2904)
- Change the example value of `gtk.theme.package` from
`pkgs.gnome.gnome_themes_standard` was an alias that was removed on 2022-01-13,
`pkgs.gnome-themes-extra`, which references the actual package.

- Change the example value of `gtk.icon.package` from `pkgs.adwaita-icon-theme` to
`pkgs.gnome.adwaita-icon-theme`, as this package is in the `gnome` package set.
2022-05-06 21:27:31 -04:00
mgurlitz
538343be86
Make sway onChange script use cfg.package if set (#2937) 2022-05-05 21:29:20 -04:00
Nicolas Berbiche
4036f1a751
home-cursor: fix x11 cursor path using invalid option (#2940) 2022-05-05 21:15:51 -04:00
Robert Helgesson
267462dfb3
cursor: fix coercion error
Fixes #2934
2022-05-04 10:16:32 +02:00
polykernel
c13ffa3ed4
home.pointerCursor: init (#2891)
* home.pointerCursor: init

The current architecture for cursor configurations is composed of individual
options for different backends. For example, X specific settings are managed under
`xsession.pointerCursor` and gtk specific settings are managed under `gtk.cursorTheme`.
While this architecture is modular, it causes duplication of similar structures for
each component. In theory, this provides flexibility because the components are independent
of each other which can be arranged in arbitrary ways to achieve the desired result.
However in practice, users wish to have one cursor theme applied to their entire system
The duplication of options correspond to duplication of settings on the user side and it
becomes a burden to keep track of all necessary settings.

This commit is an attempt to unify cursor configurations for different window systems and
GUI toolkits based on https://github.com/nix-community/home-manager/pull/2481#issuecomment-978917480.
`home.pointerCursor` is introduced as the interface for all cursor configurations.
It contain all options relevant to cursor themes with eneral options delcared under `home.pointerCursor.*`
and backend specific options declared under `home.pointerCursor.<backend>.*`. By default, a backend
independent configuration is generated. Backend specific configurations can be toggled via the
`home.pointerCursor.<backend>.enable` option for each backend. This was decided over using a
list of enums because it allows easy access to the state of the backend. Note generating different
cursor configurations for different backends is still possible by defining only `home.pointerCursor`
and managing the respective options manually.

* xcursor: migrate options to home.pointerCursor

- Removed `xession.pointerCursor` as x11 cursor configurations are now handled in `home.pointerCursor.x11`.
- Updated `meta.maintainer` field in `home.pointerCursor` and CODEOWNERS.
2022-05-03 18:29:17 -04:00
arjan-s
ac722cddf4
swayidle: Fix position of extraArgs (#2932) 2022-05-03 11:20:46 -06:00
Robert Helgesson
0304f0f58b
specialization: add module
This module adds basic support for configuration specializations.
These allow the user to build multiple alternative configurations that
should be part of the same generation.
2022-05-03 00:42:23 +02:00
Theodore Ni
af828536ed
fish: generate fish completions using python 3 2022-05-02 23:37:39 +02:00
Arjan Schrijver
5872aad1d0
git: add option to use diff-so-fancy as diff tool
Add the option to use diff-so-fancy as diff tool in git. This makes
the shown diffs human readable instead of machine readable.
2022-05-02 23:08:08 +02:00
Robert Helgesson
d7b97de51a
tealdeer: add news entry 2022-05-02 22:56:40 +02:00
Mario Rodas
26858fc0db
tealdeer: add module (#2928) 2022-05-01 08:27:04 -06:00
crazymanjinn
df6010551d
gpg-agent: make shell integrations optional (#2927)
In esoteric setups, automatically setting GPG_TTY to current tty is not
desired on every shell startup. This change adds configuration options
to allow user to disable that if desired.
2022-04-30 18:38:36 -06:00
Sumner Evans
f8b51be714
neomutt: add support for signature command (#2899)
Neomutt will run the given command (which can be a string or a path)
and take the output from stdout and use it as the signature for your
email.

Co-authored-by: Nicolas Berbiche <nicolas@normie.dev>
2022-04-29 14:01:53 -06:00
afreakk
223a73c2ba
xscreensaver: add xscreensaver to service PATH
Without this the journal will be filled by

  xscreensaver[468297]: sh: line 1: xscreensaver-command: command not found
  xscreensaver-systemd: 12:29:22: exec: "xscreensaver-command -quiet -deactivate" exited with status 127
2022-04-25 23:05:43 +02:00
Frankie McEyes
09f3e67950
Translate using Weblate (Italian)
Currently translated at 85.7% (12 of 14 strings)

Translate using Weblate (Italian)

Currently translated at 100.0% (32 of 32 strings)

Co-authored-by: Frankie McEyes <mceyes@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/it/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/it/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2022-04-24 23:38:56 +02:00
Weblate
5997c43458
Add translation using Weblate (Persian)
Co-authored-by: Weblate <noreply@weblate.org>
2022-04-24 23:38:56 +02:00
Nathan Typanski
6f025b3825
i3-sway: only return current user's socket (#2914)
Constrain the pgrep command to only return results for the current user.
Additionally, quote the socket variables to prevent splitting.

Previously, if multiple users on a system were running `sway`, the
`pgrep` used in finding `swaySocket` would return multiple results. As a
result, reloads of sway would fail.

Fixes #2912.
2022-04-24 23:38:50 +02:00
polykernel
8ec13d33b1
targets.genericLinux: include additional directories in XCURSOR_PATH (#2902)
This commit appends system-wide icon and pixmap directory and the icon
directory in the home-manager profile to the XCURSOR_PATH session variable
for the generic linux target. This is necessary because the default prefix
for libXcursor resolves to the Nix store which excludes the aforementioned
directories from being searched for cursor themes. [1]

[1] - https://github.com/nix-community/home-manager/pull/2891#issuecomment-1101064521.
2022-04-19 20:04:10 -04:00
Robert Helgesson
8d38ca8868
xdg-mime-apps: add function mimeAssociations
This convenience function allows automatic assignment of a package's
associations to `xdg.mimeApps.defaultApplications`.

For example,

    xdg.mimeApps.defaultApplications =
      config.lib.xdg.mimeAssociations [ pkgs.gnome.evince ];

Co-authored-by: Ryan Trinkle <ryan@trinkle.org>
2022-04-18 19:09:46 +02:00
Roberto Di Remigio
742c6cb3e9
chromium: add vivaldi 2022-04-18 00:29:40 +02:00
Luc Chabassier
5ac84ebeef
Add lib argument to homeManagerConfiguration (#2753) 2022-04-17 18:14:41 -04:00
Nicolas Berbiche
f47001cec9
xdg-desktop-entries: add 'actions' option, deprecate fileValidation (#2778)
Validation is always enabled so it does not make sense to keep this option
2022-04-17 18:06:09 -04:00
Curtis Jiang
bb860e3e11
misc: fix nix.conf generation (#2824)
nix/nix.conf should generate if cfg.extraOptions is not empty.
2022-04-17 17:46:26 -04:00
Jia Xiaodong
c82b8ac5ad
sioyek: add module (#2895) 2022-04-17 17:07:55 -04:00
Sam Willcocks
620ed197f3
gpg: fix handling of multiple public keys
When processing `publicKeys` entries, handle entries that contain
multiple public keys (i.e. gpg --show-key returns multiple `pub`
lines) properly, setting the trust level for each key.

PR #2897
2022-04-17 12:15:14 +02:00
Michael Hoang
8ab155c61f
modules: Export pkgs to match NixOS (#2696)
This makes it a lot easier to access the `pkgs` that would be used to
build the home configuration, e.g.

    nix build ./dotfiles#homeConfigurations."user@host".pkgs.vim

This is useful as it allows access to a Nixpkgs that has been
instiantiated with config and overlays.
2022-04-16 18:36:37 -04:00
Sumner Evans
2e473a7b09
neomutt/signature: unset if disabled (#2877)
Closes #2876
2022-04-16 16:36:31 -06:00
Infinidoge
0586d2d42a
keychain: set SHELL during initialization (#2880)
Explicitly sets the SHELL environment variable in the snippets put into
the shell init files.

Fixes #2256
2022-04-16 18:33:07 -04:00
Daniel Thwaites
a640dddc9a
waybar: fix command not found when reloading (#2865) 2022-04-16 18:31:03 -04:00
Thiago Kenji Okada
7add9ce2e5
picom: remove refreshRate option
Removed by upstream since commit:

    bcbc410c92

This commit is included since v9 release:

    https://github.com/yshui/picom/releases/tag/v9
    https://github.com/yshui/picom/releases/tag/v9-rc1 (the actual changelog)

While this doesn't break the config per see, it results in the
following warning in the logs:

    [ DD/MM/YYYY HH:MM:SS.mmm parse_config_libconfig WARN ] The
      refresh-rate option has been deprecated. Please remove it from
      your configuration file. If you encounter any problems without
      this feature, please feel free to open a bug report

Beside the above change we also remove an old workaround and also
write the configuration file to a well-known location in the user's
home directory.
2022-04-15 23:49:51 +02:00
Kat Inskip
d49d68f419
home-manager: Fix cross-compiles, fixes #2675 (#2893) 2022-04-14 20:58:15 -04:00
Tanish2002
7da4e6680f
lf: add package option
PR #2883
2022-04-13 23:08:51 +02:00
florpe
e39a9d0103
pylint: add module (#2729) 2022-04-10 21:54:04 -04:00
Sumner Evans
f911ebbec9
lib.booleans: add yesNo function (#2818)
Closes #2772
2022-04-07 22:36:13 -06:00
Robert Helgesson
47b3719f51
taskwarrior: minor script cleanup 2022-04-07 23:35:55 +02:00
Alex Miranda
8a046f36eb
Translate using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (14 of 14 strings)

Translate using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (32 of 32 strings)

Co-authored-by: Alex Miranda <alexmirandamoraes@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/pt_BR/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2022-04-07 19:36:38 +02:00
Daniel Nagy
3071ea205d
starship: skip one program invocation on each shell init (#2862)
The code that is being evaled without the `--print-full-init` flag is
this:

```sh
__main() {
    local major="${BASH_VERSINFO[0]}"
    local minor="${BASH_VERSINFO[1]}"

    if ((major > 4)) || { ((major == 4)) && ((minor >= 1)); }; then
        source <(/nix/store/...-starship-1.3.0/bin/starship init bash --print-full-init)
    else
        source /dev/stdin <<<"$(/nix/store/...-starship-1.3.0/bin/starship init bash --print-full-init)"
    fi
}
__main
unset -f __main
```

This code checks for bash version >= 4.1 , which has been released in
2009. Since this version is widely unavailable in nixpkgs, we can skip
one program invocation and directly call `starship init bash
--print-full-init`.
2022-04-07 13:36:34 -04:00
x10an14
e361373b5f
taskwarrior: make .taskrc writable (#2761)
This is achieved by generating the Home Manager configuration
file as `~/.config/task/home-manager-taskrc`, and including that
file into ~/.config/task/taskrc.

Fixes #2360

Co-authored-by: mainrs <5113257+mainrs@users.noreply.github.com>
Co-authored-by: Nicolas Berbiche <nicolas@normie.dev>
2022-04-07 13:29:53 -04:00
André Silva
66ffa7a0a6
systemd: fix creation of user service unit files (#2867)
* systemd: fix creation of user service unit files

* helix: fix failing test due to file output format change

Co-authored-by: Nicolas Berbiche <nicolas@normie.dev>
2022-04-07 02:38:20 -04:00
Ilan Joselevich
07b941f0c4
mpd-discord-rpc: init service (#2728) 2022-04-04 23:48:13 -04:00
Naïm Favier
399a3dfeaf
gpg: create homedir with 700 permissions (#2823)
It can happen in some cases that home-manager first runs before gpg
creates its homedir, and it creates it with 755 permissions which the
user then needs to change by hand.

Do this in the module instead: before linking files, make sure the
homedir exists, and if it doesn't, create it with the right permissions.
2022-04-04 23:40:15 -04:00
Radosław Szamszur
a985e711e8
screen-locker: Add option to configure x screensaver cycle (#2853)
Some screen lockers which will be used with xss-lock might require
to set x screensaver timeout with cycle.
2022-04-04 23:32:27 -04:00
ilkecan
3549f5d0f5
xdg-user-dirs: allow paths and define sessionVariables (#2757)
Changed option types to `either str path` to allow using path values.

The related session variable is defined for the default and the extra
user directories now.
2022-04-04 23:32:03 -04:00
Roch D'Amour
0382c5f75e
git: Add option to use difftastic as diff tool (#2850)
Difftastic is a syntax-aware diff tool which can be used with git.
2022-04-04 08:53:29 -06:00
Mario Rodas
9580f6c42a
zellij: add configuration for darwin
Zellij uses a different path to hold its configuration on Darwin.
2022-03-30 23:56:01 +02:00
Naïm Favier
8db712a6a2
types: fix dagOf behaviour with mkIf
This makes definitions like

    home.activation.foo = mkIf false "bar"

work, where previously they would complain about
`home.activation.foobar.data` being used but not defined.

The crucial part is that we don't call `convertAllToDags` in
`dagOf.merge`, because we need to process `mkIf`/`mkMerge` properties
first. So we let `attrEquivalent.merge` do its job normally, but give
it a type `dagEntryOf` that does the conversion.

Ideally this shouldn't require so much boilerplate; I'd like to
implement something like

    types.changeInto dagContentType elemType dagEntryAnywhere

in Nixpkgs.
2022-03-30 23:29:09 +02:00
Oğuz Ersen
f5a44afa19
Translate using Weblate (Turkish)
Currently translated at 100.0% (14 of 14 strings)

Translate using Weblate (Turkish)

Currently translated at 100.0% (32 of 32 strings)

Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/tr/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/tr/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2022-03-27 09:44:00 +02:00
Robert Helgesson
80583677e7
Translate using Weblate (Japanese)
Currently translated at 100.0% (14 of 14 strings)

Translate using Weblate (Korean)

Currently translated at 100.0% (14 of 14 strings)

Translate using Weblate (German)

Currently translated at 100.0% (14 of 14 strings)

Translate using Weblate (Spanish)

Currently translated at 100.0% (14 of 14 strings)

Translate using Weblate (Russian)

Currently translated at 100.0% (14 of 14 strings)

Translate using Weblate (French)

Currently translated at 100.0% (14 of 14 strings)

Translate using Weblate (Norwegian Bokmål)

Currently translated at 85.7% (12 of 14 strings)

Translate using Weblate (Swedish)

Currently translated at 100.0% (14 of 14 strings)

Co-authored-by: Robert Helgesson <robert@rycee.net>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/de/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/es/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/fr/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ja/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ko/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ru/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/sv/
Translation: Home Manager/Home Manager Modules
2022-03-27 09:44:00 +02:00
Hosted Weblate
c607ae8671
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2022-03-27 09:44:00 +02:00
Yevhen Shymotiuk
d123fca83c
browserpass: add brave support 2022-03-27 01:12:50 +01:00
Moises Nessim
2f58d0a3de
nix: add support for nix profile
PR #2833

Co-authored-by: David Arnold <dar@xoe.solutions>
Co-authored-by: Florian Franzen <Florian.Franzen@gmail.com>
2022-03-26 15:11:28 +01:00
Robert Helgesson
171702dd88
files: avoid cleanup if old home-files is missing 2022-03-26 15:05:43 +01:00
Farseen
8afee75d0d
dconf: note that system dconf must be enabled
Before enabling dconf in Home Manager, dconf must be enabled in system
config.

Otherwise it will fail like this:

```
$ home-manager switch
Starting Home Manager activation
Activating checkFilesChanged
Activating checkLinkTargets
Activating writeBoundary
Activating installPackages
replacing old 'home-manager-path'
installing 'home-manager-path'
Activating dconfSettings
error: GDBus.Error:org.freedesktop.systemd1.NoSuchUnit: Unit dconf.service not found.
```
2022-03-26 09:33:10 +01:00
Naïm Favier
e2ebc3a3af
picom: use types.lines for extraOptions 2022-03-23 23:10:24 +01:00
Naïm Favier
0cf9dadf5b
irssi: use types.lines for extraConfig 2022-03-23 23:10:23 +01:00
Manu [tennox]
6c730bc054
Translate using Weblate (German)
Currently translated at 100.0% (14 of 14 strings)

Translate using Weblate (German)

Currently translated at 100.0% (32 of 32 strings)

Co-authored-by: Manu [tennox] <tennox@posteo.de>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/de/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/de/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2022-03-23 19:56:54 +01:00
stephaneyfx
48a1584d8b
i3-sway: Empty set argument was passed to wrong function (#2819)
This would give the error "attempt to call something which is not a
function but a list" given that `optionals a b` returns a list. `indent`
is the one taking this empty set as second argument.
2022-03-22 14:04:28 -06:00
Basti
80b4360678
i3/sway: improve i3.nix to handle options as list like in sway, adjusted functions for less new-lines (#2314)
* i3/sway: Improve code to generate config to avoid new-line issues on code/config changes

* Maintainer: Add SebTM as maintainer
2022-03-21 16:52:57 -06:00
Nazarii Bardiuk
bbc5e0c1e1
tmux: fix broken vi bindings (#2817)
Keybindings have wrong order of arguments: the -N flag should go before
the binding key
2022-03-21 16:25:36 -06:00
polykernel
835797f3a4
xsession.pointerCursor: escape special characters in the cursor path (#2805)
- Escape special character in the cursor name and default cursor file name
  in the cursor path for the xsetroot command.
2022-03-20 18:12:03 -06:00
polykernel
46dc2e5d9f
gtk: fix missing newline in formatted config (#2809)
The conversion from `concatMapStrings` to `concatStringsSep` introduced in https://github.com/nix-community/home-manager/pull/2481
creates an unintended behavior change where the formatted config does not end in a newline.[1]
This is problematic for manipulation at the Nix level. In particular, this cause a regression in
the generation of gtk2 settings due to concatenated of the formatted config and `gtk2.extraConfig`
without a newline in between.

This commit restores `concatMapStrings` to match the previous behavior and adds a newline to
the final string for the generated gtk2 config. The test case for gtk2-basic-config
was also updated to check behavior at concatenation boundaries.

[1] - https://github.com/nix-community/home-manager/pull/2481#discussion_r830648706
2022-03-20 16:22:56 -04:00
Naïm Favier
57476b5d28
xcursor: remove warning and use mkDefault for GTK options (#2808) 2022-03-20 13:32:34 -04:00
Leon Vack
e96fc6d8f9
tmux: add notes to existing keybindings (#2540) (#2742)
Adds notes to the keybindings created in the tmux config making them
show up in C-b ? and tmux list-keys -N

Fixes #2540
2022-03-19 19:12:21 -04:00
mihnea-s
7cf15b19a9
vscode: add user tasks (#2804) 2022-03-18 18:54:24 -04:00
Naïm Favier
e2a85ac43f
bspwm: add alwaysResetDesktops (#2785)
If set to true, desktops configured in `monitors` will be reset every time
the config is run.

If set to false, desktops will only be configured the first time the config is run.
This is useful if you want to dynamically add desktops and you don't want them
to be destroyed if you re-run `bspwmrc`.
2022-03-17 22:56:56 -04:00
polykernel
32e433d07d
nix: add structural settings (#2718)
Nix permits user level configurations through ~/.config/nix/nix.conf that allow
customization of system-wide settings and behavior. This is beneficial in chroot
environments and for per-user configurations. System level Nix configurations in the
form of /etc/nix/nix.conf can be specified declaratively via the NixOS nix module but as
of currently no counter part exists in home-manager.

This PR is a port of the RFC42 implementation for the NixOS nix module[1]
to home-manager. Non-applicable options have been excluded and the config generation
backends have been tweaked to the backends offered by home-manager. A notable change
from the NixOS module is a mandatory option to specify the Nix binary corresponding
to the version "nix.conf" should be generated against. This is necessary because
the validation phase is dependent on the `nix show-config` subcommand on the host platform.
While it is possible to avoid validation entirely, the lack of type checking was deemed too significant.
In NixOs, the version information can be retrieved from the `package` option itself which
declares the Nix binary system-wide. However in home-manager, there is no pure way to
detect the system Nix version and what state version the "nix.conf" should be generated
against. Thus an option is used to overcome this limitation by forcing the user to
specify the Nix package. Note this interaction can still be automated by forwarding
the system-wide Nix package to the home-manager module if needed.

Three unit tests were added to test the module behavior for the empty settings, the example
settings and the example registry configurations respectively.

[1] - NixOS/nixpkgs#139075
2022-03-17 22:47:32 -04:00
Sumner Evans
590da80ceb
neovim/coc: fix loading CoC plugin (#2801)
Specifically, refactored all places that use cfg.plugins to use a new
combined list that includes CoC if it's enabled.
2022-03-17 20:43:03 -06:00
Naïm Favier
a4b0a3faa4
xdg: add XDG_*_HOME variables to systemd.user.sessionVariables (#2790)
Make sure those variables are set in systemd user services.
This mirrors the situation for `XDG_*_DIRS` variables.
2022-03-17 22:22:53 -04:00
polykernel
e01facc340
gtk: add cursor theme configuration (#2481)
* gtk: add cursor theme configuration

- Added the `cursorTheme` under the gtk module.
- Added tests for the gtk3 settings file generation, and renamed
  the gtk2 unit test expected file for clarity.
- Added guard against generating a blank `gtk.css` when `cfg.extraCss`
  is empty.
- Replaced `concatMapStrings` calls with `concatStringsSep`. The library function
  `concatMapStrings` generates an intemediate list which is then passed to
  `concatStringsSep`, As we are not performing other transformation except
  the addition of newlines, a direct call to `concatStringsSep` is sufficient.
- Updated description of examples to be more general "~/.config" -> "$XDG_CONFIG_HOME".
- Update helper functions `toGtk3Ini` and `formatGtk2Option` to use the library
  function `boolToString` and escape the separator in the key name.

* xcursor: delegate GTK cursor settings to gtk.cursorTheme

- Added deprecation warning for GTK settings in the `xsession.cursorTheme` module.
- Modified config section to use `gtk.cursorTheme` for GTK cursor settings.
2022-03-17 15:30:48 -04:00
Kylie McClain
970b57fd3c
autorandr: add filter option (#2795)
xrandr's filter option is useful for enabling integer scaling on
displays that don't have support for it at a graphics card level.
2022-03-17 13:45:04 +01:00
NomisIV
472e67d1bb
himalaya: add support for account.folders
Add support for `account.folders.(inbox|sent|draft)` in the himalaya
account configuration.

PR #2747
2022-03-13 23:20:41 +01:00
iosmanthus
8bdfa41b4e
fusuma: add module
Fusuma is a tool supports multitouch gestures with libinput driver on
Linux.
2022-03-13 22:17:55 +01:00
Karl Hallsby
da92196a95
mu: allow aliases to be used by mu configuration file
This has no effect if the user does not have any aliases defined for
any accounts.

This will also only add `--my-address=` to only accounts that are
enabled to be tracked by mu.
2022-03-13 20:27:35 +01:00
ReplayCoding
5d4327cff4
irssi: fix syntax error when no channels are specified 2022-03-13 13:33:09 +01:00
Loïc Reynier
afe96e7433
pubs: add module
Note, the pubs configuration file uses ConfigObj syntax, which is
similar to the INI files syntax but with extra functionalities like
nested sections. This prevents it from using Nix's INI format
generator. Here is an example of pubs configuration that cannot be
generated using Nix's INI format generator:

    [plugins]

    [[git]]
    manual=False

For this reason, we opted for a stringly-typed configuration since the
use of a structured `settings` option would require a custom parser.
2022-03-06 10:40:28 +01:00
Doğu Us
abd221c4b3
Translate using Weblate (Turkish)
Currently translated at 35.7% (5 of 14 strings)

Co-authored-by: Doğu Us <usdogu@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/tr/
Translation: Home Manager/Home Manager Modules
2022-03-06 10:08:57 +01:00
Anon Ymous
4e6856397e
Translate using Weblate (Polish)
Currently translated at 64.2% (9 of 14 strings)

Co-authored-by: Anon Ymous <mivon27841@shackvine.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/pl/
Translation: Home Manager/Home Manager Modules
2022-03-06 10:08:57 +01:00
maximsmol
87beebc7a2
just: add module 2022-03-06 09:50:52 +01:00
Yt
d119cea376
i3status-rust: change default to newer version (#2774) 2022-03-03 22:32:59 -05:00
Sebastian Sellmeier
e58a7cb13d
xdg-desktop-entries: adjust to API changes
The `makeDesktopItem` function changed in a backwards incompatible way
in

    0c713dbed4

This commit updates the module accordingly.

Fixes #2767
2022-03-04 01:08:00 +01:00
sudosubin
ea85f4b1fd
launchd: fix multiple agents 2022-02-27 14:58:54 +01:00
Robert Helgesson
2499b91692
treewide: apply nixfmt to a few more files 2022-02-27 02:19:44 +01:00
kmaasrud
1d90b6065a
tiny: add module (#2735)
Added module for tiny, a TUI IRC client written in Rust. Thanks to @ratsclub for helping me write my first Nix module!
2022-02-26 17:42:01 -05:00
midchildan
ccd00e3c93
launchd: fix undefined variable in activation script (#2763) 2022-02-26 15:06:12 -05:00
midchildan
c7a13f76a7
launchd: initial support for LaunchAgents 2022-02-26 10:32:19 +01:00
Frank Moda
662350bee2
neovim: remove trace log of vim plugins (#2756) (#2760) 2022-02-25 14:35:13 +01:00
Markus Wamser
650cfe60f3
vscode: fix name of extension in example (#2759) 2022-02-24 18:45:41 -05:00
Mifom
8f7d925503
gitui: add module 2022-02-24 23:42:04 +01:00
Mikhail Chekan
1faefcded3
Translate using Weblate (Russian)
Currently translated at 100.0% (14 of 14 strings)

Co-authored-by: Mikhail Chekan <chekoopa@mail.ru>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ru/
Translation: Home Manager/Home Manager Modules
2022-02-24 22:43:44 +01:00
Weblate
2248ea1831
Add translation using Weblate (Italian)
Co-authored-by: Weblate <noreply@weblate.org>
2022-02-24 22:43:43 +01:00
Selene Hines
0b1745b4ef
neovim: autogenerate config.lua file sourced to init.vim (#2716) 2022-02-23 15:53:31 +01:00
Josh Holland
838d40d61a
foot: set OOMPolicy=continue for foot server (#2749)
Previously, if a process inside a foot client triggered the OOM killer,
systemd would also kill the parent unit, namely the foot server.
This is not ideal if a user has a lot of clients attached, and it's
usually not the terminal emulator's fault that a process inside it has
ended up using all the available memory.
2022-02-22 20:15:28 +01:00
NomisIV
69536af27e
himalaya: fix smtp-starttls option (#2744)
The `smtp-starttls` option was previously to the value of `account.imap.tls.useStartTls`, when `account.smtp.tls.useStartTls` should be used instead
2022-02-21 14:32:32 -07:00
Mario Rodas
0232fe1b75 atuin: don't install widget on limited terminals
Otherwise we get the following warning for terminals with limited
capabilities:

    bash: bind: warning: line editing not enabled
2022-02-19 04:20:00 +00:00
lucasew
4f4165a8b9
espanso: add module
This commit adds a module to configure espanso, a program to do text
expansions that is configured using a YAML configuration file.
2022-02-18 00:35:57 +01:00
Riley Inman
c859a5265a
sway: add tray.target 2022-02-17 22:48:14 +01:00
Robert Helgesson
5375afb2fb
eww: fix maintainer referencee 2022-02-17 22:34:21 +01:00
mainrs
498c188e62
eww: add module
Closes #2682
2022-02-17 18:41:05 +01:00
Jian Lin
2116fe6b50
zsh: move sessionVariables from .zshrc to .zshenv (#2708)
This patch moves both home.sessionVariables and
programs.zsh.sessionVariables from .zshrc to .zshenv. Additionally,
these two kinds of session variables will not be sourced more than
once to allow user-customized ones to take effect.

Before, session variables are in .zshrc, which causes non-interactive
shells to not be able to get those variables. For example, running a
command through SSH is in a non-interactive and non-login shell, which
suffers from this. With this patch, all kinds of shells can get
session variables.

The reason why these session variables are not moved to .zprofile is
that programs started by systemd user instances are not able to get
variables defined in that file. For example, GNOME
Terminal (gnome-terminal-server.service) is one of these programs and
doesn't get variables defined in .zprofile. As a result, the shells it
starts, which are interactive and non-login, do not get those
variables.

Fixes #2445

Related NixOS/nixpkgs#33219
Related NixOS/nixpkgs#45784

This file is not formatted before and is excluded by ./format, so I don't format it.
2022-02-17 10:20:56 +01:00
mainrs
810e5f3613
zellij: add module
Closes #2666
2022-02-17 00:55:28 +01:00
teu5us
2a7e247202
Translate using Weblate (Russian)
Currently translated at 64.2% (9 of 14 strings)

Co-authored-by: teu5us <paulkreuzmann@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ru/
Translation: Home Manager/Home Manager Modules
2022-02-16 16:38:15 +01:00
Artem Shinkarov
a3c18a60d5
neovim: add extraLuaPackages to neovim, fixes #1964. (#2617)
Similarly to extraPytonPackages, we add extraLuaPackages that make
lua libraries available at runtime.
2022-02-16 16:38:10 +01:00
Mustafa Çalışkan
4160629af7
Translate using Weblate (Turkish)
Currently translated at 14.2% (2 of 14 strings)

Translation: Home Manager/Home Manager Modules
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/tr/
2022-02-12 16:54:30 +01:00
Narazaki Shuji
54c2cf7fb8
Translate using Weblate (Japanese)
Currently translated at 100.0% (14 of 14 strings)

Translation: Home Manager/Home Manager Modules
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ja/
2022-02-12 16:54:28 +01:00
Weblate
37f0a161a0
Add translation using Weblate (Turkish) 2022-02-11 15:18:06 +01:00
Heman Gandhi
b784f588ee
Translate using Weblate (Japanese)
Currently translated at 92.8% (13 of 14 strings)

Translation: Home Manager/Home Manager Modules
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ja/
2022-02-11 00:05:01 +01:00
Narazaki Shuji
ec5c5ae9a8
Translate using Weblate (Japanese)
Currently translated at 78.5% (11 of 14 strings)

Translate using Weblate (Japanese)

Currently translated at 100.0% (32 of 32 strings)

Translate using Weblate (Japanese)

Currently translated at 35.7% (5 of 14 strings)

Translate using Weblate (Japanese)

Currently translated at 84.3% (27 of 32 strings)

Translate using Weblate (Japanese)

Currently translated at 25.0% (8 of 32 strings)

Co-authored-by: Narazaki Shuji <shujinarazaki@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/ja/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ja/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2022-02-11 00:05:01 +01:00
Weblate
e448c3c123
Add translation using Weblate (Japanese)
Co-authored-by: Weblate <noreply@weblate.org>
2022-02-11 00:05:01 +01:00
Thibaut Marty
6d9d9294d0
notmuch: fix database creation when using hooks
When an hook is defined, a side effect was the creation of the
${notmuchIni.database.path}/.notmuch/ directory by home-manager. If
the Xapian database does not exist yet but this .notmuch directory
exists, Notmuch is confused and throws an error when `notmuch new` is
run (while this should create the database the first time).

This commit changes the hooks paths to $XDG_CONFIG_HOME where Notmuch
expects them (see notmuch-config(1)) instead of inside the maildir
database directory.

It also moves the configuration where Notmuch expects it, but the
$NOTMUCH_CONFIG environment variable is kept for backward
compatibility.
2022-02-11 00:04:40 +01:00
Nelson Alex Jeppesen
e2aa1f5986
kitty: add option theme (#2710)
Add Kitty option to install kitty-themes and configure Kitty to use
one of those themes
2022-02-08 11:54:24 -07:00
Naïm Favier
1ca6293c8f
vscode: fix keybindings existence check (#2707)
... and flip immutableExtensionsDir to mutableExtensionsDir
2022-02-07 12:40:59 -05:00
Morgane Austreelis
63dccc4e60
twmn: add module
This module allows to configure and start the twmn daemon.
2022-02-04 01:05:04 +01:00
Tymoteusz Dolega
11c0e5d188
Translate using Weblate (Polish)
Currently translated at 50.0% (7 of 14 strings)

Co-authored-by: Tymoteusz Dolega <tymoteuszdolega@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/pl/
Translation: Home Manager/Home Manager Modules
2022-02-03 23:14:10 +01:00
mainrs
9d369c75ce
man: add package option (#2688)
Closes #2634
2022-02-02 16:35:28 -05:00
Tristan
933b6d97b4
plex-mpv-shim: init service (#2655) 2022-02-02 16:34:19 -05:00
Michael Hoang
184b0154f2
vscode: Add immutable extensions dir option (#2613) 2022-02-02 15:57:11 -05:00
박수원
a52aed72c8
Translate using Weblate (Korean)
Currently translated at 100.0% (14 of 14 strings)

Co-authored-by: 박수원 <bboxone@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ko/
Translation: Home Manager/Home Manager Modules
2022-01-30 22:50:27 +01:00
Weblate
d30f46934d
Add translation using Weblate (Korean)
Co-authored-by: Weblate <noreply@weblate.org>
2022-01-30 22:50:26 +01:00
Naïm Favier
95d39e13a4
bash: use shellDryRun to check scripts
Allows using extglob in initialisation files.
See https://github.com/NixOS/nixpkgs/pull/151371
2022-01-30 19:30:33 +01:00
Jakub Kozłowski
acf824c9ed
sbt: trim output of password command 2022-01-29 00:14:05 +01:00
pinage404
418ae217dd
home-manager.autoUpgrade: add module
Home Manager upgrade service that periodically updates your Nix
channels before running `home-manager switch`.
2022-01-28 23:42:25 +01:00
Joakim Holm
4e92ec84f9
ion: Add module (#2625)
Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>
Co-authored-by: Matthieu Coudron <teto@users.noreply.github.com>
2022-01-27 19:15:45 +01:00
Michael Hoang
aa6261bb96
nix: add module (#2623) 2022-01-27 18:58:25 +01:00
Matthieu Coudron
8d3fe1366b
neovim: support different configuration languages (#2637)
Plugins now accept a "type" element describing the language (viml, lua
, teal, fennel, ...) in which
they are configured.

The configuration of the different plugins is aggregated per language
and made available as a key in the attribute set `programs.neovim.generatedConfigs`

For instance if you want to configure a lua package:

```
programs.neovim.plugins = [
{
plugin = packer-nvim;
type = "lua";
config = ''
    require('packer').init({
    luarocks = {
	python_cmd = 'python' -- Set the python command to use for running hererocks
    },
    })
'';
}
]
```
and you can save the generated lua config to a file via

```
  xdg.configFile = {
    "nvim/init.generated.lua".text = config.programs.neovim.generatedConfigs.lua;
  };
```
2022-01-27 16:27:35 +01:00
Robert Helgesson
24ed6e6d4d
syncthing: add cfg variable for convenience 2022-01-27 00:33:46 +01:00
Robert Helgesson
86248a2d5c
syncthing: add option extraOptions
Fixes #2598
2022-01-27 00:33:45 +01:00
Daniel Wagenknecht
cbc176010b
kodi: add module
Kodi is a media center software.
2022-01-26 23:56:25 +01:00
polykernel
93b52ce0bd
chromium: add commandLineArgs option
- Add support for command line arguments, this allows arguments to be
  persistently set if needed (i.e workaround hardware bugs or enabling
  certain flags).
- Document setting a custom package will nullify the `commandLineArgs`
  option.
- Fix `mkRemovedOption` assertion from being apply even when the
  `extensions` option is unused for google chrome modules.
2022-01-26 22:34:19 +01:00
pacien
990ca662c4
unison: fix option example
Pairs are named attribute sets. One level was missing.

Fixes #2662
2022-01-25 23:54:40 +01:00
Mr Hedgehog
462d4a7abd
atuin: add fish integration 2022-01-25 00:21:31 +01:00
Robert Helgesson
192675b149
docs: fix a few stray periods 2022-01-25 00:10:25 +01:00
Kirill Elagin
c47c350f65
pandoc: add new module
Add a module for pandoc that provides the following:

1. Setting default configuration options.
2. Installing templates.
3. Installing citation styles.
2022-01-22 21:16:50 +01:00
Carlos Lobo
e622c5d836
tint2: add module 2022-01-22 18:09:15 +01:00
amesgen
54b8b13a9b
timidity: add module 2022-01-22 16:46:16 +01:00
polykernel
d469b9bf8a
watson: add module
Watson is a CLI for tracking your time.

Two unit tests were added to validate the module behavior for an empty
configuration and the example configuration.
2022-01-22 16:12:34 +01:00
Philipp Mildenberger
32da35f65b
helix: add module 2022-01-22 15:42:49 +01:00
mainrs
c491331718
Translate using Weblate (German)
Currently translated at 92.8% (13 of 14 strings)

Co-authored-by: mainrs <github619064@zerotask.net>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/de/
Translation: Home Manager/Home Manager Modules
2022-01-18 00:44:25 +01:00
Weblate
eccd704756
Add translation using Weblate (Portuguese (Brazil))
Add translation using Weblate (German)

Co-authored-by: Weblate <noreply@weblate.org>
2022-01-18 00:44:25 +01:00
Naïm Favier
8cf13abffc
bspwm: set _JAVA_AWT_WM_NONREPARENTING in xsession.profileExtra (#2645)
Otherwise the fix doesn't affect applications launched via sxhkd.
2022-01-17 18:44:20 -05:00
Nicolas Berbiche
b59752b9ff
rofi: add finalPackage option (#2649)
This makes it possible to use the customized rofi binary in Sway keybindings for instance.
2022-01-17 18:21:40 -05:00
Nicolas Berbiche
9bceb8292e
waybar: fix deprecated "modules" setting check (#2646)
- The check did not account the default value of `settings.modules` to be `{}`.
  The default value was changed to null.

- The `settings.modules` option is now hidden from the docs.
2022-01-17 16:38:22 -05:00
Hubert Jasudowicz
60d2c9660b
rbw: Fix a typo (#2648) 2022-01-17 16:37:46 -05:00
Subin Kim
a69f3e9b03
kime: Fix kime systemd service broken (#2621)
* kime: Fix kime systemd service
* kime: Add test case
* kime: Add test stub package
2022-01-17 13:53:42 -05:00
Robin Stumm
f71d41ba36
kakoune: fix ui options (#2641)
These were renamed in v2021.08.28,
commit 7e66846172165eb1f860f26f51f7a20790b0af29.
2022-01-16 19:39:41 -05:00
Zsolt Szende
94281669fd
Add programs.fish.interactiveShellInit to direnv (#2614) 2022-01-16 19:13:32 -05:00
Roch D'Amour
986cf41b3b
kitty: Allow package to be configurable (#2640) 2022-01-16 18:19:32 -05:00
Florian Klink
46bba772f2
modules/misc/news.nix: fix instructions (#2643)
The gnome3.dconf alias doesn't exist anymore, it's now in pkgs.dconf
directly.
2022-01-16 17:31:04 -05:00
6KHCPCPO
85f13acb81
Translate using Weblate (French)
Currently translated at 100.0% (14 of 14 strings)

Co-authored-by: 6KHCPCPO <lxh43qf2b@relay.firefox.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/fr/
Translation: Home Manager/Home Manager Modules
2022-01-12 23:55:19 +01:00
Mauricio Scheffer
8a431023c0
Translate using Weblate (Spanish)
Currently translated at 100.0% (14 of 14 strings)

Translate using Weblate (Spanish)

Currently translated at 100.0% (32 of 32 strings)

Translate using Weblate (Spanish)

Currently translated at 57.1% (8 of 14 strings)

Co-authored-by: Mauricio Scheffer <mauricioscheffer@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/es/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/es/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2022-01-11 22:45:33 +01:00
Nicolas Berbiche
5209ea0d8c
skim: use cfg.package in shell integrations 2022-01-11 16:44:57 +01:00
Kirill Elagin
204f9808d3
sagemath: add module 2022-01-11 14:38:02 +01:00
rcerc
f3be3cda6a
services/emacs: add option to set emacsclient as the default editor (#2545)
* services/emacs: add `defaultEditor` option

Sets `emacsclient` as the default editor using the `EDITOR` environment variable.
2022-01-10 02:17:13 -05:00
Naïm Favier
05d655146b
rofi: allow extending themes (#2571)
Move @import and @theme directives to the top of custom theme
definitions so as to allow extending other themes.
2022-01-09 17:15:24 -05:00
Olli Helenius
a90ddcd627
skim: add package option (#2619)
Fixes #2618
2022-01-08 22:53:49 -05:00
ethinx
2989c0f6b2
Translate using Weblate (Chinese (Simplified))
Currently translated at 50.0% (7 of 14 strings)

Co-authored-by: ethinx <eth2net@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/zh_Hans/
Translation: Home Manager/Home Manager Modules
2022-01-06 09:29:33 +01:00
Allan Nordhøy
a2307ff6f3
Translate using Weblate (Norwegian Bokmål)
Currently translated at 85.7% (12 of 14 strings)

Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/nb_NO/
Translation: Home Manager/Home Manager Modules
2022-01-06 09:29:33 +01:00
Robert Helgesson
65434ef33c
Translate using Weblate (Swedish)
Currently translated at 100.0% (14 of 14 strings)

Co-authored-by: Robert Helgesson <robert@rycee.net>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/sv/
Translation: Home Manager/Home Manager Modules
2022-01-06 09:29:33 +01:00
Hosted Weblate
95823b5639
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2022-01-06 09:29:33 +01:00
Weblate
a726f7e3e8
Add translation using Weblate (Spanish)
Co-authored-by: Weblate <noreply@weblate.org>
2022-01-06 09:29:33 +01:00
Robert Helgesson
5fb55d51e2
swayidle: fix option documentation 2022-01-06 09:22:42 +01:00
cwyc
426ab2cf11
xdg-desktop-entries: reflect changes in makeDesktopItem API (#2496)
Based on nixpkgs commit c4b3aa62608d592d8a983be685f7e82000f4de30
stringBool is not needed because makeDesktopItem handles converting boolean parameters to string,
and noDisplay and prefersNonDefaultGPU parameters have been added.
2022-01-04 22:58:20 -05:00
Jos van Bakel
65e5b835a9
swayidle: add module (#2610)
Swayidle is an idle management daemon for Wayland. This modules adds support for
running swayidle as a SystemD user unit and makes it configurable through
home-manager.
2022-01-03 12:03:20 -07:00
Robert Helgesson
8e7a10602d
treewide: make a few more strings translatable 2022-01-02 11:56:52 +01:00
Tobias Happ
c2f151258a
bash: remove unnecessary shebang and executable bit for dotfiles (#2599) 2022-01-01 10:06:55 -07:00
Olmo Kramer
89bdef7994
herbstluftwm: init module 2021-12-31 10:44:08 +01:00
Tomasz Czyż
cc3b979893
Translate using Weblate (Polish)
Currently translated at 100.0% (6 of 6 strings)

Translate using Weblate (Polish)

Currently translated at 100.0% (32 of 32 strings)

Add translation using Weblate (Polish)

Co-authored-by: Tomasz Czyż <tomasz.czyz@eskapizm.pl>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/pl/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/pl/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2021-12-29 10:40:19 +01:00
WhiredPlanck
a5dcd2ac0a
Translate using Weblate (Chinese (Traditional))
Currently translated at 100.0% (6 of 6 strings)

Translate using Weblate (Chinese (Traditional))

Currently translated at 100.0% (32 of 32 strings)

Translate using Weblate (Chinese (Simplified))

Currently translated at 100.0% (6 of 6 strings)

Translate using Weblate (Chinese (Simplified))

Currently translated at 100.0% (6 of 6 strings)

Co-authored-by: WhiredPlanck <fungdaat31@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/zh_Hant/
Translation: Home Manager/Home Manager CLI
Translation: Home Manager/Home Manager Modules
2021-12-29 10:40:19 +01:00
Weblate
3d86640269
Add translation using Weblate (Polish)
Add translation using Weblate (Chinese (Traditional))

Add translation using Weblate (Chinese (Simplified))

Co-authored-by: Weblate <noreply@weblate.org>
2021-12-29 10:40:19 +01:00
Luna Nova
eeafec5103
wlsunset: fix maintainers entry for matrss 2021-12-29 09:51:00 +01:00
Luna Nova
04342bd7a2
trayer: fix maintainers entry for mager 2021-12-29 09:50:59 +01:00
Luna Nova
c24c494e69
playerctld: fix maintainers entry for fendse 2021-12-29 09:50:59 +01:00
Luna Nova
907e63250a
pasystray, status-notifier-watcher: fix maintainers entry for pltanton 2021-12-29 09:50:58 +01:00
Luna Nova
eb4a1ad68f
kanshi: fix maintainers entry for nurelin 2021-12-29 09:50:57 +01:00
Luna Nova
7a0a7d6427
xmobar: fix maintainers entry for t4ccer 2021-12-29 09:50:56 +01:00
Luna Nova
6b1f56407b
ncmpcpp: fix maintainers entry for olmokramer 2021-12-29 09:50:55 +01:00
Luna Nova
87d0fed9bc
htop: fix maintainers entry for bjpbakker 2021-12-29 09:50:54 +01:00
Luna Nova
a95fd897f2
hexchat: remove superherointj as maintainer
Mirroring https://github.com/NixOS/nixpkgs/pull/144319
2021-12-29 09:50:53 +01:00
Luna Nova
b1b55c983f
lazygit: fix kalhuage maintainers reference 2021-12-29 09:50:52 +01:00
Luna Nova
5705ba1366
exa: fix kalhauge maintainers reference 2021-12-29 09:50:51 +01:00
Luna Nova
ec79a7d830
broot: fix aheaume entry in maintainers 2021-12-29 09:50:51 +01:00
Luna Nova
bad529983e
xdg-desktop-entries: fix reference to maintainer cwyc 2021-12-29 09:50:50 +01:00
Tim Haering
c9dbe2847e
alacritty: correct example config link
Since the repository was moved, the old link was pointing nowhere.
2021-12-29 09:39:42 +01:00
Robert Helgesson
0b197562ab
treewide: use remove when possible
See https://github.com/nix-community/home-manager/pull/2566.
2021-12-27 09:03:18 +01:00
Luna Nova
48f2b381dd
dconf: remove gnidorah from maintainers/CODEOWNERS (#2586)
gnidorah has been removed from the maintainers list in nixpkgs
https://github.com/NixOS/nixpkgs/pull/121119
2021-12-25 00:28:37 -07:00
Mikhail Chekan
3b5ebdefd8
Translate using Weblate (Russian)
Currently translated at 100.0% (6 of 6 strings)

Co-authored-by: Mikhail Chekan <chekoopa@mail.ru>
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/ru/
Translation: Home Manager/Home Manager Modules
2021-12-23 23:00:35 +01:00
Weblate
76c50cecf8
Add translation using Weblate (Russian)
Co-authored-by: Weblate <noreply@weblate.org>
2021-12-23 23:00:35 +01:00
Nicolas Berbiche
f15b151ca1
waybar: configurable systemd WantedBy target (#2524)
Before this commit, a user needed to override the systemd target that
would start Waybar with `mkForce`, this is no longer necessary.
2021-12-23 17:00:31 -05:00
ckie
3b9c625b64
xsession: add xplugd service to accompany setxkbmap (#2450)
This fixes #1638; xplugd will restart setxkbmap if a new keyboard is
plugged in to ensure it is also configured correctly.
2021-12-23 15:38:44 -05:00
Jakob Leifhelm
1b03a8ab7a
direnv: add troubleshooting to fish integration 2021-12-21 23:43:06 +01:00
Lorenzo Manacorda
02426bb52f
systembus-notify: add module 2021-12-21 23:35:56 +01:00
Jonas Heinrich
7ec50b1f77
gtk: add support for GTK4 configuration 2021-12-21 20:44:55 +01:00
Bruno Inec
3db6036775
waybar: allow using attrs for settings (#2547)
Co-authored-by: Bruno Inec <binec@scaleway.com>
2021-12-19 00:21:15 -05:00
Hosted Weblate
25e5a900de
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Home Manager/Home Manager CLI
Translate-URL: https://hosted.weblate.org/projects/home-manager/cli/
2021-12-16 20:45:31 +01:00
Vincent Haupert
d8f9dcfbd3
pam: add yubico option
Write YubiKey token IDs in the format yubico_pam expects. See
https://developers.yubico.com/yubico-pam/ for details. Also refer to
the NixOS option security.pam.services.<name>.yubicoAuth.

Closes #2502
2021-12-16 19:46:47 +01:00
Naïm Favier
78aa7cceff
gpg: allow specifying trust levels by name 2021-12-16 19:06:39 +01:00
J. Lavoie
4108989d19
Translate using Weblate (French)
Currently translated at 100.0% (6 of 6 strings)

Translation: Home Manager/Home Manager Modules
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/fr/
2021-12-16 09:56:08 +01:00
Sumner Evans
42ba7b6304
sway: add 'xwayland disable' to sway config if disabled (#2568)
Closes #2567
2021-12-16 01:56:02 -07:00
Nick Hu
c61fc1c288
xmonad: add support for v0.17.0 (#2522) 2021-12-14 13:23:07 -05:00
Weblate
c1677de31a
Add translation using Weblate (French) 2021-12-14 07:56:24 +01:00
Allan Nordhøy
0c6180c714
Translate using Weblate (Norwegian Bokmål)
Currently translated at 83.3% (5 of 6 strings)

Translation: Home Manager/Home Manager Modules
Translate-URL: https://hosted.weblate.org/projects/home-manager/modules/nb_NO/
2021-12-13 22:29:47 +01:00
Allan Nordhøy
0422d1f87f
Add translation using Weblate (Norwegian Bokmål) 2021-12-13 22:29:12 +01:00
Robert Helgesson
9bcad20013
home-manager: add basic i18n support
The support for translated strings is, for now, limited to strings
generated in Bash code.
2021-12-13 21:47:28 +01:00
Jonas Heinrich
3d46c011d2
opensnitch-ui: add module 2021-12-12 18:10:10 +01:00
Mario Rodas
543484d298
navi: don't install widget on limited terminals
Otherwise we get the following warning for terminals with limited
capabilities:

    bash: bind: warning: line editing not enabled
2021-12-12 17:59:30 +01:00
Peter Jones
0ebed30a10
gromit-mpx: add module 2021-12-11 19:17:59 +01:00
Mario Rodas
6fe3b539e0
navi: add module 2021-12-11 12:55:29 +01:00
Mario Rodas
fa73c3167e
sqls: add module
sqls is a SQL language server written in Go.
See: https://github.com/lighttiger2505/sqls
2021-12-11 00:21:49 +01:00
polykernel
c7592b747b
treewide: prefer XDG variables over dot directories
Currently, dot directories and XDG base directories are used
inconsistently in the Home Manager option declarations. This creates
ambiguity for the user as to where the location of the file should be
albeit this is rarely encountered in practice as it is sufficient to
read upstream documentation. The rationale is to make declarations
consistent and make a clear distinction between hardcoded and modular
specifications.

References to ~/.config in relevant nixpkgs modules were untouched as
the location is hardcoded upstream[1]. Furthermore, modules of
programs which do not follow XDG specifications were also untouched.

Generalization of tilde(~) expansions to $HOME were also considered,
however there isn't sufficient rationale despite the use of $HOME
being more universal. The expansion is standardized in POSIX[2] and is
essentially portable across all shells, thus there is no pragmatic
value to introducing the change.

[1] https://github.com/nixos/nixpkgs/blob/master/pkgs/top-level/impure.nix
[2] https://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_01
2021-12-10 23:51:44 +01:00
Bruno BELANYI
829e89a16f
less: store 'lesskey' under XDG_CONFIG_HOME
Less clutter in the $HOME.
2021-12-08 11:23:56 +01:00
oxalica
736581f113
gpg-agent: rewrite hash algo in Nix to avoid IFD 2021-12-08 00:01:29 +01:00
Ryan Burns
781d25b315
Replace pkgs.hostPlatform by pkgs.stdenv.hostPlatform
We are attempting to deprecate these top-level attributes in upstream
Nixpkgs.

See also bc0acdad8c.
2021-12-03 23:36:50 +01:00
Nicolas Berbiche
1aaa1a033b
docs: add note about Waybar modules 2021-12-03 18:57:59 +01:00
Benoit Louy
f46972e466
powerline-go: add support for -modules-right
Add modulesRight setting to instruct powerline-go to configure right
side prompt. Use eval mode when this setting is set.
2021-12-03 17:58:03 +01:00
midchildan
fbb80207f3
darwin: add midchildan to maintainers 2021-12-02 23:39:08 +01:00
midchildan
0d58582887
darwin: keep the options for the "defaults" system up-to-date
- update the option names for toggling Safari's developer menu
- deprecate com.apple.menuextra.battery.ShowPercent
2021-12-02 23:39:07 +01:00
Benjamin Orthen
de54d513c7
firefox: create user.js when only bookmarks are specified in config (issue #2492) (#2521)
Previously, home-manager would not create a user.js for a certain
profile if profile.bookmarks was not empty but
profile.settings was empty and profile.extraConfig was an
empty string.
2021-12-01 22:21:41 -05:00
Pamplemousse
f23073f1da
less: allow customization
Signed-off-by: Pamplemousse <xav.maso@gmail.com>
2021-11-30 23:28:32 +01:00
Nicolas Berbiche
7c320a5325
waybar: make module a freeform module, remove warnings
The `style` option now also accepts a path instead of a text
configuration.

Keeping up with new Waybar options is annoying, so make the module a
freeform module.

The `modules` option will be removed in release 22.05.

The logic to generate warnings for modules and everything was
removed. I don't want to maintain the code that generates these
warnings anymore.
2021-11-29 20:52:06 -05:00
Lily Foster
3ec7f6fb43
rofi: fix theme definition in configuration for 1.7.0+ (#2513)
Since Rofi 1.7.1 (specifically davatorium/rofi@0e70d8a), the deprecated
`theme` option in the `configuration` section no longer works. For 1.7.0
and up, `@theme "name"` is supposed to be used *after* the
`configuration` block.
2021-11-28 15:07:46 -05:00
Miles Breslin
ea1794a798
gpg: support declarative trust and public keys
PR #810
2021-11-26 09:02:36 +01:00
Robert Helgesson
579f2e8beb
Switch to 22.05 as current development release 2021-11-25 22:29:49 +01:00
Robert Helgesson
dc2a4e4146
Switch to 21.11 as stable release 2021-11-25 22:22:26 +01:00
Robert Helgesson
c27c8f49c0
taskwarrior: clean up news entry 2021-11-25 08:32:19 +01:00
Naïm Favier
e28185a2c0
vscode: avoid unnecessary IFD (#2506) 2021-11-24 20:55:38 -05:00
oxalica
df931a59a5
taskwarrior: change config file location and use relative theme paths (#2455)
After taskwarrior 2.6.0, its default config file now locates at
`$XDG_CONFIG_HOME/task/taskrc`, and builtin themes can be included
via relative paths.
2021-11-23 21:33:03 -05:00
Tobias Happ
c2aa831491
systemd: do not install systemd files when user is root (#2454)
For the user root, there are no user services provided by systemd.
Therefore, these files will never be used.
2021-11-23 01:06:43 -05:00
polykernel
15ae861e1b
swaynag: add module
Swaynag is a replacement of i3-nag for sway. Swaynag is embedded in
Sway's build process albeit it is not an integral part of Sway,
therefore it has been added under `wayland.windowManager.sway` instead
of `programs`. It can be moved at a later time if necessary.

Two unit tests were added validate the module behavior for an empty
configuration and the example configuration.
2021-11-21 18:37:50 +01:00
polykernel
1abd311eef
fnott: add polykernel as maintainer 2021-11-21 08:59:46 +01:00
oxalica
c82bc787b8
xdg: fix typo and add test 2021-11-20 09:47:27 +01:00
Sebastian Sellmeier
8a16d62e95
flameshot: extend module with package-option 2021-11-20 09:37:34 +01:00
Robert Helgesson
8230decb3f
home-environment: make home.profileDirectory public
This option has been stable for a long time and may be generally
useful.
2021-11-19 23:58:22 +01:00
Mmequignon
d85bf67c48
pet: fix settings format issue
Before it was not possible to place setting values outside the
`General` section.
2021-11-17 23:42:21 +01:00
Tobias Happ
5559ef0023
ssh: add includes option (#2453) 2021-11-16 11:51:10 -07:00
arcnmx
42915b78af
lieer: use configured package in service (#2480) 2021-11-16 10:38:36 -07:00
Damien Cassou
05a3116091
offlineimap: Fix for OfflineIMAP 8 (#2479)
Nixpkgs switched to OfflineIMAP version 8 which means that Python 3 is
now used instead of Python 2. As a result, get_pass() now returns a
byte array instead of a string and the argument to get_pass() must be
a byte array too. See
https://github.com/OfflineIMAP/offlineimap3/issues/103.
2021-11-16 10:31:01 -07:00
arcnmx
a7c5b00d44
polybar: use recursive config type (#2235)
Allow merging of lists and attrsets
2021-11-15 16:00:45 -05:00
Jack McCown
f7a37ad0b6
email: add fastmail.com email flavor (#2457) 2021-11-14 00:07:23 +01:00
Robert Helgesson
be1ad30503
Remove remaining allowSubstitutes = false
See, e.g., https://github.com/NixOS/nix/issues/4442 for wider
discussions.
2021-11-12 23:24:08 +01:00
Bernardo Meurer
1e5c8e9bff
direnv.nix-direnv: remove enableFlakes (#2458)
Since https://github.com/NixOS/nixpkgs/pull/144197 flake support is
always available. The upstream `enableFlakes` option is scheduled to be
removed altogether in https://github.com/NixOS/nixpkgs/pull/145236
2021-11-09 23:59:40 -05:00
Robert Helgesson
7f416c9e2f
home: use literalExpression 2021-11-07 09:10:57 +01:00
oberblastmeister
f6f013f764
home: shell agnostic aliases (#2347) 2021-11-06 10:10:15 -06:00
oxalica
70c5b268e1
xdg: add option 'xdg.stateHome' (#2439)
It corresponds to the newly introduced `XDG_STATE_HOME`.
2021-11-04 17:42:44 +01:00
flexagoon
288faaa5a6
programs.zsh.zplug: add zplugHome option
Add an option to set custom `$ZPLUG_HOME`. Changing it with
`home.sessionVariables` doesnt work, since it has to be exported
before Zplug is initialised
2021-11-02 08:49:47 +01:00
Joscha
21590d40c1
home-environment: document escaping of home.sessionPath 2021-11-02 00:08:57 +01:00
Nicolas Berbiche
2e1a5b53ec
xsession: don't reset the inherited keyboard options
If the keyboard configuration is an empty set, don't run the setxkbmap
service.

The default values for all keyboard options are null or empty so long
as the state version is set to 19.09 or higher (21.05 being the latest
version).
2021-11-01 22:42:47 +01:00
Bart Bakker
7523252f97
htop: fix order or header_columns setting (#2435)
When `header_columns` is in settings it must appear before any of the
`column_meters_*` options.

Fixes 2426.
2021-11-01 15:27:29 -04:00
Robert Helgesson
275f955db9
irssi: format using nixfmt 2021-10-31 10:32:58 +01:00
Robert Helgesson
34327e067f
tmux: format using nixfmt 2021-10-31 10:24:01 +01:00
Thiago Kenji Okada
3ccddfc48d
lib: remove top-level with lib 2021-10-31 08:50:53 +01:00
Thiago Kenji Okada
7e30aec282
hexchat: simplify theme example 2021-10-30 19:39:59 +02:00
Smaug123
bb72555852
files: quote cmp file arguments
Before this change, a warning would be printed to the console if you
tried to manage a file in a path containing a space. For example,
`vscodium`'s `userSettings` file on Darwin is at
`~/Library/Application Support/VSCodium/User/settings.json`.
2021-10-30 19:15:34 +02:00
Edmund Wu
bc0acdad8c
modules/modules.nix: pkgs.system -> pkgs.stdenv.hostPlatform.system (#2419) 2021-10-29 09:50:50 -06:00
betaboon
cf4866d218
powerline-go: fix regression introduced by #2231 (#2421) 2021-10-28 22:09:20 -04:00
Nicolas Berbiche
158bc59398
vscode: allow argument for keybind to any json value (#2418) 2021-10-27 22:13:54 -06:00
Kid
9282dbc1fa
fish: remove promptInit in favor of interactiveShellInit (#2231)
* fish: remove `promptInit` in favor of `interactiveShellInit`

* Oops

* starship: replace `promptInit` with `interactiveShellInit`

* autojump: replace `promptInit` with `interactiveShellInit`

* Add `mkRemovedOptionModule` for `programs.fish.promptInit`
2021-10-27 16:40:39 -06:00
polykernel
46a69810cb
fnott: remove global properties generation
Rationale:

As of release 1.1.2[1], the configuration ini file supports
declaration of the `[main]` header as an alternative to global
properties by enumerating all sections and mapping each to the
respective parsing function. Global properties will still be parsed
correctly by fnott however generation adds unnecessary complexity to
the module. This commit removes the need for global properties
generation.

Changes:

- Fixed the FIXME at L118.

- Cleaned up unneeded let bindings.

- Changed the generation method to use the `pkgs.formats.ini` from
  pkgs-lib instead of the raw `generators` library. This was done for
  consistency and clarity as the `pkgs.formats.ini` is still required
  for type declaration and uses `generators` internally.

- Removed `global-properties` testcase.

- Updated `example-settings` testcase.

[1] - https://codeberg.org/dnkl/fnott/releases/tag/1.1.2
2021-10-27 00:01:57 +02:00
leifhelm
da8a78eec9
hexchat: Replace literalExample with literalExpression (#2410) 2021-10-24 20:59:22 -04:00
superherointj
406eeec0b9
hexchat: add module
Review and contributions from Thiago Kenji Okada
<thiagokokada@gmail.com>.

Co-authored-by: Thiago Kenji Okada <thiagokokada@gmail.com>
Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>
Co-authored-by: Sumner Evans <me@sumnerevans.com>
2021-10-23 21:31:54 +02:00
Anselm Schüler
cfe82d9f44
gh: support gh as git credential manager for github.com
Co-authored-by: Sumner Evans <me@sumnerevans.com>
2021-10-21 23:20:25 +02:00
Robert Helgesson
3e4fedc1d9
direnv: make fish enable flag read-only
We cannot disable direnv for Fish since the functionality is
automatically loaded when the package is installed.

Fixes #2357
2021-10-21 22:18:50 +02:00
Thiago Kenji Okada
91155a98ed
htop: add package option (#2407) 2021-10-20 09:22:17 -06:00
Robert Helgesson
5961c64e03
imapnotify: add extraConfig account option 2021-10-18 09:45:23 +02:00
Robert Helgesson
0d110a0936
imapnotify: only write onNew* if a value is available 2021-10-18 09:45:22 +02:00
Thiago Kenji Okada
223a4a17a4
nixpkgs-disabled: add module
This commit introduces the `nixpkgs-disabled` module, that is
basically a mock of `nixpkgs` module where any value different from
`null` will cause an assertion error.

This is to help debugging cases where `home-manager.useGlobalPkgs` is
set to `true` and `nixpkgs.*` options are being used.

Nowadays this returns the following error:

```
error: The option `home-manager.users.<user>.nixpkgs` does not exist.
```

This will change too:

```
error: `nixpkgs` options are disabled when `home-manager.useGlobalPkgs` is enabled.
```

That will direct the user to the correct solution (either removing
`nixpkgs` or disable `home-manager.useGlobalPkgs`).
2021-10-13 23:46:38 +02:00
Thiago Kenji Okada
b88c863b40 modules: remove myself from maintainers.nix
I was already on nixpkgs list, just forgot to remove it from here.
2021-10-13 12:33:52 -03:00
Naïm Favier
bd11e2c5e6
Replace usage of literalExample
Instead use the new function `literalExpression`. See

  https://github.com/NixOS/nixpkgs/pull/136909
2021-10-13 00:16:10 +02:00
Naïm Favier
468c461139
lib: add fallback for literalExpression and literalDocBook 2021-10-13 00:16:09 +02:00
Robert Helgesson
83f5ce2aec
mbsync: add missing literalExample 2021-10-12 23:41:55 +02:00
Robert Helgesson
0b47ded208
flameshot: add settings option 2021-10-11 21:47:05 +02:00
Thiago Kenji Okada
32285d8fe6
rofi: remove options removed from upstream in v1.7.0 2021-10-09 00:45:20 +02:00
Nicolas Berbiche
82c92a18ba
gh: use structural settings (#2339) 2021-10-08 23:29:25 +02:00
Jonas Carpay
d9fe208f3c
z-lua: Add shell aliases to fish (#2376)
z.lua shell aliases are currently only added to bash and zsh, this also
adds them to the fish config
2021-10-06 08:49:56 -06:00
arcnmx
854406680b
vim: add option to specify pkgs.vim_configurable (#2307) 2021-10-06 15:56:06 +02:00
Robert Helgesson
8bbade4b01
fontconfig: only remove directory if it exists 2021-10-06 15:02:34 +02:00
Thiago Kenji Okada
592da767bd
nnn: init (#2368)
nnn is a terminal file manager.

It is configured mostly using environment variables, so the way I
found it to avoid needing to write either shell specific code or
using `home.sessionVariables` (that would need to make the user
relogin at every configuration change) is to wrap the program using
`wrapProgram`.
2021-10-05 19:14:52 -04:00
Robert Helgesson
80d23ee06c
fzf: do shell initialization a bit earlier
This is to better integrate with more advanced shell history managers
like McFly and Atuin. By initializing fzf first, we allow the history
managers to steal the C-r key binding from fzf.
2021-10-06 00:25:43 +02:00
Robert Helgesson
af2007bb77
atuin: add module
This commit adds a module for configuring atuin, a replacement shell
history program.

The module adds options for generating atuin's `config.toml` from Nix,
and options to enable atuin's integration for bash and zsh
(which will rebind history keys to open the atuin history).
2021-10-05 23:48:52 +02:00
Robert Helgesson
1719495bdf
screen-locker: make news entry conditional 2021-10-05 22:31:41 +02:00
Josh Robson Chase
e4df31dcea
screen-locker: Make xautolock optional, reorganize options (#2343)
* screen-locker: Make xautolock optional, reorganize options

xautolock isn't really needed to trigger xss-lock on the basis of time
since the built-in screensaver functionality of X serves as one of the
event sources for xss-lock. Keeping it around and defaulting to
"enabled" to avoid unexpected breakage.

Also shuffled around the options to submodules for xss-lock and
xautolock to get rid of prefixes in option names and to make
enableDetectSleep a bit clearer.

* screen-locker: update maintainership

* tests/screen-locker: Stub i3lock and xss-lock

* screen-locker: add package options for xss-lock and xautolock
2021-10-05 12:58:25 -04:00
Kid
9b04ff5e3b
fish: remove superfluous config guard 2021-10-04 20:21:23 +02:00
Robert Helgesson
81ec2aed8a
kitty: make onChange Linux only
Since the `procps` package is Linux specific we have to limit the
`onChange` accordingly.

Fixes #2366
2021-10-04 18:20:04 +02:00
Robert Helgesson
179ce0aacf
fontconfig: use a prettier "real directory" hack 2021-10-03 23:09:19 +02:00
Emil Karlson
e0a87d75e9
firefox: add bookmarks support
Generate bookmarks html file and hook it up in user.js.
2021-10-03 12:16:40 +02:00
Faye Duxovni
095f3e32ae
kanshi: allow multiple exec statements per profile
kanshi configurations can have more than one exec statement in a
profile. This change allows services.kanshi.profiles.<name>.exec to be
a list of strings rather than a single string.
2021-10-03 09:47:22 +02:00
Naïm Favier
f15cd0f087
gtk: add final newline to bookmarks to avoid conflicts 2021-10-03 09:39:25 +02:00
schotts-fired
0f3dfc94ef
services.emacs: add option extraOptions
This is to allow adding command-line arguments to the Emacs daemon.
Previously only the Emacs client could be started with custom
arguments.
2021-10-02 23:28:22 +02:00
Gabriel Fontes
d5151186ac
waybar: add onChange configuration reload 2021-10-01 11:05:42 -03:00
Gabriel Fontes
8f1d8c2ef1
mako: add onChange configuration reload 2021-10-01 11:05:42 -03:00
Gabriel Fontes
ad05443e04
kitty: add onChange configuration reload 2021-10-01 11:05:16 -03:00
Gabriel Fontes
52e84a040e
xsettingsd: make configurable through module 2021-10-01 01:31:47 +02:00
Marin
959217e51d
astroid: fix maildir paths (#2350)
By maildir spec, emails should be under mailbox/folder/[cur,tmp,new]

This commit changes the default maildir path to more closely match the example config:
https://github.com/astroidmail/astroid/wiki/Configuration-Reference#accountsaccountnamesave_sent_to
2021-09-28 08:16:13 -06:00
Robert Helgesson
eee807560b
dbus: improve recommended NixOS configuration
Specifically, instead of

    services.dbus.packages = with pkgs; [ gnome.dconf ];

we now recommend

    programs.dconf.enable = true;

which does the same and more.
2021-09-23 22:35:30 +02:00
Robert Helgesson
58aa667e28
starship: initialize using command in profile
Fixes #2316
2021-09-21 22:37:31 +02:00
Jakub Kozłowski
821299e90e
sbt: run passwordCommand without trailing newline 2021-09-21 22:16:34 +02:00
polykernel
7cb118c9d2
xdg: coerce XDG base directories settings to strings
Currently, when a custom path is set for any of the XDG base
directories (i.e XDG_DATA_HOME, XDG_CONFIG_HOME, ...), the path will
be coerced into a string when consumed by other options such as
xdg.configFile et al. This causes the the given path to be copied to
the nix store which in the case of xdg.configFile et al, translate to
the file being written there as it is a absolute path.

Interestingly, the default base directories all work as intended as
they are encoded as a string.

This commit converts the option to a string regardless of whether it
is a primitive path or a string encoded path. This allows downstream
consumers to use the base directories in arbitrary way without
accidentally copying the content of the directory to the store. It is
implemented in a similar manner as how home.homeDirectory undergoes
string conversion.

The existing file-attr-name test was modified to test also custom xdg
base directories, and the home.file generation test was removed as
there is a dedicated test for this case in the files module. The test
case was renamed to file-gen to better reflect the new scope.
2021-09-21 21:29:44 +02:00
Naïm Favier
371576cdc2
gpg-agent: remove unnecessary IFD
Make `gpgconf` only perform an import from derivation when the GPG
`homedir` is set to a non-default value, which probably isn't the case
for most users.
2021-09-15 23:09:02 +02:00
Samuel Ainsworth
562449b503
files: clarify "Please move the above files" message 2021-09-15 00:25:00 +02:00
Tad Fisher
514acaebb9
lieer: change settings to freeform type
Also add missing options.
2021-09-14 23:59:56 +02:00
polykernel
4b964d2f7b
bottom: add module
Bottom is a cross-platform graphical process/system monitor with a
customizable interface and a multitude of features.

Two unit tests were added validate the module behavior for an empty
configuration and the example configuration.
2021-09-14 23:40:21 +02:00
Robert Helgesson
2cfea84e6f
modules: fix list sorting 2021-09-14 23:14:41 +02:00
Renee Margaret McConahy
208e310e94
bash: allow unsetting shell options 2021-09-13 00:19:17 +02:00
polykernel
039f786e60
fnott: refactor module
- Change generation behavior to always generate a configuration file
  and pass it explicitly to fnott, it enforces the module to be
  hermetic instead of offloading the configuration selection to
  heuristics.
- Various style changes.
- Fix issue where fnott would abort due to an invalid config file when
  both the configFile and settings options are unset.
- Remove the empty-settings test as a configuration file is now
  already generated.

Suggested-by: Robert Helgesson <robert@rycee.net>
2021-09-08 22:48:44 +02:00
Colin Summers
275f39611d
generic-linux: add system fpaths for zsh
PR #2013
2021-09-07 23:47:49 +02:00
Robert Helgesson
0dab813748
betterlockscreen: limit to platform linux 2021-09-07 07:55:17 +02:00
Basti
5e46262cb1
betterlockscreen: add module (#2292) 2021-09-05 19:00:28 -06:00
Seth Etter
21a2ff4496
broot: expose modal option (#2300)
* broot: expose modal option

* broot: add basic test

* Use `mkEnableOption`
2021-08-31 10:52:20 -06:00
Mario Rodas
61ca2fc1c0
mcfly: switch to init command (#2301)
mcfly migrated its initialization method to a subcomand called `init`,
which available since mcfly 0.5.4 released on Feb 28, 2021.
2021-08-29 23:42:54 -04:00
Jason Felice
33db7cc6a6
kitty: add environment and darwinLaunchOptions options (#2280)
* kitty: add environment option

* kitty: add darwinLaunchOptions option

See https://sw.kovidgoyal.net/kitty/faq/#how-do-i-specify-command-line-options-for-kitty-on-macos

* kitty: only allow darwinLaunchOptions on darwin

* kitty: make expression shorter

* kitty: fix assertion message
2021-08-26 22:08:34 -04:00
polykernel
521a03d8bf
fnott: add module
Fnott is a keyboard driven and lightweight Wayland notification daemon
for wlroots-based compositors.

There are four unit test to validate behavior for an empty
configuration, the default configuration, global properties and
systemd service file generation.
2021-08-26 08:43:39 +02:00
Michael Adler
2cf19d1d98
neomutt: configurable package (#2294)
This makes it possible to easily use a different (e.g. more recent or
patched) neomutt package.

Co-authored-by: Michael Adler <therisen06@gmail.com>
2021-08-24 13:34:52 -06:00
Sandro
9029fd2b9d
service/window-manager/awesome: replace not existing package (#2293)
See https://github.com/NixOS/nixpkgs/pull/135117
2021-08-23 08:39:42 -06:00
Nicolas Berbiche
c5b3069145
i3/sway: allow empty criterias using a value of 'true' (#2277)
Co-authored-by: Sumner Evans <me@sumnerevans.com>
2021-08-21 20:41:06 -04:00
John Ericson
4367119ca3
local gpg-agent acting as ssh-agent should yield (#667) (#2253)
* gpg-agent: local agent acting as ssh-agent should yield

This happens commonly if someone using home manager with gpg-agent
acting as ssh-agent on both machines.

@rycee brought up how gpg-itself has some support for agents on both
ends, but in that case one is forwarding the gpg-agent socket rather
than forwardning the gpg-agent-as-ssh-agent socket. There is no need to
forward both.

So I think this is a good default:

 - Forward just gpg-agent socket and this doesn't matter.

 - Forward just the ssh-agent socket and this does the right thing.

 - Forward both sockets and now the ssh one takes priority instead, but
   forwarding both was always a silly thing to do.

Fix #667

* Update modules/services/gpg-agent.nix

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

Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>
2021-08-21 01:43:41 -04:00
Jan van Brügge
bf6b85136b
neomutt: Allow named mailboxes (#2212)
At the moment, only the inbox of each mail account is added to neomutt.
This inbox is always called "Inbox", so if you configure multiple
accounts, it is hard to know which one is which.

This change allows the user to specify a display name per account that
uses `named-mailboxes` under the hood.

Additionally this change now allows to add other folders than the inbox,
for example the Trash, Spam or Drafts folders to be added on a per-account
basis. Using extraOptions is not possible here, as those are lazily
loaded on mailbox open and thus would appear at the bottom and not sorted
by account.

This commit also changes the default sidebar format string to use %D
instead of %B because %B will ignore named mailboxes and show the folder
name instead.
2021-08-19 00:33:53 -04:00
Kid
49a03303e1
fish: provide different examples 2021-08-18 23:51:33 +02:00
Ivan Kovnatsky
a5c609b4b1
sway: workspaceLayout: stacked -> stacking (#2272) 2021-08-17 22:58:03 -04:00
Vonfry
ec260995e2
xsession: set default value of windowManager.command to handle display manager parameter (#2123)
Co-authored-by: Nicolas Berbiche <nicolas@normie.dev>
2021-08-17 21:44:23 -04:00
Nicholas Coltharp
72394f6d6b
fluidsynth: add sound service option
Fluidsynth's systemd unit currently has a hard dependency on the
pulseaudio systemd service. Since fluidsynth can use other sound
services (e.g., pipewire-pulse), this should be configurable. This
commit adds the relevant option.

PR #2238
2021-08-18 00:38:29 +02:00
Naïm Favier
5569770d1e
files: move dry run logic out of onChange hooks
Fixes #751
2021-08-17 22:14:32 +02:00
Luka T. Korošec
8d68dbd144
doc: Add an example for a git includes section (#2275)
This adds an example for the `programs.git.includes.*.contents` section
since it was a bit ambiguous as to what kind of format it expects.
2021-08-17 16:12:00 -04:00
Robert Helgesson
7ef3db3730
docs: rename "doc" directory to "docs"
Also remove `CONTRIBUTING.adoc` and `FAQ.adoc` from project root since
GitHub knows to pick them up from the docs directory.

Fixes #2273
2021-08-17 19:35:11 +02:00
Ivan Malison
ad0fc085c7
git-sync: add module 2021-08-17 00:00:38 +02:00
Bart Bakker
e60dca7bb3
htop: fix htoprc when fields is not explicitly set
When the 'fields' setting is not set in htoprc, the htop program won't read any
of the settings. Provide a default value for fields in case it's not explicitly
set by the user.
2021-08-16 23:20:32 +02:00
Bart Bakker
447f80f676
htop: verify htoprc contents for example settings test
Fix ending the generated htoprc with a newline.
2021-08-16 23:20:31 +02:00
Bart Bakker
e4553546cc
htop: let htop program use its default settings
Don't generate the `htoprc` when using default settings to use the defaults of
the htop program.

Rename the test for this case to 'empty-settings'.
2021-08-16 23:20:31 +02:00
Bart Bakker
7226c2db46
htop: add self as maintainer 2021-08-16 23:20:30 +02:00
Bart Bakker
6eb88173e9
htop: remove deprecated options and definitions 2021-08-16 23:20:29 +02:00
Robert Helgesson
72f3bc6fa4
flameshot: add some service sandboxing 2021-08-14 15:13:31 +02:00
Robert Helgesson
654d82f888
syncthing: add more service sandboxing 2021-08-14 15:13:27 +02:00
Robert Helgesson
a965b097b1
lib.gvariant: fix rendering of empty non-string arrays
Before, empty arrays would always be rendered as an empty string
array.
2021-08-13 08:52:13 +02:00
Robert Helgesson
3d93e1e802
bat: support list settings and shell escaping
Fixes #2262
2021-08-12 21:29:14 +02:00
Robert Helgesson
604561ba9a
lib.gvariant: escape newlines in strings
See #2096
2021-08-11 23:30:24 +02:00
Mihai Fufezan
c049a09d1a
easyeffects: add module (#2182)
* pulseeffects: change default example

pulseeffects-pw is now an alias to easyeffects, and the `pulseeffects` binary
that this module references is no longer in that package.

* easyeffects: add module

The easyeffects service is the PipeWire equivalent of the pulseeffects
service.
2021-08-11 09:21:43 -06:00
Shamrock Lee
a4a8307897
java: add module 2021-08-10 23:30:12 +02:00
Matthew Leach
5515ec99cc
email: allow null certificatesFile
Allow the value of certificatesFile to be null.

Also fixup uses of this variable.

Fixes: #2206
2021-08-10 00:12:13 +02:00
Ivan Malison
2c4234cb79
notify-osd: init (#2240)
Daemon that displays passive pop-up notifications
2021-08-08 20:29:36 -04:00
Ctem
59be1f4983
dunst: add option to read alternative configuration file (#2113) 2021-08-07 20:44:36 -04:00
midchildan
b0d769691c
emacs: add extraConfig option 2021-08-06 23:57:14 +02:00
Vanilla
ab6517d34a
powerline-go: add fish integration 2021-08-06 22:46:58 +02:00
piegames
7f976da068
files: ignore conflict when files are identical
When the target file exists but has the exact same content then we
will now skip creation of the link from the source file.

Fixes #1213
2021-07-29 23:01:52 +02:00
Nicolas Berbiche
e08c696524
volnoti: fix package option namespace (#2227) 2021-07-28 15:39:29 -04:00
Robert Helgesson
ae8cb242f2
home-environment: use declare -gr in activation init
This marks the setup variables as read-only. Just to add a bit extra
safety.
2021-07-27 23:50:33 +02:00
Matthieu Coudron
47ad3655ec
programs.neovim: expose generatedConfigViml (#2213)
Expose the generated viml config, this has 2 advantages:
1/ user can choose to write the generated config to a file of its choice
2/ the user can prepend/append to the config before writing it

    xdg.configFile."nvim/init.vim".text = ''
	" prepend some config
	${programs.neovim.generatedConfigViml}
	" append some config
    '';

NOTE: this was already possible with 
xdg.configFile."nvim/init.vim" = mkMerge [
  (mkBefore {
    text = ''
      " prepend some config
    '';
  })
  (mkAfter {
    text = ''
      " append some config
    '';
  })
]
2021-07-27 15:59:50 +02:00
Kritnich
f6f6990fc8
barrier: remove tray option (#2215)
barrier's --no-tray CLI parameter is non-functional and so the option has been removed.
2021-07-26 09:16:00 -06:00
t4ccer
addc78bea0
neovim: Add coc support (#2154)
This adds two new options: 'programs.neovim.coc.{enable,settings}`.

These settings offer a simple interface over `xdg.configFile."nvim/coc-settings.json`,
using the standard Nix' syntax instead of a multiline string.
2021-07-25 22:40:07 -04:00
Robert Helgesson
996b439739
volnoti: add platform assert 2021-07-24 00:37:06 +02:00
Andreas Mager
cc6909d407
trayer: add module (#2177) 2021-07-24 00:29:49 +02:00
Bjørn Forsman
6c984bd675
taskwarrior: don't create dataLocation with home.file
With

  programs.taskwarrior.dataLocation = /absolute/path

(outside of $HOME) the current implementation wrongly creates
$HOME/absolute/path (due to how home.file is implemented).

Since taskwarrior creates the dataLocation automatically on first run,
there is actually no need for HM to create that directory.

Additional benefit, the .keep symlink that HM creates as a side-effect
no longer appears in the taskwarrior data directory.

Fixes #2207.
2021-07-23 23:22:32 +02:00
Robert Helgesson
ddeeb031fd
nixos: add nix package to activation script path
Fixes #2178
2021-07-23 23:18:15 +02:00
Ivan Malison
41101d0e62
volnoti: add module (#2183) 2021-07-21 00:17:27 -04:00
Alexander
fa483b82ab
xcape: run xcape after setxkbmap (#2198) (#2199)
Co-authored-by: Alexander Khodyrev <a@akho.name>
2021-07-19 21:16:14 -04:00
Robert Helgesson
d7e089699a
syncthing: restrict service slightly 2021-07-19 22:41:51 +02:00
Robert Helgesson
41903a14b0
Remove a few format exceptions 2021-07-18 23:34:50 +02:00
Robert Helgesson
5f433eb164
Move platform check into modules
Before, loading a module would be guarded by an optional platform
condition. This made it possible to avoid loading and evaluating a
module if it did not support the host platform.

Unfortunately, this made it impossible to share a single configuration
between GNU/Linux and Darwin hosts, which some wish to do.

This removes the conditional load and instead inserts host platform
assertions in the modules that are platform specific.

Fixes #1906
2021-07-18 20:43:22 +02:00
Ivan Malison
c476cc61b2
xsettingsd: add service module 2021-07-15 15:47:42 +02:00
Sumner Evans
f56a087cbc
sway: add propagate --to-code for modes (#2176)
Propagates the bindkeysToCode setting which adds --to-code to the keybindings in mode configs.

Closes #2174
2021-07-15 07:09:54 -06:00
IvarWithoutBones
775cb20bd4
sm64ex: add module 2021-07-12 08:57:35 +02:00
Colin Summers
9e3c402972
brave: fix config dir path (#2173)
Changes install path for extensions from `~/.config/brave` to
`~/.config/BraveSoftware/Brave-Browser` on Linux.
2021-07-11 21:19:10 -04:00
Naïm Favier
4971b9cad0
setxkbmap: reset options before setting new ones (#2160) 2021-07-11 21:15:18 -04:00