From c993c4d42a9337b25b7539fc3f2b0a7ec2854221 Mon Sep 17 00:00:00 2001 From: Christian Lempa Date: Wed, 18 Oct 2023 11:16:43 +0200 Subject: [PATCH] Revert "refreshed goto links" This reverts commit d348cbbea134e30c8fca0a4d9d895f7ad65efee3. --- .ansible.cfg | 2 + .ansible/clcreative-home-inventory | 73 +++++++++++++++++++ .config/goto | 11 +++ .gitconfig | 18 +++++ .hushlogin | 0 .warp/themes/xcad2k_dark.yml | 23 ++++++ .warp/themes/xcad2k_light.yml | 23 ++++++ .../workflows/create-certificate-extfile.yml | 17 +++++ .../workflows/create-certificate-from-csr.yml | 26 +++++++ .../create-certificate-private-key.yml | 20 +++++ .../create-certificate-signing-request.yml | 17 +++++ ...create-self-signed-certificate-from-ca.yml | 33 +++++++++ .../switch-to-a-different-namespace.yml | 14 ++++ .../unset-current-kubernetes-context.yml | 10 +++ .zsh/aliases.zsh | 21 ++++++ .zsh/functions.zsh | 4 + .zsh/goto.zsh | 4 + .zsh/nvm.zsh | 7 ++ .zsh/starship.zsh | 48 ++++++++++++ .zsh/wsl2fix.zsh | 8 ++ .zshenv | 17 +++++ .zshrc | 12 +++ LICENSE | 21 ++++++ README.md | 36 +++++++++ 24 files changed, 465 insertions(+) create mode 100644 .ansible.cfg create mode 100644 .ansible/clcreative-home-inventory create mode 100644 .config/goto create mode 100644 .gitconfig create mode 100644 .hushlogin create mode 100644 .warp/themes/xcad2k_dark.yml create mode 100644 .warp/themes/xcad2k_light.yml create mode 100644 .warp/workflows/create-certificate-extfile.yml create mode 100644 .warp/workflows/create-certificate-from-csr.yml create mode 100644 .warp/workflows/create-certificate-private-key.yml create mode 100644 .warp/workflows/create-certificate-signing-request.yml create mode 100644 .warp/workflows/create-self-signed-certificate-from-ca.yml create mode 100644 .warp/workflows/switch-to-a-different-namespace.yml create mode 100644 .warp/workflows/unset-current-kubernetes-context.yml create mode 100644 .zsh/functions.zsh create mode 100644 .zsh/goto.zsh create mode 100644 .zsh/nvm.zsh create mode 100644 .zsh/starship.zsh create mode 100644 .zsh/wsl2fix.zsh create mode 100644 .zshenv create mode 100644 .zshrc create mode 100644 LICENSE create mode 100644 README.md diff --git a/.ansible.cfg b/.ansible.cfg new file mode 100644 index 0000000..854bfe0 --- /dev/null +++ b/.ansible.cfg @@ -0,0 +1,2 @@ +[defaults] +inventory=.ansible/clcreative-home-inventory \ No newline at end of file diff --git a/.ansible/clcreative-home-inventory b/.ansible/clcreative-home-inventory new file mode 100644 index 0000000..664c3ea --- /dev/null +++ b/.ansible/clcreative-home-inventory @@ -0,0 +1,73 @@ +# Inventory for clcreative-home network +# +# Please only use this as an example! + + +# Ubuntu Production and Demo Servers + +[srv-prod] +srv-prod-1.home.clcreative.de +srv-prod-2.home.clcreative.de +srv-prod-3.home.clcreative.de + +[srv-demo] +srv-demo-1.home.clcreative.de +srv-demo-2.home.clcreative.de + +[srv-prod-1] +srv-prod-1.home.clcreative.de + +[srv-prod-2] +srv-prod-2.home.clcreative.de + +[srv-prod-3] +srv-prod-3.home.clcreative.de + +[srv-demo-1] +srv-demo-1.home.clcreative.de + +[srv-demo-2] +srv-demo-2.home.clcreative.de + +# Kubernetes Production and Demo Servers + +[ksrv-prod] +ksrv-prod-1.home.clcreative.de +ksrv-prod-2.home.clcreative.de +ksrv-prod-3.home.clcreative.de + +[ksrv-prod-1] +ksrv-prod-1.home.clcreative.de + +[ksrv-prod-2] +ksrv-prod-2.home.clcreative.de + +[ksrv-prod-3] +ksrv-prod-3.home.clcreative.de + +[ksrv-demo-1] +ksrv-demo-1.home.clcreative.de + +[kube-prod-1] +ksrv-prod-1.home.clcreative.de +ksrv-prod-2.home.clcreative.de +ksrv-prod-3.home.clcreative.de + +[kube-demo-1] +ksrv-demo-1.home.clcreative.de + +# Proxmox and Nas machine + +[prx-prod-1] +prx-prod-1.home.clcreative.de + +[nas-prod-1] +nas-prod-1.home.clcreative.de + +# Windows Servers and Clients + +[wdc-prod-1] +wdc-prod-1.home.clcreative.de + +[win-prod-1] +win-prod-1.home.clcreative.de diff --git a/.config/goto b/.config/goto new file mode 100644 index 0000000..b4542d5 --- /dev/null +++ b/.config/goto @@ -0,0 +1,11 @@ +prj /Users/xcad/Projects +clc /Users/xcad/Projects/clcreative +cs /Users/xcad/Projects/christianlempa/cheat-sheets +bp /Users/xcad/Projects/christianlempa/boilerplates +cl /Users/xcad/Projects/christianlempa/christianlempa +vid /Users/xcad/Projects/christianlempa/videos +obs /Users/xcad/Library/Mobile Documents/iCloud~md~obsidian/Documents +content /Users/xcad/Library/Mobile Documents/iCloud~md~obsidian/Documents/content +cheatsheets /Users/xcad/Library/Mobile Documents/iCloud~md~obsidian/Documents/cheat-sheets +projects /Users/xcad/Library/Mobile Documents/iCloud~md~obsidian/Documents/projects +home /Users/xcad/ \ No newline at end of file diff --git a/.gitconfig b/.gitconfig new file mode 100644 index 0000000..2a4a2da --- /dev/null +++ b/.gitconfig @@ -0,0 +1,18 @@ +[core] + excludesfile = /Users/xcad/.gitignore_global +[difftool "sourcetree"] + cmd = opendiff \"$LOCAL\" \"$REMOTE\" + path = +[mergetool "sourcetree"] + cmd = /Applications/Sourcetree.app/Contents/Resources/opendiff-w.sh \"$LOCAL\" \"$REMOTE\" -ancestor \"$BASE\" -merge \"$MERGED\" + trustExitCode = true +[user] + name = Christian Lempa + email = christian.lempa@clcreative.de +[commit] + template = /Users/xcad/.stCommitMsg +[filter "lfs"] + clean = git-lfs clean -- %f + smudge = git-lfs smudge -- %f + process = git-lfs filter-process + required = true diff --git a/.hushlogin b/.hushlogin new file mode 100644 index 0000000..e69de29 diff --git a/.warp/themes/xcad2k_dark.yml b/.warp/themes/xcad2k_dark.yml new file mode 100644 index 0000000..36020a1 --- /dev/null +++ b/.warp/themes/xcad2k_dark.yml @@ -0,0 +1,23 @@ +accent: '#28b9ff' # Accent color for UI elements +background: '#121212' # Terminal background color +details: darker # Whether the theme is lighter or darker. +foreground: '#f1f1f1' # The foreground color. +terminal_colors: # Ansi escape colors. + bright: + black: '#666666' + blue: '#5c78ff' + cyan: '#5ac8ff' + green: '#905aff' + magenta: '#5ea2ff' + red: '#ba5aff' + white: '#ffffff' + yellow: '#657b83' + normal: + black: '#121212' + blue: '#2b4fff' + cyan: '#28b9ff' + green: '#7129ff' + magenta: '#2883ff' + red: '#a52aff' + white: '#f1f1f1' + yellow: '#3d2aff' \ No newline at end of file diff --git a/.warp/themes/xcad2k_light.yml b/.warp/themes/xcad2k_light.yml new file mode 100644 index 0000000..692102e --- /dev/null +++ b/.warp/themes/xcad2k_light.yml @@ -0,0 +1,23 @@ +accent: '#28b9ff' # Accent color for UI elements +background: '#edeff1' # Terminal background color +details: lighter # Whether the theme is lighter or darker. +foreground: '#a0a1a5' # The foreground color. +terminal_colors: # Ansi escape colors. + bright: + black: '#666666' + blue: '#5c78ff' + cyan: '#5ac8ff' + green: '#905aff' + magenta: '#5ea2ff' + red: '#ba5aff' + white: '#a0a1a5' + yellow: '#657b83' + normal: + black: '#edeff1' + blue: '#2b4fff' + cyan: '#28b9ff' + green: '#7129ff' + magenta: '#2883ff' + red: '#a52aff' + white: '#f1f1f1' + yellow: '#3d2aff' \ No newline at end of file diff --git a/.warp/workflows/create-certificate-extfile.yml b/.warp/workflows/create-certificate-extfile.yml new file mode 100644 index 0000000..149e599 --- /dev/null +++ b/.warp/workflows/create-certificate-extfile.yml @@ -0,0 +1,17 @@ +--- +name: Create SSL/TLS Certificate Extfile +command: "echo \"subjectAltName=DNS:{{dns}}\" >> extfile.cnf" +tags: + - openssl + - certificate + - ssl + - tls +description: "Create SSL/TLS Certificate Extfile" +arguments: + - name: dns + description: DNS + default_value: your-dns-record +source_url: "https://github.com/christianlempa/dotfiles" +author: Christian Lempa +author_url: "https://github.com/christianlempa" +shells: [] \ No newline at end of file diff --git a/.warp/workflows/create-certificate-from-csr.yml b/.warp/workflows/create-certificate-from-csr.yml new file mode 100644 index 0000000..02532b7 --- /dev/null +++ b/.warp/workflows/create-certificate-from-csr.yml @@ -0,0 +1,26 @@ +--- +name: Create SSL/TLS Certificate from CSR +command: "openssl x509 -req -sha256 -days {{days}} -in {{certificate}}.csr -CA {{ca}}.crt -CAkey {{ca-key}}.key -out {{certificate}}.crt -extfile extfile.cnf -CAcreateserial" +tags: + - openssl + - certificate + - ssl + - tls +description: "Create SSL/TLS Certificate from CSR" +arguments: + - name: certificate + description: Name + default_value: cert + - name: days + description: Days + default_value: 365 + - name: ca + description: CA + default_value: your-dns-record + - name: ca-key + description: CA + default_value: your-dns-record +source_url: "https://github.com/christianlempa/dotfiles" +author: Christian Lempa +author_url: "https://github.com/christianlempa" +shells: [] \ No newline at end of file diff --git a/.warp/workflows/create-certificate-private-key.yml b/.warp/workflows/create-certificate-private-key.yml new file mode 100644 index 0000000..ba1d060 --- /dev/null +++ b/.warp/workflows/create-certificate-private-key.yml @@ -0,0 +1,20 @@ +--- +name: Create SSL/TLS Certificate Private Key +command: "openssl genrsa -out {{certificate}}.key {{length}}" +tags: + - openssl + - certificate + - ssl + - tls +description: "Create SSL/TLS Certificate Private Key" +arguments: + - name: certificate + description: Name + default_value: cert + - name: length + description: Key Length + default_value: 4096 +source_url: "https://github.com/christianlempa/dotfiles" +author: Christian Lempa +author_url: "https://github.com/christianlempa" +shells: [] \ No newline at end of file diff --git a/.warp/workflows/create-certificate-signing-request.yml b/.warp/workflows/create-certificate-signing-request.yml new file mode 100644 index 0000000..bbac3a2 --- /dev/null +++ b/.warp/workflows/create-certificate-signing-request.yml @@ -0,0 +1,17 @@ +--- +name: Create SSL/TLS Certificate Signing Request +command: "openssl req -new -sha256 -subj \"/CN={{certificate}}\" -key {{certificate}}.key -out {{certificate}}.csr" +tags: + - openssl + - certificate + - ssl + - tls +description: "Create SSL/TLS Certificate Signing Request" +arguments: + - name: certificate + description: Name + default_value: cert +source_url: "https://github.com/christianlempa/dotfiles" +author: Christian Lempa +author_url: "https://github.com/christianlempa" +shells: [] \ No newline at end of file diff --git a/.warp/workflows/create-self-signed-certificate-from-ca.yml b/.warp/workflows/create-self-signed-certificate-from-ca.yml new file mode 100644 index 0000000..fe619fd --- /dev/null +++ b/.warp/workflows/create-self-signed-certificate-from-ca.yml @@ -0,0 +1,33 @@ +--- +name: Create self-signed SSL/TLS Certificate from CA +command: |- + openssl genrsa -out {{certificate}}.key 4096 + openssl req -new -sha256 -subj "/CN={{certificate}}" -key {{certificate}}.key -out {{certificate}}.csr + echo "subjectAltName=DNS:{{dns}}" > extfile.cnf + openssl x509 -req -sha256 -days {{days}} -in {{certificate}}.csr -CA {{ca}}.crt -CAkey {{ca-key}}.key -out {{certificate}}.crt -extfile extfile.cnf -CAcreateserial +tags: + - openssl + - certificate + - ssl + - tls +description: "Create self-signed SSL/TLS Certificate from CA." +arguments: + - name: certificate + description: The name of the certificate file and key. + default_value: cert + - name: dns + description: The hostname /subjectAltName the certificate is valid for. + default_value: localhost + - name: days + description: How long is this certificate valid. + default_value: 365 + - name: ca + description: Certificate Authority to sign this certificate. + default_value: ca + - name: ca-key + description: Certificate Authoritys private key to sign this certificate. + default_value: ca +source_url: "https://github.com/christianlempa/dotfiles" +author: Christian Lempa +author_url: "https://github.com/christianlempa" +shells: [] \ No newline at end of file diff --git a/.warp/workflows/switch-to-a-different-namespace.yml b/.warp/workflows/switch-to-a-different-namespace.yml new file mode 100644 index 0000000..7863e59 --- /dev/null +++ b/.warp/workflows/switch-to-a-different-namespace.yml @@ -0,0 +1,14 @@ +--- +name: Switch to a different namespace +command: "kubectl config set-context --current --namespace={{namespace}}" +tags: + - kubectl +description: "Switch to a different namespace" +arguments: + - name: namespace + description: The Namespace you want to switch to + default_value: default +source_url: "https://github.com/christianlempa/dotfiles" +author: Christian Lempa +author_url: "https://github.com/christianlempa" +shells: [] \ No newline at end of file diff --git a/.warp/workflows/unset-current-kubernetes-context.yml b/.warp/workflows/unset-current-kubernetes-context.yml new file mode 100644 index 0000000..d056e44 --- /dev/null +++ b/.warp/workflows/unset-current-kubernetes-context.yml @@ -0,0 +1,10 @@ +--- +name: Unset current Kubernetes Context +command: "kubectl config unset current-context" +tags: + - kubectl +description: "Unset current Kubernetes Context" +source_url: "https://github.com/christianlempa/dotfiles" +author: Christian Lempa +author_url: "https://github.com/christianlempa" +shells: [] \ No newline at end of file diff --git a/.zsh/aliases.zsh b/.zsh/aliases.zsh index bf7a3fb..c8b824d 100644 --- a/.zsh/aliases.zsh +++ b/.zsh/aliases.zsh @@ -6,6 +6,7 @@ alias h="helm" alias tf="terraform" alias a="ansible" alias ap="ansible-playbook" +<<<<<<< HEAD alias code="open -a 'Visual Studio Code'" @@ -17,3 +18,23 @@ alias ls="exa --icons --group-directories-first" alias ll="exa --icons --group-directories-first -l" alias grep='grep --color' +======= +alias dt="datree" + +# mac OS shortcuts +alias code="open -a 'Visual Studio Code'" + + + +# ALIAS COMMANDS +alias ls="exa --icons --group-directories-first" +alias ll="exa --icons --group-directories-first -l" +alias g="goto" +alias grep='grep --color' + +alias cbp="code /home/xcad/obsidianvault/boilerplates" +alias cpr="code /home/xcad/obsidianvault/projects" + +# Scripts +alias repos="op run --env-file="/Users/xcad/.env" -- python3 /Users/xcad/Projects/christianlempa/scripts/repos" +>>>>>>> parent of d348cbb (refreshed goto links) diff --git a/.zsh/functions.zsh b/.zsh/functions.zsh new file mode 100644 index 0000000..da72dc7 --- /dev/null +++ b/.zsh/functions.zsh @@ -0,0 +1,4 @@ +# Colormap +function colormap() { + for i in {0..255}; do print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done +} \ No newline at end of file diff --git a/.zsh/goto.zsh b/.zsh/goto.zsh new file mode 100644 index 0000000..efde85a --- /dev/null +++ b/.zsh/goto.zsh @@ -0,0 +1,4 @@ +autoload -Uz compinit +compinit + +source $(brew --prefix)/etc/bash_completion.d/goto.sh \ No newline at end of file diff --git a/.zsh/nvm.zsh b/.zsh/nvm.zsh new file mode 100644 index 0000000..0228ce2 --- /dev/null +++ b/.zsh/nvm.zsh @@ -0,0 +1,7 @@ +# NVM lazy load +if [ -s "$HOME/.nvm/nvm.sh" ]; then + [ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion" + alias nvm='unalias nvm node npm && . "$NVM_DIR"/nvm.sh && nvm' + alias node='unalias nvm node npm && . "$NVM_DIR"/nvm.sh && node' + alias npm='unalias nvm node npm && . "$NVM_DIR"/nvm.sh && npm' +fi \ No newline at end of file diff --git a/.zsh/starship.zsh b/.zsh/starship.zsh new file mode 100644 index 0000000..b02ae6c --- /dev/null +++ b/.zsh/starship.zsh @@ -0,0 +1,48 @@ +# find out which distribution we are running on +LFILE="/etc/*-release" +MFILE="/System/Library/CoreServices/SystemVersion.plist" +if [[ -f $LFILE ]]; then + _distro=$(awk '/^ID=/' /etc/*-release | awk -F'=' '{ print tolower($2) }') +elif [[ -f $MFILE ]]; then + _distro="macos" + + # on mac os use the systemprofiler to determine the current model + _device=$(system_profiler SPHardwareDataType | awk '/Model Name/ {print $3,$4,$5,$6,$7}') + + case $_device in + *MacBook*) DEVICE="";; + *mini*) DEVICE="󰇄";; + *) DEVICE="";; + esac +fi + +# set an icon based on the distro +# make sure your font is compatible with https://github.com/lukas-w/font-logos +case $_distro in + *kali*) ICON="ﴣ";; + *arch*) ICON="";; + *debian*) ICON="";; + *raspbian*) ICON="";; + *ubuntu*) ICON="";; + *elementary*) ICON="";; + *fedora*) ICON="";; + *coreos*) ICON="";; + *gentoo*) ICON="";; + *mageia*) ICON="";; + *centos*) ICON="";; + *opensuse*|*tumbleweed*) ICON="";; + *sabayon*) ICON="";; + *slackware*) ICON="";; + *linuxmint*) ICON="";; + *alpine*) ICON="";; + *aosc*) ICON="";; + *nixos*) ICON="";; + *devuan*) ICON="";; + *manjaro*) ICON="";; + *rhel*) ICON="";; + *macos*) ICON="";; + *) ICON="";; +esac + +export STARSHIP_DISTRO="$ICON" +export STARSHIP_DEVICE="$DEVICE" diff --git a/.zsh/wsl2fix.zsh b/.zsh/wsl2fix.zsh new file mode 100644 index 0000000..7f8adcf --- /dev/null +++ b/.zsh/wsl2fix.zsh @@ -0,0 +1,8 @@ +# Fix Interop Error that randomly occurs in vscode terminal when using WSL2 +fix_wsl2_interop() { + for i in $(pstree -np -s $$ | grep -o -E '[0-9]+'); do + if [[ -e "/run/WSL/${i}_interop" ]]; then + export WSL_INTEROP=/run/WSL/${i}_interop + fi + done +} \ No newline at end of file diff --git a/.zshenv b/.zshenv new file mode 100644 index 0000000..456c118 --- /dev/null +++ b/.zshenv @@ -0,0 +1,17 @@ +# Added locations to path variable +export PATH=$PATH:$HOME/.local/bin:$HOME/.cargo/bin +export PATH=$PATH:$HOME/Projects/christianlempa/central-cli + +# NVM directory +export NVM_DIR="$HOME/.nvm" + +# Vagrant config needed inside WSL2 +export VAGRANT_DEFAULT_PROVIDER="hyperv" +export VAGRANT_WSL_ENABLE_WINDOWS_ACCESS="1" + +export EDITOR=vim +export KUBE_EDITOR=vim + +export PATH="/opt/homebrew/opt/mysql-client/bin:$PATH" + + diff --git a/.zshrc b/.zshrc new file mode 100644 index 0000000..b5b5d38 --- /dev/null +++ b/.zshrc @@ -0,0 +1,12 @@ +[[ -f ~/.zsh/aliases.zsh ]] && source ~/.zsh/aliases.zsh +[[ -f ~/.zsh/functions.zsh ]] && source ~/.zsh/functions.zsh +[[ -f ~/.zsh/starship.zsh ]] && source ~/.zsh/starship.zsh +[[ -f ~/.zsh/nvm.zsh ]] && source ~/.zsh/nvm.zsh +[[ -f ~/.zsh/wsl2fix.zsh ]] && source ~/.zsh/wsl2fix.zsh +[[ -f ~/.zsh/goto.zsh ]] && source ~/.zsh/goto.zsh + +# Load Starship +eval "$(starship init zsh)" + +# Load Direnv +eval "$(direnv hook zsh)" diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..647899c --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 The Digital Life + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..5fb92d0 --- /dev/null +++ b/README.md @@ -0,0 +1,36 @@ +# Christian's "Dotfiles" + +[![Welcome](https://cnd-prod-1.s3.us-west-004.backblazeb2.com/new-banner4-scaled-for-github.jpg)](https://youtu.be/apgp9egIKK8) + +**Hey, there!** + +**I’m Christian, and I’m passionate about creating educational tech content for IT Pros and Homelab nerds.** + +This Repository **Dotfiles** contain my personal config files. Here you'll find configs, customizations, themes, and whatever I need to personalize my mac OS experience. + +> :warning: Be aware, products can change over time. I do my best to keep up with the latest changes and releases, but please understand that this won’t always be the case. + +I created them as free resources to be used in your specific use cases. If you're searching for detailed, in-depth tutorials on some tools or technologies, check out my [YouTube Channel](https://www.youtube.com/@christianlempa). + +## Terminal and Application Icons with Nerd-Fonts + +To display icons in terminal or applications Fonts, I'm using [Nerd-Fonts](https://www.nerdfonts.com). I'm currently using the **Hack Nerd Font Mono** in terminal applications, and **Hack Nerd Font** in applications. + +## Contribution + +If you’d like to contribute to this project, reach out to me on social media or [Discord](https://christianlempa.de/discord), or create a pull request for the necessary changes. + +## Other Resources + +- [Boilerplates](https://github.com/christianlempa/boilerplates) - Templates for various projects like Docker, K8S, Ansible, etc +- [Cheat-Sheets](https://github.com/christianlempa/cheat-sheets) - Command Reference for various tools and technologies +- [Videos](https://github.com/christianlempa/videos) - Documentation and project files for all my video tutorials on YouTube +- [Homelab](https://github.com/christianlempa/homelab) - This is my entire Homelab documentation, and configurations for infrastructure, applications, networking, and more. + +## Support me + +Creating high-quality videos and valuable resources that are accessible to everyone, free of charge, is a huge challenge. With your contribution, I can dedicate more time and effort into the creation process, which ultimately enhances the quality of the content. So, all your support, by becoming a member, truly makes a significant impact on what I do. And you’ll also get some cool benefits and perks in return, as a recognition of your support. + +Remember, ***supporting me is entirely optional.*** Your choice to become a member or not won't change your access to my videos and resources. You are also welcome to reach out to me on Discord, if you have any questions or feedback. + +[https://www.patreon.com/christianlempa](https://www.patreon.com/christianlempa)