Skip to content

this-is-tobi/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Dotfiles πŸ”§

This project aims to provide dotfiles templates and common scripts for backup & setup.

Dotfiles

The dotfiles/ folder provides the following dotfiles templates :

./dotfiles
β”œβ”€β”€ .config
β”‚   β”œβ”€β”€ cheat
β”‚   β”‚   └── conf.yml
β”‚   β”œβ”€β”€ lazygit
β”‚   β”‚   └── config.yml
β”‚   └── nvim
β”‚       β”œβ”€β”€ init.lua
β”‚       └── lua
β”‚           β”œβ”€β”€ config
β”‚           └── plugins
β”œβ”€β”€ .mattermost
β”‚   └── theme-config.json
β”œβ”€β”€ .oh-my-zsh
β”‚   └── this-is-tobi.zsh-theme
β”œβ”€β”€ .vscode
β”‚   β”œβ”€β”€ extensions.json
β”‚   └── settings.json
β”œβ”€β”€ .gitconfig
β”œβ”€β”€ .prototools
└── .zshrc

Some lines may be commented inside .zshrc, uncomment them following profile needs.

Backup

These scripts are intended to backup common files to another directory (local or remote) :

For more infos use -h flag with the script to print help.

Setup

These scripts are intended to install common packages on proper os :

It can install severals profiles in addition to the core install by providing -p <profile_name> (example: ./setup-osx.sh -p devops). The following profiles are available :

  • base - base packages.
  • devops - devops oriented packages.
  • extras - extras personnal packages (only available for osx).
  • go - go developer oriented packages.
  • js - js developer oriented packages.

Tip

For more infos use -h flag with the script to print help.

CLI completions are referenced and installed via this file.

Packages can come from different sources such as homebrew, apt, npm, etc...

Apt come with WakeMeOps repository.

Base

Package Description Type OSX installation Debian installation
age simple, modern and secure encryption tool cli homebrew apt
bat cat command enhanced cli homebrew apt
bat-extras bat combo with other commands cli homebrew shell
chafa image viewer in terminal cli homebrew apt
cheat create and view interactive cheat sheets cli homebrew apt
coreutils basic file, shell and text manipulation utilities cli homebrew apt
docker docker engine cli - shell
exiftool metadata writer and reader tool cli homebrew apt
eza ls command enhanced cli homebrew apt
fd simple, fast and user-friendly alternative to 'find' cli homebrew apt
ffmpeg audio video manipulation tool cli homebrew apt
fzf command-line fuzzy finder cli homebrew apt
gh github cli cli homebrew apt
glab gitlab cli cli homebrew apt
glow render markdown on the CLI, with pizzazz cli homebrew apt
gnupg encryption tool cli homebrew apt
gsed non-interactive command-line text editor cli homebrew -
jq json processor tool cli homebrew apt
lazydocker lazier way to manage everything docker cli homebrew apt
lazygit lazier way to manage everything git cli homebrew shell
nmap port scanning utility cli homebrew apt
nvim interactive cli ide (enhanced vim) cli homebrew shell
oh-my-zsh zsh configuration manager cli shell shell
proto pluggable multi-language version manager cli homebrew shell
ripgrep regex pattern search cli (usefull for bat-extras) cli homebrew apt
rsync file transfer tool cli homebrew apt
sshs interactive cli ssh client cli homebrew shell
tldr++ cheatsheet interactive cli cli homebrew go
tree filesystem display as tree cli homebrew apt
ttyd share terminal over the web cli homebrew shell
vhs cli home video recorder cli homebrew apt
vim cli ide cli homebrew apt
watch cli tool that runs the specified command repeatedly cli homebrew apt
wget internet file retriever cli homebrew apt
yq yaml processor tool cli homebrew apt
brave privacy compliant web browser desktop homebrew - cask -
docker docker desktop desktop homebrew - cask -
firefox privacy compliant web browser desktop homebrew - cask -
insomnia http and graphql client desktop homebrew - cask -
mattermost collaboration app desktop homebrew - cask -
openvpn-connect vpn client desktop homebrew - cask -
vscode ide desktop homebrew - cask -

Devops

Package Description Type OSX installation Debian installation
act local github actions cli homebrew apt
ansible automation tool cli homebrew pip
argo argo-workflows cli cli homebrew apt
argocd argo-cd cli cli homebrew apt
aws aws cli cli homebrew shell
coder coder cli cli homebrew shell
dive tool for exploring each layer in a docker image cli homebrew apt
helm kubernetes package manager cli homebrew apt
helm-docs tool for auto generating markdown docs for helm charts cli homebrew apt
k6 modern load testing tool, using Go and javascript cli homebrew apt
k9s kubernetes cluster manager cli cli homebrew apt
kind kubernetes cluster in docker cli homebrew apt
krew kubectl plugin manager cli homebrew apt
kubectl kubernetes cli cli homebrew apt
kubectx kubernetes context and namespace manager cli homebrew apt
mc commands replacement for object storage (minio cli) cli homebrew apt
mkcert simple zero-config tool to make locally trusted certificates cli homebrew shell
oc openshift cli cli homebrew shell
scw scaleway cli cli homebrew apt
sops simple and flexible tool for managing secrets cli homebrew apt
sshpass non-interactive ssh password auth cli homebrew apt
teleport modern ssh server for teams managing distributed infrastructure cli homebrew apt
terraform infrastructure automation tool cli homebrew apt
trivy vulnerability scanner for container images and file systems cli homebrew apt
vault vault cli cli homebrew apt
velero kubernetes backup and migration cli cli homebrew apt

Krew plugins (kubectl)

Plugin Description
cert-manager cert-manager cli
cnpg cloud native postgres cli
df-pv df utility for pv
ktop top-like tool for Kubernetes clusters
kubescape kubernetes security scan
kyverno kubernetes policy management
neat kubernetes yaml/json output clean up to make it readable
stern multi pod and container log tailing for Kubernetes

Javascript

Package Description Type OSX installation Debian installation
@antfu/ni javascript package manager wrapper cli npm npm
bun javascript runtime environment cli proto proto
node javascript runtime environment cli proto proto
pnpm javascript disk space efficient package manager cli proto proto
yarn package manager that doubles down as project manager cli proto proto

Go

Package Description Type OSX installation Debian installation
cobra-cli cli build tool cli go go
go programming language cli proto proto
kubebuilder sdk for building Kubernetes APIs using CRDs cli homebrew apt
kustomize customization of kubernetes YAML configurations cli homebrew apt
operator-sdk sdk for building Kubernetes applications cli homebrew apt

Extras

Package Description Type OSX installation Debian installation
audacity audio manipulation app desktop homebrew - cask -
discord collaboration app desktop homebrew - cask -
raspberry-pi-imager raspberrypi image manager desktop homebrew - cask -
soulseek file sharing app desktop homebrew - cask -
transmission torrent client desktop homebrew - cask -
vlc video player desktop homebrew - cask -

Oh-my-zsh

Zsh is used as the default shell and is supplied with oh-my-zsh and a number of plugins which are listed below to enhance the shell experience :

  • aliases - list the shortcuts that are currently available.
  • ansible - add several aliases for useful ansible.
  • brew - add several aliases for common brew commands.
  • bun - set up completion for bun.
  • colored-man-pages - add colors to man pages.
  • docker - set up completion and aliases for docker commands.
  • docker-compose - set up completion and aliases for docker-compose commands.
  • gh - add completion for the GitHub cli.
  • git - provide many aliases and a few useful functions.
  • gitignore - use of gitignore.io from the command line.
  • golang - set up completion and aliases for golang.
  • helm - set up completion and aliases for helm commands.
  • kind - add completion for the Kind tool.
  • kubectl - add completion and aliases for kubectl commands.
  • kubectx - show active kubectl context.
  • microk8s - provide completion and useful aliases for microk8s.
  • minikube - set up completion for minikube.
  • nmap - add some useful aliases for nmap.
  • node - add node-docs function that opens proper section in nodejs doc.
  • npm - provide completion as well as adding many useful aliases.
  • oc - provide completion for OC commands.
  • rsync - add aliases for frequent rsync commands.
  • scw - add completion options for all scw commands.
  • sudo - prefix current/previous command with sudo by pressing esc twice.
  • systemadmin - add bunch of aliases and functions for sysadmins.
  • terraform - add completion for terraform, as well as aliases and a prompt function.

This configuration uses a custom oh-my-zsh theme that blends gnzh theme with the kube-ps1 plugin.

Cheatsheets

The setup scripts install cheat and add a few extra sheets which can be listed with the command cheat -l -p personal.

Functions

In addition, this installation script adds a utility functions file that can be used locally, as well as a tools function that allows you to execute on-the-fly my list of utility scripts available on Github. To use this function, type the following command :

tools <script_name> -h

Tip

The function is covered by auto-completion, type tools then tab to see the list of scripts.

Further utilities

  • Check out Arkade for more devops tools.

About

Dotfiles and common scripts for backup & setup

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published