Difference between revisions of "User:Siris"

From Funtoo
Jump to navigation Jump to search
(adding stubs for new pages)
(More Projects and wiki docs stub pages for future docs)
Line 16: Line 16:
* [[Funtoo:Programming_Languages]]
* [[Funtoo:Programming_Languages]]
* [[Funtoo:Programming_Languages/Ruby]]
* [[Funtoo:Programming_Languages/Ruby]]
* [[Funtoo:New_Install_Experience/LiveCD]]
* [[Funtoo:User_Services/Mottainai]]

== Wiki Docs ==
== Wiki Docs ==
Line 22: Line 24:

* [[User:Siris/Autogen PR Examples|Autogen Pull Request Examples]]
* [[User:Siris/Autogen PR Examples|Autogen Pull Request Examples]]
* [[User:Siris/Cross Distro Funtoo Container Development|Cross Distro Funtoo Container Development]]
* [[User:Siris/Funtoo Code Contribution Guide|Funtoo Code Contribution Guide]]
* [[User:Siris/Funtoo Community Live Streams|Funtoo Community Live Streams on Discord]]
* [[User:Siris/Funtoo Community Live Streams|Funtoo Community Live Streams on Discord]]
* [[User:Siris/Cross Distro Funtoo Container Development|Cross Distro Funtoo Container Development]]
* [[User:Siris/Funtoo CICD Automated Pipelines|Funtoo CI/CD Automated Pipelines]]
* [[User:Siris/Funtoo CICD Automated Pipelines|Funtoo CI/CD Automated Pipelines]]
* [[User:Siris/Debian Sources Custom Kernel Logos|Debian Sources Custom Kernel Logos]]

== Current System ==
== Current System ==

Revision as of 21:47, May 20, 2022


Loading map...
Home Sweet Home


I am an enthusiastic Container Infrastructure Engineer, Site Reliability Engineer, Systems Engineer, Penguin Wrangler, Pythonist, Rubyist, GNU Herder, Midgardian, Westerosi, and Child of Ilúvatar.

My passion with Funtoo Linux runs deep as I have been using Gentoo continuously since 2005 and then shortly there after switching to Funtoo Linux.

The expansive and world changing engineering efforts of the Linux Kernel as the largest globally developed software project has and continues to provide daily inspiration to keep hacking, tinkering, and having fun.

Current Projects

Wiki Docs

Some different wiki documentation I am actively working on:

Current System

Here are my current Funtoo system's specifications:

pibox #  OS: Funtoo Linux 1.4 x86_64
pibox #  Kernel: 5.16.14_p1-debian-sources
pibox #  Packages: 1275 (emerge)
pibox #  Shell: bash 5.0.18
pibox #  Resolution: 3840x2160
pibox #  WM: Enlightenment
pibox #  Theme: Adwaita [GTK2/3]
pibox #  Icons: Adwaita [GTK2/3]
pibox #  Terminal: terminology
pibox #  Terminal Font: Hack Nerd Font Mono
pibox #  CPU: AMD Ryzen 9 3900X (24) @ 3.800GHz
pibox #  GPU: NVIDIA GeForce RTX 2080 Ti Rev. A
pibox #  Memory: 32101MiB

Current Shell

There are so many fun ways to customize your shell on Funtoo Linux.

Here are some Bash customization that I use on my Funtoo system that have evolved over many years and continue to do so. Have fun with them and customizing them even further.


Shell aliases are a great way to supercharge your general workflow and navigation when working in a shell

   .bashrc (Shell source code) - Bash aliases
# Aliases
# General
alias cat='bat -f --paging=never --theme ansi'
alias dsk='df -ahTP'
alias dski='df -ahTPi'
alias e='exit'
alias fxs='declare -f'
alias less='bat  --theme ansi'
alias ll='lsd -alh --group-dirs first'
alias la='lsd -A --group-dirs first'
alias l='lsd -CF --group-dirs first'
alias l1='lsd -1 --group-dirs first'
alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'
alias psx='ps auwx | grep $1'
alias rbckt='rsync -avHPn --stats $1 $2'
alias rbck='rsync -avHP --stats $1 $2'
alias rel='source $HOME/.bashrc'
alias tree='lsd --tree'

# Git
alias gadd='git add'
alias gamd='git commit --amend'
alias gbase='git rebase master'
alias gbcn='git branch'
alias gcom='git commit -m'
alias gchk='git checkout'
alias gdif='git diff'
alias gdif1="git log --abbrev-commit --pretty=oneline -1 | cut -d' ' -f1 | xargs git show"
alias gdif2="git log --abbrev-commit --pretty=oneline -1 | awk {'print $1'} | git show | grep diff"
alias gfork='git checkout -b'
alias gig='git status --ignored'
alias glog='git log --abbrev-commit --pretty=oneline'
alias glogs='git log --abbrev-commit --pretty=oneline -10'
alias gnuke='git branch -D'
alias gpll='git pull --rebase'
alias gpush='git push'
alias gref='git reflog -10'
alias gstat='git status'

# Kubectl
alias k='kubectl'
alias kaf='kubectl apply -f'
alias kall='kubectl get all'
alias kc='kubectl create'
alias kcf='kubectl create -f'
alias kcon='kubectl config'
alias kcong='kubectl config get-contexts'
alias kcons='kubectl config set-context'
alias kconu='kubectl config use-context'
alias kd='kubectl describe'
alias kdel='kubectl delete'
alias kdelf='kubectl delete -f'
alias kdn='kubectl describe node'
alias kdp='kubectl describe pod'
alias ke='kubectl edit'
alias kex='kubectl exec -it'
alias kexp='kubectl expose'
alias kg='kubectl get'
alias kgn='kubectl get nodes -o wide'
alias kgp='kubectl get pods -o wide'
alias klog='kubectl logs'
alias klogf='kubectl logs -f'
alias kr='kubectl run'

# Funtoo
alias e='exit'
alias em='sudo emerge -av'
alias e1='sudo emerge -av1'
alias ef='sudo emerge -avf'
alias er='sudo emerge -aC'
alias es='sudo emerge -avuD system'
alias eu='eix -Iuc'
alias ew='sudo emerge -avuD world'
alias epr='sudo emerge -av @preserved-rebuild'
alias ewn='sudo emerge -avuDN world'
alias esyn='sudo /usr/bin/ego sync && sudo /usr/bin/layman -S && sudo /usr/bin/eix-update'


I current use a modified version of the Hack font from the Nerd Fonts project. This is primarily to support rendering of glyphs (icons) natively within your terminal emulator. More specifically to support glyph rendering with the drop in replacement for ls called lsd, that I use in my shell.


Some useful Bash functions used in and out of my shell prompt:

   .bashrc (Shell source code) - Bash functions
# Functions
# Simple alphanumeric password generator
genalpha() {
  local l=$1
  [ "$l" == "" ] && l=20
  tr -dc 'A-Za-z0-9' < /dev/urandom | head -c ${l} | xargs

# Simple random password generator
genrandom() {
  local l=$1
  [ "$l" == "" ] && l=20
  tr -dc 'A-Za-z0-9_!@#$%^&*(),.;[]{}|=+-' < /dev/urandom | head -c ${l} | xargs

# Keychain wrapper
  eval `keychain --eval --agents ssh $1`

# Git Prompt
git_prompt ()
  if ! git rev-parse --git-dir > /dev/null 2>&1; then
    return 0

  git_branch=$(git branch 2>/dev/null | sed -n '/^\*/s/^\* //p')

  if git diff --quiet 2>/dev/null >&2; then

  echo "$git_color[$git_branch]${c_reset}"

# kubectl Kubernetes cluster and namespace context
  context=$(kubectl config get-contexts 2>/dev/null | grep '*' | awk '{print $3,$5}')
  echo "$context"


The shell prompt is arguably one of the most important aspects of the shell as it quickly and concisely display critical information. Here is a custom one that I use:

   .bashrc (Shell source code) - Bash prompt
# Colors

# Prompt
OS_ICON=PROMPT_COMMAND='PS1="\n \[\033[1;34m\]╭─\[\033[0;36m\]\[\033[0;37m\]\[\033[46m\] $OS_ICON \[\033[0;37m\]\[\033[46m\]\u\[\033[0;33m\]\[\033[46m\]@\h \[\033[0m\]\[\033[0;36m\]\[\033[41m\]\[\033[0;31m\]\[\033[41m\]\[\033[0;30m\]\[\033[41m\] \s \V \[\033[0m\]\[\033[0;31m\]\[\033[43m\]\[\033[0;33m\]\[\033[43m\]\[\033[0;30m\]\[\033[43m\]  \t \[\033[0m\]\[\033[0;33m\]\[\033[44m\]\[\033[0;34m\]\[\033[44m\]\[\033[0;30m\]\[\033[44m\]  \W \[\033[0m\]\[\033[0;34m\]\[\033[40m\]\[\033[0;30m\]\[\033[40m\]\[\033[0;37m\]\[\033[40m\]  $(git_prompt) \[\033[0m\]\[\033[0;30m\]\[\033[42m\]\[\033[0;32m\]\[\033[42m\]\[\033[0;30m\]\[\033[42m\]  $(kube_context) \[\033[0m\]\[\033[0;32m\]\[\033[41m\]\[\033[0;31m\]\[\033[41m\]\[\033[0;30m\]\[\033[41m\] \# \[\033[0m\]\[\033[0;31m\]\n \[\033[1;34m\]╰ \[\033[1;36m\]\$ \[\033[0m\]"'
#eval "$(starship init bash)"


Make sure to always put PROMPT_COMMAND at the very end or bottom of your .bashrc configuration so that it evaluates last


More information and contact details can be found at my personal site. Happy Hacking.