init
This commit is contained in:
commit
f22207f3e2
16 changed files with 988 additions and 0 deletions
5
config/colorscheme/gruvbox.nix
Normal file
5
config/colorscheme/gruvbox.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
colorschemes.gruvbox ={
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
59
config/colorscheme/onedark.nix
Normal file
59
config/colorscheme/onedark.nix
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
{
|
||||
colorschemes.onedark = {
|
||||
enable = true;
|
||||
};
|
||||
extraConfigLua = ''
|
||||
----------------------------------
|
||||
-- START custom setup for onedark
|
||||
----------------------------------
|
||||
-- https://github.com/navarasu/onedark.nvim
|
||||
require('onedark').setup {
|
||||
-- Main options --
|
||||
style = 'darker', -- Default theme style. Choose between 'dark', 'darker', 'cool', 'deep', 'warm', 'warmer' and 'light'
|
||||
transparent = true, -- Show/hide background
|
||||
term_colors = true, -- Change terminal color as per the selected theme style
|
||||
ending_tildes = false, -- Show the end-of-buffer tildes. By default they are hidden
|
||||
cmp_itemkind_reverse = false, -- reverse item kind highlights in cmp menu
|
||||
|
||||
-- toggle theme style ---
|
||||
-- toggle_style_key = nil, -- keybind to toggle theme style. Leave it nil to disable it, or set it to a string, for example "<leader>ts"
|
||||
toggle_style_key = "<leader>ts", -- keybind to toggle theme style. Leave it nil to disable it, or set it to a string, for example "<leader>ts"
|
||||
-- toggle_style_list = {'dark', 'darker', 'cool', 'deep', 'warm', 'warmer', 'light'}, -- List of styles to toggle between
|
||||
toggle_style_list = {'dark', 'darker', 'cool', 'deep', 'warm', 'warmer'}, -- List of styles to toggle between
|
||||
|
||||
-- Change code style ---
|
||||
-- Options are italic, bold, underline, none
|
||||
-- You can configure multiple style with comma seperated, For e.g., keywords = 'italic,bold'
|
||||
code_style = {
|
||||
comments = 'italic',
|
||||
keywords = 'none',
|
||||
functions = 'none',
|
||||
strings = 'none',
|
||||
variables = 'none'
|
||||
},
|
||||
|
||||
-- Lualine options --
|
||||
-- lualine = {
|
||||
-- transparent = true, -- lualine center bar transparency
|
||||
-- },
|
||||
|
||||
-- Custom Highlights --
|
||||
colors = {}, -- Override default colors
|
||||
highlights = {}, -- Override highlight groups
|
||||
|
||||
-- Plugins Config --
|
||||
diagnostics = {
|
||||
darker = true, -- darker colors for diagnostic
|
||||
undercurl = true, -- use undercurl instead of underline for diagnostics
|
||||
background = true, -- use background color for virtual text
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
require('onedark').load()
|
||||
----------------------------------
|
||||
-- END custom setup for onedark
|
||||
----------------------------------
|
||||
'';
|
||||
|
||||
}
|
||||
24
config/default.nix
Normal file
24
config/default.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
# The line beneath this is called `modeline`. See `:help modeline`
|
||||
# vim: ts=4:sts=0:sw=0:tw=78:noet
|
||||
{pkgs
|
||||
, ...}:{
|
||||
# Import all your configuration modules here
|
||||
imports = [
|
||||
./colorscheme/onedark.nix
|
||||
# ./colorscheme/gruvbox.nix
|
||||
|
||||
./sets.nix
|
||||
./keymaps.nix
|
||||
|
||||
./plugins/bufferline.nix
|
||||
./plugins/comment.nix
|
||||
./plugins/indent-blankline.nix
|
||||
./plugins/leap.nix
|
||||
./plugins/lsp/lsp.nix
|
||||
# ./plugins/lsp/conform.nix
|
||||
./plugins/lualine.nix
|
||||
./plugins/nvim-tree.nix
|
||||
./plugins/telescope.nix
|
||||
# ./plugins/none-ls/none-ls.nix
|
||||
];
|
||||
}
|
||||
21
config/keymaps.nix
Normal file
21
config/keymaps.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# The line beneath this is called `modeline`. See `:help modeline`
|
||||
# vim: ts=4:sts=0:sw=0:tw=78:noet
|
||||
{
|
||||
keymaps = [
|
||||
{
|
||||
# vim.keymap.set({ "n", "v" }, "\\y", '"+y', {noremap=true, silent=true})
|
||||
mode = [ "n" "v" ];
|
||||
key = "\\y";
|
||||
action = "\"+y";
|
||||
options = {
|
||||
silent = true;
|
||||
remap = false;
|
||||
};
|
||||
}
|
||||
];
|
||||
extraConfigLua = ''
|
||||
-- see ":help default-mapping"
|
||||
-- vim.cmd[[unmap Y]]
|
||||
vim.keymap.del( "n", "Y" )
|
||||
'';
|
||||
}
|
||||
7
config/plugins/bufferline.nix
Normal file
7
config/plugins/bufferline.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
plugins = {
|
||||
bufferline = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
7
config/plugins/comment.nix
Normal file
7
config/plugins/comment.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
plugins = {
|
||||
comment = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
7
config/plugins/indent-blankline.nix
Normal file
7
config/plugins/indent-blankline.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
plugins = {
|
||||
indent-blankline = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
27
config/plugins/leap.nix
Normal file
27
config/plugins/leap.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
plugins.leap = {
|
||||
enable = true;
|
||||
};
|
||||
keymaps = [
|
||||
{
|
||||
mode = [ "n" "x" "o" ];
|
||||
key = "<leader>ss";
|
||||
action = "function() require('leap').leap { } end";
|
||||
}
|
||||
{
|
||||
mode = [ "n" "x" "o" ];
|
||||
key = "<leader>sS";
|
||||
action = "<Plug>(leap-backward-to)";
|
||||
}
|
||||
{
|
||||
mode = [ "n" "x" "o" ];
|
||||
key = "<leader>sx";
|
||||
action = "<Plug>(leap-forward-till)";
|
||||
}
|
||||
{
|
||||
mode = [ "n" "x" "o" ];
|
||||
key = "<leader>sX";
|
||||
action = "<Plug>(leap-backward-till)";
|
||||
}
|
||||
];
|
||||
}
|
||||
16
config/plugins/lsp.nix.bak
Normal file
16
config/plugins/lsp.nix.bak
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
lsp = {
|
||||
enable = true;
|
||||
servers = {
|
||||
tsserver.enable = true;
|
||||
|
||||
lua-ls.enable = true;
|
||||
|
||||
rust-analyzer = {
|
||||
enable = true;
|
||||
installCargo = true;
|
||||
installRustc = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
168
config/plugins/lsp/lsp.nix
Normal file
168
config/plugins/lsp/lsp.nix
Normal file
|
|
@ -0,0 +1,168 @@
|
|||
{
|
||||
plugins = {
|
||||
lsp-format = {
|
||||
enable = false; # Enable it if you want lsp-format integration for none-ls
|
||||
};
|
||||
lsp = {
|
||||
enable = true;
|
||||
capabilities = "offsetEncoding = 'utf-16'";
|
||||
servers = {
|
||||
clangd = {enable = true;};
|
||||
lua-ls = {
|
||||
enable = true;
|
||||
extraOptions = {
|
||||
settings = {
|
||||
Lua = {
|
||||
completion = {
|
||||
callSnippet = "Replace";
|
||||
};
|
||||
telemetry = {
|
||||
enabled = false;
|
||||
};
|
||||
hint = {enable = true;};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
nil_ls = {enable = true;};
|
||||
tsserver = {
|
||||
enable = false;
|
||||
filetypes = ["javascript" "javascriptreact" "typescript" "typescriptreact"];
|
||||
extraOptions = {
|
||||
settings = {
|
||||
javascript = {
|
||||
inlayHints = {
|
||||
includeInlayEnumMemberValueHints = true;
|
||||
includeInlayFunctionLikeReturnTypeHints = true;
|
||||
includeInlayFunctionParameterTypeHints = true;
|
||||
includeInlayParameterNameHints = "all";
|
||||
includeInlayParameterNameHintsWhenArgumentMatchesName = true;
|
||||
includeInlayPropertyDeclarationTypeHints = true;
|
||||
includeInlayVariableTypeHints = true;
|
||||
};
|
||||
};
|
||||
typescript = {
|
||||
inlayHints = {
|
||||
includeInlayEnumMemberValueHints = true;
|
||||
includeInlayFunctionLikeReturnTypeHints = true;
|
||||
includeInlayFunctionParameterTypeHints = true;
|
||||
includeInlayParameterNameHints = "all";
|
||||
includeInlayParameterNameHintsWhenArgumentMatchesName = true;
|
||||
includeInlayPropertyDeclarationTypeHints = true;
|
||||
includeInlayVariableTypeHints = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
eslint = {enable = true;};
|
||||
pyright = {enable = true;};
|
||||
ruff-lsp = {enable = true;};
|
||||
texlab = {enable = true;};
|
||||
|
||||
rust-analyzer = {
|
||||
enable = true;
|
||||
installCargo = true;
|
||||
installRustc = true;
|
||||
settings = {
|
||||
checkOnSave = true;
|
||||
check = {
|
||||
command = "clippy";
|
||||
};
|
||||
# inlayHints = {
|
||||
# enable = true;
|
||||
# showParameterNames = true;
|
||||
# parameterHintsPrefix = "<- ";
|
||||
# otherHintsPrefix = "=> ";
|
||||
# };
|
||||
procMacro = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
# keymaps = {
|
||||
# silent = true;
|
||||
# lspBuf = {
|
||||
# gd = {
|
||||
# action = "definition";
|
||||
# desc = "Goto Definition";
|
||||
# };
|
||||
# gr = {
|
||||
# action = "references";
|
||||
# desc = "Goto References";
|
||||
# };
|
||||
# gD = {
|
||||
# action = "declaration";
|
||||
# desc = "Goto Declaration";
|
||||
# };
|
||||
# gI = {
|
||||
# action = "implementation";
|
||||
# desc = "Goto Implementation";
|
||||
# };
|
||||
# gT = {
|
||||
# action = "type_definition";
|
||||
# desc = "Type Definition";
|
||||
# };
|
||||
# K = {
|
||||
# action = "hover";
|
||||
# desc = "Hover";
|
||||
# };
|
||||
# "<leader>cw" = {
|
||||
# action = "workspace_symbol";
|
||||
# desc = "Workspace Symbol";
|
||||
# };
|
||||
# "<leader>cr" = {
|
||||
# action = "rename";
|
||||
# desc = "Rename";
|
||||
# };
|
||||
# "<leader>ca" = {
|
||||
# action = "code_action";
|
||||
# desc = "Code Action";
|
||||
# };
|
||||
# "<C-k>" = {
|
||||
# action = "signature_help";
|
||||
# desc = "Signature Help";
|
||||
# };
|
||||
# };
|
||||
# diagnostic = {
|
||||
# "<leader>cd" = {
|
||||
# action = "open_float";
|
||||
# desc = "Line Diagnostics";
|
||||
# };
|
||||
# "[d" = {
|
||||
# action = "goto_next";
|
||||
# desc = "Next Diagnostic";
|
||||
# };
|
||||
# "]d" = {
|
||||
# action = "goto_prev";
|
||||
# desc = "Previous Diagnostic";
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
};
|
||||
};
|
||||
extraConfigLua = ''
|
||||
local _border = "rounded"
|
||||
|
||||
vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(
|
||||
vim.lsp.handlers.hover, {
|
||||
border = _border
|
||||
}
|
||||
)
|
||||
|
||||
vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(
|
||||
vim.lsp.handlers.signature_help, {
|
||||
border = _border
|
||||
}
|
||||
)
|
||||
|
||||
vim.diagnostic.config{
|
||||
float={border=_border}
|
||||
};
|
||||
|
||||
require('lspconfig.ui.windows').default_options = {
|
||||
border = _border
|
||||
}
|
||||
'';
|
||||
}
|
||||
7
config/plugins/lualine.nix
Normal file
7
config/plugins/lualine.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
plugins = {
|
||||
lualine = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
7
config/plugins/nvim-tree.nix
Normal file
7
config/plugins/nvim-tree.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
plugins = {
|
||||
nvim-tree = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
190
config/plugins/telescope.nix
Normal file
190
config/plugins/telescope.nix
Normal file
|
|
@ -0,0 +1,190 @@
|
|||
{
|
||||
plugins.telescope = {
|
||||
enable = true;
|
||||
extensions = {
|
||||
fzf-native = {
|
||||
enable = true;
|
||||
};
|
||||
# project-nvim = {
|
||||
# enable = true;
|
||||
# };
|
||||
# ui-select = {
|
||||
# settings = {
|
||||
# specific_opts = {
|
||||
# codeactions = true;
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
undo = {
|
||||
enable = true;
|
||||
mappings = {
|
||||
i = {
|
||||
"<cr>" = "yank_additions";
|
||||
"<s-cr>" = "yank_deletions";
|
||||
"<c-cr>" = "restore";
|
||||
};
|
||||
n = {
|
||||
"y" = "yank_additions";
|
||||
"Y" = "yank_deletions";
|
||||
"u" = "restore";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
# If you'd prefer Telescope not to enter a normal-like mode when hitting escape (and instead exiting), you can map <Esc> to do so via:
|
||||
defaults = {
|
||||
mappings = {
|
||||
i = {
|
||||
"<esc>" = {
|
||||
__raw = ''
|
||||
function(...)
|
||||
return require("telescope.actions").close(...)
|
||||
end'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
keymaps = {
|
||||
"<leader><space>" = {
|
||||
action = "find_files, {}";
|
||||
desc = "Find project files";
|
||||
};
|
||||
"<leader>/" = {
|
||||
action = "live_grep";
|
||||
desc = "Grep (root dir)";
|
||||
};
|
||||
"<leader>:" = {
|
||||
action = "command_history, {}";
|
||||
desc = "Command History";
|
||||
};
|
||||
"<leader>b" = {
|
||||
action = "buffers, {}";
|
||||
desc = "+buffer";
|
||||
};
|
||||
"<leader>ff" = {
|
||||
action = "find_files, {}";
|
||||
desc = "Find project files";
|
||||
};
|
||||
"<leader>fr" = {
|
||||
action = "oldfiles, {}";
|
||||
desc = "Recent";
|
||||
};
|
||||
"<leader>fb" = {
|
||||
action = "buffers, {}";
|
||||
desc = "Buffers";
|
||||
};
|
||||
"<C-p>" = {
|
||||
action = "git_files, {}";
|
||||
desc = "Search git files";
|
||||
};
|
||||
"<leader>gc" = {
|
||||
action = "git_commits, {}";
|
||||
desc = "Commits";
|
||||
};
|
||||
"<leader>gs" = {
|
||||
action = "git_status, {}";
|
||||
desc = "Status";
|
||||
};
|
||||
"<leader>sa" = {
|
||||
action = "autocommands, {}";
|
||||
desc = "Auto Commands";
|
||||
};
|
||||
"<leader>sb" = {
|
||||
action = "current_buffer_fuzzy_find, {}";
|
||||
desc = "Buffer";
|
||||
};
|
||||
"<leader>sc" = {
|
||||
action = "command_history, {}";
|
||||
desc = "Command History";
|
||||
};
|
||||
"<leader>sC" = {
|
||||
action = "commands, {}";
|
||||
desc = "Commands";
|
||||
};
|
||||
"<leader>sD" = {
|
||||
action = "diagnostics, {}";
|
||||
desc = "Workspace diagnostics";
|
||||
};
|
||||
"<leader>sh" = {
|
||||
action = "help_tags, {}";
|
||||
desc = "Help pages";
|
||||
};
|
||||
"<leader>sH" = {
|
||||
action = "highlights, {}";
|
||||
desc = "Search Highlight Groups";
|
||||
};
|
||||
"<leader>sk" = {
|
||||
action = "keymaps, {}";
|
||||
desc = "Keymaps";
|
||||
};
|
||||
"<leader>sM" = {
|
||||
action = "man_pages, {}";
|
||||
desc = "Man pages";
|
||||
};
|
||||
"<leader>sm" = {
|
||||
action = "marks, {}";
|
||||
desc = "Jump to Mark";
|
||||
};
|
||||
"<leader>so" = {
|
||||
action = "vim_options, {}";
|
||||
desc = "Options";
|
||||
};
|
||||
"<leader>sR" = {
|
||||
action = "resume, {}";
|
||||
desc = "Resume";
|
||||
};
|
||||
"<leader>uC" = {
|
||||
action = "colorscheme, {}";
|
||||
desc = "Colorscheme preview";
|
||||
};
|
||||
};
|
||||
};
|
||||
keymaps = [
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>fp";
|
||||
action = "<cmd>Telescope projects<CR>";
|
||||
options = {
|
||||
desc = "Projects";
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>sd";
|
||||
action = "<cmd>Telescope diagnostics bufnr=0<cr>";
|
||||
options = {
|
||||
desc = "Document diagnostics";
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>st";
|
||||
action = "<cmd>TodoTelescope<cr>";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "Todo (Telescope)";
|
||||
};
|
||||
}
|
||||
|
||||
# {
|
||||
# mode = "n";
|
||||
# key = "<leader>,";
|
||||
# action = "<cmd>Telescope buffers sort_mru=true sort_lastused=true<cr>";
|
||||
# options = {
|
||||
# desc = "Switch Buffer";
|
||||
# };
|
||||
# }
|
||||
];
|
||||
extraConfigLua = ''
|
||||
local telescope = require('telescope')
|
||||
telescope.setup{
|
||||
pickers = {
|
||||
colorscheme = {
|
||||
enable_preview = true
|
||||
}
|
||||
}
|
||||
}
|
||||
'';
|
||||
}
|
||||
66
config/sets.nix
Normal file
66
config/sets.nix
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
# The line beneath this is called `modeline`. See `:help modeline`
|
||||
# vim: ts=4:sts=0:sw=0:tw=78:noet
|
||||
{
|
||||
options = {
|
||||
relativenumber = true;
|
||||
splitbelow = true;
|
||||
redrawtime = 5000;
|
||||
|
||||
# new split to the right
|
||||
splitright = true;
|
||||
|
||||
# show hidden characters
|
||||
list = true;
|
||||
|
||||
# don't break words on the edge
|
||||
linebreak = true;
|
||||
wrap = true;
|
||||
# length of an actual \t character:
|
||||
# https://stackoverflow.com/questions/191201/indenting-comments-to-match-code-in-vim
|
||||
smartindent = false;
|
||||
# length to use when shifting text (eg. <<, >> and == commands)
|
||||
|
||||
tabstop=4;
|
||||
shiftwidth = 0;
|
||||
|
||||
expandtab = false;
|
||||
autoindent = true;
|
||||
# Set highlight on search
|
||||
hlsearch = false;
|
||||
|
||||
# Make line numbers default
|
||||
number = true;
|
||||
|
||||
# Enable mouse mode
|
||||
mouse = "a";
|
||||
|
||||
# Sync clipboard between OS and Neovim.
|
||||
# Remove this option if you want your OS clipboard to remain independent.
|
||||
# See `:help 'clipboard'`
|
||||
# vim.o.clipboard = 'unnamedplus' -- REMOVED BY ME
|
||||
|
||||
# Enable break indent
|
||||
breakindent = true;
|
||||
|
||||
# Save undo history
|
||||
# vim.o.undofile = true -- REMOVED BY ME
|
||||
|
||||
# Case insensitive searching UNLESS /C or capital in search
|
||||
ignorecase = true;
|
||||
smartcase = true;
|
||||
|
||||
# Keep signcolumn on by default
|
||||
signcolumn = "yes";
|
||||
|
||||
# Decrease update time
|
||||
updatetime = 250;
|
||||
timeout = true;
|
||||
timeoutlen = 300;
|
||||
|
||||
# Set completeopt to have a better completion experience
|
||||
completeopt = "menuone,noselect";
|
||||
|
||||
# NOTE: You should make sure your terminal supports this
|
||||
termguicolors = true;
|
||||
};
|
||||
}
|
||||
331
flake.lock
generated
Normal file
331
flake.lock
generated
Normal file
|
|
@ -0,0 +1,331 @@
|
|||
{
|
||||
"nodes": {
|
||||
"devshell": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2",
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1711099426,
|
||||
"narHash": "sha256-HzpgM/wc3aqpnHJJ2oDqPBkNsqWbW0WfWUO8lKu8nGk=",
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"rev": "2d45b54ca4a183f2fdcf4b19c895b64fbf620ee8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"revCount": 57,
|
||||
"type": "tarball",
|
||||
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
|
||||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709336216,
|
||||
"narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1701680307,
|
||||
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_3": {
|
||||
"inputs": {
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"pre-commit-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709087332,
|
||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1711133180,
|
||||
"narHash": "sha256-WJOahf+6115+GMl3wUfURu8fszuNeJLv9qAWFQl3Vmo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "1c2c5e4cabba4c43504ef0f8cc3f3dfa284e2dbb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710717205,
|
||||
"narHash": "sha256-Wf3gHh5uV6W1TV/A8X8QJf99a5ypDSugY4sNtdJDe0A=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "bcc8afd06e237df060c85bad6af7128e05fd61a3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1711401922,
|
||||
"narHash": "sha256-QoQqXoj8ClGo0sqD/qWKFWezgEwUL0SUh37/vY2jNhc=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "07262b18b97000d16a4bdb003418bd2fb067a932",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1711333969,
|
||||
"narHash": "sha256-5PiWGn10DQjMZee5NXzeA6ccsv60iLu+Xtw+mfvkUAs=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "57e6b3a9e4ebec5aa121188301f04a6b8c354c9b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixvim": {
|
||||
"inputs": {
|
||||
"devshell": "devshell",
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-parts": "flake-parts",
|
||||
"home-manager": "home-manager",
|
||||
"nix-darwin": "nix-darwin",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"pre-commit-hooks": "pre-commit-hooks"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1711545203,
|
||||
"narHash": "sha256-PPXcH/pIbxr8awgC+q+rrIgRRH8uYeWoK5Af3kFhjEc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "d248bf587cdb86b661ca54f16fe2f3263018b985",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-utils": "flake-utils_3",
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1711409088,
|
||||
"narHash": "sha256-+rTCra8TY4vuSNTtQ0tcex1syCRPoKyb8vyHmoxkga4=",
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"rev": "db656fc3e34907000df26e8bc5cc3c94fb27f353",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixvim": "nixvim"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
46
flake.nix
Normal file
46
flake.nix
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
{
|
||||
description = "Menixvim flake";
|
||||
|
||||
inputs = {
|
||||
nixvim.url = "github:nix-community/nixvim";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
};
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
nixvim,
|
||||
flake-utils,
|
||||
...
|
||||
} @ inputs: let
|
||||
config = import ./config; # import the module directly
|
||||
in
|
||||
flake-utils.lib.eachDefaultSystem (system: let
|
||||
nixvimLib = nixvim.lib.${system};
|
||||
pkgs = import nixpkgs {inherit system;};
|
||||
nixvim' = nixvim.legacyPackages.${system};
|
||||
nvim = nixvim'.makeNixvimWithModule {
|
||||
inherit pkgs;
|
||||
module = config;
|
||||
# You can use `extraSpecialArgs` to pass additional arguments to your module files
|
||||
extraSpecialArgs = {
|
||||
inherit self;
|
||||
};
|
||||
};
|
||||
in {
|
||||
checks = {
|
||||
# Run `nix flake check .` to verify that your config is not broken
|
||||
default = nixvimLib.check.mkTestDerivationFromNvim {
|
||||
inherit nvim;
|
||||
name = "Menixvim";
|
||||
};
|
||||
};
|
||||
|
||||
packages = {
|
||||
# Lets you run `nix run .` to start nixvim
|
||||
default = nvim;
|
||||
};
|
||||
|
||||
# formatter = pkgs.alejandra;
|
||||
});
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue