initial commit

This commit is contained in:
gwg313 2026-04-15 18:26:05 -04:00
commit ebc1be5217
Signed by: gwg313
GPG key ID: 60FF63B4826B7400
143 changed files with 7721 additions and 0 deletions

View file

@ -0,0 +1,23 @@
{ ... }:
{
config.dendritic.features.cli-zoxide = {
homeModules = [
(
{ ... }:
{
programs.zoxide = {
enable = true;
enableZshIntegration = true;
};
programs.zsh = {
shellAliases = {
cd = "z";
};
};
}
)
];
};
}

View file

@ -0,0 +1,150 @@
{ ... }:
{
config.dendritic.features.cli-zsh = {
homeModules = [
(
{ config, pkgs, ... }:
{
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
syntaxHighlighting.highlighters = [
"main"
"brackets"
"pattern"
"regexp"
"root"
"line"
];
historySubstringSearch.enable = true;
shellAliases = {
update = "sudo nixos-rebuild switch";
clean = "nix-collect-garbage -d";
repair = "nix-store --repair --verify --check-contents";
reload = "source ~/.zshrc";
"." = "cd ../";
".." = "cd ../../";
"..." = "cd ../../../";
"...." = "cd ../../../../";
ps = "procs";
grep = "rg";
cat = "bat --theme=base16 --color=always --paging=never --tabs=2 --wrap=never --plain";
vim = "nvim";
# Default flags
rm = "rm -i";
chmod = "chmod -R";
cp = "cp -R -i -v";
mv = "mv -i -v";
mkdir = "mkdir -p -v";
df = "df -h";
du = "du -h -s";
dd = "dd status=progress bs=4M conv=fdatasync ";
wgetpaste = "wgetpaste -Xx";
sudo = "sudo "; # Makes sudo work with es
ssh = "TERM=xterm ssh"; # Fixes some issues with ssh on some terminals
wget = "wget -c";
ping = "ping -c 5";
ftp = "ftp -p";
# Misc alieses I use often
ports = "ss -tulanp";
rmd = "rm -rf";
mine = "sudo chown -R $(whoami):users";
benchmark = "hyperfine --warmup 3 ";
c = "clear";
listen = "lsof -P -i -n";
octal = "stat -c '%a %n'";
f = "$(pay-respects zsh)";
};
history = {
size = 10000;
path = "${config.xdg.dataHome}/zsh/history";
};
initContent = ''
eval "$(pay-respects zsh --alias)"
# search history based on what's typed in the prompt
autoload -U history-search-end
zle -N history-beginning-search-backward-end history-search-end
zle -N history-beginning-search-forward-end history-search-end
bindkey "^[OA" history-beginning-search-backward-end
bindkey "^[OB" history-beginning-search-forward-end
# General completion behavior
zstyle ':completion:*' completer _extensions _complete _approximate
# Use cache
zstyle ':completion:*' use-cache on
zstyle ':completion:*' cache-path "$XDG_CACHE_HOME/zsh/.zcompcache"
# Complete the alias
zstyle ':completion:*' complete true
# Autocomplete options
zstyle ':completion:*' complete-options true
# Completion matching control
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
zstyle ':completion:*' keep-prefix true
# Group matches and describe
zstyle ':completion:*' menu select
zstyle ':completion:*' list-grouped false
zstyle ':completion:*' list-separator '''
zstyle ':completion:*' group-name '''
zstyle ':completion:*' verbose yes
zstyle ':completion:*:matches' group 'yes'
zstyle ':completion:*:warnings' format '%F{red}%B-- No match for: %d --%b%f'
zstyle ':completion:*:messages' format '%d'
zstyle ':completion:*:corrections' format '%B%d (errors: %e)%b'
zstyle ':completion:*:descriptions' format '[%d]'
# Colors
zstyle ':completion:*' list-colors ''${(s.:.)LS_COLORS}
# case insensitive tab completion
zstyle ':completion:*:*:cd:*' tag-order local-directories directory-stack path-directories
zstyle ':completion:*:*:cd:*:directory-stack' menu yes select
zstyle ':completion:*:-tilde-:*' group-order 'named-directories' 'path-directories' 'users' 'expand'
zstyle ':completion:*:*:-command-:*:*' group-order aliases builtins functions commands
zstyle ':completion:*' special-dirs true
zstyle ':completion:*' squeeze-slashes true
# Sort
zstyle ':completion:*' sort false
zstyle ":completion:*:git-checkout:*" sort false
zstyle ':completion:*' file-sort modification
zstyle ':completion:*:eza' sort false
zstyle ':completion:complete:*:options' sort false
zstyle ':completion:files' sort false
autoload -U compinit && compinit
export CARAPACE_BRIDGES='zsh,fish,bash,inshellisense' # optional
zstyle ':completion:*' format $'\e[2;37mCompleting %d\e[m'
source <(carapace _carapace)
zstyle ':completion:*:git:*' group-order 'main commands' 'alias commands' 'external commands'
'';
};
home.packages = with pkgs; [
fastfetch
pay-respects
];
}
)
];
};
}

View file

@ -0,0 +1,20 @@
{ ... }:
{
config.dendritic.features.dev-devenv = {
homeModules = [
(
{ pkgs, ... }:
{
home.packages = with pkgs; [
cachix
devenv
];
programs.direnv.enable = true;
programs.direnv.nix-direnv.enable = true;
}
)
];
};
}

View file

@ -0,0 +1,136 @@
{ ... }:
{
config.dendritic.features.filemanager-yazi = {
homeModules = [
(
{ pkgs, lib, ... }:
{
programs.yazi = {
enable = true;
enableZshIntegration = true;
shellWrapperName = "y";
plugins = {
starship = pkgs.yaziPlugins.starship;
full-border = pkgs.yaziPlugins.full-border;
chmod = pkgs.yaziPlugins.chmod;
compress = pkgs.yaziPlugins.compress;
smart-paste = pkgs.yaziPlugins.smart-paste;
smart-enter = pkgs.yaziPlugins.smart-enter;
smart-filter = pkgs.yaziPlugins.smart-filter;
};
settings = {
yazi = {
ratio = [
1
4
3
];
sort_by = "natural";
sort_sensitive = true;
sort_reverse = false;
sort_dir_first = true;
linemode = "none";
show_hidden = true;
show_symlink = true;
};
preview = {
image_filter = "lanczos3";
image_quality = 90;
tab_size = 1;
max_width = 600;
max_height = 900;
cache_dir = "";
ueberzug_scale = 1;
ueberzug_offset = [
0
0
0
0
];
};
tasks = {
micro_workers = 5;
macro_workers = 10;
bizarre_retry = 5;
};
};
initLua = ''
require("starship"):setup()
require("full-border"):setup()
require("smart-enter"):setup {
open_multi = true,
}
'';
keymap = {
mgr.prepend_keymap = [
{
on = [
"c"
"a"
"a"
];
run = "plugin compress";
desc = "Archive selected files";
}
{
on = [
"c"
"a"
"p"
];
run = "plugin compress -p";
desc = "Archive selected files (password)";
}
{
on = [
"c"
"a"
"h"
];
run = "plugin compress -ph";
desc = "Archive selected files (password+header)";
}
{
on = [
"c"
"a"
"l"
];
run = "plugin compress -l";
desc = "Archive selected files (compression level)";
}
{
on = [
"c"
"a"
"u"
];
run = "plugin compress -phl";
desc = "Archive selected files (password+header+level)";
}
{
on = "p";
run = "plugin smart-paste";
desc = "Paste into the hovered directory or CWD";
}
{
on = "l";
run = "plugin smart-enter";
desc = "Enter the child directory, or open the file";
}
{
on = "F";
run = "plugin smart-filter";
desc = "Smart filter";
}
];
};
};
}
)
];
};
}

View file

@ -0,0 +1,46 @@
{ ... }:
{
config.dendritic.features.git-lazygit = {
homeModules = [
(
{ config, lib, ... }:
let
accent = "#${config.lib.stylix.colors.base0D}";
muted = "#${config.lib.stylix.colors.base03}";
in
{
programs.lazygit = {
enable = true;
settings = lib.mkForce {
disableStartupPopups = true;
notARepository = "skip";
promptToReturnFromSubprocess = false;
update.method = "never";
git = {
commit.signOff = true;
overrideGpg = true;
};
gui = {
theme = {
activeBorderColor = [
accent
"bold"
];
inactiveBorderColor = [ muted ];
};
showListFooter = false;
showRandomTip = false;
showCommandLog = false;
showBottomLine = false;
nerdFontsVersion = "3";
};
};
};
}
)
];
};
}

View file

@ -0,0 +1,38 @@
{ ... }:
{
config.dendritic.features.terminal-ghostty = {
homeModules = [
(
{ pkgs, lib, ... }:
{
programs.ghostty = {
enable = true;
enableZshIntegration = true;
installVimSyntax = true;
settings = {
window-padding-x = 10;
window-padding-y = 10;
auto-update = "off";
working-directory = "home";
window-inherit-working-directory = false; # avoid inheritance
keybinds = [ ];
# background-opacity = 0.8;
background-opacity = 1;
confirm-close-surface = false;
font-family = lib.mkForce "Comic Code Ligatures";
# font-family = lib.mkForce "Terminus";
font-size = 14;
gtk-titlebar = false;
# theme = "Teerb";
};
};
home.packages = with pkgs; [
ueberzugpp
terminus_font_ttf
];
}
)
];
};
}