added modular bash command-picker
This commit is contained in:
@@ -14,3 +14,4 @@
|
|||||||
- include_tasks: tasks/packages.yml
|
- include_tasks: tasks/packages.yml
|
||||||
- include_tasks: tasks/remove.yml
|
- include_tasks: tasks/remove.yml
|
||||||
- include_tasks: tasks/starship.yml
|
- include_tasks: tasks/starship.yml
|
||||||
|
- include_tasks: tasks/command-picker.yml
|
||||||
|
|||||||
@@ -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
|
owner: robert
|
||||||
group: robert
|
group: robert
|
||||||
mode: 0600
|
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