From 393a5f903731bc92b407b82ae6da67390d3618ee Mon Sep 17 00:00:00 2001 From: DashieTM Date: Wed, 22 May 2024 02:48:39 +0200 Subject: [PATCH] nvim: include more formatters and lsps --- nix/flake.lock | 269 ++++++++-------------- nix/flake.nix | 2 - nix/programs/coding.nix | 14 +- nix/programs/common.nix | 2 + nix/programs/default.nix | 3 - nix/programs/hyprland/hyprlock.nix | 4 +- nix/programs/nvim/default.nix | 1 - nix/programs/nvim/lua/plugins/lsp.lua | 59 ++++- nix/programs/nvim/lua/plugins/plugins.lua | 1 + 9 files changed, 160 insertions(+), 195 deletions(-) diff --git a/nix/flake.lock b/nix/flake.lock index e54dc3b..348abc4 100644 --- a/nix/flake.lock +++ b/nix/flake.lock @@ -209,7 +209,7 @@ }, "flake-utils": { "inputs": { - "systems": "systems_3" + "systems": "systems" }, "locked": { "lastModified": 1705309234, @@ -227,7 +227,7 @@ }, "flake-utils_2": { "inputs": { - "systems": "systems_4" + "systems": "systems_2" }, "locked": { "lastModified": 1705309234, @@ -245,7 +245,7 @@ }, "flake-utils_3": { "inputs": { - "systems": "systems_5" + "systems": "systems_3" }, "locked": { "lastModified": 1705309234, @@ -263,7 +263,7 @@ }, "flake-utils_4": { "inputs": { - "systems": "systems_6" + "systems": "systems_4" }, "locked": { "lastModified": 1705309234, @@ -281,7 +281,7 @@ }, "flake-utils_5": { "inputs": { - "systems": "systems_7" + "systems": "systems_5" }, "locked": { "lastModified": 1705309234, @@ -299,7 +299,7 @@ }, "flake-utils_6": { "inputs": { - "systems": "systems_8" + "systems": "systems_6" }, "locked": { "lastModified": 1705309234, @@ -335,61 +335,19 @@ "type": "github" } }, - "hyprlang": { - "inputs": { - "nixpkgs": [ - "hyprlock", - "nixpkgs" - ], - "systems": "systems" - }, - "locked": { - "lastModified": 1713121246, - "narHash": "sha256-502X0Q0fhN6tJK7iEUA8CghONKSatW/Mqj4Wappd++0=", - "owner": "hyprwm", - "repo": "hyprlang", - "rev": "78fcaa27ae9e1d782faa3ff06c8ea55ddce63706", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprlang", - "type": "github" - } - }, - "hyprlock": { - "inputs": { - "hyprlang": "hyprlang", - "nixpkgs": "nixpkgs_2", - "systems": "systems_2" - }, - "locked": { - "lastModified": 1716242428, - "narHash": "sha256-9itkgx3Sl8xPToweCHQoLfvyiTX/b5PZb7clYcKYyIs=", - "owner": "hyprwm", - "repo": "hyprlock", - "rev": "18d2d2ba6af6ac76e4714fae2737a55d223716f8", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprlock", - "type": "github" - } - }, "ironbar": { "inputs": { "crane": "crane", "naersk": "naersk", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_3", "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1716154552, - "narHash": "sha256-JZqgSOeU2MalRnF75gQ1vZu3VftGfmIgkxPMpkd218o=", + "lastModified": 1716298131, + "narHash": "sha256-3gK89CiryG8PAXZvtWo+2rrwfyMApQOB5trNrM+cUUY=", "owner": "JakeStanger", "repo": "ironbar", - "rev": "4ad4b0e070cc4e271251763db7210e70857d68ca", + "rev": "fd58ce771d3494b3cc034ac49c88af72aab57bf3", "type": "github" }, "original": { @@ -400,7 +358,7 @@ }, "naersk": { "inputs": { - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_2" }, "locked": { "lastModified": 1713520724, @@ -464,22 +422,6 @@ } }, "nixpkgs_10": { - "locked": { - "lastModified": 1706487304, - "narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "90f456026d284c22b3e3497be980b2e47d0b28ac", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_11": { "locked": { "lastModified": 1716137900, "narHash": "sha256-sowPU+tLQv8GlqtVtsXioTKeaQvlMz/pefcdwg8MvfM=", @@ -495,7 +437,7 @@ "type": "github" } }, - "nixpkgs_12": { + "nixpkgs_11": { "locked": { "lastModified": 1716190602, "narHash": "sha256-xYRimrR0duWvokWQEvB87bSsICeCvvX9DxpUOzCfsDE=", @@ -511,7 +453,7 @@ "type": "github" } }, - "nixpkgs_13": { + "nixpkgs_12": { "locked": { "lastModified": 1716137900, "narHash": "sha256-sowPU+tLQv8GlqtVtsXioTKeaQvlMz/pefcdwg8MvfM=", @@ -527,23 +469,23 @@ "type": "github" } }, + "nixpkgs_13": { + "locked": { + "lastModified": 1706487304, + "narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "90f456026d284c22b3e3497be980b2e47d0b28ac", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_14": { - "locked": { - "lastModified": 1706487304, - "narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "90f456026d284c22b3e3497be980b2e47d0b28ac", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_15": { "locked": { "lastModified": 1716137900, "narHash": "sha256-sowPU+tLQv8GlqtVtsXioTKeaQvlMz/pefcdwg8MvfM=", @@ -559,7 +501,7 @@ "type": "github" } }, - "nixpkgs_16": { + "nixpkgs_15": { "locked": { "lastModified": 1706487304, "narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=", @@ -575,7 +517,7 @@ "type": "github" } }, - "nixpkgs_17": { + "nixpkgs_16": { "locked": { "lastModified": 1716062047, "narHash": "sha256-OhysviwHQz4p2HZL4g7XGMLoUbWMjkMr/ogaR3VUYNA=", @@ -592,22 +534,6 @@ } }, "nixpkgs_2": { - "locked": { - "lastModified": 1712963716, - "narHash": "sha256-WKm9CvgCldeIVvRz87iOMi8CFVB1apJlkUT4GGvA0iM=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "cfd6b5fc90b15709b780a5a1619695a88505a176", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { "locked": { "lastModified": 1714314149, "narHash": "sha256-yNAevSKF4krRWacmLUsLK7D7PlfuY3zF0lYnGYNi9vQ=", @@ -621,7 +547,7 @@ "type": "indirect" } }, - "nixpkgs_4": { + "nixpkgs_3": { "locked": { "lastModified": 1714253743, "narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=", @@ -637,17 +563,33 @@ "type": "github" } }, + "nixpkgs_4": { + "locked": { + "lastModified": 1716293225, + "narHash": "sha256-pU9ViBVE3XYb70xZx+jK6SEVphvt7xMTbm6yDIF4xPs=", + "owner": "NixOs", + "repo": "nixpkgs", + "rev": "3eaeaeb6b1e08a016380c279f8846e0bd8808916", + "type": "github" + }, + "original": { + "owner": "NixOs", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_5": { "locked": { "lastModified": 1716137900, "narHash": "sha256-sowPU+tLQv8GlqtVtsXioTKeaQvlMz/pefcdwg8MvfM=", - "owner": "NixOs", + "owner": "NixOS", "repo": "nixpkgs", "rev": "6c0b7a92c30122196a761b440ac0d46d3d9954f1", "type": "github" }, "original": { - "owner": "NixOs", + "owner": "NixOS", "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" @@ -670,6 +612,22 @@ } }, "nixpkgs_7": { + "locked": { + "lastModified": 1706487304, + "narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "90f456026d284c22b3e3497be980b2e47d0b28ac", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_8": { "locked": { "lastModified": 1716137900, "narHash": "sha256-sowPU+tLQv8GlqtVtsXioTKeaQvlMz/pefcdwg8MvfM=", @@ -685,7 +643,7 @@ "type": "github" } }, - "nixpkgs_8": { + "nixpkgs_9": { "locked": { "lastModified": 1706487304, "narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=", @@ -701,26 +659,10 @@ "type": "github" } }, - "nixpkgs_9": { - "locked": { - "lastModified": 1716137900, - "narHash": "sha256-sowPU+tLQv8GlqtVtsXioTKeaQvlMz/pefcdwg8MvfM=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "6c0b7a92c30122196a761b440ac0d46d3d9954f1", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "oxicalc": { "inputs": { "flake-parts": "flake-parts_2", - "nixpkgs": "nixpkgs_6" + "nixpkgs": "nixpkgs_5" }, "locked": { "lastModified": 1716225554, @@ -739,7 +681,7 @@ "oxidash": { "inputs": { "flake-parts": "flake-parts_3", - "nixpkgs": "nixpkgs_7", + "nixpkgs": "nixpkgs_6", "rust-overlay": "rust-overlay_2" }, "locked": { @@ -759,7 +701,7 @@ "oxinoti": { "inputs": { "flake-parts": "flake-parts_4", - "nixpkgs": "nixpkgs_9", + "nixpkgs": "nixpkgs_8", "rust-overlay": "rust-overlay_3" }, "locked": { @@ -779,7 +721,7 @@ "oxipaste": { "inputs": { "flake-parts": "flake-parts_5", - "nixpkgs": "nixpkgs_11", + "nixpkgs": "nixpkgs_10", "rust-overlay": "rust-overlay_4" }, "locked": { @@ -799,7 +741,7 @@ "oxishut": { "inputs": { "flake-parts": "flake-parts_6", - "nixpkgs": "nixpkgs_13", + "nixpkgs": "nixpkgs_12", "rust-overlay": "rust-overlay_5" }, "locked": { @@ -819,7 +761,7 @@ "reset": { "inputs": { "flake-parts": "flake-parts_7", - "nixpkgs": "nixpkgs_15", + "nixpkgs": "nixpkgs_14", "rust-overlay": "rust-overlay_6" }, "locked": { @@ -841,10 +783,9 @@ "Hyprspace": "Hyprspace", "anyrun": "anyrun", "home-manager": "home-manager", - "hyprlock": "hyprlock", "ironbar": "ironbar", "nix-flatpak": "nix-flatpak", - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_4", "oxicalc": "oxicalc", "oxidash": "oxidash", "oxinoti": "oxinoti", @@ -879,7 +820,7 @@ "rust-overlay_2": { "inputs": { "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs_8" + "nixpkgs": "nixpkgs_7" }, "locked": { "lastModified": 1716171463, @@ -898,7 +839,7 @@ "rust-overlay_3": { "inputs": { "flake-utils": "flake-utils_3", - "nixpkgs": "nixpkgs_10" + "nixpkgs": "nixpkgs_9" }, "locked": { "lastModified": 1716171463, @@ -917,7 +858,7 @@ "rust-overlay_4": { "inputs": { "flake-utils": "flake-utils_4", - "nixpkgs": "nixpkgs_12" + "nixpkgs": "nixpkgs_11" }, "locked": { "lastModified": 1716171463, @@ -936,7 +877,7 @@ "rust-overlay_5": { "inputs": { "flake-utils": "flake-utils_5", - "nixpkgs": "nixpkgs_14" + "nixpkgs": "nixpkgs_13" }, "locked": { "lastModified": 1716171463, @@ -955,7 +896,7 @@ "rust-overlay_6": { "inputs": { "flake-utils": "flake-utils_6", - "nixpkgs": "nixpkgs_16" + "nixpkgs": "nixpkgs_15" }, "locked": { "lastModified": 1716171463, @@ -973,7 +914,7 @@ }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_17", + "nixpkgs": "nixpkgs_16", "nixpkgs-stable": "nixpkgs-stable" }, "locked": { @@ -992,31 +933,31 @@ }, "systems": { "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "type": "github" }, "original": { "owner": "nix-systems", - "repo": "default-linux", + "repo": "default", "type": "github" } }, "systems_2": { "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "type": "github" }, "original": { "owner": "nix-systems", - "repo": "default-linux", + "repo": "default", "type": "github" } }, @@ -1079,36 +1020,6 @@ "repo": "default", "type": "github" } - }, - "systems_7": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_8": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } } }, "root": "root", diff --git a/nix/flake.nix b/nix/flake.nix index c73e40c..ec07b17 100644 --- a/nix/flake.nix +++ b/nix/flake.nix @@ -16,8 +16,6 @@ sops-nix.url = "github:Mic92/sops-nix"; - hyprlock.url = "github:hyprwm/hyprlock"; - Hyprspace = { url = "github:KZDKM/Hyprspace"; # Hyprspace uses latest Hyprland. We declare this to keep them in sync. diff --git a/nix/programs/coding.nix b/nix/programs/coding.nix index 2a8ac9b..041d3bc 100644 --- a/nix/programs/coding.nix +++ b/nix/programs/coding.nix @@ -22,6 +22,13 @@ # cpp bear + #sql + nodePackages.sql-formatter + sqls + + #assembly + asm-lsp + #yaml yamlfmt yamllint @@ -29,12 +36,17 @@ #markdown marksman + mdformat + + #bash + nodePackages.bash-language-server + shfmt #html html-tidy #json - jsonfmt + jq #css tailwindcss diff --git a/nix/programs/common.nix b/nix/programs/common.nix index b089acf..a90f7ad 100644 --- a/nix/programs/common.nix +++ b/nix/programs/common.nix @@ -101,6 +101,8 @@ in home.sessionVariables = { FLAKE = "home/dasshie/gits/dotFiles/nix"; + # don't ask... marksman somehow requires this + DOTNET_SYSTEM_GLOBALIZATION_INVARIANT = 1; }; sops = { diff --git a/nix/programs/default.nix b/nix/programs/default.nix index c23ce99..fb482c7 100644 --- a/nix/programs/default.nix +++ b/nix/programs/default.nix @@ -1,7 +1,6 @@ { inputs, pkgs, mod, ... }: let base_imports = [ - inputs.hyprlock.homeManagerModules.default inputs.anyrun.homeManagerModules.default inputs.ironbar.homeManagerModules.default inputs.oxicalc.homeManagerModules.default @@ -26,8 +25,6 @@ in home-manager.useUserPackages = true; home-manager.users.dashie = { - #home-manager overlap -> use flake instead - disabledModules = [ "programs/hyprlock.nix" ]; imports = [ { _module = { args = { inherit inputs; }; }; diff --git a/nix/programs/hyprland/hyprlock.nix b/nix/programs/hyprland/hyprlock.nix index 99ed9d9..641f078 100644 --- a/nix/programs/hyprland/hyprlock.nix +++ b/nix/programs/hyprland/hyprlock.nix @@ -5,8 +5,7 @@ }: { programs.hyprlock.enable = true; - programs.hyprlock = { - + programs.hyprlock.settings = { backgrounds = [ { monitor = ""; @@ -32,6 +31,5 @@ halign = "center"; } ]; - }; } diff --git a/nix/programs/nvim/default.nix b/nix/programs/nvim/default.nix index c0f7885..8fe815f 100644 --- a/nix/programs/nvim/default.nix +++ b/nix/programs/nvim/default.nix @@ -134,7 +134,6 @@ { import = "lazyvim.plugins.extras.lang.markdown" }, { import = "lazyvim.plugins.extras.lang.cmake" }, { import = "lazyvim.plugins.extras.lang.omnisharp" }, - { import = "lazyvim.plugins.extras.lang.json" }, { import = "lazyvim.plugins.extras.lang.tex" }, { import = "lazyvim.plugins.extras.util.dot" }, { import = "lazyvim.plugins.extras.dap.core" }, diff --git a/nix/programs/nvim/lua/plugins/lsp.lua b/nix/programs/nvim/lua/plugins/lsp.lua index dbae6e0..cb2ff7c 100644 --- a/nix/programs/nvim/lua/plugins/lsp.lua +++ b/nix/programs/nvim/lua/plugins/lsp.lua @@ -11,9 +11,6 @@ return { "neovim/nvim-lspconfig", ---@class PluginLspOpts opts = { - -- inlay_hints = { - -- enabled = true, - -- }, format_notify = false, -- LSP Server Settings ---@type lspconfig.options @@ -66,7 +63,49 @@ return { }, omnisharp = { mason = false, - cmd = { "OmniSharp" }, + handlers = { + ["textDocument/definition"] = function(...) + return require("omnisharp_extended").handler(...) + end, + }, + keys = { + { + "oe", + function() + require("omnisharp_extended").telescope_lsp_definitions() + end, + desc = "Goto Definition", + }, + }, + cmd = { + -- no comment + "OmniSharp", + "-z", + "--hostPID", + tostring(vim.fn.getpid()), + "DotNet:enablePackageRestore=false", + "--encoding", + "utf-8", + "--languageserver", + "FormattingOptions:EnableEditorConfigSupport=true", + "FormattingOptions:OrganizeImports=true", + "RoslynExtensionsOptions:EnableAnalyzersSupport=true", + "RoslynExtensionsOptions:EnableImportCompletion=true", + -- inlay hints are bugged until next release..... + -- "RoslynExtensionsOptions:InlayHintsOptions:EnableForParameters=true", + -- "RoslynExtensionsOptions:InlayHintsOptions:ForLiteralParameters=true", + -- "RoslynExtensionsOptions:InlayHintsOptions:ForIndexerParameters=true", + -- "RoslynExtensionsOptions:InlayHintsOptions:ForObjectCreationParameters=true", + -- "RoslynExtensionsOptions:InlayHintsOptions:ForOtherParameters=true", + -- "RoslynExtensionsOptions:InlayHintsOptions:SuppressForParametersThatDifferOnlyBySuffix=false", + -- "RoslynExtensionsOptions:InlayHintsOptions:SuppressForParametersThatMatchMethodIntent=false", + -- "RoslynExtensionsOptions:InlayHintsOptions:SuppressForParametersThatMatchArgumentName=false", + -- "RoslynExtensionsOptions:InlayHintsOptions:EnableForTypes=true", + -- "RoslynExtensionsOptions:InlayHintsOptions:ForImplicitVariableTypes=true", + -- "RoslynExtensionsOptions:InlayHintsOptions:ForLambdaParameterTypes=true", + -- "RoslynExtensionsOptions:InlayHintsOptions:ForImplicitObjectCreation=true", + "Sdk:IncludePrereleases=true", + }, }, typst_lsp = { settings = { @@ -106,7 +145,7 @@ return { }, mason = false, }, - sqlls = { + sqls = { mason = false, }, lemminx = { @@ -118,9 +157,12 @@ return { yamlls = { mason = false, }, + zls = { + mason = false, + }, cssls = { mason = false, - cmd = { "css-languageserver", '--stdio' }, + cmd = { "css-languageserver", "--stdio" }, }, lua_ls = { mason = false, @@ -167,6 +209,11 @@ return { lua = { "stylua" }, sh = { "shfmt" }, cs = { "dotnet-csharpier" }, + markdown = { "mdformat" }, + sql = { "sql-formatter" }, + -- json doesn't work? + json = { "jq" }, + yaml = { "yamlfmt" }, }, }, }, diff --git a/nix/programs/nvim/lua/plugins/plugins.lua b/nix/programs/nvim/lua/plugins/plugins.lua index 45460c0..de330e6 100644 --- a/nix/programs/nvim/lua/plugins/plugins.lua +++ b/nix/programs/nvim/lua/plugins/plugins.lua @@ -280,4 +280,5 @@ return { }, }, { "akinsho/git-conflict.nvim", version = "*", config = true }, + { "Hoffs/omnisharp-extended-lsp.nvim" }, }