1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-11-08 19:46:05 +01:00

wallust: add module

closes #6566
This commit is contained in:
Kiara Grouwstra 2025-03-14 11:21:39 +01:00 committed by Austin Horstman
parent 48bbe7bc48
commit aa2c7ac404
7 changed files with 78 additions and 0 deletions

View file

@ -0,0 +1,9 @@
{
time = "2025-04-20T05:39:01+00:00";
condition = true;
message = ''
A new module is available: 'programs.wallust'.
Wallust generates colors from an images, similar to pywal.
'';
}

View file

@ -286,6 +286,7 @@ let
./programs/vscode/haskell.nix
./programs/pywal.nix
./programs/rbenv.nix
./programs/wallust.nix
./programs/watson.nix
./programs/waylogout.nix
./programs/waybar.nix

View file

@ -0,0 +1,46 @@
{
pkgs,
lib,
config,
...
}:
let
inherit (lib)
mkEnableOption
mkPackageOption
mkOption
mkIf
literalExpression
;
cfg = config.programs.wallust;
tomlFormat = pkgs.formats.toml { };
in
{
meta.maintainers = with lib.hm.maintainers; [ kiara ];
options.programs.wallust = {
enable = mkEnableOption "Wallust color scheme generator";
package = mkPackageOption pkgs "wallust" { };
settings = mkOption {
type = tomlFormat.type;
default = { };
example = literalExpression ''
{
palette = "softdark";
}
'';
description = ''
Configuration written to {file}`$XDG_CONFIG_HOME/wallust/wallust.toml`.
See <https://explosion-mental.codeberg.page/wallust/config/> for
documentation.
'';
};
};
config = mkIf cfg.enable {
home.packages = [ cfg.package ];
xdg.configFile."wallust/wallust.toml" = mkIf (cfg.settings != { }) {
source = tomlFormat.generate "wallust.toml" cfg.settings;
};
};
}

View file

@ -469,6 +469,7 @@ import nmtSrc {
./modules/programs/vifm
./modules/programs/vim-vint
./modules/programs/vscode
./modules/programs/wallust
./modules/programs/watson
./modules/programs/wezterm
./modules/programs/yazi

View file

@ -0,0 +1,3 @@
{
wallust = ./wallust.nix;
}

View file

@ -0,0 +1,2 @@
backend = "fastresize"
color_space = "lchmixed"

View file

@ -0,0 +1,16 @@
{
home.enableNixpkgsReleaseCheck = false;
programs.wallust = {
enable = true;
backend = "full";
settings = {
backend = "fastresize";
color_space = "lchmixed";
};
};
nmt.script = ''
assertFileExists home-files/.config/wallust/wallust.toml
assertFileContent home-files/.config/wallust/wallust.toml ${./expected.toml}
'';
}