initial commit
This commit is contained in:
commit
ca65b22049
12
README.md
Normal file
12
README.md
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
# 4o1x5's neovim configuration
|
||||||
|
|
||||||
|
## Run with nix
|
||||||
|
|
||||||
|
```bash
|
||||||
|
nix run git+https://git.4o1x5.dev/4o1x5/neo2005
|
||||||
|
```
|
||||||
|
|
||||||
|
## Credits
|
||||||
|
|
||||||
|
- [Awgxorg's structure](https://github.com/Ahwxorg/nixvim-config)
|
||||||
|
- [Nixvim, making this project possible](https://github.com/nix-community/nixvim)
|
9
config/default.nix
Normal file
9
config/default.nix
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
# Import all your configuration modules here
|
||||||
|
imports = [
|
||||||
|
./plugins.nix
|
||||||
|
./options.nix
|
||||||
|
./keymaps.nix
|
||||||
|
];
|
||||||
|
# TODO shades-of-purple-superdark as a color schema
|
||||||
|
}
|
15
config/keymaps.nix
Normal file
15
config/keymaps.nix
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{ ... }: {
|
||||||
|
keymaps = [
|
||||||
|
{
|
||||||
|
# Focus file tree
|
||||||
|
key = "<leader>v";
|
||||||
|
action = "<cmd>CHADopen --always-focus<cr>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
# Toggle file tree
|
||||||
|
key = "<leader>e";
|
||||||
|
action = "<cmd>CHADopen<cr>";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
14
config/options.nix
Normal file
14
config/options.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{ pkgs, ... }: {
|
||||||
|
|
||||||
|
colorschemes.cyberdream.enable = true;
|
||||||
|
colorscheme = "cyberdream";
|
||||||
|
|
||||||
|
opts = {
|
||||||
|
number = true;
|
||||||
|
relativenumber = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Set <Space> as leader
|
||||||
|
globals.mapleader = " ";
|
||||||
|
|
||||||
|
}
|
320
config/plugins.nix
Normal file
320
config/plugins.nix
Normal file
|
@ -0,0 +1,320 @@
|
||||||
|
{ pkgs, ... }: {
|
||||||
|
|
||||||
|
|
||||||
|
plugins.none-ls = {
|
||||||
|
enable = true;
|
||||||
|
sources = {
|
||||||
|
code_actions = {
|
||||||
|
statix.enable = true;
|
||||||
|
gitsigns.enable = true;
|
||||||
|
};
|
||||||
|
diagnostics = {
|
||||||
|
statix.enable = true;
|
||||||
|
deadnix.enable = true;
|
||||||
|
pylint.enable = true;
|
||||||
|
checkstyle.enable = true;
|
||||||
|
};
|
||||||
|
formatting = {
|
||||||
|
alejandra.enable = true;
|
||||||
|
stylua.enable = true;
|
||||||
|
shfmt.enable = true;
|
||||||
|
nixpkgs_fmt.enable = true;
|
||||||
|
google_java_format.enable = false;
|
||||||
|
prettier = {
|
||||||
|
enable = true;
|
||||||
|
disableTsServerFormatter = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
completion = {
|
||||||
|
luasnip.enable = true;
|
||||||
|
spell.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# Persistence
|
||||||
|
plugins.persistence.enable = true;
|
||||||
|
|
||||||
|
|
||||||
|
# Language server
|
||||||
|
plugins.lsp =
|
||||||
|
{
|
||||||
|
enable = true;
|
||||||
|
servers = {
|
||||||
|
ts-ls.enable = true; # TS/JS
|
||||||
|
cssls.enable = true; # CSS
|
||||||
|
tailwindcss.enable = true; # TailwindCSS
|
||||||
|
html.enable = true; # HTML
|
||||||
|
astro.enable = true; # AstroJS
|
||||||
|
phpactor.enable = true; # PHP
|
||||||
|
svelte.enable = false; # Svelte
|
||||||
|
vuels.enable = false; # Vue
|
||||||
|
pyright.enable = true; # Python
|
||||||
|
marksman.enable = true; # Markdown
|
||||||
|
nil_ls.enable = true; # Nix
|
||||||
|
dockerls.enable = true; # Docker
|
||||||
|
bashls.enable = true; # Bash
|
||||||
|
clangd.enable = true; # C/C++
|
||||||
|
csharp_ls.enable = true; # C#
|
||||||
|
yamlls.enable = true; # YAML
|
||||||
|
lua-ls = {
|
||||||
|
# Lua
|
||||||
|
enable = true;
|
||||||
|
settings.telemetry.enable = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
#Rust
|
||||||
|
rust-analyzer = {
|
||||||
|
enable = true;
|
||||||
|
# Flip these in case rust is installed systemvise
|
||||||
|
installRustc = false;
|
||||||
|
installCargo = false;
|
||||||
|
settings.completion.callable.snippets = "add_parentheses";
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
# Highlight word under cursor
|
||||||
|
plugins.illuminate = {
|
||||||
|
enable = true;
|
||||||
|
underCursor = false;
|
||||||
|
filetypesDenylist = [
|
||||||
|
"Outline"
|
||||||
|
"TelescopePrompt"
|
||||||
|
"alpha"
|
||||||
|
"harpoon"
|
||||||
|
"reason"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Startup dashboard
|
||||||
|
plugins.alpha = {
|
||||||
|
enable = true;
|
||||||
|
theme = "dashboard";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Auto-tagging
|
||||||
|
plugins.ts-autotag = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
# Needed for autotagging
|
||||||
|
plugins.treesitter = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# "Smooth" scrolling
|
||||||
|
plugins.neoscroll = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
# A better command window
|
||||||
|
plugins.noice.enable = true;
|
||||||
|
|
||||||
|
|
||||||
|
# Autocomplete
|
||||||
|
plugins.cmp = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
autoEnableSources = true;
|
||||||
|
experimental = { ghost_text = true; };
|
||||||
|
performance = {
|
||||||
|
debounce = 60;
|
||||||
|
fetchingTimeout = 200;
|
||||||
|
maxViewEntries = 30;
|
||||||
|
};
|
||||||
|
|
||||||
|
formatting = { fields = [ "kind" "abbr" "menu" ]; };
|
||||||
|
sources = [
|
||||||
|
{ name = "nvim_lsp"; }
|
||||||
|
{
|
||||||
|
name = "buffer"; # text within current buffer
|
||||||
|
option.get_bufnrs.__raw = "vim.api.nvim_list_bufs";
|
||||||
|
keywordLength = 3;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "path"; # file system paths
|
||||||
|
keywordLength = 3;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
window = {
|
||||||
|
completion = { border = "solid"; };
|
||||||
|
documentation = { border = "solid"; };
|
||||||
|
};
|
||||||
|
|
||||||
|
mapping = {
|
||||||
|
"<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
|
||||||
|
"<C-j>" = "cmp.mapping.select_next_item()";
|
||||||
|
"<C-k>" = "cmp.mapping.select_prev_item()";
|
||||||
|
"<C-e>" = "cmp.mapping.abort()";
|
||||||
|
"<C-b>" = "cmp.mapping.scroll_docs(-4)";
|
||||||
|
"<C-f>" = "cmp.mapping.scroll_docs(4)";
|
||||||
|
"<C-Space>" = "cmp.mapping.complete()";
|
||||||
|
"<CR>" = "cmp.mapping.confirm({ select = true })";
|
||||||
|
"<S-CR>" = "cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = true })";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
plugins.cmp-nvim-lsp = {
|
||||||
|
enable = true; # LSP
|
||||||
|
};
|
||||||
|
plugins.cmp-buffer = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
plugins.cmp-path = {
|
||||||
|
enable = true; # file system paths
|
||||||
|
};
|
||||||
|
plugins.cmp_luasnip = {
|
||||||
|
enable = true; # snippets
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# TODO gen.nvim not in nixvim
|
||||||
|
|
||||||
|
# highlites colors (like #FFF)
|
||||||
|
plugins.colorizer = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Highlight TODO FIXME comments
|
||||||
|
plugins.todo-comments.enable = true;
|
||||||
|
|
||||||
|
# TODO feline-nvim and theme for it
|
||||||
|
|
||||||
|
# Inline git blame
|
||||||
|
plugins.gitsigns = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
current_line_blame = true;
|
||||||
|
trouble = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Inline error display
|
||||||
|
plugins.trouble = {
|
||||||
|
enable = true;
|
||||||
|
settings = { };
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
# when adding " or any letter the selected word gets wrapped in it
|
||||||
|
plugins.vim-surround.enable = true;
|
||||||
|
|
||||||
|
# File tree
|
||||||
|
plugins.chadtree = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Status bar
|
||||||
|
plugins.lualine = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# a cool summary searcher
|
||||||
|
plugins.navbuddy.enable = true;
|
||||||
|
|
||||||
|
|
||||||
|
# languages
|
||||||
|
plugins.nix.enable = true;
|
||||||
|
|
||||||
|
plugins.fidget = {
|
||||||
|
enable = true;
|
||||||
|
logger = {
|
||||||
|
level = "warn"; # “off”, “error”, “warn”, “info”, “debug”, “trace”
|
||||||
|
floatPrecision = 0.01; # Limit the number of decimals displayed for floats
|
||||||
|
};
|
||||||
|
progress = {
|
||||||
|
pollRate = 0; # How and when to poll for progress messages
|
||||||
|
suppressOnInsert = true; # Suppress new messages while in insert mode
|
||||||
|
ignoreDoneAlready = false; # Ignore new tasks that are already complete
|
||||||
|
ignoreEmptyMessage = false; # Ignore new tasks that don't contain a message
|
||||||
|
clearOnDetach =
|
||||||
|
# Clear notification group when LSP server detaches
|
||||||
|
''
|
||||||
|
function(client_id)
|
||||||
|
local client = vim.lsp.get_client_by_id(client_id)
|
||||||
|
return client and client.name or nil
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
notificationGroup =
|
||||||
|
# How to get a progress message's notification group key
|
||||||
|
''
|
||||||
|
function(msg) return msg.lsp_client.name end
|
||||||
|
'';
|
||||||
|
ignore = [ ]; # List of LSP servers to ignore
|
||||||
|
lsp = {
|
||||||
|
progressRingbufSize = 0; # Configure the nvim's LSP progress ring buffer size
|
||||||
|
};
|
||||||
|
display = {
|
||||||
|
renderLimit = 16; # How many LSP messages to show at once
|
||||||
|
doneTtl = 3; # How long a message should persist after completion
|
||||||
|
doneIcon = "✔"; # Icon shown when all LSP progress tasks are complete
|
||||||
|
doneStyle = "Constant"; # Highlight group for completed LSP tasks
|
||||||
|
progressTtl = "math.huge"; # How long a message should persist when in progress
|
||||||
|
progressIcon = {
|
||||||
|
pattern = "dots";
|
||||||
|
period = 1;
|
||||||
|
}; # Icon shown when LSP progress tasks are in progress
|
||||||
|
progressStyle = "WarningMsg"; # Highlight group for in-progress LSP tasks
|
||||||
|
groupStyle = "Title"; # Highlight group for group name (LSP server name)
|
||||||
|
iconStyle = "Question"; # Highlight group for group icons
|
||||||
|
priority = 30; # Ordering priority for LSP notification group
|
||||||
|
skipHistory = true; # Whether progress notifications should be omitted from history
|
||||||
|
formatMessage = ''
|
||||||
|
require ("fidget.progress.display").default_format_message
|
||||||
|
''; # How to format a progress message
|
||||||
|
formatAnnote = ''
|
||||||
|
function (msg) return msg.title end
|
||||||
|
''; # How to format a progress annotation
|
||||||
|
formatGroupName = ''
|
||||||
|
function (group) return tostring (group) end
|
||||||
|
''; # How to format a progress notification group's name
|
||||||
|
overrides = {
|
||||||
|
rust_analyzer = {
|
||||||
|
name = "rust-analyzer";
|
||||||
|
};
|
||||||
|
}; # Override options from the default notification config
|
||||||
|
};
|
||||||
|
};
|
||||||
|
notification = {
|
||||||
|
pollRate = 10; # How frequently to update and render notifications
|
||||||
|
filter = "info"; # “off”, “error”, “warn”, “info”, “debug”, “trace”
|
||||||
|
historySize = 128; # Number of removed messages to retain in history
|
||||||
|
overrideVimNotify = true;
|
||||||
|
redirect = ''
|
||||||
|
function(msg, level, opts)
|
||||||
|
if opts and opts.on_open then
|
||||||
|
return require("fidget.integration.nvim-notify").delegate(msg, level, opts)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
configs = {
|
||||||
|
default = "require('fidget.notification').default_config";
|
||||||
|
};
|
||||||
|
|
||||||
|
window = {
|
||||||
|
normalHl = "Comment";
|
||||||
|
winblend = 0;
|
||||||
|
border = "none"; # none, single, double, rounded, solid, shadow
|
||||||
|
zindex = 45;
|
||||||
|
maxWidth = 0;
|
||||||
|
maxHeight = 0;
|
||||||
|
xPadding = 1;
|
||||||
|
yPadding = 0;
|
||||||
|
align = "bottom";
|
||||||
|
relative = "editor";
|
||||||
|
};
|
||||||
|
view = {
|
||||||
|
stackUpwards = true; # Display notification items from bottom to top
|
||||||
|
iconSeparator = " "; # Separator between group name and icon
|
||||||
|
groupSeparator = "---"; # Separator between notification groups
|
||||||
|
groupSeparatorHl =
|
||||||
|
# Highlight group used for group separator
|
||||||
|
"Comment";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
356
flake.lock
Normal file
356
flake.lock
Normal file
|
@ -0,0 +1,356 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"devshell": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1728330715,
|
||||||
|
"narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "devshell",
|
||||||
|
"rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef",
|
||||||
|
"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-parts": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1733312601,
|
||||||
|
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-parts_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1733312601,
|
||||||
|
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731533236,
|
||||||
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"git-hooks": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": [
|
||||||
|
"nixvim",
|
||||||
|
"flake-compat"
|
||||||
|
],
|
||||||
|
"gitignore": "gitignore",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nixpkgs-stable": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1733318908,
|
||||||
|
"narHash": "sha256-SVQVsbafSM1dJ4fpgyBqLZ+Lft+jcQuMtEL3lQWx2Sk=",
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "git-hooks.nix",
|
||||||
|
"rev": "6f4e2a2112050951a314d2733a994fbab94864c6",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "git-hooks.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"gitignore": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixvim",
|
||||||
|
"git-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": 1733484277,
|
||||||
|
"narHash": "sha256-i5ay20XsvpW91N4URET/nOc0VQWOAd4c4vbqYtcH8Rc=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "d00c6f6d0ad16d598bf7e2956f52c1d9d5de3c3a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ixx": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": [
|
||||||
|
"nixvim",
|
||||||
|
"nuschtosSearch",
|
||||||
|
"flake-utils"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixvim",
|
||||||
|
"nuschtosSearch",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1729958008,
|
||||||
|
"narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=",
|
||||||
|
"owner": "NuschtOS",
|
||||||
|
"repo": "ixx",
|
||||||
|
"rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NuschtOS",
|
||||||
|
"ref": "v0.0.6",
|
||||||
|
"repo": "ixx",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nix-darwin": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1733570843,
|
||||||
|
"narHash": "sha256-sQJAxY1TYWD1UyibN/FnN97paTFuwBw3Vp3DNCyKsMk=",
|
||||||
|
"owner": "lnl7",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"rev": "a35b08d09efda83625bef267eb24347b446c80b8",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "lnl7",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1733581040,
|
||||||
|
"narHash": "sha256-Qn3nPMSopRQJgmvHzVqPcE3I03zJyl8cSbgnnltfFDY=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "22c3f2cf41a0e70184334a958e6b124fb0ce3e01",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-lib": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1733096140,
|
||||||
|
"narHash": "sha256-1qRH7uAUsyQI7R1Uwl4T+XvdNv778H0Nb5njNrqvylY=",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1733392399,
|
||||||
|
"narHash": "sha256-kEsTJTUQfQFIJOcLYFt/RvNxIK653ZkTBIs4DG+cBns=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "d0797a04b81caeae77bcff10a9dde78bc17f5661",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixvim": {
|
||||||
|
"inputs": {
|
||||||
|
"devshell": "devshell",
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"flake-parts": "flake-parts_2",
|
||||||
|
"git-hooks": "git-hooks",
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"nix-darwin": "nix-darwin",
|
||||||
|
"nixpkgs": "nixpkgs_2",
|
||||||
|
"nuschtosSearch": "nuschtosSearch",
|
||||||
|
"treefmt-nix": "treefmt-nix"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1733780592,
|
||||||
|
"narHash": "sha256-SCEjUwyt6R2+36BS7xQG+rHUrhE8HDpmRwQzKHJkimQ=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nixvim",
|
||||||
|
"rev": "cf7e026c8c86c5548d270e20c04f456939591219",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nixvim",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nuschtosSearch": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"ixx": "ixx",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1733411491,
|
||||||
|
"narHash": "sha256-315rJ7O9cOllPDaFscnJhcMleORHbxon0Kq9LAKJ5p4=",
|
||||||
|
"owner": "NuschtOS",
|
||||||
|
"repo": "search",
|
||||||
|
"rev": "68e9fad70d95d08156cf10a030bd39487bed8ffe",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NuschtOS",
|
||||||
|
"repo": "search",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-parts": "flake-parts",
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"treefmt-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1733440889,
|
||||||
|
"narHash": "sha256-qKL3vjO+IXFQ0nTinFDqNq/sbbnnS5bMI1y0xX215fU=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "treefmt-nix",
|
||||||
|
"rev": "50862ba6a8a0255b87377b9d2d4565e96f29b410",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "treefmt-nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
49
flake.nix
Normal file
49
flake.nix
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
{
|
||||||
|
description = "neo2005 flake";
|
||||||
|
# Flake reused directly from https://github.com/Ahwxorg/nixvim-config/
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
nixvim.url = "github:nix-community/nixvim";
|
||||||
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs =
|
||||||
|
{ nixvim
|
||||||
|
, flake-parts
|
||||||
|
, ...
|
||||||
|
} @ inputs:
|
||||||
|
flake-parts.lib.mkFlake { inherit inputs; } {
|
||||||
|
systems = [
|
||||||
|
"x86_64-linux"
|
||||||
|
"aarch64-linux"
|
||||||
|
"x86_64-darwin"
|
||||||
|
"aarch64-darwin"
|
||||||
|
];
|
||||||
|
|
||||||
|
perSystem =
|
||||||
|
{ pkgs
|
||||||
|
, system
|
||||||
|
, ...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
nixvimLib = nixvim.lib.${system};
|
||||||
|
nixvim' = nixvim.legacyPackages.${system};
|
||||||
|
nixvimModule = {
|
||||||
|
inherit pkgs;
|
||||||
|
module = import ./config;
|
||||||
|
extraSpecialArgs = { };
|
||||||
|
};
|
||||||
|
nvim = nixvim'.makeNixvimWithModule nixvimModule;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
checks = {
|
||||||
|
default = nixvimLib.check.mkTestDerivationFromNixvimModule nixvimModule;
|
||||||
|
};
|
||||||
|
|
||||||
|
packages = {
|
||||||
|
default = nvim;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue