Skip to content

Dotfiles 🔧 ​

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

Dotfiles ​

The dotfiles/ folder provides the following dotfiles templates :

sh
./dotfiles
├── .vscode
│   ├── extensions.json
│   └── settings.json
├── .config
│   ├── cheat
│   │   └── conf.yml
│   ├── lazygit
│   │   └── config.yml
│   └── nvim
│       ├── init.lua
│       └── lua
│           ├── config
│           └── plugins
├── .mattermost
│   └── theme-config.json
├── .gitconfig
└── .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

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 ​

PackageDescriptionTypeOSX installationDebian installation
agesimple, modern and secure encryption toolclihomebrewapt
batcat command enhancedclihomebrewapt
bat-extrasbat combo with other commandsclihomebrewshell
chafaimage viewer in terminalclihomebrewapt
cheatcreate and view interactive cheat sheetsclihomebrewapt
coreutilsbasic file, shell and text manipulation utilitiesclihomebrewapt
dockerdocker enginecli-shell
exiftoolmetadata writer and reader toolclihomebrewapt
ezals command enhancedclihomebrewapt
fdsimple, fast and user-friendly alternative to 'find'clihomebrewapt
ffmpegaudio video manipulation toolclihomebrewapt
fzfcommand-line fuzzy finderclihomebrewapt
ghgithub cliclihomebrewapt
glabgitlab cliclihomebrewapt
glowrender markdown on the CLI, with pizzazzclihomebrewapt
gnupgencryption toolclihomebrewapt
gsednon-interactive command-line text editorclihomebrew-
jqjson processor toolclihomebrewapt
lazydockerlazier way to manage everything dockerclihomebrewapt
lazygitlazier way to manage everything gitclihomebrewshell
nmapport scanning utilityclihomebrewapt
nviminteractive cli ide (enhanced vim)clihomebrewshell
oh-my-zshzsh configuration managerclishellshell
protopluggable multi-language version managerclihomebrewshell
ripgrepregex pattern search cli (usefull for bat-extras)clihomebrewapt
rsyncfile transfer toolclihomebrewapt
sshsinteractive cli ssh clientclihomebrewshell
tldr++cheatsheet interactive cliclihomebrewgo
treefilesystem display as treeclihomebrewapt
ttydshare terminal over the webclihomebrewshell
vhscli home video recorderclihomebrewapt
vimcli ideclihomebrewapt
wgetinternet file retrieverclihomebrewapt
yqyaml processor toolclihomebrewapt
braveprivacy compliant web browserdesktophomebrew - cask-
dockerdocker desktopdesktophomebrew - cask-
firefoxprivacy compliant web browserdesktophomebrew - cask-
insomniahttp and graphql clientdesktophomebrew - cask-
mattermostcollaboration appdesktophomebrew - cask-
openvpn-connectvpn clientdesktophomebrew - cask-
vscodeidedesktophomebrew - cask-

Devops ​

PackageDescriptionTypeOSX installationDebian installation
actlocal github actionsclihomebrewapt
ansibleautomation toolclihomebrewpip
argoargo-workflows cliclihomebrewapt
argocdargo-cd cliclihomebrewshell
awsaws cliclihomebrewshell
codercoder cliclihomebrewshell
helmkubernetes package managerclihomebrewapt
helm-docstool for auto generating markdown docs for helm chartsclihomebrewapt
k9skubernetes cluster manager cliclihomebrewapt
kindkubernetes cluster in dockerclihomebrewapt
krewkubectl plugin managerclihomebrewapt
kubectlkubernetes cliclihomebrewapt
kubectxkubernetes context and namespace managerclihomebrewapt
mccommands replacement for object storage (minio cli)clihomebrewapt
ocopenshift cliclihomebrew-
scwscaleway cliclihomebrewapt
sopssimple and flexible tool for managing secretsclihomebrewapt
sshpassnon-interactive ssh password authclihomebrewapt
teleportmodern ssh server for teams managing distributed infrastructureclihomebrewapt
terraforminfrastructure automation toolclihomebrewapt
trivyvulnerability scanner for container images and file systemsclihomebrewapt
vaultvault cliclihomebrewapt
velerokubernetes backup and migration cliclihomebrewapt

Krew plugins (kubectl) ​

PluginDescription
cert-managercert-manager cli
cnpgcloud native postgres cli
df-pvdf utility for pv
ktoptop-like tool for Kubernetes clusters
kubescapekubernetes security scan
kyvernokubernetes policy management
neatkubernetes yaml/json output clean up to make it readable

Javascript ​

PackageDescriptionTypeOSX installationDebian installation
bunjavascript runtime environmentcliprotoproto
nodejavascript runtime environmentcliprotoproto
pnpmjavascript disk space efficient package managercliprotoproto
@antfu/nijavascript package manager wrapperclinpmnpm

Go ​

PackageDescriptionTypeOSX installationDebian installation
cobra-clicli build toolcligogo
goprogramming languagecliprotoproto
kubebuildersdk for building Kubernetes APIs using CRDsclihomebrewapt
kustomizecustomization of kubernetes YAML configurationsclihomebrewapt
operator-sdksdk for building Kubernetes applicationsclihomebrewapt

Extras ​

PackageDescriptionTypeOSX installationDebian installation
audacityaudio manipulation appdesktophomebrew - cask-
discordcollaboration appdesktophomebrew - cask-
raspberry-pi-imagerraspberrypi image managerdesktophomebrew - cask-
soulseekfile sharing appdesktophomebrew - cask-
transmissiontorrent clientdesktophomebrew - cask-
vlcvideo playerdesktophomebrew - 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.

Cheatsheets ​

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

Further utilities ​

  • Check out Arkade for more devops tools.

Sources ​

Take a look at the project sources.

If you'd like to improve or fix the code, check out the contribution guidelines.