Commit graph

587 commits

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