mirror of
https://github.com/nix-community/home-manager
synced 2024-11-01 08:49:44 +01:00
44635279a0
The way the `bat` module is currently written makes it essentially impossible to use themes and syntaxes without IFD, since you must provide the contents as string, instead of just giving a path to be linked. With this change, setting themes/syntaxes by-string will start issuing warnings, and a new attribute model is added, lightly inspired by how `programs.zsh.plugins` avoided this issue.
67 lines
1.7 KiB
Nix
67 lines
1.7 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
|
|
{
|
|
config = {
|
|
programs.bat = {
|
|
enable = true;
|
|
|
|
config = {
|
|
theme = "TwoDark";
|
|
pager = "less -FR";
|
|
map-syntax = [ "*.jenkinsfile:Groovy" "*.props:Java Properties" ];
|
|
};
|
|
|
|
themes.testtheme = ''
|
|
This is a test theme.
|
|
'';
|
|
|
|
syntaxes.testsyntax = ''
|
|
This is a test syntax.
|
|
'';
|
|
};
|
|
|
|
test.stubs.bat = { };
|
|
|
|
test.asserts.warnings.enable = true;
|
|
test.asserts.warnings.expected = [
|
|
''
|
|
Using programs.bat.themes as a string option is deprecated and will be
|
|
removed in the future. Please change to using it as an attribute set
|
|
instead.
|
|
''
|
|
''
|
|
Using programs.bat.syntaxes as a string option is deprecated and will be
|
|
removed in the future. Please change to using it as an attribute set
|
|
instead.
|
|
''
|
|
];
|
|
|
|
nmt.script = ''
|
|
assertFileExists home-files/.config/bat/config
|
|
assertFileContent home-files/.config/bat/config ${
|
|
pkgs.writeText "bat.expected" ''
|
|
--map-syntax='*.jenkinsfile:Groovy'
|
|
--map-syntax='*.props:Java Properties'
|
|
--pager='less -FR'
|
|
--theme='TwoDark'
|
|
''
|
|
}
|
|
|
|
assertFileExists home-files/.config/bat/themes/testtheme.tmTheme
|
|
assertFileContent home-files/.config/bat/themes/testtheme.tmTheme ${
|
|
pkgs.writeText "bat.expected" ''
|
|
This is a test theme.
|
|
''
|
|
}
|
|
|
|
assertFileExists home-files/.config/bat/syntaxes/testsyntax.sublime-syntax
|
|
assertFileContent home-files/.config/bat/syntaxes/testsyntax.sublime-syntax ${
|
|
pkgs.writeText "bat.expected" ''
|
|
This is a test syntax.
|
|
''
|
|
}
|
|
'';
|
|
};
|
|
}
|