treewide: initial commit

This commit is contained in:
Anthony Rodriguez 2024-11-17 19:22:29 +01:00
commit f4c7d1dcd9
Signed by: nezia
GPG key ID: EE3BE97C040A86CE
3 changed files with 2271 additions and 0 deletions

211
configuration/default.nix Normal file
View file

@ -0,0 +1,211 @@
{pkgs, ...}: {
config.vim = {
viAlias = true;
vimAlias = true;
enableLuaLoader = true;
preventJunkFiles = true;
tabWidth = 4;
autoIndent = false;
useSystemClipboard = true;
luaConfigPost = ''
vim.opt.formatoptions:remove('c')
vim.opt.formatoptions:remove('r')
vim.opt.formatoptions:remove('o')
'';
maps = {
normal = {
"<leader>m" = {
silent = true;
action = "<cmd>make<CR>";
}; # Same as nnoremap <leader>m <silent> <cmd>make<CR>
"<leader>t" = {
silent = true;
action = "<cmd>Neotree toggle<CR>";
};
};
};
theme = {
enable = true;
name = "catppuccin";
style = "macchiato";
};
visuals = {
enable = true;
nvimWebDevicons.enable = true;
};
ui = {
noice.enable = true;
};
notify.nvim-notify.enable = true;
statusline = {
lualine = {
enable = true;
theme = "auto";
componentSeparator = {
left = "";
};
sectionSeparator = {
left = "";
right = "";
};
activeSection = {
a = [
''
{
"mode",
separator = { right = "" },
right_padding = 2
}
''
];
b = [
''
{
"branch",
icon = '',
separator = { right = "" }
}
''
];
c = [
''
"filename"
''
];
x = [
''
{
"diagnostics",
sources = {'nvim_lsp', 'nvim_diagnostic', 'nvim_diagnostic', 'vim_lsp', 'coc'},
symbols = {error = '󰅙 ', warn = ' ', info = ' ', hint = '󰌵 '},
colored = true,
update_in_insert = false,
always_visible = false,
diagnostics_color = {
color_error = { fg = 'red' },
color_warn = { fg = 'yellow' },
color_info = { fg = 'cyan' },
},
}
''
''
"filetype"
''
];
y = [
''
{
"progress",
separator = { left = "" },
}
''
''
''
];
z = [
''
{
"location",
separator = { left = "" },
left_padding = 2
}
''
''
{
"fileformat",
color = {fg='black'},
symbols = {
unix = '', -- e712
dos = '', -- e70f
mac = '', -- e711
},
}
''
];
};
inactiveSection = {
a = [
''
"filename"
''
];
z = [
''
"location"
''
];
};
};
};
git.enable = true;
utility = {
vim-wakatime.enable = true;
};
lsp = {
enable = true;
lspSignature.enable = true;
lspconfig.enable = true;
formatOnSave = true;
mappings = {
addWorkspaceFolder = "<leader>wa";
codeAction = "<leader>a";
goToDeclaration = "gD";
goToDefinition = "gd";
hover = "K";
listImplementations = "gi";
listReferences = "gr";
listWorkspaceFolders = "<leader>wl";
nextDiagnostic = "<leader>k";
previousDiagnostic = "<leader>j";
openDiagnosticFloat = "<leader>e";
removeWorkspaceFolder = "<leader>wr";
renameSymbol = "<leader>r";
signatureHelp = "<C-k>";
};
};
autocomplete = {
enable = true;
alwaysComplete = true;
};
autopairs.enable = true;
languages = {
enableExtraDiagnostics = true;
enableFormat = true;
enableLSP = true;
enableTreesitter = true;
nix.enable = true;
clang.enable = true;
python.enable = true;
ts.enable = true;
};
treesitter = {
enable = true;
fold = true;
context.enable = true;
grammars = [
pkgs.vimPlugins.nvim-treesitter.builtGrammars.nix
pkgs.vimPlugins.nvim-treesitter.builtGrammars.c
pkgs.vimPlugins.nvim-treesitter.builtGrammars.python
];
};
binds.whichKey.enable = true;
filetree.neo-tree.enable = true;
telescope.enable = true;
};
}

2039
flake.lock Normal file

File diff suppressed because it is too large Load diff

21
flake.nix Normal file
View file

@ -0,0 +1,21 @@
{
description = "nezia's nixos configuration";
outputs = {nixpkgs, ...} @ inputs: {
packages."x86_64-linux" = let
inherit (nixpkgs.legacyPackages."x86_64-linux") pkgs;
neovimConfigured = inputs.nvf.lib.neovimConfiguration {
inherit pkgs;
modules = [./configuration];
extraSpecialArgs = {inherit pkgs;};
};
in {
default = neovimConfigured.neovim;
};
};
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; # TODO: remove when 24.11 is out
nvf.url = "github:notashelf/nvf";
};
}