Commit graph

486 commits

Author SHA1 Message Date
Bernardo Meurer c1addfdad3
gammastep: wait on geoclue-agent when configured 2022-08-08 19:08:04 +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
Gabriel Arazas 0e2f7876d2
recoll: add module 2022-07-27 14:25:27 +02:00
Loïc Reynier a3b778e672
spectrwm: add module
PR #3077
2022-07-25 13:42:06 +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
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
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
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
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
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
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
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
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
Sumner Evans 273598f53e
mako: add package option (#2955) 2022-05-13 08:27:23 -06:00
mgurlitz 538343be86
Make sway onChange script use cfg.package if set (#2937) 2022-05-05 21:29:20 -04:00
arjan-s ac722cddf4
swayidle: Fix position of extraArgs (#2932) 2022-05-03 11:20:46 -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
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
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
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
Sumner Evans f911ebbec9
lib.booleans: add yesNo function (#2818)
Closes #2772
2022-04-07 22:36:13 -06:00
Ilan Joselevich 07b941f0c4
mpd-discord-rpc: init service (#2728) 2022-04-04 23:48:13 -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
Naïm Favier e2ebc3a3af
picom: use types.lines for extraOptions 2022-03-23 23:10:24 +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
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
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
Robert Helgesson 2499b91692
treewide: apply nixfmt to a few more files 2022-02-27 02:19:44 +01: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
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
Morgane Austreelis 63dccc4e60
twmn: add module
This module allows to configure and start the twmn daemon.
2022-02-04 01:05:04 +01:00
Tristan 933b6d97b4
plex-mpv-shim: init service (#2655) 2022-02-02 16:34:19 -05: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
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
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
Robert Helgesson 192675b149
docs: fix a few stray periods 2022-01-25 00:10: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
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
Robert Helgesson 5fb55d51e2
swayidle: fix option documentation 2022-01-06 09:22:42 +01: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
Olmo Kramer 89bdef7994
herbstluftwm: init module 2021-12-31 10:44:08 +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
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
Lorenzo Manacorda 02426bb52f
systembus-notify: add module 2021-12-21 23:35:56 +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
Jonas Heinrich 3d46c011d2
opensnitch-ui: add module 2021-12-12 18:10:10 +01:00
Peter Jones 0ebed30a10
gromit-mpx: add module 2021-12-11 19:17:59 +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
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
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
Sebastian Sellmeier 8a16d62e95
flameshot: extend module with package-option 2021-11-20 09:37:34 +01:00
arcnmx 42915b78af
lieer: use configured package in service (#2480) 2021-11-16 10:38:36 -07:00
arcnmx a7c5b00d44
polybar: use recursive config type (#2235)
Allow merging of lists and attrsets
2021-11-15 16:00:45 -05: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
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
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
Robert Helgesson 0b47ded208
flameshot: add settings option 2021-10-11 21:47:05 +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
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
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 8f1d8c2ef1
mako: add onChange configuration reload 2021-10-01 11:05:42 -03:00
Gabriel Fontes 52e84a040e
xsettingsd: make configurable through module 2021-10-01 01:31:47 +02: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
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
Tad Fisher 514acaebb9
lieer: change settings to freeform type
Also add missing options.
2021-09-14 23:59:56 +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
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
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
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
Ivan Kovnatsky a5c609b4b1
sway: workspaceLayout: stacked -> stacking (#2272) 2021-08-17 22:58:03 -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
Ivan Malison ad0fc085c7
git-sync: add module 2021-08-17 00:00:38 +02:00
Robert Helgesson 72f3bc6fa4
flameshot: add some service sandboxing 2021-08-14 15:13:31 +02:00