87 lines
2.5 KiB
Nix
87 lines
2.5 KiB
Nix
{ pkgs, pkgsUnstable, ... }:
|
|
|
|
let
|
|
extensions = with pkgs.vscode-extensions; [
|
|
ms-dotnettools.csharp
|
|
ms-dotnettools.csdevkit
|
|
ms-dotnettools.vscode-dotnet-runtime
|
|
mkhl.direnv
|
|
catppuccin.catppuccin-vsc
|
|
bmewburn.vscode-intelephense-client
|
|
continue.continue
|
|
vue.volar
|
|
ms-vscode-remote.remote-containers
|
|
(pkgs.vscode-utils.buildVscodeMarketplaceExtension {
|
|
mktplcRef = {
|
|
publisher = "ryanluker";
|
|
name = "vscode-coverage-gutters";
|
|
version = "2.14.0"; # use the current version
|
|
sha256 = "sha256-waF3FmncUsXqWFWGRy9X7RQ29BDRYlaqyFhEXg4HXNo";
|
|
};
|
|
})
|
|
(pkgs.vscode-utils.buildVscodeMarketplaceExtension {
|
|
mktplcRef = {
|
|
publisher = "laravel";
|
|
name = "vscode-laravel";
|
|
version = "1.7.0"; # use the current version
|
|
sha256 = "sha256-5PVbv5hWIdsOHvYttnf2BPeqfPXsOVENrnRyiUf/Hlg=";
|
|
};
|
|
})
|
|
(pkgs.vscode-utils.buildVscodeMarketplaceExtension {
|
|
mktplcRef = {
|
|
publisher = "amiralizadeh9480";
|
|
name = "laravel-extra-intellisense";
|
|
version = "0.7.4"; # use the current version
|
|
sha256 = "sha256-EoyKm2YYfEZDmI1mqRU/SaNk0bNLPrWVINpIhglnL80=";
|
|
};
|
|
})
|
|
(pkgs.vscode-utils.buildVscodeMarketplaceExtension {
|
|
mktplcRef = {
|
|
publisher = "recca0120";
|
|
name = "vscode-phpunit";
|
|
version = "3.9.40"; # use the current version
|
|
sha256 = "sha256-EVyDT5aXu1KsGr8xrBQlIRCMOtiCyHgU7aDjl9d9ldY=";
|
|
};
|
|
})
|
|
];
|
|
|
|
userSettings = {
|
|
"editor.lineNumbers" = "relative";
|
|
"workbench.colorTheme" = "Catppuccin Mocha";
|
|
"workbench.editor.enablePreview" = false;
|
|
"direnv.restart.automatic" = true;
|
|
"terminal.integrated.defaultProfile.linux" = "zsh";
|
|
"terminal.integrated.profiles.linux".zsh = {
|
|
path = "${pkgs.zsh}/bin/zsh";
|
|
};
|
|
"coverage-gutters.coverageBaseDir" = "test-reports";
|
|
# PHPUnit
|
|
"phpunit.command" =
|
|
"docker compose exec laravel.test \${php} \${phpargs} \${phpunit} \${phpunitargs}";
|
|
"phpunit.phpunit" = "artisan test";
|
|
"phpunit.paths" = {
|
|
"\${workspaceFolder}" = "/var/www/html";
|
|
};
|
|
};
|
|
|
|
editors = {
|
|
vscode = pkgsUnstable.vscode.fhs;
|
|
cursor = pkgsUnstable.code-cursor-fhs;
|
|
vscodium = pkgsUnstable.vscodium-fhs;
|
|
};
|
|
|
|
mkEditor = package: {
|
|
enable = true;
|
|
inherit package;
|
|
|
|
profiles.default = {
|
|
inherit extensions;
|
|
inherit userSettings;
|
|
};
|
|
};
|
|
|
|
in
|
|
{
|
|
programs = builtins.mapAttrs (_: mkEditor) editors;
|
|
}
|