These are my dotfiles that I use daily. I hope you find something useful here. 😉
- install chezmoi
- clone my dotfiles:
mkdir -p ~/Repos/github.com/SimonWoodtli
git clone -C ~/Repos/github.com/SimonWoodtli https://github.com/SimonWoodtli/dotfiles.git
- 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.
- 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
- 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
- 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
orod
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
- Virtual Machine Manager to create and run virtual machines, type 2 hypervisor
- VMware Workstation to create and run virtual machines, type 2 hypervisor
- draw.io to create flowcharts and diagrams
- Ferdium to channel all communication apps in one
- mpv to open videos
- feh to open pictures
- Anki to study with a flash card management
- LocalWP to create wordpress websites
- MuPDF to open pdfs
- Zeal to read documentation offline
- RustDesk to connect with remote computers for remote access and control
- Flatseal to manage flatpak permissions
- Extension Manager to manage gnome extensions
- Cryptomator to encrypt cloud storage
- KeePassXC to store and manage passwords
- 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
orwget
. - 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.
Any suggestions/improvements are welcome
Tags:
#linux #dotfiles #bash #terminal