Compare commits
5 commits
38b8af19d5
...
a6dc92a129
Author | SHA1 | Date | |
---|---|---|---|
a6dc92a129 | |||
0463cbf885 | |||
d08f7da1ed | |||
5df3a44e45 | |||
7b687ab546 |
4 changed files with 241 additions and 72 deletions
73
flake.lock
73
flake.lock
|
@ -528,7 +528,7 @@
|
|||
},
|
||||
"naersk_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": ["neovim-flake", "nvf", "rnix-lsp", "nixpkgs"]
|
||||
"nixpkgs": ["nvf", "rnix-lsp", "nixpkgs"]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1655042882,
|
||||
|
@ -544,29 +544,10 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"neovim-flake": {
|
||||
"inputs": {
|
||||
"nixpkgs": ["nixpkgs"],
|
||||
"nvf": "nvf"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731867828,
|
||||
"narHash": "sha256-7OSiuI0Jgc5rLXkBuKzj7mNxKkkESqO2rwD+PDQHoqw=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "5bbc441313c556a4dbc9f27a369e1bcfe5ccce65",
|
||||
"revCount": 1,
|
||||
"type": "git",
|
||||
"url": "https://git.nezia.dev/nezia/neovim-flake"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "https://git.nezia.dev/nezia/neovim-flake"
|
||||
}
|
||||
},
|
||||
"nil": {
|
||||
"inputs": {
|
||||
"flake-utils": ["neovim-flake", "nvf", "flake-utils"],
|
||||
"nixpkgs": ["neovim-flake", "nvf", "nixpkgs"],
|
||||
"flake-utils": ["nvf", "flake-utils"],
|
||||
"nixpkgs": ["nvf", "nixpkgs"],
|
||||
"rust-overlay": "rust-overlay_3"
|
||||
},
|
||||
"locked": {
|
||||
|
@ -587,7 +568,7 @@
|
|||
"inputs": {
|
||||
"niri-stable": "niri-stable",
|
||||
"niri-unstable": "niri-unstable",
|
||||
"nixpkgs": "nixpkgs_7",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"nixpkgs-stable": "nixpkgs-stable_2",
|
||||
"xwayland-satellite-stable": "xwayland-satellite-stable",
|
||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||
|
@ -854,7 +835,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"nixpkgs_8": {
|
||||
"locked": {
|
||||
"lastModified": 1656753965,
|
||||
"narHash": "sha256-BCrB3l0qpJokOnIVc3g2lHiGhnjUi0MoXiw6t1o8H1E=",
|
||||
|
@ -870,38 +851,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1731676054,
|
||||
"narHash": "sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5e4fbfb6b3de1aa2872b76d49fafc942626e2add",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_8": {
|
||||
"locked": {
|
||||
"lastModified": 1731319897,
|
||||
"narHash": "sha256-PbABj4tnbWFMfBp6OcUK5iGy1QY+/Z96ZcLpooIbuEI=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "dc460ec76cbff0e66e269457d7b728432263166c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "dc460ec76cbff0e66e269457d7b728432263166c",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_9": {
|
||||
"locked": {
|
||||
"lastModified": 1731531548,
|
||||
|
@ -940,7 +889,7 @@
|
|||
"flake-utils": "flake-utils_3",
|
||||
"mnw": "mnw",
|
||||
"nil": "nil",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"nixpkgs": "nixpkgs_7",
|
||||
"nmd": "nmd",
|
||||
"plugin-alpha-nvim": "plugin-alpha-nvim",
|
||||
"plugin-bufdelete-nvim": "plugin-bufdelete-nvim",
|
||||
|
@ -2756,7 +2705,7 @@
|
|||
"rnix-lsp": {
|
||||
"inputs": {
|
||||
"naersk": "naersk_2",
|
||||
"nixpkgs": "nixpkgs_6",
|
||||
"nixpkgs": "nixpkgs_8",
|
||||
"utils": "utils_2"
|
||||
},
|
||||
"locked": {
|
||||
|
@ -2783,11 +2732,11 @@
|
|||
"home-manager": "home-manager_2",
|
||||
"ironbar": "ironbar",
|
||||
"lanzaboote": "lanzaboote",
|
||||
"neovim-flake": "neovim-flake",
|
||||
"niri": "niri",
|
||||
"nix-index-db": "nix-index-db",
|
||||
"nixos-hardware": "nixos-hardware",
|
||||
"nixpkgs": "nixpkgs_8",
|
||||
"nixpkgs": "nixpkgs_6",
|
||||
"nvf": "nvf",
|
||||
"plasma-manager": "plasma-manager",
|
||||
"portfolio": "portfolio",
|
||||
"systems": "systems_6",
|
||||
|
@ -2834,8 +2783,8 @@
|
|||
},
|
||||
"rust-overlay_3": {
|
||||
"inputs": {
|
||||
"flake-utils": ["neovim-flake", "nvf", "nil", "flake-utils"],
|
||||
"nixpkgs": ["neovim-flake", "nvf", "nil", "nixpkgs"]
|
||||
"flake-utils": ["nvf", "nil", "flake-utils"],
|
||||
"nixpkgs": ["nvf", "nil", "nixpkgs"]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1714529851,
|
||||
|
|
|
@ -68,10 +68,7 @@
|
|||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
niri.url = "github:sodiboo/niri-flake";
|
||||
neovim-flake = {
|
||||
url = "git+https://git.nezia.dev/nezia/neovim-flake";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nvf.url = "github:notashelf/nvf";
|
||||
portfolio.url = "github:nezia1/portfolio";
|
||||
plasma-manager = {
|
||||
url = "github:nix-community/plasma-manager";
|
||||
|
|
|
@ -1,13 +1,10 @@
|
|||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
{pkgs, ...}: {
|
||||
imports = [
|
||||
./browsers
|
||||
./media
|
||||
./xdg.nix
|
||||
./gtk.nix
|
||||
./editors/neovim.nix
|
||||
./editors/helix.nix
|
||||
];
|
||||
|
||||
|
@ -38,6 +35,9 @@
|
|||
nautilus
|
||||
simple-scan
|
||||
entr
|
||||
inputs.neovim-flake.packages.${pkgs.system}.default
|
||||
# inputs.self.packages.${pkgs.system}.mcuxpresso.ide
|
||||
# dfu-util
|
||||
# segger-jlink
|
||||
# inputs.self.packages.${pkgs.system}.mcuxpresso.config-tools
|
||||
];
|
||||
}
|
||||
|
|
223
home/programs/editors/neovim.nix
Normal file
223
home/programs/editors/neovim.nix
Normal file
|
@ -0,0 +1,223 @@
|
|||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports = [inputs.nvf.homeManagerModules.default];
|
||||
|
||||
programs.nvf = {
|
||||
enable = true;
|
||||
settings.vim = {
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
enableLuaLoader = true;
|
||||
preventJunkFiles = true;
|
||||
tabWidth = 4;
|
||||
autoIndent = false;
|
||||
useSystemClipboard = true;
|
||||
|
||||
luaConfigPost = lib.concatStrings [
|
||||
''
|
||||
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;
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue