home: modularize user packages

This commit is contained in:
Alex Maldonado
2026-05-13 11:28:54 -04:00
parent 2cfe1045b1
commit eabe727775
12 changed files with 199 additions and 10 deletions
+131
View File
@@ -0,0 +1,131 @@
{ pkgs, lib, ... }:
let
macKeys = {
"Cmd-b" = "page_up";
"Cmd-f" = "page_down";
"Cmd-u" = "page_cursor_half_up";
"Cmd-d" = "page_cursor_half_down";
"Cmd-j" = "insert_newline";
"Cmd-h" = "delete_char_backward";
"Cmd-w" = "delete_word_backward";
"Cmd-x" = "completion";
"Cmd-c" = "toggle_comments";
"Cmd-i" = "jump_forward";
"Cmd-o" = "jump_backward";
"Cmd-s" = "save_selection";
"Cmd-r" = "insert_register";
"Cmd-z" = "suspend";
"Cmd-a" = "increment";
};
in
{
programs.helix = {
enable = true;
defaultEditor = true;
settings = {
theme = "onedark";
editor = {
scrolloff = 10;
mouse = true;
middle-click-paste = true;
scroll-lines = 3;
line-number = "absolute";
cursorline = false;
cursorcolumn = false;
continue-comments = true;
auto-completion = true;
path-completion = true;
auto-format = true;
preview-completion-insert = true;
completion-trigger-len = 2;
auto-info = true;
true-color = true;
bufferline = "multiple";
rulers = [ 88 ];
color-modes = false;
text-width = 88;
default-line-ending = "lf";
insert-final-newline = true;
auto-pairs = false;
lsp = {
enable = true;
display-messages = true;
auto-signature-help = true;
display-inlay-hints = true;
display-signature-help-docs = true;
snippets = true;
goto-reference-include-declaration = true;
};
cursor-shape = {
normal = "block";
insert = "bar";
select = "block";
};
file-picker = {
hidden = false;
follow-symlinks = true;
ignore = true;
git-ignore = false;
};
auto-save = {
focus-lost = false;
after-delay.enable = false;
};
search = {
smart-case = true;
wrap-around = true;
};
whitespace.render = {
space = "none";
tab = "all";
nbsp = "none";
nnbsp = "none";
newline = "none";
};
whitespace.characters = {
tab = "→";
};
indent-guides = {
render = true;
character = "⎪";
skip-levels = 1;
};
soft-wrap = {
enable = true;
max-wrap = 25;
};
inline-diagnostics = {
cursor-line = "info";
};
};
keys.normal = {
"C-g" = [ ":new" ":insert-output lazygit" ":buffer-close!" ":redraw" ];
"d" = "delete_selection_noyank";
"A-d" = "delete_selection";
} // lib.optionalAttrs pkgs.stdenv.isDarwin macKeys;
keys.select = {
} // lib.optionalAttrs pkgs.stdenv.isDarwin macKeys;
};
extraPackages = with pkgs; [
marksman
nil
];
};
}