Files
role-common-packages/defaults/main.yml

154 lines
4.3 KiB
YAML

# SPDX-License-Identifier: MIT
packages_linux_common_all_families:
# A download manager more capable than wget
- 'aria2'
# Shell-based math operations
- 'bc'
# A nice system stats and health overview
- 'btop'
# Brings mkfs.fat and related tools for the rare occasion that we absolutely
# have to work with a FAT-formatted partition.
- 'dosfstools'
# DHCP server response debugging
- 'dhcping'
# Fast host liveness scanner
- 'fping'
# Version control
- 'git'
# Network bandwidth and performance measurement
- 'iperf3'
# Manipulate JSON
- 'jq'
# All things FTP, SFTP, FTP over SSL etc.
- 'lftp'
# Log file navigator
- 'lnav'
# Process inspector
- 'lsof'
# In-memory file transfer buffer
- 'mbuffer'
# Advanced trace routes
- 'mtr'
# ncurses disk usage
- 'ncdu'
# Network performance measurement
- 'netperf'
# Run multiple processes in parallel, mostly when they don't do so natively
# to better utilize CPU resources for a performance boost
- 'parallel'
# Partition editor
- 'parted'
# Apply patch files
- 'patch'
# Parallel gzip
- 'pigz'
# Pipe viewer to visualize network throughput inbetween two shell pipes
- 'pv'
# Multi-purpose file transfer
- 'rclone'
# Best-in-class data sync
- 'rsync'
# Hardware stress testing
- 'stress-ng'
# E-mail transfer debugging
- 'swaks'
# System statistics and load monitor
- 'sysstat'
# Network traffic inspector
- 'tcpdump'
# Nice interface to WireShark CLI
- 'termshark'
# Terminal multiplexer
- 'tmux'
# Basic trace routes
- 'traceroute'
# Print directory tree content
- 'tree'
# Unzip zip files
- 'unzip'
# Basic file transfer utility
- 'wget'
packages_linux_common_archlinux:
# We care about dig to debug DNS server responses
- 'bind'
# A nicer CLI diff tool
- 'difftastic'
# Better ls
- 'eza'
# YAML file manipulation, diffs, merges etc.
- 'go-yq'
# GPT disk editor
- 'gptfdisk'
# Send crafted TCP packets for debugging purposes
- 'openbsd-netcat'
# Allow a Proxmox VE hostto interact with a VM
- 'qemu-guest-agent'
# Python manager
- 'uv'
# WireShark CLI
- 'wireshark-cli'
packages_linux_paru_archlinux:
- 'downgrade'
- 'flent'
- 'mmv'
- 'paccache-hook'
- 'tmux-resurrect'
packages_linux_common_debian:
- 'apt-file'
- 'bind9-dnsutils'
- 'debconf-utils'
- 'exa'
- 'flent'
- 'gdisk'
- 'mmv'
- 'netcat-openbsd'
- 'tshark'
- 'unattended-upgrades'
- 'xxd'
package_config:
- name: 'tmux'
global_config_file: '/etc/tmux.conf'
marker: 'sane defaults'
global_config: |
# Renumber windows when one is deleted
set-option -g renumber-windows on
# Enable mouse control (clickable windows, panes, resizable panes)
set -g mouse on
- name: 'git'
global_config_file: '/etc/gitconfig'
marker: 'sane defaults'
global_config: |
[alias]
# https://stackoverflow.com/a/30998048
# Find merge that contains a given commit
find-merge = "!sh -c 'commit=$0 && branch=${1:-HEAD} && (git rev-list $commit..$branch --ancestry-path | cat -n; git rev-list $commit..$branch --first-parent | cat -n) | sort -k2 -s | uniq -f1 -d | sort -n | tail -1 | cut -f2'"
# https://stackoverflow.com/a/30998048
# Show merge commit msg and other details of merge commit
# that contains a given commit
show-merge = "!sh -c 'merge=$(git find-merge $0 $1) && [ -n \"$merge\" ] && git show $merge'"
# https://stackoverflow.com/a/23508223
# Show all commits that are part of a merge commit
log-merge = "!f() { git log --stat \"$1^..$1\"; }; f"
tmux_global_config_file: '/etc/tmux.conf'
tmux_global_config_resurrect: |
# Auto-load tmux-resurrect
# prefix + Ctrl-s - save
# prefix + Ctrl-r - restore
run-shell /usr/share/tmux-resurrect/resurrect.tmux
# Restore pane content (not just running commands)
# This will e.g. show the last 'ls' output you did in a pane
set -g @resurrect-capture-pane-contents 'on'
# Restore a few additional processes beyond the conservative default of
# vi vim nvim emacs man less more tail top htop irssi weechat mutt
set -g @resurrect-processes 'btop journalctl ncdu watch'