Files
bankrupt/home-manager/terminal.nix
T
2025-11-15 23:17:12 +08:00

111 lines
1.9 KiB
Nix

# Terminal applications and utilities
{
inputs,
lib,
config,
pkgs,
...
}: {
home.packages = with pkgs; [
# Modern CLI tools
ripgrep # Better grep
fd # Better find
sd # Better sed
du-dust # Better du
duf # Better df
procs # Better ps
bottom # Better top/htop
# File managers
# ranger
# nnn
# lf
# Multiplexers
# tmux
# zellij
];
# Tmux configuration
programs.tmux = {
enable = true;
terminal = "tmux-256color";
historyLimit = 10000;
baseIndex = 1;
keyMode = "vi";
mouse = true;
plugins = with pkgs.tmuxPlugins; [
sensible
yank
vim-tmux-navigator
];
extraConfig = ''
# Split panes using | and -
bind | split-window -h
bind - split-window -v
unbind '"'
unbind %
# Reload config
bind r source-file ~/.config/tmux/tmux.conf
# Easy pane switching
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D
'';
};
# Neovim (optional, can be expanded)
programs.neovim = {
enable = true;
defaultEditor = true;
viAlias = true;
vimAlias = true;
extraConfig = ''
set number
set relativenumber
set expandtab
set tabstop=2
set shiftwidth=2
set smartindent
set clipboard=unnamedplus
'';
};
# Alacritty terminal emulator configuration
programs.alacritty = {
enable = true;
settings = {
window = {
padding = {
x = 10;
y = 10;
};
decorations = "full";
opacity = 0.95;
};
font = {
size = 13.0;
normal = {
family = "JetBrainsMono Nerd Font";
style = "Regular";
};
};
colors = {
primary = {
background = "0x1e1e1e";
foreground = "0xd4d4d4";
};
};
};
};
}