diff options
28 files changed, 134 insertions, 76 deletions
diff --git a/alacritty/.config/profile.d/20-alacritty.sh b/alacritty/.config/profile.d/20-alacritty.sh new file mode 100644 index 0000000..a5f606c --- /dev/null +++ b/alacritty/.config/profile.d/20-alacritty.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +export TERMINAL="alacritty" diff --git a/bat/.config/profile.d/20-bat.sh b/bat/.config/profile.d/20-bat.sh new file mode 100644 index 0000000..b571f3a --- /dev/null +++ b/bat/.config/profile.d/20-bat.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +export MANPAGER="sh -c 'col -bx | bat -l man -p'" +export MANROFFOPT="-c" diff --git a/cargo/.config/profile.d/20-cargo.sh b/cargo/.config/profile.d/20-cargo.sh new file mode 100644 index 0000000..153ea8c --- /dev/null +++ b/cargo/.config/profile.d/20-cargo.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +export RUSTUP_HOME="$XDG_DATA_HOME/rustup" +export CARGO_HOME="$XDG_DATA_HOME/cargo" +export PATH="$PATH:$CARGO_HOME/bin" diff --git a/gnupg/.config/profile.d/20-gnupg.sh b/gnupg/.config/profile.d/20-gnupg.sh new file mode 100644 index 0000000..25e9033 --- /dev/null +++ b/gnupg/.config/profile.d/20-gnupg.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +GPG_AGENT_SOCK="$(gpgconf --list-dirs agent-socket)" +SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)" + +export GPG_AGENT_SOCK SSH_AUTH_SOCK diff --git a/npm/.config/npm/npmrc b/npm/.config/npm/npmrc new file mode 100644 index 0000000..c2da224 --- /dev/null +++ b/npm/.config/npm/npmrc @@ -0,0 +1,3 @@ +prefix=${XDG_DATA_HOME}/npm +cache=${XDG_CACHE_HOME}/npm +init-module=${XDG_CONFIG_HOME}/npm/config/npm-init.js diff --git a/npm/.config/profile.d/20-npm.sh b/npm/.config/profile.d/20-npm.sh new file mode 100644 index 0000000..d6351dd --- /dev/null +++ b/npm/.config/profile.d/20-npm.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME/npm/npmrc" diff --git a/nvim/.config/profile.d/20-nvim.sh b/nvim/.config/profile.d/20-nvim.sh new file mode 100644 index 0000000..d6a35a6 --- /dev/null +++ b/nvim/.config/profile.d/20-nvim.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +export EDITOR="nvim" +export DIFFPROG="$EDITOR -d" diff --git a/sh/.config/profile.d/10-systemd.sh b/sh/.config/profile.d/10-systemd.sh new file mode 100644 index 0000000..e03f8ba --- /dev/null +++ b/sh/.config/profile.d/10-systemd.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +export "$(run-parts /usr/lib/systemd/user-environment-generators | xargs)" diff --git a/sh/.config/profile.d/20-docker.sh b/sh/.config/profile.d/20-docker.sh new file mode 100644 index 0000000..cd60889 --- /dev/null +++ b/sh/.config/profile.d/20-docker.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +export DOCKER_CONFIG="$XDG_CONFIG_HOME/docker" diff --git a/sh/.config/profile.d/20-dotnet.sh b/sh/.config/profile.d/20-dotnet.sh new file mode 100644 index 0000000..f91a66b --- /dev/null +++ b/sh/.config/profile.d/20-dotnet.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +export DOTNET_CLI_HOME="$XDG_DATA_HOME/dotnet" +export PATH="$PATH:$DOTNET_CLI_HOME/tools" diff --git a/sh/.config/profile.d/20-go.sh b/sh/.config/profile.d/20-go.sh new file mode 100644 index 0000000..58d8115 --- /dev/null +++ b/sh/.config/profile.d/20-go.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +export GOPATH="$XDG_DATA_HOME/go" +export PATH="$PATH:$GOPATH/bin" + +# See: https://drewdevault.com/2022/05/25/Google-has-been-DDoSing-sourcehut.html +export GOPRIVATE=git.sr.ht diff --git a/sh/.config/profile.d/20-gruvbox.sh b/sh/.config/profile.d/20-gruvbox.sh new file mode 100644 index 0000000..5921711 --- /dev/null +++ b/sh/.config/profile.d/20-gruvbox.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +export BASE16_DEFAULT_THEME="gruvbox-dark-hard" diff --git a/sh/.config/profile.d/20-less.sh b/sh/.config/profile.d/20-less.sh new file mode 100644 index 0000000..50fe31d --- /dev/null +++ b/sh/.config/profile.d/20-less.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +export LESS="--RAW-CONTROL-CHARS --quit-if-one-screen --mouse" +export LESSOPEN="|lesspipe.sh %s" +export LESSHISTFILE="$XDG_STATE_HOME/lesshst" diff --git a/sh/.config/profile.d/20-man.sh b/sh/.config/profile.d/20-man.sh new file mode 100644 index 0000000..b571f3a --- /dev/null +++ b/sh/.config/profile.d/20-man.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +export MANPAGER="sh -c 'col -bx | bat -l man -p'" +export MANROFFOPT="-c" diff --git a/sh/.config/profile.d/20-pass.sh b/sh/.config/profile.d/20-pass.sh new file mode 100644 index 0000000..0e8794e --- /dev/null +++ b/sh/.config/profile.d/20-pass.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +export PASSWORD_STORE_DIR="$HOME/.password-store" +export PASSWORD_STORE_ENABLE_EXTENSIONS=true diff --git a/sh/.config/profile.d/20-perl.sh b/sh/.config/profile.d/20-perl.sh new file mode 100644 index 0000000..8ee3b93 --- /dev/null +++ b/sh/.config/profile.d/20-perl.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +export PERL_CPANM_HOME="$XDG_CACHE_HOME/perl" +export PERL_LOCAL_LIB_ROOT="$XDG_DATA_HOME/perl" +export PERL5LIB="$PERL_LOCAL_LIB_ROOT/lib/perl5" +export PERL_MB_OPT="--install_base '$PERL_LOCAL_LIB_ROOT'" +export PERL_MM_OPT="INSTALL_BASE=$PERL_LOCAL_LIB_ROOT" +export PATH="$PATH:$PERL_LOCAL_LIB_ROOT/bin" diff --git a/sh/.config/profile.d/20-python.sh b/sh/.config/profile.d/20-python.sh new file mode 100644 index 0000000..65ea113 --- /dev/null +++ b/sh/.config/profile.d/20-python.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +export PYTHONSTARTUP="$XDG_CONFIG_HOME/python/startup.py" diff --git a/sh/.config/profile.d/20-ruby.sh b/sh/.config/profile.d/20-ruby.sh new file mode 100644 index 0000000..1336853 --- /dev/null +++ b/sh/.config/profile.d/20-ruby.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +if command -v ruby >/dev/null && command -v gem >/dev/null; then + GEM_USER_DIR="$(ruby -r rubygems -e 'puts Gem.user_dir')" + export PATH="$PATH:$GEM_USER_DIR" +fi diff --git a/sh/.config/profile.d/20-texlive.sh b/sh/.config/profile.d/20-texlive.sh new file mode 100644 index 0000000..f6bff9f --- /dev/null +++ b/sh/.config/profile.d/20-texlive.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +export TEXMFHOME="$XDG_DATA_HOME/texmf" +export TEXMFVAR="$XDG_CACHE_HOME/texlive/texmf-var" +export TEXMFCONFIG="$XDG_CONFIG_HOME/texlive/texmf-config" diff --git a/sh/.config/profile.d/20-wget.sh b/sh/.config/profile.d/20-wget.sh new file mode 100644 index 0000000..02f7041 --- /dev/null +++ b/sh/.config/profile.d/20-wget.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +export WGETRC="$XDG_CONFIG_HOME/wgetrc" diff --git a/sh/.config/profile.d/20-zk.sh b/sh/.config/profile.d/20-zk.sh new file mode 100644 index 0000000..c3620a0 --- /dev/null +++ b/sh/.config/profile.d/20-zk.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +export ZK_NOTEBOOK_DIR="$HOME/notebook" diff --git a/sh/.config/profile.d/30-fzf.sh b/sh/.config/profile.d/30-fzf.sh new file mode 100644 index 0000000..d6fa1f8 --- /dev/null +++ b/sh/.config/profile.d/30-fzf.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +export FZF_TMUX_OPTS="-p" +export FZF_PREVIEW_COMMAND='less {} 2>/dev/null' +export FZF_DEFAULT_COMMAND="fd --type f || git ls-tree -r --name-only HEAD || rg --files || find ." +export FZF_DEFAULT_OPTS='--bind ctrl-q:abort +--bind ctrl-y:preview-up +--bind ctrl-e:preview-down +--bind ctrl-u:preview-half-page-up +--bind ctrl-d:preview-half-page-down +--bind ctrl-b:preview-page-up +--bind ctrl-f:preview-page-down +--bind alt-up:half-page-up +--bind alt-down:half-page-down +--color fg:#ebdbb2,hl:#fabd2f,fg+:#ebdbb2,hl+:#fabd2f +--color info:#83a598,prompt:#bdae93,spinner:#fabd2f,pointer:#83a598,marker:#fe8019,header:#665c54' diff --git a/sh/.config/profile.d/30-vivid.sh b/sh/.config/profile.d/30-vivid.sh new file mode 100644 index 0000000..4090d39 --- /dev/null +++ b/sh/.config/profile.d/30-vivid.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +if [ -n "$BASE16_DEFAULT_THEME" ] && command -v vivid 2>/dev/null; then + LS_COLORS="$(vivid generate "$BASE16_DEFAULT_THEME" 2>/dev/null)" + export LS_COLORS +fi diff --git a/sh/.profile b/sh/.profile index 7d5272e..60bc1f5 100644 --- a/sh/.profile +++ b/sh/.profile @@ -1,13 +1,4 @@ #!/bin/sh -# shellcheck disable=1091 - -if test -e /usr/lib/systemd/user-environment-generators/30-systemd-environment-d-generator; then - set -a - . /dev/fd/0 <<EOF - $(/usr/lib/systemd/user-environment-generators/30-systemd-environment-d-generator 2>/dev/null) -EOF - set +a -fi export XDG_CONFIG_HOME="$HOME/.config" export XDG_CACHE_HOME="$HOME/.cache" @@ -15,70 +6,13 @@ export XDG_DATA_HOME="$HOME/.local/share" export XDG_STATE_HOME="$HOME/.local/state" export XDG_RUNTIME_DIR="${XDG_RUNTIME_DIR:-/run/user/$(id -u "$USER")}" -export BASE16_DEFAULT_THEME="gruvbox-dark-hard" -LS_COLORS="$(vivid generate $BASE16_DEFAULT_THEME 2>/dev/null)" -export LS_COLORS - -export EDITOR="nvim" -export DIFFPROG="$EDITOR -d" export BROWSER="xdg-open" -export TERMINAL="alacritty" -export MANPAGER="sh -c 'col -bx | bat -l man -p'" -export MANROFFOPT="-c" -export LESS="--RAW-CONTROL-CHARS --quit-if-one-screen --mouse" -export LESSOPEN="|lesspipe.sh %s" -export LESSHISTFILE="$XDG_STATE_HOME/lesshst" -export WGETRC="$XDG_CONFIG_HOME/wgetrc" -export PASSWORD_STORE_DIR="$HOME/.password-store" -export PASSWORD_STORE_ENABLE_EXTENSIONS=true -export ZK_NOTEBOOK_DIR="$HOME/notebook" -export STARSHIP_LOG="error" -export FZF_TMUX_OPTS="-p" -export FZF_PREVIEW_COMMAND='less {} 2>/dev/null' -export FZF_DEFAULT_COMMAND="fd --type f || git ls-tree -r --name-only HEAD || rg --files || find ." -export FZF_DEFAULT_OPTS='--bind ctrl-q:abort ---bind ctrl-y:preview-up ---bind ctrl-e:preview-down ---bind ctrl-u:preview-half-page-up ---bind ctrl-d:preview-half-page-down ---bind ctrl-b:preview-page-up ---bind ctrl-f:preview-page-down ---bind alt-up:half-page-up ---bind alt-down:half-page-down ---color fg:#ebdbb2,hl:#fabd2f,fg+:#ebdbb2,hl+:#fabd2f ---color info:#83a598,prompt:#bdae93,spinner:#fabd2f,pointer:#83a598,marker:#fe8019,header:#665c54' export PATH="$PATH:$HOME/.local/bin" -export RUSTUP_HOME="$XDG_DATA_HOME/rustup" -export CARGO_HOME="$XDG_DATA_HOME/cargo" -export PATH="$PATH:$CARGO_HOME/bin" - -export GOPRIVATE=git.sr.ht -export GOPATH="$XDG_DATA_HOME/go" -export PATH="$PATH:$GOPATH/bin" - -export PYTHONSTARTUP="$XDG_CONFIG_HOME/python/startup.py" - -export PATH="$PATH:$XDG_DATA_HOME/gem/ruby/3.0.0/bin" - -export npm_config_userconfig="$XDG_CONFIG_HOME/npm/config" -export npm_config_cache="$XDG_CACHE_HOME/npm" -export npm_config_prefix="$XDG_DATA_HOME/npm" -export PATH="$PATH:$npm_config_prefix/bin" - -export DOTNET_CLI_HOME="$XDG_DATA_HOME/dotnet" -export PATH="$PATH:$DOTNET_CLI_HOME/tools" - -export PERL_CPANM_HOME="$XDG_CACHE_HOME/perl" -export PERL_LOCAL_LIB_ROOT="$XDG_DATA_HOME/perl" -export PERL5LIB="$PERL_LOCAL_LIB_ROOT/lib/perl5" -export PERL_MB_OPT="--install_base '$PERL_LOCAL_LIB_ROOT'" -export PERL_MM_OPT="INSTALL_BASE=$PERL_LOCAL_LIB_ROOT" -export PATH="$PATH:$PERL_LOCAL_LIB_ROOT/bin" - -export TEXMFHOME="$XDG_DATA_HOME/texmf" -export TEXMFVAR="$XDG_CACHE_HOME/texlive/texmf-var" -export TEXMFCONFIG="$XDG_CONFIG_HOME/texlive/texmf-config" - -export DOCKER_CONFIG="$XDG_CONFIG_HOME/docker" +for script in "$XDG_CONFIG_HOME"/profile.d/*.sh; do + if [ -r "$script" ]; then + # shellcheck disable=1090 + . "$script" + fi +done diff --git a/ssh/.config/profile.d/10-ssh.sh b/ssh/.config/profile.d/10-ssh.sh new file mode 100644 index 0000000..82e3b31 --- /dev/null +++ b/ssh/.config/profile.d/10-ssh.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket" diff --git a/ssh/.config/systemd/user/ssh-agent.service b/ssh/.config/systemd/user/ssh-agent.service new file mode 100644 index 0000000..8d45631 --- /dev/null +++ b/ssh/.config/systemd/user/ssh-agent.service @@ -0,0 +1,11 @@ +[Unit] +Description=SSH key agent + +[Service] +Type=simple +Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket +Environment=DISPLAY=:0 +ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK + +[Install] +WantedBy=default.target diff --git a/starship/.config/profile.d/20-starship.sh b/starship/.config/profile.d/20-starship.sh new file mode 100644 index 0000000..fa4c442 --- /dev/null +++ b/starship/.config/profile.d/20-starship.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +export STARSHIP_LOG="error" diff --git a/zsh/.config/zsh/.zlogin b/zsh/.config/zsh/.zlogin deleted file mode 100644 index 048cae7..0000000 --- a/zsh/.config/zsh/.zlogin +++ /dev/null @@ -1,4 +0,0 @@ - -# GPG/SSH -export GPG_AGENT_SOCK=$(gpgconf --list-dirs agent-socket) -export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) |