* xdg-mime: allow overrides to shared-mime-info and desktop-file-utils
The `xdg-mime` module now exposes packages to determine what will be run
for update-mime-database and update-desktop-database. This allows users
to select a different version of these packages if the are incompatible.
This should, in combination with an override to the version of
`shared-mime-info` (can be found here notalltim/home-manager-config#4),
resolve#4955, #5102, #4682, and possibly #4941. The problem seems to stem
from a mismatch in the version of `shared-mime-info` with the host.
I also switched from using `buildPackages` to `pkgs` to improve
cross-compilation compatibility.
* xdg-mime: Add tests for xdg-mime module
The xdg-mime module was missing tests so I added basic test for all the
options and checked the basic behavior. It covers ensuring that the
proper files/folders are created and that the package overrides work.
* zathura: add float to acceptable types for `options` attrset
The man page states that the `set` directive can take 4 types of values:
INT, FLOAT, STRING, BOOL. But the FLOAT part was missing from the
home-manager module
* zathura: make type of `programs.zathura.options` more readable
Change from cascading mess of `either` to `oneOf`
This is nescesarry for non-default locations, and without it, many
programs like element-desktop break in very confusing ways.
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
The value of the option `programs.zoxide.options` is passed to `zoxide
init` at shell initialization time, not to the command itself when
it's called by the user from their shell. This change makes that a
little bit clearer in the documentation.
This fixes a regression introduced in
8d7e352a4b. That commit made the false
assumption that utils would have propagated from Nixpkgs to Home
Manager. This commit copies in `escapeSystemdExecArgs` to fix the
immediate issue, perhaps we can pull this in some other way later down
the line.
- Implicitly disable checkConfig when `cfg.package = null` as we don’t
have any exe to use for the check
- Implicitly disable `swaymsg reload` on activation, since we have no
exe to use for running it
See https://github.com/nix-community/home-manager/issues/5307
Neovide is a simple, no-nonsense, cross-platform graphical user
interface for Neovim See <https://neovide.dev/>.
Used ruff's module as reference during creation.
- Add `services.kanshi.profiles.<name>.outputs.*.alias` to support new
alias directive from kanshi [1].
- Add an assertion to reject aliases not on global scope, which are
not allowed on kanshi [2].
- Add a new test to check alias rejection, `alias-assertion`.
- Add relevant coverage by modifying the existing "new-configuration"
test.
- Kanshi also doesn't allow wildcards on global scope [3], correct the
faulty test case.
[1]: 1ed86ce523
[2]: 1605f7c813/item/doc/kanshi.5.scd (L78)
[3]: 1605f7c813/item/doc/kanshi.5.scd (L80)
Add an option to programs.autorandr's configModule to allow arbitrary
extra config lines.
No option exists for adding arbitrary key/values to generated autorandr
profile config, as is common in other nix modules. This commit adds one.
The lastUserContextId value should match the highest context ID from
the containers set in a given profile. This update ensures that this
always is the case.
This way the end user can easily check whether the home-manager
configuration is part of the module or not. Example of use:
```nix
{ lib, nixosConfig, ... }:
let
mkIfNixos = lib.mkIf nixosConfig != null;
in
{
programs.foot.enable = mkIfNixos true;
}
```
This switches `systemd.user.startServices = true` to be the same as
`systemd.user.startServices = "sd-switch"`, previously it would use
the "legacy" method. It also introduces a warning that triggers if the
user explicitly have `systemd.user.startServices = "legacy"`.
See #5452
fastfetch: update example for JsonConfig settings
Using the present version of the example, trows an error:
JsonConfig Error: `display.binaryPrefix` has been renamed to
`display.size.binaryPrefix`. Sorry for another break change.
It occurs because of change in fastfetch 2.19 of JsonConfig - moving
`display.binaryPrefix` to `display.size.binaryPrefix`
To not confuse the users, this commit changes the example to fit
current standard
See <b3ac696312/CHANGELOG.md (L85)>
Adds support for Firefox forks by introducing methods that create
generic configs and options. Additional configs and options can be
added in separate modules.
The `pkgs.gnome.gnome-terminal` package was moved to
`pkgs.gnome-terminal`. The former is now a deprecated alias that
throws a warning whenever a configuration enabling the module is used:
```
The ‘gnome.gnome-terminal’ was moved to top-level. Please use
‘pkgs.gnome-terminal’ directly.
```
Related: https://github.com/NixOS/nixpkgs/pull/319659
Related: https://github.com/nix-community/home-manager/pull/5611
Should fix an issue where swayosd.service would stop without starting
again after restarting too quickly.
Triggered by ending a Hyprland session and logging in with tuigreet.
Related: https://github.com/nix-community/home-manager/pull/4316
Joplin supports creating multiple profiles. This functionality was
previously missing from the joplin-desktop module and is implemented
in this PR.
In order to support profiles, the structure of the defined options had
to be split up into "global" settings that are shared between profiles
and profile-specific settings. This is a breaking change, but
necessary to avoid confusion about the difference between global and
profile-specific settings.
In addition to profiles, a few new options (such as markdown settings)
have been added.