dotfiles
My PC Dotfiles & Websitegit clone https://github.com/maydayv7/dotfiles
modules/apps/vscode/_mutable.nix (927B)
1# https://gist.github.com/piousdeer/b29c272eaeba398b864da6abf6cb5daa
2{
3 program,
4 configDir,
5}: {
6 config,
7 lib,
8 ...
9}: let
10 userDir = "${config.xdg.configHome}/${configDir}/User";
11
12 configFilePath = "${userDir}/settings.json";
13 tasksFilePath = "${userDir}/tasks.json";
14 keybindingsFilePath = "${userDir}/keybindings.json";
15 snippetDir = "${userDir}/snippets";
16
17 cfg = config.programs.${program}.profiles.default;
18 pathsToMakeWritable = lib.flatten [
19 (lib.optional (cfg.userTasks != {}) tasksFilePath)
20 (lib.optional (cfg.userSettings != {}) configFilePath)
21 (lib.optional (cfg.keybindings != []) keybindingsFilePath)
22 (lib.optional (cfg.globalSnippets != {}) "${snippetDir}/global.code-snippets")
23 (lib.mapAttrsToList (language: _: "${snippetDir}/${language}.json") cfg.languageSnippets)
24 ];
25in {
26 home.file = lib.genAttrs pathsToMakeWritable (_: {
27 force = true;
28 mutable = true;
29 });
30}