summaryrefslogtreecommitdiff
path: root/nixos/mdls
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/mdls')
-rw-r--r--nixos/mdls/vi.nix147
-rw-r--r--nixos/mdls/vim.nix211
2 files changed, 147 insertions, 211 deletions
diff --git a/nixos/mdls/vi.nix b/nixos/mdls/vi.nix
new file mode 100644
index 0000000..293f44b
--- /dev/null
+++ b/nixos/mdls/vi.nix
@@ -0,0 +1,147 @@
+{ config, pkgs, ... }:
+
+{
+ programs.neovim = {
+ enable = true;
+ defaultEditor = true;
+ viAlias = true;
+ vimAlias = true;
+ withRuby = false;
+ withPython3 = false;
+
+ extraPackages = with pkgs; [
+ ripgrep
+ ];
+
+ plugins = with pkgs.vimPlugins; [
+ lualine-nvim
+ telescope-nvim
+ plenary-nvim
+ nvim-web-devicons
+ neo-tree-nvim
+ nui-nvim
+ alpha-nvim
+ ];
+
+ initLua = ''
+ vim.opt.number = true
+ vim.opt.relativenumber = false
+ vim.opt.numberwidth = 4
+ vim.opt.statuscolumn = "%l %s"
+ vim.opt.tabstop = 2
+ vim.opt.softtabstop = 2
+ vim.opt.shiftwidth = 2
+ vim.opt.expandtab = true
+ vim.opt.wrap = false
+ vim.opt.ignorecase = true
+ vim.opt.smartcase = true
+ vim.opt.hlsearch = false
+ vim.opt.termguicolors = false
+ vim.opt.signcolumn = "yes"
+ vim.opt.scrolloff = 8
+ vim.opt.showmode = false
+ vim.opt.timeoutlen = 300
+ vim.opt.updatetime = 250
+ vim.opt.foldcolumn = "0"
+ vim.opt.directory = vim.fn.stdpath("state") .. "/swap//"
+
+ vim.g.mapleader = " "
+ vim.g.maplocalleader = " "
+
+ vim.keymap.set({"n", "i"}, "<c-s>", "<cmd>write<cr>", {desc = "save file"})
+ vim.keymap.set("n", "<c-q>", "<cmd>quit<cr>", {desc = "quit neovim"})
+ vim.keymap.set("n", "<c-h>", "<cmd>nohlsearch<cr>", {desc = "clear search highlight"})
+ vim.keymap.set({"n", "x"}, "gy", '"+y', {desc = "copy to clipboard"})
+ vim.keymap.set({"n", "x"}, "gp", '"+p', {desc = "paste from clipboard"})
+ vim.keymap.set("n", "<c-z>", "u", {desc = "undo"})
+ vim.keymap.set("i", "<c-z>", "<c-o>u", {desc = "undo"})
+ vim.keymap.set("n", "<c-y>", "<c-r>", {desc = "redo"})
+ vim.keymap.set("i", "<c-y>", "<c-o><c-r>", {desc = "redo"})
+ vim.keymap.set({"n", "i"}, "<c-a>", "ggVG", {desc = "select all"})
+
+ vim.keymap.set("n", "<c-f>", "<cmd>Telescope current_buffer_fuzzy_find<cr>", {desc = "search buffer"})
+
+ vim.keymap.set("n", "<leader>ff", "<cmd>Telescope find_files<cr>", {desc = "find files"})
+ vim.keymap.set("n", "<leader>fg", "<cmd>Telescope live_grep<cr>", {desc = "text search"})
+ vim.keymap.set("n", "<leader>fb", "<cmd>Telescope buffers<cr>", {desc = "find buffers"})
+ vim.keymap.set("n", "<c-e>", "<cmd>Neotree toggle<cr>", {desc = "toggle file explorer"})
+
+ vim.keymap.set("n", "<c-left>", "<c-w>h", {desc = "move left"})
+ vim.keymap.set("n", "<c-down>", "<c-w>j", {desc = "move down"})
+ vim.keymap.set("n", "<c-up>", "<c-w>k", {desc = "move up"})
+ vim.keymap.set("n", "<c-right>", "<c-w>l", {desc = "move right"})
+ vim.keymap.set("n", "<c-|>", "<cmd>vsplit<cr>", {desc = "vertical split"})
+ vim.keymap.set("n", "<c-->", "<cmd>split<cr>", {desc = "horizontal split"})
+ vim.keymap.set("n", "<c-x>", "<cmd>close<cr>", {desc = "close split"})
+
+ vim.cmd.colorscheme("default")
+ vim.opt.matchpairs = ""
+ vim.api.nvim_set_hl(0, "MatchParen", {})
+ vim.cmd("highlight clear MatchParen")
+ vim.cmd("highlight MatchParen guifg=NONE guibg=NONE gui=NONE")
+
+ require("lualine").setup({
+ options = {
+ icons_enabled = true,
+ theme = "auto",
+ component_separators = { left = "", right = "" },
+ section_separators = { left = "", right = "" },
+ },
+ })
+
+ require("telescope").setup({
+ defaults = {
+ file_ignore_patterns = { "node_modules", ".git", "%.lock" },
+ layout_strategy = "horizontal",
+ layout_config = { horizontal = { preview_width = 0.5 } },
+ },
+ })
+
+ require("neo-tree").setup({
+ window = {
+ position = "right",
+ width = 30,
+ mappings = {
+ ["l"] = "open",
+ ["h"] = "close_node",
+ ["<cr>"] = "open",
+ ["<esc>"] = "revert_preview",
+ },
+ },
+ filesystem = {
+ filtered_items = {
+ visible = false,
+ hide_dotfiles = false,
+ hide_gitignored = false,
+ hide_by_name = { ".git", ".DS_Store", "thumbs.db" },
+ },
+ follow_current_file = { enabled = true },
+ },
+ })
+
+ local alpha = require("alpha")
+ local dashboard = require("alpha.themes.dashboard")
+
+ dashboard.section.header.val = {
+ " ⠀⠀⠀⢀⡴⠲⣄⠀⠀⢀⡶⠲⡄⠀⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
+ " ⣀⣀⣀⣾⠁⠀⠹⠿⠟⠟⠀⠀⠙⣛⣉⡻⠿⠋⣿⣷⢦⣄⠀⠀⠀⠀⠀⠀",
+ " ⠭⠭⣽⠇⠀⠶⠀⢴⣦⠀⠶⠆⠸⠯⠭⠄⠀⠀⠀⠀⠀⠙⢧⡀⠀⢀⣤⣤",
+ "⠀⠀ ⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢷⣤⣾⣻⡟",
+ " ⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣧⠽⠋⠀",
+ " ⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⠀⠀⠀⠀",
+ " ⠀⠀⢷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡟⠀⠀⠀⠀",
+ "⠀ ⠀⠈⠳⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⠟⠀⠀⠀⠀⠀",
+ "⠀⠀ ⠀⠀⠉⠿⠟⠛⠛⠻⠾⠛⠛⠛⠛⠻⠟⠛⠛⠻⠾⠃⠀⠀⠀⠀⠀⠀",
+ }
+
+ dashboard.section.buttons.val = {
+ dashboard.button("f", " > find file", "<cmd>Telescope find_files<cr>"),
+ dashboard.button("n", " > new file", "<cmd>enew<cr>"),
+ dashboard.button("r", " > recent files", "<cmd>Telescope oldfiles<cr>"),
+ dashboard.button("q", " > quit", "<cmd>qa<cr>"),
+ }
+
+ alpha.setup(dashboard.opts)
+ '';
+ };
+}
diff --git a/nixos/mdls/vim.nix b/nixos/mdls/vim.nix
deleted file mode 100644
index 7174be3..0000000
--- a/nixos/mdls/vim.nix
+++ /dev/null
@@ -1,211 +0,0 @@
-{ config, pkgs, ... }:
-
-{
- programs.neovim = {
- enable = true;
- defaultEditor = true;
- viAlias = true;
- vimAlias = true;
- withRuby = false;
- withPython3 = false;
-
- initLua = ''
- vim.opt.number = true
- vim.opt.relativenumber = false
- vim.opt.numberwidth = 4
- vim.opt.statuscolumn = "%l %s"
- vim.opt.tabstop = 2
- vim.opt.softtabstop = 2
- vim.opt.shiftwidth = 2
- vim.opt.expandtab = true
- vim.opt.wrap = false
- vim.opt.ignorecase = true
- vim.opt.smartcase = true
- vim.opt.hlsearch = false
- vim.opt.termguicolors = false
- vim.opt.signcolumn = "yes"
- vim.opt.scrolloff = 8
- vim.opt.showmode = false
- vim.opt.timeoutlen = 300
- vim.opt.updatetime = 250
- vim.opt.foldcolumn = "0"
- vim.opt.directory = vim.fn.stdpath("state") .. "/swap//"
-
- vim.g.mapleader = " "
- vim.g.maplocalleader = " "
-
- vim.keymap.set({"n", "i"}, "<C-s>", "<cmd>write<cr>", {desc = "save file"})
- vim.keymap.set("n", "<C-s>", "<cmd>write<cr>", {desc = "save file"})
- vim.keymap.set("n", "<C-q>", "<cmd>quit<cr>", {desc = "quit neovim"})
- vim.keymap.set("n", "<C-Q>", "<cmd>quit!<cr>", {desc = "force quit"})
- vim.keymap.set("n", "<C-h>", "<cmd>nohlsearch<cr>", {desc = "clear search highlight"})
- vim.keymap.set({"n", "x"}, "gy", '"+y', {desc = "copy to clipboard"})
- vim.keymap.set({"n", "x"}, "gp", '"+p', {desc = "paste from clipboard"})
- vim.keymap.set("n", "<C-z>", "u", {desc = "undo"})
- vim.keymap.set("i", "<C-z>", "<C-o>u", {desc = "undo"})
- vim.keymap.set("n", "<C-y>", "<C-r>", {desc = "redo"})
- vim.keymap.set("i", "<C-y>", "<C-o><C-r>", {desc = "redo"})
- vim.keymap.set({"n", "i"}, "<C-a>", "ggVG", {desc = "select all"})
- vim.keymap.set("n", "<C-ff>", "<cmd>Telescope find_files<cr>", {desc = "find files"})
- vim.keymap.set("n", "<C-fg>", "<cmd>Telescope live_grep<cr>", {desc = "text search"})
- vim.keymap.set("n", "<C-fb>", "<cmd>Telescope buffers<cr>", {desc = "find buffers"})
- vim.keymap.set("n", "<C-fh>", "<cmd>Telescope help_tags<cr>", {desc = "help tags"})
- vim.keymap.set("n", "<C-h>", "<C-w>h", {desc = "move to left split"})
- vim.keymap.set("n", "<C-j>", "<C-w>j", {desc = "move to lower split"})
- vim.keymap.set("n", "<C-k>", "<C-w>k", {desc = "move to upper split"})
- vim.keymap.set("n", "<C-l>", "<C-w>l", {desc = "move to right split"})
- vim.keymap.set("n", "<C-|>", "<cmd>vsplit<cr>", {desc = "vertical split"})
- vim.keymap.set("n", "<C-->", "<cmd>split<cr>", {desc = "horizontal split"})
- vim.keymap.set("n", "<C-x>", "<cmd>close<cr>", {desc = "close split"})
-
- vim.cmd.colorscheme("default")
- vim.opt.matchpairs = ""
- vim.api.nvim_set_hl(0, "MatchParen", {})
- vim.cmd("highlight clear MatchParen")
- vim.cmd("highlight MatchParen guifg=NONE guibg=NONE gui=NONE")
-
- local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
- if not vim.loop.fs_stat(lazypath) then
- vim.fn.system({
- "git",
- "clone",
- "--filter=blob:none",
- "https://github.com/folke/lazy.nvim.git",
- "--branch=stable",
- lazypath,
- })
- end
- vim.opt.rtp:prepend(lazypath)
-
- require("lazy").setup({
- {
- "nvim-lualine/lualine.nvim",
- dependencies = { "nvim-tree/nvim-web-devicons" },
- config = function()
- require("lualine").setup({
- options = {
- icons_enabled = true,
- theme = "auto",
- component_separators = { left = "", right = "" },
- section_separators = { left = "", right = "" },
- },
- })
- end,
- },
- {
- "nvim-telescope/telescope.nvim",
- dependencies = { "nvim-lua/plenary.nvim" },
- cmd = "Telescope",
- keys = {
- { "<C-ff>", "<cmd>Telescope find_files<cr>", desc = "find files" },
- { "<C-fg>", "<cmd>Telescope live_grep<cr>", desc = "text search" },
- { "<C-fb>", "<cmd>Telescope buffers<cr>", desc = "find buffers" },
- { "<C-fh>", "<cmd>Telescope help_tags<cr>", desc = "help tags" },
- },
- config = function()
- local telescope = require("telescope")
- telescope.setup({
- defaults = {
- file_ignore_patterns = { "node_modules", ".git", "%.lock" },
- layout_strategy = "horizontal",
- layout_config = {
- horizontal = {
- preview_width = 0.5,
- },
- },
- },
- pickers = {
- find_files = {
- hidden = true,
- no_ignore = false,
- },
- live_grep = {
- additional_args = function()
- return { "--hidden" }
- end,
- },
- },
- })
- end,
- },
- {
- "nvim-neo-tree/neo-tree.nvim",
- branch = "v3.x",
- dependencies = {
- "nvim-lua/plenary.nvim",
- "nvim-tree/nvim-web-devicons",
- "MunifTanjim/nui.nvim",
- },
- keys = {
- { "<C-e>", "<cmd>Neotree toggle<cr>", desc = "toggle file explorer" },
- },
- config = function()
- require("neo-tree").setup({
- window = {
- position = "right",
- width = 30,
- mappings = {
- ["l"] = "open",
- ["h"] = "close_node",
- ["<CR>"] = "open",
- ["<Esc>"] = "revert_preview",
- },
- },
- filesystem = {
- filtered_items = {
- visible = false,
- hide_dotfiles = false,
- hide_gitignored = false,
- hide_by_name = {
- ".git",
- ".DS_Store",
- "thumbs.db",
- },
- },
- follow_current_file = {
- enabled = true,
- },
- },
- })
- end,
- },
- {
- "goolord/alpha-nvim",
- dependencies = { "nvim-tree/nvim-web-devicons" },
- config = function()
- local alpha = require("alpha")
- local dashboard = require("alpha.themes.dashboard")
-
- dashboard.section.header.val = {
- " ⠀⠀⠀⢀⡴⠲⣄⠀⠀⢀⡶⠲⡄⠀⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
- " ⣀⣀⣀⣾⠁⠀⠹⠿⠟⠟⠀⠀⠙⣛⣉⡻⠿⠋⣿⣷⢦⣄⠀⠀⠀⠀⠀⠀",
- " ⠭⠭⣽⠇⠀⠶⠀⢴⣦⠀⠶⠆⠸⠯⠭⠄⠀⠀⠀⠀⠀⠙⢧⡀⠀⢀⣤⣤",
- "⠀⠀ ⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢷⣤⣾⣻⡟",
- " ⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣧⠽⠋⠀",
- " ⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⠀⠀⠀⠀",
- " ⠀⠀⢷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡟⠀⠀⠀⠀",
- "⠀ ⠀⠈⠳⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⠟⠀⠀⠀⠀⠀",
- "⠀⠀ ⠀⠀⠉⠿⠟⠛⠛⠻⠾⠛⠛⠛⠛⠻⠟⠛⠛⠻⠾⠃⠀⠀⠀⠀⠀⠀",
- }
-
- dashboard.section.buttons.val = {
- dashboard.button("f", " > find file", "<cmd>Telescope find_files<cr>"),
- dashboard.button("n", " > new file", "<cmd>enew<cr>"),
- dashboard.button("r", " > recent files", "<cmd>Telescope oldfiles<cr>"),
- dashboard.button("q", " > quit", "<cmd>qa<cr>"),
- }
-
- alpha.setup(dashboard.opts)
- end,
- },
- })
-
- vim.api.nvim_create_autocmd("User", {
- pattern = "LazyDone",
- callback = function()
- vim.notify("plugins loaded", vim.log.levels.INFO, { title = "neovim" })
- end,
- })
- '';
- };
-}