refactor: use michaotic username throughout, add cli/kitty/zsh configs and docs

This commit is contained in:
mikl 2026-06-28 23:54:14 +03:00
commit 5c14cf0539
17 changed files with 509 additions and 36 deletions

53
home/cli.nix Normal file
View file

@ -0,0 +1,53 @@
{ pkgs, ... }:
{
# Universal CLI tools for all hosts
home.packages = with pkgs; [
eza
bat
ripgrep
fd
fzf
tree
htop
tldr
];
# FZF fuzzy finder
programs.fzf = {
enable = true;
enableZshIntegration = true;
defaultCommand = "fd --type f --hidden --exclude .git";
defaultOptions = [
"--height 40%"
"--layout=reverse"
"--border"
];
};
# Zoxide - smarter cd
programs.zoxide = {
enable = true;
enableZshIntegration = true;
options = [ "--cmd cd" ];
};
# Bat - cat with syntax highlighting
programs.bat = {
enable = true;
config = {
theme = "Catppuccin-mocha";
italic-text = "always";
style = "numbers,changes,header";
};
};
# Eza - modern ls replacement
programs.eza = {
enable = true;
icons = "auto";
git = true;
};
# Fastfetch - system info (using package only, no home-manager module)
# Config is in ~/.config/fastfetch/config.jsonc manually for now
}

View file

@ -1,13 +1,11 @@
{ pkgs, ... }:
{
home.stateVersion = "25.11";
imports = [
./cli.nix
./zsh.nix
];
programs.zsh.enable = true;
home.stateVersion = "24.11";
programs.git.enable = true;
home.packages = [
pkgs.ripgrep
pkgs.fd
];
}
}

46
home/kitty.nix Normal file
View file

@ -0,0 +1,46 @@
{ pkgs, ... }:
{
programs.kitty = {
enable = true;
font = {
name = "JetBrainsMono Nerd Font";
size = 12;
};
themeFile = "Catppuccin-Mocha";
settings = {
background_opacity = "1";
dynamic_background_opacity = "yes";
background_blur = 16;
cursor_shape = "beam";
modify_font = "cell_height 110%";
bold_font = "auto";
disable_ligatures = "never";
adjust_line_height = "0";
adjust_column_width = "0";
tab_bar_min_tabs = 1;
tab_bar_edge = "bottom";
tab_bar_style = "powerline";
tab_powerline_style = "slanted";
tab_title_template = "{title}{' :{}:'.format(num_windows) if num_windows > 1 else ''}";
scrollback_lines = 10000;
# Copy/paste with non-latin layouts
map_cmd_v = "paste_from_clipboard";
map_cmd_c = "copy_to_clipboard";
# Russian layout aliases (Cmd)
"map cmd+м" = "paste_from_clipboard";
"map cmd+с" = "copy_to_clipboard";
};
extraConfig = ''
include ~/.config/kitty/cyrillic-shortcuts.conf
'';
};
}

64
home/zsh.nix Normal file
View file

@ -0,0 +1,64 @@
{ pkgs, ... }:
{
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
# History
history = {
size = 10000;
save = 10000;
ignoreDups = true;
share = true;
extended = true;
};
# Pure prompt
plugins = [
{
name = "pure";
src = pkgs.fetchFromGitHub {
owner = "sindresorhus";
repo = "pure";
rev = "v1.23.0";
sha256 = "sha256-BmQO4xqd/3QnpLUitD2obVxL0UulpboT8jGNEh4ri8k=";
};
}
{
name = "zsh-syntax-highlighting";
file = "share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh";
src = pkgs.zsh-syntax-highlighting;
}
{
name = "zsh-autosuggestions";
file = "share/zsh-autosuggestions/zsh-autosuggestions.zsh";
src = pkgs.zsh-autosuggestions;
}
];
# Base aliases (universal)
shellAliases = {
ll = "eza -l --icons --git";
la = "eza -la --icons --git";
};
# Init content - runs on shell start
initContent = ''
# Load pure prompt
autoload -U promptinit; promptinit
prompt pure
# Right prompt - time in gray
RPROMPT='%F{240}%D{%H:%M:%S}%f'
# Pure prompt customization
zstyle ':prompt:pure:prompt:success' color green
zstyle ':prompt:pure:prompt:success' symbol ">"
zstyle ':prompt:pure:prompt:error' color red
zstyle ':prompt:pure:prompt:error' symbol ">"
'';
};
}