bunch of vscode changes + add luau-lsp package

This commit is contained in:
cswimr 2025-01-11 18:09:03 -06:00
parent 6cc838119d
commit 20f42f88d5
Signed by: cswimr
GPG key ID: 0EC431A8DA8F8087
2 changed files with 467 additions and 415 deletions

View file

@ -28,432 +28,443 @@ rec {
};
home.packages = with pkgs; [
stylua
rojo
(pkgs.callPackage ../packages/luau-lsp.nix { inherit pkgs; })
powershell
ruff
ruff-lsp
];
programs.vscode = let dotnettools = import inputs.dotnettoolsVscodeExtensions {
inherit system;
config.allowUnfree = true;
}; in {
enable = true;
enableUpdateCheck = false;
enableExtensionUpdateCheck = false;
package = pkgs.vscode;
# package = pkgs.vscode.fhsWithPackages (
# ps: with pkgs; [
# dotnetCorePackages.sdk_8_0
# jdk21
# go
# ]
# );
extensions =
with inputs.nix-vscode-extensions.extensions.${system}.vscode-marketplace;
with inputs.nix-vscode-extensions.extensions.${system}.vscode-marketplace-release;
[
# Themes
(pkgs.catppuccin-vsc.override {
accent = "blue";
extraBordersEnabled = true;
italicKeywords = false;
customUIColors = {
mocha = {
"statusBar.foreground" = "accent";
};
macchiato = {
"statusBar.foreground" = "accent";
};
frappe = {
"statusBar.foreground" = "accent";
};
latte = {
"statusBar.foreground" = "accent";
programs.vscode =
let
dotnettools = import inputs.dotnettoolsVscodeExtensions {
inherit system;
config.allowUnfree = true;
};
in
{
enable = true;
enableUpdateCheck = false;
enableExtensionUpdateCheck = false;
package = pkgs.vscode;
# package = pkgs.vscode.fhsWithPackages (
# ps: with pkgs; [
# dotnetCorePackages.sdk_8_0
# jdk21
# go
# ]
# );
extensions =
with inputs.nix-vscode-extensions.extensions.${system}.vscode-marketplace;
with inputs.nix-vscode-extensions.extensions.${system}.vscode-marketplace-release;
[
# Themes
(pkgs.catppuccin-vsc.override {
accent = "blue";
extraBordersEnabled = true;
italicKeywords = false;
customUIColors = {
mocha = {
"statusBar.foreground" = "accent";
};
macchiato = {
"statusBar.foreground" = "accent";
};
frappe = {
"statusBar.foreground" = "accent";
};
latte = {
"statusBar.foreground" = "accent";
};
};
})
catppuccin.catppuccin-vsc-icons
# C#
dotnettools.vscode-extensions.ms-dotnettools.csharp
dotnettools.vscode-extensions.ms-dotnettools.csdevkit
pkgs.vscode-extensions.ms-dotnettools.vscodeintellicode-csharp
pkgs.vscode-extensions.ms-dotnettools.vscode-dotnet-runtime
csharpier.csharpier-vscode
patcx.vscode-nuget-gallery
corylulu.csharp-interpolated-string-converter
adrianwilczynski.asp-net-core-switcher
kevin-chatham.aspnetcorerazor-html-css-class-completion
adrianwilczynski.blazor-snippet-pack
adrianwilczynski.csharp-to-typescript
adrianwilczynski.namespace
# Python
ms-python.python
ms-python.vscode-pylance
ms-python.debugpy
ms-python.black-formatter
ms-python.mypy-type-checker
charliermarsh.ruff
# JavaScript / TypeScript
dbaeumer.vscode-eslint
rvest.vs-code-prettier-eslint
yoavbls.pretty-ts-errors
gregorbiswanger.json2ts
vendicated.vencord-companion
# Lua
sumneko.lua
# Luau
evaera.vscode-rojo
johnnymorganz.stylua
johnnymorganz.luau-lsp
# Go
pkgs.vscode-extensions.golang.go
# Hugo
budparr.language-hugo-vscode
kaellarkin.hugo-shortcode-syntax
# Kotlin
mathiasfrohlich.kotlin
# Java
vscjava.vscode-java-debug
vscjava.vscode-gradle
vscjava.vscode-maven
vscjava.vscode-java-dependency
vscjava.vscode-java-test
redhat.java
# Bash
mads-hartmann.bash-ide-vscode
foxundermoon.shell-format
timonwong.shellcheck
shakram02.bash-beautify
# Paradox Interactive Scripting
tboby.cwtools-vscode
# Git
donjayamanne.githistory
codezombiech.gitignore
eamodio.gitlens
# GitHub
ziyasal.vscode-open-in-github
pkgs.vscode-extensions.github.vscode-github-actions
github.vscode-pull-request-github
# Misc - Language Support
bradlc.vscode-tailwindcss
jnoortheen.nix-ide
tamasfe.even-better-toml
jnoortheen.xonsh
matthewpi.caddyfile-support
editorconfig.editorconfig
prisma.prisma
redhat.vscode-yaml
ms-vscode.powershell
irongeek.vscode-env
wholroyd.jinja
ms-vscode.makefile-tools
tnze.snbt
logerfo.sln-support
tboby.paradox-syntax
xteal.mcmeta
footerman.heracles-support
# Misc - Debuggers
firefox-devtools.vscode-firefox-debug
rogalmic.zsh-debug
# Misc - Linters
tekumara.typos-vscode
stylelint.vscode-stylelint
davidanson.vscode-markdownlint
# Misc - Formatters
esbenp.prettier-vscode
# Misc - Visuals
aaron-bond.better-comments
naumovs.color-highlight
kshetline.ligatures-limited
# Misc - Utilities
vasubasraj.flashpost
adpyke.codesnap
elypia.magick-image-reader
adpyke.vscode-sql-formatter
qwtel.sqlite-viewer
yy0931.vscode-sqlite3-editor
leonardssh.vscord
alefragnani.project-manager
mkhl.direnv
ms-vsliveshare.vsliveshare
ms-azuretools.vscode-docker
ms-vscode-remote.remote-ssh
pkgs.vscode-extensions.ms-vscode-remote.remote-ssh-edit
ms-vscode.remote-server
ms-vscode.remote-explorer
pkgs.vscode-extensions.ms-vscode-remote.remote-containers
ms-vscode.remote-repositories
formulahendry.auto-rename-tag
prunoideae.probejs
d-koppenhagen.file-tree-to-text-generator
# Copilot
github.copilot
github.copilot-chat
];
userSettings = {
"DO-NOT-EDIT-1" =
"This file is managed by the Nix module located at `/etc/nixos/home-manager/vscode.nix`.";
"DO-NOT-EDIT-2" = "Changes will be overwritten when VSCode is restarted.";
"DO-NOT-EDIT-3" = "To persist changes, edit the module and run `upd` in your terminal.";
"editor.tokenColorCustomizations" = {
"[Catppuccin*]" = {
"variables" = "#82eaf0";
"textMateRules" = [
{
"scope" = "comment";
"settings" = {
"foreground" = "#f465ec";
"fontStyle" = "italic";
};
}
{
"scope" = "punctuation.definition.comment";
"settings" = {
"foreground" = "#f465ec";
"fontStyle" = "italic";
};
}
{
"scope" = "variable.other.readwrite";
"settings" = {
"foreground" = "#82eaf0";
};
}
{
"scope" = "keyword.operator";
"settings" = {
"foreground" = "#EBA0AC";
};
}
{
"scope" = "meta.block.paradox";
"settings" = {
"foreground" = "#EBA0AC";
};
}
{
"scope" = "meta.shebang.shell";
"settings" = {
"foreground" = "#fb5d1f";
"fontStyle" = "italic bold";
};
}
{
"scope" = "punctuation.definition.comment.shebang.shell";
"settings" = {
"foreground" = "#fb5d1f";
"fontStyle" = "italic bold";
};
}
{
"scope" = "string.quoted.double.shell variable.other.normal.shell";
"settings" = {
"foreground" = "#82e5f0";
};
}
{
"scope" = "variable.other.property.ts";
"settings" = {
"foreground" = "#32d5e7";
};
}
];
};
})
catppuccin.catppuccin-vsc-icons
# C#
dotnettools.vscode-extensions.ms-dotnettools.csharp
dotnettools.vscode-extensions.ms-dotnettools.csdevkit
pkgs.vscode-extensions.ms-dotnettools.vscodeintellicode-csharp
pkgs.vscode-extensions.ms-dotnettools.vscode-dotnet-runtime
csharpier.csharpier-vscode
patcx.vscode-nuget-gallery
corylulu.csharp-interpolated-string-converter
adrianwilczynski.asp-net-core-switcher
adrianwilczynski.blazor-snippet-pack
adrianwilczynski.csharp-to-typescript
adrianwilczynski.namespace
# Python
ms-python.python
ms-python.vscode-pylance
ms-python.debugpy
ms-python.black-formatter
ms-python.mypy-type-checker
charliermarsh.ruff
# JavaScript / TypeScript
dbaeumer.vscode-eslint
rvest.vs-code-prettier-eslint
yoavbls.pretty-ts-errors
gregorbiswanger.json2ts
vendicated.vencord-companion
# Lua
sumneko.lua
# Luau
evaera.vscode-rojo
undermywheel.roblox-lua
johnnymorganz.stylua
johnnymorganz.luau-lsp
nightrains.robloxlsp
# Go
pkgs.vscode-extensions.golang.go
# Hugo
budparr.language-hugo-vscode
kaellarkin.hugo-shortcode-syntax
# Kotlin
mathiasfrohlich.kotlin
# Java
vscjava.vscode-java-debug
vscjava.vscode-gradle
vscjava.vscode-maven
vscjava.vscode-java-dependency
vscjava.vscode-java-test
redhat.java
# Bash
mads-hartmann.bash-ide-vscode
foxundermoon.shell-format
timonwong.shellcheck
shakram02.bash-beautify
# Paradox Interactive Scripting
tboby.cwtools-vscode
# Git
donjayamanne.githistory
codezombiech.gitignore
eamodio.gitlens
# GitHub
ziyasal.vscode-open-in-github
pkgs.vscode-extensions.github.vscode-github-actions
github.vscode-pull-request-github
# Misc - Language Support
bradlc.vscode-tailwindcss
jnoortheen.nix-ide
tamasfe.even-better-toml
jnoortheen.xonsh
matthewpi.caddyfile-support
editorconfig.editorconfig
prisma.prisma
redhat.vscode-yaml
ms-vscode.powershell
irongeek.vscode-env
wholroyd.jinja
ms-vscode.makefile-tools
tnze.snbt
logerfo.sln-support
tboby.paradox-syntax
xteal.mcmeta
footerman.heracles-support
# Misc - Debuggers
firefox-devtools.vscode-firefox-debug
rogalmic.zsh-debug
# Misc - Linters
tekumara.typos-vscode
stylelint.vscode-stylelint
davidanson.vscode-markdownlint
# Misc - Formatters
esbenp.prettier-vscode
# Misc - Visuals
aaron-bond.better-comments
naumovs.color-highlight
kshetline.ligatures-limited
# Misc - Utilities
vasubasraj.flashpost
adpyke.codesnap
elypia.magick-image-reader
adpyke.vscode-sql-formatter
qwtel.sqlite-viewer
yy0931.vscode-sqlite3-editor
leonardssh.vscord
alefragnani.project-manager
mkhl.direnv
ms-vsliveshare.vsliveshare
ms-azuretools.vscode-docker
ms-vscode-remote.remote-ssh
pkgs.vscode-extensions.ms-vscode-remote.remote-ssh-edit
ms-vscode.remote-server
ms-vscode.remote-explorer
pkgs.vscode-extensions.ms-vscode-remote.remote-containers
ms-vscode.remote-repositories
formulahendry.auto-rename-tag
prunoideae.probejs
d-koppenhagen.file-tree-to-text-generator
# Copilot
github.copilot
github.copilot-chat
];
userSettings = {
"DO-NOT-EDIT-1" =
"This file is managed by the Nix module located at `/etc/nixos/home-manager/vscode.nix`.";
"DO-NOT-EDIT-2" = "Changes will be overwritten when VSCode is restarted.";
"DO-NOT-EDIT-3" = "To persist changes, edit the module and run `upd` in your terminal.";
"editor.tokenColorCustomizations" = {
"[Catppuccin*]" = {
"variables" = "#82eaf0";
"textMateRules" = [
{
"scope" = "comment";
"settings" = {
"foreground" = "#f465ec";
"fontStyle" = "italic";
};
}
{
"scope" = "punctuation.definition.comment";
"settings" = {
"foreground" = "#f465ec";
"fontStyle" = "italic";
};
}
{
"scope" = "variable.other.readwrite";
"settings" = {
"foreground" = "#82eaf0";
};
}
{
"scope" = "keyword.operator";
"settings" = {
"foreground" = "#EBA0AC";
};
}
{
"scope" = "meta.block.paradox";
"settings" = {
"foreground" = "#EBA0AC";
};
}
{
"scope" = "meta.shebang.shell";
"settings" = {
"foreground" = "#fb5d1f";
"fontStyle" = "italic bold";
};
}
{
"scope" = "punctuation.definition.comment.shebang.shell";
"settings" = {
"foreground" = "#fb5d1f";
"fontStyle" = "italic bold";
};
}
{
"scope" = "string.quoted.double.shell variable.other.normal.shell";
"settings" = {
"foreground" = "#82e5f0";
};
}
{
"scope" = "variable.other.property.ts";
"settings" = {
"foreground" = "#32d5e7";
};
}
};
"[python]" = {
"editor.formatOnType" = true;
"editor.formatOnSave" = true;
"editor.defaultFormatter" = "charliermarsh.ruff";
"editor.codeActionsOnSave" = {
"source.fixAll" = "explicit";
"source.organizeImports" = "explicit";
};
};
"ruff.path" = [ "${pkgs.ruff}/bin/ruff" ];
"luau-lsp.serverPath" = "${pkgs.callPackage ../packages/luau-lsp.nix { inherit pkgs; }}/bin/luau-lsp";
"python.terminal.activateEnvironment" = false;
"python.terminal.activateEnvInCurrentTerminal" = false;
"[csharp]" = {
"editor.defaultFormatter" = "csharpier.csharpier-vscode";
"editor.formatOnSave" = true;
"editor.formatOnSaveMode" = "file";
};
"[typescript]" = {
"editor.defaultFormatter" = "esbenp.prettier-vscode";
"editor.formatOnType" = false;
"editor.formatOnPaste" = true;
"editor.formatOnSave" = true;
"editor.formatOnSaveMode" = "file";
"files.autoSave" = "onFocusChange";
};
"[markdown]" = {
"files.trimTrailingWhitespace" = false;
};
"yaml.schemas" = {
"https://json.schemastore.org/github-workflow.json" = [
".github/workflows/*.{yml,yaml}"
".forgejo/workflows/*.{yml,yaml}"
".gitea/workflows/*.{yml,yaml}"
];
};
};
"[python]" = {
"editor.formatOnType" = true;
"editor.formatOnSave" = true;
"editor.defaultFormatter" = "charliermarsh.ruff";
"editor.codeActionsOnSave" = {
"source.fixAll" = "explicit";
"source.organizeImports" = "explicit";
};
};
"ruff.path" = [ "${pkgs.ruff}/bin/ruff" ];
"python.terminal.activateEnvironment" = false;
"python.terminal.activateEnvInCurrentTerminal" = false;
"[csharp]" = {
"editor.defaultFormatter" = "csharpier.csharpier-vscode";
"editor.formatOnSave" = true;
"editor.formatOnSaveMode" = "file";
};
"[typescript]" = {
"editor.defaultFormatter" = "esbenp.prettier-vscode";
"editor.formatOnType" = false;
"editor.formatOnPaste" = true;
"editor.formatOnSave" = true;
"editor.formatOnSaveMode" = "file";
"files.autoSave" = "onFocusChange";
};
"[markdown]" = {
"files.trimTrailingWhitespace" = false;
};
"yaml.schemas" = {
"https://json.schemastore.org/github-workflow.json" = [
".github/workflows/*.{yml,yaml}"
".forgejo/workflows/*.{yml,yaml}"
".gitea/workflows/*.{yml,yaml}"
];
};
"yaml.schemaStore.enable" = true;
"nix.enableLanguageServer" = true;
"nix.serverSettings" = {
"nil" = {
"formatting" = {
"command" = [ "nixfmt" ];
"yaml.schemaStore.enable" = true;
"nix.enableLanguageServer" = true;
"nix.serverSettings" = {
"nil" = {
"formatting" = {
"command" = [ "nixfmt" ];
};
};
};
};
"nix.serverPath" = "nil";
"vscord.status.image.large.debugging.key" = "https://vscord.catppuccin.com/mocha/debugging.webp";
"vscord.status.image.large.editing.key" = "https://vscord.catppuccin.com/mocha/{lang}.webp";
"vscord.status.image.large.idle.key" = "https://vscord.catppuccin.com/mocha/idle-{app_id}.webp";
"vscord.status.image.large.notInFile.key" =
"https://vscord.catppuccin.com/mocha/idle-{app_id}.webp";
"vscord.status.image.large.viewing.key" = "https://vscord.catppuccin.com/mocha/{lang}.webp";
"vscord.status.image.small.debugging.key" = "https://vscord.catppuccin.com/mocha/debugging.webp";
"vscord.status.image.small.editing.key" = "https://vscord.catppuccin.com/mocha/{app_id}.webp";
"vscord.status.image.small.idle.key" = "https://vscord.catppuccin.com/mocha/idle.webp";
"vscord.status.image.small.notInFile.key" = "https://vscord.catppuccin.com/mocha/idle.webp";
"vscord.status.image.small.viewing.key" = "https://vscord.catppuccin.com/mocha/{app_id}.webp";
"git.enableSmartCommit" = true;
"git.autofetch" = true;
"git.confirmSync" = false;
"security.workspace.trust.untrustedFiles" = "open";
"files.insertFinalNewline" = true;
"files.trimFinalNewlines" = true;
"files.trimTrailingWhitespace" = true;
"editor.inlineSuggest.enabled" = true;
"diffEditor.ignoreTrimWhitespace" = false;
"git.enableCommitSigning" = true;
"editor.accessibilitySupport" = "off";
"git.inputValidationSubjectLength" = null;
"git.inputValidationLength" = 150;
"editor.fontLigatures" = "'cv01', 'cv02', 'ss05', 'ss08', 'ss03', 'cv29', 'cv30', 'cv11'";
"workbench.iconTheme" = "catppuccin-latte";
"catppuccin.syncWithIconPack" = false;
"codesnap.shutterAction" = "copy";
"codesnap.transparentBackground" = true;
"codesnap.realLineNumbers" = true;
"codesnap.roundedCorners" = true;
"codesnap.showWindowTitle" = true;
"codesnap.showWindowControls" = false;
"gitlens.remotes" = [
{
"domain" = "www.coastalcommits.com";
"type" = "Gitea";
}
];
"markdownlint.config" = {
"ol-prefix" = false;
"html" = false;
};
"markdownlint.lintWorkspaceGlobs" = [
"**/*.{md,mkd,mdwn,mdown,markdown,markdn,mdtxt,mdtext,workbook}"
"!**/node_modules"
"!**/bower_components"
"!**/.git"
"!**/LICENSE"
"!**/LICENSE.md"
];
"editor.largeFileOptimizations" = false;
"files.associations" = {
".env" = "properties";
"*.ini" = "paradox";
"*.kt" = "kotlin";
"**/xonsh/*.py" = "xonsh";
};
"editor.semanticHighlighting.enabled" = true;
"[css]" = {
"editor.defaultFormatter" = "esbenp.prettier-vscode";
};
"git.ignoreRebaseWarning" = true;
"remote.autoForwardPortsSource" = "hybrid";
"git.replaceTagsWhenPull" = true;
"redhat.telemetry.enabled" = true;
"editor.fontSize" = 14;
"workbench.colorTheme" = "Catppuccin Mocha";
"editor.codeLensFontFamily" =
"'ComicCodeLigatures Nerd Font', 'Comic Code Ligatures', 'FiraCode Nerd Font'";
"editor.inlayHints.fontFamily" =
"'ComicCodeLigatures Nerd Font', 'Comic Code Ligatures', 'FiraCode Nerd Font', 'FiraCode Nerd Font Light'";
"editor.fontFamily" =
"'ComicCodeLigatures Nerd Font', 'Comic Code Ligatures', 'FiraCode Nerd Font'";
"explorer.confirmDelete" = false;
"window.confirmSaveUntitledWorkspace" = false;
"cwtools.cache.stellaris" = "/bulk/steam/steamapps/common/Stellaris";
"python.analysis.inlayHints.callArgumentNames" = "partial";
"python.analysis.inlayHints.functionReturnTypes" = true;
"explorer.confirmDragAndDrop" = false;
"editor.unicodeHighlight.allowedLocales" = {
ru = true;
};
"terminal.integrated.defaultProfile.linux" = "xonsh";
"explorer.confirmPasteNative" = false;
"editor.renderWhitespace" = "none";
"explorer.fileNesting.patterns" = {
"*.ts" = "\${capture}.js";
"*.js" = "\${capture}.js.map, \${capture}.min.js, \${capture}.d.ts";
"*.jsx" = "\${capture}.js";
"*.tsx" = "\${capture}.ts";
"tsconfig.json" = "tsconfig.*.json";
"package.json" = "package-lock.json, yarn.lock, pnpm-lock.yaml, bun.lockb";
"Cargo.toml" = "Cargo.lock";
"*.sqlite" = "\${capture}.\${extname}-*";
"*.db" = "\${capture}.\${extname}-*";
"*.sqlite3" = "\${capture}.\${extname}-*";
"*.db3" = "\${capture}.\${extname}-*";
"*.sdb" = "\${capture}.\${extname}-*";
"*.s3db" = "\${capture}.\${extname}-*";
};
"[shellscript]" = {
"editor.defaultFormatter" = "shakram02.bash-beautify";
};
"vscord.app.name" = "Visual Studio Code";
"workbench.editorAssociations" = {
"*.db" = "sqlite3-editor.editor";
};
"typescript.updateImportsOnFileMove.enabled" = "always";
"[javascript]" = {
"editor.defaultFormatter" = "esbenp.prettier-vscode";
};
"[json]" = {
"editor.defaultFormatter" = "esbenp.prettier-vscode";
};
"go.toolsManagement.autoUpdate" = true;
"remote.SSH.remotePlatform" = {
"eclipse" = "linux";
};
"terminal.integrated.fontWeightBold" = "bold";
"terminal.integrated.fontFamily" =
"'ComicCodeLigatures Nerd Font', 'Comic Code Ligatures', 'FiraCode Nerd Font'";
"[jsonc]" = {
"editor.defaultFormatter" = "esbenp.prettier-vscode";
};
"github.copilot.enable" = {
"markdown" = true;
"nix.serverPath" = "nil";
"vscord.status.image.large.debugging.key" = "https://vscord.catppuccin.com/mocha/debugging.webp";
"vscord.status.image.large.editing.key" = "https://vscord.catppuccin.com/mocha/{lang}.webp";
"vscord.status.image.large.idle.key" = "https://vscord.catppuccin.com/mocha/idle-{app_id}.webp";
"vscord.status.image.large.notInFile.key" =
"https://vscord.catppuccin.com/mocha/idle-{app_id}.webp";
"vscord.status.image.large.viewing.key" = "https://vscord.catppuccin.com/mocha/{lang}.webp";
"vscord.status.image.small.debugging.key" = "https://vscord.catppuccin.com/mocha/debugging.webp";
"vscord.status.image.small.editing.key" = "https://vscord.catppuccin.com/mocha/{app_id}.webp";
"vscord.status.image.small.idle.key" = "https://vscord.catppuccin.com/mocha/idle.webp";
"vscord.status.image.small.notInFile.key" = "https://vscord.catppuccin.com/mocha/idle.webp";
"vscord.status.image.small.viewing.key" = "https://vscord.catppuccin.com/mocha/{app_id}.webp";
"stylua.styluaPath" = "${pkgs.stylua}/bin/stylua";
"git.enableSmartCommit" = true;
"git.autofetch" = true;
"luau-lsp.sourcemap.autogenerate" = true;
"luau-lsp.completion.autocompleteEnd" = true;
"luau-lsp.sourcemap.rojoPath" = "${pkgs.rojo}/bin/rojo";
"git.confirmSync" = false;
"security.workspace.trust.untrustedFiles" = "open";
"files.insertFinalNewline" = true;
"files.trimFinalNewlines" = true;
"files.trimTrailingWhitespace" = true;
"editor.inlineSuggest.enabled" = true;
"diffEditor.ignoreTrimWhitespace" = false;
"git.enableCommitSigning" = true;
"editor.accessibilitySupport" = "off";
"git.inputValidationSubjectLength" = null;
"git.inputValidationLength" = 150;
"editor.fontLigatures" = "'cv01', 'cv02', 'ss05', 'ss08', 'ss03', 'cv29', 'cv30', 'cv11'";
"workbench.iconTheme" = "catppuccin-latte";
"catppuccin.syncWithIconPack" = false;
"codesnap.shutterAction" = "copy";
"codesnap.transparentBackground" = true;
"codesnap.realLineNumbers" = true;
"codesnap.roundedCorners" = true;
"codesnap.showWindowTitle" = true;
"codesnap.showWindowControls" = false;
"gitlens.remotes" = [
{
"domain" = "www.coastalcommits.com";
"type" = "Gitea";
}
];
"markdownlint.config" = {
"ol-prefix" = false;
"html" = false;
};
"markdownlint.lintWorkspaceGlobs" = [
"**/*.{md,mkd,mdwn,mdown,markdown,markdn,mdtxt,mdtext,workbook}"
"!**/node_modules"
"!**/bower_components"
"!**/.git"
"!**/LICENSE"
"!**/LICENSE.md"
];
"editor.largeFileOptimizations" = false;
"files.associations" = {
".env" = "properties";
"*.ini" = "paradox";
"*.kt" = "kotlin";
"**/xonsh/*.py" = "xonsh";
};
"editor.semanticHighlighting.enabled" = true;
"[css]" = {
"editor.defaultFormatter" = "esbenp.prettier-vscode";
};
"git.ignoreRebaseWarning" = true;
"remote.autoForwardPortsSource" = "hybrid";
"git.replaceTagsWhenPull" = true;
"redhat.telemetry.enabled" = true;
"editor.fontSize" = 14;
"workbench.colorTheme" = "Catppuccin Mocha";
"editor.codeLensFontFamily" =
"'ComicCodeLigatures Nerd Font', 'Comic Code Ligatures', 'FiraCode Nerd Font'";
"editor.inlayHints.fontFamily" =
"'ComicCodeLigatures Nerd Font', 'Comic Code Ligatures', 'FiraCode Nerd Font', 'FiraCode Nerd Font Light'";
"editor.fontFamily" =
"'ComicCodeLigatures Nerd Font', 'Comic Code Ligatures', 'FiraCode Nerd Font'";
"explorer.confirmDelete" = false;
"window.confirmSaveUntitledWorkspace" = false;
"cwtools.cache.stellaris" = "/bulk/steam/steamapps/common/Stellaris";
"python.analysis.inlayHints.callArgumentNames" = "partial";
"python.analysis.inlayHints.functionReturnTypes" = true;
"explorer.confirmDragAndDrop" = false;
"editor.unicodeHighlight.allowedLocales" = {
ru = true;
};
"terminal.integrated.defaultProfile.linux" = "xonsh";
"explorer.confirmPasteNative" = false;
"editor.renderWhitespace" = "none";
"explorer.fileNesting.patterns" = {
"*.ts" = "\${capture}.js";
"*.js" = "\${capture}.js.map, \${capture}.min.js, \${capture}.d.ts";
"*.jsx" = "\${capture}.js";
"*.tsx" = "\${capture}.ts";
"tsconfig.json" = "tsconfig.*.json";
"package.json" = "package-lock.json, yarn.lock, pnpm-lock.yaml, bun.lockb";
"Cargo.toml" = "Cargo.lock";
"*.sqlite" = "\${capture}.\${extname}-*";
"*.db" = "\${capture}.\${extname}-*";
"*.sqlite3" = "\${capture}.\${extname}-*";
"*.db3" = "\${capture}.\${extname}-*";
"*.sdb" = "\${capture}.\${extname}-*";
"*.s3db" = "\${capture}.\${extname}-*";
};
"[shellscript]" = {
"editor.defaultFormatter" = "shakram02.bash-beautify";
};
"vscord.app.name" = "Visual Studio Code";
"workbench.editorAssociations" = {
"*.db" = "sqlite3-editor.editor";
};
"typescript.updateImportsOnFileMove.enabled" = "always";
"[javascript]" = {
"editor.defaultFormatter" = "esbenp.prettier-vscode";
};
"[json]" = {
"editor.defaultFormatter" = "esbenp.prettier-vscode";
};
"go.toolsManagement.autoUpdate" = true;
"remote.SSH.remotePlatform" = {
"eclipse" = "linux";
};
"terminal.integrated.fontWeightBold" = "bold";
"terminal.integrated.fontFamily" =
"'ComicCodeLigatures Nerd Font', 'Comic Code Ligatures', 'FiraCode Nerd Font'";
"[jsonc]" = {
"editor.defaultFormatter" = "esbenp.prettier-vscode";
};
"github.copilot.enable" = {
"markdown" = true;
};
};
};
};
}

41
packages/luau-lsp.nix Normal file
View file

@ -0,0 +1,41 @@
{ pkgs, lib, ...
}:
pkgs.stdenv.mkDerivation (finalAttrs: {
pname = "luau-lsp";
version = "1.38.0";
src = pkgs.fetchFromGitHub {
owner = "JohnnyMorganz";
repo = "luau-lsp";
rev = finalAttrs.version;
hash = "sha256-31EdtCQftxhpp2b7fpM5XqRh+r0rBE/k9SpYEPpGpV0=";
fetchSubmodules = true;
};
nativeBuildInputs = [ pkgs.cmake ]
++ lib.optional pkgs.stdenv.isLinux pkgs.gcc9;
buildPhase = ''
runHook preBuild
cmake ..
cmake --build . --target Luau.LanguageServer.CLI --config Release
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp ./luau-lsp $out/bin/luau-lsp
runHook postInstall
'';
meta = {
description = "Language Server for Luau";
homepage = "https://github.com/JohnnyMorganz/luau-lsp";
downloadPage = "https://github.com/JohnnyMorganz/luau-lsp/releases/tag/${finalAttrs.version}";
license = lib.licenses.mit;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ cswimr ];
mainProgram = "luau-lsp";
};
})