feat: Updated stuff

This commit is contained in:
uttarayan21
2024-09-16 19:03:59 +05:30
parent b2b3359328
commit 9421b40dd5
4 changed files with 356 additions and 377 deletions

102
neovim/flake.lock generated
View File

@@ -144,11 +144,11 @@
]
},
"locked": {
"lastModified": 1722555600,
"narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=",
"lastModified": 1725234343,
"narHash": "sha256-+ebgonl3NbiKD2UD0x4BszCZQ6sTfL4xioaM49o5B3Y=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "8471fe90ad337a8074e957b69ca4d0089218391d",
"rev": "567b938d64d4b4112ee253b9274472dc3a346eb6",
"type": "github"
},
"original": {
@@ -261,11 +261,11 @@
]
},
"locked": {
"lastModified": 1722857853,
"narHash": "sha256-3Zx53oz/MSIyevuWO/SumxABkrIvojnB7g9cimxkhiE=",
"lastModified": 1724857454,
"narHash": "sha256-Qyl9Q4QMTLZnnBb/8OuQ9LSkzWjBU1T5l5zIzTxkkhk=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "06939f6b7ec4d4f465bf3132a05367cccbbf64da",
"rev": "4509ca64f1084e73bc7a721b20c669a8d4c5ebe6",
"type": "github"
},
"original": {
@@ -288,11 +288,11 @@
]
},
"locked": {
"lastModified": 1723056346,
"narHash": "sha256-YpzywjTAUHRRHcO8zz9x2gYqJ0JmZlcB9+RaUvD89qM=",
"lastModified": 1724857454,
"narHash": "sha256-Qyl9Q4QMTLZnnBb/8OuQ9LSkzWjBU1T5l5zIzTxkkhk=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "3c977f1c9930f54066c085305b4b2291385e7a73",
"rev": "4509ca64f1084e73bc7a721b20c669a8d4c5ebe6",
"type": "github"
},
"original": {
@@ -348,11 +348,11 @@
"gp-nvim": {
"flake": false,
"locked": {
"lastModified": 1722901497,
"narHash": "sha256-88UcYToQO3GU5Zw+EMUAP2NBpxf+b2l/PBXahrSp7fE=",
"lastModified": 1723453874,
"narHash": "sha256-2vjPoRiT26dftA0t4hdGedN6qZyIgQUjGMRF4IND/O4=",
"owner": "Robitx",
"repo": "gp.nvim",
"rev": "7cc35997581dbfcfa5ac022843e12c04d64c3250",
"rev": "861ed5240214dc76b00edeaec15e71370a7a5046",
"type": "github"
},
"original": {
@@ -386,11 +386,11 @@
]
},
"locked": {
"lastModified": 1719226092,
"narHash": "sha256-YNkUMcCUCpnULp40g+svYsaH1RbSEj6s4WdZY/SHe38=",
"lastModified": 1724947644,
"narHash": "sha256-MHHrHasTngp7EYQOObHJ1a/IsRF+wodHqOckhH6uZbk=",
"owner": "hercules-ci",
"repo": "hercules-ci-effects",
"rev": "11e4b8dc112e2f485d7c97e1cee77f9958f498f5",
"rev": "dba4367b9a9d9615456c430a6d6af716f6e84cef",
"type": "github"
},
"original": {
@@ -407,11 +407,11 @@
]
},
"locked": {
"lastModified": 1722630065,
"narHash": "sha256-QfM/9BMRkCmgWzrPDK+KbgJOUlSJnfX4OvsUupEUZvA=",
"lastModified": 1724435763,
"narHash": "sha256-UNky3lJNGQtUEXT2OY8gMxejakSWPTfWKvpFkpFlAfM=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "afc892db74d65042031a093adb6010c4c3378422",
"rev": "c2cd2a52e02f1dfa1c88f95abeb89298d46023be",
"type": "github"
},
"original": {
@@ -423,11 +423,11 @@
"navigator": {
"flake": false,
"locked": {
"lastModified": 1719969670,
"narHash": "sha256-dVhTVShkR8TE2BCD3KohPfIHOeW23lV2XxXfFbhnJMg=",
"lastModified": 1724761847,
"narHash": "sha256-IhCfsuR/ZMvP52aseFFkPsOwbCWIVh0oqImQQeVjko4=",
"owner": "ray-x",
"repo": "navigator.lua",
"rev": "db3ac40bd4793abf90372687e35ece1c8969acc9",
"rev": "53efe4b5cea5e99d2216449330f205d71251fdc7",
"type": "github"
},
"original": {
@@ -505,11 +505,11 @@
"neorg_2": {
"flake": false,
"locked": {
"lastModified": 1722198397,
"narHash": "sha256-oaZi6UP8gC0uy1QYrXrewfYoJpds16GP+Rnef8CAaRA=",
"lastModified": 1725315344,
"narHash": "sha256-DFC/qgPAsqEo/ngSx04npdwiRS3qW4bPc5W/0BD2jFY=",
"owner": "nvim-neorg",
"repo": "neorg",
"rev": "e5e797e6eddcb6efb1d2c3fc2612b31ad9a76cef",
"rev": "d5965efe17e28a60cdbf14e97b87723a83f0c962",
"type": "github"
},
"original": {
@@ -521,11 +521,11 @@
"neovim-src": {
"flake": false,
"locked": {
"lastModified": 1723069031,
"narHash": "sha256-2ETVBWn3QJD1Hlztvs8tKsTKFxE3duhSdJZGpt4F1IE=",
"lastModified": 1725446059,
"narHash": "sha256-N+XyobzJsFXVivL/uu8lHSc9vxlM3j5SSOc4G9B0SyA=",
"owner": "neovim",
"repo": "neovim",
"rev": "f35d5afbf1bae81896d4b959c7d99cf50e0c306f",
"rev": "b6e350a6b4df40fcc99931c460668c36fadc9989",
"type": "github"
},
"original": {
@@ -542,11 +542,11 @@
]
},
"locked": {
"lastModified": 1722924007,
"narHash": "sha256-+CQDamNwqO33REJLft8c26NbUi2Td083hq6SvAm2xkU=",
"lastModified": 1724561770,
"narHash": "sha256-zv8C9RNa86CIpyHwPIVO/k+5TfM8ZbjGwOOpTe1grls=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "91010a5613ffd7ee23ee9263213157a1c422b705",
"rev": "ac5694a0b855a981e81b4d9f14052e3ff46ca39e",
"type": "github"
},
"original": {
@@ -557,11 +557,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1722813957,
"narHash": "sha256-IAoYyYnED7P8zrBFMnmp7ydaJfwTnwcnqxUElC1I26Y=",
"lastModified": 1725432240,
"narHash": "sha256-+yj+xgsfZaErbfYM3T+QvEE2hU7UuE+Jf0fJCJ8uPS0=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "cb9a96f23c491c081b38eab96d22fa958043c9fa",
"rev": "ad416d066ca1222956472ab7d0555a6946746a80",
"type": "github"
},
"original": {
@@ -618,11 +618,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1723064649,
"narHash": "sha256-J7p/kv0GHAnvg2HH3vJ3JVz1LEzCtdhcH0prmdYfRog=",
"lastModified": 1725563454,
"narHash": "sha256-RQ9aKwXmqNHMBFOlHEUVrAFo7YHJSVn4nBgi2rcaCY4=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "593f5215cb1df010451675c19f2ad5c5481ccee3",
"rev": "84249a9dabdf930d968d248024c4d6240ee14548",
"type": "github"
},
"original": {
@@ -643,11 +643,11 @@
]
},
"locked": {
"lastModified": 1723096809,
"narHash": "sha256-/vh3KPnj5+mA4wghzu8CSXKnYetgR7bPsMuLRXfLB6w=",
"lastModified": 1725515460,
"narHash": "sha256-ybr3YTmjhVOuCWdacABUPxfUlVNqy0ya3s2sZ8zgyTw=",
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"rev": "c6cba7f05ee7804ea59c610212c9bd8e9127bed0",
"rev": "e8df4bbcb3a2d18a32d8a50bd72c3175227f7468",
"type": "github"
},
"original": {
@@ -668,11 +668,11 @@
"norg-meta": "norg-meta"
},
"locked": {
"lastModified": 1723068833,
"narHash": "sha256-clFO3sZPq7RqRRf8zZnknXa/erLHCFbWbxRVkMAzIZs=",
"lastModified": 1725590404,
"narHash": "sha256-fnbpWkfaenyF0qnw4OIJCRMYfdetxLwA9aHcEl4PyxM=",
"owner": "nvim-neorg",
"repo": "nixpkgs-neorg-overlay",
"rev": "143b610bd64f61cdb2ba905eb792b5a0f95b1035",
"rev": "df2022d80ed50e7d2ff5a6739a78e1427bb3bdd1",
"type": "github"
},
"original": {
@@ -731,11 +731,11 @@
]
},
"locked": {
"lastModified": 1722772237,
"narHash": "sha256-3eCYmzeLngX8eutIsTZAG8DIvT/0DWQQxiszTQz8n0s=",
"lastModified": 1724584782,
"narHash": "sha256-7FfHv7b1jwMPSu9SPY9hdxStk8E6EeSwzqdvV69U4BM=",
"owner": "NuschtOS",
"repo": "search",
"rev": "aa5f6246565cc9b1e697d2c9d6ed2c842b17fff6",
"rev": "5a08d691de30b6fc28d58ce71a5e420f2694e087",
"type": "github"
},
"original": {
@@ -779,11 +779,11 @@
"rest-nvim": {
"flake": false,
"locked": {
"lastModified": 1718835836,
"narHash": "sha256-bVm50Z4cNm+TKOZzY8i+3+8X9yqJ5Bd6/AP5qrrUMwo=",
"lastModified": 1725579296,
"narHash": "sha256-Bw5zxVX3a5s9mUfK8XWhE6tUn77q6I7O9iCOEkIEgUg=",
"owner": "rest-nvim",
"repo": "rest.nvim",
"rev": "e7843c55f9df6a9db9f97dac180035c6ff895a90",
"rev": "9e00468da985082faa472e689ffda59e63154270",
"type": "github"
},
"original": {
@@ -898,11 +898,11 @@
]
},
"locked": {
"lastModified": 1722330636,
"narHash": "sha256-uru7JzOa33YlSRwf9sfXpJG+UAV+bnBEYMjrzKrQZFw=",
"lastModified": 1724833132,
"narHash": "sha256-F4djBvyNRAXGusJiNYInqR6zIMI3rvlp6WiKwsRISos=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "768acdb06968e53aa1ee8de207fd955335c754b7",
"rev": "3ffd842a5f50f435d3e603312eefa4790db46af5",
"type": "github"
},
"original": {

View File

@@ -32,6 +32,21 @@ in rec {
trouble.enable = true;
ts-context-commentstring.enable = true;
which-key.enable = true;
chatgpt = {
enable = true;
settings = {
api_key_cmd = ''${pkgs.writeShellScript
"openapikey" (
if pkgs.stdenv.isDarwin
then ''
${pkgs._1password}/bin/op item get 'OpenAI API Token' --fields label='api key'
''
else ''
/run/wrappers/bin/op item get 'OpenAI API Token' --fields label='api key'
''
)}'';
};
};
oil = {
enable = true;
@@ -53,7 +68,7 @@ in rec {
lualine = {
enable = true;
sections = {
settings.sections = {
lualine_c = [
{
name =
@@ -75,6 +90,17 @@ in rec {
};
};
neotest = {
enable = true;
settings = {
adapters = [
''require('rustaceanvim.neotest')''
];
};
};
rest.enable = true;
comment = {
enable = true;
settings.pre_hook =
@@ -120,6 +146,7 @@ in rec {
grammarPackages =
pkgs.vimPlugins.nvim-treesitter.allGrammars
++ (with pkgs.tree-sitter-grammars; [
tree-sitter-http
tree-sitter-just
tree-sitter-nu
tree-sitter-d2
@@ -343,6 +370,8 @@ in rec {
"<leader>ff" = "require'telescope.builtin'.find_files";
"<leader>gg" = "require'telescope.builtin'.live_grep";
"<leader>;" = "require'telescope.builtin'.buffers";
"zR" = "require'ufo'.openAllFolds";
"zM" = "require'ufo'.closeAllFolds";
# Emulate tmux bindings with prefix <C-q> and tabs
"<C-q><C-q>" = "[[g<Tab>]]";
@@ -388,262 +417,211 @@ in rec {
else if pkgs.stdenv.isDarwin
then "${codelldb}/lldb/lib/liblldb.dylib"
else null;
apikey =
pkgs.writeShellScriptBin
"openapikey" (
if pkgs.stdenv.isDarwin
then ''
${pkgs._1password}/bin/op item get 'OpenAI API Token' --fields label='api key'
''
else ''
/run/wrappers/bin/op item get 'OpenAI API Token' --fields label='api key'
''
);
in
/*
lua
*/
''
function catcher(callback)
do
success, output = pcall(callback)
if not success then
print("Failed to setup: " .. output)
end
end
end
function catcher(callback)
do
success, output = pcall(callback)
if not success then
print("Failed to setup: " .. output)
end
end
end
-- do
-- function setup()
-- require'neotest'.setup({
-- adapters = {
-- require('rustaceanvim.neotest'),
-- }
-- })
-- end
-- success, output = pcall(setup)
-- if not success then
-- print("Failed to setup neotest: " .. output)
-- end
-- end
-- catcher(require('rest-nvim').setup)
-- catcher(require('rest-nvim').setup)
-- catcher(require('lspconfig').ast_grep.setup)
-- catcher(require('lspconfig').ast_grep.setup)
-- require('telescope').load_extension("dap")
-- require('telescope').load_extension("rest")
require('telescope').load_extension("neorg")
-- require('telescope').load_extension("dap")
-- require('telescope').load_extension("rest")
require('telescope').load_extension("neorg")
require("copilot").setup({
suggestion = {
enabled = true,
auto_trigger = true,
keymap = {
accept = "<C-l>",
}
},
panel = { enabled = true },
})
require("copilot").setup({
suggestion = {
enabled = true,
auto_trigger = true,
keymap = {
accept = "<C-l>",
}
},
panel = { enabled = true },
})
catcher(require('crates').setup)
catcher(require('outline').setup)
-- catcher(require('navigator').setup)
catcher(require('crates').setup)
catcher(require('outline').setup)
-- catcher(require('navigator').setup)
require('FTerm').setup({
border = 'single',
dimensions = {
height = 0.99,
width = 0.95,
},
cmd = "sh -c 'tmux new -As scratch'",
blend = 10,
})
require('FTerm').setup({
border = 'single',
dimensions = {
height = 0.99,
width = 0.95,
},
cmd = "sh -c 'tmux new -As scratch'",
blend = 10,
})
local load = {
["core.defaults"] = {},
["core.completion"] = { config = { engine = "nvim-cmp", name = "[Norg]" } },
["core.concealer"] = {
config = { icon_preset = "diamond" }
},
["core.export"] = {},
["core.keybinds"] = {
-- https://github.com/nvim-neorg/neorg/blob/main/lua/neorg/modules/core/keybinds/keybinds.lua
local load = {
["core.defaults"] = {},
["core.completion"] = { config = { engine = "nvim-cmp", name = "[Norg]" } },
["core.concealer"] = {
config = { icon_preset = "diamond" }
},
["core.export"] = {},
["core.keybinds"] = {
-- https://github.com/nvim-neorg/neorg/blob/main/lua/neorg/modules/core/keybinds/keybinds.lua
config = {
default_keybinds = true,
neorg_leader = "<C-m>",
},
},
["core.dirman"] = {
config = {
default_keybinds = true,
neorg_leader = "<C-m>",
default_workspace = "Notes",
workspaces = {
Notes = "~/Nextcloud/Notes",
Work = "~/Nextcloud/Work",
}
}
}
}
require('neorg').setup({
load = load,
})
require('octo').setup({
use_local_fs = false,
enable_builtin = false,
default_remote = {"upstream", "origin"};
default_merge_method = "squash";
})
local rr_dap = require('nvim-dap-rr')
rr_dap.setup({
mappings = {
continue = "<F7>"
},
})
local dap = require'dap';
-- dap.configurations.rust = { rr_dap.get_rust_config() }
dap.configurations.cpp = { rr_dap.get_config() }
if not vim.g.neovide then
require('neoscroll').setup()
require('image').setup({["backend"] = "kitty",["tmux_show_only_in_active_window"] = true})
load["core.integrations.image"] = {
config = {
tmux_show_only_in_active_window = true,
}
}
else
vim.o.guifont = "Hasklug Nerd Font Mono:h13"
vim.g.neovide_cursor_vfx_mode = "railgun"
end
require('lspconfig.ui.windows').default_options.border = 'single'
catcher(require('nvim_context_vt').setup)
catcher(function()
require('nvim-devdocs').setup({
ensure_installed = {"nix", "rust"},
float_win = {
relative = "editor",
height = 80,
width = 100,
border = "rounded",
},
after_open = function()
vim.o.conceallevel = 3
end,
})
end)
vim.api.nvim_create_user_command('Reso',
function()
pcall(vim.cmd'source ~/.config/nvim/init.lua')
end,
{})
vim.api.nvim_create_user_command('Sqlfmt',
function()
pcall(vim.cmd'%!${pkgs.sleek}/bin/sleek')
end,
{})
local iron = require("iron.core")
iron.setup({
config = {
-- Whether a repl should be discarded or not
scratch_repl = true,
-- Your repl definitions come here
repl_definition = {
sh = {
-- Can be a table or a function that
-- returns a table (see below)
command = {"${pkgs.zsh}/bin/zsh"}
},
["core.dirman"] = {
config = {
default_workspace = "Notes",
workspaces = {
Notes = "~/Nextcloud/Notes",
Work = "~/Nextcloud/Work",
}
}
}
}
sql = {
command = function(meta)
local db = os.getenv("DATABASE_PATH")
if db == nil then
return { '${pkgs.sqlite}/bin/sqlite3', ':memory:' }
else
return { '${pkgs.sqlite}/bin/sqlite3', db }
end
require('neorg').setup({
load = load,
})
require('chatgpt').setup({
api_key_cmd = "${apikey}/bin/openapikey",
})
require('octo').setup({
use_local_fs = false,
enable_builtin = false,
default_remote = {"upstream", "origin"};
default_merge_method = "squash";
})
local rr_dap = require('nvim-dap-rr')
rr_dap.setup({
mappings = {
continue = "<F7>"
end
},
rust = {
command = {"${pkgs.evcxr}/bin/evcxr"}
},
})
local dap = require'dap';
-- dap.configurations.rust = { rr_dap.get_rust_config() }
dap.configurations.cpp = { rr_dap.get_config() }
if not vim.g.neovide then
require('neoscroll').setup()
require('image').setup({["backend"] = "kitty",["tmux_show_only_in_active_window"] = true})
load["core.integrations.image"] = {
config = {
tmux_show_only_in_active_window = true,
}
}
else
vim.o.guifont = "Hasklug Nerd Font Mono:h13"
vim.g.neovide_cursor_vfx_mode = "railgun"
end
-- do
-- function setup()
-- local capabilities = vim.lsp.protocol.make_client_capabilities()
-- capabilities.textDocument.foldingRange = {
-- dynamicRegistration = false,
-- lineFoldingOnly = true
-- }
-- -- local language_servers = require("lspconfig").util.available_servers() -- or list servers manually like {'gopls', 'clangd'}
-- local language_servers = {"nil_ls"};
-- for _, ls in ipairs(language_servers) do
-- require('lspconfig')[ls].setup({
-- capabilities = capabilities
-- -- you can add other fields for setting up lsp server in this table
-- })
-- end
-- end
-- success, output = pcall(setup)
-- if not success then
-- print("Failed to setup lspconfig folds: " .. output)
-- end
-- end
require('lspconfig.ui.windows').default_options.border = 'single'
catcher(require('nvim_context_vt').setup)
-- catcher(function()
-- require('nvim-devdocs').setup({
-- ensure_installed = {"nix", "rust"},
-- float_win = {
-- relative = "editor",
-- height = 80,
-- width = 100,
-- border = "rounded",
-- },
-- after_open = function()
-- vim.o.conceallevel = 3
-- end,
-- })
-- end)
vim.api.nvim_create_user_command('Reso',
function()
pcall(vim.cmd'source ~/.config/nvim/init.lua')
end,
{})
vim.api.nvim_create_user_command('Sqlfmt',
function()
pcall(vim.cmd'%!${pkgs.sleek}/bin/sleek')
end,
{})
local iron = require("iron.core")
-- iron.setup({
-- config = {
-- -- Whether a repl should be discarded or not
-- scratch_repl = true,
-- -- Your repl definitions come here
-- repl_definition = {
-- sh = {
-- -- Can be a table or a function that
-- -- returns a table (see below)
-- command = {"${pkgs.zsh}/bin/zsh"}
-- },
-- sql = {
-- command = function(meta)
-- local db = os.getenv("DATABASE_PATH")
-- if db == nil then
-- return { '${pkgs.sqlite}/bin/sqlite3', ':memory:' }
-- else
-- return { '${pkgs.sqlite}/bin/sqlite3', db }
-- end
-- end
-- },
-- rust = {
-- command = {"${pkgs.evcxr}/bin/evcxr"}
-- },
-- },
-- -- How the repl window will be displayed
-- -- See below for more information
-- repl_open_cmd = require('iron.view').right(60),
-- },
-- -- Iron doesn't set keymaps by default anymore.
-- -- You can set them here or manually add keymaps to the functions in iron.core
-- keymaps = {
-- send_motion = "<space>sc",
-- visual_send = "<space>sc",
-- send_file = "<space>sf",
-- send_line = "<space>sl",
-- send_until_cursor = "<space>su",
-- send_mark = "<space>sm",
-- mark_motion = "<space>mc",
-- mark_visual = "<space>mc",
-- remove_mark = "<space>md",
-- cr = "<space>s<cr>",
-- interrupt = "<space>s<space>",
-- exit = "<space>sq",
-- clear = "<space>cl",
-- },
-- -- If the highlight is on, you can change how it looks
-- -- For the available options, check nvim_set_hl
-- highlight = {
-- italic = true
-- },
-- ignore_blank_lines = true, -- ignore blank lines when sending visual select lines
-- })
vim.filetype.add({
extension = {
http = "http",
},
})
-- How the repl window will be displayed
-- See below for more information
repl_open_cmd = require('iron.view').right(60),
},
-- Iron doesn't set keymaps by default anymore.
-- You can set them here or manually add keymaps to the functions in iron.core
keymaps = {
send_motion = "<space>sc",
visual_send = "<space>sc",
send_file = "<space>sf",
send_line = "<space>sl",
send_until_cursor = "<space>su",
send_mark = "<space>sm",
mark_motion = "<space>mc",
mark_visual = "<space>mc",
remove_mark = "<space>md",
cr = "<space>s<cr>",
interrupt = "<space>s<space>",
exit = "<space>sq",
clear = "<space>cl",
},
-- If the highlight is on, you can change how it looks
-- For the available options, check nvim_set_hl
highlight = {
italic = true
},
ignore_blank_lines = true, -- ignore blank lines when sending visual select lines
})
vim.filetype.add({
filename = {
['nurfile'] = "nu",
},
})
vim.filetype.add({
extension = {
http = "http",
},
})
vim.filetype.add({
filename = {
['nurfile'] = "nu",
},
})
'';
# package = pkgs.neovim-unwrapped;
@@ -666,6 +644,8 @@ in rec {
undofile = true;
viewoptions = "cursor,folds";
# concealcursor = "n";
foldenable = true;
foldlevel = 99;
foldlevelstart = 99;
};
extraPlugins = with pkgs.vimPlugins; [
@@ -675,7 +655,6 @@ in rec {
# Wut
image-nvim
ChatGPT-nvim
# UI and UX
vim-abolish
@@ -705,7 +684,7 @@ in rec {
vim-speeddating
# Testing
neotest
# neotest
# Helper libs
webapi-vim