Commit graph

338 commits

Author SHA1 Message Date
Austin Horstman
c7fdb7e90b tests/mako: test extraConfig
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-01 21:10:38 -05:00
Austin Horstman
6861cfa165 mako: remove criteria
No longer serves a purpose, was short lived and most people are either
using `settings` or will use `extraConfig`

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-01 21:10:38 -05:00
ckgxrg
214f9bd3a6
linux-wallpaperengine: fix evaluation error when passing null (#7161) 2025-05-30 10:26:35 -05:00
Lyndon Sanche
f5b12be834
polkit-gnome: Change After target (#7137)
Before this change, I was getting `cannot open display:` errors
2025-05-27 19:14:03 -05:00
repparw
ad22169efa
jellyfin-mpv-shim: add module (#7129)
Init of service jellyfin-mpv-shim, emulating plex-mpv-shim already provided.
2025-05-27 19:10:18 -05:00
Eldolfin
d23d20f55d
sway: add bindswitches option (#7095)
Adds the bindswitches option to the sway module.

Bindswitches allows you to run a sway command when a state changes (when a certain event occurs).
See https://github.com/swaywm/sway/wiki#clamshell-mode and sway(5) for more information

It was already possible to configure this through sway.extraConfig but I find this approach dirty as described by the Nix RFC 42, and there is currently no settings as it describes.
2025-05-25 21:46:49 -05:00
Sefa Eyeoglu
cf9ff6d993
wayvnc: init (#7123)
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2025-05-24 18:38:54 -05:00
Damien Cassou
2097441633 services.home-manager.autoExpire: add support for darwin 2025-05-20 08:10:57 -05:00
Damien Cassou
c09ccd7d39 services.borgmatic: add initial support for darwin 2025-05-15 13:07:13 -05:00
Damien Cassou
3b930bb653 services.nix-gc: improve error message when nix.gc.frequency is invalid on darwin
Previously, if an invalid value was passed, the build would fail with:

       error: attribute '"00:02:03"' missing
       at /nix/store/sz92b5gqi0ma61d18fwbihi8p37mkvir-source/modules/services/nix-gc.nix:69:5:
           68|     in
           69|     freq.${frequency};
             |     ^
           70|

There was an assertion that should have prevented this from happening
but the crash would happen before the assertion gets a chance to stop
the build with a nice error message.

This commit both gives the assertion a chance to trigger and improves
the assertion's error message.
2025-05-15 13:07:13 -05:00
Austin Horstman
df556f2a17 tests/mako: add a original deprecation test
Make sure old options still work
2025-05-13 09:41:11 -05:00
Austin Horstman
78ad8e3c31 tests/mako: add a deprecation test
Make sure old criteria still works
2025-05-13 09:41:11 -05:00
Austin Horstman
dc5899978f services/mako: refactor settings to support INI sections
This commit refactors the mako module to properly handle mako INI-style
configuration with sections:

1. Enhanced the `settings` option to support both global settings and
nested sections

2. Update custom INI generator that:
   - Properly formats global settings and sections
   - Adds appropriate newlines between sections

This change allows users to define both global settings and criteria
sections
in a single `settings` attribute, resulting in cleaner and more
intuitive configuration.
2025-05-13 09:41:11 -05:00
Andrew Marshall
708074ae6d treewide: Prevent IFD by default
Import-from-derivation (IFD) has problematic performance, and is disabled in
Nixpkgs by policy. It is arguably good practice for libraries to avoid
it whenever possible, as it has poor ergonomics in some cases,
especially with dry builds, as it requires multiple eval+build phases.

As such, prevent its use in Home Manager by default by putting existing
tests that use IFD behind a config. In CI, run a first pass with IFD
disabled, skipping tests without the config. Then run a second pass with
IFD enabled and including tests with the config. This second pass will
also run tests without the config, but they should be cached from the
previous run, so the cost is not double (only eval time should be paid
twice). It’s necessary to change from using NMT’s `run` to `build` as
`run` itself uses IFD.

Of the tests that have the config:

- kitty/theme-to-themeFile: this is a test for deprecated config, and so
  should be removed eventually anyway
- podman: the implementation relies on IFD to create individual systemd
  units from the derivation output, and so it is not straightforward to
  remove the IFD; doing so would require rethinking how the module works
  to instead have the systemd unit files included as-is rather than as
  individually configured units in the Nix config.
2025-05-07 10:34:18 -05:00
awwpotato
5da6eafceb
treewide: remove unused code (#6985) 2025-05-07 10:03:21 -05:00
Aguirre Matteo
60964ff845
mako: fix example config (#6987) 2025-05-06 21:06:15 -05:00
Austin Horstman
5f1f472565
mako: use ini atom type (#6977)
Fix backwards compatibility
2025-05-04 21:44:38 -05:00
awwpotato
8167af657c
mako: fix criterias typo (#6968) 2025-05-04 09:17:09 -05:00
Aguirre Matteo
d1bbab6b04
mako: refactor (#6948)
Refactors the services.mako module to replace all its configuration options with a freeform settings option and criterias. I also added a test for the configuration.
2025-05-03 19:09:56 -05:00
Aguirre Matteo
f15be4feb6
clipcat: add module (#6946) 2025-05-02 08:22:35 -05:00
Austin Horstman
e9c80e277b tests/gpg-agent: add pinentry-program test
Add test that the code works to generate the correct pinentry-program
configuration when supplying both options.
2025-04-29 20:36:45 -05:00
Austin Horstman
a4c3ce44fc gpg-agent: pinentryPackage -> pinentry.package and add pinentry.program`
Alternative option for allowing a user to automatically configure what
binary to use from a `pinentry` package. Previously, we always used
`meta.mainProgram` but, there are packages that provide multiple
binaries and this would allow flexibility for a user to override the
default program used.
2025-04-29 20:36:45 -05:00
phanirithvij
9c3b33c2a7 espanso: add wayland test
Signed-off-by: phanirithvij <phanirithvij2000@gmail.com>
2025-04-27 11:36:10 -05:00
phanirithvij
6ed700bfe4 espanso: fix test
Signed-off-by: phanirithvij <phanirithvij2000@gmail.com>
2025-04-27 11:36:10 -05:00
K900
abfad3d295 treewide: substituteAll -> replaceVars/substitute
substituteAll is now officially deprecated.
2025-04-24 13:40:11 +02:00
Austin Horstman
82ee14ff60
treewide: remove with lib (#6871)
Remove from services.
2025-04-21 11:00:59 -05:00
Rouven Seifert
b0cc092405
shikane: init module (#4096) 2025-04-20 20:21:46 -05:00
Jess
f98314bb06
restic: init module (#6729) 2025-04-19 22:53:06 -07:00
Austin Horstman
fc09cb7aaa tests/labwc: fix autostart
Wasn't using a normalized store path, didn't notice in review.
2025-04-18 11:35:36 -07:00
LesVu
d8263c0b84
labwc: Add module for Labwc (#6807)
Add a module for labwc compositor.
Add myself as labwc module maintainer
2025-04-16 11:15:07 -05:00
Johan Larsson
f0c69ede70
way-displays: init module (#6791) 2025-04-11 08:15:26 -05:00
Amadej Kastelic
e15c4203ea
hyprland: plugins use hyprctl from path (#6801) 2025-04-11 07:59:55 -05:00
Austin Horstman
f1ffd097e7 hyprsunset: support multiple commands to IPC 2025-04-10 20:55:24 -07:00
Austin Horstman
cf6314f8e1 hyprsunset: init 2025-04-10 20:55:24 -07:00
Amadej Kastelic
7946193670
hyprland: load plugins using exec-once (#6789)
Should eliminate crashes / plugin version mismatches when updating hyprland.
2025-04-09 13:38:08 -05:00
Austin Horstman
cba2f9ce95 treewide: reformat nixfmt-rfc-style
Reformat repository using new nixfmt-rfc-style.
2025-04-08 08:50:05 -07:00
Austin Horstman
320e152d0b wlsunset: systemdTarget used for all targets 2025-04-06 21:06:22 -07:00
Austin Horstman
8c9b54504c
swaync: use x-restart-triggers for reload (#6764)
Use x-restart-triggers to reload on file change, since users
with impermanence setups were running into issues with onChange and calling the `swaync-client` to handle the hot reload.
2025-04-06 20:36:01 -05:00
Evyatar Stalinsky
b5e2956513 redshift/gammastep: add tray tests 2025-04-05 06:36:25 -07:00
Thiago Kenji Okada
28242a60d3 home-manager-auto-expire: init
This commit introduces a new service that expires old Home-Manager
generations.
2025-04-01 20:14:26 -05:00
Madeleine Sydney Ślaga
ce287a5cd3
mpdscribble: add module (#6259) 2025-03-25 21:44:04 -05:00
Benedikt M. Rips
57e9a8a290
davmail: init module (#6674) 2025-03-23 09:01:35 -05:00
Austin Horstman
9172a6f956
skhd: add module (#6682) 2025-03-22 22:49:54 -05:00
Austin Horstman
63e77d09a1
jankyborders: add module (#6677) 2025-03-22 14:02:25 -05:00
Austin Horstman
c1ca8974b3 hyprpolkitagent: use wayland.systemd.target 2025-03-20 23:08:16 -05:00
Bob van der Linden
29c6f2b0cb polkit-gnome: init module 2025-03-20 23:08:16 -05:00
Bob van der Linden
5503a758f9 lxqt-policykit-agent: init module 2025-03-20 23:08:16 -05:00
Bob van der Linden
cc538c3793 hyprpolkitagent: init module 2025-03-20 23:08:16 -05:00
hauskens
6b8cea6473 easyeffects: add option to import presets
added options to import presets
added tests
added hausken as maintainer
2025-03-19 14:45:27 -05:00
Tarow
27a72d9913
podman: include systemd in quadlet service path
Podman uses systemd-run to setup transient systemd timers, e.g. for healthchecks.

On systems where systemd is not present in /run/current-system/sw/bin or ~/.nix-profile/bin (like one of my Ubuntu hosts), setting up the transient timers will fail. For containers with healthchecks configured, this results in the container being stuck in starting state.

Relevant issue here: containers/podman#25034
2025-03-19 14:09:57 -05:00