Initial commit
This commit is contained in:
Executable
+34
@@ -0,0 +1,34 @@
|
||||
# EditorConfig is awesome: https://editorconfig.org
|
||||
|
||||
# top-most EditorConfig file
|
||||
root = true
|
||||
|
||||
# Unix-style newlines with a newline ending every file
|
||||
[*]
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
indent_size = 2
|
||||
|
||||
# Matches multiple files with brace expansion notation
|
||||
# Set default charset
|
||||
[*.{js,py}]
|
||||
charset = utf-8
|
||||
|
||||
# 4 space indentation
|
||||
[*.py]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
|
||||
# Tab indentation (no size specified)
|
||||
[Makefile]
|
||||
indent_style = tab
|
||||
|
||||
# Indentation override for all JS under lib directory
|
||||
[lib/**.js]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
# Matches the exact files either package.json or .travis.yml
|
||||
[{package.json,.travis.yml}]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
Executable
+16
@@ -0,0 +1,16 @@
|
||||
[user]
|
||||
name = Sebastian Krüger
|
||||
email = valknar@pivoine.art
|
||||
[filter "lfs"]
|
||||
clean = git-lfs clean -- %f
|
||||
smudge = git-lfs smudge -- %f
|
||||
process = git-lfs filter-process
|
||||
required = true
|
||||
[core]
|
||||
editor = nano
|
||||
[init]
|
||||
defaultBranch = main
|
||||
[alias]
|
||||
squash-all = "!f(){ git reset $(git commit-tree \"HEAD^{tree}\" \"$@\");};f"
|
||||
[push]
|
||||
autoSetupRemote = true
|
||||
Executable
+20
@@ -0,0 +1,20 @@
|
||||
# Ignore everything
|
||||
*
|
||||
|
||||
# But not these files.
|
||||
!.gitignore
|
||||
!.gitconfig
|
||||
!.editorconfig
|
||||
!.nvmrc
|
||||
!.ruby-version
|
||||
!.python-version
|
||||
!.p10k.zsh
|
||||
!.zprofile
|
||||
!.zlogout
|
||||
!.zlogin
|
||||
!.zshrc
|
||||
!.zshenv
|
||||
!.hushlogin
|
||||
!arty.yml
|
||||
!signature.txt
|
||||
!README.md
|
||||
@@ -0,0 +1,193 @@
|
||||
# Generated by Powerlevel10k configuration wizard on 2025-09-04 at 02:33 CEST.
|
||||
# Based on romkatv/powerlevel10k/config/p10k-pure.zsh, checksum 07533.
|
||||
# Wizard options: nerdfont-v3 + powerline, small icons, pure, snazzy, 24h time, 1 line,
|
||||
# compact, instant_prompt=verbose.
|
||||
# Type `p10k configure` to generate another config.
|
||||
#
|
||||
# Config file for Powerlevel10k with the style of Pure (https://github.com/sindresorhus/pure).
|
||||
#
|
||||
# Differences from Pure:
|
||||
#
|
||||
# - Git:
|
||||
# - `@c4d3ec2c` instead of something like `v1.4.0~11` when in detached HEAD state.
|
||||
# - No automatic `git fetch` (the same as in Pure with `PURE_GIT_PULL=0`).
|
||||
#
|
||||
# Apart from the differences listed above, the replication of Pure prompt is exact. This includes
|
||||
# even the questionable parts. For example, just like in Pure, there is no indication of Git status
|
||||
# being stale; prompt symbol is the same in command, visual and overwrite vi modes; when prompt
|
||||
# doesn't fit on one line, it wraps around with no attempt to shorten it.
|
||||
#
|
||||
# If you like the general style of Pure but not particularly attached to all its quirks, type
|
||||
# `p10k configure` and pick "Lean" style. This will give you slick minimalist prompt while taking
|
||||
# advantage of Powerlevel10k features that aren't present in Pure.
|
||||
|
||||
# Temporarily change options.
|
||||
'builtin' 'local' '-a' 'p10k_config_opts'
|
||||
[[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases')
|
||||
[[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob')
|
||||
[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand')
|
||||
'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand'
|
||||
|
||||
() {
|
||||
emulate -L zsh -o extended_glob
|
||||
|
||||
# Unset all configuration options.
|
||||
unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR'
|
||||
|
||||
# Zsh >= 5.1 is required.
|
||||
[[ $ZSH_VERSION == (5.<1->*|<6->.*) ]] || return
|
||||
|
||||
# Prompt colors.
|
||||
local grey='242'
|
||||
local red='#FF5C57'
|
||||
local yellow='#F3F99D'
|
||||
local blue='#57C7FF'
|
||||
local magenta='#FF6AC1'
|
||||
local cyan='#9AEDFE'
|
||||
local white='#F1F1F0'
|
||||
|
||||
# Left prompt segments.
|
||||
typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(
|
||||
context # user@host
|
||||
dir # current directory
|
||||
vcs # git status
|
||||
command_execution_time # previous command duration
|
||||
# virtualenv # python virtual environment
|
||||
prompt_char # prompt symbol
|
||||
)
|
||||
|
||||
# Right prompt segments.
|
||||
typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(
|
||||
# command_execution_time # previous command duration
|
||||
# virtualenv # python virtual environment
|
||||
# context # user@host
|
||||
time # current time
|
||||
)
|
||||
|
||||
# Basic style options that define the overall prompt look.
|
||||
typeset -g POWERLEVEL9K_BACKGROUND= # transparent background
|
||||
typeset -g POWERLEVEL9K_{LEFT,RIGHT}_{LEFT,RIGHT}_WHITESPACE= # no surrounding whitespace
|
||||
typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SUBSEGMENT_SEPARATOR=' ' # separate segments with a space
|
||||
typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SEGMENT_SEPARATOR= # no end-of-line symbol
|
||||
typeset -g POWERLEVEL9K_VISUAL_IDENTIFIER_EXPANSION= # no segment icons
|
||||
|
||||
# Add an empty line before each prompt except the first. This doesn't emulate the bug
|
||||
# in Pure that makes prompt drift down whenever you use the Alt-C binding from fzf or similar.
|
||||
typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=false
|
||||
|
||||
# Magenta prompt symbol if the last command succeeded.
|
||||
typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS}_FOREGROUND=$magenta
|
||||
# Red prompt symbol if the last command failed.
|
||||
typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS}_FOREGROUND=$red
|
||||
# Default prompt symbol.
|
||||
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='❯'
|
||||
# Prompt symbol in command vi mode.
|
||||
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='❮'
|
||||
# Prompt symbol in visual vi mode is the same as in command mode.
|
||||
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='❮'
|
||||
# Prompt symbol in overwrite vi mode is the same as in command mode.
|
||||
typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=false
|
||||
|
||||
# Grey Python Virtual Environment.
|
||||
typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=$grey
|
||||
# Don't show Python version.
|
||||
typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false
|
||||
typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER=
|
||||
|
||||
# Blue current directory.
|
||||
typeset -g POWERLEVEL9K_DIR_FOREGROUND=$blue
|
||||
|
||||
# Context format when root: user@host. The first part white, the rest grey.
|
||||
typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE="%F{$white}%n%f%F{$grey}@%m%f"
|
||||
# Context format when not root: user@host. The whole thing grey.
|
||||
typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE="%F{$grey}%n@%m%f"
|
||||
# Don't show context unless root or in SSH.
|
||||
typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_CONTENT_EXPANSION=
|
||||
|
||||
# Show previous command duration only if it's >= 5s.
|
||||
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=5
|
||||
# Don't show fractional seconds. Thus, 7s rather than 7.3s.
|
||||
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0
|
||||
# Duration format: 1d 2h 3m 4s.
|
||||
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s'
|
||||
# Yellow previous command duration.
|
||||
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=$yellow
|
||||
|
||||
# Grey Git prompt. This makes stale prompts indistinguishable from up-to-date ones.
|
||||
typeset -g POWERLEVEL9K_VCS_FOREGROUND=$grey
|
||||
|
||||
# Disable async loading indicator to make directories that aren't Git repositories
|
||||
# indistinguishable from large Git repositories without known state.
|
||||
typeset -g POWERLEVEL9K_VCS_LOADING_TEXT=
|
||||
|
||||
# Don't wait for Git status even for a millisecond, so that prompt always updates
|
||||
# asynchronously when Git state changes.
|
||||
typeset -g POWERLEVEL9K_VCS_MAX_SYNC_LATENCY_SECONDS=0
|
||||
|
||||
# Cyan ahead/behind arrows.
|
||||
typeset -g POWERLEVEL9K_VCS_{INCOMING,OUTGOING}_CHANGESFORMAT_FOREGROUND=$cyan
|
||||
# Don't show remote branch, current tag or stashes.
|
||||
typeset -g POWERLEVEL9K_VCS_GIT_HOOKS=(vcs-detect-changes git-untracked git-aheadbehind)
|
||||
# Don't show the branch icon.
|
||||
typeset -g POWERLEVEL9K_VCS_BRANCH_ICON=
|
||||
# When in detached HEAD state, show @commit where branch normally goes.
|
||||
typeset -g POWERLEVEL9K_VCS_COMMIT_ICON='@'
|
||||
# Don't show staged, unstaged, untracked indicators.
|
||||
typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED}_ICON=
|
||||
# Show '*' when there are staged, unstaged or untracked files.
|
||||
typeset -g POWERLEVEL9K_VCS_DIRTY_ICON='*'
|
||||
# Show '⇣' if local branch is behind remote.
|
||||
typeset -g POWERLEVEL9K_VCS_INCOMING_CHANGES_ICON=':⇣'
|
||||
# Show '⇡' if local branch is ahead of remote.
|
||||
typeset -g POWERLEVEL9K_VCS_OUTGOING_CHANGES_ICON=':⇡'
|
||||
# Don't show the number of commits next to the ahead/behind arrows.
|
||||
typeset -g POWERLEVEL9K_VCS_{COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=1
|
||||
# Remove space between '⇣' and '⇡' and all trailing spaces.
|
||||
typeset -g POWERLEVEL9K_VCS_CONTENT_EXPANSION='${${${P9K_CONTENT/⇣* :⇡/⇣⇡}// }//:/ }'
|
||||
|
||||
# Grey current time.
|
||||
typeset -g POWERLEVEL9K_TIME_FOREGROUND=$grey
|
||||
# Format for the current time: 09:51:02. See `man 3 strftime`.
|
||||
typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M:%S}'
|
||||
# If set to true, time will update when you hit enter. This way prompts for the past
|
||||
# commands will contain the start times of their commands rather than the end times of
|
||||
# their preceding commands.
|
||||
typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false
|
||||
|
||||
# Transient prompt works similarly to the builtin transient_rprompt option. It trims down prompt
|
||||
# when accepting a command line. Supported values:
|
||||
#
|
||||
# - off: Don't change prompt when accepting a command line.
|
||||
# - always: Trim down prompt when accepting a command line.
|
||||
# - same-dir: Trim down prompt when accepting a command line unless this is the first command
|
||||
# typed after changing current working directory.
|
||||
typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=off
|
||||
|
||||
# Instant prompt mode.
|
||||
#
|
||||
# - off: Disable instant prompt. Choose this if you've tried instant prompt and found
|
||||
# it incompatible with your zsh configuration files.
|
||||
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
||||
# during zsh initialization. Choose this if you've read and understood
|
||||
# https://github.com/romkatv/powerlevel10k#instant-prompt.
|
||||
# - verbose: Enable instant prompt and print a warning when detecting console output during
|
||||
# zsh initialization. Choose this if you've never tried instant prompt, haven't
|
||||
# seen the warning, or if you are unsure what this all means.
|
||||
typeset -g POWERLEVEL9K_INSTANT_PROMPT=off
|
||||
|
||||
# Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized.
|
||||
# For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload
|
||||
# can slow down prompt by 1-2 milliseconds, so it's better to keep it turned off unless you
|
||||
# really need it.
|
||||
typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=off
|
||||
|
||||
# If p10k is already loaded, reload configuration.
|
||||
# This works even with POWERLEVEL9K_DISABLE_HOT_RELOAD=true.
|
||||
(( ! $+functions[p10k] )) || p10k reload
|
||||
}
|
||||
|
||||
# Tell `p10k configure` which file it should overwrite.
|
||||
typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a}
|
||||
|
||||
(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]}
|
||||
'builtin' 'unset' 'p10k_config_opts'
|
||||
@@ -0,0 +1 @@
|
||||
3.12
|
||||
@@ -0,0 +1 @@
|
||||
3.4.1
|
||||
@@ -0,0 +1,14 @@
|
||||
# HIDRIVE=/mnt/hidrive
|
||||
# HIDRIVE_VALKNAR="$HIDRIVE/users/valknar"
|
||||
|
||||
# mount "$HIDRIVE" 2>/dev/null
|
||||
|
||||
# ln -s "$HIDRIVE_VALKNAR/Documents" "$HOME/Documents" 2>/dev/null
|
||||
# ln -s "$HIDRIVE_VALKNAR/Pictures" "$HOME/Pictures" 2>/dev/null
|
||||
# ln -s "$HIDRIVE_VALKNAR/Videos" "$HOME/Videos" 2>/dev/null
|
||||
# ln -s "$HIDRIVE_VALKNAR/Music" "$HOME/Music" 2>/dev/null
|
||||
|
||||
# xdg-user-dirs-update --set DOCUMENTS "$HOME/Documents"
|
||||
# xdg-user-dirs-update --set PICTURES "$HOME/Pictures"
|
||||
# xdg-user-dirs-update --set VIDEOS "$HOME/Videos"
|
||||
# xdg-user-dirs-update --set MUSIC "$HOME/Music"
|
||||
@@ -0,0 +1,204 @@
|
||||
if [ -d "$HOME/bin" ]; then
|
||||
export PATH="$HOME/bin:$PATH"
|
||||
fi
|
||||
|
||||
if [ -d "$HOME/.local/bin" ]; then
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
fi
|
||||
|
||||
if [ -d "$HOME/.rbenv/bin" ]; then
|
||||
export PATH="$PATH:$HOME/.rbenv/bin"
|
||||
fi
|
||||
|
||||
if [ -d "$HOME/.pyenv/bin" ]; then
|
||||
export PYENV_ROOT="$HOME/.pyenv"
|
||||
export PATH="$PYENV_ROOT/bin:$PATH"
|
||||
fi
|
||||
|
||||
if [ -d "$HOME/.cargo/bin" ]; then
|
||||
export PATH="$PATH:$HOME/.cargo/bin"
|
||||
fi
|
||||
|
||||
if [ -d "$HOME/.gvm/bin" ]; then
|
||||
export PATH="$PATH:$HOME/.gvm/bin"
|
||||
fi
|
||||
|
||||
if [ -d "/usr/local/go/bin" ]; then
|
||||
export PATH="$PATH:/usr/local/go/bin"
|
||||
fi
|
||||
|
||||
if [ -d "$HOME/go/bin" ]; then
|
||||
export PATH="$PATH:$HOME/go/bin"
|
||||
fi
|
||||
|
||||
if [ -d "$HOME/node_modules/.bin" ]; then
|
||||
export PATH="$PATH:$HOME/node_modules/.bin"
|
||||
fi
|
||||
|
||||
if [ -d "$HOME/scripts" ]; then
|
||||
export PATH="$HOME/scripts:$PATH"
|
||||
fi
|
||||
|
||||
# Source .env file early to export environment variables
|
||||
if [ -f "$HOME/.env" ] ; then
|
||||
set -a
|
||||
source "$HOME/.env"
|
||||
set +a
|
||||
fi
|
||||
|
||||
if [ -n "$BASH_VERSION" ]; then
|
||||
# include .bashrc if it exists
|
||||
if [ -f "$HOME/.bashrc" ]; then
|
||||
. "$HOME/.bashrc"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -s "$NVM_DIR/nvm.sh" ] ; then
|
||||
. "$NVM_DIR/nvm.sh"
|
||||
fi
|
||||
|
||||
if [ -s "$NVM_DIR/bash_completion" ] ; then
|
||||
. "$NVM_DIR/bash_completion"
|
||||
fi
|
||||
|
||||
if [ -s "$HOME/.rvm/scripts/rvm" ] ; then
|
||||
. "$HOME/.rvm/scripts/rvm"
|
||||
fi
|
||||
|
||||
if [ -s "$HOME/.cargo/env" ] ; then
|
||||
. "$HOME/.cargo/env"
|
||||
fi
|
||||
|
||||
if [ -s "$HOME/.gvm/scripts/gvm" ] ; then
|
||||
. "$HOME/.gvm/scripts/gvm"
|
||||
fi
|
||||
|
||||
if command -v oh-my-posh 2>&1 >/dev/null; then
|
||||
eval "$(! oh-my-posh init zsh --config=~/worker.omp.json)"
|
||||
fi
|
||||
|
||||
if command -v rbenv 2>&1 >/dev/null; then
|
||||
eval "$(rbenv init - --no-rehash zsh)"
|
||||
fi
|
||||
|
||||
if command -v pyenv 2>&1 >/dev/null; then
|
||||
eval "$(pyenv init --path)"
|
||||
fi
|
||||
|
||||
|
||||
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
|
||||
# Initialization code that may require console input (password prompts, [y/n]
|
||||
# confirmations, etc.) must go above this block; everything else may go below.
|
||||
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
|
||||
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
|
||||
fi
|
||||
|
||||
# If you come from bash you might have to change your $PATH.
|
||||
# export PATH=$HOME/bin:$HOME/.local/bin:/usr/local/bin:$PATH
|
||||
|
||||
# Path to your Oh My Zsh installation.
|
||||
export ZSH="$HOME/.oh-my-zsh"
|
||||
|
||||
# Set name of the theme to load --- if set to "random", it will
|
||||
# load a random theme each time Oh My Zsh is loaded, in which case,
|
||||
# to know which specific one was loaded, run: echo $RANDOM_THEME
|
||||
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
|
||||
ZSH_THEME="powerlevel10k/powerlevel10k"
|
||||
|
||||
# Set list of themes to pick from when loading at random
|
||||
# Setting this variable when ZSH_THEME=random will cause zsh to load
|
||||
# a theme from this variable instead of looking in $ZSH/themes/
|
||||
# If set to an empty array, this variable will have no effect.
|
||||
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
|
||||
|
||||
# Uncomment the following line to use case-sensitive completion.
|
||||
# CASE_SENSITIVE="true"
|
||||
|
||||
# Uncomment the following line to use hyphen-insensitive completion.
|
||||
# Case-sensitive completion must be off. _ and - will be interchangeable.
|
||||
# HYPHEN_INSENSITIVE="true"
|
||||
|
||||
# Uncomment one of the following lines to change the auto-update behavior
|
||||
# zstyle ':omz:update' mode disabled # disable automatic updates
|
||||
# zstyle ':omz:update' mode auto # update automatically without asking
|
||||
# zstyle ':omz:update' mode reminder # just remind me to update when it's time
|
||||
|
||||
# Uncomment the following line to change how often to auto-update (in days).
|
||||
# zstyle ':omz:update' frequency 13
|
||||
|
||||
# Uncomment the following line if pasting URLs and other text is messed up.
|
||||
# DISABLE_MAGIC_FUNCTIONS="true"
|
||||
|
||||
# Uncomment the following line to disable colors in ls.
|
||||
# DISABLE_LS_COLORS="true"
|
||||
|
||||
# Uncomment the following line to disable auto-setting terminal title.
|
||||
# DISABLE_AUTO_TITLE="true"
|
||||
|
||||
# Uncomment the following line to enable command auto-correction.
|
||||
# ENABLE_CORRECTION="true"
|
||||
|
||||
# Uncomment the following line to display red dots whilst waiting for completion.
|
||||
# You can also set it to another string to have that shown instead of the default red dots.
|
||||
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
|
||||
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
|
||||
# COMPLETION_WAITING_DOTS="true"
|
||||
|
||||
# Uncomment the following line if you want to disable marking untracked files
|
||||
# under VCS as dirty. This makes repository status check for large repositories
|
||||
# much, much faster.
|
||||
# DISABLE_UNTRACKED_FILES_DIRTY="true"
|
||||
|
||||
# Uncomment the following line if you want to change the command execution time
|
||||
# stamp shown in the history command output.
|
||||
# You can set one of the optional three formats:
|
||||
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
|
||||
# or set a custom format using the strftime function format specifications,
|
||||
# see 'man strftime' for details.
|
||||
# HIST_STAMPS="mm/dd/yyyy"
|
||||
|
||||
# Would you like to use another custom folder than $ZSH/custom?
|
||||
# ZSH_CUSTOM=/path/to/new-custom-folder
|
||||
|
||||
# Which plugins would you like to load?
|
||||
# Standard plugins can be found in $ZSH/plugins/
|
||||
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
|
||||
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||||
# Add wisely, as too many plugins slow down shell startup.
|
||||
plugins=(git pm2 gh sudo ssh ruby rust python node github rsync nvm rbenv pyenv docker docker-compose qrcode zsh-autosuggestions zsh-syntax-highlighting zsh-interactive-cd zsh-navigation-tools)
|
||||
|
||||
[[ ! -f $ZSH/oh-my-zsh.sh ]] || source $ZSH/oh-my-zsh.sh
|
||||
|
||||
# User configuration
|
||||
|
||||
# export MANPATH="/usr/local/man:$MANPATH"
|
||||
|
||||
# You may need to manually set your language environment
|
||||
# export LANG=en_US.UTF-8
|
||||
|
||||
# Preferred editor for local and remote sessions
|
||||
# if [[ -n $SSH_CONNECTION ]]; then
|
||||
# export EDITOR='vim'
|
||||
# else
|
||||
# export EDITOR='nvim'
|
||||
# fi
|
||||
|
||||
# Compilation flags
|
||||
# export ARCHFLAGS="-arch $(uname -m)"
|
||||
|
||||
# Set personal aliases, overriding those provided by Oh My Zsh libs,
|
||||
# plugins, and themes. Aliases can be placed here, though Oh My Zsh
|
||||
# users are encouraged to define aliases within a top-level file in
|
||||
# the $ZSH_CUSTOM folder, with .zsh extension. Examples:
|
||||
# - $ZSH_CUSTOM/aliases.zsh
|
||||
# - $ZSH_CUSTOM/macos.zsh
|
||||
# For a full list of active aliases, run `alias`.
|
||||
#
|
||||
# Example aliases
|
||||
# alias zshconfig="mate ~/.zshrc"
|
||||
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
||||
|
||||
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
||||
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
||||
|
||||
[[ -s "/home/valknar/.gvm/scripts/gvm" ]] && source "/home/valknar/.gvm/scripts/gvm"
|
||||
@@ -0,0 +1,311 @@
|
||||
<div align="center">
|
||||
|
||||
<pre>
|
||||
_ _____ __ __ __ _ _____ ____ _ _____
|
||||
| | / / | / / / //_// | / / | / __ ( ) ___/
|
||||
| | / / /| | / / / ,< / |/ / /| | / /_/ //\__ \
|
||||
| |/ / ___ |/ /___/ /| |/ /| / ___ |/ _, _/ ___/ /
|
||||
|___/_/ |_/_____/_/ |_/_/ |_/_/ |_/_/ |_| /____/
|
||||
|
||||
__________ ____ ____________
|
||||
/ ____/ __ \/ __ \/ ____/ ____/
|
||||
/ /_ / / / / /_/ / / __/ __/
|
||||
/ __/ / /_/ / _, _/ /_/ / /___
|
||||
/_/ \____/_/ |_|\____/_____/
|
||||
</pre>
|
||||
|
||||
# WHERE CODE MEETS CHAOS
|
||||
|
||||
[](https://www.debian.org/)
|
||||
[](https://www.slayer.net/)
|
||||
[](/)
|
||||
[](LICENSE)
|
||||
|
||||
**My Debian home directory - forged in the fires of chaos, tempered with configuration files,**
|
||||
**and wielded with the fury of a thousand riffs.**
|
||||
|
||||
*This is where dotfiles headbang and shell scripts scream.*
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
## THE ARSENAL
|
||||
|
||||
### WEAPONS OF MASS DEVELOPMENT
|
||||
|
||||
```
|
||||
+-----------------------------------------------------+
|
||||
| NODE.JS | Managed by nvm |
|
||||
| PYTHON | Managed by pyenv |
|
||||
| RUBY | Managed by rbenv |
|
||||
| RUST | Managed by rustup |
|
||||
| GO | Managed by gvm |
|
||||
| DOCKER | Containerized destruction |
|
||||
+-----------------------------------------------------+
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## QUICK START RITUAL
|
||||
|
||||
### Summoning the Environment
|
||||
|
||||
```bash
|
||||
# 1. Clone this unholy repository
|
||||
git init && git remote add origin git@dev.pivoine.art:valknar/home.git
|
||||
git fetch && git reset --hard origin/main
|
||||
git branch --set-upstream-to=origin/main main
|
||||
|
||||
# Or using arty (if already installed)
|
||||
arty clone home
|
||||
|
||||
# 2. Configure git
|
||||
git config --global init.defaultBranch main
|
||||
git config --global --add safe.directory /home/$USER
|
||||
|
||||
# 3. Sync all dependencies (version managers, shell config, etc.)
|
||||
arty sync
|
||||
|
||||
# 4. Install system packages
|
||||
arty debian/update && arty debian/install
|
||||
|
||||
# 5. Install development tools
|
||||
arty rust/install
|
||||
arty node/install
|
||||
arty ruby/install
|
||||
arty python/install
|
||||
|
||||
# 6. Install global packages
|
||||
arty npm/install
|
||||
arty gem/install
|
||||
|
||||
# 7. Source the shell configuration
|
||||
source ~/.zshrc
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ARTY - REPOSITORY ORCHESTRATION
|
||||
|
||||
### What is Arty?
|
||||
|
||||
**Arty.sh** is a bash-based dependency and repository manager that orchestrates git subrepositories like a conductor of chaos. It's part of the [butter.sh](https://github.com/butter-sh/butter-sh.github.io) ecosystem.
|
||||
|
||||
### Available Scripts
|
||||
|
||||
```bash
|
||||
# System setup
|
||||
arty debian/update # Enable non-free repos and update sources
|
||||
arty debian/install # curl, wget, zsh, fzf, davfs2, make, imagemagick, ffmpeg, yt-dlp, pkg-config, zstd, libffi-dev, libyaml-dev, libssl-dev, liblzma-dev, libbz2-dev, libncurses-dev, libreadline-dev, libsqlite3-dev, python3-tk
|
||||
|
||||
# Development tools
|
||||
arty docker/install # Docker Engine with user group
|
||||
arty rust/install # Rust toolchain via rustup
|
||||
arty node/install # Node.js via nvm
|
||||
arty ruby/install # Ruby via rbenv
|
||||
arty python/install # Python via pyenv
|
||||
arty go/install # Go via apt
|
||||
arty hugo/install # Hugo extended via go install
|
||||
|
||||
# CLI tools
|
||||
arty claude/install # Claude AI CLI
|
||||
arty yq/install # yq YAML processor
|
||||
arty gh/install # GitHub CLI
|
||||
arty tailscale/install # Tailscale
|
||||
arty ollama/install # Ollama
|
||||
```
|
||||
|
||||
### What Arty Manages
|
||||
|
||||
- **Version managers** (nvm, rbenv, pyenv, gvm)
|
||||
- **Shell configuration** (Oh-My-Zsh, Powerlevel10k, plugins)
|
||||
- **Custom binaries** (from `~/bin/` directory)
|
||||
|
||||
---
|
||||
|
||||
## COMMAND LINE BRUTALITY
|
||||
|
||||
### Custom Scripts
|
||||
|
||||
Scripts in `~/bin/` are loaded via PATH. Check `bin/` directory for available utilities.
|
||||
|
||||
---
|
||||
|
||||
## ENVIRONMENT STRUCTURE
|
||||
|
||||
```
|
||||
~/
|
||||
+-- bin/ # Custom scripts and executables
|
||||
+-- .llmx/ # LLM configuration (Claude, etc.)
|
||||
+-- .nvm/ # Node Version Manager
|
||||
+-- .rbenv/ # Ruby Version Manager
|
||||
| +-- plugins/ruby-build/
|
||||
+-- .pyenv/ # Python Version Manager
|
||||
+-- .gvm/ # Go Version Manager
|
||||
+-- .oh-my-zsh/ # Oh-My-Zsh framework
|
||||
| +-- custom/
|
||||
| +-- themes/
|
||||
| | +-- powerlevel10k/
|
||||
| +-- plugins/
|
||||
| +-- zsh-autosuggestions/
|
||||
| +-- zsh-syntax-highlighting/
|
||||
+-- Projects/ # Development projects
|
||||
+-- Documents/ # -> /mnt/hidrive/users/valknar/Documents
|
||||
+-- Pictures/ # -> /mnt/hidrive/users/valknar/Pictures
|
||||
+-- Videos/ # -> /mnt/hidrive/users/valknar/Videos
|
||||
+-- Music/ # -> /mnt/hidrive/users/valknar/Music
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## DOTFILE HIGHLIGHTS
|
||||
|
||||
### Shell Configuration
|
||||
- **`.zshrc`** - Oh-My-Zsh with Powerlevel10k theme
|
||||
- **`.zlogin`** - Login script (mounts HiDrive, creates symbolic links)
|
||||
- **`.p10k.zsh`** - Powerlevel10k configuration
|
||||
- **`.zprofile`**, **`.zlogout`**, **`.zshenv`** - Zsh startup files
|
||||
|
||||
### Version Files
|
||||
- **`.nvmrc`** - Node.js version
|
||||
- **`.ruby-version`** - Ruby version
|
||||
- **`.python-version`** - Python version
|
||||
|
||||
### Git Configuration
|
||||
- **`.gitignore`** - INVERTED PATTERN (ignore all, allow specific files)
|
||||
- **`.gitconfig`** - Git user configuration
|
||||
- **`.gitmodules`** - Git submodules configuration
|
||||
|
||||
### Orchestration
|
||||
- **`arty.yml`** - Repository and dependency management with installation scripts
|
||||
|
||||
### Personal
|
||||
- **`signature.txt`** - ASCII art email signature
|
||||
- **`.hushlogin`** - Suppress login banners
|
||||
|
||||
---
|
||||
|
||||
## HIDRIVE INTEGRATION
|
||||
|
||||
The `.zlogin` script automatically:
|
||||
- **Mounts HiDrive** storage at `/mnt/hidrive` on shell login
|
||||
- **Creates symbolic links** from HiDrive to home directory:
|
||||
- `~/Documents` -> `/mnt/hidrive/users/valknar/Documents`
|
||||
- `~/Pictures` -> `/mnt/hidrive/users/valknar/Pictures`
|
||||
- `~/Videos` -> `/mnt/hidrive/users/valknar/Videos`
|
||||
- `~/Music` -> `/mnt/hidrive/users/valknar/Music`
|
||||
|
||||
---
|
||||
|
||||
## GIT SELECTIVE TRACKING
|
||||
|
||||
This repository uses an **inverted `.gitignore`** pattern:
|
||||
|
||||
```gitignore
|
||||
# Ignore everything
|
||||
*
|
||||
|
||||
# Allow specific files
|
||||
!CLAUDE.md
|
||||
!README.md
|
||||
!.gitignore
|
||||
!.gitconfig
|
||||
!.gitmodules
|
||||
!.zshrc
|
||||
!.zlogin
|
||||
!.p10k.zsh
|
||||
!.nvmrc
|
||||
!.ruby-version
|
||||
!.python-version
|
||||
!arty.yml
|
||||
!signature.txt
|
||||
...
|
||||
```
|
||||
|
||||
**Why?** To track only essential dotfiles and configurations while ignoring cache, logs, and user data.
|
||||
|
||||
---
|
||||
|
||||
## SHELL PLUGIN POWER
|
||||
|
||||
**Oh-My-Zsh Plugins Loaded:**
|
||||
```
|
||||
git pm2 gh sudo ssh ruby rust python node github
|
||||
rsync nvm rbenv pyenv docker docker-compose qrcode
|
||||
zsh-autosuggestions zsh-syntax-highlighting
|
||||
zsh-interactive-cd zsh-navigation-tools
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## USEFUL RESOURCES
|
||||
|
||||
### System & Shell
|
||||
- [Oh-My-Zsh](https://ohmyz.sh/)
|
||||
- [Powerlevel10k](https://github.com/romkatv/powerlevel10k)
|
||||
|
||||
### Language Managers
|
||||
- [nvm](https://github.com/nvm-sh/nvm) - Node Version Manager
|
||||
- [rbenv](https://github.com/rbenv/rbenv) - Ruby Version Manager
|
||||
- [pyenv](https://github.com/pyenv/pyenv) - Python Version Manager
|
||||
- [gvm](https://github.com/moovweb/gvm) - Go Version Manager
|
||||
- [rustup](https://rustup.rs/) - Rust Toolchain Manager
|
||||
|
||||
### CLI Tools
|
||||
- [GitHub CLI](https://cli.github.com/)
|
||||
- [Tailscale](https://tailscale.com/)
|
||||
- [Ollama](https://ollama.com/)
|
||||
- [yq](https://github.com/mikefarah/yq) - YAML processor
|
||||
|
||||
### Orchestration
|
||||
- [Arty.sh / Butter.sh Ecosystem](https://github.com/butter-sh/butter-sh.github.io)
|
||||
|
||||
---
|
||||
|
||||
## LICENSE
|
||||
|
||||
MIT License - Do whatever the hell you want with it.
|
||||
|
||||
---
|
||||
|
||||
<div align="center">
|
||||
|
||||
<pre>
|
||||
=================================================================
|
||||
|
||||
__________ ____ ______ _________
|
||||
/ ____/ __ \/ __ \/ ____/ / _/ ___/
|
||||
/ / / / / / / / / __/ / / \__ \
|
||||
/ /___/ /_/ / /_/ / /___ _/ / ___/ /
|
||||
\____/\____/_____/_____/ /___//____/
|
||||
|
||||
______________ _______ ____ ____ ___ ______ __
|
||||
/_ __/ ____/ |/ / __ \/ __ \/ __ \/ | / __ \ \/ /
|
||||
/ / / __/ / /|_/ / /_/ / / / / /_/ / /| | / /_/ /\ /
|
||||
/ / / /___/ / / / ____/ /_/ / _, _/ ___ |/ _, _/ / /
|
||||
/_/ /_____/_/ /_/_/ \____/_/ |_/_/ |_/_/ |_| /_/
|
||||
|
||||
__ __________________ __ _________
|
||||
/ |/ / ____/_ __/ | / / / _/ ___/
|
||||
/ /|_/ / __/ / / / /| | / / / / \__ \
|
||||
/ / / / /___ / / / ___ |/ /___ _/ / ___/ /
|
||||
/_/ /_/_____/ /_/ /_/ |_/_____/ /___//____/
|
||||
|
||||
______________________ _ _____ __
|
||||
/ ____/_ __/ ____/ __ \/ | / / | / /
|
||||
/ __/ / / / __/ / /_/ / |/ / /| | / /
|
||||
/ /___ / / / /___/ _, _/ /| / ___ |/ /___
|
||||
/_____/ /_/ /_____/_/ |_/_/ |_/_/ |_/_____/
|
||||
|
||||
=================================================================
|
||||
|
||||
FORGED BY VALKNAR
|
||||
valknar@pivoine.art
|
||||
Powered by Debian | Fueled by Metal
|
||||
|
||||
</pre>
|
||||
|
||||
**[BACK TO THE TOP](#)**
|
||||
|
||||
</div>
|
||||
@@ -0,0 +1,72 @@
|
||||
name: "Valknar's home"
|
||||
version: "1.0.0"
|
||||
description: "Valknar's home repository"
|
||||
author: "valknar@pivoine.art"
|
||||
license: "MIT"
|
||||
notes: |
|
||||
# Valknar's Home Repository
|
||||
|
||||
This is a **personal development environment** configuration managed with `arty`.
|
||||
|
||||
## Quick Start
|
||||
|
||||
```bash
|
||||
# Install all dependencies
|
||||
arty deps
|
||||
|
||||
# Update system packages
|
||||
arty debian/update && arty debian/install
|
||||
|
||||
# Install development tools
|
||||
arty node/install
|
||||
arty rust/install
|
||||
arty python/install
|
||||
```
|
||||
|
||||
## Key Features
|
||||
|
||||
- **Shell Configuration**: Zsh with Oh-My-Zsh and Powerlevel10k theme
|
||||
- **Version Managers**: nvm (Node), rbenv (Ruby), pyenv (Python), gvm (Go)
|
||||
- **Development Tools**: Docker, Rust, Node.js, Python, Ruby
|
||||
- **Utilities**: Custom scripts in `bin/` directory
|
||||
|
||||
## Links
|
||||
|
||||
- [Repository](ssh://git@dev.pivoine.art:2222/valknar/home.git)
|
||||
- [Documentation](https://dev.pivoine.art)
|
||||
references:
|
||||
- url: https://github.com/nvm-sh/nvm.git
|
||||
into: .nvm
|
||||
- url: https://github.com/moovweb/gvm.git
|
||||
into: .gvm
|
||||
- url: https://github.com/rbenv/rbenv.git
|
||||
into: .rbenv
|
||||
- url: https://github.com/rbenv/ruby-build.git
|
||||
into: .rbenv/plugins/ruby-build
|
||||
- url: https://github.com/pyenv/pyenv.git
|
||||
into: .pyenv
|
||||
- url: https://github.com/ohmyzsh/ohmyzsh.git
|
||||
into: .oh-my-zsh
|
||||
- url: https://github.com/romkatv/powerlevel10k.git
|
||||
into: .oh-my-zsh/custom/themes/powerlevel10k
|
||||
- url: https://github.com/zsh-users/zsh-autosuggestions.git
|
||||
into: .oh-my-zsh/custom/plugins/zsh-autosuggestions
|
||||
- url: https://github.com/zsh-users/zsh-syntax-highlighting.git
|
||||
into: .oh-my-zsh/custom/plugins/zsh-syntax-highlighting
|
||||
scripts:
|
||||
debian/update: sudo sed -i 's/main non-free-firmware/main contrib non-free non-free-firmware/g' /etc/apt/sources.list && sudo apt update
|
||||
debian/install: sudo apt install curl wget zsh fzf davfs2 make imagemagick ffmpeg yt-dlp pkg-config zstd libffi-dev zlib1g-dev libyaml-dev libssl-dev liblzma-dev libbz2-dev libncurses-dev libreadline-dev libsqlite3-dev python3-tk tk-dev
|
||||
rust/install: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
||||
go/install: sudo apt install golang
|
||||
node/install: nvm install
|
||||
ruby/install: rbenv install
|
||||
python/install: pyenv install
|
||||
docker/install: curl -fsSL -o- https://get.docker.com | sudo sh && sudo usermod -aG docker $USER
|
||||
claude/install: curl -fsSL https://claude.ai/install.sh | bash
|
||||
yq/install: wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/local/bin/yq && chmod +x /usr/local/bin/yq
|
||||
gh/install: curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg && sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null && sudo apt update && sudo apt install -y gh
|
||||
tailscale/install: curl -fsSL https://tailscale.com/install.sh | sh
|
||||
ollama/install: curl -fsSL https://ollama.com/install.sh | sh
|
||||
hugo/install: CGO_ENABLED=1 go install -tags extended,withdeploy github.com/gohugoio/hugo@latest
|
||||
npm/install: npm i -g npm pnpm
|
||||
gem/install: gem install bundler
|
||||
@@ -0,0 +1,10 @@
|
||||
|
||||
██╗ ██╗ █████╗ ██╗ ██╗ ██╗███╗ ██╗ █████╗ ██████╗
|
||||
██║ ██║██╔══██╗██║ ██║ ██╔╝████╗ ██║██╔══██╗██╔══██╗
|
||||
██║ ██║███████║██║ █████╔╝ ██╔██╗ ██║███████║██████╔╝
|
||||
╚██╗ ██╔╝██╔══██║██║ ██╔═██╗ ██║╚██╗██║██╔══██║██╔══██╗
|
||||
╚████╔╝ ██║ ██║███████╗██║ ██╗██║ ╚████║██║ ██║██║ ██║
|
||||
╚═══╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝╚═╝ ╚═╝╚═╝ ╚═╝
|
||||
───────────────────────────────────────────────────────────────────
|
||||
valknar@pivoine.art │ (+49) 174 8188918 │ https://pivoine.art
|
||||
───────────────────────────────────────────────────────────────────
|
||||
Reference in New Issue
Block a user