mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-01-27 20:45:31 +00:00
Compare commits
79 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
405e2d5c77 | ||
| 535925aeaf | |||
|
|
7fa29ae3d6 | ||
|
|
b1a01b6717 | ||
|
|
b9d2ee01ed | ||
| e81938a04d | |||
| 3bbcb248ba | |||
| 17194755e6 | |||
| 45f95422ef | |||
| b8f0bb570e | |||
| a0d8069455 | |||
|
|
8b1eb0a582 | ||
|
|
9cb10250c5 | ||
| 2836ed19cf | |||
| 21eb5086a9 | |||
| 56f49ab314 | |||
| 5e1a2d0dd0 | |||
| 5fdd26bf80 | |||
| 0c93dd9ad8 | |||
| 9deb613b5b | |||
|
|
bf4031c238 | ||
| 087b33cc97 | |||
|
|
361657cdec | ||
| 4855e56f3c | |||
| c119d4c20b | |||
| 4815e8678b | |||
| 31a45fed19 | |||
| 5aae400c92 | |||
| 26e11047ce | |||
| 1f0826c7e7 | |||
| 9f71f3c8aa | |||
| 5d929c6466 | |||
| afc04db93a | |||
|
|
eca0321e21 | ||
| def3372b9a | |||
|
|
5aaa177756 | ||
| 31a6ea351d | |||
| 333995c7f4 | |||
| d6b24c27a1 | |||
| 89ae4003f9 | |||
| 7a008c3ae8 | |||
| a6f89e80bd | |||
| 3d987e491e | |||
| e1729fd925 | |||
| 4e5dae4161 | |||
| 6b30ebfddb | |||
|
|
0aafae5d97 | ||
| 32cc561d20 | |||
| 784fddea64 | |||
| 0a058aaf22 | |||
| ff6876a56d | |||
| ccbd29fc40 | |||
| 9251225d3e | |||
| 241eed66f5 | |||
| 6de8e92968 | |||
| 2cdda605ef | |||
| 87a4ec8ecf | |||
| 87613d10ec | |||
| f6dc193f6a | |||
| 4adbbdb47a | |||
| bdbe10f612 | |||
| 531488001f | |||
| 4f2b47d5c3 | |||
|
|
dfbdb89aca | ||
|
|
c9489ae50f | ||
| 9fdb4cdfb0 | |||
| f4da515120 | |||
| fae9665671 | |||
| d5e34d168b | |||
| e8b43d76dc | |||
| 4f9757ad2b | |||
| 611a3bfa72 | |||
| 10da4ea372 | |||
| 68525d5ae4 | |||
|
|
7311f2576e | ||
| 721d3c0d15 | |||
| c82e183ff9 | |||
| 1b6a93650b | |||
| aa85bb0c72 |
18
.github/workflows/changelog.yml
vendored
18
.github/workflows/changelog.yml
vendored
@@ -1,18 +1,32 @@
|
||||
---
|
||||
# yaml-language-server: https://json.schemastore.org/github-workflow.json
|
||||
name: Debug Changelog # Workflow name displayed on GitHub
|
||||
|
||||
on:
|
||||
workflow_dispatch: # Trigger manually
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions: read-all
|
||||
|
||||
jobs:
|
||||
debug-changelog:
|
||||
runs-on: self-hosted
|
||||
|
||||
permissions: write-all
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: Create changelog text
|
||||
id: changelog
|
||||
uses: loopwerk/tag-changelog@v1
|
||||
uses: loopwerk/tag-changelog@941366edb8920e2071eae0449031830984b9f26e # v1.3.0
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
config_file: .github/tag-changelog-config.js
|
||||
|
||||
- name: 'Echo results'
|
||||
id: output-changelog
|
||||
run: |
|
||||
|
||||
28
.github/workflows/linters.yml
vendored
28
.github/workflows/linters.yml
vendored
@@ -1,29 +1,47 @@
|
||||
---
|
||||
name: reviewdog
|
||||
# yaml-language-server: https://json.schemastore.org/github-workflow.json
|
||||
name: Reviewdog
|
||||
|
||||
on: [push]
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions: read-all
|
||||
|
||||
jobs:
|
||||
linters:
|
||||
name: Linters
|
||||
|
||||
runs-on: self-hosted
|
||||
|
||||
permissions: write-all
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: GitHub Actions
|
||||
uses: reviewdog/action-actionlint@v1
|
||||
uses: reviewdog/action-actionlint@a5524e1c19e62881d79c1f1b9b6f09f16356e281 # v1.65.2
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
reporter: github-pr-review
|
||||
|
||||
- name: detect-secrets
|
||||
uses: reviewdog/action-detect-secrets@master
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
reporter: github-pr-review
|
||||
|
||||
- name: markdownlint
|
||||
uses: reviewdog/action-markdownlint@v0
|
||||
uses: reviewdog/action-markdownlint@3667398db9118d7e78f7a63d10e26ce454ba5f58 # v0.26.2
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
reporter: github-pr-review
|
||||
|
||||
- name: shfmt
|
||||
uses: reviewdog/action-shfmt@v1
|
||||
uses: reviewdog/action-shfmt@d8f080930b9be5847b4f97e9f4122b81a82aaeac # v1.0.4
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
shfmt_flags: |
|
||||
|
||||
28
.github/workflows/new-release.yml
vendored
28
.github/workflows/new-release.yml
vendored
@@ -1,38 +1,48 @@
|
||||
---
|
||||
# yaml-language-server: https://json.schemastore.org/github-workflow.json
|
||||
name: Release Daily State
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: '0 21 * * *' # 00:00 at Europe/Helsinki
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions: read-all
|
||||
|
||||
jobs:
|
||||
new-daily-release:
|
||||
runs-on: self-hosted
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
permissions: write-all
|
||||
|
||||
outputs:
|
||||
created: ${{ steps.daily-version.outputs.created }}
|
||||
version: ${{ steps.daily-version.outputs.version }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: Create tag if necessary
|
||||
uses: fregante/daily-version-action@v2
|
||||
uses: fregante/daily-version-action@fb1a60b7c4daf1410cd755e360ebec3901e58588 # v2.1.3
|
||||
id: daily-version
|
||||
|
||||
- name: Create changelog text
|
||||
if: steps.daily-version.outputs.created
|
||||
id: changelog
|
||||
uses: loopwerk/tag-changelog@v1
|
||||
uses: loopwerk/tag-changelog@941366edb8920e2071eae0449031830984b9f26e # v1.3.0
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
config_file: .github/tag-changelog-config.js
|
||||
|
||||
- name: Create release
|
||||
if: steps.daily-version.outputs.created
|
||||
uses: actions/create-release@latest
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
uses: softprops/action-gh-release@c95fe1489396fe8a9eb87c0abf8aa5b2ef267fda # v2.2.1
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
tag_name: ${{ steps.daily-version.outputs.version }}
|
||||
release_name: Release ${{ steps.daily-version.outputs.version }}
|
||||
name: Release ${{ steps.daily-version.outputs.version }}
|
||||
body: ${{ steps.changelog.outputs.changes }}
|
||||
|
||||
20
.github/workflows/pre-commit-autoupdate.yml
vendored
20
.github/workflows/pre-commit-autoupdate.yml
vendored
@@ -1,21 +1,35 @@
|
||||
---
|
||||
# yaml-language-server: https://json.schemastore.org/github-workflow.json
|
||||
name: Pre-commit autoupdate
|
||||
|
||||
on:
|
||||
schedule:
|
||||
# At 04:00 on Monday and Thursday.
|
||||
- cron: "0 4 * * 1,4"
|
||||
workflow_dispatch:
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions: read-all
|
||||
|
||||
jobs:
|
||||
auto-update:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-python@v5.4.0
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
|
||||
|
||||
- run: pip install pre-commit && pre-commit autoupdate
|
||||
- uses: peter-evans/create-pull-request@v7
|
||||
|
||||
- uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
branch: update/pre-commit-hooks
|
||||
|
||||
10
.github/workflows/semantic-pr.yml
vendored
10
.github/workflows/semantic-pr.yml
vendored
@@ -1,4 +1,5 @@
|
||||
---
|
||||
# yaml-language-server: https://json.schemastore.org/github-workflow.json
|
||||
name: Semantic PR
|
||||
|
||||
on:
|
||||
@@ -8,11 +9,18 @@ on:
|
||||
- edited
|
||||
- synchronize
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions: read-all
|
||||
|
||||
jobs:
|
||||
semantic-pr:
|
||||
runs-on: self-hosted
|
||||
|
||||
steps:
|
||||
- uses: amannn/action-semantic-pull-request@v5.5.3
|
||||
- uses: amannn/action-semantic-pull-request@0723387faaf9b38adef4775cd42cfd5155ed6017 # v5.5.3
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
|
||||
11
.github/workflows/sync-labels.yml
vendored
11
.github/workflows/sync-labels.yml
vendored
@@ -1,4 +1,5 @@
|
||||
---
|
||||
# yaml-language-server: https://json.schemastore.org/github-workflow.json
|
||||
name: Sync labels
|
||||
|
||||
# yamllint disable-line rule:truthy
|
||||
@@ -14,10 +15,18 @@ on:
|
||||
workflow_call:
|
||||
workflow_dispatch:
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions: read-all
|
||||
|
||||
jobs:
|
||||
SyncLabels:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
permissions:
|
||||
issues: write
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: ivuorinen/actions/sync-labels@main
|
||||
|
||||
44
.github/workflows/update-submodules.yml
vendored
44
.github/workflows/update-submodules.yml
vendored
@@ -1,39 +1,55 @@
|
||||
---
|
||||
# yaml-language-server: https://json.schemastore.org/github-workflow.json
|
||||
name: Update submodules
|
||||
|
||||
on:
|
||||
schedule:
|
||||
# At 04:00 on Monday and Thursday.
|
||||
- cron: "0 4 * * 1,4"
|
||||
- cron: "0 4 * * 1"
|
||||
workflow_dispatch:
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions: read-all
|
||||
|
||||
jobs:
|
||||
update-submodules:
|
||||
permissions:
|
||||
contents: write
|
||||
issues: write
|
||||
pull-requests: write
|
||||
runs-on: self-hosted
|
||||
|
||||
permissions: write-all
|
||||
|
||||
steps:
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
submodules: true
|
||||
fetch-depth: 0
|
||||
fetch-depth: 2
|
||||
token: ${{secrets.GITHUB_TOKEN}}
|
||||
|
||||
- name: Config Git User
|
||||
run: |
|
||||
git config --global user.name "${{ github.actor }}"
|
||||
git config --global user.email "${{ github.actor }}@users.noreply.github.com"
|
||||
|
||||
- name: Update submodules
|
||||
run: |
|
||||
if git commit -am"chore(git): Update submodules (automated)
|
||||
|
||||
$(git submodule --quiet foreach \
|
||||
'tag="$(git describe --tags --abbrev=0 origin/HEAD)"
|
||||
git submodule sync
|
||||
git submodule foreach --quiet '
|
||||
tag="$(git describe --tags --abbrev=0 origin/HEAD)"
|
||||
if [ "$(git describe --tags)" != "$tag" ]; then
|
||||
git checkout --quiet "$tag"
|
||||
echo "$name" "$tag"
|
||||
fi')"
|
||||
then
|
||||
echo "$name updated to $tag"
|
||||
fi
|
||||
'
|
||||
|
||||
if git diff --quiet; then
|
||||
echo "No updates for submodules."
|
||||
else
|
||||
git add .
|
||||
git commit -m "chore(git): Update submodules (automated)"
|
||||
git show --raw
|
||||
git push
|
||||
fi
|
||||
|
||||
11
.gitignore
vendored
11
.gitignore
vendored
@@ -3,6 +3,8 @@
|
||||
*.bak
|
||||
*.log
|
||||
*.socket
|
||||
*.swp
|
||||
*.old
|
||||
*cache
|
||||
.env
|
||||
.idea
|
||||
@@ -22,6 +24,10 @@ config/npm/npmrc
|
||||
config/nvim/lazy-lock.json
|
||||
config/nvim/spell/*
|
||||
!config/nvim/spell/.gitkeep
|
||||
config/git/local.d/*
|
||||
!config/git/local.d/.gitkeep
|
||||
config/vim/fzf
|
||||
config/vim/plugged/*
|
||||
config/zed/*
|
||||
!config/zed/settings.json
|
||||
config/zsh/.zcompdump
|
||||
@@ -34,3 +40,8 @@ node_modules
|
||||
ssh/local.d/*
|
||||
!ssh/local.d/.gitkeep
|
||||
config/fish/fish_variables
|
||||
**/exports-secret.fish
|
||||
config/fish/completions/asdf.fish
|
||||
config/vim/.netrwhist
|
||||
config/vim/extra/*
|
||||
config/gh/hosts.yml
|
||||
|
||||
9
.gitmodules
vendored
9
.gitmodules
vendored
@@ -74,18 +74,9 @@
|
||||
url = https://github.com/erikw/tmux-dark-notify.git
|
||||
ignore = dirty
|
||||
|
||||
[submodule "asdf"]
|
||||
path = local/bin/asdf
|
||||
url = https://github.com/asdf-vm/asdf.git
|
||||
ignore = dirty
|
||||
|
||||
[submodule "antidote"]
|
||||
path = tools/antidote
|
||||
url = https://github.com/mattmc3/antidote.git
|
||||
shallow = true
|
||||
ignore = dirty
|
||||
|
||||
[submodule "dotbot-asdf"]
|
||||
path = tools/dotbot-asdf
|
||||
url = https://github.com/sobolevn/dotbot-asdf
|
||||
ignore = dirty
|
||||
|
||||
3
.ignore
3
.ignore
@@ -1,7 +1,10 @@
|
||||
**/__pycache__/**
|
||||
.git/**
|
||||
config/cheat/cheatsheets/community/**
|
||||
config/tmux/plugins/**
|
||||
node_modules
|
||||
tools/antidote/**
|
||||
tools/dotbot-brew/**
|
||||
tools/dotbot-include/**
|
||||
tools/dotbot/**
|
||||
*.pyc
|
||||
|
||||
@@ -29,7 +29,7 @@ repos:
|
||||
args: [-c, .markdownlint.json, --fix]
|
||||
|
||||
- repo: https://github.com/adrienverge/yamllint
|
||||
rev: v1.35.1
|
||||
rev: v1.36.2
|
||||
hooks:
|
||||
- id: yamllint
|
||||
|
||||
@@ -39,7 +39,7 @@ repos:
|
||||
- id: shellcheck
|
||||
|
||||
- repo: https://github.com/scop/pre-commit-shfmt
|
||||
rev: v3.10.0-2
|
||||
rev: v3.11.0-1
|
||||
hooks:
|
||||
- id: shfmt
|
||||
|
||||
@@ -49,7 +49,7 @@ repos:
|
||||
- id: actionlint
|
||||
|
||||
- repo: https://github.com/renovatebot/pre-commit-hooks
|
||||
rev: 39.171.1
|
||||
rev: 39.205.1
|
||||
hooks:
|
||||
- id: renovate-config-validator
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
git submodule sync --recursive
|
||||
|
||||
# dotbot and plugins
|
||||
git submodule add --name dotbot \
|
||||
-f https://github.com/anishathalye/dotbot.git tools/dotbot
|
||||
@@ -9,16 +11,12 @@ git submodule add --name dotbot-include \
|
||||
-f https://gitlab.com/gnfzdz/dotbot-include.git tools/dotbot-include
|
||||
git submodule add --name dotbot-pip \
|
||||
-f https://github.com/sobolevn/dotbot-pip.git tools/dotbot-pip
|
||||
git submodule add --name dotbot-asdf \
|
||||
-f https://github.com/sobolevn/dotbot-asdf tools/dotbot-asdf
|
||||
|
||||
# other repos
|
||||
git submodule add --name cheat-community \
|
||||
-f https://github.com/cheat/cheatsheets.git config/cheat/cheatsheets/community
|
||||
git submodule add --name cheat-tldr \
|
||||
-f https://github.com/ivuorinen/cheatsheet-tldr.git config/cheat/cheatsheets/tldr
|
||||
git submodule add --name asdf \
|
||||
-f https://github.com/asdf-vm/asdf.git local/bin/asdf
|
||||
git submodule add --name antidote \
|
||||
--depth 1 \
|
||||
-f https://github.com/mattmc3/antidote.git tools/antidote
|
||||
@@ -53,10 +51,21 @@ done
|
||||
git config -f .gitmodules submodule.antidote.shallow true
|
||||
|
||||
# remove old submodules
|
||||
[ -d "config/tmux/plugins/tpm" ] && rm -rf config/tmux/plugins/tpm
|
||||
[ -d "config/tmux/plugins/tmux" ] && rm -rf config/tmux/plugins/tmux
|
||||
[ -d "config/tmux/plugins/tmux-menus" ] && rm -rf config/tmux/plugins/tmux-menus
|
||||
[ -d "config/tmux/plugins/tmux-resurrect" ] && rm -rf config/tmux/plugins/tmux-resurrect
|
||||
[ -d "tools/dotbot-crontab" ] && rm -rf tools/dotbot-crontab
|
||||
[ -d "tools/dotbot-snap" ] && rm -rf tools/dotbot-snap
|
||||
[ -d "config/nvim-kickstart" ] && rm -rf config/nvim-kickstart
|
||||
folders=(
|
||||
"config/tmux/plugins/tpm"
|
||||
"config/tmux/plugins/tmux"
|
||||
"config/tmux/plugins/tmux-menus"
|
||||
"config/tmux/plugins/tmux-resurrect"
|
||||
"tools/dotbot-crontab"
|
||||
"tools/dotbot-snap"
|
||||
"config/nvim-kickstart"
|
||||
"local/bin/asdf"
|
||||
"local/asdf"
|
||||
"tools/dotbot-asdf"
|
||||
)
|
||||
|
||||
for folder in "${folders[@]}"; do
|
||||
[ -d "$folder" ] \
|
||||
&& rm -rf "$folder" \
|
||||
&& msgr run_done "Removed old submodule $folder"
|
||||
done
|
||||
|
||||
@@ -25,3 +25,6 @@ x-have antidot && {
|
||||
PROMPT_DIRTRIM=3
|
||||
PROMPT_COMMAND='PS1_CMD1=$(git branch --show-current 2>/dev/null)'
|
||||
PS1='\[\e[95m\]\u\[\e[0m\]@\[\e[38;5;22;2m\]\h\[\e[0m\] \[\e[38;5;33m\]\w\[\e[0m\] \[\e[92;2m\]${PS1_CMD1}\n\[\e[39m\]➜\[\e[0m\] '
|
||||
|
||||
# Added by LM Studio CLI (lms)
|
||||
export PATH="$PATH:$HOME/.lmstudio/bin"
|
||||
|
||||
@@ -1,2 +1 @@
|
||||
use node
|
||||
use asdf
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
golang 1.23.4
|
||||
rust 1.83.0
|
||||
direnv 2.35.0
|
||||
fd 10.2.0
|
||||
1password-cli 2.30.3
|
||||
age 1.2.1
|
||||
dotenv-linter 3.3.0
|
||||
editorconfig-checker 2.8.0
|
||||
github-cli 2.64.0
|
||||
hadolint 2.12.0
|
||||
kubectl 1.32.0
|
||||
pre-commit 4.0.1
|
||||
ripgrep 14.1.1
|
||||
shellcheck 0.10.0
|
||||
shfmt 3.10.0
|
||||
terragrunt 0.71.1
|
||||
tf-summarize 0.3.14
|
||||
yamllint 1.35.1
|
||||
yq 4.44.6
|
||||
@@ -12,7 +12,6 @@ export PATH="$HOME/.local/bin:$DOTFILES/local/bin:$LOCAL_SHARE/nvim/mason/bin:$L
|
||||
export SHARED_SCRIPTS_SOURCED=0
|
||||
|
||||
source "$DOTFILES/config/shared.sh"
|
||||
source "${XDG_CONFIG_HOME:-$HOME/.config}/asdf-direnv/zshrc"
|
||||
|
||||
# zsh completions directory
|
||||
[ -z "$ZSH_COMPLETIONS" ] && export ZSH_COMPLETIONS="$XDG_CONFIG_HOME/zsh/completion"
|
||||
@@ -23,7 +22,6 @@ FPATH="$ZSH_COMPLETIONS:$FPATH"
|
||||
ZSH_COMPDUMP="$XDG_CACHE_HOME/zsh/zcompdump-${SHORT_HOST}-${ZSH_VERSION}"
|
||||
|
||||
source "$DOTFILES/config/zsh/antidote.zsh"
|
||||
# source "$DOTFILES/config/zsh/prompt.zsh"
|
||||
|
||||
# Function to source FZF configuration
|
||||
source_fzf_config()
|
||||
@@ -51,10 +49,6 @@ setup_tmux_window_name_plugin()
|
||||
fi
|
||||
}
|
||||
|
||||
if [[ -n $GHOSTTY_RESOURCES_DIR ]]; then
|
||||
source "$GHOSTTY_RESOURCES_DIR"/shell-integration/zsh/ghostty-integration
|
||||
fi
|
||||
|
||||
source_fzf_config
|
||||
setup_tmux_window_name_plugin
|
||||
x-have antidot && eval "$(antidot init)"
|
||||
@@ -66,3 +60,6 @@ bashcompinit
|
||||
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
||||
export P10K_CONFIG="$DOTFILES/config/zsh/p10k.zsh"
|
||||
[[ ! -f "$P10K_CONFIG" ]] || source "$P10K_CONFIG"
|
||||
|
||||
# Added by LM Studio CLI (lms)
|
||||
export PATH="$PATH:$HOME/.lmstudio/bin"
|
||||
|
||||
@@ -115,6 +115,13 @@ run = ['layout floating']
|
||||
if.app-id = 'com.apple.backup.launcher' # TimeMachine
|
||||
run = ['layout floating']
|
||||
|
||||
[[on-window-detected]]
|
||||
if.app-id = 'com.philipyoungg.session-setapp' # Session app (Setapp)
|
||||
run = ['layout floating']
|
||||
|
||||
[[on-window-detected]]
|
||||
if.app-id = 'com.microsoft.rdc.macos' # Remote Desktop
|
||||
run = ['layout floating']
|
||||
|
||||
# Possible values: (qwerty|dvorak)
|
||||
# See https://nikitabobko.github.io/AeroSpace/guide#key-mapping
|
||||
|
||||
@@ -7,6 +7,8 @@ x-have eza && {
|
||||
alias ls="eza -h -s=type --git --icons --group-directories-first"
|
||||
}
|
||||
|
||||
alias vim='vim -u "$XDG_CONFIG_HOME/vim/vimrc"'
|
||||
|
||||
# Easier navigation: .., ..., ....
|
||||
alias ..="cd .."
|
||||
alias ...="cd ../.."
|
||||
|
||||
21
config/aqua/aqua.yaml
Normal file
21
config/aqua/aqua.yaml
Normal file
@@ -0,0 +1,21 @@
|
||||
---
|
||||
# yaml-language-server: $schema=https://raw.githubusercontent.com/aquaproj/aqua/main/json-schema/aqua-yaml.json
|
||||
# aqua - Declarative CLI Version Manager
|
||||
# https://aquaproj.github.io/
|
||||
# checksum:
|
||||
# enabled: true
|
||||
# require_checksum: true
|
||||
# supported_envs:
|
||||
# - all
|
||||
registries:
|
||||
- type: standard
|
||||
ref: v4.331.0 # renovate: depName=aquaproj/aqua-registry
|
||||
packages:
|
||||
- name: cli/cli
|
||||
version: 'v2.69.0'
|
||||
- name: junegunn/fzf
|
||||
version: 'v0.60.3'
|
||||
- name: jqlang/jq
|
||||
version: 'jq-1.7.1'
|
||||
- name: 1password/cli
|
||||
version: '2.30.3'
|
||||
@@ -1,3 +0,0 @@
|
||||
### Do not edit. This was autogenerated by 'asdf direnv setup' ###
|
||||
export ASDF_DIRENV_BIN="$(asdf where direnv)/bin/direnv"
|
||||
eval "$($ASDF_DIRENV_BIN hook zsh)"
|
||||
@@ -1,6 +1,8 @@
|
||||
// These are golang packages I use,
|
||||
// so they should be available with all versions
|
||||
|
||||
// Aqua is a package manager like asdf, or Brew
|
||||
github.com/aquaproj/aqua/v2/cmd/aqua@latest
|
||||
// Git Profile allows you to switch between user profiles in git repos
|
||||
github.com/dotzero/git-profile@v1.4.0
|
||||
// An extensible command line tool or library to format yaml files.
|
||||
|
||||
@@ -291,35 +291,6 @@ hash shopt 2> /dev/null && shopt -s checkwinsize
|
||||
# shellcheck disable=SC2155
|
||||
export SHORT_HOST=$(hostname -s)
|
||||
|
||||
# asdf
|
||||
# https://github.com/asdf-vm/asdf
|
||||
msg "Setting up asdf configuration"
|
||||
export ASDF_DIR="${HOME}/.local/asdf"
|
||||
[[ -d $ASDF_DIR ]] && {
|
||||
# [[ -d $ASDF_DIR/completions ]] && FPATH="$ASDF_DIR/completions:$FPATH"
|
||||
# [[ -d $ASDF_DIR/plugins ]] && FPATH="$ASDF_DIR/plugins:$FPATH"
|
||||
|
||||
export ASDF_CONFIG_FILE="${XDG_CONFIG_HOME}/asdf/asdfrc"
|
||||
export ASDF_DATA_DIR="${ASDF_DIR}"
|
||||
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_FORCE_PREPEND=yes
|
||||
## Default package files
|
||||
export ASDF_CRATE_DEFAULT_PACKAGES_FILE="${XDG_CONFIG_HOME}/asdf/cargo-packages"
|
||||
export ASDF_GEM_DEFAULT_PACKAGES_FILE="${XDG_CONFIG_HOME}/asdf/gem-packages"
|
||||
export ASDF_GOLANG_DEFAULT_PACKAGES_FILE="${XDG_CONFIG_HOME}/asdf/golang-packages"
|
||||
export ASDF_NPM_DEFAULT_PACKAGES_FILE="${XDG_CONFIG_HOME}/asdf/npm-packages"
|
||||
export ASDF_PYTHON_DEFAULT_PACKAGES_FILE="${XDG_CONFIG_HOME}/asdf/python-packages"
|
||||
## Plugin configuration
|
||||
export ASDF_DIRENV_IGNORE_MISSING_PLUGINS=1
|
||||
export ASDF_GOLANG_MOD_VERSION_ENABLED=true
|
||||
export ASDF_NODEJS_LEGACY_FILE_DYNAMIC_STRATEGY="latest_available"
|
||||
## Add asdf to path
|
||||
export PATH="${ASDF_DIR}/bin:${PATH}"
|
||||
|
||||
source "$ASDF_DIR/asdf.sh"
|
||||
}
|
||||
|
||||
# Antidote configuration
|
||||
# https://getantidote.github.io/
|
||||
msg "Setting up Antidote configuration"
|
||||
@@ -489,4 +460,3 @@ export SQLITE_HISTORY="${XDG_CACHE_HOME}/sqlite_history"
|
||||
[ -f "$XDG_CONFIG_HOME/exports-local" ] && source "$XDG_CONFIG_HOME/exports-local"
|
||||
[ -f "$XDG_CONFIG_HOME/exports-$(hostname)" ] && source "$XDG_CONFIG_HOME/exports-$(hostname)"
|
||||
[ -f "$XDG_CONFIG_HOME/exports-$(hostname)-secret" ] && source "$XDG_CONFIG_HOME/exports-$(hostname)-secret"
|
||||
|
||||
|
||||
72
config/fish/alias.fish
Normal file
72
config/fish/alias.fish
Normal file
@@ -0,0 +1,72 @@
|
||||
# Set aliases for fish shell
|
||||
|
||||
alias vim='vim -u "$XDG_CONFIG_HOME/vim/vimrc"'
|
||||
|
||||
# eza aliases if eza is installed
|
||||
if type -q eza > /dev/null
|
||||
|
||||
function eza_git -d "Use eza and its git options if in a git repo"
|
||||
if git rev-parse --is-inside-work-tree &>/dev/null
|
||||
eza --group-directories-first --icons=always --smart-group --git $argv
|
||||
else
|
||||
eza --group-directories-first --icons=always --smart-group $argv
|
||||
end
|
||||
end
|
||||
|
||||
function lsa --wraps='eza_git -al' --description 'eza -al'
|
||||
eza_git -al $argv
|
||||
end
|
||||
|
||||
function ls --wraps='eza_git' --description 'eza'
|
||||
eza_git $argv
|
||||
end
|
||||
|
||||
function ll --wraps='eza_git -l' --description 'eza -l'
|
||||
eza_git -l $argv
|
||||
end
|
||||
|
||||
function l --wraps='eza_git' --description 'eza'
|
||||
eza_git $argv
|
||||
end
|
||||
end
|
||||
|
||||
# Edit fish alias file
|
||||
function .a --wraps='nvim ~/.dotfiles/config/fish/alias.fish' --description 'alias .a=nvim ~/.dotfiles/config/fish/alias.fish'
|
||||
nvim ~/.dotfiles/config/fish/alias.fish $argv
|
||||
|
||||
end
|
||||
|
||||
# Go to the directory where my projects are stored
|
||||
function .c --wraps='cd ~/Code' --description 'cd ~/Code'
|
||||
cd ~/Code $argv
|
||||
|
||||
end
|
||||
|
||||
# Go to the directory where the dotfiles are stored
|
||||
function .d --wraps='cd ~/.dotfiles' --description 'cd ~/.dotfiles'
|
||||
cd ~/.dotfiles $argv
|
||||
|
||||
end
|
||||
|
||||
function .s --wraps='cd ~/Code/s' --description 'cd ~/Code/s'
|
||||
cd ~/Code/s $argv
|
||||
|
||||
end
|
||||
|
||||
# shortcut to commit with a message
|
||||
function commit --wraps='git commit -a -m "chore: automated commit"' --description 'commit shortcut'
|
||||
set -l commitMessage $argv
|
||||
git add .
|
||||
|
||||
if test -z "$commitMessage"
|
||||
if type -q aicommits
|
||||
aicommits --type conventional
|
||||
else
|
||||
git commit -a -m "chore: automated commit"
|
||||
end
|
||||
return
|
||||
end
|
||||
|
||||
git commit -a -m "$commitMessage"
|
||||
end
|
||||
|
||||
125
config/fish/completions/aqua.fish
Normal file
125
config/fish/completions/aqua.fish
Normal file
@@ -0,0 +1,125 @@
|
||||
# aqua fish shell completion
|
||||
|
||||
function __fish_aqua_no_subcommand --description 'Test if there has been any subcommand yet'
|
||||
for i in (commandline -opc)
|
||||
if contains -- $i init install i generate g update-aqua upa update-checksum upc update up completion bash zsh fish help h help h which info remove rm vacuum cp policy allow deny init init-policy exec list generate-registry gr version root-dir help h
|
||||
return 1
|
||||
end
|
||||
end
|
||||
return 0
|
||||
end
|
||||
|
||||
complete -c aqua -n '__fish_aqua_no_subcommand' -f -l log-level -r -d 'log level'
|
||||
complete -c aqua -n '__fish_aqua_no_subcommand' -f -l config -s c -r -d 'configuration file path'
|
||||
complete -c aqua -n '__fish_aqua_no_subcommand' -f -l disable-cosign -d 'Disable Cosign verification'
|
||||
complete -c aqua -n '__fish_aqua_no_subcommand' -f -l disable-slsa -d 'Disable SLSA verification'
|
||||
complete -c aqua -n '__fish_aqua_no_subcommand' -f -l disable-github-artifact-attestation -d 'Disable GitHub Artifact Attestations verification'
|
||||
complete -c aqua -n '__fish_aqua_no_subcommand' -f -l trace -r -d 'trace output file path'
|
||||
complete -c aqua -n '__fish_aqua_no_subcommand' -f -l cpu-profile -r -d 'cpu profile output file path'
|
||||
complete -c aqua -n '__fish_aqua_no_subcommand' -f -l help -s h -d 'show help'
|
||||
complete -c aqua -n '__fish_aqua_no_subcommand' -f -l version -s v -d 'print the version'
|
||||
complete -c aqua -n '__fish_aqua_no_subcommand' -f -l help -s h -d 'show help'
|
||||
complete -c aqua -n '__fish_aqua_no_subcommand' -f -l version -s v -d 'print the version'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from init' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'init' -d 'Create a configuration file if it doesn\'t exist'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from init' -f -l use-import-dir -s u -d 'Use import_dir'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from init' -f -l import-dir -s i -r -d 'import_dir'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from init' -f -l create-dir -s d -d 'Create a directory named aqua and create aqua.yaml in it'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from install i' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'install i' -d 'Install tools'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from install i' -f -l only-link -s l -d 'create links but skip downloading packages'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from install i' -f -l test -d 'This flag was deprecated and had no meaning from aqua v2.0.0. This flag will be removed in aqua v3.0.0. https://github.com/aquaproj/aqua/issues/1691'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from install i' -f -l all -s a -d 'install all aqua configuration packages'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from install i' -f -l tags -s t -r -d 'filter installed packages with tags'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from install i' -f -l exclude-tags -r -d 'exclude installed packages with tags'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate g' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'generate g' -d 'Search packages in registries and output the configuration interactively'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate g' -f -l f -r -d 'the file path of packages list. When the value is "-", the list is passed from the standard input'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate g' -f -l i -d 'Insert packages to configuration file'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate g' -f -l pin -d 'Pin version'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate g' -f -l g -d 'Insert packages in a global configuration file'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate g' -f -l detail -s d -d 'Output additional fields such as description and link'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate g' -f -l o -r -d 'inserted file'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate g' -f -l select-version -s s -d 'Select the installed version interactively. Default to display 30 versions, use --limit/-l to change it.'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate g' -f -l limit -s l -r -d 'The maximum number of versions. Non-positive number refers to no limit.'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from update-aqua upa' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'update-aqua upa' -d 'Update aqua'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from update-checksum upc' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'update-checksum upc' -d 'Create or Update aqua-checksums.json'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from update-checksum upc' -f -l all -s a -d 'Create or Update all aqua-checksums.json including global configuration'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from update-checksum upc' -f -l deep -d 'This flag was deprecated and had no meaning from aqua v2.0.0. This flag will be removed in aqua v3.0.0. https://github.com/aquaproj/aqua/issues/1769'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from update-checksum upc' -f -l prune -d 'Remove unused checksums'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from update up' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'update up' -d 'Update registries and packages'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from update up' -f -l i -d 'Select packages with fuzzy finder'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from update up' -f -l select-version -s s -d 'Select the version with fuzzy finder. Default to display 30 versions, use --limit/-l to change it.'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from update up' -f -l only-registry -s r -d 'Update only registries'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from update up' -f -l only-package -s p -d 'Update only packages'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from update up' -f -l limit -s l -r -d 'The maximum number of versions. Non-positive number refers to no limit.'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from update up' -f -l tags -s t -r -d 'filter installed packages with tags'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from update up' -f -l exclude-tags -r -d 'exclude installed packages with tags'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from completion' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'completion' -d 'Output shell completion script for bash, zsh, or fish'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from completion' -f -l help -s h -d 'show help'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from bash' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_seen_subcommand_from completion' -a 'bash' -d 'Output shell completion script for bash'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from zsh' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_seen_subcommand_from completion' -a 'zsh' -d 'Output shell completion script for zsh'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from fish' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_seen_subcommand_from completion' -a 'fish' -d 'Output shell completion script for fish'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from fish' -f -l help -s h -d 'show help'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from help h' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_seen_subcommand_from fish' -a 'help h' -d 'Shows a list of commands or help for one command'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from help h' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_seen_subcommand_from completion' -a 'help h' -d 'Shows a list of commands or help for one command'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from which' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'which' -d 'Output the absolute file path of the given command'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from which' -f -l version -s v -d 'Output the given package version'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from info' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'info' -d 'Show information'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from remove rm' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'remove rm' -d 'Uninstall packages'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from remove rm' -f -l all -s a -d 'uninstall all packages'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from remove rm' -f -l mode -s m -r -d 'Removed target modes. l: link, p: package'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from remove rm' -f -l i -d 'Select packages with a Fuzzy Finder'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from vacuum' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'vacuum' -d 'Remove unused installed packages'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from vacuum' -f -l init -d 'Create timestamp files.'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from vacuum' -f -l days -s d -r -d 'Expiration days'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from cp' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'cp' -d 'Copy executable files in a directory'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from cp' -f -l o -r -d 'destination directory'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from cp' -f -l all -s a -d 'install all aqua configuration packages'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from cp' -f -l tags -s t -r -d 'filter installed packages with tags'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from cp' -f -l exclude-tags -r -d 'exclude installed packages with tags'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from policy' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'policy' -d 'Manage Policy'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from allow' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_seen_subcommand_from policy' -a 'allow' -d 'Allow a policy file'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from deny' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_seen_subcommand_from policy' -a 'deny' -d 'Deny a policy file'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from init' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_seen_subcommand_from policy' -a 'init' -d 'Create a policy file if it doesn\'t exist'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from init-policy' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'init-policy' -d '[Deprecated] Create a policy file if it doesn\'t exist'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from exec' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'exec' -d 'Execute tool'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from list' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'list' -d 'List packages in Registries'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from list' -f -l installed -s i -d 'List installed packages'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from list' -f -l all -s a -d 'List global configuration packages too'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate-registry gr' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'generate-registry gr' -d 'Generate a registry\'s package configuration'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate-registry gr' -f -l out-testdata -r -d 'A file path where the testdata is outputted'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate-registry gr' -f -l cmd -r -d 'A list of commands joined with commas \',\''
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate-registry gr' -f -l generate-config -s c -r -d 'A configuration file path'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate-registry gr' -f -l limit -s l -r -d 'the maximum number of versions'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate-registry gr' -f -l deep -d 'This flag was deprecated and had no meaning from aqua v2.15.0. This flag will be removed in aqua v3.0.0. https://github.com/aquaproj/aqua/issues/2351'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from generate-registry gr' -f -l init -d 'Generate a configuration file'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from version' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'version' -d 'Show version'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from root-dir' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'root-dir' -d 'Output the aqua root directory (AQUA_ROOT_DIR)'
|
||||
complete -c aqua -n '__fish_seen_subcommand_from help h' -f -l help -s h -d 'show help'
|
||||
complete -r -c aqua -n '__fish_aqua_no_subcommand' -a 'help h' -d 'Shows a list of commands or help for one command'
|
||||
|
||||
@@ -1,95 +0,0 @@
|
||||
function __fish_exa_install --on-event fish-exa_install
|
||||
function _set
|
||||
if not set --query --universal --export $argv[1]
|
||||
set --universal --export $argv[1] $argv[2..-1]
|
||||
end
|
||||
end
|
||||
|
||||
# Prefer eza as exa is unmaintained
|
||||
if type -q eza
|
||||
set -Ux __FISH_EXA_BINARY eza
|
||||
else
|
||||
set -Ux __FISH_EXA_BINARY exa
|
||||
end
|
||||
|
||||
set -Ux __FISH_EXA_BASE_ALIASES l ll lg le lt lc lo
|
||||
set -Ux __FISH_EXA_EXPANDED a d i id aa ad ai aid aad aai aaid
|
||||
set -Ux __FISH_EXA_EXPANDED_OPT_NAME LA LD LI LID LAA LAD LAI LAID LAAD LAAI LAAID
|
||||
set -Ux __FISH_EXA_OPT_NAMES
|
||||
set -Ux __FISH_EXA_ALIASES
|
||||
set -Ux __FISH_EXA_SORT_OPTIONS name .name size ext mod old acc cr inode
|
||||
|
||||
_set EXA_STANDARD_OPTIONS "--group" "--header" "--group-directories-first"
|
||||
|
||||
# Base aliases
|
||||
_set EXA_L_OPTIONS
|
||||
_set EXA_LL_OPTIONS "--long"
|
||||
_set EXA_LG_OPTIONS "--git" "--git-ignore" "--long"
|
||||
_set EXA_LE_OPTIONS "--extended" "--long"
|
||||
_set EXA_LT_OPTIONS "--tree" "--level"
|
||||
_set EXA_LC_OPTIONS "--across"
|
||||
_set EXA_LO_OPTIONS "--oneline"
|
||||
|
||||
# Extended aliases
|
||||
_set EXA_LI_OPTIONS "--icons"
|
||||
_set EXA_LD_OPTIONS "--only-dirs"
|
||||
_set EXA_LID_OPTIONS "--icons" "--only-dirs"
|
||||
_set EXA_LA_OPTIONS "--all" "--binary"
|
||||
_set EXA_LAD_OPTIONS "--all" "--binary" "--only-dirs"
|
||||
_set EXA_LAI_OPTIONS "--all" "--binary" "--icons"
|
||||
_set EXA_LAID_OPTIONS "--all" "--binary" "--icons" "--only-dirs"
|
||||
_set EXA_LAA_OPTIONS "--all" "--all" "--binary"
|
||||
_set EXA_LAAD_OPTIONS "--all" "--all" "--binary" "--only-dirs"
|
||||
_set EXA_LAAI_OPTIONS "--all" "--all" "--binary" "--icons"
|
||||
_set EXA_LAAID_OPTIONS "--all" "--all" "--binary" "--icons" "--only-dirs"
|
||||
|
||||
for a in $__FISH_EXA_BASE_ALIASES
|
||||
set -l opt_name (string join '_' "EXA" (string upper $a) "OPTIONS")
|
||||
if test $a = "ll"
|
||||
alias --save "$a" "exa_git"
|
||||
else
|
||||
alias --save "$a" "$__FISH_EXA_BINARY \$EXA_STANDARD_OPTIONS \$$opt_name"
|
||||
end
|
||||
set -a __FISH_EXA_OPT_NAMES "$opt_name"
|
||||
set -a __FISH_EXA_ALIASES "$a"
|
||||
|
||||
for i in (seq (count $__FISH_EXA_EXPANDED))
|
||||
set -l name "$a$__FISH_EXA_EXPANDED[$i]"
|
||||
# --tree is useless given --all --all
|
||||
if test $name = "ltaa"; or test $name = "ltaac"
|
||||
continue
|
||||
end
|
||||
set -l exp_opt_name (string join '_' "EXA" $__FISH_EXA_EXPANDED_OPT_NAME[$i] "OPTIONS")
|
||||
if string match --quiet 'll*' "$name"
|
||||
alias --save "$name" "exa_git \$$exp_opt_name"
|
||||
else
|
||||
alias --save "$name" "$__FISH_EXA_BINARY \$EXA_STANDARD_OPTIONS \$$exp_opt_name \$$opt_name"
|
||||
end
|
||||
set -a __FISH_EXA_ALIASES "$name"
|
||||
|
||||
if not contains $exp_opt_name $__FISH_EXA_OPT_NAMES
|
||||
set -a __FISH_EXA_OPT_NAMES $exp_opt_name
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function __fish_exa_update --on-event fish-exa_update
|
||||
__fish_exa_uninstall
|
||||
__fish_exa_install
|
||||
end
|
||||
|
||||
function __fish_exa_uninstall --on-event fish-exa_uninstall
|
||||
for a in $__FISH_EXA_ALIASES
|
||||
functions --erase $a
|
||||
funcsave $a
|
||||
end
|
||||
|
||||
set --erase __FISH_EXA_BASE_ALIASES
|
||||
set --erase __FISH_EXA_ALIASES
|
||||
set --erase __FISH_EXA_EXPANDED
|
||||
set --erase __FISH_EXA_EXPANDED_OPT_NAME
|
||||
set --erase __FISH_EXA_OPT_NAMES
|
||||
set --erase __FISH_EXA_SORT_OPTIONS
|
||||
set --erase __FISH_EXA_BINARY
|
||||
end
|
||||
@@ -2,14 +2,18 @@
|
||||
# │ fish/config.fish │
|
||||
# ╰──────────────────────────────────────────────────────────╯
|
||||
|
||||
# ASDF configuration code
|
||||
source $HOME/.local/asdf/asdf.fish
|
||||
test -e "$HOME/.config/fish/alias.fish" &&
|
||||
source "$HOME/.config/fish/alias.fish"
|
||||
|
||||
fish_add_path $HOME/.cargo/bin
|
||||
fish_add_path $HOME/.local/bin
|
||||
fish_add_path $HOME/.local/share/nvim/mason/bin
|
||||
fish_add_path $HOME/.local/state/composer/vendor/bin
|
||||
test -e "$HOME/.config/fish/exports.fish" &&
|
||||
source "$HOME/.config/fish/exports.fish"
|
||||
|
||||
if status is-interactive
|
||||
# Commands to run in interactive sessions can go here
|
||||
|
||||
# Start tmux if not already running and not in SSH
|
||||
open-tmux # defined in functions/open-tmux.fish
|
||||
end
|
||||
|
||||
# Added by LM Studio CLI (lms)
|
||||
set -gx PATH $PATH $HOME/.lmstudio/bin
|
||||
|
||||
183
config/fish/exports.fish
Normal file
183
config/fish/exports.fish
Normal file
@@ -0,0 +1,183 @@
|
||||
#!/usr/bin/env fish
|
||||
|
||||
# XDG Base Directory Specification
|
||||
set -q XDG_CONFIG_HOME; or set -x XDG_CONFIG_HOME "$HOME/.config"
|
||||
set -q XDG_DATA_HOME; or set -x XDG_DATA_HOME "$HOME/.local/share"
|
||||
set -q XDG_CACHE_HOME; or set -x XDG_CACHE_HOME "$HOME/.cache"
|
||||
set -q XDG_STATE_HOME; or set -x XDG_STATE_HOME "$HOME/.local/state"
|
||||
set -q XDG_BIN_HOME; or set -x XDG_BIN_HOME "$HOME/.local/bin"
|
||||
set -q XDG_RUNTIME_DIR; or set -x XDG_RUNTIME_DIR "$HOME/.local/run"
|
||||
|
||||
# Dotfiles directory
|
||||
set -q DOTFILES; or set -x DOTFILES "$HOME/.dotfiles"
|
||||
|
||||
# Editor settings
|
||||
set -q EDITOR; or set -x EDITOR "nvim"
|
||||
set -q VISUAL; or set -x VISUAL "code"
|
||||
set -q HOSTNAME; or set -x HOSTNAME (hostname -s)
|
||||
|
||||
# Add local bin to path
|
||||
fish_add_path "$XDG_BIN_HOME"
|
||||
|
||||
# Add cargo bin to path
|
||||
fish_add_path "$XDG_SHARE_HOME/cargo/bin"
|
||||
|
||||
# Set Aqua configuration
|
||||
set -q AQUA_BIN; or set -x AQUA_BIN "$XDG_DATA_HOME/aquaproj-aqua/bin"
|
||||
set -q AQUA_CONFIG; or set -x AQUA_CONFIG "$XDG_CONFIG_HOME/aqua/aqua.yaml"
|
||||
set -gx PATH $AQUA_BIN $PATH
|
||||
|
||||
|
||||
# NPM configuration
|
||||
set -q NPM_CONFIG_PREFIX; or set -x NPM_CONFIG_PREFIX "$XDG_DATA_HOME/npm"
|
||||
fish_add_path "$NPM_CONFIG_PREFIX/bin"
|
||||
|
||||
# Yarn configuration
|
||||
set -q YARN_GLOBAL_FOLDER; or set -x YARN_GLOBAL_FOLDER "$XDG_DATA_HOME/yarn"
|
||||
fish_add_path "$YARN_GLOBAL_FOLDER/bin"
|
||||
|
||||
# Mason configuration
|
||||
set -q MASON_HOME; or set -x MASON_HOME "$XDG_DATA_HOME/nvim/mason"
|
||||
fish_add_path "$MASON_HOME/bin"
|
||||
|
||||
# Set Neovim environment variables
|
||||
test -z "$NVIM_STATE" && set -x NVIM_STATE "$XDG_STATE_HOME/nvim"
|
||||
test -z "$NVIM_CONFIG_HOME" && set -x NVIM_CONFIG_HOME "$XDG_CONFIG_HOME/nvim"
|
||||
test -z "$NVIM_DATA_HOME" && set -x NVIM_DATA_HOME "$XDG_DATA_HOME/nvim"
|
||||
test -z "$NVIM_CACHE_HOME" && set -x NVIM_CACHE_HOME "$XDG_CACHE_HOME/nvim"
|
||||
test -z "$NVIM_LOG_PATH" && set -x NVIM_LOG_PATH "$NVIM_STATE/log"
|
||||
test -z "$NVIM_SESSION_PATH" && set -x NVIM_SESSION_PATH "$NVIM_STATE/session"
|
||||
test -z "$NVIM_SHADA_PATH" && set -x NVIM_SHADA_PATH "$NVIM_STATE/shada"
|
||||
test -z "$NVIM_UNDO_PATH" && set -x NVIM_UNDO_PATH "$NVIM_STATE/undo"
|
||||
|
||||
# Ansible configuration
|
||||
set -q ANSIBLE_HOME; or set -x ANSIBLE_HOME "$XDG_CONFIG_HOME/ansible"
|
||||
set -q ANSIBLE_CONFIG; or set -x ANSIBLE_CONFIG "$ANSIBLE_HOME/ansible.cfg"
|
||||
set -q ANSIBLE_GALAXY_CACHE_DIR; or set -x ANSIBLE_GALAXY_CACHE_DIR "$XDG_CACHE_HOME/ansible/galaxy_cache"
|
||||
x-dc "$ANSIBLE_HOME"
|
||||
x-dc "$ANSIBLE_GALAXY_CACHE_DIR"
|
||||
|
||||
# AWS configuration
|
||||
set -q AWS_CONFIG_FILE; or set -x AWS_CONFIG_FILE "$XDG_STATE_HOME/aws/config"
|
||||
set -q AWS_SHARED_CREDENTIALS_FILE; or set -x AWS_SHARED_CREDENTIALS_FILE "$XDG_STATE_HOME/aws/credentials"
|
||||
set -q AWS_SESSION_TOKEN; or set -x AWS_SESSION_TOKEN "$XDG_STATE_HOME/aws/session_token"
|
||||
set -q AWS_DATA_PATH; or set -x AWS_DATA_PATH "$XDG_DATA_HOME/aws"
|
||||
set -q AWS_DEFAULT_OUTPUT; or set -x AWS_DEFAULT_OUTPUT "table"
|
||||
set -q AWS_CONFIGURE_KEYS; or set -x AWS_CONFIGURE_KEYS "true"
|
||||
set -q AWS_CONFIGURE_SESSION; or set -x AWS_CONFIGURE_SESSION "true"
|
||||
set -q AWS_CONFIGURE_SESSION_DURATION; or set -x AWS_CONFIGURE_SESSION_DURATION "7200"
|
||||
set -q AWS_CONFIGURE_SESSION_MFA; or set -x AWS_CONFIGURE_SESSION_MFA "true"
|
||||
set -q AWS_CONFIGURE_PROFILE; or set -x AWS_CONFIGURE_PROFILE "true"
|
||||
set -q AWS_CONFIGURE_PROMPT; or set -x AWS_CONFIGURE_PROMPT "true"
|
||||
set -q AWS_CONFIGURE_PROMPT_DEFAULT; or set -x AWS_CONFIGURE_PROMPT_DEFAULT "true"
|
||||
|
||||
# Brew configuration
|
||||
set -q HOMEBREW_NO_ANALYTICS; or set -x HOMEBREW_NO_ANALYTICS "true"
|
||||
set -q HOMEBREW_NO_ENV_HINTS; or set -x HOMEBREW_NO_ENV_HINTS "true"
|
||||
set -q HOMEBREW_BUNDLE_MAS_SKIP; or set -x HOMEBREW_BUNDLE_MAS_SKIP "true"
|
||||
set -q HOMEBREW_BUNDLE_FILE; or set -x HOMEBREW_BUNDLE_FILE "$XDG_CONFIG_HOME/homebrew/Brewfile"
|
||||
|
||||
# Composer configuration
|
||||
set -q COMPOSER_HOME; or set -x COMPOSER_HOME "$XDG_STATE_HOME/composer"
|
||||
set -q COMPOSER_BIN; or set -x COMPOSER_BIN "$COMPOSER_HOME/vendor/bin"
|
||||
fish_add_path "$COMPOSER_BIN"
|
||||
|
||||
# direnv configuration
|
||||
set -q DIRENV_LOG_FORMAT; or set -x DIRENV_LOG_FORMAT ''
|
||||
|
||||
# Docker configuration
|
||||
set -q DOCKER_CONFIG; or set -x DOCKER_CONFIG "$XDG_CONFIG_HOME/docker"
|
||||
x-dc "$DOCKER_CONFIG"
|
||||
set -q DOCKER_HIDE_LEGACY_COMMANDS; or set -x DOCKER_HIDE_LEGACY_COMMANDS "true"
|
||||
set -q DOCKER_SCAN_SUGGEST; or set -x DOCKER_SCAN_SUGGEST "false"
|
||||
|
||||
# fzf configuration
|
||||
set -q FZF_BASE; or set -x FZF_BASE "$XDG_CONFIG_HOME/fzf"
|
||||
set -q FZF_DEFAULT_OPTS; or set -x FZF_DEFAULT_OPTS '--height 40% --tmux bottom,40% --layout reverse --border top'
|
||||
|
||||
# GnuPG configuration
|
||||
set -q GNUPGHOME; or set -x GNUPGHOME "$XDG_DATA_HOME/gnupg"
|
||||
|
||||
# Go configuration
|
||||
set -q GOPATH; or set -x GOPATH "$XDG_DATA_HOME/go"
|
||||
set -q GOBIN; or set -x GOBIN "$XDG_BIN_HOME"
|
||||
fish_add_path "$GOBIN"
|
||||
|
||||
# NPM: Add npm packages to path
|
||||
if x-have node;
|
||||
set -x NVM_NODE_BIN_DIR (dirname (which node))
|
||||
fish_add_path "$NVM_NODE_BIN_DIR"
|
||||
end
|
||||
|
||||
# 1Password configuration
|
||||
set -q OP_CACHE; or set -x OP_CACHE "$XDG_STATE_HOME/1password"
|
||||
|
||||
# Python configuration
|
||||
set -q WORKON_HOME; or set -x WORKON_HOME "$XDG_DATA_HOME/virtualenvs"
|
||||
set -q PYENV_ROOT; or set -x PYENV_ROOT "$XDG_DATA_HOME/pyenv"
|
||||
fish_add_path "$PYENV_ROOT/bin"
|
||||
if x-have pyenv; and not functions -q pyenv
|
||||
status --is-interactive; and source (pyenv init - | psub)
|
||||
end
|
||||
|
||||
# Poetry configuration
|
||||
set -q POETRY_HOME; or set -x POETRY_HOME "$XDG_DATA_HOME/poetry"
|
||||
fish_add_path "$POETRY_HOME/bin"
|
||||
|
||||
# Rust / cargo configuration
|
||||
set -q CARGO_HOME; or set -x CARGO_HOME "$XDG_DATA_HOME/cargo"
|
||||
set -q CARGO_BIN_HOME; or set -x CARGO_BIN_HOME "$XDG_BIN_HOME"
|
||||
set -q RUSTUP_HOME; or set -x RUSTUP_HOME "$XDG_DATA_HOME/rustup"
|
||||
set -x RUST_WITHOUT "clippy,docs,rls"
|
||||
fish_add_path "$CARGO_BIN_HOME"
|
||||
fish_add_path "$CARGO_HOME/bin"
|
||||
fish_add_path "$XDG_SHARE_HOME/bob/nvim-bin"
|
||||
|
||||
# screen configuration
|
||||
set -q SCREENRC; or set -x SCREENRC "$XDG_CONFIG_HOME/misc/screenrc"
|
||||
|
||||
# Sonarlint configuration
|
||||
set -q SONARLINT_HOME; or set -x SONARLINT_HOME "$XDG_DATA_HOME/sonarlint"
|
||||
set -q SONARLINT_BIN; or set -x SONARLINT_BIN "$XDG_BIN_HOME"
|
||||
set -q SONARLINT_USER_HOME; or set -x SONARLINT_USER_HOME "$XDG_DATA_HOME/sonarlint"
|
||||
|
||||
# Terraform configuration
|
||||
set -q TF_DATA_DIR; or set -x TF_DATA_DIR "$XDG_STATE_HOME/terraform"
|
||||
set -q TF_CLI_CONFIG_FILE; or set -x TF_CLI_CONFIG_FILE "$XDG_CONFIG_HOME/terraform/terraformrc"
|
||||
set -q TF_PLUGIN_CACHE_DIR; or set -x TF_PLUGIN_CACHE_DIR "$XDG_CACHE_HOME/terraform/plugin-cache"
|
||||
|
||||
# tmux configuration
|
||||
set -q TMUX_TMPDIR; or set -x TMUX_TMPDIR "$XDG_STATE_HOME/tmux"
|
||||
set -q TMUX_CONF_DIR; or set -x TMUX_CONF_DIR "$XDG_CONFIG_HOME/tmux"
|
||||
set -q TMUX_PLUGINS; or set -x TMUX_PLUGINS "$TMUX_CONF_DIR/plugins"
|
||||
set -q TMUX_CONF; or set -x TMUX_CONF "$TMUX_CONF_DIR/tmux.conf"
|
||||
set -q TMUX_PLUGIN_MANAGER_PATH; or set -x TMUX_PLUGIN_MANAGER_PATH "$TMUX_PLUGINS"
|
||||
|
||||
# Source tmux theme activation script for Fish shell
|
||||
if test -f "$DOTFILES/config/tmux/theme-activate.fish"
|
||||
source "$DOTFILES/config/tmux/theme-activate.fish"
|
||||
end
|
||||
|
||||
# tms configuration
|
||||
set -q TMS_CONFIG_FILE; or set -x TMS_CONFIG_FILE "$XDG_CONFIG_HOME/tms/config.toml"
|
||||
|
||||
# wakatime configuration
|
||||
set -q WAKATIME_HOME; or set -x WAKATIME_HOME "$XDG_STATE_HOME/wakatime"
|
||||
x-dc "$WAKATIME_HOME"
|
||||
|
||||
# Miscellaneous configuration
|
||||
set -q CHEAT_USE_FZF; or set -x CHEAT_USE_FZF "true"
|
||||
set -q SQLITE_HISTORY; or set -x SQLITE_HISTORY "$XDG_CACHE_HOME/sqlite/sqlite_history"
|
||||
|
||||
# Source additional configuration files if they exist
|
||||
if test -f "$DOTFILES/config/fish/exports-secret.fish"
|
||||
source "$DOTFILES/config/fish/exports-secret.fish"
|
||||
end
|
||||
|
||||
if test -f "$DOTFILES/hosts/$HOSTNAME/config/fish/exports.fish"
|
||||
source "$DOTFILES/hosts/$HOSTNAME/config/fish/exports.fish"
|
||||
end
|
||||
|
||||
if test -f "$DOTFILES/hosts/$HOSTNAME/config/fish/exports-secret.fish"
|
||||
source "$DOTFILES/hosts/$HOSTNAME/config/fish/exports-secret.fish"
|
||||
end
|
||||
@@ -3,8 +3,7 @@ jorgebucaran/nvm.fish
|
||||
ilancosman/tide@v6
|
||||
jethrokuan/z
|
||||
halostatue/fish-macos@v7
|
||||
ehfive/fish-bash2env
|
||||
jgusta/paths
|
||||
danhper/fish-ssh-agent
|
||||
halostatue/fish-brew@v3
|
||||
gazorby/fish-exa
|
||||
edc/bass
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
function .c --wraps='cd ~/Code' --description 'alias .c=cd ~/Code'
|
||||
cd ~/Code $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function .d --wraps='cd ~/.dotfiles' --description 'alias .d=cd ~/.dotfiles'
|
||||
cd ~/.dotfiles $argv
|
||||
|
||||
end
|
||||
@@ -1,56 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (c) 2022 Huang-Huang Bao
|
||||
#
|
||||
# This software is released under the MIT License.
|
||||
# https://opensource.org/licenses/MIT
|
||||
|
||||
# shellcheck disable=SC2076
|
||||
set -e
|
||||
|
||||
disallowd_vars_arr=(
|
||||
_
|
||||
fish_kill_signal
|
||||
fish_killring
|
||||
fish_pid
|
||||
history
|
||||
hostname
|
||||
PWD
|
||||
pipestatus
|
||||
SHLVL
|
||||
status
|
||||
status_generation
|
||||
version
|
||||
)
|
||||
disallowd_vars=" ${disallowd_vars_arr[*]} "
|
||||
|
||||
fish_escape() {
|
||||
value="${1//\\/\\\\}"
|
||||
value="${value//\'/\\\'}"
|
||||
echo "'${value}'"
|
||||
}
|
||||
|
||||
flag_impure="$__FISH_BASH2ENV_IMPURE"
|
||||
unset __FISH_BASH2ENV_IMPURE
|
||||
|
||||
if [[ -z "$flag_impure" ]]; then
|
||||
old_env=" $(env -0 | tr '\0' ' ') "
|
||||
fi
|
||||
|
||||
eval_status=
|
||||
eval "$*" 1>&2 || eval_status=$?
|
||||
|
||||
env -0 | while IFS= read -rs -d $'\0' line; do
|
||||
if [[ -z "$flag_impure" && "${old_env}" =~ " ${line} " ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
name="${line%%=*}"
|
||||
if [[ "${disallowd_vars}" =~ " ${name} " ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
value="$(fish_escape "${line#*=}")"
|
||||
echo "set -gx ${name} ${value}"
|
||||
done
|
||||
|
||||
exit $eval_status
|
||||
140
config/fish/functions/__bass.py
Normal file
140
config/fish/functions/__bass.py
Normal file
@@ -0,0 +1,140 @@
|
||||
"""
|
||||
To be used with a companion fish function like this:
|
||||
|
||||
function refish
|
||||
set -l _x (python /tmp/bass.py source ~/.nvm/nvim.sh ';' nvm use iojs); source $_x; and rm -f $_x
|
||||
end
|
||||
|
||||
"""
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
import json
|
||||
import os
|
||||
import signal
|
||||
import subprocess
|
||||
import sys
|
||||
import traceback
|
||||
|
||||
|
||||
BASH = 'bash'
|
||||
|
||||
FISH_READONLY = [
|
||||
'PWD', 'SHLVL', 'history', 'pipestatus', 'status', 'version',
|
||||
'FISH_VERSION', 'fish_pid', 'hostname', '_', 'fish_private_mode'
|
||||
]
|
||||
|
||||
IGNORED = [
|
||||
'PS1', 'XPC_SERVICE_NAME'
|
||||
]
|
||||
|
||||
def ignored(name):
|
||||
if name == 'PWD': # this is read only, but has special handling
|
||||
return False
|
||||
# ignore other read only variables
|
||||
if name in FISH_READONLY:
|
||||
return True
|
||||
if name in IGNORED or name.startswith("BASH_FUNC"):
|
||||
return True
|
||||
if name.startswith('%'):
|
||||
return True
|
||||
return False
|
||||
|
||||
def escape(string):
|
||||
# use json.dumps to reliably escape quotes and backslashes
|
||||
return json.dumps(string).replace(r'$', r'\$')
|
||||
|
||||
def escape_identifier(word):
|
||||
return escape(word.replace('?', '\\?'))
|
||||
|
||||
def comment(string):
|
||||
return '\n'.join(['# ' + line for line in string.split('\n')])
|
||||
|
||||
def gen_script():
|
||||
# Use the following instead of /usr/bin/env to read environment so we can
|
||||
# deal with multi-line environment variables (and other odd cases).
|
||||
env_reader = "%s -c 'import os,json; print(json.dumps({k:v for k,v in os.environ.items()}))'" % (sys.executable)
|
||||
args = [BASH, '-c', env_reader]
|
||||
output = subprocess.check_output(args, universal_newlines=True)
|
||||
old_env = output.strip()
|
||||
|
||||
pipe_r, pipe_w = os.pipe()
|
||||
if sys.version_info >= (3, 4):
|
||||
os.set_inheritable(pipe_w, True)
|
||||
command = 'eval $1 && ({}; alias) >&{}'.format(
|
||||
env_reader,
|
||||
pipe_w
|
||||
)
|
||||
args = [BASH, '-c', command, 'bass', ' '.join(sys.argv[1:])]
|
||||
p = subprocess.Popen(args, universal_newlines=True, close_fds=False)
|
||||
os.close(pipe_w)
|
||||
with os.fdopen(pipe_r) as f:
|
||||
new_env = f.readline()
|
||||
alias_str = f.read()
|
||||
if p.wait() != 0:
|
||||
raise subprocess.CalledProcessError(
|
||||
returncode=p.returncode,
|
||||
cmd=' '.join(sys.argv[1:]),
|
||||
output=new_env + alias_str
|
||||
)
|
||||
new_env = new_env.strip()
|
||||
|
||||
old_env = json.loads(old_env)
|
||||
new_env = json.loads(new_env)
|
||||
|
||||
script_lines = []
|
||||
|
||||
for k, v in new_env.items():
|
||||
if ignored(k):
|
||||
continue
|
||||
v1 = old_env.get(k)
|
||||
if not v1:
|
||||
script_lines.append(comment('adding %s=%s' % (k, v)))
|
||||
elif v1 != v:
|
||||
script_lines.append(comment('updating %s=%s -> %s' % (k, v1, v)))
|
||||
# process special variables
|
||||
if k == 'PWD':
|
||||
script_lines.append('cd %s' % escape(v))
|
||||
continue
|
||||
else:
|
||||
continue
|
||||
if k == 'PATH':
|
||||
value = ' '.join([escape(directory)
|
||||
for directory in v.split(':')])
|
||||
else:
|
||||
value = escape(v)
|
||||
script_lines.append('set -g -x %s %s' % (k, value))
|
||||
|
||||
for var in set(old_env.keys()) - set(new_env.keys()):
|
||||
script_lines.append(comment('removing %s' % var))
|
||||
script_lines.append('set -e %s' % var)
|
||||
|
||||
script = '\n'.join(script_lines)
|
||||
|
||||
alias_lines = []
|
||||
for line in alias_str.splitlines():
|
||||
_, rest = line.split(None, 1)
|
||||
k, v = rest.split("=", 1)
|
||||
alias_lines.append("alias " + escape_identifier(k) + "=" + v)
|
||||
alias = '\n'.join(alias_lines)
|
||||
|
||||
return script + '\n' + alias
|
||||
|
||||
script_file = os.fdopen(3, 'w')
|
||||
|
||||
if not sys.argv[1:]:
|
||||
print('__bass_usage', file=script_file, end='')
|
||||
sys.exit(0)
|
||||
|
||||
try:
|
||||
script = gen_script()
|
||||
except subprocess.CalledProcessError as e:
|
||||
sys.exit(e.returncode)
|
||||
except Exception:
|
||||
print('Bass internal error!', file=sys.stderr)
|
||||
raise # traceback will output to stderr
|
||||
except KeyboardInterrupt:
|
||||
signal.signal(signal.SIGINT, signal.SIG_DFL)
|
||||
os.kill(os.getpid(), signal.SIGINT)
|
||||
else:
|
||||
script_file.write(script)
|
||||
@@ -1,39 +0,0 @@
|
||||
# Copyright (c) 2022 Huang-Huang Bao
|
||||
#
|
||||
# This software is released under the MIT License.
|
||||
# https://opensource.org/licenses/MIT
|
||||
|
||||
function bash2env -d "Import environment variables modified by given bash command"
|
||||
argparse --stop-nonopt h/help i/impure -- $argv
|
||||
or set argv
|
||||
|
||||
function _print_usage
|
||||
echo 'Usage:' \
|
||||
(set_color $fish_color_command)'bash2env' \
|
||||
(set_color $fish_color_normal)'[-i/--impure]' \
|
||||
(set_color $fish_color_param)"<bash command>"
|
||||
end
|
||||
|
||||
if test -n "$_flag_help"
|
||||
_print_usage
|
||||
return
|
||||
end
|
||||
if test (count $argv) -eq 0
|
||||
_print_usage
|
||||
return 22
|
||||
end
|
||||
|
||||
if test -n "$_flag_impure"
|
||||
set _flag_impure 1
|
||||
end
|
||||
|
||||
set -l DIR (dirname (status -f))
|
||||
__FISH_BASH2ENV_IMPURE=$_flag_impure command \
|
||||
bash $DIR/__bash2env.sh $argv | source
|
||||
|
||||
for code in $pipestatus
|
||||
if test $code != 0
|
||||
return $code
|
||||
end
|
||||
end
|
||||
end
|
||||
29
config/fish/functions/bass.fish
Normal file
29
config/fish/functions/bass.fish
Normal file
@@ -0,0 +1,29 @@
|
||||
function bass
|
||||
set -l bash_args $argv
|
||||
set -l bass_debug
|
||||
if test "$bash_args[1]_" = '-d_'
|
||||
set bass_debug true
|
||||
set -e bash_args[1]
|
||||
end
|
||||
|
||||
set -l script_file (mktemp)
|
||||
if command -v python3 >/dev/null 2>&1
|
||||
command python3 -sS (dirname (status -f))/__bass.py $bash_args 3>$script_file
|
||||
else
|
||||
command python -sS (dirname (status -f))/__bass.py $bash_args 3>$script_file
|
||||
end
|
||||
set -l bass_status $status
|
||||
if test $bass_status -ne 0
|
||||
return $bass_status
|
||||
end
|
||||
|
||||
if test -n "$bass_debug"
|
||||
cat $script_file
|
||||
end
|
||||
source $script_file
|
||||
command rm $script_file
|
||||
end
|
||||
|
||||
function __bass_usage
|
||||
echo "Usage: bass [-d] <bash-command>"
|
||||
end
|
||||
@@ -1,7 +0,0 @@
|
||||
function exa_git -d "Use exa and its git options if in a git repo"
|
||||
if git rev-parse --is-inside-work-tree &>/dev/null
|
||||
$__FISH_EXA_BINARY $EXA_STANDARD_OPTIONS {$EXA_LL_OPTIONS} --git $argv
|
||||
else
|
||||
$__FISH_EXA_BINARY $EXA_STANDARD_OPTIONS {$EXA_LL_OPTIONS} $argv
|
||||
end
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function l --wraps='eza $EXA_STANDARD_OPTIONS $EXA_L_OPTIONS' --description 'alias l eza $EXA_STANDARD_OPTIONS $EXA_L_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_L_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function la --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LA_OPTIONS $EXA_L_OPTIONS' --description 'alias la eza $EXA_STANDARD_OPTIONS $EXA_LA_OPTIONS $EXA_L_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LA_OPTIONS $EXA_L_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function laa --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAA_OPTIONS $EXA_L_OPTIONS' --description 'alias laa eza $EXA_STANDARD_OPTIONS $EXA_LAA_OPTIONS $EXA_L_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAA_OPTIONS $EXA_L_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function laad --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAAD_OPTIONS $EXA_L_OPTIONS' --description 'alias laad eza $EXA_STANDARD_OPTIONS $EXA_LAAD_OPTIONS $EXA_L_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAAD_OPTIONS $EXA_L_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function laai --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAAI_OPTIONS $EXA_L_OPTIONS' --description 'alias laai eza $EXA_STANDARD_OPTIONS $EXA_LAAI_OPTIONS $EXA_L_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAAI_OPTIONS $EXA_L_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function laaid --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAAID_OPTIONS $EXA_L_OPTIONS' --description 'alias laaid eza $EXA_STANDARD_OPTIONS $EXA_LAAID_OPTIONS $EXA_L_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAAID_OPTIONS $EXA_L_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lad --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAD_OPTIONS $EXA_L_OPTIONS' --description 'alias lad eza $EXA_STANDARD_OPTIONS $EXA_LAD_OPTIONS $EXA_L_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAD_OPTIONS $EXA_L_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lai --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAI_OPTIONS $EXA_L_OPTIONS' --description 'alias lai eza $EXA_STANDARD_OPTIONS $EXA_LAI_OPTIONS $EXA_L_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAI_OPTIONS $EXA_L_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function laid --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAID_OPTIONS $EXA_L_OPTIONS' --description 'alias laid eza $EXA_STANDARD_OPTIONS $EXA_LAID_OPTIONS $EXA_L_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAID_OPTIONS $EXA_L_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lc --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LC_OPTIONS' --description 'alias lc eza $EXA_STANDARD_OPTIONS $EXA_LC_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LC_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lca --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LA_OPTIONS $EXA_LC_OPTIONS' --description 'alias lca eza $EXA_STANDARD_OPTIONS $EXA_LA_OPTIONS $EXA_LC_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LA_OPTIONS $EXA_LC_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lcaa --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAA_OPTIONS $EXA_LC_OPTIONS' --description 'alias lcaa eza $EXA_STANDARD_OPTIONS $EXA_LAA_OPTIONS $EXA_LC_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAA_OPTIONS $EXA_LC_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lcaad --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAAD_OPTIONS $EXA_LC_OPTIONS' --description 'alias lcaad eza $EXA_STANDARD_OPTIONS $EXA_LAAD_OPTIONS $EXA_LC_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAAD_OPTIONS $EXA_LC_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lcaai --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAAI_OPTIONS $EXA_LC_OPTIONS' --description 'alias lcaai eza $EXA_STANDARD_OPTIONS $EXA_LAAI_OPTIONS $EXA_LC_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAAI_OPTIONS $EXA_LC_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lcaaid --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAAID_OPTIONS $EXA_LC_OPTIONS' --description 'alias lcaaid eza $EXA_STANDARD_OPTIONS $EXA_LAAID_OPTIONS $EXA_LC_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAAID_OPTIONS $EXA_LC_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lcad --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAD_OPTIONS $EXA_LC_OPTIONS' --description 'alias lcad eza $EXA_STANDARD_OPTIONS $EXA_LAD_OPTIONS $EXA_LC_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAD_OPTIONS $EXA_LC_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lcai --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAI_OPTIONS $EXA_LC_OPTIONS' --description 'alias lcai eza $EXA_STANDARD_OPTIONS $EXA_LAI_OPTIONS $EXA_LC_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAI_OPTIONS $EXA_LC_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lcaid --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAID_OPTIONS $EXA_LC_OPTIONS' --description 'alias lcaid eza $EXA_STANDARD_OPTIONS $EXA_LAID_OPTIONS $EXA_LC_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAID_OPTIONS $EXA_LC_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lcd --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LD_OPTIONS $EXA_LC_OPTIONS' --description 'alias lcd eza $EXA_STANDARD_OPTIONS $EXA_LD_OPTIONS $EXA_LC_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LD_OPTIONS $EXA_LC_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lci --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LI_OPTIONS $EXA_LC_OPTIONS' --description 'alias lci eza $EXA_STANDARD_OPTIONS $EXA_LI_OPTIONS $EXA_LC_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LI_OPTIONS $EXA_LC_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lcid --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LID_OPTIONS $EXA_LC_OPTIONS' --description 'alias lcid eza $EXA_STANDARD_OPTIONS $EXA_LID_OPTIONS $EXA_LC_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LID_OPTIONS $EXA_LC_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function ld --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LD_OPTIONS $EXA_L_OPTIONS' --description 'alias ld eza $EXA_STANDARD_OPTIONS $EXA_LD_OPTIONS $EXA_L_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LD_OPTIONS $EXA_L_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function le --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LE_OPTIONS' --description 'alias le eza $EXA_STANDARD_OPTIONS $EXA_LE_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LE_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lea --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LA_OPTIONS $EXA_LE_OPTIONS' --description 'alias lea eza $EXA_STANDARD_OPTIONS $EXA_LA_OPTIONS $EXA_LE_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LA_OPTIONS $EXA_LE_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function leaa --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAA_OPTIONS $EXA_LE_OPTIONS' --description 'alias leaa eza $EXA_STANDARD_OPTIONS $EXA_LAA_OPTIONS $EXA_LE_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAA_OPTIONS $EXA_LE_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function leaad --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAAD_OPTIONS $EXA_LE_OPTIONS' --description 'alias leaad eza $EXA_STANDARD_OPTIONS $EXA_LAAD_OPTIONS $EXA_LE_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAAD_OPTIONS $EXA_LE_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function leaai --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAAI_OPTIONS $EXA_LE_OPTIONS' --description 'alias leaai eza $EXA_STANDARD_OPTIONS $EXA_LAAI_OPTIONS $EXA_LE_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAAI_OPTIONS $EXA_LE_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function leaaid --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAAID_OPTIONS $EXA_LE_OPTIONS' --description 'alias leaaid eza $EXA_STANDARD_OPTIONS $EXA_LAAID_OPTIONS $EXA_LE_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAAID_OPTIONS $EXA_LE_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lead --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAD_OPTIONS $EXA_LE_OPTIONS' --description 'alias lead eza $EXA_STANDARD_OPTIONS $EXA_LAD_OPTIONS $EXA_LE_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAD_OPTIONS $EXA_LE_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function leai --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAI_OPTIONS $EXA_LE_OPTIONS' --description 'alias leai eza $EXA_STANDARD_OPTIONS $EXA_LAI_OPTIONS $EXA_LE_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAI_OPTIONS $EXA_LE_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function leaid --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAID_OPTIONS $EXA_LE_OPTIONS' --description 'alias leaid eza $EXA_STANDARD_OPTIONS $EXA_LAID_OPTIONS $EXA_LE_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAID_OPTIONS $EXA_LE_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function led --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LD_OPTIONS $EXA_LE_OPTIONS' --description 'alias led eza $EXA_STANDARD_OPTIONS $EXA_LD_OPTIONS $EXA_LE_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LD_OPTIONS $EXA_LE_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lei --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LI_OPTIONS $EXA_LE_OPTIONS' --description 'alias lei eza $EXA_STANDARD_OPTIONS $EXA_LI_OPTIONS $EXA_LE_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LI_OPTIONS $EXA_LE_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function leid --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LID_OPTIONS $EXA_LE_OPTIONS' --description 'alias leid eza $EXA_STANDARD_OPTIONS $EXA_LID_OPTIONS $EXA_LE_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LID_OPTIONS $EXA_LE_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lg --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LG_OPTIONS' --description 'alias lg eza $EXA_STANDARD_OPTIONS $EXA_LG_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LG_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lga --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LA_OPTIONS $EXA_LG_OPTIONS' --description 'alias lga eza $EXA_STANDARD_OPTIONS $EXA_LA_OPTIONS $EXA_LG_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LA_OPTIONS $EXA_LG_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lgaa --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAA_OPTIONS $EXA_LG_OPTIONS' --description 'alias lgaa eza $EXA_STANDARD_OPTIONS $EXA_LAA_OPTIONS $EXA_LG_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAA_OPTIONS $EXA_LG_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lgaad --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAAD_OPTIONS $EXA_LG_OPTIONS' --description 'alias lgaad eza $EXA_STANDARD_OPTIONS $EXA_LAAD_OPTIONS $EXA_LG_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAAD_OPTIONS $EXA_LG_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lgaai --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAAI_OPTIONS $EXA_LG_OPTIONS' --description 'alias lgaai eza $EXA_STANDARD_OPTIONS $EXA_LAAI_OPTIONS $EXA_LG_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAAI_OPTIONS $EXA_LG_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lgaaid --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAAID_OPTIONS $EXA_LG_OPTIONS' --description 'alias lgaaid eza $EXA_STANDARD_OPTIONS $EXA_LAAID_OPTIONS $EXA_LG_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAAID_OPTIONS $EXA_LG_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lgad --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAD_OPTIONS $EXA_LG_OPTIONS' --description 'alias lgad eza $EXA_STANDARD_OPTIONS $EXA_LAD_OPTIONS $EXA_LG_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAD_OPTIONS $EXA_LG_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lgai --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAI_OPTIONS $EXA_LG_OPTIONS' --description 'alias lgai eza $EXA_STANDARD_OPTIONS $EXA_LAI_OPTIONS $EXA_LG_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAI_OPTIONS $EXA_LG_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lgaid --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAID_OPTIONS $EXA_LG_OPTIONS' --description 'alias lgaid eza $EXA_STANDARD_OPTIONS $EXA_LAID_OPTIONS $EXA_LG_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAID_OPTIONS $EXA_LG_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lgd --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LD_OPTIONS $EXA_LG_OPTIONS' --description 'alias lgd eza $EXA_STANDARD_OPTIONS $EXA_LD_OPTIONS $EXA_LG_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LD_OPTIONS $EXA_LG_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lgi --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LI_OPTIONS $EXA_LG_OPTIONS' --description 'alias lgi eza $EXA_STANDARD_OPTIONS $EXA_LI_OPTIONS $EXA_LG_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LI_OPTIONS $EXA_LG_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lgid --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LID_OPTIONS $EXA_LG_OPTIONS' --description 'alias lgid eza $EXA_STANDARD_OPTIONS $EXA_LID_OPTIONS $EXA_LG_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LID_OPTIONS $EXA_LG_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function li --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LI_OPTIONS $EXA_L_OPTIONS' --description 'alias li eza $EXA_STANDARD_OPTIONS $EXA_LI_OPTIONS $EXA_L_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LI_OPTIONS $EXA_L_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lid --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LID_OPTIONS $EXA_L_OPTIONS' --description 'alias lid eza $EXA_STANDARD_OPTIONS $EXA_LID_OPTIONS $EXA_L_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LID_OPTIONS $EXA_L_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function ll --wraps=ls --wraps=exa_git --description 'alias ll exa_git'
|
||||
exa_git $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lla --wraps='exa_git $EXA_LA_OPTIONS' --description 'alias lla exa_git $EXA_LA_OPTIONS'
|
||||
exa_git $EXA_LA_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function llaa --wraps='exa_git $EXA_LAA_OPTIONS' --description 'alias llaa exa_git $EXA_LAA_OPTIONS'
|
||||
exa_git $EXA_LAA_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function llaad --wraps='exa_git $EXA_LAAD_OPTIONS' --description 'alias llaad exa_git $EXA_LAAD_OPTIONS'
|
||||
exa_git $EXA_LAAD_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function llaai --wraps='exa_git $EXA_LAAI_OPTIONS' --description 'alias llaai exa_git $EXA_LAAI_OPTIONS'
|
||||
exa_git $EXA_LAAI_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function llaaid --wraps='exa_git $EXA_LAAID_OPTIONS' --description 'alias llaaid exa_git $EXA_LAAID_OPTIONS'
|
||||
exa_git $EXA_LAAID_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function llad --wraps='exa_git $EXA_LAD_OPTIONS' --description 'alias llad exa_git $EXA_LAD_OPTIONS'
|
||||
exa_git $EXA_LAD_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function llai --wraps='exa_git $EXA_LAI_OPTIONS' --description 'alias llai exa_git $EXA_LAI_OPTIONS'
|
||||
exa_git $EXA_LAI_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function llaid --wraps='exa_git $EXA_LAID_OPTIONS' --description 'alias llaid exa_git $EXA_LAID_OPTIONS'
|
||||
exa_git $EXA_LAID_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lld --wraps='exa_git $EXA_LD_OPTIONS' --description 'alias lld exa_git $EXA_LD_OPTIONS'
|
||||
exa_git $EXA_LD_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lli --wraps='exa_git $EXA_LI_OPTIONS' --description 'alias lli exa_git $EXA_LI_OPTIONS'
|
||||
exa_git $EXA_LI_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function llid --wraps='exa_git $EXA_LID_OPTIONS' --description 'alias llid exa_git $EXA_LID_OPTIONS'
|
||||
exa_git $EXA_LID_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function lo --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LO_OPTIONS' --description 'alias lo eza $EXA_STANDARD_OPTIONS $EXA_LO_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LO_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function loa --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LA_OPTIONS $EXA_LO_OPTIONS' --description 'alias loa eza $EXA_STANDARD_OPTIONS $EXA_LA_OPTIONS $EXA_LO_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LA_OPTIONS $EXA_LO_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function loaa --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAA_OPTIONS $EXA_LO_OPTIONS' --description 'alias loaa eza $EXA_STANDARD_OPTIONS $EXA_LAA_OPTIONS $EXA_LO_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAA_OPTIONS $EXA_LO_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function loaad --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAAD_OPTIONS $EXA_LO_OPTIONS' --description 'alias loaad eza $EXA_STANDARD_OPTIONS $EXA_LAAD_OPTIONS $EXA_LO_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAAD_OPTIONS $EXA_LO_OPTIONS $argv
|
||||
|
||||
end
|
||||
@@ -1,4 +0,0 @@
|
||||
function loaai --wraps='eza $EXA_STANDARD_OPTIONS $EXA_LAAI_OPTIONS $EXA_LO_OPTIONS' --description 'alias loaai eza $EXA_STANDARD_OPTIONS $EXA_LAAI_OPTIONS $EXA_LO_OPTIONS'
|
||||
eza $EXA_STANDARD_OPTIONS $EXA_LAAI_OPTIONS $EXA_LO_OPTIONS $argv
|
||||
|
||||
end
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user