refactor: use michaotic username throughout, add cli/kitty/zsh configs and docs
This commit is contained in:
parent
1f960a53a5
commit
5c14cf0539
17 changed files with 509 additions and 36 deletions
53
home/cli.nix
Normal file
53
home/cli.nix
Normal 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
|
||||
}
|
||||
|
|
@ -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
46
home/kitty.nix
Normal 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
64
home/zsh.nix
Normal 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 ">"
|
||||
'';
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue