vinegar: add module (#6494)

This commit is contained in:
Heitor Augusto 2025-02-21 10:48:51 -03:00 committed by GitHub
parent 0c0b0ac8af
commit 3c82285348
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 104 additions and 0 deletions

View file

@ -259,6 +259,7 @@ let
./programs/vifm.nix
./programs/vim-vint.nix
./programs/vim.nix
./programs/vinegar.nix
./programs/vscode.nix
./programs/vscode/haskell.nix
./programs/pywal.nix

View file

@ -0,0 +1,50 @@
{ config, lib, pkgs, ... }:
let toml = pkgs.formats.toml { };
in {
meta.maintainers = with lib.maintainers; [ HeitorAugustoLN ];
options.programs.vinegar = {
enable = lib.mkEnableOption "Vinegar";
package = lib.mkPackageOption pkgs "vinegar" { };
settings = lib.mkOption {
type = lib.types.attrsOf toml.type;
default = { };
example = {
env.WINEFSYNC = "1";
studio = {
dxvk = false;
renderer = "Vulkan";
fflags.DFIntTaskSchedulerTargetFps = 144;
env = {
DXVK_HUD = "0";
MANGOHUD = "1";
};
};
};
description = ''
Configuration written to {file}`$XDG_CONFIG_HOME/vinegar/config.toml`.
See <https://vinegarhq.org/Configuration/> for more information.
'';
};
};
config = let cfg = config.programs.vinegar;
in lib.mkIf cfg.enable {
assertions = [
(lib.hm.assertions.assertPlatform "programs.vinegar" pkgs
lib.platforms.linux)
];
home.packages = [ cfg.package ];
xdg.configFile."vinegar/config.toml" = lib.mkIf (cfg.settings != { }) {
source = toml.generate "vinegar-config.toml" cfg.settings;
};
};
}

View file

@ -242,6 +242,7 @@ in import nmtSrc {
./modules/programs/translate-shell
./modules/programs/vifm
./modules/programs/vim-vint
./modules/programs/vinegar
./modules/programs/vscode
./modules/programs/watson
./modules/programs/wezterm

View file

@ -0,0 +1,4 @@
{
vinegar-empty-settings = ./empty-settings.nix;
vinegar-example-settings = ./example-settings.nix;
}

View file

@ -0,0 +1,7 @@
{
programs.vinegar.enable = true;
nmt.script = ''
assertPathNotExists home-files/.config/vinegar/config.toml
'';
}

View file

@ -0,0 +1,13 @@
[env]
WINEFSYNC = "1"
[studio]
dxvk = false
renderer = "Vulkan"
[studio.env]
DXVK_HUD = "0"
MANGOHUD = "1"
[studio.fflags]
DFIntTaskSchedulerTargetFps = 144

View file

@ -0,0 +1,28 @@
{ config, ... }: {
programs.vinegar = {
enable = true;
package = config.lib.test.mkStubPackage { };
settings = {
env.WINEFSYNC = "1";
studio = {
dxvk = false;
renderer = "Vulkan";
fflags.DFIntTaskSchedulerTargetFps = 144;
env = {
DXVK_HUD = "0";
MANGOHUD = "1";
};
};
};
};
nmt.script = ''
assertFileContent \
home-files/.config/vinegar/config.toml \
${./example-config-expected.toml}
'';
}