2023-02-10 07:46:37 +01:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
flakePath,
|
2023-06-20 20:09:18 +02:00
|
|
|
lib,
|
2023-02-10 07:46:37 +01:00
|
|
|
pkgs,
|
|
|
|
...
|
|
|
|
}: let
|
2023-02-15 21:45:28 +01:00
|
|
|
inherit (pkgs.stdenv.hostPlatform) isDarwin isLinux;
|
2023-06-20 20:09:18 +02:00
|
|
|
|
|
|
|
settingsJSON = config.lib.file.mkOutOfStoreSymlink "${flakePath}/home/apps/vscode/settings.json";
|
|
|
|
keybindingsJSON = config.lib.file.mkOutOfStoreSymlink "${flakePath}/home/apps/vscode/keybindings.json";
|
2023-02-10 07:46:37 +01:00
|
|
|
in {
|
2023-01-31 09:38:11 +01:00
|
|
|
programs.vscode = {
|
|
|
|
enable = true;
|
2023-09-04 04:57:43 +02:00
|
|
|
package = pkgs.vscode;
|
|
|
|
extensions = with pkgs.vscode-marketplace; [
|
2023-06-20 20:09:18 +02:00
|
|
|
adrianwilczynski.alpine-js-intellisense
|
2023-09-20 18:46:39 +02:00
|
|
|
antfu.icons-carbon
|
2023-07-08 18:15:07 +02:00
|
|
|
astro-build.astro-vscode
|
2023-06-20 20:09:18 +02:00
|
|
|
bradlc.vscode-tailwindcss
|
|
|
|
catppuccin.catppuccin-vsc-icons
|
2023-09-20 18:46:39 +02:00
|
|
|
dbaeumer.vscode-eslint
|
2023-06-20 20:09:18 +02:00
|
|
|
denoland.vscode-deno
|
|
|
|
eamodio.gitlens
|
|
|
|
esbenp.prettier-vscode
|
2023-09-04 04:57:43 +02:00
|
|
|
github.copilot
|
2023-06-20 20:09:18 +02:00
|
|
|
github.vscode-pull-request-github
|
|
|
|
gitlab.gitlab-workflow
|
2023-09-20 18:46:39 +02:00
|
|
|
golang.go
|
|
|
|
graphql.vscode-graphql-syntax
|
2023-03-11 22:53:23 +01:00
|
|
|
jnoortheen.nix-ide
|
2023-07-08 18:15:07 +02:00
|
|
|
kamadorueda.alejandra
|
|
|
|
leonardssh.vscord
|
2023-06-20 20:09:18 +02:00
|
|
|
lunuan.kubernetes-templates
|
2023-09-04 04:57:43 +02:00
|
|
|
mikestead.dotenv
|
2023-03-11 22:53:23 +01:00
|
|
|
mkhl.direnv
|
|
|
|
ms-kubernetes-tools.vscode-kubernetes-tools
|
2023-01-31 09:38:11 +01:00
|
|
|
pkief.material-icon-theme
|
|
|
|
redhat.vscode-yaml
|
2023-06-19 23:49:03 +02:00
|
|
|
rust-lang.rust-analyzer
|
2023-06-20 20:09:18 +02:00
|
|
|
sumneko.lua
|
2023-03-11 22:53:23 +01:00
|
|
|
tamasfe.even-better-toml
|
2023-09-04 04:57:43 +02:00
|
|
|
tomoki1207.pdf
|
2023-09-20 18:46:39 +02:00
|
|
|
unifiedjs.vscode-mdx
|
2023-01-31 09:38:11 +01:00
|
|
|
valentjn.vscode-ltex
|
|
|
|
vscodevim.vim
|
2023-09-20 18:46:39 +02:00
|
|
|
webfreak.code-d
|
2023-01-31 09:38:11 +01:00
|
|
|
];
|
|
|
|
mutableExtensionsDir = true;
|
|
|
|
};
|
2023-06-20 20:09:18 +02:00
|
|
|
|
|
|
|
home.file = lib.mkIf isDarwin {
|
2023-09-04 04:57:43 +02:00
|
|
|
"Library/Application Support/Code/User/keybindings.json".source = keybindingsJSON;
|
|
|
|
"Library/Application Support/Code/User/settings.json".source = settingsJSON;
|
2023-06-20 20:09:18 +02:00
|
|
|
};
|
|
|
|
xdg.configFile = lib.mkIf isLinux {
|
2023-09-04 04:57:43 +02:00
|
|
|
"Code/User/keybindings.json".source = keybindingsJSON;
|
|
|
|
"Code/User/settings.json".source = settingsJSON;
|
2023-01-31 09:38:11 +01:00
|
|
|
};
|
2023-09-04 04:57:43 +02:00
|
|
|
xdg.mimeApps.defaultApplications."text/plain" = "code.desktop";
|
2023-01-31 09:38:11 +01:00
|
|
|
}
|