mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-02-03 17:48:40 +00:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
15d1f6a59a | ||
| ba586fca7d | |||
|
|
d93bc7aae3 |
18
.github/workflows/semantic-pr.yml
vendored
Normal file
18
.github/workflows/semantic-pr.yml
vendored
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
name: Semantic PR
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request_target:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- edited
|
||||||
|
- synchronize
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
semantic-pr:
|
||||||
|
runs-on: self-hosted
|
||||||
|
steps:
|
||||||
|
- uses: amannn/action-semantic-pull-request@v5.5.3
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
validateSingleCommit: true
|
||||||
35
base/bashrc
35
base/bashrc
@@ -1,26 +1,8 @@
|
|||||||
# this is my bashrc config. there are many like it, but this one is mine.
|
# this is my bashrc config. there are many like it, but this one is mine.
|
||||||
# shellcheck shell=bash
|
# shellcheck shell=bash
|
||||||
|
|
||||||
# Defaults
|
source "$HOME/.dotfiles/config/shared"
|
||||||
export DOTFILES="$HOME/.dotfiles"
|
|
||||||
|
|
||||||
# Explicitly set XDG folders
|
|
||||||
# https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
|
|
||||||
export XDG_CONFIG_HOME="$HOME/.config"
|
|
||||||
export XDG_DATA_HOME="$HOME/.local/share"
|
|
||||||
export XDG_STATE_HOME="$HOME/.local/state"
|
|
||||||
|
|
||||||
# custom variables
|
|
||||||
export XDG_BIN_HOME="$HOME/.local/bin"
|
|
||||||
export XDG_CACHE_HOME="$HOME/.cache"
|
|
||||||
export XDG_RUNTIME_DIR="$HOME/.local/run"
|
|
||||||
|
|
||||||
# Paths
|
|
||||||
export PATH="$XDG_BIN_HOME:$DOTFILES/local/bin:$HOME/.local/go/bin:$XDG_DATA_HOME/cargo/bin:$PATH"
|
|
||||||
|
|
||||||
source "$DOTFILES/config/exports"
|
|
||||||
source "$DOTFILES/config/functions"
|
|
||||||
source "$DOTFILES/config/alias"
|
|
||||||
x-load-configs
|
x-load-configs
|
||||||
|
|
||||||
# shellcheck source=../config/fzf/fzf.bash
|
# shellcheck source=../config/fzf/fzf.bash
|
||||||
@@ -30,14 +12,13 @@ x-load-configs
|
|||||||
# Import ssh keys in keychain
|
# Import ssh keys in keychain
|
||||||
ssh-add -A 2>/dev/null
|
ssh-add -A 2>/dev/null
|
||||||
|
|
||||||
|
x-have oh-my-posh && {
|
||||||
|
eval "$(oh-my-posh init bash --config "$DOTFILES/config/omp/own.toml")"
|
||||||
|
}
|
||||||
|
|
||||||
|
. "$HOME/.local/share/asdf/asdf.sh"
|
||||||
|
. "$HOME/.local/share/asdf/completions/asdf.bash"
|
||||||
|
|
||||||
x-have antidot && {
|
x-have antidot && {
|
||||||
eval "$(antidot init)"
|
eval "$(antidot init)"
|
||||||
}
|
}
|
||||||
|
|
||||||
x-have rbenv && {
|
|
||||||
eval "$(rbenv init - bash)"
|
|
||||||
}
|
|
||||||
|
|
||||||
x-have oh-my-posh && {
|
|
||||||
eval "$(oh-my-posh init bash --config $DOTFILES/config/omp/own.toml)"
|
|
||||||
}
|
|
||||||
|
|||||||
16
base/zshrc
16
base/zshrc
@@ -1,25 +1,14 @@
|
|||||||
# this is my zsh config. there are many like it, but this one is mine.
|
# this is my zsh config. there are many like it, but this one is mine.
|
||||||
# shellcheck shell=bash
|
# shellcheck shell=bash
|
||||||
|
|
||||||
export DOTFILES="$HOME/.dotfiles"
|
source "$HOME/.dotfiles/config/shared"
|
||||||
|
|
||||||
# Explicitly set XDG folders
|
|
||||||
# https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
|
|
||||||
export XDG_CONFIG_HOME="$HOME/.config"
|
|
||||||
export XDG_DATA_HOME="$HOME/.local/share"
|
|
||||||
export XDG_STATE_HOME="$HOME/.local/state"
|
|
||||||
|
|
||||||
# custom variables
|
|
||||||
export XDG_BIN_HOME="$HOME/.local/bin"
|
|
||||||
export XDG_CACHE_HOME="$HOME/.cache"
|
|
||||||
export XDG_RUNTIME_DIR="$HOME/.local/run"
|
|
||||||
|
|
||||||
export PATH="$XDG_BIN_HOME:$DOTFILES/local/bin:$HOME/.local/go/bin:$XDG_DATA_HOME/bob/nvim-bin:$XDG_DATA_HOME/cargo/bin:/opt/homebrew/bin:/usr/local/bin:$PATH"
|
export PATH="$XDG_BIN_HOME:$DOTFILES/local/bin:$HOME/.local/go/bin:$XDG_DATA_HOME/bob/nvim-bin:$XDG_DATA_HOME/cargo/bin:/opt/homebrew/bin:/usr/local/bin:$PATH"
|
||||||
|
|
||||||
x-load-configs
|
x-load-configs
|
||||||
|
|
||||||
x-have oh-my-posh && {
|
x-have oh-my-posh && {
|
||||||
eval "$(oh-my-posh init zsh --config $DOTFILES/config/omp/own.toml)"
|
eval "$(oh-my-posh init zsh --config "$DOTFILES/config/omp/own.toml")"
|
||||||
}
|
}
|
||||||
|
|
||||||
export COMPLETION_WAITING_DOTS=true
|
export COMPLETION_WAITING_DOTS=true
|
||||||
@@ -57,6 +46,7 @@ export ZSHZ_DATA="$XDG_STATE_HOME/z"
|
|||||||
antigen bundle z
|
antigen bundle z
|
||||||
|
|
||||||
# these should be always available
|
# these should be always available
|
||||||
|
antigen bundle asdf
|
||||||
antigen bundle tmux
|
antigen bundle tmux
|
||||||
antigen bundle colored-man-pages
|
antigen bundle colored-man-pages
|
||||||
antigen bundle ssh-agent
|
antigen bundle ssh-agent
|
||||||
|
|||||||
8
config/asdf/asdfrc
Normal file
8
config/asdf/asdfrc
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# See the docs for explanations: https://asdf-vm.com/manage/configuration.html
|
||||||
|
|
||||||
|
legacy_version_file = yes
|
||||||
|
use_release_candidates = no
|
||||||
|
always_keep_download = no
|
||||||
|
plugin_repository_last_check_duration = 60
|
||||||
|
disable_plugin_short_name_repository = no
|
||||||
|
concurrency = auto
|
||||||
7
config/asdf/npm-packages
Normal file
7
config/asdf/npm-packages
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
blade-formatter
|
||||||
|
corepack
|
||||||
|
editorconfig-checker
|
||||||
|
github-release-notes
|
||||||
|
neovim
|
||||||
|
npm
|
||||||
|
stylelint-lsp
|
||||||
27
config/asdf/plugin-versions
Normal file
27
config/asdf/plugin-versions
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
1password-cli https://github.com/NeoHsu/asdf-1password-cli.git f5d5aab
|
||||||
|
age https://github.com/threkk/asdf-age.git 4df80a0
|
||||||
|
asdf-plugin-manager https://github.com/asdf-community/asdf-plugin-manager.git 50d2735
|
||||||
|
bottom https://github.com/carbonteq/asdf-btm.git fd8a55a
|
||||||
|
dotenv-linter https://github.com/wesleimp/asdf-dotenv-linter.git 1369f53
|
||||||
|
editorconfig-checker https://github.com/gabitchov/asdf-editorconfig-checker.git 585c1d5
|
||||||
|
eza https://github.com/lwiechec/asdf-eza.git 08c1b65
|
||||||
|
fd https://gitlab.com/wt0f/asdf-fd.git 17d56e0
|
||||||
|
github-cli https://github.com/bartlomiejdanek/asdf-github-cli.git e0605b7
|
||||||
|
hadolint https://github.com/devlincashman/asdf-hadolint.git 335e230
|
||||||
|
kubectl https://github.com/asdf-community/asdf-kubectl.git cbe6df4
|
||||||
|
lazygit https://github.com/nklmilojevic/asdf-lazygit.git 78e04f1
|
||||||
|
neovim https://github.com/richin13/asdf-neovim d6118ad
|
||||||
|
nodejs https://github.com/asdf-vm/asdf-nodejs.git c5b7c40
|
||||||
|
pipx https://github.com/yozachar/asdf-pipx.git 31db618
|
||||||
|
pre-commit https://github.com/jonathanmorley/asdf-pre-commit.git 26bfc42
|
||||||
|
ripgrep https://gitlab.com/wt0f/asdf-ripgrep.git e836665
|
||||||
|
semgrep https://github.com/brentjanderson/asdf-semgrep.git 13ff78b
|
||||||
|
shellcheck https://github.com/luizm/asdf-shellcheck.git 780d78d
|
||||||
|
shfmt https://github.com/luizm/asdf-shfmt.git a42c5ff
|
||||||
|
terraform-ls https://github.com/asdf-community/asdf-hashicorp.git f1602b6
|
||||||
|
terraform-lsp https://github.com/bartlomiejdanek/asdf-terraform-lsp.git bba7106
|
||||||
|
terragrunt https://github.com/ohmer/asdf-terragrunt 4a6651a
|
||||||
|
tf-summarize https://github.com/adamcrews/asdf-tf-summarize.git 880ad26
|
||||||
|
vault https://github.com/asdf-community/asdf-hashicorp.git f1602b6
|
||||||
|
yamllint https://github.com/ericcornelissen/asdf-yamllint.git d5c3161
|
||||||
|
yq https://github.com/sudermanjr/asdf-yq.git 772992f
|
||||||
16
config/asdf/tool-versions
Normal file
16
config/asdf/tool-versions
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
1password-cli 2.29.0
|
||||||
|
age 1.2.0
|
||||||
|
bottom 0.9.6
|
||||||
|
eza 0.18.19
|
||||||
|
fd 10.1.0
|
||||||
|
hadolint 2.12.0
|
||||||
|
kubectl 1.30.2
|
||||||
|
lazygit 0.42.0
|
||||||
|
nodejs 22.3.0
|
||||||
|
pipx 1.6.0
|
||||||
|
tf-summarize 0.3.10
|
||||||
|
vault 1.17.0+ent
|
||||||
|
yamllint 1.35.1
|
||||||
|
yq 4.44.2
|
||||||
|
neovim system
|
||||||
|
asdf-plugin-manager 1.3.1
|
||||||
@@ -21,6 +21,19 @@ x-dc "$ANSIBLE_GALAXY_CACHE_DIR"
|
|||||||
|
|
||||||
export ANDROID_HOME="$XDG_DATA_HOME/android"
|
export ANDROID_HOME="$XDG_DATA_HOME/android"
|
||||||
|
|
||||||
|
# asdf
|
||||||
|
# https://github.com/asdf-vm/asdf
|
||||||
|
export ASDF_DIR="${XDG_DATA_HOME}/asdf"
|
||||||
|
export ASDF_CONFIG_FILE="${XDG_CONFIG_HOME}/asdf/asdfrc"
|
||||||
|
export ASDF_DATA_DIR="${ASDF_DIR}"
|
||||||
|
# This seems wrong, but `asdf info` and `versions.bash` differ on path resolution.
|
||||||
|
export ASDF_DEFAULT_TOOL_VERSIONS_FILENAME=".config/asdf/tool-versions"
|
||||||
|
export ASDF_PLUGIN_MANAGER_PLUGIN_VERSIONS_FILENAME="${XDG_CONFIG_HOME}/asdf/plugin-versions"
|
||||||
|
export ASDF_LOG_FILE="${XDG_CACHE_HOME}/asdf/asdf.log"
|
||||||
|
export ASDF_NODEJS_LEGACY_FILE_DYNAMIC_STRATEGY="latest_available"
|
||||||
|
export ASDF_NPM_DEFAULT_PACKAGES_FILE="${XDG_CONFIG_HOME}/asdf/npm-packages"
|
||||||
|
export PATH="${ASDF_DIR}/bin:${PATH}"
|
||||||
|
|
||||||
# bob manages nvim versions
|
# bob manages nvim versions
|
||||||
export PATH="$XDG_DATA_HOME/bob/nvim-bin:$PATH"
|
export PATH="$XDG_DATA_HOME/bob/nvim-bin:$PATH"
|
||||||
|
|
||||||
|
|||||||
24
config/shared
Normal file
24
config/shared
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# shellcheck shell=bash
|
||||||
|
|
||||||
|
# Defaults
|
||||||
|
export DOTFILES="$HOME/.dotfiles"
|
||||||
|
|
||||||
|
# Explicitly set XDG folders
|
||||||
|
# https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
|
||||||
|
export XDG_CONFIG_HOME="$HOME/.config"
|
||||||
|
export XDG_DATA_HOME="$HOME/.local/share"
|
||||||
|
export XDG_STATE_HOME="$HOME/.local/state"
|
||||||
|
|
||||||
|
# custom variables
|
||||||
|
export XDG_BIN_HOME="$HOME/.local/bin"
|
||||||
|
export XDG_CACHE_HOME="$HOME/.cache"
|
||||||
|
export XDG_RUNTIME_DIR="$HOME/.local/run"
|
||||||
|
|
||||||
|
# Paths
|
||||||
|
export PATH="$XDG_BIN_HOME:$DOTFILES/local/bin:$HOME/.local/go/bin:$XDG_DATA_HOME/bob/nvim-bin:$XDG_DATA_HOME/cargo/bin:/opt/homebrew/bin:/usr/local/bin:$PATH"
|
||||||
|
|
||||||
|
# Split config files
|
||||||
|
source "$DOTFILES/config/exports"
|
||||||
|
source "$DOTFILES/config/functions"
|
||||||
|
source "$DOTFILES/config/alias"
|
||||||
|
|
||||||
@@ -62,19 +62,20 @@ function section_install
|
|||||||
$0 install antigen
|
$0 install antigen
|
||||||
$0 brew install
|
$0 brew install
|
||||||
$0 install ohmyposh
|
$0 install ohmyposh
|
||||||
$0 install ohmybash
|
$0 install asdf
|
||||||
$0 install pip
|
# $0 install ohmybash
|
||||||
|
# $0 install pip
|
||||||
$0 install cargo
|
$0 install cargo
|
||||||
$0 install composer
|
$0 install composer
|
||||||
$0 install dotenv
|
# $0 install dotenv
|
||||||
$0 install fzf
|
$0 install fzf
|
||||||
$0 install gh
|
# $0 install gh
|
||||||
$0 install go
|
$0 install go
|
||||||
$0 install cheat-databases
|
$0 install cheat-databases
|
||||||
$0 install imagick
|
$0 install imagick
|
||||||
$0 install neofetch
|
# $0 install neofetch
|
||||||
$0 install nvm
|
# $0 install nvm
|
||||||
$0 install npm
|
# $0 install npm
|
||||||
$0 install ntfy
|
$0 install ntfy
|
||||||
$0 install z
|
$0 install z
|
||||||
msgr msg "Reloading configurations again..."
|
msgr msg "Reloading configurations again..."
|
||||||
@@ -86,6 +87,11 @@ function section_install
|
|||||||
curl -sSfL git.io/antigen -o "$DOTFILES/local/bin/antigen.zsh" \
|
curl -sSfL git.io/antigen -o "$DOTFILES/local/bin/antigen.zsh" \
|
||||||
&& msg_yay "New antigen installed!"
|
&& msg_yay "New antigen installed!"
|
||||||
;;
|
;;
|
||||||
|
asdf)
|
||||||
|
msg "Installing asdf..."
|
||||||
|
bash "$DOTFILES/scripts/install-asdf.sh" \
|
||||||
|
&& msg_yay "asdf installed!"
|
||||||
|
;;
|
||||||
cargo)
|
cargo)
|
||||||
msg "Installing cargo packages..."
|
msg "Installing cargo packages..."
|
||||||
bash "$DOTFILES/scripts/install-cargo-packages.sh" \
|
bash "$DOTFILES/scripts/install-cargo-packages.sh" \
|
||||||
|
|||||||
78
scripts/install-asdf.sh
Executable file
78
scripts/install-asdf.sh
Executable file
@@ -0,0 +1,78 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# Install asdf
|
||||||
|
|
||||||
|
source "${XDG_CONFIG_HOME}/exports"
|
||||||
|
source "${XDG_CONFIG_HOME}/alias"
|
||||||
|
source "${XDG_CONFIG_HOME}/functions"
|
||||||
|
source "${DOTFILES}/scripts/shared.sh"
|
||||||
|
|
||||||
|
# Installation variables
|
||||||
|
ASDF_GIT="https://github.com/asdf-vm/asdf.git"
|
||||||
|
ASDF_PATH="${XDG_DATA_HOME}/asdf"
|
||||||
|
|
||||||
|
if [ ! -d "$ASDF_PATH" ]; then
|
||||||
|
git clone --depth 1 "$ASDF_GIT" "$ASDF_PATH" \
|
||||||
|
--branch v0.14.0
|
||||||
|
|
||||||
|
msg_done "asdf ($ASDF_PATH/) installed"
|
||||||
|
else
|
||||||
|
msg_done "asdf ($ASDF_PATH/) already installed"
|
||||||
|
fi
|
||||||
|
|
||||||
|
export PATH="${ASDF_PATH}/bin:$PATH"
|
||||||
|
|
||||||
|
msg "Sourcing asdf in your shell"
|
||||||
|
. "$ASDF_PATH/asdf.sh"
|
||||||
|
|
||||||
|
# Update asdf, and plugins
|
||||||
|
asdf update
|
||||||
|
|
||||||
|
asdf plugin add asdf-plugin-manager https://github.com/asdf-community/asdf-plugin-manager.git
|
||||||
|
asdf install asdf-plugin-manager latest
|
||||||
|
asdf global asdf-plugin-manager "$(asdf latest asdf-plugin-manager)"
|
||||||
|
asdf-plugin-manager version
|
||||||
|
asdf-plugin-manager export > "${ASDF_PLUGIN_MANAGER_PLUGIN_VERSIONS_FILENAME}"
|
||||||
|
asdf-plugin-manager add-all
|
||||||
|
|
||||||
|
asdf install
|
||||||
|
|
||||||
|
# ASDF_INSTALLABLES=(
|
||||||
|
# "nodejs:github.com/asdf-vm/asdf-nodejs.git"
|
||||||
|
# "1password-cli:github.com/NeoHsu/asdf-1password-cli.git"
|
||||||
|
# "age:github.com/threkk/asdf-age.git"
|
||||||
|
# "bottom:github.com/carbonteq/asdf-btm.git"
|
||||||
|
# "dotenv-linter:github.com/wesleimp/asdf-dotenv-linter.git"
|
||||||
|
# "editorconfig-checker:github.com/gabitchov/asdf-editorconfig-checker.git"
|
||||||
|
# "eza:github.com/lwiechec/asdf-eza.git"
|
||||||
|
# "fd:gitlab.com/wt0f/asdf-fd.git"
|
||||||
|
# "github-cli:github.com/bartlomiejdanek/asdf-github-cli.git"
|
||||||
|
# "hadolint:github.com/devlincashman/asdf-hadolint.git"
|
||||||
|
# "kubectl:github.com/asdf-community/asdf-kubectl.git"
|
||||||
|
# "lazygit:github.com/nklmilojevic/asdf-lazygit.git"
|
||||||
|
# "pipx:github.com/yozachar/asdf-pipx.git"
|
||||||
|
# "pre-commit:github.com/jonathanmorley/asdf-pre-commit.git"
|
||||||
|
# "ripgrep:gitlab.com/wt0f/asdf-ripgrep.git"
|
||||||
|
# "semgrep:github.com/brentjanderson/asdf-semgrep.git"
|
||||||
|
# "terraform-ls:github.com/asdf-community/asdf-hashicorp.git"
|
||||||
|
# "vault:github.com/asdf-community/asdf-hashicorp.git"
|
||||||
|
# "shellcheck:github.com/luizm/asdf-shellcheck.git"
|
||||||
|
# "shfmt:github.com/luizm/asdf-shfmt.git"
|
||||||
|
# "terraform-lsp:github.com/bartlomiejdanek/asdf-terraform-lsp.git"
|
||||||
|
# "terragrunt:github.com/ohmer/asdf-terragrunt.git"
|
||||||
|
# "tf-summarize:github.com/adamcrews/asdf-tf-summarize.git"
|
||||||
|
# "yamllint:github.com/ericcornelissen/asdf-yamllint.git"
|
||||||
|
# "yq:github.com/sudermanjr/asdf-yq.git"
|
||||||
|
# )
|
||||||
|
#
|
||||||
|
# msg "Installing asdf plugins, if not already installed"
|
||||||
|
# for item in "${ASDF_INSTALLABLES[@]}"; do
|
||||||
|
# CMD=$(echo "${item}" | awk -F ":" '{print $1}')
|
||||||
|
# URL=$(echo "${item}" | awk -F ":" '{print $2}')
|
||||||
|
# asdf plugin add "${CMD}" "https://${URL}"
|
||||||
|
# asdf install "${CMD}" latest
|
||||||
|
# asdf global "${CMD}" "$(asdf latest "${CMD}")"
|
||||||
|
# done
|
||||||
|
|
||||||
|
msg "Reshim asdf"
|
||||||
|
asdf reshim
|
||||||
Reference in New Issue
Block a user