Merge remote-tracking branch 'origin/nixos' into nixos
This commit is contained in:
commit
97e183ce59
38 changed files with 397 additions and 489 deletions
|
|
@ -84,9 +84,7 @@ in
|
|||
|
||||
environment.systemPackages = with pkgs; [
|
||||
# archives
|
||||
p7zip
|
||||
unzip
|
||||
zip
|
||||
ouch
|
||||
|
||||
# file management
|
||||
trash-cli
|
||||
|
|
|
|||
|
|
@ -73,6 +73,7 @@ in
|
|||
};
|
||||
};
|
||||
services = {
|
||||
illum.enable = true;
|
||||
gnome.gnome-keyring.enable = true;
|
||||
pipewire = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ in
|
|||
synology-drive.enable = true;
|
||||
};
|
||||
programs = {
|
||||
ssh.includeSecrets = mkDefault [ ../../secrets/ssh-home.age ];
|
||||
ssh.includeSecrets = [ ../../secrets/ssh-home.age ];
|
||||
git.signing = mkDefault true;
|
||||
hub.enable = mkDefault true;
|
||||
firefox.arkenfox = {
|
||||
|
|
|
|||
28
modules/profiles/webis.nix
Normal file
28
modules/profiles/webis.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ lib
|
||||
, config
|
||||
, ...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.my.profiles.webis;
|
||||
in
|
||||
|
||||
{
|
||||
options.my.profiles.webis.enable = mkEnableOption "webis profile";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
my.programs.ssh.includeSecrets = [ ../../secrets/webis-ssh.age ];
|
||||
age.secrets.webis = {
|
||||
file = ../../secrets/webis.age;
|
||||
name = "webis.ovpn";
|
||||
};
|
||||
services.openvpn.servers = {
|
||||
webis = {
|
||||
config = "config /run/agenix/webis.ovpn";
|
||||
autoStart = false;
|
||||
updateResolvConf = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -9,21 +9,57 @@ let
|
|||
cfg = config.my.programs.code;
|
||||
in
|
||||
{
|
||||
options.my.programs.code.enable = mkEnableOption "code";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home-manager.users.moritz = {
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
package = pkgs.vscode-fhsWithPackages (ps: with ps; [ git ]);
|
||||
extensions = with pkgs.vscode-extensions; [
|
||||
bbenoist.nix
|
||||
dracula-theme.theme-dracula
|
||||
esbenp.prettier-vscode
|
||||
pkief.material-icon-theme
|
||||
vscodevim.vim
|
||||
];
|
||||
};
|
||||
options.my.programs.code = {
|
||||
enable = mkEnableOption "code";
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.vscode;
|
||||
};
|
||||
extensions = mkOption {
|
||||
type = types.listOf types.package;
|
||||
default = with pkgs.vscode-extensions; [
|
||||
bbenoist.nix
|
||||
vscodevim.vim
|
||||
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
||||
{
|
||||
name = "copilot-nightly";
|
||||
publisher = "GitHub";
|
||||
version = "1.86.118";
|
||||
sha256 = "04nspnmd5cfnv3m9igww6h6la6pvhdqzqmdnbm1znapxqiw2m927";
|
||||
}
|
||||
{
|
||||
name = "copilot-chat";
|
||||
publisher = "GitHub";
|
||||
version = "0.1.2023052602";
|
||||
sha256 = "0anlzzs4g7c9mmw7yxy5bgjcs0niwa3bswgvhwspf5fh8bbq5n44";
|
||||
}
|
||||
];
|
||||
};
|
||||
wayland = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages =
|
||||
let
|
||||
withExtensions = pkgs.vscode-with-extensions.override {
|
||||
vscode = cfg.package;
|
||||
vscodeExtensions = cfg.extensions;
|
||||
};
|
||||
maybeExtensions = if cfg.extensions == [ ] then cfg.package else withExtensions;
|
||||
withWayland = pkgs.symlinkJoin {
|
||||
name = "${maybeExtensions.name}-wayland";
|
||||
paths = [ maybeExtensions ];
|
||||
nativeBuildInputs = [ pkgs.makeWrapper ];
|
||||
postBuild = ''
|
||||
wrapProgram $out/bin/code* \
|
||||
--set NIXOS_OZONE_WL 1
|
||||
'';
|
||||
};
|
||||
final = if cfg.wayland then withWayland else maybeExtensions;
|
||||
in
|
||||
[ final ];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
{ config
|
||||
, lib
|
||||
, pkgs
|
||||
, ...
|
||||
}:
|
||||
|
||||
|
|
@ -51,8 +52,8 @@ in
|
|||
extraConfig = {
|
||||
init.defaultBranch = "main";
|
||||
merge.conflictstyle = "zdiff3";
|
||||
diff.external = getExe pkgs.difftastic;
|
||||
};
|
||||
delta.enable = true;
|
||||
signing = mkIf cfg.signing {
|
||||
key = "0x970C6E89EB0547A9";
|
||||
signByDefault = true;
|
||||
|
|
|
|||
|
|
@ -171,8 +171,6 @@ in
|
|||
bind = , XF86AudioNext , exec , playerctl -p "spotifyd,firefox" next
|
||||
bind = , XF86AudioPlay , exec , playerctl -p "spotifyd,firefox" play-pause
|
||||
bind = , XF86AudioPrev , exec , playerctl -p "spotifyd,firefox" previous
|
||||
binde = , XF86MonBrightnessDown , exec , brightnessctl s 10%-
|
||||
binde = , XF86MonBrightnessUp , exec , brightnessctl s 10%+
|
||||
|
||||
# Move focus with mainMod + hjkl
|
||||
binde = $mainMod, H, movefocus, l
|
||||
|
|
|
|||
|
|
@ -91,11 +91,11 @@ in
|
|||
events = [
|
||||
{
|
||||
event = "before-sleep";
|
||||
command = "${pkgs.swaylock}/bin/swaylock -fF";
|
||||
command = "${getExe pkgs.swaylock} -fF";
|
||||
}
|
||||
{
|
||||
event = "lock";
|
||||
command = "${pkgs.swaylock}/bin/swaylock -fF";
|
||||
command = "${getExe pkgs.swaylock} -fF";
|
||||
}
|
||||
];
|
||||
timeouts =
|
||||
|
|
@ -118,12 +118,10 @@ in
|
|||
}
|
||||
] ++ optional
|
||||
(!cfg.nvidiaSupport) # TODO https://github.com/hyprwm/Hyprland/issues/1728
|
||||
[
|
||||
{
|
||||
timeout = 30 * 60;
|
||||
command = "${pkgs.systemd}/bin/systemctl suspend-then-hibernate";
|
||||
}
|
||||
];
|
||||
{
|
||||
timeout = 30 * 60;
|
||||
command = "${pkgs.systemd}/bin/systemctl suspend-and-hibernate";
|
||||
};
|
||||
systemdTarget = "hyprland-session.target";
|
||||
};
|
||||
};
|
||||
|
|
@ -148,7 +146,7 @@ in
|
|||
wantedBy = [ "graphical-session.target" ];
|
||||
serviceConfig = {
|
||||
ExecStartPre = "${pkgs.coreutils}/bin/sleep 0.5";
|
||||
ExecStart = "${pkgs.hyprpaper}/bin/hyprpaper -c ${config}";
|
||||
ExecStart = "${getExe pkgs.hyprpaper} -c ${config}";
|
||||
RestartSec = "500ms";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
, lib
|
||||
, inputs
|
||||
, self
|
||||
, pkgs
|
||||
, ...
|
||||
}:
|
||||
|
||||
|
|
@ -23,7 +24,7 @@ in
|
|||
};
|
||||
|
||||
config.nix = {
|
||||
extraOptions = "experimental-features = nix-command flakes";
|
||||
package = pkgs.nix-super;
|
||||
|
||||
gc = {
|
||||
automatic = cfg.gc.enable;
|
||||
|
|
@ -46,6 +47,7 @@ in
|
|||
nixpkgs.flake = inputs.nixpkgs;
|
||||
stable.flake = inputs.stable;
|
||||
dotfiles.flake = self;
|
||||
default.flake = self;
|
||||
};
|
||||
|
||||
settings = {
|
||||
|
|
|
|||
|
|
@ -75,7 +75,6 @@ in
|
|||
lsp_lines-nvim
|
||||
lspkind-nvim
|
||||
lspsaga-nvim-original
|
||||
lualine-lsp-progress
|
||||
luasnip
|
||||
nui-nvim
|
||||
nvim-cmp
|
||||
|
|
@ -87,10 +86,10 @@ in
|
|||
popup-nvim
|
||||
promise-async
|
||||
vim-fugitive
|
||||
vim-lion
|
||||
vim-tmux-navigator
|
||||
] ++ pluginsWithConfig;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -22,10 +22,10 @@ vim.api.nvim_create_autocmd("InsertEnter", {
|
|||
require("copilot_cmp").setup()
|
||||
|
||||
local default_sources = {
|
||||
{ name = "async_path", priority = 4 },
|
||||
{ name = "copilot", priority = 3 },
|
||||
{ name = "async_path", priority = 1 },
|
||||
{ name = "copilot", priority = 2 },
|
||||
{ name = "luasnip", priority = 2 },
|
||||
{ name = "nvim_lsp", priority = 4 },
|
||||
{ name = "nvim_lsp", priority = 3 },
|
||||
}
|
||||
|
||||
cmp.setup({
|
||||
|
|
@ -75,8 +75,8 @@ vim.api.nvim_create_autocmd("InsertEnter", {
|
|||
|
||||
cmp.setup.filetype("org", {
|
||||
sources = vim.tbl_deep_extend("force", default_sources, {
|
||||
{ name = "buffer", priority = 5 },
|
||||
{ name = "orgmode", priority = 5 },
|
||||
{ name = "buffer", priority = 1 },
|
||||
{ name = "orgmode", priority = 3 },
|
||||
}),
|
||||
})
|
||||
end,
|
||||
|
|
|
|||
|
|
@ -1,2 +0,0 @@
|
|||
vim.opt.termguicolors = true
|
||||
require("bufferline").setup()
|
||||
|
|
@ -1,6 +1,17 @@
|
|||
require("catppuccin").setup({
|
||||
compile_path = vim.fn.stdpath("cache") .. "/catppuccin", -- fix issue of writing to nix store
|
||||
integrations = {
|
||||
gitsigns = true,
|
||||
lsp_saga = true,
|
||||
mini = true,
|
||||
noice = true,
|
||||
cmp = true,
|
||||
native_lsp = {
|
||||
enabled = true,
|
||||
},
|
||||
treesitter = true,
|
||||
telescope = true,
|
||||
lsp_trouble = true,
|
||||
which_key = true,
|
||||
},
|
||||
})
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
require("comment-box").setup()
|
||||
|
|
@ -1 +0,0 @@
|
|||
require("Comment").setup()
|
||||
|
|
@ -6,3 +6,6 @@ vim.api.nvim_create_autocmd("VimEnter", {
|
|||
desc = "Disable Copilot by default on startup",
|
||||
command = "Copilot disable",
|
||||
})
|
||||
require("which-key").register({
|
||||
c = { "<cmd>Copilot toggle<cr>", "Toggle Copilot" },
|
||||
}, { prefix = "<leader>t" })
|
||||
|
|
|
|||
|
|
@ -1,9 +0,0 @@
|
|||
require("dashboard").setup({
|
||||
theme = "hyper",
|
||||
config = {
|
||||
packages = { enable = false },
|
||||
week_header = {
|
||||
enable = true,
|
||||
},
|
||||
},
|
||||
})
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
require("which-key").register({
|
||||
i = { "<cmd>Gitignore<cr>", "Create .gitignore" },
|
||||
}, { prefix = "<leader>g" })
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
require("lualine").setup({
|
||||
options = {
|
||||
icons_enabled = true,
|
||||
theme = "auto",
|
||||
component_separators = "|",
|
||||
section_separators = { left = "", right = "" },
|
||||
disabled_filetypes = {
|
||||
statusline = {},
|
||||
winbar = {},
|
||||
},
|
||||
ignore_focus = {},
|
||||
always_divide_middle = true,
|
||||
globalstatus = false,
|
||||
refresh = {
|
||||
statusline = 1000,
|
||||
tabline = 1000,
|
||||
winbar = 1000,
|
||||
},
|
||||
},
|
||||
sections = {
|
||||
lualine_a = {
|
||||
{ "mode", separator = { left = "" }, right_padding = 2 },
|
||||
},
|
||||
lualine_b = { "branch", "diff", "diagnostics" },
|
||||
lualine_c = { "filename", "lsp_progress" },
|
||||
lualine_x = { "encoding", "fileformat", "filetype" },
|
||||
lualine_y = { "progress" },
|
||||
lualine_z = {
|
||||
{ "location", separator = { right = "" }, left_padding = 2 },
|
||||
},
|
||||
},
|
||||
inactive_sections = {
|
||||
lualine_a = {},
|
||||
lualine_b = {},
|
||||
lualine_c = { "filename" },
|
||||
lualine_x = { "location" },
|
||||
lualine_y = {},
|
||||
lualine_z = {},
|
||||
},
|
||||
tabline = {},
|
||||
winbar = {},
|
||||
inactive_winbar = {},
|
||||
extensions = {},
|
||||
})
|
||||
72
modules/programs/nvim/plugins/mini-nvim.lua
Normal file
72
modules/programs/nvim/plugins/mini-nvim.lua
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
require("mini.align").setup()
|
||||
require("mini.comment").setup()
|
||||
require("mini.surround").setup()
|
||||
require("mini.move").setup()
|
||||
require("mini.pairs").setup()
|
||||
require("mini.starter").setup()
|
||||
|
||||
require("mini.tabline").setup()
|
||||
local tabline_current = vim.api.nvim_get_hl(0, { name = "MiniTablineCurrent" })
|
||||
vim.api.nvim_set_hl(0, "MiniTablineCurrent", {
|
||||
fg = tabline_current.fg,
|
||||
bg = tabline_current.bg,
|
||||
bold = true,
|
||||
italic = true,
|
||||
})
|
||||
|
||||
require("mini.statusline").setup({
|
||||
content = {
|
||||
active = function()
|
||||
local mode, mode_hl = MiniStatusline.section_mode({ trunc_width = 120 })
|
||||
local git = MiniStatusline.section_git({ trunc_width = 75 })
|
||||
local diagnostics = MiniStatusline.section_diagnostics({ trunc_width = 75 })
|
||||
local filename = MiniStatusline.section_filename({ trunc_width = 140 })
|
||||
local fileinfo = MiniStatusline.section_fileinfo({ trunc_width = 120 })
|
||||
local location = MiniStatusline.section_location({ trunc_width = 75 })
|
||||
local mode_hl_inverse = mode_hl .. "Inverse"
|
||||
-- Usage of `MiniStatusline.combine_groups()` ensures highlighting and
|
||||
-- correct padding with spaces between groups (accounts for 'missing'
|
||||
-- sections, etc.)
|
||||
return MiniStatusline.combine_groups({
|
||||
{ hl = mode_hl_inverse, strings = {} },
|
||||
"",
|
||||
{ hl = mode_hl, strings = { mode } },
|
||||
{ hl = "MiniStatuslineDevinfo", strings = { git, diagnostics } },
|
||||
"%<", -- Mark general truncate point
|
||||
{ hl = "MiniStatuslineFilename", strings = { filename } },
|
||||
"%=", -- End left alignment
|
||||
{ hl = "MiniStatuslineFileinfo", strings = { fileinfo } },
|
||||
{ hl = mode_hl, strings = { location } },
|
||||
{ hl = mode_hl_inverse, strings = {} },
|
||||
"",
|
||||
})
|
||||
end,
|
||||
},
|
||||
})
|
||||
local MiniStatuslineModes = {
|
||||
"MiniStatuslineModeInsert",
|
||||
"MiniStatuslineModeNormal",
|
||||
"MiniStatuslineModeReplace",
|
||||
"MiniStatuslineModeVisual",
|
||||
"MiniStatuslineModeCommand",
|
||||
"MiniStatuslineModeOther",
|
||||
}
|
||||
for _, mode_hl in ipairs(MiniStatuslineModes) do
|
||||
local hl_table = vim.api.nvim_get_hl(0, { name = mode_hl })
|
||||
local fg = hl_table.fg
|
||||
hl_table.fg = hl_table.bg
|
||||
hl_table.bg = fg
|
||||
vim.api.nvim_set_hl(0, mode_hl .. "Inverse", hl_table)
|
||||
end
|
||||
|
||||
local animate = require("mini.animate")
|
||||
local animation = {
|
||||
timing = animate.gen_timing.quadratic({ duration = 100, unit = "total" }),
|
||||
}
|
||||
animate.setup({
|
||||
cursor = animation,
|
||||
scroll = { enable = false },
|
||||
resize = animation,
|
||||
open = animation,
|
||||
close = animation,
|
||||
})
|
||||
|
|
@ -1,195 +0,0 @@
|
|||
-- Unless you are still migrating, remove the deprecated commands from v1.x
|
||||
vim.cmd([[ let g:neo_tree_remove_legacy_commands = 1 ]])
|
||||
|
||||
require("neo-tree").setup({
|
||||
close_if_last_window = true, -- Close Neo-tree if it is the last window left in the tab
|
||||
popup_border_style = "rounded",
|
||||
enable_git_status = true,
|
||||
enable_diagnostics = true,
|
||||
open_files_do_not_replace_types = { "terminal", "trouble", "qf" }, -- when opening files, do not use windows containing these filetypes or buftypes
|
||||
sort_case_insensitive = false, -- used when sorting files and directories in the tree
|
||||
sort_function = nil, -- use a custom function for sorting files and directories in the tree
|
||||
-- sort_function = function (a,b)
|
||||
-- if a.type == b.type then
|
||||
-- return a.path > b.path
|
||||
-- else
|
||||
-- return a.type > b.type
|
||||
-- end
|
||||
-- end , -- this sorts files and directories descendantly
|
||||
default_component_configs = {
|
||||
container = {
|
||||
enable_character_fade = true,
|
||||
},
|
||||
indent = {
|
||||
indent_size = 2,
|
||||
padding = 1, -- extra padding on left hand side
|
||||
-- indent guides
|
||||
with_markers = true,
|
||||
indent_marker = "│",
|
||||
last_indent_marker = "└",
|
||||
highlight = "NeoTreeIndentMarker",
|
||||
-- expander config, needed for nesting files
|
||||
with_expanders = nil, -- if nil and file nesting is enabled, will enable expanders
|
||||
expander_collapsed = "",
|
||||
expander_expanded = "",
|
||||
expander_highlight = "NeoTreeExpander",
|
||||
},
|
||||
icon = {
|
||||
folder_closed = "",
|
||||
folder_open = "",
|
||||
folder_empty = "ﰊ",
|
||||
-- The next two settings are only a fallback, if you use nvim-web-devicons and configure default icons there
|
||||
-- then these will never be used.
|
||||
default = "*",
|
||||
highlight = "NeoTreeFileIcon",
|
||||
},
|
||||
modified = {
|
||||
symbol = "[+]",
|
||||
highlight = "NeoTreeModified",
|
||||
},
|
||||
name = {
|
||||
trailing_slash = false,
|
||||
use_git_status_colors = true,
|
||||
highlight = "NeoTreeFileName",
|
||||
},
|
||||
git_status = {
|
||||
symbols = {
|
||||
-- Change type
|
||||
added = "", -- or "✚", but this is redundant info if you use git_status_colors on the name
|
||||
modified = "", -- or "", but this is redundant info if you use git_status_colors on the name
|
||||
deleted = "✖", -- this can only be used in the git_status source
|
||||
renamed = "", -- this can only be used in the git_status source
|
||||
-- Status type
|
||||
untracked = "",
|
||||
ignored = "",
|
||||
unstaged = "",
|
||||
staged = "",
|
||||
conflict = "",
|
||||
},
|
||||
},
|
||||
},
|
||||
window = {
|
||||
position = "left",
|
||||
width = 40,
|
||||
mapping_options = {
|
||||
noremap = true,
|
||||
nowait = true,
|
||||
},
|
||||
mappings = {
|
||||
["<cr>"] = "open",
|
||||
["<esc>"] = "revert_preview",
|
||||
["P"] = { "toggle_preview", config = { use_float = false } },
|
||||
["S"] = "open_split",
|
||||
["s"] = "open_vsplit",
|
||||
["t"] = "open_tabnew",
|
||||
["C"] = "close_node",
|
||||
["z"] = "close_all_nodes",
|
||||
["a"] = {
|
||||
"add",
|
||||
-- this command supports BASH style brace expansion ("x{a,b,c}" -> xa,xb,xc). see `:h neo-tree-file-actions` for details
|
||||
-- some commands may take optional config options, see `:h neo-tree-mappings` for details
|
||||
config = {
|
||||
show_path = "none", -- "none", "relative", "absolute"
|
||||
},
|
||||
},
|
||||
["A"] = "add_directory", -- also accepts the optional config.show_path option like "add". this also supports BASH style brace expansion.
|
||||
["d"] = "delete",
|
||||
["r"] = "rename",
|
||||
["y"] = "copy_to_clipboard",
|
||||
["x"] = "cut_to_clipboard",
|
||||
["p"] = "paste_from_clipboard",
|
||||
["c"] = "copy", -- takes text input for destination, also accepts the optional config.show_path option like "add":
|
||||
["m"] = "move", -- takes text input for destination, also accepts the optional config.show_path option like "add".
|
||||
["q"] = "close_window",
|
||||
["R"] = "refresh",
|
||||
["?"] = "show_help",
|
||||
["<"] = "prev_source",
|
||||
[">"] = "next_source",
|
||||
},
|
||||
},
|
||||
nesting_rules = {},
|
||||
filesystem = {
|
||||
filtered_items = {
|
||||
visible = false, -- when true, they will just be displayed differently than normal items
|
||||
hide_dotfiles = true,
|
||||
hide_gitignored = true,
|
||||
hide_hidden = true, -- only works on Windows for hidden files/directories
|
||||
hide_by_name = {
|
||||
--"node_modules"
|
||||
},
|
||||
hide_by_pattern = { -- uses glob style patterns
|
||||
--"*.meta",
|
||||
--"*/src/*/tsconfig.json",
|
||||
},
|
||||
always_show = { -- remains visible even if other settings would normally hide it
|
||||
--".gitignored",
|
||||
},
|
||||
never_show = { -- remains hidden even if visible is toggled to true, this overrides always_show
|
||||
--".DS_Store",
|
||||
--"thumbs.db"
|
||||
},
|
||||
never_show_by_pattern = { -- uses glob style patterns
|
||||
--".null-ls_*",
|
||||
},
|
||||
},
|
||||
follow_current_file = false, -- This will find and focus the file in the active buffer every
|
||||
-- time the current file is changed while the tree is open.
|
||||
group_empty_dirs = false, -- when true, empty folders will be grouped together
|
||||
hijack_netrw_behavior = "disabled", -- netrw disabled, opening a directory opens neo-tree
|
||||
-- in whatever position is specified in window.position
|
||||
-- "open_current", -- netrw disabled, opening a directory opens within the
|
||||
-- window like netrw would, regardless of window.position
|
||||
-- "disabled", -- netrw left alone, neo-tree does not handle opening dirs
|
||||
use_libuv_file_watcher = false, -- This will use the OS level file watchers to detect changes
|
||||
-- instead of relying on nvim autocmd events.
|
||||
window = {
|
||||
mappings = {
|
||||
["<bs>"] = "navigate_up",
|
||||
["."] = "set_root",
|
||||
["H"] = "toggle_hidden",
|
||||
["/"] = "fuzzy_finder",
|
||||
["D"] = "fuzzy_finder_directory",
|
||||
["#"] = "fuzzy_sorter", -- fuzzy sorting using the fzy algorithm
|
||||
["f"] = "filter_on_submit",
|
||||
["<c-x>"] = "clear_filter",
|
||||
["[g"] = "prev_git_modified",
|
||||
["]g"] = "next_git_modified",
|
||||
},
|
||||
fuzzy_finder_mappings = { -- define keymaps for filter popup window in fuzzy_finder_mode
|
||||
["<S-tab>"] = "move_cursor_up",
|
||||
["<tab>"] = "move_cursor_down",
|
||||
},
|
||||
},
|
||||
},
|
||||
buffers = {
|
||||
follow_current_file = true, -- This will find and focus the file in the active buffer every
|
||||
-- time the current file is changed while the tree is open.
|
||||
group_empty_dirs = true, -- when true, empty folders will be grouped together
|
||||
show_unloaded = true,
|
||||
window = {
|
||||
mappings = {
|
||||
["bd"] = "buffer_delete",
|
||||
["<bs>"] = "navigate_up",
|
||||
["."] = "set_root",
|
||||
},
|
||||
},
|
||||
},
|
||||
git_status = {
|
||||
window = {
|
||||
position = "float",
|
||||
mappings = {
|
||||
["A"] = "git_add_all",
|
||||
["gu"] = "git_unstage_file",
|
||||
["ga"] = "git_add_file",
|
||||
["gr"] = "git_revert_file",
|
||||
["gc"] = "git_commit",
|
||||
["gp"] = "git_push",
|
||||
["gg"] = "git_commit_and_push",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
require("which-key").register({
|
||||
t = { "<cmd>Neotree toggle reveal<cr>", "Neotree" },
|
||||
}, { prefix = "<leader>t", silent = true })
|
||||
|
|
@ -17,42 +17,25 @@ null_ls.setup({
|
|||
},
|
||||
})
|
||||
|
||||
-- disable cspell initially
|
||||
-- disable (c)spell initially
|
||||
null_ls.disable("cspell")
|
||||
null_ls.disable("spell")
|
||||
|
||||
-- make sources toggle able
|
||||
require("which-key").register({
|
||||
n = {
|
||||
name = "null-ls",
|
||||
c = {
|
||||
s = {
|
||||
function()
|
||||
null_ls.toggle("spell")
|
||||
end,
|
||||
"spell",
|
||||
},
|
||||
S = {
|
||||
function()
|
||||
null_ls.toggle("cspell")
|
||||
end,
|
||||
"cspell",
|
||||
},
|
||||
g = {
|
||||
function()
|
||||
null_ls.toggle("gitsigns")
|
||||
end,
|
||||
"gitsigns",
|
||||
},
|
||||
s = {
|
||||
function()
|
||||
null_ls.toggle("shellcheck")
|
||||
end,
|
||||
"shellcheck",
|
||||
},
|
||||
S = {
|
||||
function()
|
||||
null_ls.toggle("statix")
|
||||
end,
|
||||
"statix",
|
||||
},
|
||||
d = {
|
||||
function()
|
||||
null_ls.toggle("deadnix")
|
||||
end,
|
||||
"deadnix",
|
||||
},
|
||||
},
|
||||
}, { prefix = "<leader>t" })
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
require("nvim-autopairs").setup()
|
||||
|
||||
-- If you want insert `(` after select function or method item
|
||||
local cmp_autopairs = require("nvim-autopairs.completion.cmp")
|
||||
require("cmp").event:on("confirm_done", cmp_autopairs.on_confirm_done())
|
||||
|
|
@ -1 +0,0 @@
|
|||
require("nvim-surround").setup()
|
||||
|
|
@ -1 +1,4 @@
|
|||
require("oil").setup()
|
||||
require("which-key").register({
|
||||
d = { require("oil").toggle_float, "directory (oil)" },
|
||||
}, { prefix = "<leader>t" })
|
||||
|
|
|
|||
|
|
@ -1,4 +0,0 @@
|
|||
require("telescope").load_extension("zoxide")
|
||||
require("which-key").register({
|
||||
z = { "<cmd>Telescope zoxide list<cr>", "Find location (Zoxide)" },
|
||||
}, { prefix = "<leader>f" })
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
require("twilight").setup({
|
||||
context = 20,
|
||||
})
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
require("zen-mode").setup()
|
||||
require("which-key").register({
|
||||
z = { "<cmd>ZenMode<cr>", "Zen mode" },
|
||||
}, { prefix = "<leader>t" })
|
||||
|
|
@ -22,7 +22,7 @@ in
|
|||
enable = true;
|
||||
package =
|
||||
pkgs.rofi-wayland.override { plugins = with pkgs; [ rofi-calc rofi-emoji ]; };
|
||||
extraConfig = { combi-modi = "drun,window,emoji"; };
|
||||
extraConfig = { combi-modi = "drun,window,emoji,run"; };
|
||||
};
|
||||
xdg = {
|
||||
enable = true;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue