63 lines
1.7 KiB
Nix
63 lines
1.7 KiB
Nix
{pkgs}: let
|
|
defaultProfile = import ./default.nix {inherit pkgs;};
|
|
lib = import ./lib.nix {inherit pkgs;};
|
|
in {
|
|
programs.vscode.profiles.python-django =
|
|
lib.mergeProfile
|
|
defaultProfile.programs.vscode.profiles.default
|
|
{
|
|
# Only add Python-specific extensions here
|
|
extensions = with pkgs.vscode-extensions;
|
|
[
|
|
# Add Python/Django-specific extensions only
|
|
# ms-python.python
|
|
# ms-python.vscode-pylance
|
|
]
|
|
++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
|
# Additional Python-specific extensions from marketplace
|
|
{
|
|
name = "kylin-python";
|
|
publisher = "kylinideteam";
|
|
version = "0.4.2";
|
|
hash = "sha256-LhOsIvECrxLCnRjUVffS4G4fFsdP70iP/twoNoto354=";
|
|
}
|
|
];
|
|
|
|
# Only override or add Python-specific settings
|
|
userSettings = {
|
|
# "python.linting.enabled" = true;
|
|
# "python.formatting.provider" = "black";
|
|
# Other Python-specific settings
|
|
};
|
|
|
|
# Add Python-specific keybindings (optional)
|
|
keybindings = [
|
|
# For example:
|
|
# {
|
|
# "key" = "ctrl+shift+p";
|
|
# "command" = "python.execInTerminal";
|
|
# "when" = "editorLangId == 'python'";
|
|
# }
|
|
];
|
|
|
|
# Only add Python-specific snippets
|
|
languageSnippets = {
|
|
"python" = {
|
|
"Main" = {
|
|
body = [
|
|
"def main() -> None:"
|
|
" ..."
|
|
"if __name__ == '__main__':"
|
|
" main()"
|
|
];
|
|
description = "boilerplate dla main";
|
|
prefix = [
|
|
"main"
|
|
];
|
|
};
|
|
# Other Python snippets
|
|
};
|
|
};
|
|
};
|
|
}
|