Compare commits
4 commits
e4255f0817
...
58fd3c46c4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
58fd3c46c4 | ||
|
|
eb07e46c21 | ||
|
|
aaf656431a | ||
|
|
4bdb8fdc60 |
16 changed files with 168 additions and 15 deletions
|
|
@ -1,5 +1,24 @@
|
||||||
{
|
{lib, ...}:{
|
||||||
|
# TODO: Make colorscheme configurable
|
||||||
|
colorscheme = lib.mkOverride 500 "everforest";
|
||||||
|
|
||||||
colorschemes = {
|
colorschemes = {
|
||||||
|
kanagawa.enable = true;
|
||||||
|
nord.enable = true;
|
||||||
|
tokyonight = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
style = "storm";
|
||||||
|
light_style = "day";
|
||||||
|
transparent = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
everforest = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
enable_italic = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
catppuccin = {
|
catppuccin = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
|
|
@ -8,6 +27,13 @@
|
||||||
|
|
||||||
# Needed to keep terminal transparency, if any
|
# Needed to keep terminal transparency, if any
|
||||||
transparent_background = false;
|
transparent_background = false;
|
||||||
|
|
||||||
|
styles = {
|
||||||
|
keywords = [ "italic" ];
|
||||||
|
conditionals = [ "italic" ];
|
||||||
|
functions = [ "italic" ];
|
||||||
|
loops = [ "italic" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -9,5 +9,6 @@ let
|
||||||
)
|
)
|
||||||
(builtins.readDir ./.)
|
(builtins.readDir ./.)
|
||||||
);
|
);
|
||||||
in
|
in {
|
||||||
lib.mkMerge (map (file: import ./${file}) definitions)
|
imports = map (file: import ./${file}) definitions;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{
|
_: {
|
||||||
keymaps =
|
keymaps =
|
||||||
(import ./buffers.nix)
|
(import ./buffers.nix)
|
||||||
++ (import ./diagnostics.nix)
|
++ (import ./diagnostics.nix)
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# Neovim options
|
# Neovim options
|
||||||
# Use :options to get the list of all options
|
# Use :options to get the list of all options
|
||||||
# Use :h <option> to load help for given <option>
|
# Use :h <option> to load help for given <option>
|
||||||
{
|
_:{
|
||||||
opts = {
|
opts = {
|
||||||
# Don't stop backspace at insert
|
# Don't stop backspace at insert
|
||||||
backspace.__raw = ''
|
backspace.__raw = ''
|
||||||
|
|
|
||||||
51
plugins/aerial/default.nix
Normal file
51
plugins/aerial/default.nix
Normal file
|
|
@ -0,0 +1,51 @@
|
||||||
|
{ lib, pkgs, ...}:
|
||||||
|
{
|
||||||
|
extra = {
|
||||||
|
packages = [
|
||||||
|
(import ./package.nix { inherit lib pkgs; })
|
||||||
|
];
|
||||||
|
|
||||||
|
config = ''
|
||||||
|
require("aerial").setup({
|
||||||
|
backends = { "lsp", "treesitter", "markdown", "man" },
|
||||||
|
layout = { min_width = 28, placement = "edge" },
|
||||||
|
show_guides = true,
|
||||||
|
filter_kind = false,
|
||||||
|
|
||||||
|
guides = {
|
||||||
|
mid_item = "├ ",
|
||||||
|
last_item = "└ ",
|
||||||
|
nested_top = "│ ",
|
||||||
|
whitespace = " ",
|
||||||
|
},
|
||||||
|
autojump = true,
|
||||||
|
keymaps = {
|
||||||
|
["[y"] = "actions.prev",
|
||||||
|
["]y"] = "actions.next",
|
||||||
|
["[Y"] = "actions.prev_up",
|
||||||
|
["]Y"] = "actions.next_up",
|
||||||
|
["{"] = false,
|
||||||
|
["}"] = false,
|
||||||
|
["[["] = false,
|
||||||
|
["]]"] = false,
|
||||||
|
},
|
||||||
|
attach_mode = "global",
|
||||||
|
})
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
rootOpts.keymaps = [
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>lo";
|
||||||
|
action.__raw = ''function() require("aerial").toggle() end'';
|
||||||
|
options.desc = "Symbols outline";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>fs";
|
||||||
|
action.__raw = ''require("telescope").extensions.aerial.aerial'';
|
||||||
|
options.desc = "Find symbols";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
21
plugins/aerial/package.nix
Normal file
21
plugins/aerial/package.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
{ pkgs, ...}:
|
||||||
|
let
|
||||||
|
version = "2.1.0";
|
||||||
|
in
|
||||||
|
pkgs.vimUtils.buildVimPlugin {
|
||||||
|
inherit version;
|
||||||
|
|
||||||
|
name = "aerial";
|
||||||
|
|
||||||
|
# src = pkgs.fetchFromGitHub {
|
||||||
|
# owner = "stevearc";
|
||||||
|
# repo = "aerial.nvim";
|
||||||
|
# rev = "v${version}";
|
||||||
|
# hash = "sha256:0ip8xmncp82svlbkphlas88xjvzrpzyy5b1c9x06dqbm4ifai0va";
|
||||||
|
# };
|
||||||
|
|
||||||
|
src = builtins.fetchTarball {
|
||||||
|
url = "http://github.com/stevearc/aerial.nvim/archive/v2.1.0.tar.gz";
|
||||||
|
sha256 = "sha256:0ip8xmncp82svlbkphlas88xjvzrpzyy5b1c9x06dqbm4ifai0va";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -11,6 +11,13 @@
|
||||||
leader_key = ';', -- Recommended to be a single key
|
leader_key = ';', -- Recommended to be a single key
|
||||||
buffer_leader_key = 'm', -- Per Buffer Mappings
|
buffer_leader_key = 'm', -- Per Buffer Mappings
|
||||||
})
|
})
|
||||||
|
|
||||||
|
-- prewritten for later
|
||||||
|
-- require("which-key").add({
|
||||||
|
-- {";", desc = "Arrow buffers"},
|
||||||
|
-- {"m", desc = "Arrow marks"}
|
||||||
|
-- })
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
4
plugins/committia.nix
Normal file
4
plugins/committia.nix
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
_:
|
||||||
|
{
|
||||||
|
opts.enable = true;
|
||||||
|
}
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
# Config from AstroNvim
|
# Config from AstroNvim
|
||||||
# https://github.com/AstroNvim/AstroNvim/blob/v4.7.7/lua/astronvim/plugins/heirline.lua
|
# https://github.com/AstroNvim/AstroNvim/blob/v4.7.7/lua/astronvim/plugins/heirline.lua
|
||||||
# https://github.com/AstroNvim/AstroNvim/blob/v4.7.7/lua/astronvim/plugins/configs/heirline.lua
|
# https://github.com/AstroNvim/AstroNvim/blob/v4.7.7/lua/astronvim/plugins/configs/heirline.lua
|
||||||
config = ''
|
config = /*lua*/ ''
|
||||||
local status = require("astroui.status")
|
local status = require("astroui.status")
|
||||||
|
|
||||||
require("heirline").setup({
|
require("heirline").setup({
|
||||||
|
|
|
||||||
|
|
@ -36,10 +36,10 @@
|
||||||
action = "rename";
|
action = "rename";
|
||||||
desc = "Rename current symbol";
|
desc = "Rename current symbol";
|
||||||
};
|
};
|
||||||
"<leader>lR" = {
|
# "<leader>lR" = {
|
||||||
action = "rename";
|
# action = "references";
|
||||||
desc = "Search references";
|
# desc = "Search references";
|
||||||
};
|
# };
|
||||||
"<leader>lh" = {
|
"<leader>lh" = {
|
||||||
action = "signature_help";
|
action = "signature_help";
|
||||||
desc = "Signature help";
|
desc = "Signature help";
|
||||||
|
|
|
||||||
|
|
@ -6,4 +6,19 @@ _:{
|
||||||
{ paths = "~/.config/snippets/"; }
|
{ paths = "~/.config/snippets/"; }
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
rootOpts.keymaps = [
|
||||||
|
{
|
||||||
|
mode = "i";
|
||||||
|
key = "<C-g>";
|
||||||
|
action.__raw = ''function() require("luasnip").jump(1) end'';
|
||||||
|
options.desc = "Jump to next snippet node";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "i";
|
||||||
|
key = "<C-h>";
|
||||||
|
action.__raw = ''function() require("luasnip").jump(-1) end'';
|
||||||
|
options.desc = "Jump to previous snippet node";
|
||||||
|
}
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
4
plugins/none-ls.nix
Normal file
4
plugins/none-ls.nix
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
_:
|
||||||
|
{
|
||||||
|
opts.enable = true;
|
||||||
|
}
|
||||||
|
|
@ -104,7 +104,7 @@
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
desc = "Find words";
|
desc = "Find words";
|
||||||
key = "<leader>fg";
|
key = "<leader>fw";
|
||||||
fn = "live_grep";
|
fn = "live_grep";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
|
@ -147,15 +147,31 @@
|
||||||
key = "<leader>fC";
|
key = "<leader>fC";
|
||||||
fn = "commands";
|
fn = "commands";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
desc = "Find man";
|
||||||
|
key = "<leader>fm";
|
||||||
|
fn = "man_pages";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
desc = "Find words in all files";
|
||||||
|
key = "<leader>fm";
|
||||||
|
fn = "live_grep";
|
||||||
|
args.additional_args.__raw = ''function(args) return vim.list_extend(args, { "--hidden", "--no-ignore" }) end'';
|
||||||
|
}
|
||||||
{
|
{
|
||||||
desc = "Find themes";
|
desc = "Find themes";
|
||||||
key = "<leader>ft";
|
key = "<leader>ft";
|
||||||
fn = "colortheme";
|
fn = "colorscheme";
|
||||||
args = {
|
args = {
|
||||||
enable_preview = true;
|
enable_preview = true;
|
||||||
ignore_builtins = true;
|
ignore_builtins = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
desc = "Search diagnostics";
|
||||||
|
key = "<leader>lD";
|
||||||
|
fn = "diagnostics";
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,12 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
# Enable treesitter based indentation (use '=' to auto-indent)
|
# Enable treesitter based indentation (use '=' to auto-indent)
|
||||||
settings.indent.enable = true;
|
settings = {
|
||||||
|
indent.enable = true;
|
||||||
|
highlight = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# Workaround to enable incremental selection without setting default keymaps (keymaps are set globally)
|
# Workaround to enable incremental selection without setting default keymaps (keymaps are set globally)
|
||||||
# This is needed in order to set custom descriptions and avoid to have multiple keymaps
|
# This is needed in order to set custom descriptions and avoid to have multiple keymaps
|
||||||
|
|
@ -33,7 +38,7 @@
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
mode = [ "n" "x" "o" ];
|
mode = [ "n" "x" "o" ];
|
||||||
key = ";";
|
key = "-";
|
||||||
action.__raw = "function() require('nvim-treesitter.textobjects.repeatable_move').repeat_last_move_opposite() end";
|
action.__raw = "function() require('nvim-treesitter.textobjects.repeatable_move').repeat_last_move_opposite() end";
|
||||||
options.desc = "Repeat last move in the opposite direction";
|
options.desc = "Repeat last move in the opposite direction";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,8 @@
|
||||||
"<leader>s".name = "${icons.Session} Session";
|
"<leader>s".name = "${icons.Session} Session";
|
||||||
"<leader>t".name = "${icons.Terminal} Terminal";
|
"<leader>t".name = "${icons.Terminal} Terminal";
|
||||||
"<leader>u".name = "${icons.Window} UI/UX";
|
"<leader>u".name = "${icons.Window} UI/UX";
|
||||||
|
";".name = "Arrow buffers"; # This should move to arrow.nix when moving to which-key.add()
|
||||||
|
"m".name = "Arrow marks"; # This should move to arrow.nix when moving to which-key.add(
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,8 @@
|
||||||
GitSign = "▎";
|
GitSign = "▎";
|
||||||
GitStaged = "✓";
|
GitStaged = "✓";
|
||||||
GitUnstaged = "✗";
|
GitUnstaged = "✗";
|
||||||
GitUntracked = "★";
|
GitUntracked.__raw = "require('astroui').get_icon('GitUntracked')"; # TODO: this should be all the signs (or even a function)
|
||||||
|
# GitUntracked = "★";
|
||||||
LSPLoading1 = "";
|
LSPLoading1 = "";
|
||||||
LSPLoading2 = "";
|
LSPLoading2 = "";
|
||||||
LSPLoading3 = "";
|
LSPLoading3 = "";
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue