added modular bash command-picker
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
- name: Create .bashrc.d directory
|
||||
file:
|
||||
path: /home/robert/.bashrc.d
|
||||
state: directory
|
||||
owner: robert
|
||||
group: robert
|
||||
mode: '0755'
|
||||
|
||||
- name: Install command picker
|
||||
copy:
|
||||
src: files/command-picker/command-picker.sh
|
||||
dest: /home/robert/.bashrc.d/command-picker.sh
|
||||
owner: robert
|
||||
group: robert
|
||||
mode: '0644'
|
||||
|
||||
- name: Create commands directory
|
||||
file:
|
||||
path: /home/robert/.config/commands
|
||||
state: directory
|
||||
owner: robert
|
||||
group: robert
|
||||
mode: '0755'
|
||||
|
||||
- name: Install Linux command library
|
||||
copy:
|
||||
src: files/command-picker/linux.txt
|
||||
dest: /home/robert/.config/commands/linux.txt
|
||||
owner: robert
|
||||
group: robert
|
||||
mode: '0644'
|
||||
|
||||
- name: Add .bashrc.d loader to .bashrc
|
||||
blockinfile:
|
||||
path: /home/robert/.bashrc
|
||||
marker: "# {mark} ANSIBLE MANAGED COMMAND PICKER"
|
||||
block: |
|
||||
# Load Bash configuration snippets
|
||||
if [ -d "$HOME/.bashrc.d" ]; then
|
||||
for file in "$HOME/.bashrc.d/"*.sh; do
|
||||
[ -r "$file" ] && . "$file"
|
||||
done
|
||||
fi
|
||||
@@ -0,0 +1,16 @@
|
||||
# Command picker using fzf
|
||||
commands() {
|
||||
local cmd
|
||||
cmd=$(grep -vE '^[[:space:]]*#|^[[:space:]]*$' ~/.config/commands/linux.txt |
|
||||
fzf --height 50% --layout=reverse --border --prompt='Command: ')
|
||||
|
||||
if [[ -n "$cmd" ]]; then
|
||||
READLINE_LINE="$cmd"
|
||||
READLINE_POINT=${#READLINE_LINE}
|
||||
fi
|
||||
}
|
||||
|
||||
# Ctrl+G opens the command picker
|
||||
if [[ $- == *i* ]]; then
|
||||
bind -x '"\C-g": commands'
|
||||
fi
|
||||
@@ -0,0 +1,27 @@
|
||||
# ===== Proxmox =====
|
||||
pveversion -v
|
||||
qm list
|
||||
pct list
|
||||
pvesm status
|
||||
|
||||
# ===== Docker =====
|
||||
docker ps
|
||||
docker compose ps
|
||||
docker compose logs -f
|
||||
docker stats
|
||||
|
||||
# ===== Disk =====
|
||||
lsblk -f
|
||||
df -h
|
||||
du -sh *
|
||||
sudo smartctl -a /dev/sda
|
||||
|
||||
# ===== Network =====
|
||||
ip addr
|
||||
ip route
|
||||
ss -tulpn
|
||||
|
||||
# ===== Files =====
|
||||
ls -lah
|
||||
find . -maxdepth 2 -type f
|
||||
rsync -avh --progress SOURCE/ DEST/
|
||||
@@ -18,11 +18,3 @@
|
||||
owner: robert
|
||||
group: robert
|
||||
mode: 0600
|
||||
|
||||
- name: copy .bashrc to server
|
||||
copy:
|
||||
src: files/bashrc
|
||||
dest: /home/robert/.bashrc
|
||||
owner: robert
|
||||
group: robert
|
||||
mode: 0600
|
||||
|
||||
Reference in New Issue
Block a user