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
├── .continue
│   └── config.json
├── .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,secops'). The following profiles are available :

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

Tip

Use flag -l to use lite mode setup and install only main tools.

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

CLI completions are referenced and installed via the zsh-completions repository and this custom file.

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

Apt come with WakeMeOps repository.

Core

Command line interfaces

Package Description Lite mode OSX installation Debian installation
build-essential informational list of essential packages for building debian packages x - apt
ca-certificates common CA certificates x homebrew apt
coreutils basic file, shell and text manipulation utilities x - apt
curl command line tool and library for transferring data with URLs x homebrew apt
gnupg encryption tool x homebrew apt
gzip popular data compression program x homebrew apt
jq json processor tool x homebrew apt
locales tools to generate locale definitions x - apt
oh-my-zsh zsh configuration manager x shell shell
sed non-interactive command-line text editor x homebrew apt
tar program to create and manipulate tar archives x - apt
unzip de-archiver for zip files x homebrew apt
wget package for retrieving files using HTTP, HTTPS, FTP and FTPS x homebrew apt
xz-utils xz format compression utilities x homebrew apt

Base

Command line interfaces

Package Description Lite mode OSX installation Debian installation
bat cat command enhanced x homebrew apt
bat-extras bat combo with other commands x homebrew shell
chafa image viewer in terminal - homebrew apt
cheat create and view interactive cheat sheets x homebrew apt
exiftool metadata writer and reader tool - homebrew apt
eza ls command enhanced x homebrew apt
fd simple, fast and user-friendly alternative to 'find' x homebrew apt
ffmpeg audio video manipulation tool - homebrew apt
fzf command-line fuzzy finder x homebrew apt
gh github cli - homebrew apt
glab gitlab cli - homebrew apt
glow render markdown on the CLI, with pizzazz x homebrew apt
lazydocker lazier way to manage everything docker - homebrew apt
lazygit lazier way to manage everything git - homebrew shell
nmap port scanning utility x homebrew apt
nvim interactive cli ide (enhanced vim) - homebrew shell
proto pluggable multi-language version manager x homebrew shell
ripgrep regex pattern search cli (usefull for bat-extras) x homebrew apt
rsync file transfer tool x homebrew apt
sshs interactive cli ssh client x homebrew shell
tldr++ cheatsheet interactive cli - homebrew shell
tree filesystem display as tree x homebrew apt
ttyd share terminal over the web - homebrew shell
vhs cli home video recorder - homebrew apt
vim cli ide x homebrew apt
watch cli tool that runs the specified command repeatedly x homebrew apt
yq yaml processor tool x homebrew apt

Applications

Package Description Lite mode OSX installation Debian installation
brave privacy compliant web browser - homebrew - cask -
firefox privacy compliant web browser - homebrew - cask -
insomnia http and graphql client - homebrew - cask -
mattermost collaboration app - homebrew - cask -
openvpn-connect vpn client - homebrew - cask -
vscode ide - homebrew - cask -

Devops

Command line interfaces

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

Applications

Package Description Lite mode OSX installation Debian installation
docker docker desktop x homebrew - cask -

Kubectl plugins

Plugin Description Lite mode OSX installation Debian installation
cert-manager cert-manager cli x krew krew
cnpg cloud native postgres cli x krew krew
df-pv df utility for pv x krew krew
ktop top-like tool for Kubernetes clusters x krew krew
neat kubernetes yaml/json output clean up to make it readable x krew krew
stern multi pod and container log tailing for Kubernetes x krew krew

Secops

Command line interfaces

Package Description Lite mode OSX installation Debian installation
age simple, modern and secure encryption tool - homebrew apt
cosign code signing and transparency for containers and binaries x homebrew apt
dive tool for exploring each layer in a docker image - homebrew apt
sops simple and flexible tool for managing secrets - homebrew apt
trivy vulnerability scanner for container images and file systems x homebrew apt
vault vault cli - homebrew apt

Kubectl plugins

Plugin Description Lite mode OSX installation Debian installation
kubescape kubernetes security scan - krew krew
kyverno kubernetes policy management - krew -

Javascript

Command line interfaces

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

Go

Command line interfaces

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

AI

Applications

Package Description Lite mode OSX installation Debian installation
ollama get up and running with large language models. - homebrew - cask shell

Extras

Command line interfaces

Package Description Lite mode OSX installation Debian installation
audacity audio manipulation app - homebrew - cask -
discord collaboration app - homebrew - cask -
raspberry-pi-imager raspberrypi image manager - homebrew - cask -
soulseek file sharing app - homebrew - cask -
transmission torrent client - homebrew - cask -
vlc video player x 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 an 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

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published