moved nixvim to home-manager config, re-added firefox plugins

This commit is contained in:
pagedmov
2024-11-07 00:48:51 -05:00
parent f9fe7155de
commit 0bb0b6ce81
21 changed files with 18 additions and 17 deletions

View File

@@ -11,7 +11,6 @@
[(import ./packages.nix)]
++ [(import ./programs.nix)]
++ [(import ./services.nix)]
++ [(import ./nixvim)]
++ [(import ./virtualization.nix)]
++ [(import ./gaming)];
}

View File

@@ -1,36 +0,0 @@
{...}: {
programs.nixvim = {
autoCmd = [
{
command = "FloatermNew --wintype=float --name=shadeterm --position=topright --autoclose=0 --silent --cwd=<buffer> --titleposition=left zsh";
event = ["VimEnter"];
pattern = ["*"];
desc = "Create a floating terminal, placed in the top right";
}
{
command = "silent! mkview";
event = ["BufWinLeave"];
pattern = ["*"];
desc = "Save session window settings to be loaded next time the file is opened";
}
{
command = "silent! !aplay ~/sound/sys/cd.wav > /dev/null 2>&1 &";
event = ["BufWinLeave"];
pattern = ["*"];
desc = "Play a neat little sound effect when you close neovim";
}
{
command = "silent! loadview";
event = ["BufWinEnter"];
pattern = ["*"];
desc = "Load previous session window settings for the opened file (folds, cursor pos, etc)";
}
{
command = "setlocal textwidth=135";
event = ["BufWinEnter" "BufEnter"];
pattern = ["*.md" "*.wiki" "*.txt"];
desc = "Set automatic linebreaks in plain text file formats";
}
];
};
}

View File

@@ -1,14 +0,0 @@
{
config,
pkgs,
host,
self,
...
}: {
imports = [
./plugins
./options.nix
./keymaps.nix
./autocmd.nix
];
}

View File

@@ -1,46 +0,0 @@
{
programs.nixvim = {
keymaps = [
{
action = "<cmd>lua vim.lsp.buf.format()<CR>";
key = "!fmt";
mode = "n";
}
{
action = "<cmd>lua vim.diagnostic.open_float()<CR>";
key = "!df";
mode = "n";
}
{
action = "<C-W>W";
key = "<S-Tab>";
mode = "n";
}
{
action = "<C-w>w";
key = "<Tab>";
mode = "n";
}
{
action = "<cmd>FloatermToggle shadeterm<CR>";
key = "<F2>";
mode = "n";
}
{
action = "<cmd>NvimTreeToggle<CR>";
key = "<F3>";
mode = "n";
}
{
action = "<cmd>FloatermToggle shadeterm<CR>";
key = "<F2>";
mode = "t";
}
{
action = "<cmd>COQnow<CR>";
key = "!cq";
mode = "n";
}
];
};
}

View File

@@ -1,63 +0,0 @@
{
config,
...
}:
let
scheme = config.lib.stylix.colors;
in
{
programs.nixvim = {
colorschemes.base16 = {
enable = true;
#colorscheme = {
# base00 = "#${scheme.base00}";
# base01 = "#${scheme.base01}";
# base02 = "#${scheme.base02}";
# base03 = "#${scheme.base03}";
# base04 = "#${scheme.base04}";
# base05 = "#${scheme.base05}";
# base06 = "#${scheme.base06}";
# base07 = "#${scheme.base07}";
# base08 = "#${scheme.base08}";
# base09 = "#${scheme.base09}";
# base0A = "#${scheme.base0A}";
# base0B = "#${scheme.base0B}";
# base0C = "#${scheme.base0C}";
# base0D = "#${scheme.base0D}";
# base0E = "#${scheme.base0E}";
# base0F = "#${scheme.base0F}";
#};
};
enable = true;
diagnostics.signs = false;
extraConfigLua = ''
if vim.g.started_by_firenvim == true then
vim.o.laststatus = 0
end
if vim.g.neovide then
vim.g.neovide_refresh_rate = 144
vim.g.neovide_cursor_vfx_mode = "sonicboom"
vim.g.neovide_cursor_animate_in_insert_mode = false
end
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.hlsearch = true
vim.opt.incsearch = true
vim.opt.shiftwidth = 2
vim.opt.tabstop = 2
vim.opt.termguicolors = true
vim.opt.ruler = true
vim.opt.scrolloff = 6
vim.opt.undofile = true
vim.opt.foldmethod = "manual"
vim.opt.wrap = true
vim.opt.linebreak = true
vim.opt.textwidth = 0
vim.opt.breakat = " \t!@*-+;:,./?"
vim.g.mapleader = "!"
'';
};
}

View File

@@ -1,8 +0,0 @@
{
programs.nixvim = {
plugins.alpha = {
enable = true;
theme = "dashboard";
};
};
}

View File

@@ -1,10 +0,0 @@
{
programs.nixvim = {
plugins.barbar = {
enable = false;
settings = {
auto_hide = 1;
};
};
};
}

View File

@@ -1,15 +0,0 @@
{
programs.nixvim = {
plugins.cmp = {
autoEnableSources = true;
settings.sources = [
{name = "nvim_lsp";}
{name = "path";}
{name = "buffer";}
];
};
plugins.cmp-nvim-lsp.enable = true;
plugins.cmp-nvim-lsp-document-symbol.enable = true;
plugins.cmp-nvim-lsp-signature-help.enable = true;
};
}

View File

@@ -1,10 +0,0 @@
{
programs.nixvim = {
plugins.coq-nvim = {
enable = true;
settings = {
auto_start = false;
};
};
};
}

View File

@@ -1,18 +0,0 @@
{ host, self, ... }:
{
imports = [
./alpha.nix
./haskell.nix
./vim-matchup.nix
# ./coq.nix
./barbar.nix
./cmp.nix
./lsp.nix
./lualine.nix
./plugins.nix
./nvim-tree.nix
./telescope.nix
./extra_plugins.nix
];
}

View File

@@ -1,52 +0,0 @@
{pkgs, ...}: {
programs.nixvim = {
extraPlugins = [
(pkgs.vimUtils.buildVimPlugin {
# vimwiki
name = "vimwiki";
src = pkgs.fetchFromGitHub {
owner = "vimwiki";
repo = "vimwiki";
rev = "705ad1e0dded0e3b7ff5fac78547ab67c9d39bdf";
hash = "sha256-Upx29rIPwW/e7Lkmf0PNOpIACnAXIzlkfa6V1p2nYHM=";
};
})
(pkgs.vimUtils.buildVimPlugin {
name = "vim-sneak";
src = pkgs.fetchFromGitHub {
owner = "justinmk";
repo = "vim-sneak";
rev = "c13d0497139b8796ff9c44ddb9bc0dc9770ad2dd";
hash = "sha256-ndWhnV0fgCcqCGwVyM07GfmUB3CitBZbOWvZtsB1tBk=";
};
})
(pkgs.vimUtils.buildVimPlugin {
name = "vim-slash";
src = pkgs.fetchFromGitHub {
owner = "junegunn";
repo = "vim-slash";
rev = "31aee09b7ea8893a18fa34f65e63e364fc998444";
hash = "sha256-hC590lmKBssLCSKPF9O2cnt6TCJkklzbbhDNhf1ozUU=";
};
})
(pkgs.vimUtils.buildVimPlugin {
name = "automkdir.nvim";
src = pkgs.fetchFromGitHub {
owner = "mateuszwieloch";
repo = "automkdir.nvim";
rev = "beeb2dd76f1c3ac776d901c43217a774f1f045de";
hash = "sha256-lKSCZ80b/+OV56858FDK7x/zhcuU/AWuCDe+8NdhziU=";
};
})
#(pkgs.vimUtils.buildVimPlugin {
#name = "nvim-ghost.nvim";
#src = pkgs.fetchFromGitHub {
#owner = "subnut";
#repo = "nvim-ghost.nvim";
#rev = "67cc8f38c69d271af1c2430ff5099766f3550eb8";
#hash = "sha256-XldDgPqVeIfUjaRLVUMp88eHBHLzoVgOmT3gupPs+ao=";
#};
#})
];
};
}

View File

@@ -1,18 +0,0 @@
{pkgs, ...}: {
programs.nixvim = {
extraPlugins = [
(pkgs.vimUtils.buildVimPlugin {
name = "haskell-tools.nvim";
src = pkgs.fetchFromGitHub {
owner = "mrcjkb";
repo = "haskell-tools.nvim";
rev = "39c4ced6f1bff1abc8d4df5027efd11ac38c6e6c";
hash = "sha256-f+M35EwAlHwjJ2Xs2u9FLnyH0FJT22D0LLShDXCbEEs=";
};
})
];
plugins = {
haskell-scope-highlighting.enable = true;
};
};
}

View File

@@ -1,84 +0,0 @@
{
programs.nixvim = {
plugins = {
cmp-snippy.enable = true;
cmp = {
enable = true;
settings = {
mapping = {
__raw = ''
cmp.mapping.preset.insert({
['<C-o>'] = cmp.mapping.close_docs(),
['<C-i>'] = cmp.mapping.open_docs(),
['<C-j>'] = cmp.mapping.scroll_docs(-4),
['<C-k>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.abort(),
['<CR>'] = function(fallback)
if cmp.visible() then
cmp.confirm()
else
fallback()
end
end, -- Added a comma here
['<Tab>'] = function(fallback)
if cmp.visible() then
cmp.select_next_item()
else
fallback()
end
end, -- Added a comma here
['<S-Tab>'] = function(fallback)
if cmp.visible() then
cmp.select_prev_item()
else
fallback()
end
end -- No comma needed for the last item
})
'';
};
completion = {
keyword_length = 3;
};
window = {
completion.border = "rounded";
};
};
};
lsp = {
enable = true;
servers = {
bashls.enable = true;
ccls.enable = true;
clangd.enable = true;
cmake.enable = true;
html.enable = true;
jsonls.enable = true;
lua_ls.enable = true;
marksman.enable = true;
nixd = {
enable = true;
settings = {
nixd = {
nixpkgs.expr = "import <nixpkgs> { }";
formatting.command = "nixfmt";
};
options = {
# uses Xenon config because it has every option exposed to it
nixos.expr = "(builtins.getFlake \"github:pagedMov/nixos-config\").nixosConfigurations.xenon.options";
home.expr = "(builtins.getFlake \"github:pagedMov/nixos-config\").homeConfigurations.xenonHome.options";
};
};
};
pyright.enable = true;
sqls.enable = true;
hls = {
enable = true;
installGhc = true;
};
};
};
};
};
}

View File

@@ -1,44 +0,0 @@
{
programs.nixvim = {
plugins.lualine = {
enable = true;
settings = {
options = {
icons_enabled = true;
theme = "auto";
component_separators = {
left = "";
right = "";
};
section_separators = {
left = "";
right = "";
};
always_divide_middle = true;
globalstatus = false;
refresh = {
statusline = 1000;
tabline = 1000;
winbar = 1000;
};
};
sections = {
lualine_a = ["mode"];
lualine_b = ["buffers"];
lualine_c = [""];
lualine_x = ["searchcount" "fileformat" "filetype"];
lualine_y = ["branch" "diff" "diagnostics"];
lualine_z = ["location"];
};
inactive_sections = {
lualine_a = [];
lualine_b = [];
lualine_c = ["filename"];
lualine_x = ["location"];
lualine_y = [];
lualine_z = [];
};
};
};
};
}

View File

@@ -1,88 +0,0 @@
{
programs.nixvim = {
plugins.nvim-tree = {
enable = true;
hijackUnnamedBufferWhenOpening = false;
openOnSetup = false;
onAttach = {
__raw = ''
function(bufnr)
local api = require('nvim-tree.api')
local function opts(desc)
return { desc = 'nvim-tree: ' .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true }
end
-- BEGIN_DEFAULT_ON_ATTACH
vim.keymap.set('n', '<C-]>', api.tree.change_root_to_node, opts('CD'))
vim.keymap.set('n', '<C-e>', api.node.open.replace_tree_buffer, opts('Open: In Place'))
vim.keymap.set('n', '<C-k>', api.node.show_info_popup, opts('Info'))
vim.keymap.set('n', '<C-r>', api.fs.rename_sub, opts('Rename: Omit Filename'))
vim.keymap.set('n', '<C-t>', api.node.open.tab, opts('Open: New Tab'))
vim.keymap.set('n', '<C-v>', api.node.open.vertical, opts('Open: Vertical Split'))
vim.keymap.set('n', '<C-x>', api.node.open.horizontal, opts('Open: Horizontal Split'))
vim.keymap.set('n', '<BS>', api.node.navigate.parent_close, opts('Close Directory'))
vim.keymap.set('n', '<CR>', api.node.open.edit, opts('Open'))
vim.keymap.set('n', 'b', api.node.open.preview, opts('Open Preview'))
vim.keymap.set('n', '>', api.node.navigate.sibling.next, opts('Next Sibling'))
vim.keymap.set('n', '<', api.node.navigate.sibling.prev, opts('Previous Sibling'))
vim.keymap.set('n', '.', api.node.run.cmd, opts('Run Command'))
vim.keymap.set('n', '-', api.tree.change_root_to_parent, opts('Up'))
vim.keymap.set('n', 'a', api.fs.create, opts('Create File Or Directory'))
vim.keymap.set('n', 'bd', api.marks.bulk.delete, opts('Delete Bookmarked'))
vim.keymap.set('n', 'bt', api.marks.bulk.trash, opts('Trash Bookmarked'))
vim.keymap.set('n', 'bmv', api.marks.bulk.move, opts('Move Bookmarked'))
vim.keymap.set('n', 'B', api.tree.toggle_no_buffer_filter, opts('Toggle Filter: No Buffer'))
vim.keymap.set('n', 'c', api.fs.copy.node, opts('Copy'))
vim.keymap.set('n', 'C', api.tree.toggle_git_clean_filter, opts('Toggle Filter: Git Clean'))
vim.keymap.set('n', '[c', api.node.navigate.git.prev, opts('Prev Git'))
vim.keymap.set('n', ']c', api.node.navigate.git.next, opts('Next Git'))
vim.keymap.set('n', 'd', api.fs.remove, opts('Delete'))
vim.keymap.set('n', 'D', api.fs.trash, opts('Trash'))
vim.keymap.set('n', 'E', api.tree.expand_all, opts('Expand All'))
vim.keymap.set('n', 'e', api.fs.rename_basename, opts('Rename: Basename'))
vim.keymap.set('n', ']e', api.node.navigate.diagnostics.next, opts('Next Diagnostic'))
vim.keymap.set('n', '[e', api.node.navigate.diagnostics.prev, opts('Prev Diagnostic'))
vim.keymap.set('n', 'F', api.live_filter.clear, opts('Live Filter: Clear'))
vim.keymap.set('n', 'f', api.live_filter.start, opts('Live Filter: Start'))
vim.keymap.set('n', 'g?', api.tree.toggle_help, opts('Help'))
vim.keymap.set('n', 'gy', api.fs.copy.absolute_path, opts('Copy Absolute Path'))
vim.keymap.set('n', 'ge', api.fs.copy.basename, opts('Copy Basename'))
vim.keymap.set('n', 'H', api.tree.toggle_hidden_filter, opts('Toggle Filter: Dotfiles'))
vim.keymap.set('n', 'I', api.tree.toggle_gitignore_filter, opts('Toggle Filter: Git Ignore'))
vim.keymap.set('n', 'J', api.node.navigate.sibling.last, opts('Last Sibling'))
vim.keymap.set('n', 'K', api.node.navigate.sibling.first, opts('First Sibling'))
vim.keymap.set('n', 'L', api.node.open.toggle_group_empty, opts('Toggle Group Empty'))
vim.keymap.set('n', 'M', api.tree.toggle_no_bookmark_filter, opts('Toggle Filter: No Bookmark'))
vim.keymap.set('n', 'm', api.marks.toggle, opts('Toggle Bookmark'))
vim.keymap.set('n', 'o', api.node.open.edit, opts('Open'))
vim.keymap.set('n', 'O', api.node.open.no_window_picker, opts('Open: No Window Picker'))
vim.keymap.set('n', 'p', api.fs.paste, opts('Paste'))
vim.keymap.set('n', 'P', api.node.navigate.parent, opts('Parent Directory'))
vim.keymap.set('n', 'q', api.tree.close, opts('Close'))
vim.keymap.set('n', 'r', api.fs.rename, opts('Rename'))
vim.keymap.set('n', 'R', api.tree.reload, opts('Refresh'))
vim.keymap.set('n', 's', api.node.run.system, opts('Run System'))
vim.keymap.set('n', 'S', api.tree.search_node, opts('Search'))
vim.keymap.set('n', 'u', api.fs.rename_full, opts('Rename: Full Path'))
vim.keymap.set('n', 'U', api.tree.toggle_custom_filter, opts('Toggle Filter: Hidden'))
vim.keymap.set('n', 'W', api.tree.collapse_all, opts('Collapse'))
vim.keymap.set('n', 'x', api.fs.cut, opts('Cut'))
vim.keymap.set('n', 'y', api.fs.copy.filename, opts('Copy Name'))
vim.keymap.set('n', 'Y', api.fs.copy.relative_path, opts('Copy Relative Path'))
vim.keymap.set('n', '<2-LeftMouse>', api.node.open.edit, opts('Open'))
vim.keymap.set('n', '<2-RightMouse>', api.tree.change_root_to_node, opts('CD'))
-- END_DEFAULT_ON_ATTACH
end
'';
};
view = {
side = "right";
centralizeSelection = true;
number = true;
relativenumber = true;
width = 40;
};
};
};
}

View File

@@ -1,29 +0,0 @@
{
programs.nixvim = {
plugins = {
dap = {
enable = true;
extensions.dap-ui.enable = true;
};
nix.enable = true;
neoscroll.enable = true;
endwise.enable = true;
firenvim.enable = true;
floaterm.enable = true;
fugitive.enable = true;
gitsigns.enable = true;
indent-blankline.enable = true;
lastplace.enable = true;
markdown-preview.enable = true;
marks.enable = true;
nvim-surround.enable = true;
rainbow-delimiters.enable = true;
render-markdown.enable = true;
rustaceanvim.enable = true;
treesitter.enable = true;
trim.enable = true;
trouble.enable = true;
web-devicons.enable = true;
};
};
}

View File

@@ -1,14 +0,0 @@
{
programs.nixvim = {
plugins.telescope = {
enable = true;
settings = {
pickers = {
find_files = {
hidden = true;
};
};
};
};
};
}

View File

@@ -1,23 +0,0 @@
{
programs.nixvim = {
plugins.vim-matchup = {
enable = true;
enableSurround = true;
textObj.enable = true;
motion = {
enable = true;
cursorEnd = true;
};
matchParen = {
hiSurroundAlways = true;
offscreen = {
method = "popup";
};
};
treesitterIntegration = {
enable = true;
includeMatchWords = true;
};
};
};
}