vscode: add user tasks (#2804)
This commit is contained in:
parent
e2a85ac43f
commit
7cf15b19a9
|
@ -28,6 +28,7 @@ let
|
|||
"${config.xdg.configHome}/${configDir}/User";
|
||||
|
||||
configFilePath = "${userDir}/settings.json";
|
||||
tasksFilePath = "${userDir}/tasks.json";
|
||||
keybindingsFilePath = "${userDir}/keybindings.json";
|
||||
|
||||
# TODO: On Darwin where are the extensions?
|
||||
|
@ -70,6 +71,27 @@ in {
|
|||
'';
|
||||
};
|
||||
|
||||
userTasks = mkOption {
|
||||
type = jsonFormat.type;
|
||||
default = { };
|
||||
example = literalExpression ''
|
||||
{
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"type": "shell",
|
||||
"label": "Hello task",
|
||||
"command": "hello",
|
||||
}
|
||||
]
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
Configuration written to Visual Studio Code's
|
||||
<filename>tasks.json</filename>.
|
||||
'';
|
||||
};
|
||||
|
||||
keybindings = mkOption {
|
||||
type = types.listOf (types.submodule {
|
||||
options = {
|
||||
|
@ -146,6 +168,10 @@ in {
|
|||
"${configFilePath}".source =
|
||||
jsonFormat.generate "vscode-user-settings" cfg.userSettings;
|
||||
})
|
||||
(mkIf (cfg.userTasks != { }) {
|
||||
"${tasksFilePath}".source =
|
||||
jsonFormat.generate "vscode-user-tasks" cfg.userTasks;
|
||||
})
|
||||
(mkIf (cfg.keybindings != [ ])
|
||||
(let dropNullFields = filterAttrs (_: v: v != null);
|
||||
in {
|
||||
|
|
Loading…
Reference in a new issue