Files
nix/modules/home/vscode/default.nix

40 lines
980 B
Nix

{ config, pkgs, lib, libs, ... }:
let
extensions = with pkgs.vscode-extensions; [
bierner.markdown-mermaid
esbenp.prettier-vscode
foxundermoon.shell-format
github.copilot
github.copilot-chat
golang.go
jnoortheen.nix-ide
pkief.material-icon-theme
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
];
in
{
imports = [
];
programs = {
vscode = {
enable = true;
} // (if lib.versionAtLeast config.home.stateVersion "25.05" then {
profiles.default = { inherit extensions; };
} else {
inherit extensions;
});
};
# 使用map函数循环 conf 变量,动态的生成 home.file.<user>.config.${i}
xdg.configFile = builtins.listToAttrs
(builtins.map
(name: {
name = "Code/User/${name}";
value = {
source = config.home-libs.mkOutOfStoreSymlink "modules/home/vscode/conf/${name}";
};
})
(builtins.attrNames (builtins.readDir ./conf))
);
}