This commit is contained in:
Varris 2023-12-21 20:18:51 +01:00
parent 8bb68610dd
commit 632d3111de
20 changed files with 299 additions and 424 deletions

View File

@ -156,7 +156,9 @@
}, },
"home-manager_2": { "home-manager_2": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_3" "nixpkgs": [
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1703113038, "lastModified": 1703113038,
@ -176,7 +178,7 @@
"hyprland": { "hyprland": {
"inputs": { "inputs": {
"hyprland-protocols": "hyprland-protocols", "hyprland-protocols": "hyprland-protocols",
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_3",
"systems": "systems_2", "systems": "systems_2",
"wlroots": "wlroots", "wlroots": "wlroots",
"xdph": "xdph" "xdph": "xdph"
@ -197,7 +199,7 @@
}, },
"hyprland-contrib": { "hyprland-contrib": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_5" "nixpkgs": "nixpkgs_4"
}, },
"locked": { "locked": {
"lastModified": 1702242899, "lastModified": 1702242899,
@ -240,7 +242,7 @@
}, },
"hyprpicker": { "hyprpicker": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_6" "nixpkgs": "nixpkgs_5"
}, },
"locked": { "locked": {
"lastModified": 1698684516, "lastModified": 1698684516,
@ -256,26 +258,11 @@
"type": "github" "type": "github"
} }
}, },
"mygui-git": {
"flake": false,
"locked": {
"lastModified": 1691358308,
"narHash": "sha256-qif9trHgtWpYiDVXY3cjRsXypjjjgStX8tSWCnXhXlk=",
"owner": "mygui",
"repo": "MyGUI",
"rev": "dae9ac4be5a09e672bec509b1a8552b107c40214",
"type": "github"
},
"original": {
"owner": "mygui",
"repo": "MyGUI",
"rev": "dae9ac4be5a09e672bec509b1a8552b107c40214",
"type": "github"
}
},
"nix-index-database": { "nix-index-database": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_7" "nixpkgs": [
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1702864432, "lastModified": 1702864432,
@ -293,11 +280,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1693471703, "lastModified": 1703013332,
"narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=", "narHash": "sha256-+tFNwMvlXLbJZXiMHqYq77z/RfmpfpiI3yjL6o/Zo9M=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85", "rev": "54aac082a4d9bb5bbc5c4e899603abfb76a3f6d6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -338,11 +325,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1701718080, "lastModified": 1703013332,
"narHash": "sha256-6ovz0pG76dE0P170pmmZex1wWcQoeiomUZGggfH9XPs=", "narHash": "sha256-+tFNwMvlXLbJZXiMHqYq77z/RfmpfpiI3yjL6o/Zo9M=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "2c7f3c0fb7c08a0814627611d9d7d45ab6d75335", "rev": "54aac082a4d9bb5bbc5c4e899603abfb76a3f6d6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -353,22 +340,6 @@
} }
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": {
"lastModified": 1702312524,
"narHash": "sha256-gkZJRDBUCpTPBvQk25G0B7vfbpEYM5s5OZqghkjZsnE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a9bf124c46ef298113270b1f84a164865987a91c",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1658161305, "lastModified": 1658161305,
"narHash": "sha256-X/nhnMCa1Wx4YapsspyAs6QYz6T/85FofrI6NpdPDHg=", "narHash": "sha256-X/nhnMCa1Wx4YapsspyAs6QYz6T/85FofrI6NpdPDHg=",
@ -384,7 +355,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_6": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1683014792, "lastModified": 1683014792,
"narHash": "sha256-6Va9iVtmmsw4raBc3QKvQT2KT/NGRWlvUlJj46zN8B8=", "narHash": "sha256-6Va9iVtmmsw4raBc3QKvQT2KT/NGRWlvUlJj46zN8B8=",
@ -400,23 +371,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_7": { "nixpkgs_6": {
"locked": {
"lastModified": 1702312524,
"narHash": "sha256-gkZJRDBUCpTPBvQk25G0B7vfbpEYM5s5OZqghkjZsnE=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "a9bf124c46ef298113270b1f84a164865987a91c",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_8": {
"locked": { "locked": {
"lastModified": 1703068421, "lastModified": 1703068421,
"narHash": "sha256-WSw5Faqlw75McIflnl5v7qVD/B3S2sLh+968bpOGrWA=", "narHash": "sha256-WSw5Faqlw75McIflnl5v7qVD/B3S2sLh+968bpOGrWA=",
@ -431,38 +386,6 @@
"type": "indirect" "type": "indirect"
} }
}, },
"nvim-hmts": {
"flake": false,
"locked": {
"lastModified": 1693226725,
"narHash": "sha256-jUuztOqNBltC3axa7s3CPJz9Cmukfwkf846+Z/gAxCU=",
"owner": "calops",
"repo": "hmts.nvim",
"rev": "14fd941d7ec2bb98314a1aacaa2573d97f1629ab",
"type": "github"
},
"original": {
"owner": "calops",
"repo": "hmts.nvim",
"type": "github"
}
},
"openmw-git": {
"flake": false,
"locked": {
"lastModified": 1703142516,
"narHash": "sha256-t/pB/MpTZZ/7BJY2pw21UgW2+MWd8OKFpqaKPoITtyA=",
"owner": "OpenMW",
"repo": "openmw",
"rev": "51cb3b08cb194decd92132b81f7776f2779afa57",
"type": "gitlab"
},
"original": {
"owner": "OpenMW",
"repo": "openmw",
"type": "gitlab"
}
},
"root": { "root": {
"inputs": { "inputs": {
"ags": "ags", "ags": "ags",
@ -475,12 +398,9 @@
"hyprland": "hyprland", "hyprland": "hyprland",
"hyprland-contrib": "hyprland-contrib", "hyprland-contrib": "hyprland-contrib",
"hyprpicker": "hyprpicker", "hyprpicker": "hyprpicker",
"mygui-git": "mygui-git",
"nix-index-database": "nix-index-database", "nix-index-database": "nix-index-database",
"nixpkgs": "nixpkgs_8", "nixpkgs": "nixpkgs_6",
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-unstable": "nixpkgs-unstable"
"nvim-hmts": "nvim-hmts",
"openmw-git": "openmw-git"
} }
}, },
"systems": { "systems": {

View File

@ -3,51 +3,33 @@
inputs = { inputs = {
nixpkgs.url = "nixpkgs/nixos-23.11"; nixpkgs.url = "nixpkgs/nixos-23.11";
home-manager.url = "github:nix-community/home-manager/release-23.11";
nixpkgs-unstable.url = "nixpkgs/nixpkgs-unstable"; nixpkgs-unstable.url = "nixpkgs/nixpkgs-unstable";
home-manager.url = "github:nix-community/home-manager/release-23.11";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
chaotic-nyx.url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; chaotic-nyx.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
nix-index-database.url = "github:Mic92/nix-index-database"; nix-index-database.url = "github:Mic92/nix-index-database";
nix-index-database.inputs.nixpkgs.follows = "nixpkgs";
hyprland.url = "github:hyprwm/hyprland"; hyprland.url = "github:hyprwm/hyprland";
hyprland-contrib.url = "github:hyprwm/contrib"; hyprland-contrib.url = "github:hyprwm/contrib";
hyprpicker.url = "github:hyprwm/hyprpicker"; hyprpicker.url = "github:hyprwm/hyprpicker";
ags.url = "github:Aylur/ags"; ags.url = "github:Aylur/ags";
gruvbox-kvantum = { gruvbox-kvantum.url = "github:thefallnn/Gruvbox-Kvantum";
url = "github:thefallnn/Gruvbox-Kvantum"; gruvbox-kvantum.flake = false;
flake = false;
};
fish-plugin-bobthefish = { fish-plugin-bobthefish.url = "github:oh-my-fish/theme-bobthefish";
url = "github:oh-my-fish/theme-bobthefish"; fish-plugin-bobthefish.flake = false;
flake = false;
};
fish-plugin-gruvbox-theme = { fish-plugin-gruvbox-theme.url = "github:Jomik/fish-gruvbox";
url = "github:Jomik/fish-gruvbox"; fish-plugin-gruvbox-theme.flake = false;
flake = false;
};
nvim-hmts = { gruvbox-plus-icon-pack.url = "github:SylEleuth/gruvbox-plus-icon-pack";
url = "github:calops/hmts.nvim"; gruvbox-plus-icon-pack.flake = false;
flake = false;
};
gruvbox-plus-icon-pack = {
url = "github:SylEleuth/gruvbox-plus-icon-pack";
flake = false;
};
openmw-git = {
url = "gitlab:OpenMW/openmw";
flake = false;
};
mygui-git = {
url = "github:mygui/MyGUI/dae9ac4be5a09e672bec509b1a8552b107c40214";
flake = false;
};
}; };
outputs = { outputs = {

View File

@ -10,22 +10,6 @@
fonts = ["JetBrainsMono"]; fonts = ["JetBrainsMono"];
}; };
# mygui = prev.mygui.overrideAttrs (old: {
# version = "3.4.3";
# src = inputs.mygui-git;
# patches = [];
# });
#
# openmw = prev.openmw.overrideAttrs (old: {
# version = "9999";
# src = inputs.openmw-git;
#
# buildInputs = old.buildInputs ++ [prev.libyamlcpp prev.luajit prev.collada-dom];
#
# patches = [];
# dontWrapQtApps = false;
# });
kitty = prev.kitty.overrideAttrs (old: { kitty = prev.kitty.overrideAttrs (old: {
patches = [./pkgs/kitty/0011-fix-test_fish_integration.patch]; patches = [./pkgs/kitty/0011-fix-test_fish_integration.patch];
}); });
@ -42,11 +26,5 @@
prev.mpg123 prev.mpg123
]; ];
}; };
nvim-hmts = prev.vimUtils.buildVimPlugin {
pname = "nvim-hmts";
version = "1";
src = inputs.nvim-hmts;
};
}; };
} }

View File

@ -1,16 +1,16 @@
require("bufferline").setup({ require("bufferline").setup({
options = { options = {
show_tab_indicators = true, show_tab_indicators = true,
-- separator_style = { "", "" }, -- separator_style = { "", "" },
indicator = { style = "icon", icon = "" }, indicator = { style = "icon", icon = "" },
color_icons = true, color_icons = true,
offsets = { offsets = {
{ {
filetype = "neo-tree", filetype = "neo-tree",
text = "File Explorer", text = "File Explorer",
text_align = "center", text_align = "center",
separator = true, separator = true,
}, },
}, },
}, },
}) })

View File

@ -6,116 +6,112 @@ local luasnip = require("luasnip")
require("luasnip.loaders.from_vscode").lazy_load() require("luasnip.loaders.from_vscode").lazy_load()
local has_words_before = function() local has_words_before = function()
unpack = unpack or table.unpack unpack = unpack or table.unpack
local line, col = unpack(vim.api.nvim_win_get_cursor(0)) local line, col = unpack(vim.api.nvim_win_get_cursor(0))
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
end end
cmp.setup({ cmp.setup({
preselect = cmp.PreselectMode.None, preselect = cmp.PreselectMode.None,
formatting = { formatting = {
format = lspkind.cmp_format({ format = lspkind.cmp_format({
mode = "symbol_text", mode = "symbol_text",
symbol_map = { symbol_map = {
Text = "󰉿", Text = "󰉿",
Method = "󰆧", Method = "󰆧",
Function = "󰊕", Function = "󰊕",
Constructor = "", Constructor = "",
Field = "", Field = "",
Variable = "󰀫", Variable = "󰀫",
Class = "", Class = "",
Interface = "", Interface = "",
Module = "", Module = "",
Property = "", Property = "",
Unit = "", Unit = "",
Value = "󰎠", Value = "󰎠",
Enum = "", Enum = "",
Keyword = "󰌋", Keyword = "󰌋",
Snippet = "", Snippet = "",
Color = "󰏘", Color = "󰏘",
File = "󰈙", File = "󰈙",
Reference = "󰈇", Reference = "󰈇",
Folder = "󰉋", Folder = "󰉋",
EnumMember = "", EnumMember = "",
Constant = "󰏿", Constant = "󰏿",
Struct = "", Struct = "",
Event = "", Event = "",
Operator = "󰆕", Operator = "󰆕",
TypeParameter = "" TypeParameter = "",
}, },
}), }),
}, },
snippet = { snippet = {
expand = function(args) expand = function(args)
require('luasnip').lsp_expand(args.body) require("luasnip").lsp_expand(args.body)
end, end,
}, },
window = { window = {
completion = cmp.config.window.bordered(), completion = cmp.config.window.bordered(),
documentation = cmp.config.window.bordered(), documentation = cmp.config.window.bordered(),
}, },
sources = cmp.config.sources({ sources = cmp.config.sources({
{ name = "buffer" }, { name = "buffer" },
{ name = "path" }, { name = "path" },
{ name = "nvim_lsp" }, { name = "nvim_lsp" },
{ name = "luasnip" }, { name = "luasnip" },
}), }),
mapping = cmp.mapping.preset.insert({ mapping = cmp.mapping.preset.insert({
['<C-b>'] = cmp.mapping.scroll_docs(-4), ["<C-b>"] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4), ["<C-f>"] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(), ["<C-Space>"] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.abort(), ["<C-e>"] = cmp.mapping.abort(),
['<CR>'] = cmp.mapping.confirm({ select = false }), ["<CR>"] = cmp.mapping.confirm({ select = false }),
["<Tab>"] = cmp.mapping(function(fallback) ["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then if cmp.visible() then
cmp.select_next_item() cmp.select_next_item()
-- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable() -- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable()
-- they way you will only jump inside the snippet region -- they way you will only jump inside the snippet region
elseif luasnip.expand_or_locally_jumpable() then elseif luasnip.expand_or_locally_jumpable() then
luasnip.expand_or_jump() luasnip.expand_or_jump()
elseif has_words_before() then elseif has_words_before() then
cmp.complete() cmp.complete()
else else
fallback() fallback()
end end
end, { "i", "s" }), end, { "i", "s" }),
["<S-Tab>"] = cmp.mapping(function(fallback) ["<S-Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then if cmp.visible() then
cmp.select_prev_item() cmp.select_prev_item()
elseif luasnip.jumpable(-1) then elseif luasnip.jumpable(-1) then
luasnip.jump(-1) luasnip.jump(-1)
else else
fallback() fallback()
end end
end, { "i", "s" }), end, { "i", "s" }),
}), }),
}) })
local cmp_autopairs = require('nvim-autopairs.completion.cmp') local cmp_autopairs = require("nvim-autopairs.completion.cmp")
cmp.event:on( cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done())
'confirm_done',
cmp_autopairs.on_confirm_done()
)
cmp.setup.cmdline(":", { cmp.setup.cmdline(":", {
mapping = cmp.mapping.preset.cmdline(), mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({ sources = cmp.config.sources({
{ name = "path" }, { name = "path" },
{ name = "cmdline" }, { name = "cmdline" },
}) }),
}) })
cmp.setup.cmdline("/", { cmp.setup.cmdline("/", {
mapping = cmp.mapping.preset.cmdline(), mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({ sources = cmp.config.sources({
{ name = "buffer" }, { name = "buffer" },
}) }),
}) })

View File

@ -1,6 +1,4 @@
require("gruvbox").setup({ require("gruvbox").setup({
transparent_mode = true transparent_mode = true,
}) })
vim.cmd("colorscheme gruvbox") vim.cmd("colorscheme gruvbox")

View File

@ -1,5 +1,4 @@
vim.opt.list = true vim.opt.list = true
vim.opt.listchars:append "eol:↴" vim.opt.listchars:append("eol:↴")
require("ibl").setup { require("ibl").setup({})
}

View File

@ -1,8 +1,8 @@
local capabilities = require('cmp_nvim_lsp').default_capabilities() local capabilities = require("cmp_nvim_lsp").default_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = true capabilities.textDocument.completion.completionItem.snippetSupport = true
capabilities.textDocument.foldingRange = { capabilities.textDocument.foldingRange = {
dynamicRegistration = false, dynamicRegistration = false,
lineFoldingOnly = true, lineFoldingOnly = true,
} }
local lspconfig = require("lspconfig") local lspconfig = require("lspconfig")
@ -10,42 +10,41 @@ local lspconfig = require("lspconfig")
local null_ls = require("null-ls") local null_ls = require("null-ls")
local null_ls_formatting = null_ls.builtins.formatting local null_ls_formatting = null_ls.builtins.formatting
null_ls.setup({ null_ls.setup({
sources = { sources = {
null_ls_formatting.prettier, null_ls_formatting.prettier,
null_ls_formatting.nixpkgs_fmt, null_ls_formatting.nixpkgs_fmt,
}, },
}) })
lspconfig.nixd.setup { capabilities = capabilities } lspconfig.nixd.setup({ capabilities = capabilities })
lspconfig.lua_ls.setup { lspconfig.lua_ls.setup({
capabilities = capabilities, capabilities = capabilities,
settings = { settings = {
Lua = { Lua = {
runtime = { version = "LuaJIT" }, runtime = { version = "LuaJIT" },
diagnostics = { globals = { "vim" } }, diagnostics = { globals = { "vim" } },
workspace = { workspace = {
library = vim.api.nvim_get_runtime_file("", true), library = vim.api.nvim_get_runtime_file("", true),
checkThirdParty = false checkThirdParty = false,
}, },
telemetry = { enable = false }, telemetry = { enable = false },
}, },
}, },
} })
lspconfig.clangd.setup { capabilities = capabilities } lspconfig.clangd.setup({ capabilities = capabilities })
lspconfig.rust_analyzer.setup { capabilities = capabilities } lspconfig.rust_analyzer.setup({ capabilities = capabilities })
lspconfig.zls.setup { capabilities = capabilities } lspconfig.zls.setup({ capabilities = capabilities })
lspconfig.jedi_language_server.setup { capabilities = capabilities } lspconfig.jedi_language_server.setup({ capabilities = capabilities })
lspconfig.bashls.setup { capabilities = capabilities } lspconfig.bashls.setup({ capabilities = capabilities })
lspconfig.tsserver.setup { capabilities = capabilities } lspconfig.tsserver.setup({ capabilities = capabilities })
lspconfig.cssls.setup { lspconfig.cssls.setup({
capabilities = capabilities, capabilities = capabilities,
cmd = { "css-languageserver", "--stdio" }, cmd = { "css-languageserver", "--stdio" },
settings = { settings = {
css = { validate = false }, css = { validate = false },
} },
} })

View File

@ -1,5 +1,5 @@
require("lualine").setup({ require("lualine").setup({
options = { options = {
theme = "gruvbox_dark", theme = "gruvbox_dark",
} },
}) })

View File

@ -1,36 +1,35 @@
require("neo-tree").setup({ require("neo-tree").setup({
default_component_configs = { default_component_configs = {
icon = { icon = {
folder_empty = "󰜌", folder_empty = "󰜌",
folder_empty_open = "󰜌", folder_empty_open = "󰜌",
}, },
git_status = { git_status = {
symbols = { symbols = {
renamed = "󰁕", renamed = "󰁕",
unstaged = "󰄱", unstaged = "󰄱",
}, },
}, },
}, },
document_symbols = { document_symbols = {
kinds = { kinds = {
File = { icon = "󰈙", hl = "Tag" }, File = { icon = "󰈙", hl = "Tag" },
Namespace = { icon = "󰌗", hl = "Include" }, Namespace = { icon = "󰌗", hl = "Include" },
Package = { icon = "󰏖", hl = "Label" }, Package = { icon = "󰏖", hl = "Label" },
Class = { icon = "󰌗", hl = "Include" }, Class = { icon = "󰌗", hl = "Include" },
Property = { icon = "󰆧", hl = "@property" }, Property = { icon = "󰆧", hl = "@property" },
Enum = { icon = "󰒻", hl = "@number" }, Enum = { icon = "󰒻", hl = "@number" },
Function = { icon = "󰊕", hl = "Function" }, Function = { icon = "󰊕", hl = "Function" },
String = { icon = "󰀬", hl = "String" }, String = { icon = "󰀬", hl = "String" },
Number = { icon = "󰎠", hl = "Number" }, Number = { icon = "󰎠", hl = "Number" },
Array = { icon = "󰅪", hl = "Type" }, Array = { icon = "󰅪", hl = "Type" },
Object = { icon = "󰅩", hl = "Type" }, Object = { icon = "󰅩", hl = "Type" },
Key = { icon = "󰌋", hl = "" }, Key = { icon = "󰌋", hl = "" },
Struct = { icon = "󰌗", hl = "Type" }, Struct = { icon = "󰌗", hl = "Type" },
Operator = { icon = "󰆕", hl = "Operator" }, Operator = { icon = "󰆕", hl = "Operator" },
TypeParameter = { icon = "󰊄", hl = "Type" }, TypeParameter = { icon = "󰊄", hl = "Type" },
StaticMethod = { icon = '󰠄 ', hl = 'Function' }, StaticMethod = { icon = "󰠄 ", hl = "Function" },
} },
}, },
}) })

View File

@ -1,18 +1,18 @@
require("noice").setup({ require("noice").setup({
lsp = { lsp = {
-- override markdown rendering so that **cmp** and other plugins use **Treesitter** -- override markdown rendering so that **cmp** and other plugins use **Treesitter**
override = { override = {
["vim.lsp.util.convert_input_to_markdown_lines"] = true, ["vim.lsp.util.convert_input_to_markdown_lines"] = true,
["vim.lsp.util.stylize_markdown"] = true, ["vim.lsp.util.stylize_markdown"] = true,
["cmp.entry.get_documentation"] = true, ["cmp.entry.get_documentation"] = true,
}, },
}, },
-- you can enable a preset for easier configuration -- you can enable a preset for easier configuration
presets = { presets = {
bottom_search = false, -- use a classic bottom cmdline for search bottom_search = false, -- use a classic bottom cmdline for search
command_palette = false, -- position the cmdline and popupmenu together command_palette = false, -- position the cmdline and popupmenu together
long_message_to_split = false, -- long messages will be sent to a split long_message_to_split = false, -- long messages will be sent to a split
inc_rename = false, -- enables an input dialog for inc-rename.nvim inc_rename = false, -- enables an input dialog for inc-rename.nvim
lsp_doc_border = false, -- add a border to hover docs and signature help lsp_doc_border = false, -- add a border to hover docs and signature help
}, },
}) })

View File

@ -1,3 +1,3 @@
require("notify").setup({ require("notify").setup({
background_colour = "#282828" background_colour = "#282828",
}) })

View File

@ -1,8 +1,8 @@
require("smart-splits").setup({ require("smart-splits").setup({
ignored_filetypes = { ignored_filetypes = {
"neo-tree", "neo-tree",
"nofile", "nofile",
"quickfix", "quickfix",
"prompt", "prompt",
} },
}) })

View File

@ -1 +1 @@
require('nvim-surround').setup() require("nvim-surround").setup()

View File

@ -1,13 +1,12 @@
local telescope = require("telescope") local telescope = require("telescope")
telescope.setup({ telescope.setup({
extensions = { extensions = {
["ui-select"] = { ["ui-select"] = {
require("telescope.themes").get_dropdown {} require("telescope.themes").get_dropdown({}),
}, },
}, },
}) })
telescope.load_extension("fzf") telescope.load_extension("fzf")
telescope.load_extension("ui-select") telescope.load_extension("ui-select")
telescope.load_extension("undo") telescope.load_extension("undo")

View File

@ -1,4 +1,4 @@
require("nvim-treesitter.configs").setup { require("nvim-treesitter.configs").setup({
highlight = { enable = true }, highlight = { enable = true },
indent = { enable = true }, indent = { enable = true },
} })

View File

@ -1,7 +1,7 @@
vim.o.timeoutlen = 100 vim.o.timeoutlen = 100
require("which-key").setup({ require("which-key").setup({
window = { window = {
padding = { 1, 5, 1, 5} padding = { 1, 5, 1, 5 },
}, },
}) })

View File

@ -2,36 +2,36 @@ local map = vim.keymap.set
local telescope_builtin = require("telescope.builtin") local telescope_builtin = require("telescope.builtin")
local smart_splits = require("smart-splits") local smart_splits = require("smart-splits")
map( "n", "<S-h>", "<cmd>BufferLineCyclePrev<CR>", { desc = "Prev buffer" }) map("n", "<S-h>", "<cmd>BufferLineCyclePrev<CR>", { desc = "Prev buffer" })
map( "n", "<S-l>", "<cmd>BufferLineCycleNext<CR>", { desc = "Next buffer" }) map("n", "<S-l>", "<cmd>BufferLineCycleNext<CR>", { desc = "Next buffer" })
map( { "n", "i" }, "<ESC>", "<cmd>noh<CR><ESC>",{ desc = "Escape and clear hlsearch"}) map({ "n", "i" }, "<ESC>", "<cmd>noh<CR><ESC>", { desc = "Escape and clear hlsearch" })
map( "n", "<Leader>ff", telescope_builtin.find_files, { desc = "Find Files" }) map("n", "<Leader>ff", telescope_builtin.find_files, { desc = "Find Files" })
map( "n", "<Leader>fb", telescope_builtin.buffers, { desc = "List Buffers" }) map("n", "<Leader>fb", telescope_builtin.buffers, { desc = "List Buffers" })
map( "n", "<Leader>fh", telescope_builtin.help_tags, { desc = "Help Tags" }) map("n", "<Leader>fh", telescope_builtin.help_tags, { desc = "Help Tags" })
map( "n", "<Leader>fp", telescope_builtin.git_files, { desc = "Find Files (Git)" }) map("n", "<Leader>fp", telescope_builtin.git_files, { desc = "Find Files (Git)" })
map( "n", "<Leader>fc", function() map("n", "<Leader>fc", function()
telescope_builtin.git_files({ cwd = "~/.dotfiles"}) telescope_builtin.git_files({ cwd = "~/.dotfiles" })
end, { desc = "Edit Dotfiles" }) end, { desc = "Edit Dotfiles" })
map( "n", "<C-n>", "<cmd>Neotree toggle<CR>", { desc = "Open NeoTree" }) map("n", "<C-n>", "<cmd>Neotree toggle<CR>", { desc = "Open NeoTree" })
map( {"n", "x"}, "ga", ":EasyAlign", { desc = "Align text" }) map({ "n", "x" }, "ga", ":EasyAlign", { desc = "Align text" })
-- resizing splits -- resizing splits
map('n', '<A-h>', smart_splits.resize_left) map("n", "<A-h>", smart_splits.resize_left)
map('n', '<A-j>', smart_splits.resize_down) map("n", "<A-j>", smart_splits.resize_down)
map('n', '<A-k>', smart_splits.resize_up) map("n", "<A-k>", smart_splits.resize_up)
map('n', '<A-l>', smart_splits.resize_right) map("n", "<A-l>", smart_splits.resize_right)
-- moving between splits -- moving between splits
map('n', '<C-h>', smart_splits.move_cursor_left) map("n", "<C-h>", smart_splits.move_cursor_left)
map('n', '<C-j>', smart_splits.move_cursor_down) map("n", "<C-j>", smart_splits.move_cursor_down)
map('n', '<C-k>', smart_splits.move_cursor_up) map("n", "<C-k>", smart_splits.move_cursor_up)
map('n', '<C-l>', smart_splits.move_cursor_right) map("n", "<C-l>", smart_splits.move_cursor_right)
-- swapping buffers between windows -- swapping buffers between windows
map('n', '<leader><leader>h', smart_splits.swap_buf_left) map("n", "<leader><leader>h", smart_splits.swap_buf_left)
map('n', '<leader><leader>j', smart_splits.swap_buf_down) map("n", "<leader><leader>j", smart_splits.swap_buf_down)
map('n', '<leader><leader>k', smart_splits.swap_buf_up) map("n", "<leader><leader>k", smart_splits.swap_buf_up)
map('n', '<leader><leader>l', smart_splits.swap_buf_right) map("n", "<leader><leader>l", smart_splits.swap_buf_right)
-- null-ls -- null-ls
map( 'n', "<Leader>lf", vim.lsp.buf.format, { desc = "Format file"}) map("n", "<Leader>lf", vim.lsp.buf.format, { desc = "Format file" })

View File

@ -24,3 +24,11 @@ vim.o.scrolloff = 8
vim.wo.number = true vim.wo.number = true
vim.wo.relativenumber = true vim.wo.relativenumber = true
vim.api.nvim_create_autocmd("FileType", {
pattern = "nix",
callback = function()
vim.opt_local.shiftwidth = 2
vim.opt_local.tabstop = 2
end,
})

View File

@ -4,24 +4,25 @@
plugins = with pkgs.vimPlugins; [ plugins = with pkgs.vimPlugins; [
bufferline-nvim bufferline-nvim
gruvbox-nvim
comment-nvim comment-nvim
dressing-nvim dressing-nvim
gruvbox-nvim
hmts-nvim
indent-blankline-nvim indent-blankline-nvim
lualine-nvim lualine-nvim
luasnip luasnip
mini-nvim
neo-tree-nvim neo-tree-nvim
noice-nvim
nui-nvim
nvim-autopairs nvim-autopairs
nvim-colorizer-lua nvim-colorizer-lua
nvim-notify nvim-notify
nvim-surround nvim-surround
nvim-web-devicons nvim-web-devicons
which-key-nvim
smart-splits-nvim smart-splits-nvim
vim-easy-align vim-easy-align
mini-nvim which-key-nvim
nui-nvim
noice-nvim
vim-fugitive vim-fugitive
@ -46,23 +47,19 @@
lspkind-nvim lspkind-nvim
]; ];
extraPackages = with pkgs; extraPackages = with pkgs; [
[ nodePackages.bash-language-server
nodePackages.bash-language-server clang-tools
clang-tools lua-language-server
lua-language-server python3Packages.jedi-language-server
python3Packages.jedi-language-server nixpkgs-fmt
nixpkgs-fmt nixd
nixd rust-analyzer
rust-analyzer stylua
stylua nodePackages.typescript-language-server
nodePackages.typescript-language-server nodePackages.vscode-css-languageserver-bin
nodePackages.vscode-css-languageserver-bin zls
zls ];
]
++ [
pkgs.nvim-hmts
];
}; };
xdg.configFile.nvim = { xdg.configFile.nvim = {