Skip to content

SimonWoodtli/dotfiles

Repository files navigation

dotfiles

Hey there! :octocat:

WIP wakatime

These are my dotfiles that I use daily. I hope you find something useful here. 😉

Installation

  1. install chezmoi
  2. clone my dotfiles:
mkdir -p ~/Repos/github.com/SimonWoodtli
git clone -C ~/Repos/github.com/SimonWoodtli https://github.com/SimonWoodtli/dotfiles.git
  1. initialize repo with chezmoi:
chezmoi -S ~/Repos/github.com/SimonWoodtli/dotfiles init --apply

Most things work on any distro, however if you want a better experience look into my workspace container.

Folder Structure

  • home/ contains all configuration files that are compliant with chezmoi
  • completion/ contains configuration files for auto completion for chezmoi
  • install/ contains install scripts for a few programs that can't be found on apt/dnf/apk
  • scripts/ contains all my scripts, __scripts are for indirect execution only, __template-scripts is for chezmoi/container initialization
  • home/dot_config/shell contains all files sourced to your bashrc

My Environment

  • terminal: default OS terminal, windows terminal
  • terminal font: 'Ubuntu Mono Nerd Font' from NerdFonts
  • terminal colors: gruvbox
  • shell: bash
  • editor: vim
  • multiplexer: tmux
  • file manager: mostly unix commands with $CDPATH and a few custom fzf commands

My CLI Tools

  • zet to manage my notes
  • ripgrep for full-text search, modern replacement for grep.
  • fd to find files on a file system, modern replacement for find.
  • up-to-date version of GNU utilities (e.g. sed, tar, grep, find, etc.)
  • fzf to fuzzy find files. It's versatile enough and not limited to files only scenario. You can pipe pretty much anything through it and get a nice fuzzy selector interface and apply arbitrary action to the selected item or items. Examples are text search matches, brew formulas, npm packages, git commits, git branches, etc.
  • bat same to cat but with syntax highlighting.
  • curl and wget to download files
  • jq lightweight and flexible command-line JSON processor, without interactive interface.
  • yq same as jq but for YAML
  • htop for interactive process management, or fancy bashtop
  • rsync to copy files and directories when stock cp is just not enough.
  • nmap to scan nodes on a network, probe open ports and check remote running apps.
  • bed binary/hex editor written in Go. Alternatively, use xxd, hexdump or od to view files in a binary/hex mode.
  • docker and podman to create and manage container images
  • skopeo manipulate, inspect, sign and transfer container images
  • cosign to sign container images
  • browser-sync create local http server which automatically updates sites when you save files and works on all your devices in your LAN
  • tldr to list a given command with commonly used flags
  • cheat to get your coding question answered within terminal
  • ventoy to have multiple bootable ISOs on a USB-Stick
  • dust to check file sizes in your file system, modern replacement for du
  • neomutt email client
  • newsboat RSS reader
  • yt-dlp to download videos, youtube-dl replacement
  • streamlink to stream services
  • w3m terminal web browser
  • xclip to copy to clipboard
  • shellcheck check your shell scripts
  • pandoc file converter
  • weechat IRC client
  • just command runner to run project specific commands
  • asdf multi runtime manager to collaborate and enforce same version
  • entr run any command when given files change/update
  • parallel executing jobs in parallel
  • age modern GPG replacement to encrypt files
  • gocryptfs to encrypt data
  • sops to partially encrypt files and manage secrets
  • delta git syntax-highlighting pager
  • gh official GitHub CLI

My GUI Tools

Tools I want to checkout

  • direnv to load directory-local .envrc and read environment variables. It's used to load 12factor apps environment variables, create per-project isolated development environments, or load secrets for deployment.
  • httpie command-line HTTP client for the API era with JSON support, syntax highlighting. More advanced alternative to curl or wget.
  • antonmedv/fx command line JSON processing and interactive viewer tool.
  • httrack to copy whole website for offline viewing.
  • bandwhich CLI utility for displaying current network utilization by process, connection and remote IP/hostname.
  • up tool for writing Linux pipes with instant live preview.

Feedback

Any suggestions/improvements are welcome

Author

gravatar

Stats

Alt

Tags:

#linux #dotfiles #bash #terminal