nixos-config/nixos/packages/programming/code.nix
foglar c457bb31df Tor and proxychains added
code formatting for python
2024-11-06 18:25:57 +01:00

134 lines
3.7 KiB
Nix

{
pkgs,
lib,
config,
...
}: {
options = {
vscode.enable = lib.mkEnableOption "enable vscode";
};
config = lib.mkIf config.vscode.enable {
home.packages = with pkgs; [
vscode
];
programs.vscode = {
enable = true;
userSettings = {
"files.autoSave" = "afterDelay";
"editor.fontSize" = 16;
"editor.minimap.side" = "right";
"editor.scrollbar.vertical" = "hidden";
"editor.scrollbar.verticalScrollbarSize" = 0;
"editor.fontLigatures" = "'calt', 'ss01', 'ss02', 'ss03', 'ss04', 'ss05', 'ss06', 'ss07', 'ss08', 'ss09', 'liga'";
"editor.stickyScroll.enabled" = false;
"security.workspace.trust.untrustedFiles" = "newWindow";
"security.workspace.trust.startupPrompt" = "never";
"security.workspace.trust.enabled" = false;
"terminal.external.linuxExec" = "kitty";
"terminal.integrated.stickyScroll.enabled" = true;
"telemetry.telemetryLevel" = "off";
"workbench.activityBar.location" = "hidden"; # bottom
"workbench.iconTheme" = "material-icon-theme";
"workbench.productIconTheme" = "material-product-icons";
"window.menuBarVisibility" = "toggle";
"github.copilot.editor.enableAutoCompletions" = false;
"[json]" = {
"editor.defaultFormatter" = "esbenp.prettier-vscode";
};
"[python]" = {
"editor.defaultFormatter" = "ms-python.black-formatter";
};
"nix.serverPath" = "nixd";
"nix.enableLanguageServer" = true;
"nix.serverSettings" = {
"nixd" = {
"formatting" = {
"command" = ["alejandra"]; # or nixfmt or nixpkgs-fmt
};
# "options": {
# "nixos": {
# "expr": "(builtins.getFlake \"~/mysystem/").nixosConfigurations.laptop.options"
# },
# "home_manager": {
# "expr": "(builtins.getFlake \"/PATH/TO/FLAKE\").homeConfigurations..options"
# },
# },
};
};
};
extensions = with pkgs.vscode-extensions; [
ms-azuretools.vscode-docker
# Mardown
yzhang.markdown-all-in-one
davidanson.vscode-markdownlint
foxundermoon.shell-format
tamasfe.even-better-toml
aaron-bond.better-comments
christian-kohler.path-intellisense
jnoortheen.nix-ide
github.vscode-pull-request-github
github.vscode-github-actions
github.codespaces
# Remote
ms-vscode-remote.remote-ssh
ms-vscode-remote.remote-ssh-edit
# Webdev
ritwickdey.liveserver
esbenp.prettier-vscode
ecmel.vscode-html-css
ms-vscode.live-server
formulahendry.auto-rename-tag
# Ai
github.copilot
github.copilot-chat
# Git
donjayamanne.githistory
eamodio.gitlens
# Python
ms-python.python
ms-python.vscode-pylance
ms-python.black-formatter
ms-python.debugpy
njpwerner.autodocstring
ms-toolsai.jupyter
ms-toolsai.jupyter-keymap
ms-toolsai.jupyter-renderers
# Theme
catppuccin.catppuccin-vsc
catppuccin.catppuccin-vsc-icons
zhuangtongfa.material-theme
oderwat.indent-rainbow
enkia.tokyo-night
pkief.material-product-icons
pkief.material-icon-theme
# C/C++
twxs.cmake
ms-vscode.cmake-tools
# C#
ms-dotnettools.csharp
ms-dotnettools.csdevkit
ms-dotnettools.vscodeintellicode-csharp
ms-dotnettools.vscode-dotnet-runtime
# Go
golang.go
];
};
};
}