Initial commit
This commit is contained in:
34
.editorconfig
Executable file
34
.editorconfig
Executable file
@@ -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
|
||||
16
.gitconfig
Executable file
16
.gitconfig
Executable file
@@ -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
|
||||
30
.gitignore
vendored
Executable file
30
.gitignore
vendored
Executable file
@@ -0,0 +1,30 @@
|
||||
# Ignore everything
|
||||
*
|
||||
|
||||
# But not these files.
|
||||
!CLAUDE.md
|
||||
!.gitignore
|
||||
!.gitconfig
|
||||
!.gitmodules
|
||||
!README.md
|
||||
!.editorconfig
|
||||
!.nvmrc
|
||||
!.ruby-version
|
||||
!.python-version
|
||||
!.p10k.zsh
|
||||
!.zprofile
|
||||
!.zlogout
|
||||
!.zlogin
|
||||
!.zshrc
|
||||
!.zshenv
|
||||
!.hushlogin
|
||||
!arty.yml
|
||||
!signature.txt
|
||||
|
||||
# Ignore so we won't commit these in the allowed dirctories.
|
||||
.DS_Store
|
||||
*.log*
|
||||
*.db*
|
||||
*.vscdb*
|
||||
*.sqlite*
|
||||
*.bnk*
|
||||
0
.hushlogin
Normal file
0
.hushlogin
Normal file
193
.p10k.zsh
Normal file
193
.p10k.zsh
Normal file
@@ -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'
|
||||
1
.python-version
Normal file
1
.python-version
Normal file
@@ -0,0 +1 @@
|
||||
3.10.17
|
||||
1
.ruby-version
Normal file
1
.ruby-version
Normal file
@@ -0,0 +1 @@
|
||||
3.4.1
|
||||
14
.zlogin
Executable file
14
.zlogin
Executable file
@@ -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"
|
||||
189
.zshrc
Normal file
189
.zshrc
Normal file
@@ -0,0 +1,189 @@
|
||||
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 "/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
|
||||
|
||||
# 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 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
|
||||
111
CLAUDE.md
Normal file
111
CLAUDE.md
Normal file
@@ -0,0 +1,111 @@
|
||||
# CLAUDE.md
|
||||
|
||||
This file provides guidance to Claude Code when working with code in this repository.
|
||||
|
||||
## Overview
|
||||
|
||||
This is a personal home directory repository managed as a git repository with selective tracking via `.gitignore`. The repository tracks dotfiles and configuration for a Debian development environment supporting Node.js, Python, Ruby, Rust, and Go development.
|
||||
|
||||
## Key Architecture
|
||||
|
||||
### Arty Configuration
|
||||
|
||||
`arty.yml` defines the repository structure using Arty (artifact/repository manager):
|
||||
- **references**: Git subrepositories to clone into specific paths
|
||||
- **scripts**: Installation and setup commands
|
||||
- Manages version managers (nvm, rbenv, pyenv, gvm) and shell configuration
|
||||
|
||||
### Git Selective Tracking
|
||||
|
||||
The `.gitignore` uses an inverted pattern (ignore everything, then selectively allow):
|
||||
- Tracks only specific dotfiles and configuration files
|
||||
- Excludes logs, databases, and temporary files
|
||||
|
||||
## Development Environment
|
||||
|
||||
### Language Version Management
|
||||
- **Node.js**: Managed by nvm, version specified in `.nvmrc`
|
||||
- **Ruby**: Managed by rbenv, version in `.ruby-version`
|
||||
- **Python**: Managed by pyenv, version in `.python-version`
|
||||
- **Rust**: Via rustup (`.cargo/`, `.rustup/`)
|
||||
- **Go**: Via gvm (`.gvm/`)
|
||||
|
||||
### Shell Environment
|
||||
- **Shell**: Zsh with Oh-My-Zsh framework
|
||||
- **Theme**: Powerlevel10k (`.p10k.zsh`)
|
||||
- **Plugins**: zsh-autosuggestions, zsh-syntax-highlighting
|
||||
- **Login Configuration**: `.zlogin` mounts HiDrive storage and creates symbolic links
|
||||
|
||||
## Common Commands
|
||||
|
||||
### Environment Setup
|
||||
```bash
|
||||
# Sync all dependencies (version managers, shell config, etc.)
|
||||
arty sync
|
||||
|
||||
# Install system packages
|
||||
arty debian/update && arty debian/install
|
||||
|
||||
# Install language runtimes
|
||||
arty node/install # Node.js via nvm
|
||||
arty ruby/install # Ruby via rbenv
|
||||
arty python/install # Python via pyenv
|
||||
arty rust/install # Rust via rustup
|
||||
|
||||
# Install global packages
|
||||
arty npm/install # npm, pnpm, llmx
|
||||
arty gem/install # bundler
|
||||
```
|
||||
|
||||
### Arty Scripts (from arty.yml)
|
||||
```bash
|
||||
arty debian/update # Enable non-free repos
|
||||
arty debian/install # System packages
|
||||
arty docker/install # Docker Engine
|
||||
arty rust/install # Rust toolchain
|
||||
arty node/install # Node.js (uses nvm)
|
||||
arty ruby/install # Ruby (uses rbenv)
|
||||
arty python/install # Python (uses pyenv)
|
||||
arty uv/install # uv Python package manager
|
||||
arty zed/install # Zed editor
|
||||
arty claude/install # Claude CLI
|
||||
arty mattermost/install
|
||||
arty joplin/install
|
||||
arty yq/install
|
||||
arty spotify/install
|
||||
arty npm/install # npm, pnpm, @valknarthing/llmx
|
||||
arty gem/install # bundler
|
||||
```
|
||||
|
||||
### Git Workflow
|
||||
```bash
|
||||
# Stage all changes and check if clean
|
||||
g0 # alias for: git add . && git diff --quiet && git diff --cached --quiet
|
||||
|
||||
# Reset to single commit
|
||||
g1 # alias for: git reset $(git commit-tree "HEAD^{tree}" -m "A new start")
|
||||
|
||||
# Get last commit message
|
||||
g2 # alias for: git log --format=%B -n 1 HEAD | head -n 1
|
||||
```
|
||||
|
||||
## Repository References (managed by arty)
|
||||
|
||||
From `arty.yml`:
|
||||
- `bin/` - Custom scripts and executables
|
||||
- `.llmx/` - LLM configuration
|
||||
- `.nvm/` - Node Version Manager
|
||||
- `.gvm/` - Go Version Manager
|
||||
- `.rbenv/` - Ruby Version Manager (includes ruby-build plugin)
|
||||
- `.pyenv/` - Python Version Manager
|
||||
- `.oh-my-zsh/` - Oh-My-Zsh framework
|
||||
- `custom/themes/powerlevel10k/` - Powerlevel10k theme
|
||||
- `custom/plugins/zsh-autosuggestions/`
|
||||
- `custom/plugins/zsh-syntax-highlighting/`
|
||||
|
||||
## Important Notes
|
||||
|
||||
- **Selective Git Tracking**: This repository uses an inverted `.gitignore` pattern - everything is ignored by default (`*`), then specific files are explicitly allowed.
|
||||
- **Arty Repository Manager**: `arty.yml` manages git subrepositories. Use `arty sync` to clone/update all dependencies.
|
||||
- **Docker**: Use arty to manage docker in this project. Run `arty up -d CONTAINER(s)` instead of `arty restart CONTAINER(S)`.
|
||||
- **SSH**: Always push with the valknarthing ssh key. Ensure the ssh agent only has one key loaded.
|
||||
318
README.md
Executable file
318
README.md
Executable file
@@ -0,0 +1,318 @@
|
||||
<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
|
||||
|
||||
# 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, zsh, fzf, davfs2, krusader, make, imagemagick, ffmpeg, yt-dlp, thunderbird, etc.
|
||||
arty debian/remove # Remove pulseaudio-module-bluetooth
|
||||
|
||||
# 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 uv/install # uv Python package manager
|
||||
|
||||
# Applications
|
||||
arty zed/install # Zed code editor
|
||||
arty claude/install # Claude AI CLI
|
||||
arty spotify/install # Spotify desktop client
|
||||
arty mattermost/install # Mattermost desktop client
|
||||
arty joplin/install # Joplin note-taking app
|
||||
arty yq/install # yq YAML processor
|
||||
|
||||
# Package managers
|
||||
arty npm/install # npm, pnpm, @valknarthing/llmx
|
||||
arty gem/install # bundler
|
||||
```
|
||||
|
||||
### What Arty Manages
|
||||
|
||||
- **Version managers** (nvm, rbenv, pyenv, gvm)
|
||||
- **Shell configuration** (Oh-My-Zsh, Powerlevel10k, plugins)
|
||||
- **Custom binaries** (from valknar/bin repository)
|
||||
- **LLM configuration** (from home-llmx repository)
|
||||
|
||||
---
|
||||
|
||||
## COMMAND LINE BRUTALITY
|
||||
|
||||
### Git Operations
|
||||
|
||||
```bash
|
||||
g0 # Stage all changes and verify clean state
|
||||
g1 # Nuclear reset to single commit
|
||||
g2 # Show last commit message
|
||||
```
|
||||
|
||||
### Development Servers
|
||||
|
||||
```bash
|
||||
# Serve current directory on port 8000
|
||||
ss
|
||||
|
||||
# Download YouTube video as MP3
|
||||
yt "https://youtube.com/watch?v=..."
|
||||
```
|
||||
|
||||
### Rsync Power
|
||||
|
||||
```bash
|
||||
# Sync to remote with sudo
|
||||
rs /local/path/ user@host:/remote/path/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 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
|
||||
|
||||
### 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
|
||||
|
||||
### Orchestration
|
||||
- **`arty.yml`** - Repository and dependency management with installation scripts
|
||||
|
||||
### Personal
|
||||
- **`signature.txt`** - ASCII art email signature
|
||||
|
||||
---
|
||||
|
||||
## 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
|
||||
!.zshrc
|
||||
!.zlogin
|
||||
!arty.yml
|
||||
...
|
||||
```
|
||||
|
||||
**Why?** To track only essential dotfiles and configurations while ignoring cache, logs, and user data.
|
||||
|
||||
---
|
||||
|
||||
## SHELL PLUGIN POWER
|
||||
|
||||
**Oh-My-Zsh Plugins Loaded:**
|
||||
```
|
||||
git sudo ssh rsync docker docker-compose
|
||||
nvm rbenv pyenv
|
||||
zsh-autosuggestions zsh-syntax-highlighting
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 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
|
||||
|
||||
### 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>
|
||||
105
arty.yml
Normal file
105
arty.yml
Normal file
@@ -0,0 +1,105 @@
|
||||
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
|
||||
|
||||
## Important Commands
|
||||
|
||||
1. **System Setup** - Run Ansible playbook for complete setup
|
||||
2. **Environment Variables** - Loaded from `.init/export.sh`
|
||||
3. **Custom Functions** - Available in `.init/functions.sh`
|
||||
|
||||
## Links
|
||||
|
||||
- [Repository](ssh://git@dev.pivoine.art:2222/valknar/bin.git)
|
||||
- [Documentation](https://docs.pivoine.art)
|
||||
|
||||
## Notes
|
||||
|
||||
- Always use `arty` to manage Docker containers
|
||||
- Run `arty up -d CONTAINER` instead of `arty restart CONTAINER`
|
||||
- Push with the `valknarthing` SSH key
|
||||
- Ensure SSH agent has only one key for pushing
|
||||
|
||||
references:
|
||||
- url: https://dev.pivoine.art/valknar/bin.git
|
||||
into: bin
|
||||
- url: https://dev.pivoine.art/valknar/home-llmx.git
|
||||
into: .llmx
|
||||
- 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 zsh fzf davfs2 krusader make imagemagick ffmpeg yt-dlp
|
||||
thunderbird pkg-config blueman libffi-dev zlib1g-dev libyaml-dev libssl-dev tree firmware-linux-nonfree firmware-realtek
|
||||
debian/remove: sudo apt remove pulseaudio-module-bluetooth
|
||||
docker/install: curl -fsSL -o- https://get.docker.com | sudo sh && sudo usermod -aG docker $USER
|
||||
rust/install: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
||||
node/install: nvm install
|
||||
ruby/install: rbenv install
|
||||
python/install: pyenv install
|
||||
uv/install: curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
zed/install: curl -f https://zed.dev/install.sh | sh
|
||||
claude/install: curl -fsSL https://claude.ai/install.sh | bash
|
||||
mattermost/install:
|
||||
curl -fsS -o- https://deb.packages.mattermost.com/setup-repo.sh | sudo bash
|
||||
&& sudo apt install mattermost-desktop
|
||||
joplin/install: wget -O -
|
||||
https://raw.githubusercontent.com/laurent22/joplin/dev/Joplin_install_and_update.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
|
||||
spotify/install:
|
||||
curl -sS https://download.spotify.com/debian/pubkey_C85668DF69375001.gpg |
|
||||
sudo gpg --dearmor --yes -o /etc/apt/trusted.gpg.d/spotify.gpg && echo "deb
|
||||
https://repository.spotify.com stable non-free" | sudo tee
|
||||
/etc/apt/sources.list.d/spotify.list && sudo apt-get update && sudo apt-get
|
||||
install spotify-client
|
||||
npm/install: npm i -g npm pnpm @valknarthing/llmx
|
||||
gem/install: gem install bundler
|
||||
10
signature.txt
Normal file
10
signature.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
|
||||
██╗ ██╗ █████╗ ██╗ ██╗ ██╗███╗ ██╗ █████╗ ██████╗
|
||||
██║ ██║██╔══██╗██║ ██║ ██╔╝████╗ ██║██╔══██╗██╔══██╗
|
||||
██║ ██║███████║██║ █████╔╝ ██╔██╗ ██║███████║██████╔╝
|
||||
╚██╗ ██╔╝██╔══██║██║ ██╔═██╗ ██║╚██╗██║██╔══██║██╔══██╗
|
||||
╚████╔╝ ██║ ██║███████╗██║ ██╗██║ ╚████║██║ ██║██║ ██║
|
||||
╚═══╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝╚═╝ ╚═╝╚═╝ ╚═╝
|
||||
───────────────────────────────────────────────────────────────────
|
||||
valknar@pivoine.art │ (+49) 174 8188918 │ https://pivoine.art
|
||||
───────────────────────────────────────────────────────────────────
|
||||
Reference in New Issue
Block a user