Commit graph

899 commits

Author SHA1 Message Date
Gergő Gutyina
bb846c031b
dwm-status: run with --quiet (#7144) 2025-06-03 07:58:09 -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
Austin Horstman
654b686536 mako: add extraConfig back
Need ordered lines for some of mako config. Don't have time to update
generator to support it.

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
Nick Hassan
d800d198b8
podman: use quadlet source from file drv (#7102)
fixes potentially unwanted variable substitution
2025-05-30 10:25:03 -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
Austin Horstman
7419250703
treewide: convert package options to use mkPackageOption (#7116)
This commit converts `package = mkOption` declarations throughout the
codebase to use the more modern and consistent `lib.mkPackageOption`
function.

Key changes:
- Simple package options: `mkOption { type = types.package; default = pkgs.foo; }`
  becomes `lib.mkPackageOption pkgs "foo" { }`
- Package set options: Uses correct package set as first argument with
  `pkgsText` parameter (e.g., `lib.mkPackageOption pkgs.vimPlugins "plugin" { pkgsText = "pkgs.vimPlugins"; }`)
- Removes redundant descriptions that just restate the package name
- Preserves examples and extra context where meaningful
- Handles submodule plugin options properly with `null` defaults

This modernizes the option declarations and makes them more consistent
with current nixpkgs patterns while maintaining full backward compatibility.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-23 00:42:38 -05:00
Damien Cassou
2097441633 services.home-manager.autoExpire: add support for darwin 2025-05-20 08:10:57 -05:00
Damien Cassou
04ebd2c422 services.home-manager.autoExpire: extract cleanup script to new variable 2025-05-20 08:10:57 -05:00
Damien Cassou
382b34f656 services.home-manager.autoExpire: wrap systemd configuration within a isLinux condition 2025-05-20 08:10:57 -05:00
Damien Cassou
098e365dd8 borgmatic: add darwin-specific documentation to services.borgmatic.frequency 2025-05-15 15:16:49 -05:00
Damien Cassou
8ae36f8ea2 nix-gc: fix documentation 2025-05-15 15:16:49 -05:00
Rosario Pulella
c310818dca
mako: Fix missing dbus service file (#7065) 2025-05-15 13:28:43 -05:00
Damien Cassou
c09ccd7d39 services.borgmatic: add initial support for darwin 2025-05-15 13:07:13 -05:00
Damien Cassou
34d44d7f1b services.borgmatic: wrap systemd configuration within a isLinux condition 2025-05-15 13:07:13 -05:00
Damien Cassou
1c2fccef83 services.nix-gc: extract darwin agent interval code to new library file 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
andre4ik3
02ea79853c
emacs: respect defaultEditor on Darwin (#7063)
Currently on Darwin, services.emacs.defaultEditor = true isn't respected, as the variable is only configured on Linux.

This PR simply moves the variable out to a common block, so it's applied on all platforms.
2025-05-14 22:27:36 -05:00
Austin Horstman
0be2c246e3 mako: deprecate criteria option
This commit adds proper deprecation warnings and documentation for the 'criteria' option, guiding users to use the more flexible 'settings' option with nested attributes instead.

- Added warning message when users use the deprecated option

- Updated documentation with examples showing the new approach
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
Maya the bee
13289f0642 services.autorandr: improve systemd unit description 2025-05-10 16:16:08 -05:00
Maya the bee
1875b5a160 services.autorandr: improve configurability
Add `matchEdid` and `extraOptions` for configuration.
2025-05-10 16:16:08 -05:00
Maya the bee
555f88ad34 services.autorandr: add package option 2025-05-10 16:16:08 -05:00
Maya the bee
4f44221724 services.autorandr: add lowlevl to maintainers 2025-05-10 16:16:08 -05:00
awwpotato
5da6eafceb
treewide: remove unused code (#6985) 2025-05-07 10:03:21 -05:00
Austin Horstman
f78a171fe4 mako: use toKebabCase for option transformation
Update mako module to pass lib.hm.strings.toKebabCase to the
mkSettingsRenamedOptionModules
function, which ensures option names are properly converted to
kebab-case format.
2025-05-07 10:02:56 -05:00
Austin Horstman
e121442b65 lib/strings: add toSnakeCase
Utility function for converting camelCase strings to snake_case
2025-05-07 10:02:56 -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
Dawid Ciężarkiewicz
1e8c62c651 gpg-agent: avoid console output when using ssh
Without `--quiet` gpg-connect-agent sometimes prints

```
gpg-connect-agent: connection to the agent is in restricted mode
```
2025-05-02 18:56:14 +02:00
Jess
2eabb26d08
restic: allow the convenience script to source environmentFile (#6947) 2025-05-02 08:23:57 -05:00
Aguirre Matteo
f15be4feb6
clipcat: add module (#6946) 2025-05-02 08:22:35 -05:00
pancho horrillo
81431b6d6f
gpg-agent: fix typo (#6950)
See 46e634be05/pkgs/by-name/wa/wayprompt/package.nix (L60)
2025-05-01 15:11:25 -05:00
Jess
5f217e5a31 restic: change service type from simple to oneshot
Fixes #6930
2025-04-30 14:19:59 -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
29fce40e13 espanso: add crossplatform support
Co-authored-by: Austin Horstman <khaneliman12@gmail.com>
Signed-off-by: phanirithvij <phanirithvij2000@gmail.com>
2025-04-27 11:36:10 -05:00
phanirithvij
1d2f0b3d4b espanso: add phanirithvij as maintainer
Signed-off-by: phanirithvij <phanirithvij2000@gmail.com>
2025-04-27 11:36:10 -05:00
Johan Eklund
ce8dc1f77a
xsettingsd: Remove erroneous lib. insertion (#6877) 2025-04-22 07:34:49 -05:00
Austin Horstman
81541ea36d
lorri: fix missing makeSearchPath (#6875) 2025-04-21 14:55:32 -07: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
S1rDev10us
b35bccc32d
home-manager-auto-expire: fix spelling error (#6829) 2025-04-16 13:41:23 -05: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
db56335ca8
way-displays: fix failing use of lib.mkDefault (#6809)
The resulting YAML file is mangled by the use of `lib.mkDefault`,
causing the service to fail. But we can safely remove it anyway due to
the use of `mergeSets` here.
2025-04-12 17:57:05 -05:00