add targets

This commit is contained in:
Jonathan Dönszelmann 2024-11-09 09:05:26 +01:00
parent dee2a92cf1
commit 720aaf0a93
No known key found for this signature in database
6 changed files with 176 additions and 97 deletions

89
flake.lock generated
View file

@ -8,11 +8,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1722113426, "lastModified": 1728330715,
"narHash": "sha256-Yo/3loq572A8Su6aY5GP56knpuKYRvM2a1meP9oJZCw=", "narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=",
"owner": "numtide", "owner": "numtide",
"repo": "devshell", "repo": "devshell",
"rev": "67cce7359e4cd3c45296fb4aaf6a19e2a9c757ae", "rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -43,11 +43,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1726153070, "lastModified": 1727826117,
"narHash": "sha256-HO4zgY0ekfwO5bX0QH/3kJ/h4KvUDFZg8YpkNwIbg1U=", "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "bcef6817a8b2aa20a5a6dbb19b43e63c5bf8619a", "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -127,11 +127,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1726745158, "lastModified": 1730302582,
"narHash": "sha256-D5AegvGoEjt4rkKedmxlSEmC+nNLMBPWFxvmYnVLhjk=", "narHash": "sha256-W1MIJpADXQCgosJZT8qBYLRuZls2KSiKdpnTVdKBuvU=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "4e743a6920eab45e8ba0fbe49dc459f1423a4b74", "rev": "af8a16fe5c264f5e9e18bcee2859b40a656876cf",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -169,11 +169,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1727246346, "lastModified": 1730490306,
"narHash": "sha256-TcUaKtya339Asu+g6KTJ8h7KiKcKXKp2V+At+7tksyY=", "narHash": "sha256-AvCVDswOUM9D368HxYD25RsSKp+5o0L0/JHADjLoD38=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "1e22ef1518fb175d762006f9cae7f6312b8caedb", "rev": "1743615b61c7285976f85b303a36cdf88a556503",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -190,11 +190,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1726985855, "lastModified": 1730016908,
"narHash": "sha256-NJPGK030Y3qETpWBhj9oobDQRbXdXOPxtu+YgGvZ84o=", "narHash": "sha256-bFCxJco7d8IgmjfNExNz9knP8wvwbXU4s/d53KOK6U0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "04213d1ce4221f5d9b40bcee30706ce9a91d148d", "rev": "e83414058edd339148dc142a8437edb9450574c8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -203,6 +203,34 @@
"type": "github" "type": "github"
} }
}, },
"ixx": {
"inputs": {
"flake-utils": [
"nixvim",
"nuschtosSearch",
"flake-utils"
],
"nixpkgs": [
"nixvim",
"nuschtosSearch",
"nixpkgs"
]
},
"locked": {
"lastModified": 1729544999,
"narHash": "sha256-YcyJLvTmN6uLEBGCvYoMLwsinblXMkoYkNLEO4WnKus=",
"owner": "NuschtOS",
"repo": "ixx",
"rev": "65c207c92befec93e22086da9456d3906a4e999c",
"type": "github"
},
"original": {
"owner": "NuschtOS",
"ref": "v0.0.5",
"repo": "ixx",
"type": "github"
}
},
"kitty-search": { "kitty-search": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -227,11 +255,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1727003835, "lastModified": 1730184279,
"narHash": "sha256-Cfllbt/ADfO8oxbT984MhPHR6FJBaglsr1SxtDGbpec=", "narHash": "sha256-6OB+WWR6gnaWiqSS28aMJypKeK7Pjc2Wm6L0MtOrTuA=",
"owner": "lnl7", "owner": "lnl7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "bd7d1e3912d40f799c5c0f7e5820ec950f1e0b3d", "rev": "b379bd4d872d159e5189053ce9a4adf86d56db4b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -242,11 +270,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1726937504, "lastModified": 1730200266,
"narHash": "sha256-bvGoiQBvponpZh8ClUcmJ6QnsNKw0EMrCQJARK3bI1c=", "narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "9357f4f23713673f310988025d9dc261c20e70c6", "rev": "807e9154dcb16384b1b765ebe9cd2bba2ac287fd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -285,11 +313,11 @@
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1727201864, "lastModified": 1730499477,
"narHash": "sha256-jhWWJ8LTkyWM7/mUvktwwYiZwhIH70/CsW26U4uAZTg=", "narHash": "sha256-olt0Sx4alDxv3ko9BgbV3SsE2KQ/Tf0/Az1Fr9s2Y6U=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "b3a90d737d5e69d784a07f359ea71178b506b8dd", "rev": "356896f58dde22ee16481b7c954e340dceec340d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -301,17 +329,18 @@
"nuschtosSearch": { "nuschtosSearch": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_2",
"ixx": "ixx",
"nixpkgs": [ "nixpkgs": [
"nixvim", "nixvim",
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1726995581, "lastModified": 1730337772,
"narHash": "sha256-lgsE/CTkZk9OIiFGEIrxXZQ7Feiv41dqlN7pEfTdgew=", "narHash": "sha256-uTxvqDohfG85+zldO5Tf1B+fuAF8ZhMouNwG5S6OAnA=",
"owner": "NuschtOS", "owner": "NuschtOS",
"repo": "search", "repo": "search",
"rev": "3b7dd61b365ca45380707453758a45f2e9977be3", "rev": "4e0a7a95a3df3333771abc4df6a656e7baf67106",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -402,11 +431,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1726734507, "lastModified": 1730321837,
"narHash": "sha256-VUH5O5AcOSxb0uL/m34dDkxFKP6WLQ6y4I1B4+N3L2w=", "narHash": "sha256-vK+a09qq19QNu2MlLcvN4qcRctJbqWkX7ahgPZ/+maI=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "ee41a466c2255a3abe6bc50fc6be927cdee57a9f", "rev": "746901bb8dba96d154b66492a29f5db0693dbfcc",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -20,7 +20,7 @@
}; };
}; };
outputs = { self, home-manager, nixpkgs, flake-utils, nixvim, t, ... }@inputs: outputs = { home-manager, nixpkgs, flake-utils, nixvim, t, ... }@inputs:
let let
homeManagerModules = [ nixvim.homeManagerModules.nixvim ]; homeManagerModules = [ nixvim.homeManagerModules.nixvim ];
@ -29,7 +29,7 @@
inherit system; inherit system;
config.allowUnfree = true; config.allowUnfree = true;
overlays = [ overlays = [
(final: prev: { custom = { t = t.packages.${system}.default; }; }) (_: _: { custom = { t = t.packages.${system}.default; }; })
]; ];
}; };
mkHomeConfiguration = root: args: mkHomeConfiguration = root: args:

View file

@ -36,7 +36,7 @@
"ctrl+EQUAL" = "change_font_size all +2.0"; "ctrl+EQUAL" = "change_font_size all +2.0";
"ctrl+minus" = "change_font_size all -2.0"; "ctrl+minus" = "change_font_size all -2.0";
"ctrl+0" = "change_font_size all 0"; "ctrl+0" = "change_font_size all 0";
"ctrl+/" = "send_text all \x1b[47;5u"; # "ctrl+/" = "send_text all ";
}; };
}; };
} }

View file

@ -84,8 +84,16 @@ local opts = { noremap = true, silent = true }
local builtin = require('telescope.builtin') local builtin = require('telescope.builtin')
-- comment -- comment
vim.keymap.set("n", "<leader>c", ":lua require('Comment.api').toggle.linewise.current()<CR> j", { remap = true }) local esc = vim.api.nvim_replace_termcodes(
vim.keymap.set("v", "<leader>c", ":lua require('Comment.api').toggle.blockwise.current()<CR> j", { remap = true }) '<ESC>', true, false, true
)
local api = require('Comment.api')
vim.keymap.set("n", "<C-_>", ":lua require('Comment.api').toggle.linewise.current()<CR> j", { remap = true })
vim.keymap.set("x", "<C-_>", function()
vim.api.nvim_feedkeys(esc, 'nx', false)
api.toggle.linewise(vim.fn.visualmode())
end, { remap = true })
-- indent and dedent using tab/shift-ta -- indent and dedent using tab/shift-ta
vim.keymap.set("n", "<tab>", ">>_") vim.keymap.set("n", "<tab>", ">>_")
@ -94,16 +102,34 @@ vim.keymap.set("i", "<s-tab>", "<c-d>")
vim.keymap.set("v", "<Tab>", ">gv") vim.keymap.set("v", "<Tab>", ">gv")
vim.keymap.set("v", "<S-Tab>", "<gv") vim.keymap.set("v", "<S-Tab>", "<gv")
vim.keymap.set('n', 'gr', builtin.lsp_references, {}) vim.keymap.set('n', 'gr', (function() builtin.lsp_references({jump_type="vsplit"}) end), {})
vim.keymap.set('n', 'gd', builtin.lsp_definitions, {}) vim.keymap.set('n', 'gd', (function() builtin.lsp_definitions({jump_type="vsplit"}) end), {})
vim.keymap.set('n', 'gt', builtin.lsp_type_definitions, {}) vim.keymap.set('n', 'gt', (function() builtin.lsp_type_definitions({jump_type="vsplit"}) end), {})
local barbar_state = require("barbar.state")
vim.api.nvim_create_user_command('CustomCloseBuffer', function (tbl)
count = 0
for _ in pairs(barbar_state.buffers) do count = count + 1 end
if count == 1 then
vim.cmd "quit"
end
vim.cmd "silent! BufferClose"
if vim.api.nvim_buf_get_name(0) == "" then
vim.cmd "quit"
end
end, { desc = "Close Buffer without errors" })
-- format on wq and x and replace X, W and Q with x, w and q -- format on wq and x and replace X, W and Q with x, w and q
vim.cmd [[cabbrev wq execute "Format sync" <bar> wq]] vim.cmd [[cnoreabbrev w execute "Format sync" <bar> w]]
vim.cmd [[cabbrev x execute "Format sync" <bar> x]] vim.cmd [[cnoreabbrev x execute "Format sync" <bar> w <bar> CustomCloseBuffer <cr>]]
vim.cmd [[cnoreabbrev W w]] vim.cmd [[cabbrev W w]]
vim.cmd [[cnoreabbrev X execute "Format sync" <bar> x]] vim.cmd [[cabbrev X execute "Format sync" <bar> x]]
vim.cmd [[cnoreabbrev Q q]] vim.cmd [[cabbrev Q CustomCloseBuffer]]
vim.cmd [[cnoreabbrev q CustomCloseBuffer <cr>]]
vim.cmd [[cnoreabbrev qa q]]
vim.cmd [[nnoremap ; :]] vim.cmd [[nnoremap ; :]]
local builtin = require('telescope.builtin') local builtin = require('telescope.builtin')
@ -111,7 +137,8 @@ local builtin = require('telescope.builtin')
vim.keymap.set('n', '<leader>s', "<cmd>vertical sb<cr>", {}) vim.keymap.set('n', '<leader>s', "<cmd>vertical sb<cr>", {})
vim.keymap.set('n', '<leader><leader>', builtin.find_files, {}) vim.keymap.set('n', '<leader><leader>', builtin.find_files, {})
vim.keymap.set('n', '<leader>f', builtin.live_grep, {}) vim.keymap.set('n', '<leader>f', builtin.live_grep, {})
vim.keymap.set('n', '<leader>h', builtin.search_history, {}) vim.keymap.set('n', '<leader>h', builtin.pickers, {})
-- vim.keymap.set('n', '<leader>h', builtin.search_history, {})
vim.keymap.set('n', '<leader>b', (function() builtin.buffers({sort_mru = true}) end), {}) vim.keymap.set('n', '<leader>b', (function() builtin.buffers({sort_mru = true}) end), {})
vim.keymap.set('n', '<leader>d', "<cmd>Telescope diagnostics bufnr=0<cr>", {}) vim.keymap.set('n', '<leader>d', "<cmd>Telescope diagnostics bufnr=0<cr>", {})
vim.keymap.set('n', '<leader>ad', builtin.diagnostics, {}) vim.keymap.set('n', '<leader>ad', builtin.diagnostics, {})
@ -119,6 +146,12 @@ vim.keymap.set('n', '<leader>em', "<cmd>RustLsp expandMacro<cr>")
vim.keymap.set("n", "]d", vim.diagnostic.goto_next) vim.keymap.set("n", "]d", vim.diagnostic.goto_next)
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev) vim.keymap.set("n", "[d", vim.diagnostic.goto_prev)
vim.keymap.set('n', '<leader>ct', "<cmd>CustomCloseBuffer<cr>")
vim.keymap.set('n', '<leader>co', "<cmd>silent! BufferCloseAllButCurrent<cr>")
vim.keymap.set('n', '<leader>cl', "<cmd>silent! BufferCloseBuffersLeft<cr>")
vim.keymap.set('n', '<leader>cr', "<cmd>silent! BufferCloseBuffersRight<cr>")
-- like quit but for a single tab -- like quit but for a single tab
vim.keymap.set('n', '<leader>q', "<cmd>BD<cr>", {}) vim.keymap.set('n', '<leader>q', "<cmd>BD<cr>", {})
vim.keymap.set('n', '<leader>oq', "<cmd>BufOnly<cr>", {}) vim.keymap.set('n', '<leader>oq', "<cmd>BufOnly<cr>", {})

View file

@ -60,9 +60,16 @@ in
enable = true; enable = true;
nixGrammars = true; nixGrammars = true;
nixvimInjections = true;
settings = { settings = {
indent.enable = true; indent.enable = true;
ensure_installed = "all"; ensure_installed = "all";
ignore_install = [
"wing"
];
highlight.enable = true;
}; };
}; };
rainbow-delimiters.enable = true; rainbow-delimiters.enable = true;
@ -78,7 +85,7 @@ in
auto-session = { auto-session = {
enable = true; enable = true;
extraOptions = { settings = {
auto_save_enabled = true; auto_save_enabled = true;
auto_restore_enabled = true; auto_restore_enabled = true;
pre_save_cmds = [ "Neotree close" ]; pre_save_cmds = [ "Neotree close" ];
@ -191,51 +198,52 @@ in
auto_attach = true; auto_attach = true;
server = { server = {
standalone = false; standalone = false;
cmd = [ "rustup" "run" "nightly" "rust-analyzer" ];
default_settings = { default_settings = {
rust-analyzer = { rust-analyzer = {
inlayHints = { lifetimeElisionHints = { enable = "always"; }; }; inlayHints = { lifetimeElisionHints = { enable = "always"; }; };
check = { command = "clippy"; }; check = { command = "clippy"; };
cachePriming.enable = false;
}; };
cargo = { # cargo = {
buildScripts.enable = true; # buildScripts.enable = true;
features = "all"; # features = "all";
runBuildScripts = true; # runBuildScripts = true;
loadOutDirsFromCheck = true; # loadOutDirsFromCheck = true;
}; # };
checkOnSave = true; # checkOnSave = true;
check = { # check = {
allFeatures = true; # allFeatures = true;
command = "clippy"; # command = "clippy";
extraArgs = [ "--no-deps" ]; # extraArgs = [ "--no-deps" ];
}; # };
procMacro = { enable = true; }; # procMacro = { enable = true; };
imports = { # imports = {
granularity = { group = "module"; }; # granularity = { group = "module"; };
prefix = "self"; # prefix = "self";
}; # };
files = { # files = {
excludeDirs = # excludeDirs =
[ ".cargo" ".direnv" ".git" "node_modules" "target" ]; # [ ".cargo" ".direnv" ".git" "node_modules" "target" ];
}; # };
#
inlayHints = { # inlayHints = {
bindingModeHints.enable = true; # bindingModeHints.enable = true;
closureStyle = "rust_analyzer"; # closureStyle = "rust_analyzer";
closureReturnTypeHints.enable = "always"; # closureReturnTypeHints.enable = "always";
discriminantHints.enable = "always"; # discriminantHints.enable = "always";
expressionAdjustmentHints.enable = "always"; # expressionAdjustmentHints.enable = "always";
implicitDrops.enable = true; # implicitDrops.enable = true;
lifetimeElisionHints.enable = "always"; # lifetimeElisionHints.enable = "always";
rangeExclusiveHints.enable = true; # rangeExclusiveHints.enable = true;
}; # reborrowHints.enable = "mutable";
# };
rustc.source = "discover"; #
# rustc.source = "discover";
options.diagnostics = { #
enable = true; # options.diagnostics = {
styleLints.enable = true; # enable = true;
}; # styleLints.enable = true;
# };
}; };
}; };
}; };
@ -247,7 +255,7 @@ in
servers = { servers = {
astro.enable = true; astro.enable = true;
cssls.enable = true; cssls.enable = true;
nil-ls = { nil_ls = {
enable = true; enable = true;
extraOptions = { extraOptions = {
nix = { nix = {
@ -282,20 +290,16 @@ in
enable = true; enable = true;
filetypes = [ "python" ]; filetypes = [ "python" ];
}; };
# taplo = {
# enable = true;
# filetypes = [ "toml" ];
# };
bashls = { bashls = {
enable = true; enable = true;
filetypes = [ "sh" "bash" ]; filetypes = [ "sh" "bash" ];
}; };
ts-ls = { # ts_ls = {
enable = true; # enable = true;
filetypes = # filetypes =
[ "javascript" "javascriptreact" "typescript" "typescriptreact" ]; # [ "javascript" "javascriptreact" "typescript" "typescriptreact" ];
}; # };
marksman.enable = true; marksman.enable = true;
yamlls = { yamlls = {
enable = true; enable = true;
@ -337,9 +341,12 @@ in
}; };
# tabs # tabs
bufferline = { barbar = {
enable = true; enable = true;
settings.options.diagnostics = "nvim_lsp"; settings = {
options.diagnostics = "nvim_lsp";
focus_on_close = "previous";
};
}; };
none-ls = { none-ls = {
@ -375,8 +382,14 @@ in
vim-gh-line vim-gh-line
# vim-bufkill # vim-bufkill
BufOnly-vim BufOnly-vim
neoconf-nvim
vim-autoswap
targets-vim
]; ];
extraConfigLuaPre = ''
require("neoconf").setup({})
'';
extraConfigLua = '' extraConfigLua = ''
require("render-markdown").setup { require("render-markdown").setup {
latex_converter = '${pkgs.python312Packages.pylatexenc}/bin/latex2text', latex_converter = '${pkgs.python312Packages.pylatexenc}/bin/latex2text',

View file

@ -33,6 +33,10 @@
# unbind every single normal keybinding # unbind every single normal keybinding
unbind-key -a unbind-key -a
# for special characters to work right
# like <C-_>
# set-window-option -g xterm-keys on
set -g set-titles on set -g set-titles on
set -s escape-time 0 set -s escape-time 0