summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--alacritty/.config/profile.d/20-alacritty.sh3
-rw-r--r--bat/.config/profile.d/20-bat.sh4
-rw-r--r--cargo/.config/profile.d/20-cargo.sh5
-rw-r--r--gnupg/.config/profile.d/20-gnupg.sh6
-rw-r--r--npm/.config/npm/npmrc3
-rw-r--r--npm/.config/profile.d/20-npm.sh3
-rw-r--r--nvim/.config/profile.d/20-nvim.sh4
-rw-r--r--sh/.config/profile.d/10-systemd.sh3
-rw-r--r--sh/.config/profile.d/20-docker.sh3
-rw-r--r--sh/.config/profile.d/20-dotnet.sh4
-rw-r--r--sh/.config/profile.d/20-go.sh7
-rw-r--r--sh/.config/profile.d/20-gruvbox.sh3
-rw-r--r--sh/.config/profile.d/20-less.sh5
-rw-r--r--sh/.config/profile.d/20-man.sh4
-rw-r--r--sh/.config/profile.d/20-pass.sh4
-rw-r--r--sh/.config/profile.d/20-perl.sh8
-rw-r--r--sh/.config/profile.d/20-python.sh3
-rw-r--r--sh/.config/profile.d/20-ruby.sh6
-rw-r--r--sh/.config/profile.d/20-texlive.sh5
-rw-r--r--sh/.config/profile.d/20-wget.sh3
-rw-r--r--sh/.config/profile.d/20-zk.sh3
-rw-r--r--sh/.config/profile.d/30-fzf.sh16
-rw-r--r--sh/.config/profile.d/30-vivid.sh6
-rw-r--r--sh/.profile78
-rw-r--r--ssh/.config/profile.d/10-ssh.sh3
-rw-r--r--ssh/.config/systemd/user/ssh-agent.service11
-rw-r--r--starship/.config/profile.d/20-starship.sh3
-rw-r--r--zsh/.config/zsh/.zlogin4
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)