summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
authortom barrett <tom@tombarrett.xyz>2025-02-16 16:12:18 +0100
committertom barrett <tom@tombarrett.xyz>2025-02-16 16:12:18 +0100
commitb96cf3a52f310aa4df59a304c80070bda7f83c14 (patch)
treecc97eaea8efd83af5560fd951eab63b282f5d17e /flake.nix
parenta1140b2d47df62214537abaea86974c2a14c39b2 (diff)
fix alot of minor thingsHEADmaster
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix158
1 files changed, 88 insertions, 70 deletions
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 = {
- "<CR>" = "cmp.mapping.confirm({ select = true })";
- "<Tab>" = ''
- 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 = {
+ "<CR>" = "cmp.mapping.confirm({ select = true })";
+ "<Tab>" = ''
+ 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 @@
};
};
};
- };
}