feat: Nvf | bring in nvf and begin config

This commit is contained in:
2025-02-11 08:06:28 +05:00
parent 257be3540d
commit adb981a4d0
4 changed files with 3212 additions and 5 deletions

3056
flake.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -38,6 +38,9 @@
url = "git+ssh://git@git.dogar.dev/shahab/nix-secrets?shallow=1&ref=main";
flake = false;
};
# Nvf
nvf.url = "github:notashelf/nvf";
};
outputs = {nixpkgs, ...} @ inputs: let
@@ -67,7 +70,10 @@
homeConfigurations = {
"${user}" = inputs.home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules = [./home-manager/home.nix];
modules = [
inputs.nvf.homeManagerModules.default
./home-manager/home.nix
];
};
};

View File

@@ -0,0 +1,148 @@
{
programs.nvf = {
enable = true;
settings = {
vim = {
viAlias = false;
vimAlias = true;
lsp = {
enable = true;
formatOnSave = true;
lspkind.enable = false;
lightbulb.enable = true;
lspsaga.enable = false;
trouble.enable = true;
lspSignature.enable = true;
lsplines.enable = true;
};
theme = {
name = "tokyonight";
style = "storm";
};
debugger = {
nvim-dap = {
enable = true;
ui.enable = true;
};
};
languages = {
enableLSP = true;
enableFormat = true;
enableTreesitter = true;
enableExtraDiagnostics = true;
nix.enable = true;
markdown.enable = true;
};
visuals = {
nvim-scrollbar.enable = true;
nvim-web-devicons.enable = true;
nvim-cursorline.enable = true;
cinnamon-nvim.enable = true;
fidget-nvim.enable = true;
highlight-undo.enable = true;
indent-blankline.enable = true;
# Fun
cellular-automaton.enable = false;
};
statusline = {
lualine = {
enable = true;
theme = "onedark";
};
};
autopairs.nvim-autopairs.enable = true;
autocomplete.nvim-cmp.enable = true;
snippets.luasnip.enable = true;
filetree = {
nvimTree = {
enable = true;
mappings.toggle = "<leader>e";
};
};
tabline = {
nvimBufferline.enable = true;
};
treesitter.context.enable = true;
binds = {
whichKey.enable = true;
cheatsheet.enable = true;
};
telescope.enable = true;
git = {
enable = true;
gitsigns.enable = true;
gitsigns.codeActions.enable = false;
};
notify = {
nvim-notify.enable = true;
};
terminal = {
toggleterm = {
enable = true;
mappings.open = "<A-v>";
};
};
ui = {
borders.enable = true;
noice.enable = true;
colorizer.enable = true;
modes-nvim.enable = false; # the theme looks terrible with catppuccin
illuminate.enable = true;
smartcolumn = {
enable = true;
setupOpts.custom_colorcolumn = {
# this is a freeform module, it's `buftype = int;` for configuring column position
nix = "110";
ruby = "120";
java = "130";
go = ["90" "130"];
};
};
fastaction.enable = true;
};
assistant = {
copilot = {
enable = true;
cmp.enable = true;
mappings.panel = {
accept = "<C-o>";
jumpNext = "<A-]>";
jumpPrev = "<A-[>";
};
};
};
comments = {
comment-nvim = {
enable = true;
mappings = {
toggleCurrentLine = "<leader>/";
toggleSelectedBlock = "<leader>/";
};
};
};
};
};
};
}

View File

@@ -1,10 +1,7 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{
lib,
...
}: {
{lib, ...}: {
imports = [
./imports/environment.nix
./imports/hardware.nix