1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-12-06 17:11:03 +01:00
Commit graph

1270 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
Alex Hamilton
d36ac1f0db
hwatch: add module (#7158) 2025-05-30 10:16:26 -05:00
Thomas Mühlbacher
d3a3aee558
dconf: Fix Gio module variable breakage (#7146)
In some setups, this would cause missing Gio modules that cause e.g.
Nautilus to not be able to view the XDG trash, and potentially other
issues.

Fixes: ec8205c3 ("dconf: set env var")
Fixes: #7143
2025-05-30 07:57:34 -05:00
Mohamad Fikri
85a27991d5
fish: add binds option (#7121)
binds options is a wrapper of fish_user_key_bindings that contains
custom binds
2025-05-28 22:35:08 -05:00
MunsMan
13ed57aaa6
meli: adding the meli email client (#7111)
Meli email client integrated into the accounts.email.accouts settings.
2025-05-28 22:30:10 -05:00
Ivan Kirilov Dimitrov
ad88262f06 kitty: make extraConfig obey mkOrder
this change makes kitty.extraConfig obey the lib.mkOrder function so
that text can be inserted at the right place.
2025-05-28 22:03:23 -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
Rosario Pulella
03affdcbf2
dconf: Fix dconf config not apply correctly (#7130) 2025-05-25 20:39:22 -05:00
Austin Horstman
c096c39afc sketchybar: config sourceFileOrLines
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-24 19:54:43 -05:00
Austin Horstman
e4b0102f69 sketchybar: use finalpackage wrapper
Use finalPackage pattern with wrapper so that people who don't use the
service can benefit from the other options.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-24 19:54:43 -05:00
Austin Horstman
5dc3bc3368 sketchybar: add module
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-24 19:54:43 -05:00
Sefa Eyeoglu
cf9ff6d993
wayvnc: init (#7123)
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2025-05-24 18:38:54 -05:00
Rosario Pulella
f9186c64fc
Revert "fontconfig: Fix missing default fontconfig files (#7045)" (#7103)
This reverts commit 65d2282ff6.
2025-05-21 20:04:44 -05:00
octvs
29dda415f5
qutebrowser: add support for per domain settings (#7078)
Add `programs.qutebrowser.perDomainSettings` which let's one to set
configuration options for specific URLs [1].

It option doesn't check if the options passed to it are valid, it
translates the config to python code to be written on the file as is.
Mimicking the behaviour of `programs.qutebrowser.settings`.

Added a new test case `test-qutebrowser-url-settings` for testing the
implementation.

[1]: bb7bbb6ead/doc/help/configuring.asciidoc (per-domain-settings)
2025-05-20 12:43:52 -05:00
Rosario Pulella
65d2282ff6
fontconfig: Fix missing default fontconfig files (#7045)
This adds the fontconfig's default files to
`home-path/etc/fonts/fonts.conf` and `home-path/etc/fonts/conf.d/*`
2025-05-20 08:22:08 -05:00
Damien Cassou
2097441633 services.home-manager.autoExpire: add support for darwin 2025-05-20 08:10:57 -05:00
awwpotato
74d31e1165
ptyxis: init module (#7075) 2025-05-16 15:29:26 -05:00
Nick DeGroot
a1a72d18ee
pgcli: init (#7072) 2025-05-15 22:50:09 -05:00
Jonathan Bouchard
b022c9e3b8
vscode: allow specifying paths for VSCode JSON settings (#7055)
Enables users to provide paths to JSON files for VS Code settings,
tasks, and keybindings. This allows for more flexible configuration
management and reuse of existing configuration files instead of using inline configurations.
2025-05-15 13:32:46 -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
Rosario Pulella
ad1e8bb782
dbus: Create with pacakges options (#7064)
This adds a module for dbus with only one option, `packages`.
The `dbus.packages` options allows users to specify packages to have
their dbus service files (from `/share/dbus-1/services`) linked to the
users dbus services directory (`$XDG_DATA_HOME/dbus-1/services/`),
effectively enabling the services.
2025-05-15 12:59:12 -05:00
Thiago Kenji Okada
5f36563a5c zsh: consider zsh.{profile,login,logout,env}Extra in prezto
Right now the `zsh.prezto` module ignores the contents of the
`zsh.{profile,login,logout,env}Extra` options, so it means that if you
try to set, e.g., `zsh.profileExtra = "something";` this option will be
(silently) ignored.

This commit fixes another issue: since the main `zsh` module sets
`home.file."${relToDotDir".zshenv"}".text` while `zsh.prezto` set the
same file using `.source`, `zsh.prezto` would have priority so the
environment variables from Home-Manager would not be loaded in non-NixOS
systems. Now that we are using `.text` for both, the issue is fixed.
2025-05-13 19:59:12 -05:00
awwpotato
b44c39cf46
foliate: fix theme settings example (#7053) 2025-05-13 19:06:18 -05:00
awwpotato
8d832ddfda
foliate: init (#7049) 2025-05-13 12:05:32 -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
awwpotato
0b24658ec0
halloy: add themes option (#7043) 2025-05-12 13:08:49 -05:00
Aguirre Matteo
910292fe34
halloy: add module (#7034) 2025-05-11 18:52:09 -05:00
Alex Hamilton
ecb2162422 numbat: add module
Numbat is a scientific calculator with full support for physical units.
2025-05-11 18:51:14 -05:00
awwpotato
5daf23a38f
zellij: add themes option (#7031) 2025-05-11 18:47:55 -05:00
awwpotato
de496c9ccb
television: add support for channels (#7026) 2025-05-10 20:08:10 -05:00
Benjamin Tan
e9bd9568db
jujutsu: store configuration in $XDG_CONFIG_HOME for all platforms (#6994)
Following https://github.com/jj-vcs/jj/pull/6300, Jujutsu has deprecated
support for configuration files in `~/Library/Application Support` for
darwin. The XDG-standard configuration location can be used instead, for
all platforms.
2025-05-09 08:27:49 -05:00
B1kku
8f723d6135
lutris: fix runners not working due to wrong config name (#7008) 2025-05-09 08:21:19 -05:00
Aguirre Matteo
8d2ee39915
waveterm: add module (#7004) 2025-05-09 08:17:40 -05:00
B1kku
a51598236f
lutris: add module (#6964)
Add any number of wine packages
    Add any number of proton packages
    Link runners directly from nix instead of using lutris.
    Specify the steam package lutris should use.
    Extra packages passed to lutris (mainly since it's often missing essential things, such as umu-launcher)
2025-05-08 13:01:35 -05:00
pancho horrillo
3c59c5132b
wayprompt: init module (#7002)
A module for configuring Wayprompt¹, a password-prompter for
Wayland, that can be used as a pinentry program for GnuPG (and more).

Provides a 'programs.wayprompt.settings', following RFC 42².

¹: https://git.sr.ht/~leon_plickat/wayprompt
²: https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md
2025-05-08 10:45:24 -05:00
Austin Horstman
c84396bda0
rofi: modes optional (#7003)
Don't include the modes option if it hasn't been used.
2025-05-08 10:45:00 -05:00
Shahar "Dawn" Or
cea975d46d
rofi: modes option (#6115)
Adds `programs.rofi.modes` option.
For the tiny convenience of supporting the custom mode syntax.
2025-05-08 08:16:34 -05:00
Plume
2ede089d11
git: configure patdiff through [patdiff] git section (#6978)
This adds the ability to enable the patdiff program as git differ.
Website of the project: https://opensource.janestreet.com/patdiff/
2025-05-08 08:15:51 -05:00
Darren Gibson
ec71b51628
sbt: Scoping credentials to ThisBuild (#6026)
In Sbt (prior to 2.0) a sbt key not scoped to `ThisBuild` will always be at the project level, rather than at the build level.
In order to do some things, like use a private repository configured by sbt with sbt-scalafix, we need the credentials scope to the build, otherwise the credentials show as non-existent.
2025-05-07 18:40:35 -05:00
ScribblyBirb
a8e2d08ffd
alot: allow commas in maildir path (#6989)
Previously, maildir path was not escaped in any way, so using a path with commas
lead to a TypeError:

```
TypeError: expected string or bytes-like object, got 'list'
```
2025-05-07 18:17:09 -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
Austin Horstman
76274a2130 tests/man: index.bt -> index.db
Looks like the generated cache is now using index.db
2025-05-07 10:02:56 -05:00