From b96cf3a52f310aa4df59a304c80070bda7f83c14 Mon Sep 17 00:00:00 2001 From: tom barrett Date: Sun, 16 Feb 2025 16:12:18 +0100 Subject: fix alot of minor things --- flake.nix | 158 ++++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 88 insertions(+), 70 deletions(-) (limited to 'flake.nix') diff --git a/flake.nix b/flake.nix index bc8e66f..f699242 100644 --- a/flake.nix +++ b/flake.nix @@ -4,81 +4,100 @@ nixvim.url = "github:nix-community/nixvim"; }; - outputs = { - nixpkgs, - nixvim, - self, - }: let - pkgs = nixpkgs.legacyPackages.x86_64-linux; - npkgs = nixvim.legacyPackages.x86_64-linux; - in { - packages.x86_64-linux.default = npkgs.makeNixvimWithModule { - module = { - config = { - opts = {mouse = "";}; - colorschemes.kanagawa = { - enable = true; - settings.transparent = true; - }; - extraPackages = [ - pkgs.go - pkgs.rustfmt - ]; - plugins = { - ledger.enable = true; - lsp-format.enable = true; - vim-css-color.enable = true; - none-ls = { + outputs = + { + nixpkgs, + nixvim, + self, + }: + let + pkgs = nixpkgs.legacyPackages.x86_64-linux; + npkgs = nixvim.legacyPackages.x86_64-linux; + in + { + packages.x86_64-linux.default = npkgs.makeNixvimWithModule { + module = { + config = { + opts = { + mouse = ""; + expandtab = true; + tabstop = 4; + }; + colorschemes.kanagawa = { enable = true; - sources = { - formatting = { - shfmt = { + settings.transparent = true; + }; + extraPackages = [ + pkgs.nixfmt-rfc-style + pkgs.shfmt + ]; + filetype.pattern.".*".__raw = '' + function(path, bufnr) + local content = vim.api.nvim_buf_get_lines(bufnr, 1, 2, false)[1] or "" + if vim.regex("bash"):match_str(content) then + return 'bash' + elseif vim.regex("python"):match_str(content) then + return 'python' + end + end + ''; + plugins = { + ledger.enable = true; + lsp-format.enable = true; + vim-css-color.enable = true; + lsp = { + enable = true; + servers = { + cmake.enable = true; + gopls.enable = true; + ruff.enable = true; + nixd = { enable = true; - settings.extra_args = ["-i" "4" "-s"]; + extraOptions.formatting.command = "nixfmt"; }; - alejandra.enable = true; + bashls.enable = true; }; }; - }; - lsp = { - enable = true; - servers = { - cmake.enable = true; - gopls.enable = true; - ruff.enable = true; - nixd.enable = true; - bashls.enable = true; - rust-analyzer = { - enable = true; - installCargo = true; - installRustc = true; + luasnip.enable = true; + cmp = { + enable = true; + cmdline = { + ":" = { + mapping.__raw = "cmp.mapping.preset.cmdline()"; + sources = [ + { name = "path"; } + { + name = "cmdline"; + option.ignore_cmds = [ + "Man" + "!" + ]; + } + ]; + }; }; - }; - }; - luasnip.enable = true; - cmp = { - enable = true; - settings = { - autoEnableSources = true; - sources = [ - {name = "nvim_lsp";} - {name = "path";} - {name = "buffer";} - {name = "luasnip";} - ]; - mapping = { - "" = "cmp.mapping.confirm({ select = true })"; - "" = '' - cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item({ - behavior = cmp.SelectBehavior.Select - }) - else - fallback() - end - end, {"i","s","c",}) - ''; + settings = { + autoEnableSources = true; + sources = [ + { name = "nvim_lsp"; } + { name = "path"; } + { name = "buffer"; } + { name = "luasnip"; } + ]; + mapping = { + "" = "cmp.mapping.confirm({ select = true })"; + "" = '' + cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item({ + behavior = cmp.SelectBehavior.Select + }) + else + fallback() + end + end, {"i","s","c",}) + ''; + }; }; }; }; @@ -86,5 +105,4 @@ }; }; }; - }; } -- cgit v1.2.3