1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-12-27 20:29:47 +01:00
Commit graph

733 commits

Author SHA1 Message Date
Austin Horstman
4fe1f064bd
hyprland: use lib.generators.toHyprconf 2024-04-30 00:07:06 +02:00
Maciej Zwoliński
c002bc08c8
cliphist: support images in clipboard history 2024-04-28 23:51:59 +02:00
Jan Schmitz
d1980931de
psd: add module
PR #5349
2024-04-28 22:39:08 +02:00
Sergio Ribera
bfa7c06436
swayosd: add custom style option 2024-04-23 23:09:45 +02:00
nat
e866aae5bb
amberol: add module
Amberol is a small and simple music player.
2024-04-22 20:06:31 +02:00
Coutinho de Souza
057117a401
kdeconnect: fix "tray.target" requires
The PR #5299[0] actually adds the requirement on "tray.target" for the
kdeconnect service, when kdeconnect-indicator is set to true. What it
should do is add the requirement directly to the latter. This commit
fixes it.

[0]: https://github.com/nix-community/home-manager/pull/5299#issue-2252834123
2024-04-20 00:38:28 +02:00
Andrew Marshall
3a435342e2
sway: check config file validity
Helps avoid successful build but Sway failing to start.

To meaningfully test this, I had to actually use `pkgs.sway` in the
test rather than the stub, but left all other tests using the stub and
changed them to skipping the test.

We need to pass `--unsupported-gpu` as Sway checks for `nvidia` in
`/proc/modules`, and the Nix sandbox has `/proc/modules` available.
2024-04-19 23:16:55 +02:00
Andrew Marshall
95888b153c
sway: writeText -> writeTextFile
The latter is more flexible and shall be used soon, splitting this
change out for simpler diff later.
2024-04-19 23:11:30 +02:00
Masum Reza
938357cb23
hyprland: remove enableNvidiaPatches option
Hyprland no longer requires patching to work on Nvidia.
2024-04-19 19:25:59 +02:00
Cynthia Fox
1f305c363e
remmina: add module
Adds a module to enable managing Remmina, an RDP client, with a Home
Manager module, providing a systemd service and mimetype integration
that can be disabled if so desired.
2024-04-19 17:16:42 +02:00
Ivan Leshchenko
31c77dcc2e
sway: systemd customization 2024-04-19 17:15:54 +02:00
Coutinho de Souza
dc906b197b
kdeconnect: require "tray.target" for kdeconnect
Since kdeconnect-indicator is a tray application, it should require
"tray.target", as is the case for flameshot[0].

[0]: b1a5b3d6a5/modules/services/flameshot.nix (L58)
2024-04-19 14:22:32 +02:00
Nathan Henrie
59d50bc582
espanso: enable module on darwin 2024-04-15 09:40:27 +02:00
Nathaniel Barragan
9de3aab091
kdeconnect: add package option 2024-04-04 23:08:04 +02:00
Vonfry
7e91f2a0ba
xmonad: fix cp failure if libFiles with subdirectories 2024-04-04 08:26:54 +02:00
quasigod
81cd71995a
hyprland: fix systemd variables example 2024-04-02 23:39:11 +02:00
Sumner Evans
eb869521cb
darkman: allow no configuration
Closes #4779

Signed-off-by: Sumner Evans <me@sumnerevans.com>
2024-03-26 14:24:49 -06:00
Scott Edlund
93dcc3daa9
nix.gc: let systemd use any time config 2024-03-18 22:42:09 +01:00
Sofie
dc2f3812b4
nix-gc: add daily frequency option
The systemd.time documentation defines the shorthands `daily` and
`minutely` which are currently not included in the nix-gc module.

This commit adds the `daily` option, but omits `minutely` since it's not
a timescale that would make sense to run a gc for.

https://www.freedesktop.org/software/systemd/man/latest/systemd.time.html
2024-03-15 13:36:03 +01:00
Gabriel Arazas
029545350c
activitywatch: add module 2024-03-15 09:39:56 +01:00
zorrobert
bd9141ea97
fusuma: add missing dependencies 2024-03-14 18:08:10 +01:00
Phillip Cloud
587719494e
gpg-agent: fix broken variable reference 2024-03-14 14:45:55 +01:00
Bruno BELANYI
01e4a5143e
gpg-agent: migrate to 'pinentryPackage'
This follows upstream's module change [1], which allows setting any
package as a pinentry program.

[1]: https://github.com/NixOS/nixpkgs/pull/133542
2024-03-14 08:22:26 +01:00
Mathis H
49a266d2ca
hyprland: add option for per-input device configs 2024-03-12 23:16:18 +01:00
Roberto Abdelkader Martínez Pérez
0c65bfa3cf
git-sync: allow passing extraPackages to service
Sometimes extra packages are needed to successfully update a
repository, for example, git-sync.
2024-03-08 13:18:39 +01:00
Sebastian Sellmeier
8d9fde0fba
i3/sway: remove sebtm maintainer 2024-03-06 14:26:46 +01:00
Robert Helgesson
950673cec7
pueue: always write configuration file
Pueue requires the configuration file to contain a `shared` entry. We
therefore unconditionally add it as `shared: {}`.

Fixes #4295
2024-03-06 12:58:02 +01:00
Joaquín Triñanes
1d717f581b
gpg-agent: Fix nushell integration 2024-03-06 11:54:01 +01:00
John Axel Eriksson
ecfffe3631
river: fix systemd activation (#5055)
The `exec` command does not do any shell parsing and does not
understand the `&&` which is how the extraCommands are added after
dbus activation. There doesn't seem to be a reason for `exec` here
anyway so just remove it and allow shell parsing.
2024-02-29 11:10:25 +01:00
Christina E. Sørensen
4ee704cb13
xscreensaver: add package option
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2024-02-24 21:34:39 +01:00
Mihai Fufezan
ae7a3b5137
hyprland: fix reloading
Fix hyprctl erroring out due to HIS.
2024-02-24 21:04:47 +01:00
Judson Lester
4e6d25a51b
lorri: systemd allow access to cache directories
Some nix builds require RW access to `.cache/nix` and `.cache/lorri`.
2024-02-24 20:30:51 +01:00
Gaetan Lepage
3dda8e795f
river: add module 2024-02-22 00:10:51 +01:00
Rafael Carvalho
fb0196ad9d
imapnotify: enable STARTTLS if enabled in email account config (#5013)
* imapnotify: enable STARTTLS if enabled in email account config

Since version 2.3.10 goimapnotify supports starttls. In version 2.3.11 a
typo in the settings was fixed, using tlsOptions.starttls to enable it.

This commit enables starttls in the goimapnotify config file if it is
enabled in the email account's imap settings.

* imapnotify: test generated config file

Compare the generated service config file with a manually verified
sample.
2024-02-10 23:01:01 +01:00
Emily
4c0357ff87
sway: fix workspace 10 missing from default config (#4636)
workspace 10 is part of upstream's default config, but was missing in home-manager.

The initial "sway: add module" PR (02d6040003) went through multiple iterations and had workspace 10 included for a brief moment.
Until the author removed it in a force-push commenting

> Have removed the last change which added bound ${modifer}+0 to workspace number 10 as this messed up workspace numbering in sway.

The reason might have been, that sway used to sort the workspaces in the order they appeared in the config.

Attribute sets in nix are sorted, but not "naturally sorted", meaning `bindsym Mod1+0 workspace number 10` comes before `bindsym Mod1+0 workspace number 1`.

It's unclear if that's what really happened. A workaround would have been to use `lib.lists.naturalSort` in `keybindingsStr`.

But I cannot reproduce this anymore in any way.
I assume this has been fixed many years ago by now.

upstream config: 020a572ed6/config.in (L113-L134)
2024-02-10 19:59:52 +01:00
NotAShelf
7b4ea8d82f
arrpc: add module 2024-02-05 23:36:51 +01:00
Anton
13dbf2623d
swayosd: update executable 2024-02-05 23:31:53 +01:00
shivaraj-bh
274bd470a5
nix-gc: add service
The nix-gc service runs automatically at a specified frequency. It is
managed via launchd on macOS and systemd on Linux.
2024-02-05 18:10:00 +01:00
Juraj Hlista
230836bb7c
hyprland: fix hyprctl crash
`/tmp/hypr` must be present so `hyprctl` doesn't crash.
2024-02-04 07:59:05 +01:00
Sefa Eyeoglu
ebba24a6fe
wob: add module
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-01-28 10:46:09 +01:00
Robert Helgesson
b2f5695207
network-manager-applet: add XDG data directory
The Network Manager Applet package provides, for example, some icons
that are good to have accessible in an XDG data directory.
2024-01-26 23:04:20 +01:00
Sumner Evans
70688f195a
keepassx: remove module
This removes the services.keepassx module and all options related to it.
This is because KeePassX has been unmaintaned for a long time, and the
migration path to KeePassXC is not clear.

Note, this package probably hasn't worked for nearly a year since the
package was removed from Nixpkgs:
https://github.com/NixOS/nixpkgs/pull/216748

Closes #4949

Signed-off-by: Sumner Evans <me@sumnerevans.com>
2024-01-25 22:56:56 +01:00
Robert Helgesson
4256729006
treewide: deprecate DRY_RUN_CMD and DRY_RUN_NULL
As a replacement, this adds the `run` helper function.
2024-01-24 13:36:05 +01:00
Samuele Facenda
9b378afae7
hyprland: change plugins settings generation
The previous syntax (`plugin:name { ...settings}`) is not working with
more than one plugin. There is no documentation for this, just the
source code [1].

With this update the plugins paths aren't generated together with the
full config (so the "plugin" field is not "important" anymore) and the
plugins settings are generated like the other fields.

[1] 4d403dac32/src/config/ConfigManager.cpp (L1574)
2024-01-21 00:40:55 +01:00
Samuele Facenda
2064348e55
hyprland: do not override existing plugins settings in config
The plugin setting in the Hyprland config is used both for defining
plugin paths and configuring the plugins. This fix removes the
silent override of the plugins settings converting them to the
`plugin:<name> { ...settings }` syntax.
2024-01-19 11:27:00 +01:00
Jared Baur
d9c869681d
sway: include cursor environment variables
DBus activated services such as mako use the XCURSOR_THEME and
XCURSOR_SIZE environment variables to decide how to show the cursor,
so without these, the cursor may not match the rest of the desktop
when hovering over (in this example) mako notification surfaces.
2024-01-18 00:30:06 +01:00
Dee Anzorge
6217b73598
listenbrainz-mpd: use sdnotify when possible
The ability for listenbrainz-mpd to notify systemd when it's ready was
added in 2.3.2:

https://codeberg.org/elomatreb/listenbrainz-mpd/releases/tag/v2.3.2
2024-01-13 18:52:33 +01:00
Guillaume Girol
f06edaf18b
lorri: unbreak due to too tight sandboxing
lorri needs to be able to write to /run/user/uid for the socket, to its
own cache directory ~/.cache/lorri and to the directory for gc roots.
2024-01-01 09:56:03 +01:00
Tom Hall
0f11c14065
osmscout-server: add module
Osmscout-server includes a setting in its UI to create a systemd user
service and socket to run the server on demand. This does not function
correctly on NixOS, for two reasons:

1. It assumes that the binary path is stable (e.g.
   /usr/bin/osmscout-server), which is not the case on NixOS.

2. It auto-detects the unwrapped binary path, which doesn't work.

This module allows the user to access the same functionality on NixOS.
2023-12-28 09:28:48 +01:00
Sandro
458544594b
gpg-agent: don't set a default for pinentry
NixOS stopped building gtk2 pinentry by default in
https://github.com/NixOS/nixpkgs/pull/270266 and there does not appear
to be a reasonable other default.
2023-12-27 12:01:23 +01:00
TornaxO7
a2523ea034
gpg-agent: add nushell integration 2023-12-23 22:56:59 +01:00
pacien
de9134144b
unison: better retry/restart reporting failures
The service was never marked with a failed state with the previous
approach, which could lead broken synchronisation pair states to go
undetected.

The module now uses a timer instead of unlimited restarts, which does
not have this issue.
2023-12-23 19:13:09 +01:00
Robin Gloster
0e2e443ff2
hyprland: mark plugin setting as important
The plugins are often necessary for other configurations.
2023-12-14 08:14:24 +01:00
Ujp8LfXBJ6wCPR
7a88cdedbd
hyprland: improve config reload
When using the previous approach I've always gotten errors that I can't
reload config on the .lock file that exists in /tmp when you run a
standard configured hyprland.

This commit improves this by using hyprctl to find instances to reload
instead.

We can remove the HYPRLAND_INSTANCE_SIGNATURE bogus assignment once
https://github.com/hyprwm/Hyprland/issues/4088 is resolved.

Co-authored-by: Carl Hjerpe <git@hjerpe.xyz>
2023-12-14 08:04:57 +01:00
Nara Díaz Viñolas
defbb9c585
hyprland: add option sourceFirst
Add the option sourceFirst to the hyprland module. When this option is
enabled source entries will be put near the top of the file, so that
the variables declared in other files can be used by the other
configuration entries.

Add "source" to the list of important prefixes when the former option
is enabled.

Resolves #4729
2023-12-10 11:12:06 +01:00
Richard Davis
093777ee4a
caffeine: remove ProtectHome service option
This option causes caffeine to be unable to start via the systemd
service.
2023-12-10 08:37:02 +01:00
Yuchen Guo
4a8545f5e7
swayidle: add systemd suspend to example 2023-12-01 13:17:50 +01:00
Yuchen Guo
9e869829c2
swayidle: daemonize swaylock in example configuration 2023-12-01 13:17:43 +01:00
Damien Cassou
7c97c46dc4
signaturepdf: add service 2023-11-27 00:19:14 +01:00
Philipp Mildenberger
1aabb0a31b
picom: use getExe instead of hardcoded binary 2023-11-21 08:55:46 +01:00
9p4
50e582b9f9
swayidle: always restart systemd unit on failure
Occasionally, swayidle crashes with a failure to connect to the
Wayland session. Ideally, swayidle should automatically restart
instead of leaving the system in a vulnerable state.
2023-11-12 01:13:38 +01:00
Rodney Lorrimar
f5182ffc42
emacs: Fix socket activation 2023-11-11 00:44:54 +01:00
Rodney Lorrimar
47226ec7e7
emacs: Remove obsolete socket file workaround 2023-11-11 00:44:53 +01:00
Joseph Ryan
831b4fa317 clipmenu: set Environment to a list 2023-11-01 20:36:53 -07:00
tristan
8e5416b478
services.swayidle: change target to generic session (#3913)
this makes the default setup support other window-managers, and is the
trend followed by waybar, clipman, copyq, wlsunset.
2023-10-30 13:55:11 +01:00
André Silva
09587fbbc6
hyprland: add tray.target 2023-10-25 18:13:51 +02:00
Naïm Favier
14b5415720
sxhkd: set scope OOMPolicy to continue
When a process inside the sxhkd scope is OOM killed, if the OOM policy
is set to `stop` then the sxhkd scope itself will exit, terminating
every process launched from the keyboard.

This is undesirable, set it to `continue` instead to keep other
processes running.
2023-10-24 17:48:13 +02:00
Silvio Ankermann
f540f30f1f
cbatticon: Add support for batteryId
For devices with more than one battery, cbatticon allows to set the
battery ID as optional positional argument. If this argument is not
given, it default to the first battery it would list with `cbatticon
-p`. This commit adds support for the batteryId option to the cbatticon
module.
2023-10-23 15:50:42 +02:00
Gabriel Arazas
05649393ac
recoll: update option descriptions 2023-10-18 08:45:55 +02:00
Xavier Lambein
b25161c6a2
darkman: add module
Co-authored-by: Naïm Favier <n@monade.li>
Co-authored-by: Robert Helgesson <robert@rycee.net>
2023-10-17 09:07:47 +02:00
Janik
3b67ae3f66
services.cliphist: add module (#4445) 2023-10-15 14:03:18 +02:00
pacien
6bba64781e
password-store-sync: remove module
The module `services.git-sync` (introduced two years after) provides
the same functionality, but in a more general and reliable way.
2023-10-10 14:28:09 +02:00
pacien
6dfbdc977e unison: add package option
So that one can use the lighter headless version of Unison.
2023-10-08 16:44:39 +02:00
Mihai Fufezan
ed0770e962
hyprland: allow customizing systemd
Allows users to customize which environment variables to import in DBus
and SystemD user environments, and to specify which commands will be run
after the environment activation.
2023-10-06 23:34:47 +02:00
Sefa Eyeoglu
e0c70942c0
programs.sway: separate trayOutput values for sway (#4489)
Fixes nix-community/home-manager#4488

The default config for sway generates a bar block with tray_output primary. But wayland (or sway, take your pick?) has no concept of a primary display so this just results in no tray anywhere.

A better default is "*" which puts the tray on every monitor, since sway can do so without issue.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-09-23 20:53:45 +02:00
ykis-0-0
f5b920f4d2
fluxbox: fix xsession command
Fixes #4457
2023-09-19 20:52:50 +02:00
Motiejus Jakštys
8045eb45a7
pasystray: add extraOptions
Allows a user to, for example, add the `-g` option.

Also add a basic test case.
2023-09-19 08:02:18 +02:00
Mihai Fufezan
88067b9b14
hyprland: remove xwayland.hidpi (#4302)
Remove xwayland.hidpi option, since we're dropping HiDPI XWayland
patches support, opting to use the builtin xwayland:force_zero_scaling
option instead. It is described in more detail in
https://wiki.hyprland.org/ Configuring/XWayland.
2023-08-14 09:40:09 +02:00
Slabity
6e1eff9aac
kanshi: support adaptive sync (#4328) 2023-08-10 15:05:36 +02:00
Ivan Malison
903e06d734
taffybar: Avoid restarting too quickly (#4316) 2023-08-06 11:00:44 +02:00
cvoges12
484a1c9442
network-manager-applet: remove --sm-disable flag
The `--sm-disable` flag is deprecated. It doesn't show in the man
pages, any documentation, and others have seemed to notice as well:

> The `--sm-disable` flag isn't used anymore due to the applet no longer being session-managed.

From: <https://askubuntu.com/a/525273>

Which cites: <https://mail.gnome.org/archives/networkmanager-list/2011-May/msg00141.html>

PR #4296
2023-08-02 12:09:07 +02:00
Naïm Favier
5c23226768
hyprland: use toKeyValue's indent argument (#4274)
Freshly added in https://github.com/NixOS/nixpkgs/pull/244819
2023-07-29 13:12:37 +02:00
ryane
ab70a02363
git-sync: add darwin support
- On darwin, creates a launch agent to run git-sync on an interval and
  when the `path` changes.

- The `uri` option is not used on Darwin. The auto-creation of the
  local git directory from the `uri` is a feature of the
  git-sync-on-inotify [1] wrapper (which won't work on Darwin afaik)
  and not `git-sync` itself.

[1] https://github.com/simonthum/git-sync/blob/master/contrib/git-sync-on-inotify
2023-07-24 11:16:09 +02:00
Mihai Fufezan
76dd6c6619
hyprland: prioritize variables and beziers (#4263)
* hyprland: prioritize variables and beziers

The `settings` key now handles `$variables` and `bezier`s differently,
putting them at the top of the file.
Also, proper indentation has been implemented.

* Update modules/services/window-managers/hyprland.nix

Co-authored-by: Naïm Favier <n@monade.li>

* hyprland: add animations & beziers test

---------

Co-authored-by: Naïm Favier <n@monade.li>
2023-07-22 13:58:46 +02:00
Mihai Fufezan
ee5673246d
hyprland: add module
Ported from

  https://github.com/hyprwm/Hyprland/blob/main/nix/hm-module.nix

which was adapted from the sway module.

Co-authored-by: Robert Helgesson <robert@rycee.net>
2023-07-21 00:14:22 +02:00
Emily
9f9e277b60 treewide: remove now-redundant lib.mdDoc calls
These (and the `*MD` functions apart from `literalMD`) are now no-ops
in nixpkgs and serve no purpose other than to add additional noise and
potentially mislead people into thinking unmarked DocBook documentation
will still be accepted.

Note that if backporting changes including documentation to 23.05,
the `mdDoc` calls will need to be re-added.

To reproduce this commit, run:

    $ NIX_PATH=nixpkgs=flake:nixpkgs/e7e69199f0372364a6106a1e735f68604f4c5a25 \
      nix shell nixpkgs#coreutils \
      -c find . -name '*.nix' \
      -exec nix run -- github:emilazy/nix-doc-munge/98dadf1f77351c2ba5dcb709a2a171d655f15099 \
      --strip {} +
    $ ./format
2023-07-17 18:49:09 +01:00
Emily
36a53d9f26 treewide: convert all option docs to Markdown
This process was automated by [my fork of `nix-doc-munge`]. All
conversions were automatically checked to produce the same DocBook
result when converted back, modulo minor typographical/formatting
differences on the acceptable-to-desirable spectrum.

To reproduce this commit, run:

  $ NIX_PATH=nixpkgs=flake:nixpkgs/e7e69199f0372364a6106a1e735f68604f4c5a25 \
    nix shell nixpkgs#coreutils \
    -c find . -name '*.nix' \
    -exec nix run -- github:emilazy/nix-doc-munge/98dadf1f77351c2ba5dcb709a2a171d655f15099 \
    {} +
  $ ./format

[my fork of `nix-doc-munge`]: https://github.com/emilazy/nix-doc-munge/tree/home-manager
2023-07-17 18:40:56 +01:00
Emily
c1d8d2a3d1 treewide: adjust some DocBook for conversion
The NixOS variant of Markdown doesn't make a distinction between
`<code>` and `<literal>` or `<quote>` and... quotes, and doesn't
support `<parameter>` or `<replaceable>`. These are infrequently used
(apart from `<code>`) and don't add much, so just convert them to
simpler forms to allow the options containing them to be converted
to Markdown automatically.

A few minor syntactic adjustments were also made to make
`nix-doc-munge`'s job easier.
2023-07-17 16:49:35 +01:00
Emily
e04de5b308 treewide: mkPackageOption -> mkPackageOptionMD 2023-07-17 16:49:35 +01:00
Emily
71df507159 treewide: convert options with tables to Markdown
The Markdown options processor cannot handle rendering tables
to DocBook.  This could be fixed, but as we won't be using the
DocBook output for long I just removed them for now in the interest
of expediency; they were all well-suited to being description lists
showing option types anyway, apart from one awkward case in the form
of trayer, which also had ad-hoc syntax for enumerating acceptable
values in the documentation. Since the types aren't actually used for
option processing anyway, I changed them to use `enum` and similar to
give a single description of the acceptable values without a big table.
2023-07-17 16:49:35 +01:00
Emily
21c700d14b treewide: convert options with lists to Markdown
`nix-doc-munge` can't handle these, which is understandable as I can
barely handle them either. There are a few infelicities here: the
current processor can't handle multiple terms to one description in
a description list so they get comma-separated in one case, and one
case that should ideally render as a `<figure>` with a `<figcaption>`
in HTML is reduced to a paragraph with some `<strong>` text. (Which, in
fairness, is how it rendered in practice with the DocBook anyway.) The
docs generator has since been updated to handle figures, but we can't
use it until moving off DocBook output.
2023-07-17 16:49:35 +01:00
Emily
9e4a73c25e treewide: convert custom enable docs to Markdown
`nix-doc-munge` can't tell what's going on with this pattern, so I
just handled them all manually.
2023-07-17 16:49:35 +01:00
Emily
3228f92b90 treewide: manually convert some docs to Markdown
These files all have options that trip up the `nix-doc-munge`
conversion tool for one reason or another (syntax that clashes with
Markdown, options that were already using Markdown syntax despite not
being marked that way, output that differs slightly after conversion,
syntax too elaborate to convert with some cheap regular expressions,
...). Translate them manually and do a little copyediting to options
in the vicinity while we're at it.
2023-07-17 16:49:35 +01:00
Emily
e2a1cb50d8 treewide: fix mkEnableOption arguments
`mkEnableOption` wraps its argument in a full sentence; its argument
should not include the start of a sentence or the final full stop.
2023-07-17 16:49:35 +01:00
Genevieve
f5b03feb33
imapnotify: Use JSON type for extraConfig (#4238)
Prior to this change, it was impossible to nest attrsets in
accounts.email.accounts.<name>.imapnotify.extraConfig. However,
goimapnotify's configuration is JSON-based, and the recommended
configuration has:
```
  "tlsOptions": {
    "rejectUnauthorized": true
  },
```

This change changes the type from an attrset of str/int/bool to the
JSON type provided by nixpkg's `pkgs.formats.json`.
2023-07-15 20:53:43 +02:00
Naïm Favier
c1cdce3d89
i3-sway: allow arbitrary floating modifier (#4229)
The floating modifier can consist of a combination of modifier keys.
Trying to model this with a regex doesn't seem worth it, so just use
`str`.
2023-07-14 21:26:09 +02:00
Sven Friedrich
f63b39a67d
i3-sway: multiple outputs (#4223)
multiple outputs can be assigned to a workspace
2023-07-14 21:25:55 +02:00
Sumner Evans
a6d1d954b8
ssh-agent: add assertion and fix news entry (#4210)
See https://github.com/nix-community/home-manager/pull/4178#discussion_r1249460142

Signed-off-by: Sumner Evans <me@sumnerevans.com>
2023-07-10 16:37:49 +02:00
David Baynard
fad475553a
imapnotify: use direct nix store path for config
As pointed out in #3291, using the XDG symlink means the agent/unit
files don’t change when the contents of the config changes, and so the
service will not be restarted.
2023-07-09 09:32:25 +02:00
Anton Plotnikov
98282a481d
swayosd: add module 2023-07-08 12:09:09 +02:00
simfu
34db2f0521
unison: Allow using same option multiple times (#4208)
Unison supports the same option to be given several times as a command
 line argument (e.g. unison -path xxx -path yyy).

 This commit adds Home Manager support for this by allowing a list of
 strings to be given to services.unison.pairs.<name>.commandOptions values.

 # Veuillez saisir le message de validation pour vos modifications. Les lignes
2023-07-07 13:57:22 +02:00
David Baynard
719de878f7
imapnotify: Add launchd agent (#3291)
* imapnotify: expose package (and exe) options

There are multiple packages that provide an imapnotify interface. Those
packages have differently named executables. This can now be customized.

This change also means test configurations can use stub packages.

* imapnotify: use/create config in configHome

Exposing the configuration file makes testing imapnotify configurations much
easier. It also allows for golden tests in home-manager.

* imapnotify: extend with launchd agent

Now that home-manager supports launchd agents, the imapnotify service
can be configured (and enabled) for darwin. The configuration matches
that of the linux/systemd version. In particular, by not setting a
`UserName`, this runs as the user whose configuration includes the
module.

Due to the launchd `Program` implementation (it must take an absolute
path) it is not possible to use that for the program and stub the path
in tests. Instead, this uses `ProgramArguments` for the program name.

The `ThrottleInterval` is equivalent to `RestartSec`. `KeepAlive` is
equivalent to `Restart`.

The `ExitTimeOut` default is 20 seconds, but goimapnotify should not
time out — this is achieved by setting the `ExitTimeout` to 0.

* imapnotify: add launchd plist test

This only tests the generated plist (which is new), not the original
systemd implementation, nor the json config file.

(Note the lack of a newline at the end of the plist file.)
2023-07-07 11:39:12 +02:00
Anton Mosich
b23c7501f7
i3: remove deprecated example in i3.config.startup (#4201)
Deprecated in cacb8d4, see #265
2023-07-05 12:23:31 +02:00
Kylie McClain
d895a77448
vdirsyncer: synchronize metadata as well (#4167) 2023-07-04 12:11:28 +02:00
Linus Heckemann
2d9210f25e
ssh-agent: init module (#4178) 2023-07-01 08:08:59 -06:00
Kylie McClain
44d1a8542a
sxhkd: allow usage of derivations as keybind commands (#4169)
This makes it consistent with some other options, like
`systemd.user.services.Service.ExecStart`.
2023-06-30 17:49:05 -06:00
Rafael
e8b5f8f9b3
Update documentation to mention renamed option name. (#4126)
PR #3747 renamed the option wayland.windowManager.sway.systemdIntegration
to wayland.windowManager.sway.systemd.enable.

This commit simply updates documentation to reference the new format.
2023-06-20 12:43:16 +02:00
NotAShelf
6bdd72b914
clipman: wrong module name in description (#4117) 2023-06-19 16:29:55 +02:00
Damien Cassou
0480dabc99
vdirsyncer: Fix service by moving the options before the command (#4109) 2023-06-18 16:23:02 +02:00
Clément DOUIN
e0034971f9
comodoro: add module 2023-06-14 23:43:19 +02:00
Matthieu Coudron
b01eb1eb3b
Add infrastructure for contacts and calendars (#4078)
* Add infrastructure for contacts and calendars

This also adds the modules

  - programs.vdirsyncer,
  - programs.khal, and
  - services.vdirsyncer

that integrate with the new infrastructure.

Co-authored-by: Andrew Scott <3648487+ayyjayess@users.noreply.github.com>
Co-authored-by: Sebastian Zivota <sebastian.zivota@mailbox.org>

wip

* vdirsyncer: allow option userName, disallow userNameCommand

1. account option `userName` is now allowed by `programs.vdirsyncer`

2. The commented out account option `userNameCommand` was required to be set
   by `programs.vdirsyncer` (e.g. as `null`).
   It is now disallowed (commented out) by vdirsyncer.

* khal: added options 'color' and 'priority'
* Apply nixfmt

---------

Co-authored-by: Sebastian Zivota <sebastian.zivota@mailbox.org>
Co-authored-by: Johannes Rosenberger <johannes.rosenberger@jorsn.eu>
Co-authored-by: Johannes Rosenberger <johannes@jorsn.eu>
Co-authored-by: Robert Helgesson <robert@rycee.net>
2023-06-12 23:21:24 +02:00
Sefa Eyeoglu
0144ac418e
sway: add support for XDG autostart using systemd (#3747)
* sway: add support for XDG autostart using systemd

Using the option wayland.windowManager.sway.systemd.xdgAutostart, users
can now choose to start applications present in
$XDG_CONFIG_HOME/autostart when starting their sway session.

This change also renames wayland.windowManager.sway.systemdIntegration
to wayland.windowManager.sway.systemd.enable;

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>

* sway: add Scrumplex to maintainers

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>

---------

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-06-10 12:10:40 +02:00
Li Yang
1e5d741ea3
Espanso: Fix broken module to be compatible with Espanso version 2.x (#4066)
* Fix espanso module to work with 2.x version

* espanso: fix espanso module

This module is currently broken. It does not create `config` and `match` folders which are required by espanso 2.x version.

This PR fixed this issue and support creating multiple files under `config` and
`match` folder.

* Espanso: fix espanso module

This module is currently broken. It does not create `config` and `match` folders which are required by espanso 2.x version.

This PR fixed this issue and support creating multiple files under `config` and `match` folder.

Add descriptions

* Add versionAtLeast and mkRemovedOptionModule

* Correct maintainers list

* remove config key from example

* format basic-configuration.nix

* Update modules/services/espanso.nix

Co-authored-by: Naïm Favier <n@monade.li>

* fix maintainers list

---------

Co-authored-by: Naïm Favier <n@monade.li>
2023-06-09 12:05:01 +02:00
Naïm Favier
607d8fad96
i3-sway: quote output names (#4059)
They can contain spaces.
2023-06-04 15:23:23 +02:00
Naïm Favier
e4272987f7
Drop CODEOWNERS 2023-05-14 12:46:21 +02:00
Robert Helgesson
19c509a6fa
emacs: minor fixes 2023-05-12 23:52:19 +02:00
Naïm Favier
2f6a917ade
i3-sway: fix indentation of bar blocks (#3978)
The `indent` function unindents the first and last line by default, so
the `"bar {"` `"}"` wrapper should go inside the list.
2023-05-11 14:04:29 +02:00
Jian Lin
f714b17031
emacs: extend startWithUserSession to start after graphical session (#3010) 2023-05-11 13:58:37 +02:00
Sefa Eyeoglu
3f3fa731ad
gnome-keyring: fix pass-secret-service assertion (#3963)
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-05-08 13:04:12 +02:00
Cynthia Fox
e34fbe1801
pass-secret-service: Add dbus file, assert (#3953)
* pass-secret-service: Add dbus file, assert

Add the dbus service file in the package folder to XDG_DATA_HOME, as
well as adding an assertion to ensure both it and `gnome-keyring` aren't
enabled at the same time.

* pass-secret-service: Add self to CODEOWNERS

* pass-secret-service: Call out conflicting module(s)

* pass-secret-service: Revert `storePath` change

Signed-off-by: Cynthia Fox <cyntheticfox@gh0st.sh>

* pass-secret-service: Add password-store module default changes info

* pass-secret-service: Fix default info, modularize conflict checks

Signed-off-by: Cynthia Fox <cyntheticfox@gh0st.sh>

* Revert "pass-secret-service: Fix default info, modularize conflict checks"

This reverts commit 851df4fe49.

* pass-secret-service: Fix default info

Signed-off-by: Cynthia Fox <cyntheticfox@gh0st.sh>

* pass-secret-service: Indent `storePath` description

---------

Signed-off-by: Cynthia Fox <cyntheticfox@gh0st.sh>
2023-05-07 23:44:48 +02:00
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
Ilan Joselevich
fa980cc985
batsignal: add module 2023-04-18 08:28:46 +02:00
Stel Abrego
53bd74f786 copyq: fix typo in documentation 2023-04-16 17:14:24 -07:00
Basti
68eaf4b577
i3-sway: add option trayPadding (tray_padding) for bars (#3829) 2023-04-16 17:34:29 -06:00
Naïm Favier
6c76fb5b12
maintainers: rename houstdav000 → cyntheticfox (#3838)
https://github.com/NixOS/nixpkgs/pull/223976
2023-04-03 20:28:29 +02:00
Damien Cassou
67b97020b6
copyq: support xwayland
We do this by adding QT_QPA_PLATFORM=xcb to the service environment as
per the workaround given in

  https://copyq.readthedocs.io/en/latest/known-issues.html#known-issue-wayland

Fixes #3530
2023-03-31 10:05:41 +02:00
midchildan
885a504f80
syncthing: add Darwin support 2023-03-25 13:09:55 +01:00
Damien Cassou
486ba3de4e
copyq: add module 2023-03-22 08:33:34 +01:00
Sefa Eyeoglu
e60080ddfb
listenbrainz-mpd: add module 2023-03-22 08:21:11 +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
Rosario Pulella
db1c22626a
mako: programs.mako -> services.mako (#3265) 2023-03-02 11:58:42 +01:00
Maximilian Bosch
ab7c8f4a84
modules/redshift-gammastep: install package into the profile (#3710)
This is needed to make sure that the tray icon is actually found.
Otherwise an empty icon indicating that it wasn't found is shown.
2023-02-27 15:49:49 +01:00
Anton Plotnikov
4295fdfa6b
avizo: add module
PR #3601
2023-02-22 23:26:41 +01:00
Olmo Kramer
5e889b385c
mpd-mpris: add module 2023-02-20 23:43:42 +01:00
Natsu Kagami
9e9a0e43fe
owncloud-client: add package option 2023-02-19 23:33:03 +01:00
Kylie McClain
6d95d98b6b
xsuspender: fix typo that made debug option a noop (#3653) 2023-02-08 00:15:20 +01:00
midchildan
17dc593930
modules: add platform assertions 2023-02-07 21:54:24 +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
Gaetan Lepage
d1c7730bb7
services.autorandr: add module 2023-02-02 21:54:53 +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
Mario Rodas
c59f0eac51
treewide: fix typos (#3618) 2023-01-24 11:30:04 +01:00
Dixon Sean Low Yan Feng
7026e1a934
gpg-agent: fix SSH support for fish 2023-01-18 23:49:05 +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
stephaneyfx
950aace44e
i3: Do not set i3 package (#3585)
Resolves https://github.com/nix-community/home-manager/issues/3584
2023-01-10 09:57:38 +01:00
Gaétan Lepage
684bdb386c
i3: remove i3/i3-gaps distinction (#3563) 2023-01-08 22:05:36 +01:00
Anton
1786883425
easyeffects: add package option (#3568) 2023-01-05 21:49:20 -07:00