Add QMK Cheat config

This commit is contained in:
muon 2025-08-16 18:47:43 +00:00
parent 72ef424ba1
commit 00433dd778
6 changed files with 139 additions and 89 deletions

View file

@ -1,8 +1,14 @@
{ pkgs, lib, config, inputs, ... }: {
{
pkgs,
lib,
config,
inputs,
...
}: {
options.mods.terminal.development.enable =
lib.mkEnableOption "enables cli editor";
imports = [ inputs.nvf.homeManagerModules.default ];
imports = [inputs.nvf.homeManagerModules.default];
config = lib.mkIf config.mods.terminal.development.enable {
home.packages = with pkgs; [
@ -36,18 +42,18 @@
settings = {
keys.normal = {
"esc" = [ "collapse_selection" "keep_primary_selection" ];
"esc" = ["collapse_selection" "keep_primary_selection"];
"Z" = {
"Q" = ":quit!";
"Z" = ":write-quit!";
};
"V" = [ "select_mode" "extend_to_line_bounds" ];
"V" = ["select_mode" "extend_to_line_bounds"];
};
editor = {
line-number = "relative";
completion-replace = true;
bufferline = "always";
rulers = [ 80 ];
rulers = [80];
soft-wrap.enable = true;
indent-guides.render = true;
cursor-shape = {
@ -76,18 +82,18 @@
}
{
name = "glsl";
language-servers = [ "glsl" ];
language-servers = ["glsl"];
}
{
name = "wgsl";
language-servers = [ "wgsl" ];
language-servers = ["wgsl"];
}
{
name = "python";
auto-format = true;
formatter = {
command = "${pkgs.black}/bin/black";
args = [ "-" "--quiet" "--line-length=79" ];
args = ["-" "--quiet" "--line-length=79"];
};
}
];
@ -118,7 +124,11 @@
rust.crates.enable = true;
python.enable = true;
python.format.type = "ruff";
clang.enable = true;
clang = {
enable = true;
cHeader = true;
};
};
statusline.lualine.enable = true;
@ -140,7 +150,7 @@
todo-comments.enable = true;
};
spellcheck = { enable = true; };
spellcheck = {enable = true;};
binds = {
whichKey.enable = true;

View file

@ -1,73 +1,84 @@
{ pkgs, lib, config, ... }:
let cfg = config.mods.terminal;
in with lib; {
options.mods.terminal.tools.enable = mkEnableOption "enables cli tools";
{
pkgs,
lib,
config,
...
}: let
cfg = config.mods.terminal;
in
with lib; {
options.mods.terminal.tools.enable = mkEnableOption "enables cli tools";
config = mkIf cfg.tools.enable {
config = mkIf cfg.tools.enable {
programs =
builtins.listToAttrs (map (name: {
name = name;
value =
{
enable = true;
}
// optionalAttrs
(builtins.hasAttr "enableZshIntegration" config.programs.${name}) {
enableZshIntegration = mkIf cfg.zsh.enable true;
};
}) [
"zellij"
"fzf"
"eza"
"bat"
"zoxide"
"dircolors"
"nix-index"
programs = builtins.listToAttrs (map (name: {
name = name;
value = {
enable = true;
} // optionalAttrs
(builtins.hasAttr "enableZshIntegration" config.programs.${name}) {
enableZshIntegration = mkIf cfg.zsh.enable true;
};
}) [
"zellij"
"fzf"
"eza"
"bat"
"zoxide"
"dircolors"
"nix-index"
"lazygit"
"fd"
"ripgrep"
"bottom"
"htop"
"vifm"
"rbw"
]) // {
atuin = {
enable = true;
enableZshIntegration = true;
flags = [ "--disable-up-arrow" ];
settings = {
sync_frequency = "5m";
sync_address = "https://atuin.muon.host";
key_path = config.sops.secrets.atuin-auth.path;
keymap_mode = "vim-insert";
keymap_cursor = {
vim_insert = "blink-bar";
vim_normal = "steady-block";
"lazygit"
"fd"
"ripgrep"
"bottom"
"htop"
"vifm"
"rbw"
])
// {
atuin = {
enable = true;
enableZshIntegration = true;
flags = ["--disable-up-arrow"];
settings = {
sync_frequency = "5m";
sync_address = "https://atuin.muon.host";
key_path = config.sops.secrets.atuin-auth.path;
keymap_mode = "vim-insert";
keymap_cursor = {
vim_insert = "blink-bar";
vim_normal = "steady-block";
};
};
};
};
};
home.packages = with pkgs; [
# libraries
glow
ueberzugpp
# file managing
trash-cli
dua
fdupes
vifm
unzip
# email
aerc
# security
pinentry-tty
# utilities
fend
xclip
just
devenv
];
};
home.packages = with pkgs; [
# libraries
glow
ueberzugpp
# file managing
trash-cli
dua
fdupes
vifm
unzip
# email
aerc
# security
pinentry-tty
# utilities
fend
xclip
];
};
}
}