1
Fork 0
This commit is contained in:
Matei Adriel 2022-12-14 03:20:59 +01:00
parent 01e4fe7095
commit 657fecfa64
16 changed files with 94 additions and 84 deletions

View file

@ -0,0 +1,17 @@
{
"neoconf": {
"plugins": {
"sumneko_lua": {
"enabled": true
}
}
},
"neodev": {
"library": {
"enabled": true,
"types": true,
"plugins": true,
"runtime": true
}
}
}

View file

@ -6,9 +6,8 @@ require("my.helpers.wrapMovement").setup()
vim.opt.conceallevel = 0
vim.opt.wrap = true
vim.g.tex_conceal = "abdmg"
vim.g.vimtex_imaps_enabled = 0
-- vim.g.vimtex_syntax_conceal = 1
vim.g.vimtex_syntax_conceal_disable = 1
vim.keymap.set("n", "<leader>lg", function()
if not pcall(function()

1
dotfiles/neovim/init.lua Normal file
View file

@ -0,0 +1 @@
require("my.init").setup()

View file

@ -1,14 +1,15 @@
local M = {}
local function swap(key)
vim.keymap.set("nv", key, "g" .. key, { buffer = true })
vim.keymap.set("nv", "g" .. key, key, { buffer = true })
vim.keymap.set({ "n", "v" }, key, "g" .. key, { buffer = true })
vim.keymap.set({ "n", "v" }, "g" .. key, key, { buffer = true })
end
-- Same as swap, but the key is aprt of an arpeggio chord
local function swapArpeggio(key)
vim.keymap.set("nv", "<Plug>(arpeggio-default:" .. key .. ")", "g" .. key, { buffer = true })
vim.keymap.set("nv", "g" .. key, key, { buffer = true })
vim.keymap.set({ "n", "v" }, "<Plug>(arpeggio-default:" .. key .. ")", "g" .. key,
{ buffer = true })
vim.keymap.set({ "n", "v" }, "g" .. key, key, { buffer = true })
end
function M.setup()

View file

@ -5,7 +5,9 @@ function M.setup()
local themePackages = require("my.theme").deps
local base = {
"nvim-lua/plenary.nvim", -- async utility lib it seems?
"folke/neoconf.nvim", -- per project neovim configuration
"neovim/nvim-lspconfig", -- configures lsps for me
"folke/neodev.nvim", -- lua support
"windwp/nvim-autopairs", -- closes pairs for me (should look for a better one)
"nvim-telescope/telescope.nvim", -- fuzzy search for say opening files
"purescript-contrib/purescript-vim", -- purescript support

View file

@ -12,6 +12,8 @@ function M.setup()
env.vscode.unless(function()
env.firevim.unless(function()
require('my.plugins.neoconf').setup()
require("presence"):setup({})
require("my.plugins.nvim-tree").setup()
require("my.plugins.lualine").setup()
@ -23,6 +25,7 @@ function M.setup()
-- require("my.plugins.noice").setup()
end)
require("my.plugins.neodev").setup()
require("my.plugins.dashboard").setup()
require("my.plugins.treesitter").setup()
require("my.plugins.cmp").setup()
@ -30,7 +33,7 @@ function M.setup()
require("my.plugins.lspconfig").setup()
require("my.plugins.null-ls").setup()
require("my.plugins.vimtex").setup()
require("my.plugins.lean").setup()
-- require("my.plugins.lean").setup()
-- require("my.plugins.notify").setup()
end)

View file

@ -36,6 +36,7 @@ function M.on_attach(client, bufnr)
end
-- General server config
---@type lspconfig.options
local servers = {
tsserver = {
on_attach = function(client, bufnr)
@ -45,29 +46,6 @@ local servers = {
end
},
dhall_lsp_server = {},
sumneko_lua = {
settings = {
Lua = {
runtime = {
-- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
version = 'LuaJIT',
-- Setup your lua path
path = runtime_path
},
diagnostics = {
-- Get the language server to recognize the `vim` global
globals = { 'vim' }
},
workspace = {
-- Make the server aware of Neovim runtime files
library = vim.api.nvim_get_runtime_file("", true)
},
-- Do not send telemetry data containing a randomized but unique identifier
telemetry = { enable = false }
}
},
cmd = { "lua-language-server" }
},
purescriptls = {
settings = {
purescript = {
@ -84,22 +62,11 @@ local servers = {
},
rnix = {},
cssls = {},
jsonls = {},
rust_analyzer = {},
-- texlab = {
-- build = {
-- executable = "tectonic",
-- args = {
-- "-X",
-- "compile",
-- "%f",
-- "--synctex",
-- "--keep-logs",
-- "--keep-intermediates"
-- }
-- }
-- },
kotlin_language_server = {}
-- agda = {}, Haven't gotten this one to work yet
sumneko_lua = {
cmd = { "lua-language-server", "--logpath=/home/adrielus/.local/share/lua-language-server/log" }
}
}
M.capabilities = require('cmp_nvim_lsp').default_capabilities()

View file

@ -0,0 +1,14 @@
local M = {}
function M.setup()
require("neoconf").setup({
-- import existing settinsg from other plugins
import = {
vscode = true, -- local .vscode/settings.json
coc = false, -- global/local coc-settings.json
nlsp = false -- global/local nlsp-settings.nvim json settings
},
})
end
return M

View file

@ -0,0 +1,7 @@
local M = {}
function M.setup()
require("neodev").setup()
end
return M

View file

@ -14,6 +14,7 @@ function M.setup()
"fish",
"html",
"json",
"jsonc",
"latex",
"python",
"rust",
@ -30,7 +31,7 @@ function M.setup()
highlight = {
enable = true,
disable = { "kotlin", "tex", "latex", "lean" },
disable = { "kotlin", "tex", "latex" },
-- Setting this to true will run `:h syntax` and tree-sitter at the same time.
-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).

View file

@ -0,0 +1 @@
{}

View file

@ -158,11 +158,11 @@
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1650374568,
"narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=",
"lastModified": 1668681692,
"narHash": "sha256-Ht91NGdewz8IQLtWZ9LCeNXMSXHUss+9COoqu6JLmXU=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "b4a34015c698c7793d592d66adbab377907a2be8",
"rev": "009399224d5e398d03b22badca40a37ac85412a1",
"type": "github"
},
"original": {
@ -203,11 +203,11 @@
},
"flake-utils_3": {
"locked": {
"lastModified": 1659877975,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github"
},
"original": {
@ -530,11 +530,11 @@
},
"locked": {
"dir": "contrib",
"lastModified": 1667803793,
"narHash": "sha256-jKb4fbi8YcHoKpQB0HAO99CtcP4IFSRV07OT6kNFDGs=",
"lastModified": 1670899659,
"narHash": "sha256-HrEXh9qSkOb5Ke7IRoEs90lgLiUOTNWrfKJ9OLgk0uY=",
"owner": "neovim",
"repo": "neovim",
"rev": "e9c1cb71f8a4d6d7818dcb5f71ac78bee431309a",
"rev": "a6b05cb75d330dd995d3ad21ee08bb0a2cfcae74",
"type": "github"
},
"original": {
@ -553,11 +553,11 @@
]
},
"locked": {
"lastModified": 1667809192,
"narHash": "sha256-voNs0rYqJNqwtmm35rq35sQPFtXLgb1phGmBXG3x50o=",
"lastModified": 1670919334,
"narHash": "sha256-gLno1vCJ9zpSTeCLOP12Ja+dFu9yNTbS87ZC04H8Y9Q=",
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"rev": "488d9478d2b9a2481f6b0d04024a95c2135cef8f",
"rev": "b68451b57ce944623a6c16547bb88e3c349b6754",
"type": "github"
},
"original": {

View file

@ -71,6 +71,7 @@
# freesweep # minesweeper I can play w the keyboard.
# multimc
# lmms # music software
libsForQt5.dolphin
# Nes emulators and stuff
# zsnes

View file

@ -11,13 +11,11 @@ let
extraPackages = with pkgs; [
# Language servers
# haskellPackages.agda-language-server # agda
nodePackages.typescript-language-server # typescript
easy-purescript-nix.purescript-language-server # purescript
sumneko-lua-language-server # lua
rnix-lsp # nix
haskell-language-server # haskell
kotlin-language-server # kotlin
tectonic # also latex something?
texlab # latex
# vscode-langservers-extracted # css and shit
@ -33,24 +31,20 @@ let
wakatime # time tracking
fd # file finder
ripgrep # grep rewrite (I think?)
nodePackages.typescript # typescript language
update-nix-fetchgit # useful for nix stuff
tree-sitter # syntax highlighting
libstdcxx5 # required by treesitter aparently
zathura # pdf reader
xdotool # for zathura reverse search or whatever it's called
texlive.combined.scheme-full # latex stuff
python38Packages.pygments # required for latex syntax highlighting
];
myConfig = ''
vim.g.lualineTheme = "${theme.neovim.lualineTheme}"
vim.opt.runtimepath:append("${paths.dotfiles}/neovim")
vim.opt.runtimepath:append("${paths.dotfiles}/vscode-snippets")
require("my.init").setup()
'';
base = pkgs.neovim-nightly;
# base = pkgs.neovim;
neovim =
pkgs.symlinkJoin {
inherit (base) name meta;
@ -61,15 +55,17 @@ let
--prefix PATH : ${lib.makeBinPath extraPackages}
'';
};
nvim-treesitter = pkgs.vimPlugins.nvim-treesitter.withPlugins (plugins: pkgs.tree-sitter.allGrammars);
nixPlugins = ".local/share/nvim/site/pack/nix";
in
{
home-manager.users.adrielus =
home-manager.users.adrielus = { config, ... }:
let simlink = config.lib.file.mkOutOfStoreSymlink; in
{
home.file.".local/share/nvim/site/pack/paqs/start/paq-nvim".source = paq;
# home.file.".local/share/nvim/site/pack/treesitter/start/nvim-treesitter".source = nvim-treesitter;
xdg.configFile."nvim/init.lua".text = myConfig;
xdg.configFile."nvim/lua/my/theme.lua".source = theme.neovim.theme;
home.file."${nixPlugins}/start/theming/lua/my/theme.lua".source = theme.neovim.theme;
home.file."${nixPlugins}/start/snippets".source = simlink "${paths.dotfiles}/vscode-snippets";
home.file.".config/nvim".source = simlink "${paths.dotfiles}/neovim";
programs.neovim.enable = false;

View file

@ -3,16 +3,15 @@ with self; {
discord = unstable.discord;
vscode = unstable.vscode;
tetrio-desktop = unstable.tetrio-desktop;
sumneko-lua-language-server = super.sumneko-lua-language-server.overrideAttrs (old: rec {
version = "unstable-2022-12-09";
src = fetchFromGitHub {
owner = "sumneko";
repo = "lua-language-server";
rev = "6d740a76ce170c396108e8bfc26b1286ac32c62f";
sha256 = "0p9nyhzciw1i6r5crmrwx80ma21dxd3hl9sgvq6qc6qnmn67w8km";
fetchSubmodules = true;
};
});
}
# let version = "0.0.15";
# in self
# {
# discord = super.discord.overrideAttrs (old: {
# inherit version;
# src = builtins.fetchurl {
# url =
# "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
# sha256 = "0pn2qczim79hqk2limgh88fsn93sa8wvana74mpdk5n6x5afkvdd";
# };
# });
# }

View file

@ -5,6 +5,7 @@ M.deps = { { "catppuccin/nvim", as = "catppuccin" } }
function M.setup()
local catppuccin = require("catppuccin")
vim.g.catppuccin_flavour = os.getenv("CATPPUCCIN_FLAVOUR")
vim.g.lualineTheme = "catppuccin";
catppuccin.setup({ transparent_background = false, integrations = { nvimtree = true } })