A collection of command-line utilities for developer setup, system administration, and automation.
This repository contains shell scripts for:
- Developer machine setup
- Interactive environment variable management
- Git automation
- Docker automation and scheduling
- System monitoring (temperature, user checks)
- Virtual Machine management (KVM/QEMU)
- Miscellaneous utilities (string generation, color palettes)
All tools are designed to be run in Unix-like environments.
Description:
A Go-based TUI (Text User Interface) for managing systemd services.
- Service Explorer: View and filter systemd services.
- Controls: Start, stop, and restart units.
- Logs: Integrated journalctl log viewing.
Description: Script to set up a new dev machine. It is designed to be idempotent, meaning you can run it multiple times safely to update your tools or configuration.
- Core Tools: Installs essential CLI tools. Modern tools like
eza,ripgrep,fd, andbatare installed from GitHub releases to ensure the latest versions. - Dev Tools: Installs the latest versions of
lazydockerandgolang. - Configuration:
- Configures
.bashrcwith necessary exports and integrations. - Copies
.bash_aliasesto~/.bash_aliases. - Sets up
tmuxconfiguration and plugins.
- Configures
- Neovim: Installs Neovim and sets up the LazyVim environment.
The setup includes plugins to improve the editing experience:
| Plugin | Purpose | Keybindings |
|---|---|---|
| flash.nvim | Fast navigation Jump to a visible character by typing its label. | s (Jump), S (Treesitter select), r (Remote) |
| trouble.nvim | Diagnostics & Symbols For project errors, warnings, and code structure. | <leader>xx (Project), <leader>xX (Buffer), <leader>cs (Symbols) |
| todo-comments.nvim | Task Tracking. Automatically highlights and indexes TODO, FIXME, and BUG comments. |
]t (Next), [t (Prev) |
| harpoon (v2) | Context Switching. Mark your most frequent files and jump between them instantly. | <leader>a (Add), <C-e> (Menu), <leader>1-4 (Quick Jump) |
Usage Tips:
- Flash: Press
s, start typing what you see, then press the highlighted label to teleport your cursor. - Harpoon: Use
<leader>aon the 2 or 3 files you are currently working on. Use<leader>1,<leader>2etc., to switch between them without using a buffer list or file tree. - Trouble: Use
<leader>xxto see a "command center" view of all linting errors or LSP warnings in your current project.
Description:
An interactive TUI for managing environment variables in a .env file. It provides a safe and structured way to view, add, edit, and delete variables without manual text editing.
- Interactive TUI: A full-screen, list-based interface to manage your environment variables.
- Variable Management: Add, edit, and delete variables and their associated comments.
- Smart Comments: Supports special comments (
##@ VAR_NAME comment text) that are linked to variables and preserved during edits. - Safe Editing: Automatically handles quoting for values with spaces.
- System Environment Import: Interactively view and import variables from your current system environment into the
.envfile. - External Editor Integration: Quickly open the
.envfile in your default editor ($EDITOR). - Automatic Discovery: Finds and edits the
.envfile in the project root by default, or you can specify a path.
Description: A utility to clean up unused Docker resources like containers, images, networks, and volumes.
- Prune stopped containers, unused networks, unused volumes, and dangling/unused images.
- Supports dry-run mode (
--dry-run). - Force option (
-f) to skip confirmation.
Description:
A simplified, color-coded network interface viewer. It provides a clean, at-a-glance alternative to the output of ip a.
- Clean Table View: Displays interfaces, state, IPv4, IPv6, and MAC addresses in a table.
- Color-Coded Status:
UPinterfaces are green,DOWNinterfaces are red. - Dependencies:
ip(fromiproute2) andjq.
INTERFACE STATE IPv4 IPv6 MAC
lo UP 127.0.0.1/8 ::1/128 00:00:00:00:00:00
eth0 UP 192.168.1.105/24 fe80::c2a0:30ff:fe39:8b4a/64 c0:a0:30:39:8b:4a
docker0 DOWN 172.17.0.1/16 - 02:42:ac:11:00:01
Description: Utility to automatically scale a Docker Compose service up or down based on resource utilization. It can run as a sidecar container and monitor the target service or on the host.
Note: A Go-based version of this tool is available in docker/go-scale/.
-
Scales based on CPU, Memory, or a combination of both.
-
Flexible Scaling Logic:
cpu: Scale based on average CPU usage.mem: Scale based on average Memory usage.any: Scale up if either CPU or Memory is high, but only scale down if both are low.
-
Fine-Grained Control:
- Set min/max replica counts.
- Configure CPU and Memory thresholds for scaling up and down.
- Define cooldown periods to prevent thrashing.
- Specify the number of instances to add during scale-up (
--scale-up-step). - Require multiple consecutive checks before scaling down to ensure stability (
--scale-down-checks).
-
Robust and Informative:
- Automatically detects and uses
docker compose(v2) ordocker-compose(v1). - Includes a
--dry-runmode to test your configuration without making changes. - Provides an initial grace period to allow services to stabilize on startup.
- Logs detailed status, scaling decisions, and heartbeats.
- Automatically detects and uses
Here is a typical docker-compose.yml setup for using the autoscaler as a sidecar container.
# docker-compose.yml
services:
# This is the sample application we want to autoscale.
# It has CPU limits to make it easier to stress and trigger scaling.
webapp:
image: nginx:alpine
deploy:
resources:
limits:
cpus: '0.5'
memory: 128M
# This service runs the autoscaler script.
autoscaler:
image: iamdanielv/utils:autoscale # Or build from source
volumes:
# Required to interact with the Docker daemon on the host
- /var/run/docker.sock:/var/run/docker.sock
# Mount the compose file so the script can find the service to validate it
- ./docker-compose.yml:/app/docker-compose.yml
command:
- "--service"
- "webapp"
- "--min"
- "1"
- "--max"
- "10"
- "--metric"
- "cpu"
- "--cpu-up"
- "20" # Scale up when avg CPU > 20%
- "--cpu-down"
- "5" # Scale down when avg CPU < 5%
- "--poll"
- "5" # Check metrics every 5 seconds
- "--initial-grace-period"
- "15" # Wait 15s on startup before first check
# - "--dry-run" # Uncomment to test without making changes
environment:
# This ensures the compose command inside the container targets the correct project
- COMPOSE_PROJECT_NAME=${PROJECT_NAME}To run this example:
-
Save the content above as
docker-compose.yml. -
Run
PROJECT_NAME=$(basename "$PWD") docker compose up. -
The
autoscalerwill start with onewebappinstance. -
To trigger a scale-up, you can generate load. For example, using
heyorab:# Install hey: sudo apt install hey hey -z 1m http://localhost:8080 -
Watch the logs from the
autoscalercontainer to see it detect the high CPU usage and scale thewebappservice up to the--maxlimit. When the load test finishes, it will eventually scale back down.
Description:
A Python-based scheduler that runs one-off tasks from your docker-compose.yml file based on a schedule. It discovers services to run by reading Docker labels.
- Cron Scheduling: Run tasks using standard cron expressions (e.g.,
* * * * *). - Interval Scheduling: Run tasks at a fixed interval (e.g., every 60 seconds).
- Simple Setup: Define your tasks as regular services in
docker-compose.yml, add ascheduler.cronorscheduler.intervallabel, and use aprofiles: ["donotstart"]to prevent them from running automatically. - Live Log Streaming: The scheduler captures and streams the logs from each task run in real-time, prefixed with the service name for clarity.
Here is a docker-compose.yml that defines the scheduler and two sample tasks: one running every 10 seconds (interval) and another running every minute (cron).
# docker-compose.yml
services:
# This service runs the scheduler script.
scheduler:
image: iamdanielv/utils:scheduler # Or build from source
volumes:
# Required to interact with the Docker daemon on the host
- /var/run/docker.sock:/var/run/docker.sock
# Mount this compose file so the scheduler can read the labels
- ./docker-compose.yml:/app/docker-compose.yml:ro
command:
- "--project-name"
- "${PROJECT_NAME}" # Pass the project name to the script
environment:
# This ensures the compose command inside the container targets the correct project
- PROJECT_NAME=${PROJECT_NAME}
# An example task that runs every 10 seconds.
task-interval:
image: alpine:latest
command: sh -c 'echo "-> Hello from the 10-second interval task! Timestamp: $(date)"'
labels:
- "scheduler.interval=10"
profiles: ["donotstart"] # Prevents this from starting with 'docker compose up'
# An example task that runs every minute via a cron schedule.
task-cron:
image: alpine:latest
command: sh -c 'echo "-> Hello from the cron task! Timestamp: $(date)"'
labels:
- "scheduler.cron=* * * * *"
profiles: ["donotstart"] # Prevents this from starting with 'docker compose up'To run this example:
- Save the content above as
docker-compose.yml. - Run
PROJECT_NAME=$(basename "$PWD") docker compose up scheduler. - Watch the logs from the
schedulercontainer. You will see it discover the two tasks and start running them based on their defined schedules, streaming their output in real-time.
Description: Continuously displays temperatures from system thermal sensors.
- Color-coded sensor readings (green/yellow/red).
- Trend arrows (โ/โ/โ) show change against a moving average.
- Supports multiple thermal sensors.
- Configurable refresh interval (
-i), temperature delta (-d), and averaging count (-a).
Description: Ensures the script is running as a specific user, attempting to switch with sudo if not.
- Automatically switches to target user with
sudo -u.
Description: Generates one or more random hexadecimal strings with configurable:
- Number of strings to generate (
-n, default: 3). - Length of each string (
-l, default: 5).
Description: A utility to display all 256 terminal colors for both foreground and background.
- Helps in choosing colors for shell scripts and TUIs.
- Can display colors as numbers or solid blocks (
-bflag). - Supports foreground (
-g fg) and background (-g bg) modes.
Description:
A TUI (Text User Interface) for managing KVM/QEMU virtual machines using virsh.
- Dashboard: View real-time status, CPU usage, and memory usage of all VMs.
- Controls: Start, shutdown, reboot, or force stop VMs.
- Details View: Inspect VM specifics like network interfaces (IP addresses), storage devices, and guest agent status.
VM Manager - Main View
โญโVM Managerโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ NAME STATE CPU MEM A/S
โโฑ ubuntu-server โ running 12.5% 8 GiB Yes
โ arch-linux โ shut off --- 4 GiB No
โ dns-service โ running 1.2% 1 GiB Yes
โ win11-test โ shut off --- 16 GiB No
โ docker-host โ running 5.4% 8 GiB Yes
โโControls:โโโฌโโโโโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโ
โ [โโ]Select โ [S]tart/Stop โ [R]eboot โ [F]orce Stop โ [?]Help
โฐ [jk]Select โ [I]nfo/Enter โ [C]lone โ [D]elete โ [Q]uit
VM Detail view
โญโVM Details: ubuntu-server ( โ running )โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ CPU(s): 4 Memory: 8 GiB Autostart: enable
โ Agent OS: Ubuntu 24.04 LTS
โโNetwork Interfaces (Source: Agent)โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ lo 00:00:00:00:00:00 ipv4 127.0.0.1/8
โ ipv6 ::1/128
โ enp1s0 52:54:00:aa:bb:cc ipv4 192.168.1.50/24
โ ipv6 fe80::5054:ff:feaa:bbcc/64
โโStorageโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Device: vda (disk) - Type: file
โ Host path: /var/lib/libvirt/images/ubuntu-server.qcow2
โ Capacity: 25/100 GiB
โ Device: sda (cdrom) - (Empty)
โโControls:โโโฌโโโโโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโ
โฐ โ [S]tart/Stop โ [R]eboot โ [F]orce Stop โ [Q]uit
Description: An interactive TUI for managing and connecting to SSH hosts defined in ~/.ssh/config.
- Host Management: Add, Edit, Delete, and Clone SSH host configurations interactively.
- Connection: Quickly connect to hosts or test connectivity (single or batch).
- Key Management: Generate new SSH keys (ed25519/rsa) and copy them to remote servers (ssh-copy-id).
- Port Forwarding: Manage and persist local/remote port forwarding configurations.
- Safety: Automatically backs up ~/.ssh/config before making changes.
Description:
A set of FZF-powered interactive tools and aliases defined in .bash_aliases to enhance the terminal experience.
Keybindings (Prefix: Alt+x):
- Find in Files (
Alt+x f): Interactive search usingripgrepandfzfwith previews. - Fuzzy History (
Alt+x r): Search command history interactively. - Process Killer (
Alt+x k): Filter and kill processes with previews. - Fuzzy Man Pages (
Alt+x m): Search and read man pages. - File Finder (
Alt+x e): Find files and open them in Neovim. - Cheatsheets:
Alt+x ?: View all available aliases.Alt+x /: View all custom keybindings.
Interactive search using ripgrep and fzf with previews.
โโ Find in Files โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Type to search content | ENTER: opeยทยท โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
Searchโฏ โ 1 #!/bin/bash 1/115โโ
11694/11694 โโโโโโโโโโโโโโโโโโโโโโโโโ โ โณ โ
โ sync-bash-aliases.sh:1:1:#!/bin/bash โโ 2 # ================================================= โ
sync-bash-aliases.sh:2:1:# ========ยทยท โ โณ ============================= โ
sync-bash-aliases.sh:3:1:# Script Nยทยท โ 3 # Script Name: sync-bash-aliases.sh โ
sync-bash-aliases.sh:4:1:# Descriptยทยท โ 4 # Description: Quickly syncs local .bash_aliases to โ
sync-bash-aliases.sh:5:1:# ยทยท โ โณ ~/.bash_aliases โ
sync-bash-aliases.sh:6:1:# Usage: ยทยท โ 5 # for rapid development and testing. โ
sync-bash-aliases.sh:7:1:# ========ยทยท โ 6 # Usage: ./sync-bash-aliases.sh [-c|--cleanup โ
sync-bash-aliases.sh:8:1: โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Search command history interactively.
โ Command History โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ENTER: Select | CTRL-E: Execute | CTRL-/: View
Historyโฏ echo
3/516 โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
253 echo $XDG_CONFIG_HOME
โ 175 echo "Hello there"
173 echo "General Kenobi"
Filter and kill processes with previews
โโ Process Killer โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ENTER: kill (TERM) | CTRL-K: kill (KILL) โญ Details for PID [1] โโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
TAB: mark | SHIFT-UP/DOWN: scroll details โ PID: 1 User: root CPU: 0.0 Mem: 0.1 โ
Filterโฏ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
332/332 (0) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ /usr/lib/systemd/systemd --switched-root --sys โ
โ root 1 /usr/lib/systemd/systemd --sยทยทโโ โณ tem --deserialize=48 splash โ
root 2 [kthreadd] โ โ
root 3 [pool_workqueue_release] โ โ
root 4 [kworker/R-rcu_gp] โ โ
root 5 [kworker/R-sync_wq] โ โ
root 6 [kworker/R-kvfree_rcu_reclaim] โ โ
root 7 [kworker/R-slub_flushwq] โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Search and read man pages
โโ Manual Pages โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ENTER: open | CTRL-/: view โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
Manโฏ bat โ BATCAT(1) General Commands Manual BATCA1/515โโ
1830/7501 โโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ
โ batcat (1) - a cat(1) cloยทยทโโ NAME โ
ยทยทy-check (8) - Check battery levelยทยท โ batcat - a cat(1) clone with syntax highlighting โ
ยทยทy (5) - BlueZ D-Bus Battery API dยทยท โ and Git integration. โ
ยทยทservice (8) - Check battery levelยทยท โ โ
ยทยท - update passwords in batch mode โ USAGE โ
ยทยทr (5) - BlueZ D-Bus BatteryProvidยทยท โ batcat [OPTIONS] [FILE]... โ
ยทยทpdate group passwords in batch mode โ โ
ยทยทr (5) - BlueZ D-Bus BatteryProvidยทยท โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Find files and open them in Neovim
โโ File Finder โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ENTER: open | ESC: quit โญโ Previewing [.bash_aliases] โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
CTRL-/: view โ 1 # shellcheck shell=bash 1/793โโ
Openโฏ bas โ 2 # ------------------- โ
2/82 โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ 3 # Colors & Styling โ
โ .bash_aliases โ 4 # ------------------- โ
sync-bash-aliases.sh โ 5 โ
โ 6 # ANSI Color Codes โ
โ 7 _C_RESET=$'\033[0m' โ
โ 8 _C_RED=$'\033[1;31m' โ
โ 9 _C_GREEN=$'\033[1;32m' โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
View all TMUX available key bindings.
โญโ TMUX KEY BINDINGS โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ > โ C-h: โ
โ 112/112 โโโโโโโโโโโโโโโโโโโ โ Smart Switch Left โ
โ โ C-h @@@Smart Switยทยทโโ โ
โ C-j @@@Smart Switยทยท โ โ
โ C-k @@@Smart Switยทยท โ โ
โ C-l @@@Smart Switยทยท โ โ
โ C-a Space @@@Select nexยทยท โ โ
โ C-a ! @@@Break paneยทยท โ โ
โ C-a # @@@List all pยทยท โ โ
โ C-a $ @@@Rename curยทยท โ โ
โ C-a & @@@Kill curreยทยท โ โ
โ C-a ' @@@Prompt forยทยท โ โ
โ C-a ( @@@Switch to ยทยท โ โ
โ C-a ) @@@Switch to ยทยท โ โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
View all custom Tmux keybindings.
โญโ Cheatsheet (Prefix: C-a) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โNAVIGATION - Direct โ
โ C-h/j/k/l Move between panes (vim-aware) โ
โ โ
โNAVIGATION - with Prefix โ
โ C-p / C-n Previous / Next Window โ
โ โ
โWINDOWS & PANES โ
โ - / = New Split Vertical / Horizontal โ
โ b Send Pane to [Current Session] +:New Window โ
โ j Join a Pane to [Current Session] โ
โ k Send a Pane to [Session] window โ
โ s Session Manager โ
โ S Choose Tree (Default Session Management) โ
โ S-Left/Right Swap window position โ
โ z Zoom pane โ
โ: โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
View all custom keybindings and functions.
โญโ Bindings Cheatsheet (Prefix: Alt+x) โโโโโโโโโโโโโโโโโโโโโฎ
โ Runโฏ โ
โ 13/13 โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ / : Show this Cheatsheet โโ
โ ? : Show Alias Cheatsheet โโ
โ Alt+x : Clear Screen (this requires Alt+x twice) โโ
โ e : Find File and Open in Editor - nvim โโ
โ f : Find text in Files (fif) โโ
โ r : (R)ecent Command History โโ
โ m : Find Manual Pages (fman) โโ
โ k : Process Killer (dv-kill.sh) โโ
โ g g : Git GUI (lazygit) โโ
โ g l : Git Log (fgl) โ
โ g b : Git Branch (dv-git-branch.sh) โ
โ g h : Git File History (dv-git-history.sh) โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
โญโ Alias Cheatsheet โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ Runโฏ โ
โ 26/26 โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ .. : Go up one directory (cd ..) โโ
โ cat : Replaced with (batcat/bat) โโ
โ check-reboot : Check Reboot Status โโ
โ ga : Git Add (git add) โโ
โ gb : Git Show Branches (git branch -a) โ
โ gc : Git Commit (git commit -m) โ
โ gl : Git Log Graph (git log --graph ...) โ
โ glf : Git Log File (git log --follow ...) โ
โ gp : Git Push (git push) โ
โ gs : Git Status (git status -sb) โ
โ ip : IP with color (ip -c) โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Utilities:
ports: View listening TCP/UDP ports and associated processes.update: Wrapper forapt update/upgrade/autoremove.check-reboot: Checks if a system reboot is required.
View listening TCP/UDP ports and associated processes.
P STATUS LOCAL:Port REMOTE:Port PROGRAM/PID
U UNCONN 127.0.0.1:323 0.0.0.0:* -
U UNCONN 0.0.0.0:5353 0.0.0.0:* "avahi-daemon",pid=850
U UNCONN 172.17.0.1:3702 0.0.0.0:* "python3",pid=1234
T LISTEN 127.0.0.53%lo:53 0.0.0.0:* -
T LISTEN 127.0.0.1:631 0.0.0.0:* -
T LISTEN 127.0.0.1:5432 0.0.0.0:* "postgres",pid=1543
T LISTEN 0.0.0.0:22 0.0.0.0:* "sshd",pid=1100
T LISTEN 0.0.0.0:80 0.0.0.0:* "nginx",pid=2048
T LISTEN 0.0.0.0:4000 0.0.0.0:* "node",pid=3005
T LISTEN [::1]:631 [::]:* -
T LISTEN [::]:22 [::]:* "sshd",pid=1100
A quiet wrapper for apt-get update/upgrade/autoremove. It will still show important summary messages from apt-get.
Updating apt sources...
3 packages can be upgraded. Run 'apt list --upgradable' to see them.
Upgrading apt packages...
3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Autoremoving apt packages...
1 to remove and 0 not upgraded.
Removing:
some-old-package
โ No Reboot RequiredChecks if a system reboot is required.
โ No Reboot Requiredor
๎ซ Reboot RequiredDescription:
A highly configured Tmux setup (tmux.conf) focused on speed and integration with Vim.
โญ ๓ฐฒ Session Manager โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ ๏ง New Session โญ ๓ฐฒ Preview: main โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ
โ โ ๎ฏ main: 1 windows โ โโโ [1] bash (Active) 1/14โโ โ
โ scratch: 1 windows โ โ Summary: โโ โ
โ โ โ Upgrading: 0, Installing: 0, Removing: 0, Notโโ โ
โ Commands: โโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ โ
โ ENTER: Switch C-n: New โ โ โ No Reboot Required โ โ
โ C-r: Rename C-x: Kill โ โ daniel@dev:~/code/iamdanielv/utils$ check-reboo โ โ
โ 3/3 โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ โ No Reboot Required โ โ
โ Session โฏ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Core Features:
- Prefix: Remapped to
Ctrl+a. - Smart Navigation: Seamlessly navigate between Tmux panes and Vim splits using
Ctrl+h/j/k/l. - Scratchpad (`Prefix + ``): A toggleable popup terminal for quick tasks.
- Session Manager (
Prefix + s): Interactive session switcher, creator, and manager.
Execute Menu (Prefix + e):
Opens a menu to launch utilities:
- Find File:
dv-find - Find in Files:
dv-fif - Process Killer:
dv-kill - System Monitor:
btop - Ports:
dv-ports - IP Viewer:
dv-ip.sh - Man Pages:
dv-man - LazyDocker:
lazydocker - Env Manager:
dv-env - SSH Manager:
dv-ssh-manager - System Update:
dv-update
Git Integration (Prefix + g):
Opens a menu with interactive tools:
- Branch Manager: Checkout, delete, and track branches.
- Git Log: Browse commit history with diff previews.
- Git Status: View and act on changed files.
Pane Management:
- Push/Pull:
Prefix + j: Pull a pane from another window to the current one.Prefix + k: Send the current pane to another window.
- Sync:
Prefix + C-stoggles input synchronization across all panes in the window.
I'm open to and encourage contributions of bug fixes, improvements, and documentation! I like working on tooling to make developer experience better. Let me know if there is something you would like to see or would make your developer experience better.
MIT License - See the LICENSE file for details.
Let me know if you have any questions.