Skip to content

peschinskiy/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

Personal dotfiles managed with GNU stow.

Structure

Each top-level directory is a stow package that mirrors the home directory layout:

Package Contents Target
bin/ Shell scripts ~/.local/bin/
fish/ Fish shell config, functions, aliases ~/.config/fish/

Install

# From the repo root, stow any package into $HOME
stow -t $HOME bin
stow -t $HOME fish

# Or stow everything at once
stow -t $HOME */

Make sure ~/.local/bin is on your PATH and aliases are sourced. Add to ~/.config/fish/config.fish:

fish_add_path ~/.local/bin
source ~/.config/fish/aliases.fish

Scripts

Utils and aliases management is inspired by Evan Hahn's approach: prefer scripts in ~/.local/bin over aliases — no shell reload needed, any language, works across all shells.

Script Description
alphabet Print the alphabet in lower and uppercase
batman Fetch and browse GitHub README docs for CLI tools
boop Notify success/failure of the previous command
copy Pipe stdin to clipboard
cpwd Copy current directory path to clipboard
getsubs Extract English subtitles from a video URL (requires yt-dlp)
hey HTTP load tester — send traffic and benchmark response times
httpstatus List HTTP status codes; optionally filter by code or phrase
ipy Python 3 REPL
isql SQLite in-memory REPL
line Output line N from stdin
lowered Convert stdin to lowercase
mkcd Create a directory and cd into it
mksh Scaffold a new executable bash script and open in $EDITOR
notify Send a desktop notification
pasta Print clipboard contents to stdout
pastas Watch clipboard and print on change
scratch Open a throwaway temp file in $EDITOR
snippets Retrieve stored text snippets from ~/.config/snippets/
tempe cd into a new temporary directory
timer Countdown timer with notification (timer 10m)
trash Move files to trash instead of deleting
uppered Convert stdin to uppercase
url Parse a URL into its components
utils List all available utils with descriptions
uuid Generate a v4 UUID
ymd Print today's date as YYYY-MM-DD

Notes

  • Clipboard (copy/pasta/pastas/cpwd) auto-detects the environment: clip.exe on WSL2, pbcopy/pbpaste on macOS, wl-copy/wl-paste on Wayland, xclip/xsel on X11, PowerShell Get-Clipboard on native Windows, tmux buffer inside tmux, and OSC 52 escape sequence as a last resort (works over SSH in modern terminals).
  • snippets reads from ~/.config/snippets/. Create that directory and add plain text files as snippets.
  • timer uses GNU sleep duration syntax: 30s, 10m, 1h, 1h30m.

About

Personal utils and configurations for shell tools

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages