Commit graph

1767 commits

Author SHA1 Message Date
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