Commit graph

365 commits

Author SHA1 Message Date
awwpotato
ad5d2b4aa7 rescrobbled: add module 2025-08-06 00:15:47 -05:00
Martin Popovski
4bf124678b
hyprland: Add "output" to importantPrefixes option default (#7507)
Adds support for `monitorv2` syntax
2025-07-29 16:41:27 -05:00
Austin Horstman
1a8b119e60 tests/caffeine: add test coverage
- Add basic-service.nix test for caffeine service configuration
- Test systemd service generation with proper graphical-session.target
integration

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-29 14:47:02 -05:00
Austin Horstman
cec4c1be7e tests/ssh-agent: add test coverage
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-29 14:46:54 -05:00
Austin Horstman
85a5287116 tests/gnome-keyring: add test coverage
- Add basic-service.nix test for default gnome-keyring configuration
- Add custom-components.nix test for pkcs11, secrets, and ssh components

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-29 14:46:36 -05:00
kerfuzzle
fa184c5460 hyprsunset: Add tests for transitons option
Adds tests to ensure that the services are still created correctly and the correct deprecation warnings are shown

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-29 13:11:56 -05:00
kerfuzzle
7c01358ff6 hyprsunset: Add tests for hyprsunset.conf file
Adds tests to verify that the configuration files and services were created sucessfully, even in a no configuration case

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-29 13:11:56 -05:00
Austin Horstman
0f9fae161d tests/arrpc: add service module test coverage
- Add custom-target.nix test for custom systemd target configuration

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-29 10:31:11 -05:00
Austin Horstman
b4752b0eda treewide: format with latest stable formatter
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-23 10:27:52 -05:00
Yethal
dcfd70f80f
ssh-tpm-agent: init module (#7495) 2025-07-17 19:31:15 -05:00
1444
4cc9cc67eb
wayfire: fix broken configuration.ini test (#7478)
Normalize store paths so it will pass even with flake updates and on different architectures.
2025-07-15 10:20:41 -05:00
Austin Horstman
3976e0507e test/wpaperd: add test for empty settings
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-07-11 15:26:17 -05:00
1444
e90b28967c
wayfire: allow path in settings (#7427) 2025-07-11 10:15:54 -05:00
Aguirre Matteo
d81cb050f5
hyprshell: add module (#7409) 2025-07-10 14:23:15 -05:00
Terje Larsen
83f978812c
podman: support mounts configuration (#7377) 2025-07-03 19:34:57 -05:00
Austin Horstman
41a5f0a98a tests/nix-gc: reorganize darwin and linux
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 23:58:37 -05:00
Austin Horstman
7a64c02340 tests/imapnotify: reorganize darwin and linux
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 23:58:37 -05:00
Austin Horstman
5618e7a748 tests/home-manager-auto-expire: reorganize darwin and linux
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 23:58:37 -05:00
Austin Horstman
d2b2c72add tests/espanso: reorganize darwin and linux
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 23:58:37 -05:00
Austin Horstman
c283a23ef6 tests/emacs: reorganize darwin and linux
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 23:58:37 -05:00
Austin Horstman
e9bde7692e tests/git-sync: reorganize darwin and linux
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 23:58:37 -05:00
Austin Horstman
2c4f8cb7d6 tests/yubikey-agent: reorganize darwin and linux
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 23:58:37 -05:00
Austin Horstman
bbad45b7ea tests/jellyfin-mpv-shim: fix tests
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 23:58:37 -05:00
Austin Horstman
06c1392ca8 tests: implement auto importing for modules
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 23:58:37 -05:00
Austin Horstman
fefeb0e928 tests/redshift-gammastep: check file exists first
Just leads to less confusing output when we have a missing file.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 23:58:37 -05:00
LesVu
2fbd694fec labwc: Fix pipemenu(#7236) and icon in menu generation
Add the generation of icon and pipemenu
2025-06-22 22:51:51 -05:00
Austin Horstman
975908d310 tests/clipcat: fix expected config
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-06-22 12:47:26 -05:00
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