Compare commits
6 Commits
a793777d5d
...
a6309af0e6
Author | SHA1 | Date |
---|---|---|
Moritz Böhme | a6309af0e6 | |
Moritz Böhme | 13642a683f | |
Moritz Böhme | 49afd873da | |
Moritz Böhme | 89fe11a95f | |
Moritz Böhme | fb41614b4f | |
Moritz Böhme | a12ae9cb3f |
|
@ -246,7 +246,6 @@ in
|
|||
f
|
||||
fd
|
||||
gi
|
||||
lazygit
|
||||
parallel
|
||||
ripgrep
|
||||
vim
|
||||
|
@ -300,6 +299,65 @@ in
|
|||
];
|
||||
};
|
||||
starship.enable = true;
|
||||
lazygit.enable = true;
|
||||
lazygit.settings = {
|
||||
customCommands = [
|
||||
{
|
||||
key = "<c-v>";
|
||||
context = "global";
|
||||
description = "Create new conventional commit";
|
||||
prompts = [
|
||||
{
|
||||
type = "menu";
|
||||
key = "Type";
|
||||
title = "Type of change";
|
||||
options = [
|
||||
{ name = "build"; description = "Changes that affect the build system or external dependencies"; value = "build"; }
|
||||
{ name = "feat"; description = "A new feature"; value = "feat"; }
|
||||
{ name = "fix"; description = "A bug fix"; value = "fix"; }
|
||||
{ name = "chore"; description = "Other changes that don't modify src or test files"; value = "chore"; }
|
||||
{ name = "ci"; description = "Changes to CI configuration files and scripts"; value = "ci"; }
|
||||
{ name = "docs"; description = "Documentation only changes"; value = "docs"; }
|
||||
{ name = "perf"; description = "A code change that improves performance"; value = "perf"; }
|
||||
{ name = "refactor"; description = "A code change that neither fixes a bug nor adds a feature"; value = "refactor"; }
|
||||
{ name = "revert"; description = "Reverts a previous commit"; value = "revert"; }
|
||||
{ name = "style"; description = "Changes that do not affect the meaning of the code"; value = "style"; }
|
||||
{ name = "test"; description = "Adding missing tests or correcting existing tests"; value = "test"; }
|
||||
];
|
||||
}
|
||||
{
|
||||
type = "input";
|
||||
title = "Scope";
|
||||
key = "Scope";
|
||||
initialValue = "";
|
||||
}
|
||||
{
|
||||
type = "menu";
|
||||
key = "Breaking";
|
||||
title = "Breaking change";
|
||||
options = [
|
||||
{ name = "no"; value = ""; }
|
||||
{ name = "yes"; value = "!"; }
|
||||
];
|
||||
}
|
||||
{
|
||||
type = "input";
|
||||
title = "message";
|
||||
key = "Message";
|
||||
initialValue = "";
|
||||
}
|
||||
{
|
||||
type = "confirm";
|
||||
key = "Confirm";
|
||||
title = "Commit";
|
||||
body = "Are you sure you want to commit?";
|
||||
}
|
||||
];
|
||||
command = "git commit --message '{{.Form.Type}}{{ if .Form.Scope }}({{ .Form.Scope }}){{ end }}{{.Form.Breaking}}: {{.Form.Message}}'";
|
||||
loadingText = "Creating conventional commit...";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
home = {
|
||||
username = "moritz";
|
||||
|
|
|
@ -19,14 +19,28 @@ in
|
|||
require("avante_lib").load()
|
||||
require("avante").setup({
|
||||
provider = "openai",
|
||||
auto_suggestions_provider = "openai",
|
||||
auto_suggestions_provider = "openai-cheap",
|
||||
behaviour = {
|
||||
-- auto_suggestions = true,
|
||||
auto_suggestions = false,
|
||||
},
|
||||
openai = {
|
||||
model = "gpt-4o",
|
||||
api_key_name = "cmd:cat /run/agenix/openai"
|
||||
}
|
||||
api_key_name = "cmd:cat /run/agenix/openai",
|
||||
},
|
||||
vendors = {
|
||||
---@type AvanteProvider
|
||||
["openai-cheap"] = {
|
||||
model = "gpt-4o-mini",
|
||||
api_key_name = "cmd:cat /run/agenix/openai",
|
||||
endpoint = "https://api.openai.com/v1",
|
||||
parse_curl_args = function(opts, code_opts)
|
||||
return require("avante.providers").openai.parse_curl_args(opts, code_opts)
|
||||
end,
|
||||
parse_response_data = function(data_stream, event_state, opts)
|
||||
return require("avante.providers").openai.parse_response(data_stream, event_state, opts)
|
||||
end
|
||||
},
|
||||
},
|
||||
})
|
||||
'';
|
||||
plugins.dressing.enable = true;
|
||||
|
|
|
@ -10,6 +10,7 @@ in
|
|||
colorschemes.catppuccin = {
|
||||
enable = true;
|
||||
settings.flavour = "macchiato";
|
||||
settings.default_integrations = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -26,6 +26,9 @@ in
|
|||
{
|
||||
keymaps = [
|
||||
{ key = "<esc>"; action = "<cmd>noh<cr><esc>"; options.desc = "Escape and clear hlsearch"; mode = [ "i" "n" ]; }
|
||||
{ key = "<"; action = "<gv"; options.desc = "Shift left"; mode = [ "v" ]; }
|
||||
{ key = ">"; action = ">gv"; options.desc = "Shift right"; mode = [ "v" ]; }
|
||||
{ key = "y"; action = "ygv<esc>"; options.desc = "Yank"; mode = [ "v" ]; }
|
||||
];
|
||||
}
|
||||
{ plugins.oil.enable = true; }
|
||||
|
|
|
@ -0,0 +1,91 @@
|
|||
{ config, lib, pkgs, inputs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf readFile;
|
||||
in
|
||||
{
|
||||
home-manager.users.moritz.programs.nixvim = {
|
||||
plugins.treesitter-textobjects = {
|
||||
enable = true;
|
||||
move = {
|
||||
enable = true;
|
||||
gotoNext = {
|
||||
"]f" = {
|
||||
desc = "Next function";
|
||||
query = "@function.outer";
|
||||
};
|
||||
"]c" = {
|
||||
desc = "Next class";
|
||||
query = "@class.outer";
|
||||
};
|
||||
"]b" = {
|
||||
desc = "Next block";
|
||||
query = "@block.outer";
|
||||
};
|
||||
"]P" = {
|
||||
desc = "Next parameter";
|
||||
query = "@parameter.outer";
|
||||
};
|
||||
};
|
||||
gotoPrevious = {
|
||||
"[f" = {
|
||||
desc = "Previous function";
|
||||
query = "@function.outer";
|
||||
};
|
||||
"[c" = {
|
||||
desc = "Previous class";
|
||||
query = "@class.outer";
|
||||
};
|
||||
"[b" = {
|
||||
desc = "Previous block";
|
||||
query = "@block.outer";
|
||||
};
|
||||
"[P" = {
|
||||
desc = "Previous parameter";
|
||||
query = "@parameter.outer";
|
||||
};
|
||||
};
|
||||
};
|
||||
select = {
|
||||
enable = true;
|
||||
keymaps = {
|
||||
"af" = {
|
||||
desc = "function";
|
||||
query = "@function.outer";
|
||||
};
|
||||
"if" = {
|
||||
desc = "inner function";
|
||||
query = "@function.inner";
|
||||
};
|
||||
"ac" = {
|
||||
desc = "class";
|
||||
query = "@class.outer";
|
||||
};
|
||||
"ic" = {
|
||||
desc = "inner class";
|
||||
query = "@class.inner";
|
||||
};
|
||||
"ab" = {
|
||||
desc = "block";
|
||||
query = "@block.outer";
|
||||
};
|
||||
"ib" = {
|
||||
desc = "inner block";
|
||||
query = "@block.inner";
|
||||
};
|
||||
"aP" = {
|
||||
desc = "parameter";
|
||||
query = "@parameter.outer";
|
||||
};
|
||||
"iP" = {
|
||||
desc = "inner parameter";
|
||||
query = "@parameter.inner";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
performance.combinePlugins.standalonePlugins = [
|
||||
"nvim-treesitter-textobjects"
|
||||
];
|
||||
};
|
||||
}
|
|
@ -11,6 +11,12 @@ in
|
|||
nixvimInjections = true;
|
||||
settings.indent.enable = true;
|
||||
settings.highlight.enable = true;
|
||||
settings.incremental_selection = {
|
||||
enable = true;
|
||||
keymaps.init_selection = "gn";
|
||||
keymaps.node_decremental = "gp";
|
||||
keymaps.node_incremental = "gn";
|
||||
};
|
||||
};
|
||||
performance.combinePlugins.standalonePlugins = [
|
||||
"nvim-treesitter"
|
||||
|
|
Loading…
Reference in New Issue