Commit Graph

421 Commits

Author SHA1 Message Date
Thierry Delafontaine
f4bcc1ae1c podman: add darwin support with machine management
- restructure module from `podman-linux` to platform-agnostic `podman`
- move linux-specific implementation to `modules/services/podman/linux/`
- add darwin module with declarative machine management
- implement launchd-based watchdog for auto-starting machines
- maintains backward compatibility with existing linux functionality
2026-01-09 09:15:55 -05:00
Lena Fuhrimann
cd6e96d56e hyprland: import XDG_SESSION_TYPE for systemd 2026-01-08 16:53:03 -05:00
Xinyang Li
47db0fde35 ssh-agent: add allowedPKCS11Providers option 2026-01-08 13:10:56 -05:00
Austin Horstman
fb6a8404ee redshift-gammastep: migrate to lib.cli.toCommandLineShellGNU
Migrates from the deprecated toCommandLineShell to toCommandLineShellGNU.

This changes the output format from space-separated short options
(-c /path) to concatenated GNU-style options (-c/path). Both formats
were verified to work correctly with redshift and gammastep.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-01-08 11:21:16 -05:00
Austin Horstman
9afe77a70b wlsunset: migrate to lib.cli.toCommandLineShellGNU
Migrates from the deprecated toGNUCommandLineShell to toCommandLineShellGNU.

This changes the output format from space-separated short options
(-t 3500) to concatenated GNU-style options (-t3500). Both formats
were verified to work correctly with wlsunset.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-01-08 11:18:42 -05:00
Austin Horstman
246b8eaffb linux-wallpaperengine: migrate to lib.cli.toCommandLineGNU
Replace deprecated lib.cli.toGNUCommandLine with lib.cli.toCommandLineGNU. 
Should support the GNU style of convention.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-01-08 10:17:17 -06:00
Benedikt Rips
d1da1de5c2 lib.darwin: simplify assertInterval 2026-01-08 14:29:57 +01:00
Austin Horstman
bdaa374383 tests/hyprpaper: update basic configuration
Show the newer format and test the proper generation of config.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-01-07 11:07:21 -05:00
Timothy Gallion
38e187fd2f podman-linux: fix tests expected results and modules
Update the expected results to match changes in the podman generator
and fix not importing the podman stub overlay with module import
behind `mkIf` introduced in #6905.
2026-01-06 13:35:00 +01:00
PerchunPak
d4e4d5cfa3 lib: make toHyprconf support strings and attrs in sections
Adds support for

    section = [
      "abc"
      { a = 123; }
    ];

Which gets generated to

    section=abc

    section {
      a=123
    }

This is very useful with the new windowrule syntax, where you can
create anonymous window rules as strings and named rules as attribute
sets. See <https://wiki.hypr.land/Configuring/Window-Rules/>.
2026-01-02 15:56:43 +01:00
Austin Horstman
e4e78a2cbe tests/linux-wallpaperengine: add execstart test
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-12-30 08:22:50 -06:00
Benedikt Rips
89c9508bbe ssh-agent: set $SSH_AUTH_SOCK in non-interactive shells
Since PR #8099, the module sets `$SSH_AUTH_SOCK` through shells' options
for interactive shell initialization instead of
`home.sessionVariablesExtra`. The replacement was not faithful, however,
since `home.sessionVariablesExtra` is sourced also in non-interactive
shells. With this commit, the shells' profile options (where
`home.sessionVariablesExtra` is sourced) are used to set
`$SSH_AUTH_SOCK`.

Fixes #8129.
2025-12-17 08:15:55 -06:00
will
58bf3ecb2d modules/services/colima: init 2025-12-13 21:17:23 -06:00
Olmo Kramer
4767a9c719 herbstluftwm: Make herbstclient alias optional
The `herbstclient` alias in the generated `autostart` made it impossible
to use bash functions.

This makes the `herbstclient` alias optional by adding an extra
`herbstclientAlias` option on the herbstluftwm configuration. The new
option defaults to `false` as to not confuse newcomers to the
herbstluftwm module, which is not a breaking change because it was only
an optimization.
2025-12-12 23:53:36 -06:00
Aguirre Matteo
2e02e22e28 hyprlauncher: add module 2025-12-05 22:35:12 -06:00
Patrick Steinhardt
281e9398cc swayidle: improve confusing "events" configuration
With swayidle one can configure two different kinds of hooks:

  - Idle timeouts are executed after the session has been idle for a
    specific amount of time.

  - Events are executed when systemd notifies us that for example the
    user session is locked or that the device is about to suspend.

While not obvious, there is a significant difference between how these
two kinds are configured: there can be several timeouts with separate
commands to be executed, but each event can only be specified once. If
an event is specified multiple times, then the last command wins.

This can be very easy to miss in swayidle's documentation. Furthermore,
because the config is a list of `{ event = "..."; command = "..."; }`
attrset, we double down on this confusion and make it seem like having
multiple handlers for an event was actually supported.

Fix this by converting from a list of "event" submodules to an attrset
where the key is the event name and the value is the command to be
executed. This makes it impossible to specify multiple commands for a
single event by accident.

If a user _does_ want to have multiple commands executed on any event
they can for example use `pkgs.writeShellScript` and manually chain the
commands in that script.
2025-12-02 22:24:56 -06:00
Aguirre Matteo
db44f38047 ludusavi: add test 2025-12-02 21:57:23 -06:00
octvs
a26b74229f test: update tests path for new pwd-store path 2025-11-25 23:33:06 -06:00
hausken
125e40fa68 easyeffects: Make service compatible with v8.0.x (#8192)
Fixes #8185

The upstream easyeffects project has migrated from GTK to Qt, deprecating --gapplication-service and removing DBus integration. See #8185 for more details.
Tested with version 8.0.3 and 7.2.5 , uses lib.versionOlder cfg.package.version "8.0.0" to be backwards compatible.

    Removed DBus service configuration (Type=dbus, BusName)
    Move presets and config dir from $XDG_CONFIG_HOME to $XDG_DATA_HOME (new upstream location)

Other notes
Since they have moved config directory, it will warn show warnings because of empty dirs. These warnings will also show in the service until you remove them. I dont think this is a problem and new users will not experience this.

easyeffects --version
easyeffects: presets_directory_manager.cpp:140  Old /home/hausken/.config/easyeffects/output directory detected. Migrating its files to /home/hausken/.local/share/easyeffects/output
easyeffects: presets_directory_manager.cpp:149  Could not copy any file. Aborting migration of /home/hausken/.config/easyeffects/output
easyeffects: presets_directory_manager.cpp:140  Old /home/hausken/.config/easyeffects/irs directory detected. Migrating its files to /home/hausken/.local/share/easyeffects/irs
easyeffects: presets_directory_manager.cpp:149  Could not copy any file. Aborting migration of /home/hausken/.config/easyeffects/irs
easyeffects: presets_directory_manager.cpp:140  Old /home/hausken/.config/easyeffects/rnnoise directory detected. Migrating its files to /home/hausken/.local/share/easyeffects/rnnoise
easyeffects: presets_directory_manager.cpp:149  Could not copy any file. Aborting migration of /home/hausken/.config/easyeffects/rnnoise
easyeffects: presets_directory_manager.cpp:140  Old /home/hausken/.config/easyeffects/autoload/output directory detected. Migrating its files to /home/hausken/.local/share/easyeffects/autoload/output
easyeffects: presets_directory_manager.cpp:149  Could not copy any file. Aborting migration of /home/hausken/.config/easyeffects/autoload/output
2025-11-24 18:56:44 +01:00
Nathan Henrie
d10a9b16b2 espanso: fix accessibility permissions prompt for macos (#8180)
On macos 26 it seems that one has to run the binary from within the
application bundle to get the Accessibility prompt to work as expected

fixes https://github.com/nix-community/home-manager/issues/8179
2025-11-21 12:06:12 -06:00
Joonas Rautiola
211594c88d swww: add package to service path
Signed-off-by: Joonas Rautiola <joonas@rautiola.co>
2025-11-15 09:51:45 +01:00
XYenon
c053d701d6 ssh-agent: add macOS support 2025-11-08 22:10:01 -06:00
Johan Larsson
2907788315 tomat: init service (#8138) 2025-11-06 16:44:08 +00:00
Austin Horstman
ab0d3db1aa tests/darkman: python -> python2
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-11-02 22:59:59 -06:00
Austin Horstman
d9cd40d2da local-ai: string -> str (#8116)
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-11-03 04:41:08 +00:00
Ilya Savitsky
61f2cc5908 local-ai: init module (#6718) 2025-11-02 22:04:44 -06:00
Sami Haahtinen
255b6a0ef2 home-manager-auto-upgrade: add flake support (#8053)
Adds the ability for the auto-upgrade service to update a Nix flake
instead of Nix channels.

This is controlled by a new `useFlake` boolean option. When enabled, the
service will run `nix flake update` in the directory specified by the
`flakeDir` option.

`flakeDir` defaults to the standard Home Manager configuration directory
(`~/.config/home-manager`), making this feature work out-of-the-box for
most users. The path is passed to the upgrade script via an environment
variable in the systemd service unit.
2025-10-26 16:21:41 -05:00
Benedikt M. Rips
f2f1076c1f treewide: remove no-ops (#8061) 2025-10-26 15:43:53 -05:00
Dixon Sean Low Yan Feng
b652e703f1 picom: add test for extraConfig 2025-10-25 21:15:52 -05:00
Austin Horstman
47c74e4fd0 wl-clip-persist: add module
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-10-16 19:26:10 -05:00
Leon Schwarzäugl
ac16cc25c6 autotiling: init module 2025-10-11 22:19:18 -05:00
Austin Horstman
06e268d66b services/barrier: drop module
Upstream package removed and unmaintained project. Recommended to
replace with maintained alternatives such as `deskflow` and `input-leap`

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-10-05 14:19:07 -05:00
Enrico Stemmer
66e9a024b9 hyprshell: fixed tests to use correct name for style file 2025-10-03 23:00:58 -05:00
Yethal
6238bbc0ae tailscale-systray: add module (#7821)
Added module for official Tailscale systray app
2025-09-26 15:14:09 +00:00
Simon Gate
39d26c1686 ssh-agent: add defaultMaximumIdentityLifetime setting (#7876)
Add option to ssh-agent to add a default value for the maximum lifetime
of identities added to the agent.
2025-09-25 09:26:39 -05:00
Robert Helgesson
2324540520 syncthing: assert tray service content in test 2025-09-25 09:42:44 +02:00
Robert Helgesson
ade850153b syncthing: remove deprecated code
Specifically, in 2021 the use of `services.syncthing.tray` as a
Boolean was deprecated. This removes the associated code.
2025-09-25 08:49:23 +02:00
Robert Helgesson
9f408dc51c ssh-tpm-agent: fix test case 2025-09-17 16:26:12 +02:00
novenary
75f97fcbe3 sway: order input config from least to most specific (#7684)
Workaround for https://github.com/swaywm/sway/issues/7271.
2025-09-16 22:22:28 -05:00
Robert Helgesson
11cc5449c5 tests: fix tests 2025-09-15 09:22:58 +02:00
Robert Helgesson
6112458312 dunst: fix deprecated configuration in example 2025-09-11 10:15:27 +02:00
Robert Helgesson
584fccfdfa dunst: add tests 2025-09-11 10:15:27 +02:00
Damien Cassou
a7408ba6da syncthing: Fix for syncthing v2 (#7762) (#7766) 2025-09-07 09:07:58 -05:00
Gaspard Culis
6159629d05 swayosd: Remove non-existing display arg option (#7752) 2025-09-03 07:42:44 -05:00
Austin Horstman
061793150a tests/hyprland: add submap test
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-09-01 23:49:51 -05:00
Anton Tetov
99a69bdf8a pizauth: reload on change and option type
- added onChange pizauth reload for config file

- clientSecret is not required for outlook365 so should be nullable.
2025-08-30 13:53:07 -05:00
Aguirre Matteo
6911d3e7f4 nix-gc: rename frequency to dates 2025-08-21 16:03:33 -05:00
Benedikt Rips
0d1e116e4f ssh-tpm-agent: match the upstream systemd units 2025-08-18 21:16:27 -05:00
Benedikt Rips
f9ea660b24 ssh-tpm-agent: fix ssh-agent proxy 2025-08-18 21:16:27 -05:00
Benedikt Rips
94a238f9c1 ssh-agent: add option for the socket name 2025-08-18 21:16:27 -05:00