Commit graph

144 commits

Author SHA1 Message Date
Bernardo Meurer
a5a294a622
sway: import NIXOS_OZONE_WL into systemd
Without this, even if you configure a preference for Electron apps to
use Ozone by setting `NIXOS_OZONE_WL=1`, GUI apps launched through
systemd user services use XWayland, since the variable is not set in
their environment.

This fixes that issue by importing it, like we do other variables.
2023-04-23 20:10:16 +02:00
Christoph Heiss
3895469036
fnott: add D-Bus service file
This is needed to make fnott bus-activatable. Otherwise it won't be
started when a bus request is made [0]. Done in the same way as e.g.
dunst sets that up [1,2].

[0] https://www.freedesktop.org/software/systemd/man/systemd.service.html#id-1.10.6
[1] https://github.com/nix-community/home-manager/blob/master/modules/services/dunst.nix#L139
[2] https://github.com/dunst-project/dunst/blob/master/org.knopwob.dunst.service.in
2023-04-22 16:49:26 +02:00
Olmo Kramer
64d1f75a1e
herbstluftwm: fix default tag renaming
The previous implementation tried to rename the tag named "default" to
the first tag in `cfg.tags`. This was a wrong approach because if a
tag with the same name already existed, the renaming failed and the
default tag would continue to exist.

The looking up of the default tag also contained a bug because it
should have used `by-name` in the path.
2023-04-22 16:38:31 +02:00
Jon Seager
cc05d26326
avizo: don't write a config file if settings are empty
Before this change, the default config provided by this module wrote
an empty file to `$HOME/.config/avizo/config.ini`, which caused a
bunch of errors, as Avizo tries to read a 'group' from the ini file,
which fails.

This commit also adds associated test cases.

PR #3871
2023-04-19 21:17:56 +02:00
Robert Helgesson
75f4f362e1
git-sync: fix test 2023-04-15 21:17:22 +02:00
midchildan
885a504f80
syncthing: add Darwin support 2023-03-25 13:09:55 +01:00
Naïm Favier
3c18113bd7
mpd: add extraArgs (#3735)
Allow passing arguments to the MPD command line. Currently the only
interesting one is `--verbose`.
2023-03-05 09:41:34 +01:00
Robert Helgesson
b9e3a29864
recoll: fix generation of string lists
The updated implementation will quote string lists as per the
description at

  https://www.lesbonscomptes.com/recoll/usermanual/#RCL.INSTALL.CONFIG

Fixes #3732
2023-03-02 20:01:51 +01:00
Olmo Kramer
5e889b385c
mpd-mpris: add module 2023-02-20 23:43:42 +01:00
Naïm Favier
5ffb0f1f81
tests: fix gnupg stub (#3685)
systemd now depends on `gnupg.override`, so we need a stub for systemd too.
2023-02-19 11:19:00 +01:00
Damien Cassou
ca69be9335
borgmatic: Do not inhibit idle in service (#3637)
This reflects a systemd service sample file change made in borgmatic
1.7.6, commit 2e9f70d49647d47fb4ca05f428c592b0e4319544:

    When backing up a machine with a monitor using logind to control
    idle timeout and things like DPMS, borgmatic can block the screen
    from turning on/off with systemd-inhibit. This is because by
    default systemd-inhibit will block
    "idle:sleep:shutdown". Borgmatic does not need to care about idle,
    only about suspend and shutdown. So, add an explicit `--what` flag
    for what borgmatic should inhibit.

    For more information see systemd-inhibit(1).
2023-02-05 11:13:04 +01:00
David Houston
1d94de5604
pass-secret-service: various improvements
Allow setting the application package and storePath used by the
config. Since the `programs.password-store` Home Manager module sets
config values via global environment variables, the default behavior
of the module should continue to behave as before for the user.

Additionally,

- Adds a few tests.

- Use "escapeShellArg" function call to the path parameter call to
  ensure paths with spaces work.

- Allow not setting storePath, which will cause `pass_secret_service`
  to default to using `~/.password-store`.

- If `pass-secret-service` is enabled, set its store path to default
  to the one defined in our password-store environment settings.

- Add myself (houstdav000) as maintainer.
2023-01-31 23:19:09 +01:00
arcnmx
d633afe0d9
i3-sway: config.focus.wrapping deprecates forceWrapping (#3467)
Stop using the legacy syntax described in the i3 documentation:
https://i3wm.org/docs/userguide.html#_focus_wrapping
2023-01-15 19:20:13 +01:00
Martin Weinelt
d01e7280ad
i3-sway: Use foot as default terminal on sway (#3490) 2023-01-03 19:26:08 +01:00
Jarosław Wygoda
fb49fbc368
clipman: add module 2022-12-28 23:02:08 +01:00
Robert Helgesson
8745cc9a21
parcellite: add basic test case 2022-12-28 22:16:47 +01:00
Robert Helgesson
939731b8cb
cachix-agent: add module 2022-12-25 09:54:43 +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
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
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
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
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
Damien Cassou
186d9399f9
borgmatic: specify where to find sleep (#3349)
Closes #3348.
2022-10-23 16:52:22 -04:00
Damien Cassou
04f5399978
borgmatic: add module 2022-10-16 21:51:52 +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
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
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
960c009ce0
git-sync: minor test cleanup 2022-09-05 13:51:03 +02:00
cab
66cc5c7ef9
git-sync: add ssh to path
This fixes automated pushing to repository.
2022-09-05 13:15:40 +02:00
Matthew Toohey
d89bdff445
sway, bspwm: add extraConfigEarly (#2847) 2022-08-27 00:09:46 -04:00
Lily Foster
991ff35249
udiskie: add tests 2022-08-23 20:11:40 +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
Robert Helgesson
45ef70cc73
swayidle: remove unnecessary config wrapper 2022-07-12 12:02:01 +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
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
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
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
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
Robert Helgesson
2c8489e57a
mpdris2: add basic test cases 2022-05-25 18:43:22 +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
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
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
Robert Helgesson
70c4696619
tests: bump nmt
Also updated golden files to match new store path normalization
output.
2022-03-23 23:57:20 +01: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
Basti
64823066c2
herbstluftwm, mpd: fix bash version in tests (#2816)
* mpd: Fix bash-version in tests

* herbstluftwm: Fix bash-version in tests
2022-03-21 15:41:39 -06:00