Difference between revisions of "User:Siris"

From Funtoo
Jump to navigation Jump to search
(adding rpi arm64 binpkgs stub)
(Updating priorities, wiki doc listing, and adding maintainer packages)
(4 intermediate revisions by the same user not shown)
Line 3: Line 3:
|Location name=Home Sweet Home
|Location name=Home Sweet Home
}}
}}
{{important|Check out my recently launched Funtoo Development Blog at [https://siris.fun/ siris.fun] for all of my latest technical engineering deep dives into Funtoo Development}}
== About ==
== About ==


Line 10: Line 13:


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.
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.
== Top Priorities ==
My top Funtoo related development priorities (as of 11/05/2022):
* '''Build automated golden Funtoo next arm64 and x86_86 AMIs [https://bugs.funtoo.org/browse/FL-7846 FL-7846]'''
* '''Engineer Funtoo Prometheus Exporter and release a Beta version to all Funtoo users-- [https://bugs.funtoo.org/browse/FL-9559 FL-9559]'''
* '''Refactor llvm-kit to be metatools friendly -- [https://bugs.funtoo.org/browse/FL-10073 FL-10073]'''
* '''Live on a Funtoo From Scratch (FFS) install plus continuously help integration test ffs tooling [https://bugs.funtoo.org/projects/FFS/issues/FFS-13?filter=allopenissues FFS Project Open Issues]'''


== Current Projects ==
== Current Projects ==
Official Funtoo Projects I am actively working or participating on:


* [[Funtoo:Telemetry]]
* [[Funtoo:Telemetry]]
* [[Funtoo:Programming_Languages]]
* [[Funtoo:Programming_Languages]]
* [[Funtoo:Programming_Languages/Ruby]]
* [[Funtoo:Ruby]]
* [[Funtoo:New_Install_Experience/LiveCD]]
* [[Funtoo:New_Install_Experience/LiveCD]]
* [[Funtoo:User_Services/Mottainai]]
* [[Funtoo:User_Services/Mottainai]]
* [[Funtoo:Evolved_Bootstrap]]
== Current Funtoo Software Maintenance ==
There are various bits of software I help maintain on Funtoo either by direct code contributions in the past or through Projects. Below is a listing of CatPkgs and their kits:
{| class="wikitable"
|+ Caption text
|-
! CatPkg Name !! Kit Name
|-
| dev-lang/ruby || ruby-kit
|-
| dev-lang/go || lang-kit
|-
| dev-lang/rust || lang-kit
|-
| sys-kernel/debian-sources || core-kit
|-
| app-metrics/prometheus-bin || core-server-kit
|-
| app-metrics/alertmanager-bin || core-server-kit
|-
| www-apps/grafana-bin || net-kit
|-
| net-dns/coredns || net-kit
|-
| dev-libs/efl || dev-kit
|-
| x11-wm/enlightenment || desktop-kit
|-
| x11-terms/terminology || desktop-kit
|-
| www-client/firefox || browser-kit
|-
| dev-util/just || dev-kit
|-
| sys-apps/uutils-coreutils || dev-kit
|-
| sys-fs/dust || dev-kit
|-
| sys-process/bottom || dev-kit
|-
| app-misc/yq-go || dev-kit
|-
| dev-util/packer || dev-kit
|-
| media-gfx/ascii-image-converter || dev-kit
|-
| app-benchmarks/bootchart2 || core-hw-kit
|-
| app-crypt/nwipe || security-kit
|-
| app-crypt/onepassword-bin || security-kit
|-
|}


== Wiki Docs ==
== Wiki Docs ==
Line 24: Line 94:


* [[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/Funtoo CICD Automated Pipelines|Funtoo CI/CD Automated Pipelines]]
* [[User:Siris/Funtoo CICD Automated Pipelines|Funtoo CI/CD Automated Pipelines]]
* [[User:Siris/Raspberry Pi arm64 BinPkgs]]
Some planned wiki documentation yet to be drafted:
* [[User:Siris/Funtoo Code Contribution Guide|Funtoo Code Contribution Guide]]
* [[User:Siris/Debian Sources Custom Kernel Logos|Debian Sources Custom Kernel Logos]]
* [[User:Siris/Debian Sources Custom Kernel Logos|Debian Sources Custom Kernel Logos]]
* [[User:Siris/Raspberry Pi Compute Module 3+ Turning Pi v1|Raspberry Pi Compute Module 3+ on Turning Pi v1]]
* [[User:Siris/Raspberry Pi Compute Module 3+ Turning Pi v1|Raspberry Pi Compute Module 3+ on Turning Pi v1]]
* [[User:Siris/Raspberry Pi arm64 BinPkgs]]
* [[User:Siris/Funtoo Prometheus Exporter|Funtoo Prometheus Exporter]]


== Current System ==
== Current System ==
Line 37: Line 110:


{{console|body=
{{console|body=
%pibox% ##i## ##r##OS: ##g##Funtoo Linux 1.4 x86_64
%pibox% ##i## ##r##OS: ##g##Funtoo Linux next x86_64
%pibox% ##i## ##r##Kernel: ##g##5.16.14_p1-debian-sources
%pibox% ##i## ##r##Kernel: ##g##6.0.6_p2-debian-sources
%pibox% ##i## ##r##Packages: ##g##1275 (emerge)
%pibox% ##i## ##r##Packages: ##g##1357 (emerge)
%pibox% ##i## ##r##Shell: ##g##bash 5.0.18
%pibox% ##i## ##r##Shell: ##g##bash 5.2.0
%pibox% ##i## ##r##Resolution: ##g##3840x2160
%pibox% ##i## ##r##Resolution: ##g##3840x2160
%pibox% ##i## ##r##WM: ##g##Enlightenment
%pibox% ##i## ##r##WM: ##g##Enlightenment
Line 47: Line 120:
%pibox% ##i## ##r##Terminal: ##g##terminology
%pibox% ##i## ##r##Terminal: ##g##terminology
%pibox% ##i## ##r##Terminal ##g##Font: Hack Nerd Font Mono
%pibox% ##i## ##r##Terminal ##g##Font: Hack Nerd Font Mono
%pibox% ##i## ##r##CPU: ##g##AMD Ryzen 9 3900X (24) @ 3.800GHz
%pibox% ##i## ##r##CPU: ##g##MD Ryzen 9 5950X (32) @ 3.400GHz
%pibox% ##i## ##r##GPU: ##g##NVIDIA GeForce RTX 2080 Ti Rev. A
%pibox% ##i## ##r##GPU: ##g##AMD Radeon Pro W6600
%pibox% ##i## ##r##Memory: ##g##32101MiB
%pibox% ##i## ##r##Memory: ##g##64197MiB
}}
}}
Some other hardware I actively use for Funtoo Development:
* Core Rig Hardware and Accessories:
** '''Keyboard''': [https://www.gloriousgaming.com/ Glorious GMMK-TKL-RGB Keyboard]
** '''Mouse''': [https://www.gloriousgaming.com/ Glorious Model D Wireless Mouse]
** '''Wrist Rests''': [https://www.gloriousgaming.com/ Glorious Wooden Wrist Rests]
** '''Deskpad''': [https://novelkeys.com/collections/deskpads/products/nasa-deskpads NovelKeys NASA Deskpad]
** '''Office Chair''': [https://secretlab.co/collections/titan-series#titan_2020-batman Secretlab Titan Dark Knight Edition Gaming Chair]
** '''Monitor''': [https://www.newegg.com/p/N82E16824716002?Item=N82E16824716002 Gigabyte AORUS FV43U 43" QLED UHD 4K 3840 x 2160 144Hz 1ms Monitor]
* Streaming Hardware:
** '''Microphone''': [https://hyperx.com/collections/microphones/products/hyperx-quadcast-usb-microphone HyperX QuadCast - USB Microphone]
** '''Microphone Boom''': [https://gatorframeworks.com/products/deluxe-frameworks-desktop-mic-boom-stand-gfwmicbcbm3000/ Gator Frameworks -- Deluxe Frameworks Desktop Mic Boom Stand]
** '''Microphone Boom Wall Mount''': [https://www.bhphotovideo.com/c/product/616746-REG/Heil_Sound_WM_1_WM_1_Wall_Mount.html Heil Sound WM-1]
=== ARM64 Systems ===
I am currently doing lots of active development and experimenting with various arm64 for Funtoo Linux.
Below is a list of some of the hardware I current own and either run or and working on running Funtoo Linux on
* [https://turingpi.com/v1/ Turning Pi v1 Raspberry Pi Cluster Board]
** [https://www.raspberrypi.com/products/compute-module-3-plus/ Raspberry Pi Compute Modules 3+]
** Will hopefully be testing Raspberry Pi CM v4 and Turning Pi RK1 compute modules.
* [https://turingpi.com/ Turning Pi v2 Cluster Board (on pre-order)]
* [https://www.raspberrypi.com/products/raspberry-pi-4-desktop-kit/ Raspberry Pi 4 Desktop Kit]
** Case: [https://www.pishop.us/product/argon-neo-raspberry-pi-4-case/ Argon NEO Raspberry Pi 4 Case]
* [https://www.firefly.store/goods.php?id=163 Firefly ROC-RK3588S-PC]


== Current Shell ==
== Current Shell ==
Line 56: Line 157:
There are so many fun ways to customize your shell on Funtoo Linux.
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.
Here are some Bash customizations that I use on my primary Funtoo system that have evolved over many years and continue to do so. Have fun with them and customizing them even further.


=== Aliases ===
=== Aliases ===
Line 228: Line 329:
{{note|Make sure to always put '''PROMPT_COMMAND''' at the very end or bottom of your .bashrc configuration so that it evaluates last }}
{{note|Make sure to always put '''PROMPT_COMMAND''' at the very end or bottom of your .bashrc configuration so that it evaluates last }}


== Contact ==
== Blog ==


More information and contact details can be found at [https://shanesofos.com/ my personal site]. Happy Hacking.
More information can be found at [https://siris.fun/ Siris's Funtoo Linux Dev Blog]. Happy Hacking.

Revision as of 06:35, November 6, 2022


Location

Loading map...
Home Sweet Home


   Important

Check out my recently launched Funtoo Development Blog at siris.fun for all of my latest technical engineering deep dives into Funtoo Development

About

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.

Top Priorities

My top Funtoo related development priorities (as of 11/05/2022):

  • Build automated golden Funtoo next arm64 and x86_86 AMIs FL-7846
  • Engineer Funtoo Prometheus Exporter and release a Beta version to all Funtoo users-- FL-9559
  • Refactor llvm-kit to be metatools friendly -- FL-10073
  • Live on a Funtoo From Scratch (FFS) install plus continuously help integration test ffs tooling FFS Project Open Issues

Current Projects

Official Funtoo Projects I am actively working or participating on:

Current Funtoo Software Maintenance

There are various bits of software I help maintain on Funtoo either by direct code contributions in the past or through Projects. Below is a listing of CatPkgs and their kits:

Caption text
CatPkg Name Kit Name
dev-lang/ruby ruby-kit
dev-lang/go lang-kit
dev-lang/rust lang-kit
sys-kernel/debian-sources core-kit
app-metrics/prometheus-bin core-server-kit
app-metrics/alertmanager-bin core-server-kit
www-apps/grafana-bin net-kit
net-dns/coredns net-kit
dev-libs/efl dev-kit
x11-wm/enlightenment desktop-kit
x11-terms/terminology desktop-kit
www-client/firefox browser-kit
dev-util/just dev-kit
sys-apps/uutils-coreutils dev-kit
sys-fs/dust dev-kit
sys-process/bottom dev-kit
app-misc/yq-go dev-kit
dev-util/packer dev-kit
media-gfx/ascii-image-converter dev-kit
app-benchmarks/bootchart2 core-hw-kit
app-crypt/nwipe security-kit
app-crypt/onepassword-bin security-kit

Wiki Docs

Some different wiki documentation I am actively working on:

Some planned wiki documentation yet to be drafted:

Current System

Here are my current Funtoo system's specifications:

pibox #  OS: Funtoo Linux next x86_64
pibox #  Kernel: 6.0.6_p2-debian-sources
pibox #  Packages: 1357 (emerge)
pibox #  Shell: bash 5.2.0
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: MD Ryzen 9 5950X (32) @ 3.400GHz
pibox #  GPU: AMD Radeon Pro W6600
pibox #  Memory: 64197MiB

Some other hardware I actively use for Funtoo Development:

ARM64 Systems

I am currently doing lots of active development and experimenting with various arm64 for Funtoo Linux.

Below is a list of some of the hardware I current own and either run or and working on running Funtoo Linux on

Current Shell

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

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

Aliases

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'

Font

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.

Functions

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
key(){
  eval `keychain --eval --agents ssh $1`
}

# Git Prompt
git_prompt ()
{
  c_reset='\[\e[0m\]'
  c_git_clean='\[\e[36;1m\]'
  c_git_dirty='\[\e[31;1m\]'
  if ! git rev-parse --git-dir > /dev/null 2>&1; then
    return 0
  fi

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

  if git diff --quiet 2>/dev/null >&2; then
    git_color="$c_git_clean"
  else
    git_color="$c_git_dirty"
  fi

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


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

Prompt

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
BLACK=$'\033[30;01m'
RED=$'\033[31;01m'
GREEN=$'\033[32;01m'
YELW=$'\033[33;01m'
BLUE=$'\033[34;01m'
PURP=$'\033[35;01m'
CYAN=$'\033[36;01m'
WHITE=$'\033[37;01m'
OFF=$'\033[0m'

# 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)"


   Note

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

Blog

More information can be found at Siris's Funtoo Linux Dev Blog. Happy Hacking.