Commit graph

468 commits

Author SHA1 Message Date
Austin Horstman
acd9d8af2f hyprland: migrate settings to native lua option API 2026-05-13 16:13:28 -05:00
Austin Horstman
3f64029740 tests: restore TOML goldens for remarshal 2026-05-12 13:08:25 -05:00
Alex Martens
b5e86c1b19 treewide: remove network-online.target
systemd system units cannot be a dependency of a user-unit.
Reference: https://github.com/systemd/systemd/issues/3312
2026-05-03 08:36:38 -05:00
Austin Horstman
1e313820a3 treewide: adapt toml generator changes
Upstream formatter change in
https://github.com/NixOS/nixpkgs/pull/512319 caused tests to fail.
2026-05-02 20:19:12 -05:00
Robin Stumm
561bd67464 wlsunset: require WAYLAND_DISPLAY env var 2026-05-02 17:20:47 -05:00
blkgoose
5c1b74905c keynav: add tests 2026-05-01 19:25:59 +01:00
0xdsqr
2e54a938cd exo: add module 2026-04-29 22:07:11 -05:00
Alex Martens
8c8e5389e7 tldr-update: add dependency on network-online 2026-04-29 10:35:04 -05:00
N4CH723HR3R
d3b4e4b1bd services.walker: fix paths for walker v2 2026-04-28 22:42:54 -05:00
Austin Horstman
4883af6edb syncthing: avoid init for default gui address
The gui address option always has a default value, so #8644 ended up
making syncthing-init run for every enabled Syncthing setup.

Treat the default gui address as unset for updater purposes so the init
unit is only generated when Home Manager is actually managing Syncthing
configuration. Add regression tests for the default and explicit
guiAddress cases.
2026-04-26 19:44:29 -05:00
Perchun Pak
6837e0d6c5 wayle: fix example 2026-04-23 08:18:13 -05:00
Austin Horstman
667b3c4732 home-manager-auto-upgrade: state-version gate preSwitchCommands
Migrate the preSwitchCommands default to
lib.hm.deprecations.mkStateVersionOptionDefault instead of using a
null sentinel.

Keep the legacy flake update behavior for older state versions and add
tests for the explicit, legacy, and current flake paths.
2026-04-22 19:34:24 -05:00
Takumi
8f259af671 home-manager-auto-upgrade: add switch flags and pre-switch commands
Add a flags option for passing extra arguments to home-manager
switch and a preSwitchCommands option for running commands before the
switch.

Preserve the legacy flake update behavior behind a deprecation warning,
clean up the shell script, and cover the flake path in tests.
2026-04-22 19:34:24 -05:00
Isaac Shiells Thomas
83b3ecce2e wayle: add module
Co-authored-by: Perchun Pak <github@perchun.it>
2026-04-22 15:26:03 -05:00
Thierry Delafontaine
f8e57407f4 proton-pass-agent: adapt the services to match the documentation
See https://protonpass.github.io/pass-cli/commands/ssh-agent/#setting-ssh_auth_sock-automatically-on-login section 'Starting the daemon automatically on login'.
2026-04-22 15:25:18 -05:00
isabel
d1759673d7 tests/pipewire: test for LADSPA 2026-04-22 15:24:44 -05:00
Benedikt Rips
a93d80bcec treewide: remove unused attrs patterns 2026-04-13 22:02:40 -05:00
Benedikt Rips
71402c5df3 treewide: mark unused lambda arguments 2026-04-13 22:02:40 -05:00
yaaaarn
ffa740c0df
syshud: add module
PR #9075
2026-04-12 17:45:41 +02:00
mikaeladev
f899c5d6f3 pipewire: add module 2026-04-11 11:21:32 +02:00
philip-730
a91f37efba services.darkman: add unified scripts option
Add a `scripts` option that places scripts in `$XDG_DATA_HOME/darkman/`,
darkman's unified script interface. The legacy `darkModeScripts` and
`lightModeScripts` options remain supported.

Closes #8940
2026-04-09 19:09:27 -05:00
jtrrll
505e91f877 glance: add darwin support 2026-04-09 18:13:04 -05:00
Austin Horstman
74b0e97937 statix: enable empty_pattern
Enable statix's empty_pattern rule and apply its auto-fixes across the affected modules and tests.
2026-04-08 16:00:28 -05:00
Austin Horstman
01ea51d706 treewide: use inherit for attribute assignments
This change converts redundant attribute assignments of the form `a =
a;` or `a = someSet.a;` into cleaner `inherit` statements. This reduces
verbosity and follows common Nix style for bringing attributes into
scope.

Statix Codes: W03 (manual_inherit), W04 (manual_inherit_from)

Also include statix and the rule in our configuration.
2026-04-08 14:47:48 -05:00
Benedikt Rips
8ec54491cd sshAuthSock: fix naming scheme 2026-04-04 22:28:41 -05:00
Yiheng He
5ee3b3ef63 awww: remove blank space after awww-daemon when extraArgs is empty
awww: split graphical-session-target test into awww-default and awww-extraArgs
2026-04-04 11:33:34 -05:00
Yiheng He
5b6f55b784 awww: run daemon dependent on program mainProgram name 2026-04-04 11:33:34 -05:00
Benedikt Rips
a61b22e323 ssh_auth_sock: init module
`$SSH_AUTH_SOCK` must not be set unconditionally through
'home.sessionVariables' since its value needs to be preserved if it
stems from a forwarded SSH agent. Hence, this commit establishes a
centralized, internal 'ssh_auth_sock.initialization' option for setting
`$SSH_AUTH_SOCK`. It checks whether its value has to be preserved and
injects the initialization code into the proper
'programs.(bash|fish|nushell|zsh).*' options.
2026-04-03 21:15:34 -05:00
Yiheng He
03bdcf84f0 awww: rename swww to awww
Upstream project name has changed
2026-04-03 15:21:14 -05:00
Ihar Hrachyshka
5ed75a0312 services/ssh-agent: treat SIGTERM exit as clean
OpenSSH ssh-agent exits with status 2 when systemd stops it in
non-socket-activated mode.

Home Manager runs ssh-agent that way, so normal user-manager
shutdowns show up as unit failures.

Set SuccessExitStatus=2 for the Linux user service to match
upstream behavior. Startup failures and other unexpected exits
still fail the unit.
2026-03-30 12:14:23 +01:00
Matthias Ahouansou
3aeefa9db2 mpdris2-rs: add module 2026-03-26 16:34:36 -05:00
Austin Horstman
1eb0549a1a password-store: silence settings default warning
Use the deferred state-version helper mode for programs.password-store.settings
so explicit empty and explicit legacy values silence the warning correctly,
while partial legacy-era settings still inherit PASSWORD_STORE_DIR until the
user resolves the migration.

Add integration coverage for password-store and pass-secret-service to verify
legacy, explicit empty, explicit legacy, and partial-settings behavior.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-03-24 14:08:36 -05:00
Fae
f0e123a7e2 clipman: Add extraArgs option to clipman service 2026-03-17 23:50:17 -05:00
Vinicius Deolindo
daa2c22132 colima: only pass --save-config=false if settings were set 2026-03-06 14:28:38 +00:00
Austin Horstman
57134be3b8 tests: align darwin getconf placeholder for ssh/proton agents
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-03-03 14:24:37 -06:00
Karun Sandhu
2b9504d5a0 hyprland: allow closing submaps on dispatch
This adds an 'onDispatch' option to the 'submaps' attribute set,
enabling the 'submap = name, ondispatch' syntax which allows submaps to
be closed automatically after a dispatch.
2026-03-02 23:43:40 -06:00
Vinicius Deolindo
f140aa04d7 colima: add kubectl to the service's $PATH 2026-03-01 09:54:21 -06:00
Utkarsh Gupta
91920e955f colima: add homeDir & respect XDG 2026-02-26 21:34:24 -06:00
Peter Kling
e9b706bef7 syncthing: activate logging for macOS agents 2026-02-13 14:05:36 -06:00
Austin Horstman
ede6d1d95e tests/flameshot: add darwin tests
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-02-12 11:04:03 -06:00
Adam Poit
b3f43db171 colima: fix KeepAlive to prevent process accumulation on macOS
Change KeepAlive from boolean true to SuccessfulExit dictionary in the LaunchAgent configuration.
When colima fails to start (e.g., disk already attached), the boolean true setting causes
launchd to immediately restart it, spawning orphaned limactl usernet processes with each
restart.

Using SuccessfulExit = true ensures the service only restarts on clean exits (exit code 0),
preventing the aggressive restart loop that accumulates orphaned processes.
2026-02-10 21:19:55 -06:00
Austin Horstman
cbd8a72e5f treewide: remove xorg package set
Xorg package set removed, now aliases.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-02-07 13:10:27 -06:00
Johan Larsson
4fda26500b tomat: modify After, PartOf, Environment in service
This allows the tomat service to properly execute hooks, which is a
feature that requires a modifying the PATH and ensuring that the service
is started after the graphical session.
2026-02-03 18:17:40 -06:00
Wael Nasreddine
eec72f1278
launchd: wait for /nix/store before starting agent (#8609)
On Darwin, launchd may attempt to start agents before the Nix store is
mounted and available. This leads to failures when the agent's executable
or arguments reside in the Nix store.

This change wraps the agent's command in a shell script that uses
/bin/wait4path to ensure /nix/store is ready before executing the
original program. It also ensures that ProgramArguments are correctly
escaped and concatenated.
2026-01-27 21:51:48 -08:00
Thierry Delafontaine
85e3ee7e59 service.proton-pass-agent: init module 2026-01-26 09:44:48 -06:00
Jess
83eeebd967 restic: fix evaluation error in rcloneOptions
`lib.add` only works on integers.
2026-01-18 23:01:16 -06:00
Austin Horstman
4e235a8746 treewide: nix fmt
nix fmt updated in nixpkgs with string handling changes

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-01-13 22:51:16 -06:00
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