Consolidate CLI tools and fix git aliases

- Consolidated 25+ common CLI tools into modules/common/base.nix
- Added modern rust-based tools (eza, bat, ripgrep, etc.) system-wide
- Removed duplicated packages from user and machine configs
- Added consistent shell aliases for modern CLI tools
- Fixed gpa alias to properly push to all remotes
- Removed duplicate git-push-all alias from geir.nix
- Added comprehensive documentation in CLI_TOOLS_CONSOLIDATION.md

Benefits:
- Single source of truth for common CLI tools
- Reduced duplication across 7+ configuration files
- Improved git workflow with flexible multi-remote pushing
- Better maintainability and consistency
This commit is contained in:
Geir Okkenhaug Jerstad 2025-06-08 09:28:10 +00:00
parent 73c3ac9386
commit 8884c42cf2
8 changed files with 188 additions and 85 deletions

View file

@ -25,23 +25,14 @@
# Common aliases for all users
shellAliases = {
# Modern CLI tool replacements
"ls" = "eza --color=auto --group-directories-first";
# Modern CLI tool replacements (basic ones moved to base.nix)
"ll" = "eza -l --color=auto --group-directories-first";
"la" = "eza -la --color=auto --group-directories-first";
"tree" = "eza --tree";
# Git shortcuts
"gs" = "git status";
"ga" = "git add";
"gc" = "git commit";
"gp" = "git push";
"gl" = "git log --oneline -10";
# Git shortcuts (basic ones moved to base.nix)
# System shortcuts
"grep" = "rg";
"find" = "fd";
"cat" = "bat";
# System shortcuts (some moved to base.nix)
"top" = "btop";
# Network
@ -64,21 +55,14 @@
# Common packages for all users
environment.systemPackages = with pkgs; [
# Essential CLI tools (already configured in base.nix)
# Essential CLI tools moved to base.nix
# Adding user-specific tools here
# Communication
firefox
# Development (basic)
git
curl
wget
# Utilities
file
unzip
zip
# Development (basic tools moved to base.nix)
# Additional utilities not in base.nix
];
# Common security settings

View file

@ -41,23 +41,15 @@ in
kitty
terminator
starship
fastfetch
hyfetch
zellij
glances
htop
bottom
systemctl-tui
# Essential system tools
wget
curl
# Essential system tools (moved duplicates to base.nix)
mc
# Browsers & Communication
firefox
chromium
vesktop
vivaldi vivaldi-ffmpeg-codecs
# Shell Enhancement & Fun
nerdfetch
@ -70,14 +62,12 @@ in
pavucontrol
# Productivity
libreoffice
koodo-reader
# Development & System Management
neovim
vscode
git-credential-manager
github-cli
nodejs
nodePackages.npm
virt-manager
@ -85,12 +75,12 @@ in
# Creative Tools (optional - remove if not needed)
gimp
obs-studio
# File Management
nautilus
file-roller
# Containers
inkscape
# AI Tools
opencode # AI code assistant
# Container tools
podman-compose
podman-desktop
@ -143,8 +133,7 @@ in
"collect" = "sudo nix-collect-garbage --d";
"optimise" = "sudo nix-store --optimise";
# Git shortcuts for multi-remote workflow
"git-push-all" = "git push origin main && git push github main";
# Git shortcuts for multi-remote workflow
"git-status-all" = "git status && echo '--- Checking origin ---' && git log origin/main..HEAD --oneline && echo '--- Checking github ---' && git log github/main..HEAD --oneline";
# Container shortcuts

View file

@ -31,33 +31,19 @@
# Essential admin packages
packages = with pkgs; [
# System monitoring and diagnostics
htop
# System monitoring and diagnostics (htop, lsof, strace moved to base.nix)
iotop
nethogs
lsof
strace
# Network tools
nmap
# Network tools (nmap moved to base.nix)
tcpdump
wireshark-cli
curl
wget
# File and disk utilities
tree
fd
ripgrep
fzf
ncdu
# File and disk utilities (tree, fd, ripgrep, fzf, ncdu moved to base.nix)
# Text processing
jq
yq
# Text processing (jq, yq moved to base.nix)
# Version control (for system configs)
git
# Version control (git moved to base.nix)
# Container management
podman-compose