1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-11-30 06:59:45 +01:00
Commit graph

691 commits

Author SHA1 Message Date
Austin Horstman
223743313b
hyprpaper: add module 2024-05-10 15:35:59 +02:00
Vincent Gatine
4855bfb6ce
kanshi: update configuration to better match upstream 2024-05-10 12:46:37 +02:00
Daru
3dfe05aa9b
wlsunset: update options 2024-05-05 19:59:14 +02:00
Austin Horstman
fdaaf543ba
hypridle: add module 2024-05-05 11:13:18 +02:00
Ryan
f69bf670d2
cliphist: add extraOptions option
Add an extraOptions option that would be appended to the cliphist
command.
2024-05-05 09:37:54 +02:00
9p4
e0825ea211
swaync: fix style path 2024-05-05 01:28:16 +02:00
Kaleo
6d3b6dc922
conky: add module 2024-05-01 00:11:15 +02:00
Yomi Ikuru
5632659886
swaync: add module
Co-authored-by: Ryan Horiguchi <rhoriguchi@users.noreply.github.com>
2024-04-30 00:16:28 +02:00
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