Something went wrong. Try again.
Configuration for my NixOS based systems and Home Manager
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198-- Leadervim.g.mapleader = ";"vim.g.maplocalleader = ","-- These need to happend before we load plugins-- Load Pluginsrequire("plugins")-- Config for Nord, which I usually use-- vim.g.nord_italic = false-- vim.g.nord_bold = falselocal known_hosts = { ["aleister.packetlost.dev"] = "light", ["aleister.local"] = "light", ["accelerator"] = "light"}local background = known_hosts[vim.loop.os_gethostname()]if not background then background = "dark"endvim.opt.background = background--vim.opt.background = "dark"
-- Formatting and vim configvim.opt.expandtab = truevim.opt.tabstop = 4vim.opt.shiftwidth = 4--vim.opt.termguicolors = truevim.opt.cursorcolumn = truevim.opt.cursorline = truevim.opt.hidden = truevim.opt.colorcolumn = "120"vim.opt.spelllang = "en_us"vim.opt.number = falsevim.opt.relativenumber = false-- I don't like word wrappingvim.opt.wrap = false-- Show whitespace as dotsvim.opt.lcs = vim.opt.lcs + "space:·"vim.opt.list = truevim.opt.textwidth = 0vim.cmd [[ colorscheme catppuccin-latte ]]
-- Force OSC-52vim.g.clipboard = { name = 'OSC 52', copy = { ['+'] = require('vim.ui.clipboard.osc52').copy('+'), ['*'] = require('vim.ui.clipboard.osc52').copy('*'), }, paste = { ['+'] = require('vim.ui.clipboard.osc52').paste('+'), ['*'] = require('vim.ui.clipboard.osc52').paste('*'), },}
-- CTagsvim.opt.tags = vim.opt.tags + vim.fn.expand("~/.local/tmp/ctags") + vim.fn.expand("~/repos/gerbil/src/TAGS")
-- Conjure
-- Gerbil Schemelocal set_gerbil = function() vim.g["conjure#client#scheme#stdio#command"] = "gxi" vim.g["conjure#client#scheme#stdio#prompt_pattern"] = "%d*> " vim.g["conjure#client#scheme#stdio#value_prefix_pattern"] = falseendset_gerbil()vim.api.nvim_create_user_command("ConjureGerbil", set_gerbil, {})
-- Chibi-schemelocal set_chibi = function() vim.g["conjure#client#scheme#stdio#command"] = "chibi-scheme -R" vim.g["conjure#client#scheme#stdio#prompt_pattern"] = "=> $?" vim.g["conjure#client#scheme#stdio#value_prefix_pattern"] = trueendvim.api.nvim_create_user_command("ConjureChibi", set_chibi, {})-- Chicken Schemelocal set_chicken = function() vim.g["conjure#client#scheme#stdio#command"] = "csi -quiet -:c" vim.g["conjure#client#scheme#stdio#prompt_pattern"] = "\n-#;%d-> " vim.g["conjure#client#scheme#stdio#value_prefix_pattern"] = trueendvim.api.nvim_create_user_command("ConjureChicken", set_chicken, {})
-- Treat .rc files as Plan9 rc shell scriptsvim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, { pattern = "*.rc", command = "set filetype=rcsh",})
-- Treat Plan 9 mkfiles as mk for tree-sitter-mk.vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, { pattern = { "mkfile", "*.mk" }, command = "set filetype=mk",})
-- KEYMAPSlocal keymap = vim.keymap.setlocal noremap = { noremap = true }local silentnoremap = { noremap = true, silent = true }--Toggle backgroundkeymap("n", "<leader>bg", function() if vim.o.background == "light" then vim.o.background = "dark" else vim.o.background = "light" endend, noremap)-- Easier breaking from edit modeskeymap("n", ";;", "<Esc>", noremap)keymap("v", ";;", "<Esc>", noremap)keymap("i", ";;", "<Esc>", noremap)keymap("t", "<Esc>", "<C-\\><C-n>", noremap)-- Tab Navigationkeymap("n", "<leader>tn", "<cmd>tabnew<CR>", noremap)keymap("n", "<leader>tc", "<cmd>tabclose<CR>", noremap)keymap("n", "<leader><tab>", "<cmd>tabnext<CR>", noremap)keymap("n", "<leader>tt", "<cmd>tabnext<CR>", noremap)
-- buffer navigationkeymap("n", "<leader>h", "<C-w>h", noremap)keymap("n", "<leader>j", "<C-w>j", noremap)keymap("n", "<leader>k", "<C-w>k", noremap)keymap("n", "<leader>l", "<C-w>l", noremap)keymap("n", "<leader>bn", "<cmd>bnext<CR>", noremap)keymap("n", "<leader>bp", "<cmd>bprev<CR>", noremap)-- close buffer and put previous into current windowkeymap("n", "<leader>bq", "<cmd>bp <BAR> bd #<CR>", noremap)-- list bufferskeymap("n", "<leader>bl", "<cmd>ls<cr>", noremap)-- splitskeymap("n", "<leader>vs", "<cmd>vsplit<cr>", noremap)keymap("n", "<leader>ss", "<cmd>split<cr>", noremap)keymap("n", "<leader>hs", "<cmd>split<cr>", noremap)
-- Toggle Line Numberskeymap("n", "<leader>n", "<cmd>set number! number?<CR>", silentnoremap)keymap("n", "<leader>N", "<cmd>set relativenumber! relativenumber?<CR>", silentnoremap)
-- Edit this filekeymap("n", "<leader>ec", "<cmd>e $MYVIMRC<CR>", silentnoremap)keymap("n", "<leader>sc", "<cmd>source $MYVIMRC<CR>", silentnoremap)
-- Clear highlightskeymap("n", "<C-c>", "<cmd>noh<CR>", silentnoremap)
-- Telescope shortcutskeymap("n", "<leader>ff", "<cmd>Telescope find_files<CR>", silentnoremap)keymap("n", "<leader>fg", "<cmd>Telescope live_grep<CR>", silentnoremap)keymap("n", "<leader>fb", "<cmd>Telescope buffers<CR>", silentnoremap)keymap("n", "<C-p>", "<cmd>Telescope buffers<CR>", silentnoremap)keymap("n", "<leader>fh", "<cmd>Telescope help_tags<CR>", silentnoremap)
-- Remap arrow keys for page navigationkeymap("n", "<Up>", "<C-y>", silentnoremap)keymap("n", "<Down>", "<C-e>", silentnoremap)keymap("n", "<Left>", "zh", silentnoremap)keymap("n", "<Right>", "zl", silentnoremap)
-- Telescopekeymap({ "n", "i", "v" }, "<C-t>", "<cmd>Telescope<CR>", silentnoremap)
-- LSP Documentation viewerkeymap("n", "K", "<cmd>lua vim.lsp.buf.hover()<CR>", silentnoremap)
-- Lfkeymap("n", "<leader>L", "<cmd>Lf<CR>", silentnoremap)
-- Neogitkeymap("n", "<leader>g", "<cmd>Neogit<CR>", silentnoremap)
-- Autoformat!vim.api.nvim_create_user_command("Format", function(args) local range = nil if args.count ~= -1 then local end_line = vim.api.nvim_buf_get_lines(0, args.line2 - 1, args.line2, true)[1] range = { start = { args.line1, 0 }, ["end"] = { args.line2, end_line:len() }, } end require("conform").format({ async = true, lsp_format = "fallback", range = range })end, { range = true })keymap("n", "<C-n>", "<cmd>Format<CR>", silentnoremap)
-- Python Specificvim.g.python3_host_prog = vim.fn.expand("~/.envs/nvim/bin/python3")
-- ########################-- # Require other configs #-- ########################-- LSPrequire("lsp")
if vim.uv.fs_stat(vim.fn.stdpath("config") .. "/lua/local.lua") then require("local")end