This commit is contained in:
2026-02-21 14:01:19 +09:00
parent 08b386bb43
commit c291f54f2e
+50 -17
View File
@@ -8,7 +8,8 @@ let
rustBindgenExtraClangArgs = lib.concatStringsSep " " (
(builtins.map (a: ''-I"${a}/include"'') [
pkgs.glibc.dev
]) ++ [
])
++ [
''-I"${pkgs.llvmPackages_latest.libclang.lib}/lib/clang/${pkgs.llvmPackages_latest.libclang.version}/include"''
''-I"${pkgs.glib.dev}/include/glib-2.0"''
''-I${pkgs.glib.out}/lib/glib-2.0/include/''
@@ -17,7 +18,8 @@ let
layers = rec {
common = {
extensions = (with vsc; [
extensions =
(with vsc; [
github.copilot
github.copilot-chat
dracula-theme.theme-dracula
@@ -30,13 +32,20 @@ let
eamodio.gitlens
streetsidesoftware.code-spell-checker
ms-ceintl.vscode-language-pack-ja
]) ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
])
++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
{
name = "hadolint";
publisher = "exiasr";
version = "1.1.2";
hash = "sha256-6GO1f8SP4CE8yYl87/tm60FdGHqHsJA4c2B6UKVdpgM=";
}
{
name = "chatgpt";
publisher = "openai";
version = "0.4.71";
hash = "sha256-Q0le5rhVRgTDQXjIlhbzJOv/7+xC6JXwTp6fxZCP4ak=";
}
];
userSettings = {
"workbench.colorTheme" = "Dracula";
@@ -48,21 +57,27 @@ let
"git.confirmSync" = false;
"github.copilot.nextEditSuggestions.enabled" = true;
"editor.suggestOnTriggerCharacters" = true;
"editor.quickSuggestions" = { other = true; comments = false; strings = true; };
"editor.quickSuggestions" = {
other = true;
comments = false;
strings = true;
};
"git.autofetch" = true;
"workbench.editor.enablePreview" = false;
};
};
web = {
extensions = (with vsc; [
extensions =
(with vsc; [
biomejs.biome
lokalise.i18n-ally
bradlc.vscode-tailwindcss
prisma.prisma
hashicorp.terraform
yoavbls.pretty-ts-errors
]) ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
])
++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
{
name = "pnpm-catalog-lens";
publisher = "antfu";
@@ -112,12 +127,15 @@ let
};
java = {
extensions = (with vsc; [
extensions = (
with vsc;
[
vscjava.vscode-java-pack
sonarsource.sonarlint-vscode
vscjava.vscode-java-debug
redhat.java
]);
]
);
userSettings = {
"java.jdt.ls.java.home" = "${pkgs.jdk25.home}";
@@ -185,28 +203,43 @@ let
"rust-analyzer.lens.references.method.enable" = true;
"rust-analyzer.lens.references.trait.enable" = true;
"files.watcherExclude" = { "**/target/**" = true; };
"search.exclude" = { "**/target/**" = true; };
"files.watcherExclude" = {
"**/target/**" = true;
};
"search.exclude" = {
"**/target/**" = true;
};
};
};
};
combine = (ls:
builtins.foldl' (acc: l: {
combine = (
ls:
builtins.foldl'
(acc: l: {
extensions = acc.extensions ++ (l.extensions or [ ]);
userSettings = recursiveUpdate acc.userSettings (l.userSettings or { });
}) { extensions = []; userSettings = {}; } ls
})
{
extensions = [ ];
userSettings = { };
}
ls
);
# mkProfile [layers...] { extensions = [...]; userSettings = { ... }; }
mkProfile = layersList: extras:
let base = combine layersList;
in {
mkProfile =
layersList: extras:
let
base = combine layersList;
in
{
extensions = base.extensions ++ (extras.extensions or [ ]);
userSettings = recursiveUpdate base.userSettings (extras.userSettings or { });
};
in {
in
{
nixpkgs.config.allowUnfree = true;
programs.vscode = {