mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-02-01 20:47:42 +00:00
Compare commits
69 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| cd0fff756e | |||
| f8bde72337 | |||
|
|
afd28f8469 | ||
| 26ba1ac2a7 | |||
| 5d520d3f3f | |||
| 1d3ed5bfd0 | |||
| c80b577a5a | |||
| 4e2ee377f2 | |||
| d7106ae28f | |||
| a864d31e84 | |||
| b462ae20bf | |||
| 2cd1e7e0dd | |||
| c951dde930 | |||
|
|
a570cef49b | ||
| 441ba01455 | |||
| 73a00fcdf0 | |||
| 205ea28e16 | |||
| ade8162660 | |||
| 1745a15acf | |||
| ad08a2956e | |||
| 8d2083be4c | |||
| 87281a436f | |||
| 4ec9444e29 | |||
|
|
95d358ae3d | ||
|
|
cea61a5719 | ||
|
|
28c29d94f2 | ||
|
|
1028d3847c | ||
| 3498c6b739 | |||
| 83eb7d861e | |||
| 22090129ec | |||
|
|
5b0ca2a63b | ||
|
|
c5fa136a1f | ||
|
|
9a63aaff74 | ||
| 5e68077ac2 | |||
| 72b9acd710 | |||
|
|
469044bb2a | ||
|
|
96a362474c | ||
|
|
1b9dfac671 | ||
|
|
7dbaf8204b | ||
|
|
415d7d9026 | ||
|
|
6734d3c1ab | ||
|
|
b20d08aa69 | ||
|
|
e4da7534f8 | ||
| b39f7ec598 | |||
|
|
0f8c1ef457 | ||
|
|
4b31ad9a7b | ||
| 4d60d15831 | |||
|
|
90125c7278 | ||
| 0035575f8b | |||
|
|
865c0aa33b | ||
|
|
5fe7bc3527 | ||
| 0d1b35ef09 | |||
|
|
bee0340493 | ||
| fbdc9c741a | |||
| 0ac0d05db6 | |||
| 1c432da880 | |||
|
|
7e0cc9ec43 | ||
|
|
8c4b6d2983 | ||
|
|
5b4cf1bb2f | ||
| c9edd4bf84 | |||
| 1023228ddc | |||
| 8f8851d08f | |||
| 2b06642e4b | |||
|
|
52cbebc0b3 | ||
| 2b64164f2b | |||
| 7c8fb993a2 | |||
|
|
e745583f07 | ||
| 5762d57eb1 | |||
|
|
4b1d860cb5 |
1
.github/dependabot.yml
vendored
1
.github/dependabot.yml
vendored
@@ -1,6 +1,5 @@
|
|||||||
version: 2
|
version: 2
|
||||||
updates:
|
updates:
|
||||||
|
|
||||||
# Maintain dependencies for GitHub Actions
|
# Maintain dependencies for GitHub Actions
|
||||||
- package-ecosystem: "github-actions"
|
- package-ecosystem: "github-actions"
|
||||||
directory: "/"
|
directory: "/"
|
||||||
|
|||||||
BIN
.github/screenshots/tmux-nvim-astronvim.png
vendored
Normal file
BIN
.github/screenshots/tmux-nvim-astronvim.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 140 KiB |
BIN
.github/screenshots/tmux-starship.png
vendored
Normal file
BIN
.github/screenshots/tmux-starship.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 62 KiB |
5
.github/workflows/changelog.yml
vendored
5
.github/workflows/changelog.yml
vendored
@@ -1,22 +1,17 @@
|
|||||||
---
|
|
||||||
name: Debug Changelog # Workflow name displayed on GitHub
|
name: Debug Changelog # Workflow name displayed on GitHub
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch: # Trigger manually
|
workflow_dispatch: # Trigger manually
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
debug-changelog:
|
debug-changelog:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Create changelog text
|
- name: Create changelog text
|
||||||
id: changelog
|
id: changelog
|
||||||
uses: loopwerk/tag-changelog@v1
|
uses: loopwerk/tag-changelog@v1
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
config_file: .github/tag-changelog-config.js
|
config_file: .github/tag-changelog-config.js
|
||||||
|
|
||||||
- name: "Echo results"
|
- name: "Echo results"
|
||||||
id: output-changelog
|
id: output-changelog
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
7
.github/workflows/new-release.yml
vendored
7
.github/workflows/new-release.yml
vendored
@@ -1,14 +1,10 @@
|
|||||||
---
|
|
||||||
name: Release Daily State # Workflow name displayed on GitHub
|
name: Release Daily State # Workflow name displayed on GitHub
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch: # Trigger manually
|
workflow_dispatch: # Trigger manually
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "30 20 * * *" # UTC is 2-3 hours behind Europe/Helsinki, my timezone
|
- cron: "30 20 * * *" # UTC is 2-3 hours behind Europe/Helsinki, my timezone
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
new-daily-release:
|
new-daily-release:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -17,11 +13,9 @@ jobs:
|
|||||||
version: ${{ steps.daily-version.outputs.version }}
|
version: ${{ steps.daily-version.outputs.version }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3 # Checkout our working repository
|
- uses: actions/checkout@v3 # Checkout our working repository
|
||||||
|
|
||||||
- name: Create tag if necessary
|
- name: Create tag if necessary
|
||||||
uses: fregante/daily-version-action@v2
|
uses: fregante/daily-version-action@v2
|
||||||
id: daily-version
|
id: daily-version
|
||||||
|
|
||||||
- name: Create changelog text
|
- name: Create changelog text
|
||||||
if: steps.daily-version.outputs.created
|
if: steps.daily-version.outputs.created
|
||||||
id: changelog
|
id: changelog
|
||||||
@@ -29,7 +23,6 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
config_file: .github/tag-changelog-config.js
|
config_file: .github/tag-changelog-config.js
|
||||||
|
|
||||||
- name: Create release
|
- name: Create release
|
||||||
if: steps.daily-version.outputs.created
|
if: steps.daily-version.outputs.created
|
||||||
uses: actions/create-release@latest
|
uses: actions/create-release@latest
|
||||||
|
|||||||
6
.github/workflows/update-submodules.yml
vendored
6
.github/workflows/update-submodules.yml
vendored
@@ -1,13 +1,11 @@
|
|||||||
name: Update submodules
|
name: Update submodules
|
||||||
on:
|
on:
|
||||||
schedule: [cron: 0 3 * * *]
|
schedule: [{cron: 0 3 * * *}]
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
issues: write
|
issues: write
|
||||||
pull-requests: write
|
pull-requests: write
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
update-submodules:
|
update-submodules:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -18,12 +16,10 @@ jobs:
|
|||||||
submodules: true
|
submodules: true
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
token: ${{secrets.GITHUB_TOKEN}}
|
token: ${{secrets.GITHUB_TOKEN}}
|
||||||
|
|
||||||
- name: Config Git User
|
- name: Config Git User
|
||||||
run: |
|
run: |
|
||||||
git config --global user.name "${{ github.actor }}"
|
git config --global user.name "${{ github.actor }}"
|
||||||
git config --global user.email "${{ github.actor }}@users.noreply.github.com"
|
git config --global user.email "${{ github.actor }}@users.noreply.github.com"
|
||||||
|
|
||||||
- name: Update submodules
|
- name: Update submodules
|
||||||
run: |
|
run: |
|
||||||
if git commit -am"chore(git): Update submodules (automated)
|
if git commit -am"chore(git): Update submodules (automated)
|
||||||
|
|||||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -7,6 +7,9 @@ Brewfile.lock.json
|
|||||||
config/fzf
|
config/fzf
|
||||||
config/cheat/cheatsheets/pure-bash-bible/*
|
config/cheat/cheatsheets/pure-bash-bible/*
|
||||||
config/cheat/cheatsheets/tldr/*
|
config/cheat/cheatsheets/tldr/*
|
||||||
|
config/git/credentials
|
||||||
|
ssh/local.d/*
|
||||||
|
!ssh/local.d/.gitkeep
|
||||||
!.gitkeep
|
!.gitkeep
|
||||||
.env
|
.env
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
3
|
3.11
|
||||||
|
|||||||
4
.yamlfmt
4
.yamlfmt
@@ -18,7 +18,7 @@ include:
|
|||||||
- ./**/*.{yml,yaml}
|
- ./**/*.{yml,yaml}
|
||||||
|
|
||||||
exclude:
|
exclude:
|
||||||
- ./dotbot/**
|
- ./tools/dotbot/**
|
||||||
- ./dotbot-*/**
|
- ./tools/dotbot-*/**
|
||||||
- ./config/astronvim/**
|
- ./config/astronvim/**
|
||||||
- ./config/nvim/**
|
- ./config/nvim/**
|
||||||
|
|||||||
144
Brewfile
144
Brewfile
@@ -6,9 +6,7 @@ tap "gesquive/tap"
|
|||||||
tap "github/gh"
|
tap "github/gh"
|
||||||
tap "homebrew/autoupdate"
|
tap "homebrew/autoupdate"
|
||||||
tap "homebrew/bundle"
|
tap "homebrew/bundle"
|
||||||
tap "homebrew/cask"
|
|
||||||
tap "homebrew/cask-fonts"
|
tap "homebrew/cask-fonts"
|
||||||
tap "homebrew/core"
|
|
||||||
tap "homebrew/services"
|
tap "homebrew/services"
|
||||||
tap "jesseduffield/lazygit"
|
tap "jesseduffield/lazygit"
|
||||||
tap "mongodb/brew"
|
tap "mongodb/brew"
|
||||||
@@ -16,20 +14,46 @@ tap "shivammathur/extensions"
|
|||||||
tap "shivammathur/php"
|
tap "shivammathur/php"
|
||||||
tap "teamookla/speedtest"
|
tap "teamookla/speedtest"
|
||||||
tap "xwmx/taps"
|
tap "xwmx/taps"
|
||||||
# Run your GitHub Actions locally 🚀
|
# Run your GitHub Actions locally
|
||||||
brew "act"
|
brew "act"
|
||||||
|
# Mozilla CA certificate store
|
||||||
|
brew "ca-certificates"
|
||||||
# Interpreted, interactive, object-oriented programming language
|
# Interpreted, interactive, object-oriented programming language
|
||||||
brew "python@3.11"
|
brew "python@3.11"
|
||||||
|
# YAML Parser
|
||||||
|
brew "libyaml"
|
||||||
# Automate deployment, configuration, and upgrading
|
# Automate deployment, configuration, and upgrading
|
||||||
brew "ansible"
|
brew "ansible"
|
||||||
# Checks ansible playbooks for practices and behaviour
|
# Checks ansible playbooks for practices and behaviour
|
||||||
brew "ansible-lint"
|
brew "ansible-lint"
|
||||||
|
# Generic-purpose lossless compression algorithm by Google
|
||||||
|
brew "brotli"
|
||||||
|
# Library and utilities for processing GIFs
|
||||||
|
brew "giflib"
|
||||||
|
# Performance-portable, length-agnostic SIMD with runtime dispatch
|
||||||
|
brew "highway"
|
||||||
|
# Library of 2D and 3D vector, matrix, and math operations
|
||||||
|
brew "imath"
|
||||||
|
# JPEG image codec that aids compression and decompression
|
||||||
|
brew "jpeg-turbo"
|
||||||
# Zstandard is a real-time compression algorithm
|
# Zstandard is a real-time compression algorithm
|
||||||
brew "zstd"
|
brew "zstd"
|
||||||
|
# New file format for still image compression
|
||||||
|
brew "jpeg-xl"
|
||||||
|
# Codec library for encoding and decoding AV1 video streams
|
||||||
|
brew "aom"
|
||||||
|
# Apache Portable Runtime library
|
||||||
|
brew "apr"
|
||||||
|
# Companion library to apr, the Apache Portable Runtime library
|
||||||
|
brew "apr-util"
|
||||||
|
# Password hashing library and CLI utility
|
||||||
|
brew "argon2"
|
||||||
# Open Source Kubernetes Marketplace
|
# Open Source Kubernetes Marketplace
|
||||||
brew "arkade"
|
brew "arkade"
|
||||||
# Automatic configure script builder
|
# Automatic configure script builder
|
||||||
brew "autoconf"
|
brew "autoconf"
|
||||||
|
# GNU multiple precision arithmetic library
|
||||||
|
brew "gmp"
|
||||||
# GNU File, Shell, and Text utilities
|
# GNU File, Shell, and Text utilities
|
||||||
brew "coreutils"
|
brew "coreutils"
|
||||||
# Extendable version manager with support for Ruby, Node.js, Erlang & more
|
# Extendable version manager with support for Ruby, Node.js, Erlang & more
|
||||||
@@ -38,14 +62,18 @@ brew "asdf"
|
|||||||
brew "aspell"
|
brew "aspell"
|
||||||
# Official Amazon AWS command-line interface
|
# Official Amazon AWS command-line interface
|
||||||
brew "awscli"
|
brew "awscli"
|
||||||
# Terminal bandwidth utilization tool
|
|
||||||
brew "bandwhich"
|
|
||||||
# Clone of cat(1) with syntax highlighting and Git integration
|
# Clone of cat(1) with syntax highlighting and Git integration
|
||||||
brew "bat"
|
brew "bat"
|
||||||
# Yet another cross-platform graphical process/system monitor
|
# Yet another cross-platform graphical process/system monitor
|
||||||
brew "bottom"
|
brew "bottom"
|
||||||
# Switch Apache / Valet / CLI configs between PHP versions
|
# Switch Apache / Valet / CLI configs between PHP versions
|
||||||
brew "brew-php-switcher"
|
brew "brew-php-switcher"
|
||||||
|
# Software library to render fonts
|
||||||
|
brew "freetype"
|
||||||
|
# XML-based font configuration API for X Windows
|
||||||
|
brew "fontconfig"
|
||||||
|
# GNU internationalization (i18n) and localization (l10n) library
|
||||||
|
brew "gettext"
|
||||||
# Core application library for C
|
# Core application library for C
|
||||||
brew "glib"
|
brew "glib"
|
||||||
# Manage compile and link flags for libraries
|
# Manage compile and link flags for libraries
|
||||||
@@ -76,8 +104,6 @@ brew "editorconfig-checker"
|
|||||||
brew "eg-examples"
|
brew "eg-examples"
|
||||||
# Run arbitrary commands when files change
|
# Run arbitrary commands when files change
|
||||||
brew "entr"
|
brew "entr"
|
||||||
# CLI for templating and/or deploying FaaS functions
|
|
||||||
brew "faas-cli"
|
|
||||||
# Simple, fast and user-friendly alternative to find
|
# Simple, fast and user-friendly alternative to find
|
||||||
brew "fd"
|
brew "fd"
|
||||||
# Banner-like program prints strings as ASCII art
|
# Banner-like program prints strings as ASCII art
|
||||||
@@ -91,15 +117,13 @@ brew "fzf"
|
|||||||
# Graphics library to dynamically manipulate images
|
# Graphics library to dynamically manipulate images
|
||||||
brew "gd"
|
brew "gd"
|
||||||
# Disk usage analyzer with console interface written in Go
|
# Disk usage analyzer with console interface written in Go
|
||||||
brew "gdu", link: false
|
brew "gdu"
|
||||||
# GitHub command-line tool
|
# GitHub command-line tool
|
||||||
brew "gh"
|
brew "gh"
|
||||||
# Distributed revision control system
|
# Distributed revision control system
|
||||||
brew "git"
|
brew "git"
|
||||||
# Small git utilities
|
# Small git utilities
|
||||||
brew "git-extras"
|
brew "git-extras"
|
||||||
# AVH edition of git-flow
|
|
||||||
brew "git-flow-avh"
|
|
||||||
# See your latest local git branches, formatted real fancy
|
# See your latest local git branches, formatted real fancy
|
||||||
brew "git-recent"
|
brew "git-recent"
|
||||||
# Open-source GitLab command-line tool
|
# Open-source GitLab command-line tool
|
||||||
@@ -116,6 +140,8 @@ brew "gnutls"
|
|||||||
brew "gnupg"
|
brew "gnupg"
|
||||||
# Open source programming language to build simple/reliable/efficient software
|
# Open source programming language to build simple/reliable/efficient software
|
||||||
brew "go"
|
brew "go"
|
||||||
|
# Library access to GnuPG
|
||||||
|
brew "gpgme"
|
||||||
# Image manipulation
|
# Image manipulation
|
||||||
brew "netpbm"
|
brew "netpbm"
|
||||||
# C/C++ and Java libraries for Unicode and globalization
|
# C/C++ and Java libraries for Unicode and globalization
|
||||||
@@ -146,10 +172,10 @@ brew "libheif"
|
|||||||
brew "imagemagick"
|
brew "imagemagick"
|
||||||
# Lightweight and flexible command-line JSON processor
|
# Lightweight and flexible command-line JSON processor
|
||||||
brew "jq"
|
brew "jq"
|
||||||
|
# Network authentication protocol
|
||||||
|
brew "krb5"
|
||||||
# Lazier way to manage everything docker
|
# Lazier way to manage everything docker
|
||||||
brew "lazydocker"
|
brew "lazydocker"
|
||||||
# Postgres C API library
|
|
||||||
brew "libpq"
|
|
||||||
# Linguistic software and Finnish dictionary
|
# Linguistic software and Finnish dictionary
|
||||||
brew "libvoikko"
|
brew "libvoikko"
|
||||||
# Rainbows and unicorns in your console!
|
# Rainbows and unicorns in your console!
|
||||||
@@ -160,18 +186,20 @@ brew "luarocks"
|
|||||||
brew "m-cli"
|
brew "m-cli"
|
||||||
# Mac App Store command-line interface
|
# Mac App Store command-line interface
|
||||||
brew "mas"
|
brew "mas"
|
||||||
# Terminal-based visual file manager
|
# NCurses Disk Usage
|
||||||
brew "midnight-commander"
|
brew "ncdu"
|
||||||
# Ambitious Vim-fork focused on extensibility and agility
|
# Ambitious Vim-fork focused on extensibility and agility
|
||||||
brew "neovim"
|
brew "neovim"
|
||||||
# No Nonsense Neovim Client in Rust
|
# No Nonsense Neovim Client in Rust
|
||||||
brew "neovide", link: false
|
brew "neovide"
|
||||||
# HTTP(S) server and reverse proxy, and IMAP/POP3 proxy server
|
# HTTP(S) server and reverse proxy, and IMAP/POP3 proxy server
|
||||||
brew "nginx"
|
brew "nginx"
|
||||||
# Port scanning utility for large networks
|
# Port scanning utility for large networks
|
||||||
brew "nmap"
|
brew "nmap"
|
||||||
# Manage multiple Node.js versions
|
# Manage multiple Node.js versions
|
||||||
brew "nvm"
|
brew "nvm"
|
||||||
|
# Development kit for the Java programming language
|
||||||
|
brew "openjdk@11"
|
||||||
# Generate clients, server & docs from an OpenAPI spec (v2, v3)
|
# Generate clients, server & docs from an OpenAPI spec (v2, v3)
|
||||||
brew "openapi-generator"
|
brew "openapi-generator"
|
||||||
# Development kit for the Java programming language
|
# Development kit for the Java programming language
|
||||||
@@ -194,12 +222,14 @@ brew "pyenv-virtualenv"
|
|||||||
brew "python@3.10"
|
brew "python@3.10"
|
||||||
# Interpreted, interactive, object-oriented programming language
|
# Interpreted, interactive, object-oriented programming language
|
||||||
brew "python@3.8"
|
brew "python@3.8"
|
||||||
|
# Ruby version manager
|
||||||
|
brew "rbenv"
|
||||||
# RC file (dotfile) management
|
# RC file (dotfile) management
|
||||||
brew "rcm"
|
brew "rcm"
|
||||||
# Search tool like grep and The Silver Searcher
|
# Search tool like grep and The Silver Searcher
|
||||||
brew "ripgrep"
|
brew "ripgrep"
|
||||||
# Powerful, clean, object-oriented scripting language
|
# Safe, concurrent, practical language
|
||||||
brew "ruby"
|
brew "rust"
|
||||||
# Static analysis and lint tool, for (ba)sh scripts
|
# Static analysis and lint tool, for (ba)sh scripts
|
||||||
brew "shellcheck"
|
brew "shellcheck"
|
||||||
# Autoformat shell script source code
|
# Autoformat shell script source code
|
||||||
@@ -213,9 +243,7 @@ brew "task"
|
|||||||
# Terminal user interface for taskwarrior
|
# Terminal user interface for taskwarrior
|
||||||
brew "taskwarrior-tui"
|
brew "taskwarrior-tui"
|
||||||
# Send macOS User Notifications from the command-line
|
# Send macOS User Notifications from the command-line
|
||||||
brew "terminal-notifier", link: false
|
brew "terminal-notifier"
|
||||||
# Tool to build, change, and version infrastructure
|
|
||||||
brew "terraform", link: false
|
|
||||||
# Thin wrapper for Terraform e.g. for locking state
|
# Thin wrapper for Terraform e.g. for locking state
|
||||||
brew "terragrunt"
|
brew "terragrunt"
|
||||||
# Tool which checks for the support of TLS/SSL ciphers and flaws
|
# Tool which checks for the support of TLS/SSL ciphers and flaws
|
||||||
@@ -290,6 +318,8 @@ cask "dbngin"
|
|||||||
cask "docker"
|
cask "docker"
|
||||||
# Reimagine your terminal
|
# Reimagine your terminal
|
||||||
cask "fig"
|
cask "fig"
|
||||||
|
# UI toolkit for building applications for mobile, web and desktop
|
||||||
|
cask "flutter"
|
||||||
# Unofficial overcast.fm podcast app
|
# Unofficial overcast.fm podcast app
|
||||||
cask "fog"
|
cask "fog"
|
||||||
# Typeface made for developers
|
# Typeface made for developers
|
||||||
@@ -368,14 +398,78 @@ cask "vlc"
|
|||||||
cask "voikkospellservice"
|
cask "voikkospellservice"
|
||||||
# Rust-based terminal
|
# Rust-based terminal
|
||||||
cask "warp"
|
cask "warp"
|
||||||
# Mastodon, Pleroma, and Misskey client
|
|
||||||
cask "whalebird"
|
|
||||||
# View output from scripts in the menu bar
|
|
||||||
cask "xbar"
|
|
||||||
mas "1Password for Safari", id: 1569813296
|
mas "1Password for Safari", id: 1569813296
|
||||||
|
mas "Actions", id: 1586435171
|
||||||
mas "Audiobook Builder", id: 1437681957
|
mas "Audiobook Builder", id: 1437681957
|
||||||
mas "Flow", id: 1423210932
|
mas "Ivory", id: 6444602274
|
||||||
mas "Keynote", id: 409183694
|
mas "Keynote", id: 409183694
|
||||||
mas "Numbers", id: 409203825
|
mas "Numbers", id: 409203825
|
||||||
mas "Pages", id: 409201541
|
mas "Pages", id: 409201541
|
||||||
mas "Tailscale", id: 1475387142
|
mas "Tailscale", id: 1475387142
|
||||||
|
mas "Xcode", id: 497799835
|
||||||
|
vscode "akamud.vscode-theme-onelight"
|
||||||
|
vscode "amiralizadeh9480.laravel-extra-intellisense"
|
||||||
|
vscode "andrewleedham.vscode-css-modules"
|
||||||
|
vscode "andrewmcodes.tailwindcss-extension-pack"
|
||||||
|
vscode "austenc.tailwind-docs"
|
||||||
|
vscode "bmewburn.vscode-intelephense-client"
|
||||||
|
vscode "Box-Of-Hats.bemhelper"
|
||||||
|
vscode "bradlc.vscode-tailwindcss"
|
||||||
|
vscode "christian-kohler.npm-intellisense"
|
||||||
|
vscode "DavidAnson.vscode-markdownlint"
|
||||||
|
vscode "dbaeumer.vscode-eslint"
|
||||||
|
vscode "DotJoshJohnson.xml"
|
||||||
|
vscode "eamodio.gitlens"
|
||||||
|
vscode "EditorConfig.EditorConfig"
|
||||||
|
vscode "esbenp.prettier-vscode"
|
||||||
|
vscode "formulahendry.auto-close-tag"
|
||||||
|
vscode "formulahendry.code-runner"
|
||||||
|
vscode "gencer.html-slim-scss-css-class-completion"
|
||||||
|
vscode "github.vscode-github-actions"
|
||||||
|
vscode "GitHub.vscode-pull-request-github"
|
||||||
|
vscode "GraphQL.vscode-graphql"
|
||||||
|
vscode "GraphQL.vscode-graphql-execution"
|
||||||
|
vscode "GraphQL.vscode-graphql-syntax"
|
||||||
|
vscode "heybourn.headwind"
|
||||||
|
vscode "JohnnyMorganz.stylua"
|
||||||
|
vscode "jumpinjackie.vscode-map-preview"
|
||||||
|
vscode "k--kato.intellij-idea-keybindings"
|
||||||
|
vscode "liamhammett.inline-parameters"
|
||||||
|
vscode "macieklad.tailwind-sass-syntax"
|
||||||
|
vscode "MehediDracula.php-namespace-resolver"
|
||||||
|
vscode "mikestead.dotenv"
|
||||||
|
vscode "MrChetan.phpstorm-parameter-hints-in-vscode"
|
||||||
|
vscode "mrorz.language-gettext"
|
||||||
|
vscode "ms-azuretools.vscode-docker"
|
||||||
|
vscode "ms-python.python"
|
||||||
|
vscode "ms-python.vscode-pylance"
|
||||||
|
vscode "ms-toolsai.jupyter"
|
||||||
|
vscode "ms-toolsai.jupyter-renderers"
|
||||||
|
vscode "ms-toolsai.vscode-jupyter-cell-tags"
|
||||||
|
vscode "ms-toolsai.vscode-jupyter-slideshow"
|
||||||
|
vscode "ms-vscode-remote.remote-containers"
|
||||||
|
vscode "ms-vscode-remote.remote-wsl"
|
||||||
|
vscode "ms-vscode.cpptools"
|
||||||
|
vscode "msjsdiag.vscode-react-native"
|
||||||
|
vscode "mtxr.sqltools"
|
||||||
|
vscode "neilbrayfield.php-docblocker"
|
||||||
|
vscode "nhoizey.gremlins"
|
||||||
|
vscode "octref.vetur"
|
||||||
|
vscode "oderwat.indent-rainbow"
|
||||||
|
vscode "pflannery.vscode-versionlens"
|
||||||
|
vscode "phiter.phpstorm-snippets"
|
||||||
|
vscode "SonarSource.sonarlint-vscode"
|
||||||
|
vscode "stylelint.vscode-stylelint"
|
||||||
|
vscode "syler.sass-indented"
|
||||||
|
vscode "timonwong.shellcheck"
|
||||||
|
vscode "tootone.org-mode"
|
||||||
|
vscode "valeryanm.vscode-phpsab"
|
||||||
|
vscode "Vue.volar"
|
||||||
|
vscode "WakaTime.vscode-wakatime"
|
||||||
|
vscode "withfig.fig"
|
||||||
|
vscode "wix.vscode-import-cost"
|
||||||
|
vscode "xdebug.php-debug"
|
||||||
|
vscode "xdebug.php-pack"
|
||||||
|
vscode "yinfei.luahelper"
|
||||||
|
vscode "yoavbls.pretty-ts-errors"
|
||||||
|
vscode "ZainChen.json"
|
||||||
|
|||||||
67
README.md
67
README.md
@@ -17,12 +17,26 @@ fork or download the repo as a zip and go from there with your own configs.
|
|||||||
3. ???
|
3. ???
|
||||||
4. Profit
|
4. Profit
|
||||||
|
|
||||||
|
### Updates
|
||||||
|
|
||||||
|
`cd $HOME/.dotfiles && git pull && ./install`
|
||||||
|
|
||||||
|
## The looks
|
||||||
|
|
||||||
|
## tmux with starship, the default view
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## tmux + nvim (astronvim) editing this repository
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## Interesting files and locations
|
## Interesting files and locations
|
||||||
|
|
||||||
### Interesting folders
|
### Interesting folders
|
||||||
|
|
||||||
| Path | Description |
|
| Path | Description |
|
||||||
| ------------------- | -------------------------------------------- |
|
|---------------------|----------------------------------------------|
|
||||||
| `.github` | GitHub Repository configuration files. |
|
| `.github` | GitHub Repository configuration files. |
|
||||||
| `hosts/{hostname}/` | Configs that should apply to that host only. |
|
| `hosts/{hostname}/` | Configs that should apply to that host only. |
|
||||||
| `local/bin` | Helper scripts that I've collected or wrote. |
|
| `local/bin` | Helper scripts that I've collected or wrote. |
|
||||||
@@ -31,7 +45,7 @@ fork or download the repo as a zip and go from there with your own configs.
|
|||||||
### dotfile folders
|
### dotfile folders
|
||||||
|
|
||||||
| Repo | Destination | Description |
|
| Repo | Destination | Description |
|
||||||
| --------- | ----------- | ------------------------------------------- |
|
|-----------|-------------|---------------------------------------------|
|
||||||
| `base/` | `.*` | `$HOME` level files. |
|
| `base/` | `.*` | `$HOME` level files. |
|
||||||
| `config/` | `.config/` | Configurations for applications. |
|
| `config/` | `.config/` | Configurations for applications. |
|
||||||
| `local/` | `.local/` | XDG Base folder: `bin`, `share` and `state` |
|
| `local/` | `.local/` | XDG Base folder: `bin`, `share` and `state` |
|
||||||
@@ -47,32 +61,30 @@ The folder structure follows [XDG Base Directory Specification][xdg] where possi
|
|||||||
|
|
||||||
### XDG Variables
|
### XDG Variables
|
||||||
|
|
||||||
| Var | Default |
|
| Env | Default |
|
||||||
| ------------------ | -------------------- |
|
|--------------------|----------------------|
|
||||||
|
| `$XDG_BIN_HOME` | `$HOME/.local/bin` |
|
||||||
|
| `$XDG_CONFIG_HOME` | `$HOME/.config` |
|
||||||
| `$XDG_DATA_HOME` | `$HOME/.local/share` |
|
| `$XDG_DATA_HOME` | `$HOME/.local/share` |
|
||||||
| `$XDG_STATE_HOME` | `$HOME/.local/state` |
|
| `$XDG_STATE_HOME` | `$HOME/.local/state` |
|
||||||
| `$XDG_CONFIG_HOME` | `$HOME/.config` |
|
|
||||||
| `$XDG_BIN_HOME` | `$HOME/.local/bin` |
|
|
||||||
|
|
||||||
- `$XDG_BIN_HOME` is a custom `env` for `.local/bin` folder.
|
- `$XDG_BIN_HOME` defines directory that contains local binaries.
|
||||||
- `$XDG_DATA_HOME` defines the base directory relative to which user-specific data
|
- `$XDG_DATA_HOME` defines the base directory relative to which user-specific data
|
||||||
files should be stored. If `$XDG_DATA_HOME` is either not set or empty,
|
files should be stored.
|
||||||
a default equal to `$HOME/.local/share` should be used.
|
- If `$XDG_DATA_HOME` is either not set or empty, a default equal to
|
||||||
- `$XDG_CONFIG_HOME` defines the base directory relative to which user-specific configuration
|
`$HOME/.local/share` should be used.
|
||||||
files should be stored. If `$XDG_CONFIG_HOME` is either not set or empty,
|
- `$XDG_CONFIG_HOME` defines the base directory relative to which user-specific
|
||||||
a default equal to `$HOME/.config` should be used.
|
configuration files should be stored.
|
||||||
|
- If `$XDG_CONFIG_HOME` is either not set or empty, a default equal to `$HOME/.config` should be used.
|
||||||
- `$XDG_STATE_HOME` defines the base directory relative
|
- `$XDG_STATE_HOME` defines the base directory relative
|
||||||
to which user-specific state files should be stored.
|
to which user-specific state files should be stored.
|
||||||
If `$XDG_STATE_HOME` is either not set or empty, a default
|
- If `$XDG_STATE_HOME` is either not set or empty, a default equal to `$HOME/.local/state` should be used.
|
||||||
equal to `$HOME/.local/state` should be used.
|
- The `$XDG_STATE_HOME` contains state data that should persist between (application) restarts,
|
||||||
- The `$XDG_STATE_HOME` contains state data that should persist
|
but that is not important or portable enough to the user that it should be stored in `$XDG_DATA_HOME`.
|
||||||
between (application) restarts,
|
- It may contain:
|
||||||
but that is not important or portable enough to the user that
|
- actions history (logs, history, recently used files, …)
|
||||||
it should be stored in `$XDG_DATA_HOME`.
|
- current state of the application that can be reused
|
||||||
It may contain:
|
on a restart (view, layout, open files, undo history, …)
|
||||||
- actions history (logs, history, recently used files, …)
|
|
||||||
- current state of the application that can be reused
|
|
||||||
on a restart (view, layout, open files, undo history, …)
|
|
||||||
- User-specific executable files may be stored in `$HOME/.local/bin`.
|
- User-specific executable files may be stored in `$HOME/.local/bin`.
|
||||||
Distributions should ensure this directory shows up in the UNIX `$PATH`
|
Distributions should ensure this directory shows up in the UNIX `$PATH`
|
||||||
environment variable, at an appropriate place.
|
environment variable, at an appropriate place.
|
||||||
@@ -81,14 +93,3 @@ The folder structure follows [XDG Base Directory Specification][xdg] where possi
|
|||||||
The directories in `$XDG_DATA_DIRS` should be seperated with a colon ':'.
|
The directories in `$XDG_DATA_DIRS` should be seperated with a colon ':'.
|
||||||
|
|
||||||
[xdg]: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
|
[xdg]: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
|
||||||
|
|
||||||
## Interesting links
|
|
||||||
|
|
||||||
### Interesting dotfiles repos
|
|
||||||
|
|
||||||
- [dotfiles.github.io/inspiration/](https://dotfiles.github.io/inspiration)
|
|
||||||
- [frdmn/dotfiles](https://github.com/github.com/frdmn/dotfiles) - Ansible-based
|
|
||||||
dotfile setup for macOS
|
|
||||||
- [mvdan/dotfiles](https://github.com/mvdan/dotfiles) - Here be dragons
|
|
||||||
- [vsouza/dotfiles](https://github.com/vsouza/dotfiles) - 🏡 My dotfiles
|
|
||||||
- [freekmurze/dotfiles](https://github.com/freekmurze/dotfiles) - My personal dotfiles
|
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
# Fig pre block. Keep at the top of this file.
|
||||||
|
[[ -f "$HOME/.fig/shell/bashrc.pre.bash" ]] && builtin source "$HOME/.fig/shell/bashrc.pre.bash"
|
||||||
# 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
|
||||||
|
|
||||||
@@ -21,3 +23,6 @@ x-load-configs
|
|||||||
ssh-add -A 2>/dev/null;
|
ssh-add -A 2>/dev/null;
|
||||||
|
|
||||||
[ -f "${XDG_CONFIG_HOME:-$HOME/.config}"/fzf/fzf.bash ] && source "${XDG_CONFIG_HOME:-$HOME/.config}"/fzf/fzf.bash
|
[ -f "${XDG_CONFIG_HOME:-$HOME/.config}"/fzf/fzf.bash ] && source "${XDG_CONFIG_HOME:-$HOME/.config}"/fzf/fzf.bash
|
||||||
|
|
||||||
|
# Fig post block. Keep at the bottom of this file.
|
||||||
|
[[ -f "$HOME/.fig/shell/bashrc.post.bash" ]] && builtin source "$HOME/.fig/shell/bashrc.post.bash"
|
||||||
|
|||||||
54
base/zshrc
54
base/zshrc
@@ -1,52 +1,10 @@
|
|||||||
|
# Fig pre block. Keep at the top of this file.
|
||||||
|
[[ -f "$HOME/.fig/shell/zshrc.pre.zsh" ]] && builtin source "$HOME/.fig/shell/zshrc.pre.zsh"
|
||||||
# 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
|
||||||
|
|
||||||
autoload -U colors zsh/terminfo
|
export ZDOTDIR="$HOME/.config/zsh/"
|
||||||
colors
|
mkdir -p "$ZDOTDIR"
|
||||||
setopt correct
|
|
||||||
|
|
||||||
# Add completion scripts to zsh path
|
|
||||||
fpath=(~/.config/zsh/completion $fpath)
|
|
||||||
autoload -Uz compinit && compinit -i
|
|
||||||
|
|
||||||
# Defaults
|
|
||||||
export DOTFILES="$HOME/.dotfiles"
|
|
||||||
# shellcheck source=shared.sh
|
|
||||||
source "$DOTFILES/scripts/shared.sh"
|
|
||||||
|
|
||||||
# Run x-load-configs in your terminal to reload the files.
|
|
||||||
function x-load-configs()
|
|
||||||
{
|
|
||||||
# Load the shell dotfiles, and then some:
|
|
||||||
for file in $DOTFILES/config/{exports,alias,functions}; do
|
|
||||||
[ -f "$file" ] && source "$file"
|
|
||||||
[ -f "$file-secret" ] && source "$file-secret"
|
|
||||||
[ -f "$file-$HOSTNAME" ] && source "$file-$HOSTNAME"
|
|
||||||
[ -f "$file-$HOSTNAME-secret" ] && source "$file-$HOSTNAME-secret"
|
|
||||||
done
|
|
||||||
}
|
|
||||||
x-load-configs
|
|
||||||
|
|
||||||
# Import ssh keys in keychain
|
|
||||||
ssh-add -A 2>/dev/null;
|
|
||||||
|
|
||||||
# Try to load antigen, if present
|
|
||||||
ANTIGEN_ZSH_PATH="$XDG_BIN_HOME/antigen.zsh"
|
|
||||||
[[ -f "$ANTIGEN_ZSH_PATH" ]] && source "$ANTIGEN_ZSH_PATH"
|
|
||||||
|
|
||||||
# antigen is present
|
|
||||||
have antigen && {
|
|
||||||
antigen use oh-my-zsh
|
|
||||||
|
|
||||||
# config/functions
|
|
||||||
x-default-antigen-bundles
|
|
||||||
|
|
||||||
antigen apply
|
|
||||||
}
|
|
||||||
|
|
||||||
# starship is present
|
|
||||||
have starship && eval "$(starship init zsh)"
|
|
||||||
|
|
||||||
[ -f "${XDG_CONFIG_HOME:-$HOME/.config}"/fzf/fzf.zsh ] \
|
|
||||||
&& source "${XDG_CONFIG_HOME:-$HOME/.config}"/fzf/fzf.zsh
|
|
||||||
|
|
||||||
|
# Fig post block. Keep at the bottom of this file.
|
||||||
|
[[ -f "$HOME/.fig/shell/zshrc.post.zsh" ]] && builtin source "$HOME/.fig/shell/zshrc.post.zsh"
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# shellcheck source="../scripts/shared.sh"
|
# shellcheck source="../scripts/shared.sh"
|
||||||
|
# shellcheck disable=1091,2139
|
||||||
source "$DOTFILES/scripts/shared.sh"
|
source "$DOTFILES/scripts/shared.sh"
|
||||||
|
|
||||||
# Get installed php versions from brew and setup aliases
|
# Get installed php versions from brew and setup aliases
|
||||||
@@ -83,3 +84,6 @@ if [[ -f "$HOME/.aliases.local" ]]; then
|
|||||||
# shellcheck disable=SC1091
|
# shellcheck disable=SC1091
|
||||||
source "$HOME/.aliases.local"
|
source "$HOME/.aliases.local"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
alias wget=wget --hsts-file="$XDG_DATA_HOME/wget-hsts"
|
||||||
|
alias svn="svn --config-dir $XDG_CONFIG_HOME/subversion"
|
||||||
|
|||||||
18
config/astronvim/lua/user/.luacheckrc
Normal file
18
config/astronvim/lua/user/.luacheckrc
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
-- Global objects
|
||||||
|
globals = {
|
||||||
|
"astronvim",
|
||||||
|
"astronvim_installation",
|
||||||
|
"vim",
|
||||||
|
"bit",
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Rerun tests only if their modification time changed
|
||||||
|
cache = true
|
||||||
|
|
||||||
|
-- Don't report unused self arguments of methods
|
||||||
|
self = false
|
||||||
|
|
||||||
|
ignore = {
|
||||||
|
"631", -- max_line_length
|
||||||
|
"212/_.*", -- unused argument, for vars with "_" prefix
|
||||||
|
}
|
||||||
20
config/astronvim/lua/user/.neoconf.json
Normal file
20
config/astronvim/lua/user/.neoconf.json
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"neodev": {
|
||||||
|
"library": {
|
||||||
|
"enabled": true,
|
||||||
|
"plugins": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"neoconf": {
|
||||||
|
"plugins": {
|
||||||
|
"lua_ls": {
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lspconfig": {
|
||||||
|
"lua_ls": {
|
||||||
|
"Lua.format.enable": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -22,6 +22,7 @@ return {
|
|||||||
["<leader>b"] = { name = "Buffers" },
|
["<leader>b"] = { name = "Buffers" },
|
||||||
-- quick save
|
-- quick save
|
||||||
-- ["<C-s>"] = { ":w!<cr>", desc = "Save File" }, -- change description but the same command
|
-- ["<C-s>"] = { ":w!<cr>", desc = "Save File" }, -- change description but the same command
|
||||||
|
["<leader>P"] = { ":Telescope projects<cr>", desc = "Update Projects listing" },
|
||||||
},
|
},
|
||||||
t = {
|
t = {
|
||||||
-- setting a mapping to false will disable it
|
-- setting a mapping to false will disable it
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ return {
|
|||||||
icons_enabled = true,
|
icons_enabled = true,
|
||||||
-- disable notifications when toggling UI elements
|
-- disable notifications when toggling UI elements
|
||||||
ui_notifications_enabled = true,
|
ui_notifications_enabled = true,
|
||||||
|
-- enable experimental resession.nvim session management (will be default in AstroNvim v4)
|
||||||
|
resession_enabled = false,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
-- If you need more control, you can use the function()...end notation
|
-- If you need more control, you can use the function()...end notation
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
return { -- Add the community repository of plugin specifications
|
return {
|
||||||
"AstroNvim/astrocommunity", -- example of imporing a plugin, comment out to use it or add your own
|
-- Add the community repository of plugin specifications
|
||||||
|
"AstroNvim/astrocommunity",
|
||||||
|
-- example of imporing a plugin, comment out to use it or add your own.
|
||||||
-- available plugins can be found at
|
-- available plugins can be found at
|
||||||
-- https://github.com/AstroNvim/astrocommunity
|
-- https://github.com/AstroNvim/astrocommunity
|
||||||
{
|
{
|
||||||
@@ -15,6 +17,7 @@ return { -- Add the community repository of plugin specific
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
-- { import = "astrocommunity.completion.copilot-lua-cmp" },
|
-- { import = "astrocommunity.completion.copilot-lua-cmp" },
|
||||||
|
{ import = "astrocommunity.completion.tabnine-nvim" },
|
||||||
{ import = "astrocommunity.bars-and-lines.smartcolumn-nvim" },
|
{ import = "astrocommunity.bars-and-lines.smartcolumn-nvim" },
|
||||||
{
|
{
|
||||||
"m4xshen/smartcolumn.nvim",
|
"m4xshen/smartcolumn.nvim",
|
||||||
@@ -27,10 +30,11 @@ return { -- Add the community repository of plugin specific
|
|||||||
{
|
{
|
||||||
"folke/trouble.nvim",
|
"folke/trouble.nvim",
|
||||||
opts = {
|
opts = {
|
||||||
auto_open = false,
|
auto_open = true,
|
||||||
position = "right"
|
position = "bottom"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{ import = "astrocommunity.editing-support.comment-box-nvim" },
|
||||||
{ import = "astrocommunity.editing-support.refactoring-nvim" },
|
{ import = "astrocommunity.editing-support.refactoring-nvim" },
|
||||||
{ import = "astrocommunity.editing-support.neogen" },
|
{ import = "astrocommunity.editing-support.neogen" },
|
||||||
{ import = "astrocommunity.editing-support.nvim-regexplainer" },
|
{ import = "astrocommunity.editing-support.nvim-regexplainer" },
|
||||||
@@ -38,8 +42,17 @@ return { -- Add the community repository of plugin specific
|
|||||||
{ import = "astrocommunity.indent.mini-indentscope" },
|
{ import = "astrocommunity.indent.mini-indentscope" },
|
||||||
{ import = "astrocommunity.markdown-and-latex.glow-nvim" },
|
{ import = "astrocommunity.markdown-and-latex.glow-nvim" },
|
||||||
{ import = "astrocommunity.motion.harpoon" },
|
{ import = "astrocommunity.motion.harpoon" },
|
||||||
|
{ import = "astrocommunity.pack.ansible" },
|
||||||
|
{ import = "astrocommunity.pack.bash" },
|
||||||
|
{ import = "astrocommunity.pack.docker" },
|
||||||
|
{ import = "astrocommunity.pack.go" },
|
||||||
|
{ import = "astrocommunity.pack.html-css" },
|
||||||
|
{ import = "astrocommunity.pack.json" },
|
||||||
|
{ import = "astrocommunity.pack.markdown" },
|
||||||
{ import = "astrocommunity.pack.php" },
|
{ import = "astrocommunity.pack.php" },
|
||||||
{ import = "astrocommunity.project.neoconf-nvim" },
|
{ import = "astrocommunity.pack.typescript" },
|
||||||
|
{ import = "astrocommunity.pack.vue" },
|
||||||
|
{ import = "astrocommunity.pack.yaml" },
|
||||||
{ import = "astrocommunity.project.nvim-spectre" },
|
{ import = "astrocommunity.project.nvim-spectre" },
|
||||||
{ import = "astrocommunity.project.project-nvim" },
|
{ import = "astrocommunity.project.project-nvim" },
|
||||||
{ import = "astrocommunity.test.neotest" },
|
{ import = "astrocommunity.test.neotest" },
|
||||||
|
|||||||
@@ -5,20 +5,18 @@ return {
|
|||||||
opts = function(_, opts)
|
opts = function(_, opts)
|
||||||
-- customize the dashboard header
|
-- customize the dashboard header
|
||||||
opts.section.header.val = {
|
opts.section.header.val = {
|
||||||
"░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░",
|
" ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ",
|
||||||
"░░░░░░░░░░▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄░░░░░░░░░",
|
" ▄▀░░░░░░░░░░░░▄░░░░░░░▀▄ ",
|
||||||
"░░░░░░░░▄▀░░░░░░░░░░░░▄░░░░░░░▀▄░░░░░░░",
|
" █░░▄░░░░▄░░░░░░░░░░░░░░█ ",
|
||||||
"░░░░░░░░█░░▄░░░░▄░░░░░░░░░░░░░░█░░░░░░░",
|
" █░░░░░░░░░░░░▄█▄▄░░▄░░░█ ▄▄▄ ",
|
||||||
"░░░░░░░░█░░░░░░░░░░░░▄█▄▄░░▄░░░█░▄▄▄░░░",
|
"▄▄▄▄▄ █░░░░░░▀░░░░▀█░░▀▄░░░░░█▀▀░██ ",
|
||||||
"░▄▄▄▄▄░░█░░░░░░▀░░░░▀█░░▀▄░░░░░█▀▀░██░░",
|
"██▄▀██▄█░░░▄░░░░░░░██░░░░▀▀▀▀▀░░░░██ ",
|
||||||
"░██▄▀██▄█░░░▄░░░░░░░██░░░░▀▀▀▀▀░░░░██░░",
|
" ▀██▄▀██░░░░░░░░▀░██▀░░░░░░░░░░░░░▀██",
|
||||||
"░░▀██▄▀██░░░░░░░░▀░██▀░░░░░░░░░░░░░▀██░",
|
" ▀████░▀░░░░▄░░░██░░░▄█░░░░▄░▄█░░██",
|
||||||
"░░░░▀████░▀░░░░▄░░░██░░░▄█░░░░▄░▄█░░██░",
|
" ▀█░░░░▄░░░░░██░░░░▄░░░▄░░▄░░░██",
|
||||||
"░░░░░░░▀█░░░░▄░░░░░██░░░░▄░░░▄░░▄░░░██░",
|
" ▄█▄░░░░░░░░░░░▀▄░░▀▀▀▀▀▀▀▀░░▄▀ ",
|
||||||
"░░░░░░░▄█▄░░░░░░░░░░░▀▄░░▀▀▀▀▀▀▀▀░░▄▀░░",
|
" █▀▀█████████▀▀▀▀████████████▀ ",
|
||||||
"░░░░░░█▀▀█████████▀▀▀▀████████████▀░░░░",
|
" ████▀ ███▀ ▀███ ▀██▀ ",
|
||||||
"░░░░░░████▀░░███▀░░░░░░▀███░░▀██▀░░░░░░",
|
|
||||||
"░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░"
|
|
||||||
}
|
}
|
||||||
return opts
|
return opts
|
||||||
end,
|
end,
|
||||||
@@ -47,11 +45,15 @@ return {
|
|||||||
visible = false,
|
visible = false,
|
||||||
show_hidden_count = true,
|
show_hidden_count = true,
|
||||||
hide_dotfiles = false,
|
hide_dotfiles = false,
|
||||||
hide_gitignored = true,
|
hide_gitignored = false,
|
||||||
hide_by_name = {
|
hide_by_name = {
|
||||||
|
'.idea',
|
||||||
|
'.DS_Store'
|
||||||
},
|
},
|
||||||
never_show = {
|
never_show = {
|
||||||
'.git',
|
'.git',
|
||||||
|
'.idea',
|
||||||
|
'.mypy_cache',
|
||||||
'.DS_Store',
|
'.DS_Store',
|
||||||
'thumbs.db'
|
'thumbs.db'
|
||||||
},
|
},
|
||||||
@@ -99,9 +101,12 @@ return {
|
|||||||
require "plugins.configs.which-key" (plugin, opts)
|
require "plugins.configs.which-key" (plugin, opts)
|
||||||
-- Add bindings which show up as group name
|
-- Add bindings which show up as group name
|
||||||
local wk = require "which-key"
|
local wk = require "which-key"
|
||||||
wk.register({
|
wk.register(
|
||||||
b = { name = "Buffer" },
|
{
|
||||||
}, { mode = "n", prefix = "<leader>" })
|
b = { name = "Buffer" },
|
||||||
|
},
|
||||||
|
{ mode = "n", prefix = "<leader>" }
|
||||||
|
)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,29 +1,44 @@
|
|||||||
-- customize mason plugins
|
-- customize mason plugins
|
||||||
return { -- use mason-lspconfig to configure LSP installations
|
return {
|
||||||
|
-- use mason-lspconfig to configure LSP installations
|
||||||
{
|
{
|
||||||
"williamboman/mason-lspconfig.nvim",
|
"williamboman/mason-lspconfig.nvim",
|
||||||
-- overrides `require("mason-lspconfig").setup(...)`
|
-- overrides `require("mason-lspconfig").setup(...)`
|
||||||
opts = {
|
opts = function(_, opts)
|
||||||
ensure_installed = {
|
-- add more things to the ensure_installed table protecting against community packs modifying it
|
||||||
"diagnosticls",
|
opts.ensure_installed = require("astronvim.utils").list_insert_unique(opts.ensure_installed, {
|
||||||
},
|
-- "lua_ls",
|
||||||
},
|
})
|
||||||
}, -- use mason-null-ls to configure Formatters/Linter installation for null-ls sources
|
end,
|
||||||
|
},
|
||||||
|
-- use mason-null-ls to configure Formatters/Linter
|
||||||
|
-- installation for null-ls sources
|
||||||
{
|
{
|
||||||
"jay-babu/mason-null-ls.nvim",
|
"jay-babu/mason-null-ls.nvim",
|
||||||
-- overrides `require("mason-null-ls").setup(...)`
|
-- overrides `require("mason-null-ls").setup(...)`
|
||||||
opts = {
|
opts = function(_, opts)
|
||||||
automatic_setup = true,
|
-- add more things to the ensure_installed table protecting against community packs modifying it
|
||||||
automatic_installation = true,
|
opts.ensure_installed = require("astronvim.utils").list_insert_unique(opts.ensure_installed, {
|
||||||
},
|
-- "prettier",
|
||||||
|
-- "stylua",
|
||||||
|
})
|
||||||
|
opts.automatic_setup = true
|
||||||
|
opts.automatic_installation = true
|
||||||
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"jay-babu/mason-nvim-dap.nvim",
|
"jay-babu/mason-nvim-dap.nvim",
|
||||||
-- overrides `require("mason-nvim-dap").setup(...)`
|
-- overrides `require("mason-nvim-dap").setup(...)`
|
||||||
opts = {
|
opts = function(_, opts)
|
||||||
automatic_installation = true,
|
-- add more things to the ensure_installed table protecting against community packs modifying it
|
||||||
automatic_setup = true,
|
opts.ensure_installed = require("astronvim.utils").list_insert_unique(opts.ensure_installed, {
|
||||||
ensure_installed = { "python", "php", "js", "bash" },
|
"python",
|
||||||
},
|
"php",
|
||||||
|
"js",
|
||||||
|
"bash"
|
||||||
|
})
|
||||||
|
opts.automatic_installation = true
|
||||||
|
opts.automatic_setup = true
|
||||||
|
end,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,14 +30,8 @@ return {
|
|||||||
null_ls.builtins.diagnostics.tfsec,
|
null_ls.builtins.diagnostics.tfsec,
|
||||||
null_ls.builtins.diagnostics.trail_space,
|
null_ls.builtins.diagnostics.trail_space,
|
||||||
null_ls.builtins.diagnostics.tsc,
|
null_ls.builtins.diagnostics.tsc,
|
||||||
null_ls.builtins.diagnostics.vacuum,
|
|
||||||
null_ls.builtins.diagnostics.vint,
|
|
||||||
null_ls.builtins.diagnostics.vulture,
|
|
||||||
null_ls.builtins.diagnostics.yamllint,
|
|
||||||
null_ls.builtins.diagnostics.zsh,
|
null_ls.builtins.diagnostics.zsh,
|
||||||
null_ls.builtins.formatting.blade_formatter,
|
|
||||||
null_ls.builtins.formatting.clang_format,
|
null_ls.builtins.formatting.clang_format,
|
||||||
null_ls.builtins.formatting.eslint,
|
|
||||||
null_ls.builtins.formatting.fixjson,
|
null_ls.builtins.formatting.fixjson,
|
||||||
null_ls.builtins.formatting.isort,
|
null_ls.builtins.formatting.isort,
|
||||||
null_ls.builtins.formatting.jq,
|
null_ls.builtins.formatting.jq,
|
||||||
@@ -45,7 +39,6 @@ return {
|
|||||||
null_ls.builtins.formatting.shfmt.with {
|
null_ls.builtins.formatting.shfmt.with {
|
||||||
args = { "-i", "1", "-bn", "-ci", "-sr", "-kb", "-fn" },
|
args = { "-i", "1", "-bn", "-ci", "-sr", "-kb", "-fn" },
|
||||||
},
|
},
|
||||||
null_ls.builtins.formatting.stylelint,
|
|
||||||
}
|
}
|
||||||
return config -- return final config table
|
return config -- return final config table
|
||||||
end,
|
end,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
return {
|
return {
|
||||||
"nvim-treesitter/nvim-treesitter",
|
"nvim-treesitter/nvim-treesitter",
|
||||||
opts = {
|
opts = function(_, opts)
|
||||||
ensure_installed = {
|
opts.ensure_installed = require("astronvim.utils").list_insert_unique(opts.ensure_installed, {
|
||||||
"bash",
|
"bash",
|
||||||
"c",
|
"c",
|
||||||
"cmake",
|
"cmake",
|
||||||
@@ -28,6 +28,6 @@ return {
|
|||||||
"vim",
|
"vim",
|
||||||
"vue",
|
"vue",
|
||||||
"yaml",
|
"yaml",
|
||||||
},
|
})
|
||||||
},
|
end,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,4 +12,89 @@ return {
|
|||||||
lazy = false,
|
lazy = false,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"nvim-treesitter/nvim-treesitter-context",
|
||||||
|
lazy = false,
|
||||||
|
enabled = true,
|
||||||
|
opts = {
|
||||||
|
enable = true,
|
||||||
|
mode = "cursor", -- cursor, or topline
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"folke/edgy.nvim",
|
||||||
|
event = "VeryLazy",
|
||||||
|
init = function()
|
||||||
|
vim.opt.laststatus = 3
|
||||||
|
vim.opt.splitkeep = "screen"
|
||||||
|
end,
|
||||||
|
opts = {
|
||||||
|
bottom = {
|
||||||
|
-- toggleterm / lazyterm at the bottom with a height of 40% of the screen
|
||||||
|
{
|
||||||
|
ft = "toggleterm",
|
||||||
|
size = { height = 0.4 },
|
||||||
|
-- exclude floating windows
|
||||||
|
filter = function(buf, win)
|
||||||
|
return vim.api.nvim_win_get_config(win).relative == ""
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ft = "lazyterm",
|
||||||
|
title = "LazyTerm",
|
||||||
|
size = { height = 0.4 },
|
||||||
|
filter = function(buf)
|
||||||
|
return not vim.b[buf].lazyterm_cmd
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
"Trouble",
|
||||||
|
{ ft = "qf", title = "QuickFix" },
|
||||||
|
{
|
||||||
|
ft = "help",
|
||||||
|
size = { height = 20 },
|
||||||
|
-- only show help buffers
|
||||||
|
filter = function(buf)
|
||||||
|
return vim.bo[buf].buftype == "help"
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{ ft = "spectre_panel", size = { height = 0.4 } },
|
||||||
|
},
|
||||||
|
left = {
|
||||||
|
-- Neo-tree filesystem always takes half the screen height
|
||||||
|
{
|
||||||
|
title = "Neo-Tree",
|
||||||
|
ft = "neo-tree",
|
||||||
|
filter = function(buf)
|
||||||
|
return vim.b[buf].neo_tree_source == "filesystem"
|
||||||
|
end,
|
||||||
|
size = { height = 0.5 },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title = "Neo-Tree Git",
|
||||||
|
ft = "neo-tree",
|
||||||
|
filter = function(buf)
|
||||||
|
return vim.b[buf].neo_tree_source == "git_status"
|
||||||
|
end,
|
||||||
|
pinned = true,
|
||||||
|
open = "Neotree position=right git_status",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title = "Neo-Tree Buffers",
|
||||||
|
ft = "neo-tree",
|
||||||
|
filter = function(buf)
|
||||||
|
return vim.b[buf].neo_tree_source == "buffers"
|
||||||
|
end,
|
||||||
|
pinned = true,
|
||||||
|
open = "Neotree position=top buffers",
|
||||||
|
},
|
||||||
|
-- {
|
||||||
|
-- ft = "Outline",
|
||||||
|
-- pinned = true,
|
||||||
|
-- open = "SymbolsOutlineOpen",
|
||||||
|
-- },
|
||||||
|
-- any other neo-tree windows
|
||||||
|
"neo-tree",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,24 +1,19 @@
|
|||||||
---
|
|
||||||
# The editor to use with 'cheat -e <sheet>'. Defaults to $EDITOR or $VISUAL.
|
# The editor to use with 'cheat -e <sheet>'. Defaults to $EDITOR or $VISUAL.
|
||||||
# editor: $EDITOR
|
# editor: $EDITOR
|
||||||
|
|
||||||
# Should 'cheat' always colorize output?
|
# Should 'cheat' always colorize output?
|
||||||
colorize: true
|
colorize: true
|
||||||
|
|
||||||
# Which 'chroma' colorscheme should be applied to the output?
|
# Which 'chroma' colorscheme should be applied to the output?
|
||||||
# Options are available here:
|
# Options are available here:
|
||||||
# https://github.com/alecthomas/chroma/tree/master/styles
|
# https://github.com/alecthomas/chroma/tree/master/styles
|
||||||
style: "catppuccin"
|
style: "catppuccin"
|
||||||
|
|
||||||
# Which 'chroma' "formatter" should be applied?
|
# Which 'chroma' "formatter" should be applied?
|
||||||
# One of: "terminal", "terminal256", "terminal16m"
|
# One of: "terminal", "terminal256", "terminal16m"
|
||||||
formatter: terminal256
|
formatter: terminal256
|
||||||
|
|
||||||
# Through which pager should output be piped?
|
# Through which pager should output be piped?
|
||||||
# 'less -FRX' is recommended on Unix systems
|
# 'less -FRX' is recommended on Unix systems
|
||||||
# 'more' is recommended on Windows
|
# 'more' is recommended on Windows
|
||||||
pager: less -FRX
|
pager: less -FRX
|
||||||
|
|
||||||
# Cheatpaths are paths at which cheatsheets are available on your local
|
# Cheatpaths are paths at which cheatsheets are available on your local
|
||||||
# filesystem.
|
# filesystem.
|
||||||
#
|
#
|
||||||
@@ -63,21 +58,21 @@ cheatpaths:
|
|||||||
# 'readonly': shall user-created ('cheat -e') cheatsheets be saved here?
|
# 'readonly': shall user-created ('cheat -e') cheatsheets be saved here?
|
||||||
- name: community
|
- name: community
|
||||||
path: ~/.config/cheat/cheatsheets/community
|
path: ~/.config/cheat/cheatsheets/community
|
||||||
tags: [ community ]
|
tags: [community]
|
||||||
readonly: true
|
readonly: true
|
||||||
# If you have personalized cheatsheets, list them last. They will take
|
# If you have personalized cheatsheets, list them last. They will take
|
||||||
# precedence over the more global cheatsheets.
|
# precedence over the more global cheatsheets.
|
||||||
- name: personal
|
- name: personal
|
||||||
path: ~/.dotfiles/config/cheat/cheatsheets/personal
|
path: ~/.dotfiles/config/cheat/cheatsheets/personal
|
||||||
tags: [ personal ]
|
tags: [personal]
|
||||||
readonly: false
|
readonly: false
|
||||||
- name: pure-bash-bible
|
- name: pure-bash-bible
|
||||||
path: ~/.dotfiles/config/cheat/cheatsheets/pure-bash-bible
|
path: ~/.dotfiles/config/cheat/cheatsheets/pure-bash-bible
|
||||||
tags: [ pure-bash-bible ]
|
tags: [pure-bash-bible]
|
||||||
readonly: true
|
readonly: true
|
||||||
- name: tldr
|
- name: tldr
|
||||||
path: ~/.dotfiles/config/cheat/cheatsheets/tldr
|
path: ~/.dotfiles/config/cheat/cheatsheets/tldr
|
||||||
tags: [ tldr ]
|
tags: [tldr]
|
||||||
readonly: true
|
readonly: true
|
||||||
|
|
||||||
# While it requires no configuration here, it's also worth noting that
|
# While it requires no configuration here, it's also worth noting that
|
||||||
|
|||||||
@@ -31,10 +31,7 @@ path_prepend "$XDG_BIN_HOME"
|
|||||||
|
|
||||||
# brew, https://brew.sh
|
# brew, https://brew.sh
|
||||||
have brew && {
|
have brew && {
|
||||||
path_append "$(brew --prefix python)/bin"
|
have_brew python && path_append "$(brew --prefix python)/bin"
|
||||||
path_append "$(brew --prefix coreutils)/libexec/gnubin"
|
|
||||||
path_append "$(brew --prefix ruby)/bin"
|
|
||||||
path_append "$(gem environment gemdir)/bin"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
source "$DOTFILES/config/exports-shell"
|
source "$DOTFILES/config/exports-shell"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# shellcheck shell=bash
|
# shellcheck shell=bash
|
||||||
# shellcheck enable=external-sources
|
# shellcheck enable=external-sources
|
||||||
# shellcheck disable=1091
|
# shellcheck disable=1091,2139
|
||||||
# vim: filetype=zsh
|
# vim: filetype=zsh
|
||||||
source "$DOTFILES/scripts/shared.sh"
|
source "$DOTFILES/scripts/shared.sh"
|
||||||
|
|
||||||
@@ -13,34 +13,34 @@ export ANTIGEN_PLUGIN_RECEIPT_F=".local/share/antigen/antigen_plugin_lastupdate"
|
|||||||
|
|
||||||
# Ansible configuration
|
# Ansible configuration
|
||||||
# https://docs.ansible.com/ansible/latest/reference_appendices/config.html
|
# https://docs.ansible.com/ansible/latest/reference_appendices/config.html
|
||||||
|
export ANSIBLE_HOME="$XDG_CONFIG_HOME/ansible"
|
||||||
|
export ANSIBLE_CONFIG="$XDG_CONFIG_HOME/ansible.cfg"
|
||||||
|
export ANSIBLE_GALAXY_CACHE_DIR="$XDG_CACHE_HOME/ansible/galaxy_cache"
|
||||||
have ansible && {
|
have ansible && {
|
||||||
export ANSIBLE_HOME="$XDG_CONFIG_HOME/ansible"
|
|
||||||
export ANSIBLE_CONFIG="$XDG_CONFIG_HOME/ansible.cfg"
|
|
||||||
export ANSIBLE_GALAXY_CACHE_DIR="$XDG_CACHE_HOME/ansible/galaxy_cache"
|
|
||||||
x-dc "$ANSIBLE_HOME"
|
x-dc "$ANSIBLE_HOME"
|
||||||
x-dc "$ANSIBLE_GALAXY_CACHE_DIR"
|
x-dc "$ANSIBLE_GALAXY_CACHE_DIR"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export ANDROID_HOME="$XDG_DATA_HOME/android"
|
||||||
|
|
||||||
# composer, https://getcomposer.org/
|
# composer, https://getcomposer.org/
|
||||||
|
export COMPOSER_HOME="$XDG_STATE_HOME/composer"
|
||||||
|
export COMPOSER_BIN="$COMPOSER_HOME/vendor/bin"
|
||||||
have composer && {
|
have composer && {
|
||||||
export COMPOSER_HOME="$XDG_STATE_HOME/composer"
|
|
||||||
export COMPOSER_BIN="$COMPOSER_HOME/vendor/bin"
|
|
||||||
export PATH="$COMPOSER_BIN:$PATH"
|
export PATH="$COMPOSER_BIN:$PATH"
|
||||||
}
|
}
|
||||||
|
|
||||||
# docker, https://docs.docker.com/engine/reference/commandline/cli/
|
# docker, https://docs.docker.com/engine/reference/commandline/cli/
|
||||||
|
export DOCKER_CONFIG="$XDG_CONFIG_HOME/docker"
|
||||||
have docker && {
|
have docker && {
|
||||||
export DOCKER_CONFIG="$XDG_CONFIG_HOME/docker"
|
|
||||||
x-dc "$DOCKER_CONFIG"
|
x-dc "$DOCKER_CONFIG"
|
||||||
# Docker: Disable snyk ad
|
# Docker: Disable snyk ad
|
||||||
export DOCKER_SCAN_SUGGEST=false
|
export DOCKER_SCAN_SUGGEST=false
|
||||||
}
|
}
|
||||||
|
|
||||||
# ffmpeg
|
# ffmpeg
|
||||||
have ffmpeg && {
|
export FFMPEG_DATADIR="$XDG_CONFIG_HOME/ffmpeg"
|
||||||
export FFMPEG_DATADIR="$XDG_CONFIG_HOME/ffmpeg"
|
have ffmpeg && x-dc "$FFMPEG_DATADIR"
|
||||||
x-dc "$FFMPEG_DATADIR"
|
|
||||||
}
|
|
||||||
|
|
||||||
# gcloud
|
# gcloud
|
||||||
have gcloud && {
|
have gcloud && {
|
||||||
@@ -49,20 +49,12 @@ have gcloud && {
|
|||||||
[[ -f "$GCLOUD_LOC/completion.zsh.inc" ]] && builtin source "$GCLOUD_LOC/completion.zsh.inc"
|
[[ -f "$GCLOUD_LOC/completion.zsh.inc" ]] && builtin source "$GCLOUD_LOC/completion.zsh.inc"
|
||||||
}
|
}
|
||||||
|
|
||||||
# gem, rubygems
|
# GnuPG
|
||||||
have gem && {
|
export GNUPGHOME="$XDG_DATA_HOME/gnupg"
|
||||||
export GEM_HOME="$XDG_STATE_HOME/gem"
|
|
||||||
export GEM_PATH="$XDG_STATE_HOME/gem"
|
|
||||||
export PATH="$GEM_HOME/bin:$PATH"
|
|
||||||
path_append "$GEM_PATH/bin"
|
|
||||||
}
|
|
||||||
|
|
||||||
# If we have go packages, include them to the PATH
|
# Go
|
||||||
have go && {
|
export GOPATH="$XDG_DATA_HOME/go"
|
||||||
export GOPATH="$XDG_DATA_HOME/go"
|
export GOBIN="$XDG_BIN_HOME"
|
||||||
export GOBIN="$XDG_BIN_HOME"
|
|
||||||
x-dc "$GOPATH"
|
|
||||||
}
|
|
||||||
|
|
||||||
# irssi
|
# irssi
|
||||||
have irssi && {
|
have irssi && {
|
||||||
@@ -73,10 +65,8 @@ have irssi && {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# nb, https://xwmx.github.io/nb/
|
# nb, https://xwmx.github.io/nb/
|
||||||
have nb && {
|
export NBRC_PATH="$XDG_CONFIG_HOME/nbrc"
|
||||||
export NB_DIR="$XDG_STATE_HOME/nb"
|
export NB_DIR="$XDG_STATE_HOME/nb"
|
||||||
x-dc "$NB_DIR"
|
|
||||||
}
|
|
||||||
|
|
||||||
# nvm, the node version manager
|
# nvm, the node version manager
|
||||||
export NVM_LAZY_LOAD=true
|
export NVM_LAZY_LOAD=true
|
||||||
@@ -93,22 +83,41 @@ have node && {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# op (1Password cli) is present
|
# op (1Password cli) is present
|
||||||
|
export OP_CACHE="$XDG_STATE_HOME/1password"
|
||||||
have op && {
|
have op && {
|
||||||
export OP_CACHE="$XDG_STATE_HOME/1password"
|
|
||||||
x-dc "$OP_CACHE"
|
|
||||||
eval "$(op completion zsh)"
|
eval "$(op completion zsh)"
|
||||||
compdef _op op
|
compdef _op op
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Python
|
||||||
|
#
|
||||||
# pyenv, python environments
|
# pyenv, python environments
|
||||||
|
export WORKON_HOME="$XDG_DATA_HOME/virtualenvs"
|
||||||
|
export PYENV_ROOT="$XDG_STATE_HOME/pyenv"
|
||||||
have pyenv && {
|
have pyenv && {
|
||||||
export PYENV_ROOT="$XDG_STATE_HOME/pyenv"
|
|
||||||
x-dc "$PYENV_ROOT"
|
|
||||||
path_append "$PYENV_ROOT/bin"
|
path_append "$PYENV_ROOT/bin"
|
||||||
|
|
||||||
eval "$(pyenv init -)"
|
eval "$(pyenv init -)"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Ruby
|
||||||
|
#
|
||||||
|
# including: bundler, rbenv
|
||||||
|
export GEM_HOME="${XDG_DATA_HOME}"/gem
|
||||||
|
export GEM_SPEC_CACHE="${XDG_CACHE_HOME}"/gem
|
||||||
|
export BUNDLE_USER_CONFIG="$XDG_CONFIG_HOME"/bundle
|
||||||
|
export BUNDLE_USER_CACHE="$XDG_CACHE_HOME"/bundle
|
||||||
|
export BUNDLE_USER_PLUGIN="$XDG_DATA_HOME"/bundle
|
||||||
|
export RBENV_ROOT="$XDG_STATE_HOME/rbenv"
|
||||||
|
x-dc "$RBENV_ROOT"
|
||||||
|
have gem && path_append "$(gem environment gemdir)/bin"
|
||||||
|
have rbenv && eval "$(rbenv init - zsh)"
|
||||||
|
|
||||||
|
# screen
|
||||||
|
export SCREENRC="$XDG_CONFIG_HOME/misc/screenrc"
|
||||||
|
|
||||||
|
# tmux
|
||||||
|
export TMUX_CONF="$XDG_CONFIG_HOME/tmux/tmux.conf"
|
||||||
|
|
||||||
# wakatime, https://github.com/wakatime/wakatime-cli
|
# wakatime, https://github.com/wakatime/wakatime-cli
|
||||||
export WAKATIME_HOME="$XDG_STATE_HOME/wakatime"
|
export WAKATIME_HOME="$XDG_STATE_HOME/wakatime"
|
||||||
x-dc "$WAKATIME_HOME"
|
x-dc "$WAKATIME_HOME"
|
||||||
@@ -118,9 +127,6 @@ export _Z_DATA="$XDG_STATE_HOME/z"
|
|||||||
[[ -f "$XDG_BIN_HOME/z/z.sh" ]] && source "$XDG_BIN_HOME/z/z.sh"
|
[[ -f "$XDG_BIN_HOME/z/z.sh" ]] && source "$XDG_BIN_HOME/z/z.sh"
|
||||||
|
|
||||||
# Misc
|
# Misc
|
||||||
export ANDROID_HOME="$XDG_DATA_HOME/android"
|
|
||||||
export GNUPGHOME="$XDG_DATA_HOME/gnupg"
|
|
||||||
export SCREENRC="$XDG_CONFIG_HOME/misc/screenrc"
|
|
||||||
export TMUX_CONF="$XDG_CONFIG_HOME/tmux/tmux.conf"
|
|
||||||
export BAT_THEME="ansi"
|
export BAT_THEME="ansi"
|
||||||
export CHEAT_USE_FZF=true
|
export CHEAT_USE_FZF=true
|
||||||
|
export SQLITE_HISTORY="$XDG_CACHE_HOME"/sqlite_history
|
||||||
|
|||||||
@@ -31,10 +31,10 @@ digga()
|
|||||||
dig +nocmd "$1" any +multiline +noall +answer
|
dig +nocmd "$1" any +multiline +noall +answer
|
||||||
}
|
}
|
||||||
|
|
||||||
# Rector project to php version 8.0 by default.
|
# Rector project to php version 8.2 by default.
|
||||||
rector()
|
rector()
|
||||||
{
|
{
|
||||||
local php="${1:-80}"
|
local php="${1:-82}"
|
||||||
docker run -v "$(pwd)":/project rector/rector:latest process \
|
docker run -v "$(pwd)":/project rector/rector:latest process \
|
||||||
"/project/$1" \
|
"/project/$1" \
|
||||||
--set "php${php}" \
|
--set "php${php}" \
|
||||||
@@ -100,7 +100,7 @@ x-default-antigen-bundles()
|
|||||||
have docker-compose && antigen bundle sroze/docker-compose-zsh-plugin
|
have docker-compose && antigen bundle sroze/docker-compose-zsh-plugin
|
||||||
have jq && antigen bundle reegnz/jq-zsh-plugin
|
have jq && antigen bundle reegnz/jq-zsh-plugin
|
||||||
have nvm && antigen bundle nvm
|
have nvm && antigen bundle nvm
|
||||||
have nvm && antigen bundle $DOTFILES/config/zsh/plugins/nvm-auto-use
|
have nvm && antigen bundle "$DOTFILES/config/zsh/plugins/nvm-auto-use"
|
||||||
have php && antigen bundle php
|
have php && antigen bundle php
|
||||||
have python && antigen bundle MichaelAquilina/zsh-autoswitch-virtualenv
|
have python && antigen bundle MichaelAquilina/zsh-autoswitch-virtualenv
|
||||||
have rvm && antigen bundle unixorn/rvm-plugin
|
have rvm && antigen bundle unixorn/rvm-plugin
|
||||||
|
|||||||
@@ -11,9 +11,6 @@
|
|||||||
[pull]
|
[pull]
|
||||||
rebase = true
|
rebase = true
|
||||||
|
|
||||||
[gpg]
|
|
||||||
format = ssh
|
|
||||||
|
|
||||||
[alias]
|
[alias]
|
||||||
branchbydate = for-each-ref --count=30 --sort=-committerdate refs/heads/ --format='%(refname:short)'
|
branchbydate = for-each-ref --count=30 --sort=-committerdate refs/heads/ --format='%(refname:short)'
|
||||||
branchcolor = "!for ref in $(git for-each-ref --sort=-committerdate --format=\"%(refname)\" refs/heads/ refs/remotes ); do git log -n1 $ref --pretty=format:\"%Cgreen%cr%Creset %C(yellow)%d%Creset %C(bold blue)<%an>%Creset%n\" | cat ; done | awk '! a[$0]++'"
|
branchcolor = "!for ref in $(git for-each-ref --sort=-committerdate --format=\"%(refname)\" refs/heads/ refs/remotes ); do git log -n1 $ref --pretty=format:\"%Cgreen%cr%Creset %C(yellow)%d%Creset %C(bold blue)<%an>%Creset%n\" | cat ; done | awk '! a[$0]++'"
|
||||||
@@ -22,6 +19,7 @@
|
|||||||
nah = !git reset --hard && git clean -df
|
nah = !git reset --hard && git clean -df
|
||||||
reset-origin = !git fetch origin && git reset --hard origin/master && git clean -f -d
|
reset-origin = !git fetch origin && git reset --hard origin/master && git clean -f -d
|
||||||
reset-upstream = !git fetch upstream && git reset --hard upstream/master && git clean -f -d
|
reset-upstream = !git fetch upstream && git reset --hard upstream/master && git clean -f -d
|
||||||
|
recent = "!r() { count=$1; git for-each-ref --sort=-committerdate refs/heads --format='%(HEAD)%(color:yellow)%(refname:short)|%(color:bold green)%(committerdate:relative)|%(color:blue)%(subject)|%(color:magenta)%(authorname)%(color:reset)' --color=always --count=${count:=10} | column -ts'|';}; r"
|
||||||
rl = reflog --format='%C(auto)%h %<|(20)%gd %C(blue)%cr%C(reset) %gs (%s)'
|
rl = reflog --format='%C(auto)%h %<|(20)%gd %C(blue)%cr%C(reset) %gs (%s)'
|
||||||
tagdate = log --date-order --graph --tags --simplify-by-decoration --pretty=format:\"%ai %h %d\"
|
tagdate = log --date-order --graph --tags --simplify-by-decoration --pretty=format:\"%ai %h %d\"
|
||||||
undo-commit = reset HEAD~ --soft
|
undo-commit = reset HEAD~ --soft
|
||||||
@@ -59,4 +57,5 @@
|
|||||||
|
|
||||||
# dotfiles special config
|
# dotfiles special config
|
||||||
[includeIf "hasconfig:remote.*.url:https://github.com/ivuorinen/dotfiles.git"]
|
[includeIf "hasconfig:remote.*.url:https://github.com/ivuorinen/dotfiles.git"]
|
||||||
path = ~/.dotfiles/config/git/special/dotfiles ;
|
path = ~/.dotfiles/config/git/special/dotfiles ;
|
||||||
|
|
||||||
|
|||||||
@@ -2,14 +2,8 @@
|
|||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
<plist version="1.0">
|
<plist version="1.0">
|
||||||
<dict>
|
<dict>
|
||||||
<key>AboutToPasteTabsWithCancel</key>
|
|
||||||
<true/>
|
|
||||||
<key>AboutToPasteTabsWithCancel_selection</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>AllowClipboardAccess</key>
|
<key>AllowClipboardAccess</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>AlternateMouseScroll</key>
|
|
||||||
<true/>
|
|
||||||
<key>AutoHideTmuxClientSession</key>
|
<key>AutoHideTmuxClientSession</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>Custom Color Presets</key>
|
<key>Custom Color Presets</key>
|
||||||
@@ -344,7 +338,7 @@
|
|||||||
</dict>
|
</dict>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Default Bookmark Guid</key>
|
<key>Default Bookmark Guid</key>
|
||||||
<string>82636119-EA17-4A26-9AA7-408172F4A9C8</string>
|
<string>B563F48B-314D-48CC-908E-ACA971D430BE</string>
|
||||||
<key>DimBackgroundWindows</key>
|
<key>DimBackgroundWindows</key>
|
||||||
<false/>
|
<false/>
|
||||||
<key>DimOnlyText</key>
|
<key>DimOnlyText</key>
|
||||||
@@ -353,16 +347,14 @@
|
|||||||
<true/>
|
<true/>
|
||||||
<key>HapticFeedbackForEsc</key>
|
<key>HapticFeedbackForEsc</key>
|
||||||
<false/>
|
<false/>
|
||||||
|
<key>HideScrollbar</key>
|
||||||
|
<true/>
|
||||||
<key>HotkeyMigratedFromSingleToMulti</key>
|
<key>HotkeyMigratedFromSingleToMulti</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>IRMemory</key>
|
<key>IRMemory</key>
|
||||||
<integer>4</integer>
|
<integer>4</integer>
|
||||||
<key>MaxVertically</key>
|
<key>MaxVertically</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>NeverWarnAboutShortLivedSessions_82636119-EA17-4A26-9AA7-408172F4A9C8</key>
|
|
||||||
<true/>
|
|
||||||
<key>NeverWarnAboutShortLivedSessions_82636119-EA17-4A26-9AA7-408172F4A9C8_selection</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>New Bookmarks</key>
|
<key>New Bookmarks</key>
|
||||||
<array>
|
<array>
|
||||||
<dict>
|
<dict>
|
||||||
@@ -370,6 +362,8 @@
|
|||||||
<true/>
|
<true/>
|
||||||
<key>ASCII Ligatures</key>
|
<key>ASCII Ligatures</key>
|
||||||
<false/>
|
<false/>
|
||||||
|
<key>Allow Title Reporting</key>
|
||||||
|
<true/>
|
||||||
<key>Ambiguous Double Width</key>
|
<key>Ambiguous Double Width</key>
|
||||||
<false/>
|
<false/>
|
||||||
<key>Ansi 0 Color</key>
|
<key>Ansi 0 Color</key>
|
||||||
@@ -610,26 +604,12 @@
|
|||||||
<key>Red Component</key>
|
<key>Red Component</key>
|
||||||
<real>1</real>
|
<real>1</real>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Badge Font</key>
|
|
||||||
<string>JetBrainsMonoNerdFontCompleteM-Bold</string>
|
|
||||||
<key>Badge Max Height</key>
|
|
||||||
<real>0.10000000000000001</real>
|
|
||||||
<key>Badge Max Width</key>
|
|
||||||
<real>0.45000000000000001</real>
|
|
||||||
<key>Badge Right Margin</key>
|
|
||||||
<real>10</real>
|
|
||||||
<key>Badge Text</key>
|
|
||||||
<string></string>
|
|
||||||
<key>Badge Top Margin</key>
|
|
||||||
<real>10</real>
|
|
||||||
<key>Blend</key>
|
|
||||||
<real>0.24709154211956524</real>
|
|
||||||
<key>Blinking Cursor</key>
|
<key>Blinking Cursor</key>
|
||||||
<false/>
|
<false/>
|
||||||
<key>Blur</key>
|
<key>Blur</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>Blur Radius</key>
|
<key>Blur Radius</key>
|
||||||
<real>9.5927277260638313</real>
|
<real>10</real>
|
||||||
<key>Bold Color</key>
|
<key>Bold Color</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>Alpha Component</key>
|
<key>Alpha Component</key>
|
||||||
@@ -648,11 +628,9 @@
|
|||||||
<key>Close Sessions On End</key>
|
<key>Close Sessions On End</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>Columns</key>
|
<key>Columns</key>
|
||||||
<integer>120</integer>
|
<integer>130</integer>
|
||||||
<key>Command</key>
|
<key>Command</key>
|
||||||
<string></string>
|
<string></string>
|
||||||
<key>Cursor Boost</key>
|
|
||||||
<real>0.0</real>
|
|
||||||
<key>Cursor Color</key>
|
<key>Cursor Color</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>Alpha Component</key>
|
<key>Alpha Component</key>
|
||||||
@@ -720,11 +698,9 @@
|
|||||||
<real>0.80392156862745101</real>
|
<real>0.80392156862745101</real>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Guid</key>
|
<key>Guid</key>
|
||||||
<string>82636119-EA17-4A26-9AA7-408172F4A9C8</string>
|
<string>B563F48B-314D-48CC-908E-ACA971D430BE</string>
|
||||||
<key>Horizontal Spacing</key>
|
<key>Horizontal Spacing</key>
|
||||||
<real>1</real>
|
<real>1</real>
|
||||||
<key>Icon</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>Idle Code</key>
|
<key>Idle Code</key>
|
||||||
<integer>0</integer>
|
<integer>0</integer>
|
||||||
<key>Jobs to Ignore</key>
|
<key>Jobs to Ignore</key>
|
||||||
@@ -1030,8 +1006,6 @@
|
|||||||
<key>Red Component</key>
|
<key>Red Component</key>
|
||||||
<real>0.53725490196078429</real>
|
<real>0.53725490196078429</real>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Minimum Contrast</key>
|
|
||||||
<real>0.14973958333333334</real>
|
|
||||||
<key>Mouse Reporting</key>
|
<key>Mouse Reporting</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>Name</key>
|
<key>Name</key>
|
||||||
@@ -1057,7 +1031,7 @@
|
|||||||
<key>Rows</key>
|
<key>Rows</key>
|
||||||
<integer>25</integer>
|
<integer>25</integer>
|
||||||
<key>Screen</key>
|
<key>Screen</key>
|
||||||
<integer>-2</integer>
|
<integer>-1</integer>
|
||||||
<key>Scrollback Lines</key>
|
<key>Scrollback Lines</key>
|
||||||
<integer>0</integer>
|
<integer>0</integer>
|
||||||
<key>Selected Text Color</key>
|
<key>Selected Text Color</key>
|
||||||
@@ -1088,17 +1062,13 @@
|
|||||||
</dict>
|
</dict>
|
||||||
<key>Send Code When Idle</key>
|
<key>Send Code When Idle</key>
|
||||||
<false/>
|
<false/>
|
||||||
<key>Set Local Environment Vars</key>
|
|
||||||
<true/>
|
|
||||||
<key>Shortcut</key>
|
<key>Shortcut</key>
|
||||||
<string>T</string>
|
<string></string>
|
||||||
<key>Show Status Bar</key>
|
<key>Show Status Bar</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>Show Timestamps</key>
|
<key>Show Timestamps</key>
|
||||||
<integer>2</integer>
|
<integer>2</integer>
|
||||||
<key>Silence Bell</key>
|
<key>Silence Bell</key>
|
||||||
<false/>
|
|
||||||
<key>Smart Cursor Color</key>
|
|
||||||
<true/>
|
<true/>
|
||||||
<key>Status Bar Layout</key>
|
<key>Status Bar Layout</key>
|
||||||
<dict>
|
<dict>
|
||||||
@@ -1107,17 +1077,17 @@
|
|||||||
<key>algorithm</key>
|
<key>algorithm</key>
|
||||||
<integer>0</integer>
|
<integer>0</integer>
|
||||||
<key>auto-rainbow style</key>
|
<key>auto-rainbow style</key>
|
||||||
<integer>3</integer>
|
<integer>0</integer>
|
||||||
<key>font</key>
|
<key>font</key>
|
||||||
<string>.AppleSystemUIFont 12</string>
|
<string>.AppleSystemUIFont 12</string>
|
||||||
<key>remove empty components</key>
|
<key>remove empty components</key>
|
||||||
<false/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
<key>components</key>
|
<key>components</key>
|
||||||
<array>
|
<array>
|
||||||
<dict>
|
<dict>
|
||||||
<key>class</key>
|
<key>class</key>
|
||||||
<string>iTermStatusBarJobComponent</string>
|
<string>iTermStatusBarClockComponent</string>
|
||||||
<key>configuration</key>
|
<key>configuration</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>knobs</key>
|
<key>knobs</key>
|
||||||
@@ -1126,22 +1096,55 @@
|
|||||||
<integer>1</integer>
|
<integer>1</integer>
|
||||||
<key>base: priority</key>
|
<key>base: priority</key>
|
||||||
<real>5</real>
|
<real>5</real>
|
||||||
|
<key>format</key>
|
||||||
|
<string>YYYY-MM-dd HH:mm</string>
|
||||||
|
<key>localize</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>maxwidth</key>
|
||||||
|
<real>150</real>
|
||||||
|
<key>minwidth</key>
|
||||||
|
<real>150</real>
|
||||||
|
</dict>
|
||||||
|
<key>layout advanced configuration dictionary value</key>
|
||||||
|
<dict>
|
||||||
|
<key>algorithm</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>auto-rainbow style</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>remove empty components</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>class</key>
|
||||||
|
<string>iTermStatusBarHostnameComponent</string>
|
||||||
|
<key>configuration</key>
|
||||||
|
<dict>
|
||||||
|
<key>knobs</key>
|
||||||
|
<dict>
|
||||||
|
<key>abbreviate-localhost</key>
|
||||||
|
<string></string>
|
||||||
|
<key>base: compression resistance</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>base: priority</key>
|
||||||
|
<real>5</real>
|
||||||
<key>maxwidth</key>
|
<key>maxwidth</key>
|
||||||
<real>+infinity</real>
|
<real>+infinity</real>
|
||||||
<key>minwidth</key>
|
<key>minwidth</key>
|
||||||
<integer>0</integer>
|
<string>0</string>
|
||||||
<key>shared text color</key>
|
<key>shared text color</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>Alpha Component</key>
|
<key>Alpha Component</key>
|
||||||
<real>1</real>
|
<real>1</real>
|
||||||
<key>Blue Component</key>
|
<key>Blue Component</key>
|
||||||
<real>0.63</real>
|
<real>0.43218994140625</real>
|
||||||
<key>Color Space</key>
|
<key>Color Space</key>
|
||||||
<string>sRGB</string>
|
<string>sRGB</string>
|
||||||
<key>Green Component</key>
|
<key>Green Component</key>
|
||||||
<real>0.63</real>
|
<real>0.34513998031616211</real>
|
||||||
<key>Red Component</key>
|
<key>Red Component</key>
|
||||||
<real>0.90000000000000002</real>
|
<real>0.0</real>
|
||||||
</dict>
|
</dict>
|
||||||
</dict>
|
</dict>
|
||||||
<key>layout advanced configuration dictionary value</key>
|
<key>layout advanced configuration dictionary value</key>
|
||||||
@@ -1149,10 +1152,66 @@
|
|||||||
<key>algorithm</key>
|
<key>algorithm</key>
|
||||||
<integer>0</integer>
|
<integer>0</integer>
|
||||||
<key>auto-rainbow style</key>
|
<key>auto-rainbow style</key>
|
||||||
<integer>3</integer>
|
<integer>0</integer>
|
||||||
<key>font</key>
|
<key>font</key>
|
||||||
<string>.AppleSystemUIFont 12</string>
|
<string>.AppleSystemUIFont 12</string>
|
||||||
<key>remove empty components</key>
|
<key>remove empty components</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>class</key>
|
||||||
|
<string>iTermStatusBarSpringComponent</string>
|
||||||
|
<key>configuration</key>
|
||||||
|
<dict>
|
||||||
|
<key>knobs</key>
|
||||||
|
<dict>
|
||||||
|
<key>base: compression resistance</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>base: priority</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>iTermStatusBarSpringComponentSizeMultipleKey</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>iTermStatusBarSpringComponentSpringConstantKey</key>
|
||||||
|
<real>0.01</real>
|
||||||
|
</dict>
|
||||||
|
<key>layout advanced configuration dictionary value</key>
|
||||||
|
<dict>
|
||||||
|
<key>algorithm</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>auto-rainbow style</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>font</key>
|
||||||
|
<string>.AppleSystemUIFont 12</string>
|
||||||
|
<key>remove empty components</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>class</key>
|
||||||
|
<string>iTermStatusBarSpringComponent</string>
|
||||||
|
<key>configuration</key>
|
||||||
|
<dict>
|
||||||
|
<key>knobs</key>
|
||||||
|
<dict>
|
||||||
|
<key>base: compression resistance</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>base: priority</key>
|
||||||
|
<real>5</real>
|
||||||
|
<key>iTermStatusBarSpringComponentSizeMultipleKey</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>iTermStatusBarSpringComponentSpringConstantKey</key>
|
||||||
|
<real>0.01</real>
|
||||||
|
</dict>
|
||||||
|
<key>layout advanced configuration dictionary value</key>
|
||||||
|
<dict>
|
||||||
|
<key>algorithm</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>auto-rainbow style</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>remove empty components</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
</dict>
|
</dict>
|
||||||
@@ -1165,18 +1224,14 @@
|
|||||||
<array/>
|
<array/>
|
||||||
<key>Terminal Type</key>
|
<key>Terminal Type</key>
|
||||||
<string>xterm-256color</string>
|
<string>xterm-256color</string>
|
||||||
<key>Title Components</key>
|
|
||||||
<integer>512</integer>
|
|
||||||
<key>Transparency</key>
|
<key>Transparency</key>
|
||||||
<real>0.10293218085106381</real>
|
<real>0.20000000000000004</real>
|
||||||
<key>Unlimited Scrollback</key>
|
<key>Unlimited Scrollback</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>Use Bold Font</key>
|
<key>Use Bold Font</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>Use Bright Bold</key>
|
<key>Use Bright Bold</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>Use Cursor Guide</key>
|
|
||||||
<false/>
|
|
||||||
<key>Use Italic Font</key>
|
<key>Use Italic Font</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>Use Non-ASCII Font</key>
|
<key>Use Non-ASCII Font</key>
|
||||||
@@ -1191,12 +1246,6 @@
|
|||||||
<string>/Users/ivuorinen/Code</string>
|
<string>/Users/ivuorinen/Code</string>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>OpenArrangementAtStartup</key>
|
|
||||||
<false/>
|
|
||||||
<key>OpenNoWindowsAtStartup</key>
|
|
||||||
<false/>
|
|
||||||
<key>OpenTmuxWindowsIn</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>PointerActions</key>
|
<key>PointerActions</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>Button,1,1,,</key>
|
<key>Button,1,1,,</key>
|
||||||
@@ -1230,16 +1279,26 @@
|
|||||||
<string>kNextWindowPointerAction</string>
|
<string>kNextWindowPointerAction</string>
|
||||||
</dict>
|
</dict>
|
||||||
</dict>
|
</dict>
|
||||||
|
<key>PreserveWindowSizeWhenTabBarVisibilityChanges</key>
|
||||||
|
<true/>
|
||||||
|
<key>Print In Black And White</key>
|
||||||
|
<true/>
|
||||||
<key>PromptOnQuit</key>
|
<key>PromptOnQuit</key>
|
||||||
<false/>
|
<false/>
|
||||||
|
<key>SeparateStatusBarsPerPane</key>
|
||||||
|
<false/>
|
||||||
<key>SmartPlacement</key>
|
<key>SmartPlacement</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>SoundForEsc</key>
|
<key>SoundForEsc</key>
|
||||||
<false/>
|
<false/>
|
||||||
<key>SplitPaneDimmingAmount</key>
|
<key>StatusBarPosition</key>
|
||||||
<real>0.59999999999999998</real>
|
<integer>0</integer>
|
||||||
<key>TabStyleWithAutomaticOption</key>
|
<key>TabStyleWithAutomaticOption</key>
|
||||||
<integer>5</integer>
|
<integer>5</integer>
|
||||||
|
<key>ThreeFingerEmulates</key>
|
||||||
|
<true/>
|
||||||
|
<key>TmuxUnpauseAutomatically</key>
|
||||||
|
<true/>
|
||||||
<key>VisualIndicatorForEsc</key>
|
<key>VisualIndicatorForEsc</key>
|
||||||
<false/>
|
<false/>
|
||||||
<key>kCPKSelectionViewPreferredModeKey</key>
|
<key>kCPKSelectionViewPreferredModeKey</key>
|
||||||
|
|||||||
Submodule config/nvim updated: 86d586728b...d749be33f6
@@ -42,3 +42,40 @@ data.location=$XDG_DATA_HOME/task/
|
|||||||
weekstart=monday
|
weekstart=monday
|
||||||
|
|
||||||
news.version=2.6.0
|
news.version=2.6.0
|
||||||
|
|
||||||
|
default.project=Inbox
|
||||||
|
calendar.details=full
|
||||||
|
calendar.holidays=sparse
|
||||||
|
|
||||||
|
uda.taskwarrior-tui.keyconfig.quit=q
|
||||||
|
uda.taskwarrior-tui.keyconfig.refresh=r
|
||||||
|
uda.taskwarrior-tui.keyconfig.go-to-bottom=G
|
||||||
|
uda.taskwarrior-tui.keyconfig.go-to-top=g
|
||||||
|
uda.taskwarrior-tui.keyconfig.down=j
|
||||||
|
uda.taskwarrior-tui.keyconfig.up=k
|
||||||
|
uda.taskwarrior-tui.keyconfig.page-down=J
|
||||||
|
uda.taskwarrior-tui.keyconfig.page-up=K
|
||||||
|
uda.taskwarrior-tui.keyconfig.delete=x
|
||||||
|
uda.taskwarrior-tui.keyconfig.done=d
|
||||||
|
uda.taskwarrior-tui.keyconfig.start-stop=s
|
||||||
|
uda.taskwarrior-tui.keyconfig.quick-tag=t
|
||||||
|
uda.taskwarrior-tui.keyconfig.undo=u
|
||||||
|
uda.taskwarrior-tui.keyconfig.edit=e
|
||||||
|
uda.taskwarrior-tui.keyconfig.modify=m
|
||||||
|
uda.taskwarrior-tui.keyconfig.shell=!
|
||||||
|
uda.taskwarrior-tui.keyconfig.log=l
|
||||||
|
uda.taskwarrior-tui.keyconfig.add=a
|
||||||
|
uda.taskwarrior-tui.keyconfig.annotate=A
|
||||||
|
uda.taskwarrior-tui.keyconfig.filter=/
|
||||||
|
uda.taskwarrior-tui.keyconfig.zoom=z
|
||||||
|
uda.taskwarrior-tui.keyconfig.context-menu=c
|
||||||
|
uda.taskwarrior-tui.keyconfig.next-tab=.
|
||||||
|
uda.taskwarrior-tui.keyconfig.previous-tab=,
|
||||||
|
|
||||||
|
taskd.certificate=$XDG_DATA_HOME/task/private.certificate.pem
|
||||||
|
taskd.key=$XDG_DATA_HOME/task/private.key.pem
|
||||||
|
taskd.ca=$XDG_DATA_HOME/task/ca.cert.pem
|
||||||
|
taskd.server=inthe.am:53589
|
||||||
|
taskd.credentials=inthe_am/ivuorinen/b99a4970-94fb-4fb8-b9fe-e1a8140dd44d
|
||||||
|
taskd.trust=strict
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ set -g @tpm_plugins ' \
|
|||||||
yardnsm/tmux-1password \
|
yardnsm/tmux-1password \
|
||||||
jaclu/tmux-menus \
|
jaclu/tmux-menus \
|
||||||
sainnhe/tmux-fzf \
|
sainnhe/tmux-fzf \
|
||||||
|
MunifTanjim/tmux-mode-indicator \
|
||||||
|
MunifTanjim/tmux-suspend \
|
||||||
tmux-plugins/tmux-continuum \
|
tmux-plugins/tmux-continuum \
|
||||||
tmux-plugins/tmux-resurrect \
|
tmux-plugins/tmux-resurrect \
|
||||||
tmux-plugins/tmux-sensible \
|
tmux-plugins/tmux-sensible \
|
||||||
@@ -21,6 +23,9 @@ set -g @tpm_plugins ' \
|
|||||||
tmux-plugins/tmux-yank \
|
tmux-plugins/tmux-yank \
|
||||||
'
|
'
|
||||||
|
|
||||||
|
# Set plugins install dir
|
||||||
|
set-environment -g TMUX_PLUGIN_MANAGER_PATH '~/.config/tmux/plugins/'
|
||||||
|
|
||||||
set-option -sa terminal-overrides ",xterm*:Tc"
|
set-option -sa terminal-overrides ",xterm*:Tc"
|
||||||
|
|
||||||
# Mouse support
|
# Mouse support
|
||||||
@@ -61,7 +66,7 @@ bind -n M-H previous-window
|
|||||||
bind -n M-L next-window
|
bind -n M-L next-window
|
||||||
|
|
||||||
# Reload tmux config with <prefix> + r
|
# Reload tmux config with <prefix> + r
|
||||||
bind r source-file ~/.config/tmux/tmux.conf \; display "tmux cfg reloaded!"
|
bind r source-file ~/.dotfiles/config/tmux/tmux.conf \; display "tmux cfg reloaded!"
|
||||||
|
|
||||||
# Open a new window with <prefix> + N
|
# Open a new window with <prefix> + N
|
||||||
bind N new-window
|
bind N new-window
|
||||||
@@ -78,6 +83,25 @@ set -g @1password-key 'x'
|
|||||||
set -g @catppuccin_flavour 'mocha' # latte/frappe/macchiato/mocha
|
set -g @catppuccin_flavour 'mocha' # latte/frappe/macchiato/mocha
|
||||||
set -g @catppuccin_window_tabs_enabled on # or off to disable window_tabs
|
set -g @catppuccin_window_tabs_enabled on # or off to disable window_tabs
|
||||||
|
|
||||||
|
## https://github.com/MunifTanjim/tmux-mode-indicator
|
||||||
|
set -g status-right '%Y-%m-%d %H:%M #{tmux_mode_indicator}'
|
||||||
|
|
||||||
|
set -g @mode_indicator_prefix_prompt ' WAIT '
|
||||||
|
set -g @mode_indicator_copy_prompt ' COPY '
|
||||||
|
set -g @mode_indicator_sync_prompt ' SYNC '
|
||||||
|
set -g @mode_indicator_empty_prompt ' TMUX '
|
||||||
|
set -g @mode_indicator_prefix_mode_style 'bg=blue,fg=black'
|
||||||
|
set -g @mode_indicator_copy_mode_style 'bg=yellow,fg=black'
|
||||||
|
set -g @mode_indicator_sync_mode_style 'bg=red,fg=black'
|
||||||
|
set -g @mode_indicator_empty_mode_style 'bg=cyan,fg=black'
|
||||||
|
|
||||||
|
## https://github.com/MunifTanjim/tmux-suspend
|
||||||
|
set -g @suspend_key 'F12'
|
||||||
|
set -g @suspend_suspended_options " \
|
||||||
|
@mode_indicator_custom_prompt:: ---- , \
|
||||||
|
@mode_indicator_custom_mode_style::bg=brightblack\\,fg=black, \
|
||||||
|
"
|
||||||
|
|
||||||
## https://github.com/tmux-plugins/tmux-continuum
|
## https://github.com/tmux-plugins/tmux-continuum
|
||||||
set -g @continuum-restore 'on'
|
set -g @continuum-restore 'on'
|
||||||
set -g @continuum-boot 'on'
|
set -g @continuum-boot 'on'
|
||||||
@@ -87,7 +111,7 @@ set -g @continuum-boot-options 'iterm'
|
|||||||
set -g @resurrect-strategy-nvim 'session'
|
set -g @resurrect-strategy-nvim 'session'
|
||||||
|
|
||||||
## https://github.com/b0o/tmux-autoreload
|
## https://github.com/b0o/tmux-autoreload
|
||||||
set-option -g @tmux-autoreload-configs '~/.config/tmux/tmux.conf'
|
set-option -g @tmux-autoreload-configs '~/.dotfiles/config/tmux/tmux.conf'
|
||||||
|
|
||||||
## https://github.com/sainnhe/tmux-fzf
|
## https://github.com/sainnhe/tmux-fzf
|
||||||
TMUX_FZF_LAUNCH_KEY="l"
|
TMUX_FZF_LAUNCH_KEY="l"
|
||||||
@@ -103,7 +127,7 @@ bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
|
|||||||
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
|
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
|
||||||
|
|
||||||
bind '"' split-window -v -c "#{pane_current_path}"
|
bind '"' split-window -v -c "#{pane_current_path}"
|
||||||
bind % split-window -h -c "#{pane_current_path}"
|
bind '!' split-window -h -c "#{pane_current_path}"
|
||||||
|
|
||||||
# synchronize all panes in a window
|
# synchronize all panes in a window
|
||||||
bind y setw synchronize-panes
|
bind y setw synchronize-panes
|
||||||
|
|||||||
52
config/zsh/.zshrc
Normal file
52
config/zsh/.zshrc
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
autoload -U colors zsh/terminfo
|
||||||
|
colors
|
||||||
|
setopt correct
|
||||||
|
|
||||||
|
# Add completion scripts to zsh path
|
||||||
|
FPATH="~/.config/zsh/completion:$FPATH"
|
||||||
|
autoload -Uz compinit && compinit -i
|
||||||
|
compinit -d "$XDG_CACHE_HOME"/zsh/zcompdump-"$ZSH_VERSION"
|
||||||
|
|
||||||
|
# Defaults
|
||||||
|
export DOTFILES="$HOME/.dotfiles"
|
||||||
|
# shellcheck source=shared.sh
|
||||||
|
source "$DOTFILES/scripts/shared.sh"
|
||||||
|
|
||||||
|
# Run x-load-configs in your terminal to reload the files.
|
||||||
|
function x-load-configs()
|
||||||
|
{
|
||||||
|
# Load the shell dotfiles, and then some:
|
||||||
|
for file in $DOTFILES/config/{exports,alias,functions}; do
|
||||||
|
[ -f "$file" ] && source "$file"
|
||||||
|
[ -f "$file-secret" ] && source "$file-secret"
|
||||||
|
[ -f "$file-$HOSTNAME" ] && source "$file-$HOSTNAME"
|
||||||
|
[ -f "$file-$HOSTNAME-secret" ] && source "$file-$HOSTNAME-secret"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
x-load-configs
|
||||||
|
|
||||||
|
# Import ssh keys in keychain
|
||||||
|
ssh-add -A 2>/dev/null;
|
||||||
|
|
||||||
|
# Try to load antigen, if present
|
||||||
|
ANTIGEN_ZSH_PATH="$XDG_BIN_HOME/antigen.zsh"
|
||||||
|
[[ -f "$ANTIGEN_ZSH_PATH" ]] && source "$ANTIGEN_ZSH_PATH"
|
||||||
|
|
||||||
|
# antigen is present
|
||||||
|
have antigen && {
|
||||||
|
antigen use oh-my-zsh
|
||||||
|
|
||||||
|
# config/functions
|
||||||
|
x-default-antigen-bundles
|
||||||
|
|
||||||
|
antigen apply
|
||||||
|
}
|
||||||
|
|
||||||
|
# starship is present
|
||||||
|
have starship && eval "$(starship init zsh)"
|
||||||
|
|
||||||
|
[ -f "${XDG_CONFIG_HOME:-$HOME/.config}"/fzf/fzf.zsh ] \
|
||||||
|
&& source "${XDG_CONFIG_HOME:-$HOME/.config}"/fzf/fzf.zsh
|
||||||
|
|
||||||
|
export LESSHISTFILE="$XDG_CACHE_HOME"/less_history
|
||||||
|
|
||||||
@@ -1,174 +0,0 @@
|
|||||||
#compdef nb
|
|
||||||
###############################################################################
|
|
||||||
# __ _
|
|
||||||
# \ \ _ __ | |__
|
|
||||||
# \ \ | '_ \| '_ \
|
|
||||||
# / / | | | | |_) |
|
|
||||||
# /_/ |_| |_|_.__/
|
|
||||||
#
|
|
||||||
# [nb] Command line and local web note-taking, bookmarking, and archiving with
|
|
||||||
# plain text data storage, encryption, filtering and search, pinning, #tagging,
|
|
||||||
# Git-backed versioning and syncing, Pandoc-backed conversion, global and local
|
|
||||||
# notebooks, customizable color themes, [[wiki-style linking]], plugins, and
|
|
||||||
# more in a single portable, user-friendly script.
|
|
||||||
#
|
|
||||||
# https://github.com/xwmx/nb
|
|
||||||
###############################################################################
|
|
||||||
_nb_subcommands() {
|
|
||||||
# _nb_cache_completions()
|
|
||||||
#
|
|
||||||
# Usage:
|
|
||||||
# _nb_cache_completions <path>
|
|
||||||
#
|
|
||||||
# Description:
|
|
||||||
# Cache completions for `nb`. Generating completions can be slow and
|
|
||||||
# native shell caching doesn't appear to help.
|
|
||||||
_nb_cache_completions() {
|
|
||||||
local _cache_path="${1:-}"
|
|
||||||
|
|
||||||
[[ -z "${_cache_path:-}" ]] && return 0
|
|
||||||
|
|
||||||
# Remove outdated cache files.
|
|
||||||
|
|
||||||
local _base_cache_path="${_cache_path%-*}"
|
|
||||||
|
|
||||||
local __suffix=
|
|
||||||
for __suffix in "zsh" "v1"
|
|
||||||
do
|
|
||||||
if [[ -e "${_base_cache_path:?}-${__suffix:?}" ]]
|
|
||||||
then
|
|
||||||
rm -f "${_base_cache_path:?}-${__suffix:?}"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Rebuild completion cache.
|
|
||||||
|
|
||||||
local _commands=
|
|
||||||
IFS=$'\n' _commands=($(nb subcommands))
|
|
||||||
|
|
||||||
local _notebooks=
|
|
||||||
IFS=$'\n' _notebooks=($(nb notebooks --names --no-color --unarchived))
|
|
||||||
|
|
||||||
local _completions=()
|
|
||||||
IFS=$'\n' _completions=(${_commands[@]})
|
|
||||||
|
|
||||||
local _commands_cached=
|
|
||||||
local _notebooks_cached=
|
|
||||||
|
|
||||||
if [[ -e "${_cache_path}" ]]
|
|
||||||
then
|
|
||||||
local _counter=0
|
|
||||||
|
|
||||||
local __line=
|
|
||||||
while IFS= read -r __line
|
|
||||||
do
|
|
||||||
_counter=$((_counter+1))
|
|
||||||
|
|
||||||
if [[ "${_counter}" == 1 ]]
|
|
||||||
then
|
|
||||||
_commands_cached="${__line}"
|
|
||||||
elif [[ "${_counter}" == 2 ]]
|
|
||||||
then
|
|
||||||
_notebooks_cached="${__line}"
|
|
||||||
else
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done < "${_cache_path}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "${_commands_cached}" != "${_commands[*]:-}" ]] ||
|
|
||||||
[[ "${_notebooks_cached}" != "${_notebooks[*]:-}" ]]
|
|
||||||
then
|
|
||||||
# Construct <notebook>:<subcommand> completions.
|
|
||||||
local __notebook=
|
|
||||||
for __notebook in "${_notebooks[@]}"
|
|
||||||
do
|
|
||||||
local __command=
|
|
||||||
for __command in "${_commands[@]}"
|
|
||||||
do
|
|
||||||
if [[ -n "${__notebook:-}" ]] &&
|
|
||||||
[[ -n "${__command:-}" ]]
|
|
||||||
then
|
|
||||||
_completions+=("${__notebook}:${__command}")
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
done
|
|
||||||
|
|
||||||
local _directory_path=
|
|
||||||
_directory_path="$(dirname "${_cache_path}")"
|
|
||||||
|
|
||||||
mkdir -p "${_directory_path}"
|
|
||||||
|
|
||||||
if [[ -f "${_cache_path:?}" ]]
|
|
||||||
then
|
|
||||||
rm -f "${_cache_path:?}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
touch "${_cache_path:?}"
|
|
||||||
|
|
||||||
{
|
|
||||||
(IFS=$' '; printf "%s\\n" "${_commands[*]}")
|
|
||||||
(IFS=$' '; printf "%s\\n" "${_notebooks[*]}")
|
|
||||||
printf "%s\\n" "${_completions[@]}"
|
|
||||||
} >> "${_cache_path}"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
local _nb_dir=
|
|
||||||
_nb_dir="$(nb env | grep 'NB_DIR' | cut -d = -f 2)"
|
|
||||||
|
|
||||||
if [[ -z "${_nb_dir:?}" ]] ||
|
|
||||||
[[ ! -e "${_nb_dir}" ]]
|
|
||||||
then
|
|
||||||
return 0
|
|
||||||
elif [[ -L "${_nb_dir}" ]]
|
|
||||||
then
|
|
||||||
if hash "realpath" 2>/dev/null
|
|
||||||
then
|
|
||||||
_nb_dir="$(realpath "${_nb_dir}")"
|
|
||||||
else
|
|
||||||
_nb_dir="$(readlink "${_nb_dir}")"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ ! -d "${_nb_dir}" ]]
|
|
||||||
then
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
local _cache_path="${_nb_dir:?}/.cache/nb-completion-cache-v2"
|
|
||||||
local _completions_cached=()
|
|
||||||
|
|
||||||
if [[ ! -e "${_cache_path}" ]]
|
|
||||||
then
|
|
||||||
_nb_cache_completions "${_cache_path}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -e "${_cache_path}" ]]
|
|
||||||
then
|
|
||||||
local _counter=0
|
|
||||||
|
|
||||||
local __line=
|
|
||||||
while IFS= read -r __line
|
|
||||||
do
|
|
||||||
_counter=$((_counter+1))
|
|
||||||
|
|
||||||
if [[ "${_counter}" -gt 2 ]]
|
|
||||||
then
|
|
||||||
_completions_cached+=("${__line}")
|
|
||||||
fi
|
|
||||||
done < "${_cache_path}"
|
|
||||||
|
|
||||||
(_nb_cache_completions "${_cache_path}" &)
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "${?}" -eq 0 ]]
|
|
||||||
then
|
|
||||||
compadd -- "${_completions_cached[@]}"
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
_nb_subcommands "$@"
|
|
||||||
@@ -31,7 +31,7 @@ bind-key -T copy-mode P send-keys -X toggle-position
|
|||||||
bind-key -T copy-mode R send-keys -X rectangle-toggle
|
bind-key -T copy-mode R send-keys -X rectangle-toggle
|
||||||
bind-key -T copy-mode T command-prompt -1 -p "(jump to backward)" { send-keys -X jump-to-backward "%%" }
|
bind-key -T copy-mode T command-prompt -1 -p "(jump to backward)" { send-keys -X jump-to-backward "%%" }
|
||||||
bind-key -T copy-mode X send-keys -X set-mark
|
bind-key -T copy-mode X send-keys -X set-mark
|
||||||
bind-key -T copy-mode Y send-keys -X copy-pipe-and-cancel "tmux paste-buffer"
|
bind-key -T copy-mode Y send-keys -X copy-pipe-and-cancel "tmux paste-buffer -p"
|
||||||
bind-key -T copy-mode f command-prompt -1 -p "(jump forward)" { send-keys -X jump-forward "%%" }
|
bind-key -T copy-mode f command-prompt -1 -p "(jump forward)" { send-keys -X jump-forward "%%" }
|
||||||
bind-key -T copy-mode g command-prompt -p "(goto line)" { send-keys -X goto-line "%%" }
|
bind-key -T copy-mode g command-prompt -p "(goto line)" { send-keys -X goto-line "%%" }
|
||||||
bind-key -T copy-mode n send-keys -X search-again
|
bind-key -T copy-mode n send-keys -X search-again
|
||||||
@@ -75,7 +75,7 @@ bind-key -T copy-mode M-r send-keys -X middle-line
|
|||||||
bind-key -T copy-mode M-v send-keys -X page-up
|
bind-key -T copy-mode M-v send-keys -X page-up
|
||||||
bind-key -T copy-mode M-w send-keys -X copy-pipe-and-cancel
|
bind-key -T copy-mode M-w send-keys -X copy-pipe-and-cancel
|
||||||
bind-key -T copy-mode M-x send-keys -X jump-to-mark
|
bind-key -T copy-mode M-x send-keys -X jump-to-mark
|
||||||
bind-key -T copy-mode M-y send-keys -X copy-pipe-and-cancel "pbcopy; tmux paste-buffer"
|
bind-key -T copy-mode M-y send-keys -X copy-pipe-and-cancel "pbcopy; tmux paste-buffer -p"
|
||||||
bind-key -T copy-mode "M-{" send-keys -X previous-paragraph
|
bind-key -T copy-mode "M-{" send-keys -X previous-paragraph
|
||||||
bind-key -T copy-mode "M-}" send-keys -X next-paragraph
|
bind-key -T copy-mode "M-}" send-keys -X next-paragraph
|
||||||
bind-key -T copy-mode M-Up send-keys -X halfpage-up
|
bind-key -T copy-mode M-Up send-keys -X halfpage-up
|
||||||
@@ -136,7 +136,7 @@ bind-key -T copy-mode-vi T command-prompt -1 -p "(jump to
|
|||||||
bind-key -T copy-mode-vi V send-keys -X select-line
|
bind-key -T copy-mode-vi V send-keys -X select-line
|
||||||
bind-key -T copy-mode-vi W send-keys -X next-space
|
bind-key -T copy-mode-vi W send-keys -X next-space
|
||||||
bind-key -T copy-mode-vi X send-keys -X set-mark
|
bind-key -T copy-mode-vi X send-keys -X set-mark
|
||||||
bind-key -T copy-mode-vi Y send-keys -X copy-pipe-and-cancel "tmux paste-buffer"
|
bind-key -T copy-mode-vi Y send-keys -X copy-pipe-and-cancel "tmux paste-buffer -p"
|
||||||
bind-key -T copy-mode-vi ^ send-keys -X back-to-indentation
|
bind-key -T copy-mode-vi ^ send-keys -X back-to-indentation
|
||||||
bind-key -T copy-mode-vi b send-keys -X previous-word
|
bind-key -T copy-mode-vi b send-keys -X previous-word
|
||||||
bind-key -T copy-mode-vi e send-keys -X next-word-end
|
bind-key -T copy-mode-vi e send-keys -X next-word-end
|
||||||
@@ -171,7 +171,7 @@ bind-key -T copy-mode-vi Down send-keys -X cursor-down
|
|||||||
bind-key -T copy-mode-vi Left send-keys -X cursor-left
|
bind-key -T copy-mode-vi Left send-keys -X cursor-left
|
||||||
bind-key -T copy-mode-vi Right send-keys -X cursor-right
|
bind-key -T copy-mode-vi Right send-keys -X cursor-right
|
||||||
bind-key -T copy-mode-vi M-x send-keys -X jump-to-mark
|
bind-key -T copy-mode-vi M-x send-keys -X jump-to-mark
|
||||||
bind-key -T copy-mode-vi M-y send-keys -X copy-pipe-and-cancel "pbcopy; tmux paste-buffer"
|
bind-key -T copy-mode-vi M-y send-keys -X copy-pipe-and-cancel "pbcopy; tmux paste-buffer -p"
|
||||||
bind-key -T copy-mode-vi C-Up send-keys -X scroll-up
|
bind-key -T copy-mode-vi C-Up send-keys -X scroll-up
|
||||||
bind-key -T copy-mode-vi C-Down send-keys -X scroll-down
|
bind-key -T copy-mode-vi C-Down send-keys -X scroll-down
|
||||||
bind-key -T join-pane \" run-shell "'/Users/ivuorinen/.config/tmux/plugins/tmux-sessionist/scripts/join_pane.sh' 'join-pane' '-b' '-v'"
|
bind-key -T join-pane \" run-shell "'/Users/ivuorinen/.config/tmux/plugins/tmux-sessionist/scripts/join_pane.sh' 'join-pane' '-b' '-v'"
|
||||||
@@ -183,6 +183,7 @@ bind-key -T join-pane h run-shell "'/Users/ivuorinen/.c
|
|||||||
bind-key -T join-pane v run-shell "'/Users/ivuorinen/.config/tmux/plugins/tmux-sessionist/scripts/join_pane.sh' 'join-pane' '-b' '-v'"
|
bind-key -T join-pane v run-shell "'/Users/ivuorinen/.config/tmux/plugins/tmux-sessionist/scripts/join_pane.sh' 'join-pane' '-b' '-v'"
|
||||||
bind-key -T join-pane | run-shell "'/Users/ivuorinen/.config/tmux/plugins/tmux-sessionist/scripts/join_pane.sh' 'join-pane' '-b' '-h'"
|
bind-key -T join-pane | run-shell "'/Users/ivuorinen/.config/tmux/plugins/tmux-sessionist/scripts/join_pane.sh' 'join-pane' '-b' '-h'"
|
||||||
bind-key -T prefix C-Space run-shell "/Users/ivuorinen/.config/tmux/plugins/tmux-sessionist/scripts/promote_window.sh '#{session_name}' '#{window_id}' '#{window_name}' '#{pane_current_path}'"
|
bind-key -T prefix C-Space run-shell "/Users/ivuorinen/.config/tmux/plugins/tmux-sessionist/scripts/promote_window.sh '#{session_name}' '#{window_id}' '#{window_name}' '#{pane_current_path}'"
|
||||||
|
bind-key -T prefix Enter run-shell -b "/Users/ivuorinen/.config/tmux/plugins/tmux-notify/scripts/notify.sh false true"
|
||||||
bind-key -T prefix C-n next-window
|
bind-key -T prefix C-n next-window
|
||||||
bind-key -T prefix C-o rotate-window
|
bind-key -T prefix C-o rotate-window
|
||||||
bind-key -T prefix C-p previous-window
|
bind-key -T prefix C-p previous-window
|
||||||
@@ -191,7 +192,7 @@ bind-key -T prefix C-s run-shell /Users/ivuorinen/.con
|
|||||||
bind-key -T prefix C-z suspend-client
|
bind-key -T prefix C-z suspend-client
|
||||||
bind-key -T prefix Escape copy-mode
|
bind-key -T prefix Escape copy-mode
|
||||||
bind-key -T prefix Space next-layout
|
bind-key -T prefix Space next-layout
|
||||||
bind-key -T prefix ! break-pane
|
bind-key -T prefix ! split-window -h -c "#{pane_current_path}"
|
||||||
bind-key -T prefix \" split-window -v -c "#{pane_current_path}"
|
bind-key -T prefix \" split-window -v -c "#{pane_current_path}"
|
||||||
bind-key -T prefix \# list-buffers
|
bind-key -T prefix \# list-buffers
|
||||||
bind-key -T prefix \$ command-prompt -I "#S" { rename-session "%%" }
|
bind-key -T prefix \$ command-prompt -I "#S" { rename-session "%%" }
|
||||||
@@ -226,7 +227,7 @@ bind-key -T prefix D choose-client -Z
|
|||||||
bind-key -T prefix E select-layout -E
|
bind-key -T prefix E select-layout -E
|
||||||
bind-key -T prefix I run-shell /Users/ivuorinen/.config/tmux/plugins/tpm/bindings/install_plugins
|
bind-key -T prefix I run-shell /Users/ivuorinen/.config/tmux/plugins/tpm/bindings/install_plugins
|
||||||
bind-key -T prefix L switch-client -l
|
bind-key -T prefix L switch-client -l
|
||||||
bind-key -T prefix M select-pane -M
|
bind-key -T prefix M run-shell -b /Users/ivuorinen/.config/tmux/plugins/tmux-notify/scripts/cancel.sh
|
||||||
bind-key -T prefix N new-window
|
bind-key -T prefix N new-window
|
||||||
bind-key -T prefix R run-shell " tmux source-file /Users/ivuorinen/.config/tmux/tmux.conf > /dev/null; tmux display-message 'Sourced /Users/ivuorinen/.config/tmux/tmux.conf!'"
|
bind-key -T prefix R run-shell " tmux source-file /Users/ivuorinen/.config/tmux/tmux.conf > /dev/null; tmux display-message 'Sourced /Users/ivuorinen/.config/tmux/tmux.conf!'"
|
||||||
bind-key -T prefix S switch-client -l
|
bind-key -T prefix S switch-client -l
|
||||||
@@ -252,7 +253,7 @@ bind-key -T prefix r source-file /Users/ivuorinen/.d
|
|||||||
bind-key -T prefix s choose-tree -Zs
|
bind-key -T prefix s choose-tree -Zs
|
||||||
bind-key -T prefix t run-shell "/Users/ivuorinen/.config/tmux/plugins/tmux-sessionist/scripts/join_pane.sh 'join-pane' '-b'"
|
bind-key -T prefix t run-shell "/Users/ivuorinen/.config/tmux/plugins/tmux-sessionist/scripts/join_pane.sh 'join-pane' '-b'"
|
||||||
bind-key -T prefix w choose-tree -Zw
|
bind-key -T prefix w choose-tree -Zw
|
||||||
bind-key -T prefix x confirm-before -p "kill-pane #P? (y/n)" kill-pane
|
bind-key -T prefix x run-shell "tmux split-window -l 10 \"/Users/ivuorinen/.config/tmux/plugins/tmux-1password/scripts/main.sh '#{pane_id}'\""
|
||||||
bind-key -T prefix y run-shell -b /Users/ivuorinen/.config/tmux/plugins/tmux-yank/scripts/copy_line.sh
|
bind-key -T prefix y run-shell -b /Users/ivuorinen/.config/tmux/plugins/tmux-yank/scripts/copy_line.sh
|
||||||
bind-key -T prefix z resize-pane -Z
|
bind-key -T prefix z resize-pane -Z
|
||||||
bind-key -T prefix \{ swap-pane -U
|
bind-key -T prefix \{ swap-pane -U
|
||||||
@@ -264,11 +265,13 @@ bind-key -r -T prefix Up select-pane -U
|
|||||||
bind-key -r -T prefix Down select-pane -D
|
bind-key -r -T prefix Down select-pane -D
|
||||||
bind-key -r -T prefix Left select-pane -L
|
bind-key -r -T prefix Left select-pane -L
|
||||||
bind-key -r -T prefix Right select-pane -R
|
bind-key -r -T prefix Right select-pane -R
|
||||||
|
bind-key -T prefix M-Enter run-shell -b "/Users/ivuorinen/.config/tmux/plugins/tmux-notify/scripts/notify.sh true true"
|
||||||
bind-key -T prefix M-1 select-layout even-horizontal
|
bind-key -T prefix M-1 select-layout even-horizontal
|
||||||
bind-key -T prefix M-2 select-layout even-vertical
|
bind-key -T prefix M-2 select-layout even-vertical
|
||||||
bind-key -T prefix M-3 select-layout main-horizontal
|
bind-key -T prefix M-3 select-layout main-horizontal
|
||||||
bind-key -T prefix M-4 select-layout main-vertical
|
bind-key -T prefix M-4 select-layout main-vertical
|
||||||
bind-key -T prefix M-5 select-layout tiled
|
bind-key -T prefix M-5 select-layout tiled
|
||||||
|
bind-key -T prefix M-m run-shell -b "/Users/ivuorinen/.config/tmux/plugins/tmux-notify/scripts/notify.sh true"
|
||||||
bind-key -T prefix M-n next-window -a
|
bind-key -T prefix M-n next-window -a
|
||||||
bind-key -T prefix M-o rotate-window -D
|
bind-key -T prefix M-o rotate-window -D
|
||||||
bind-key -T prefix M-p previous-window -a
|
bind-key -T prefix M-p previous-window -a
|
||||||
@@ -303,6 +306,7 @@ bind-key -T root WheelUpStatus previous-window
|
|||||||
bind-key -T root WheelDownStatus next-window
|
bind-key -T root WheelDownStatus next-window
|
||||||
bind-key -T root DoubleClick1Pane select-pane -t = \; if-shell -F "#{||:#{pane_in_mode},#{mouse_any_flag}}" { send-keys -M } { copy-mode -H ; send-keys -X select-word ; run-shell -d 0.3 ; send-keys -X copy-pipe-and-cancel }
|
bind-key -T root DoubleClick1Pane select-pane -t = \; if-shell -F "#{||:#{pane_in_mode},#{mouse_any_flag}}" { send-keys -M } { copy-mode -H ; send-keys -X select-word ; run-shell -d 0.3 ; send-keys -X copy-pipe-and-cancel }
|
||||||
bind-key -T root TripleClick1Pane select-pane -t = \; if-shell -F "#{||:#{pane_in_mode},#{mouse_any_flag}}" { send-keys -M } { copy-mode -H ; send-keys -X select-line ; run-shell -d 0.3 ; send-keys -X copy-pipe-and-cancel }
|
bind-key -T root TripleClick1Pane select-pane -t = \; if-shell -F "#{||:#{pane_in_mode},#{mouse_any_flag}}" { send-keys -M } { copy-mode -H ; send-keys -X select-line ; run-shell -d 0.3 ; send-keys -X copy-pipe-and-cancel }
|
||||||
|
bind-key -T root F12 run-shell "/Users/ivuorinen/.config/tmux/plugins/tmux-suspend/scripts/suspend.sh \"\" \" @mode_indicator_custom_prompt:: ---- , @mode_indicator_custom_mode_style::bg=brightblack\,fg=black, \""
|
||||||
bind-key -T root M-H previous-window
|
bind-key -T root M-H previous-window
|
||||||
bind-key -T root M-L next-window
|
bind-key -T root M-L next-window
|
||||||
bind-key -T root M-MouseDown3Pane display-menu -T "#[align=centre]#{pane_index} (#{pane_id})" -t = -x M -y M "#{?#{m/r:(copy|view)-mode,#{pane_mode}},Go To Top,}" < { send-keys -X history-top } "#{?#{m/r:(copy|view)-mode,#{pane_mode}},Go To Bottom,}" > { send-keys -X history-bottom } '' "#{?mouse_word,Search For #[underscore]#{=/9/...:mouse_word},}" C-r { if-shell -F "#{?#{m/r:(copy|view)-mode,#{pane_mode}},0,1}" "copy-mode -t=" ; send-keys -X -t = search-backward "#{q:mouse_word}" } "#{?mouse_word,Type #[underscore]#{=/9/...:mouse_word},}" C-y { copy-mode -q ; send-keys -l "#{q:mouse_word}" } "#{?mouse_word,Copy #[underscore]#{=/9/...:mouse_word},}" c { copy-mode -q ; set-buffer "#{q:mouse_word}" } "#{?mouse_line,Copy Line,}" l { copy-mode -q ; set-buffer "#{q:mouse_line}" } '' "Horizontal Split" h { split-window -h } "Vertical Split" v { split-window -v } '' "#{?#{>:#{window_panes},1},,-}Swap Up" u { swap-pane -U } "#{?#{>:#{window_panes},1},,-}Swap Down" d { swap-pane -D } "#{?pane_marked_set,,-}Swap Marked" s { swap-pane } '' Kill X { kill-pane } Respawn R { respawn-pane -k } "#{?pane_marked,Unmark,Mark}" m { select-pane -m } "#{?#{>:#{window_panes},1},,-}#{?window_zoomed_flag,Unzoom,Zoom}" z { resize-pane -Z }
|
bind-key -T root M-MouseDown3Pane display-menu -T "#[align=centre]#{pane_index} (#{pane_id})" -t = -x M -y M "#{?#{m/r:(copy|view)-mode,#{pane_mode}},Go To Top,}" < { send-keys -X history-top } "#{?#{m/r:(copy|view)-mode,#{pane_mode}},Go To Bottom,}" > { send-keys -X history-bottom } '' "#{?mouse_word,Search For #[underscore]#{=/9/...:mouse_word},}" C-r { if-shell -F "#{?#{m/r:(copy|view)-mode,#{pane_mode}},0,1}" "copy-mode -t=" ; send-keys -X -t = search-backward "#{q:mouse_word}" } "#{?mouse_word,Type #[underscore]#{=/9/...:mouse_word},}" C-y { copy-mode -q ; send-keys -l "#{q:mouse_word}" } "#{?mouse_word,Copy #[underscore]#{=/9/...:mouse_word},}" c { copy-mode -q ; set-buffer "#{q:mouse_word}" } "#{?mouse_line,Copy Line,}" l { copy-mode -q ; set-buffer "#{q:mouse_line}" } '' "Horizontal Split" h { split-window -h } "Vertical Split" v { split-window -v } '' "#{?#{>:#{window_panes},1},,-}Swap Up" u { swap-pane -U } "#{?#{>:#{window_panes},1},,-}Swap Down" d { swap-pane -D } "#{?pane_marked_set,,-}Swap Marked" s { swap-pane } '' Kill X { kill-pane } Respawn R { respawn-pane -k } "#{?pane_marked,Unmark,Mark}" m { select-pane -m } "#{?#{>:#{window_panes},1},,-}#{?window_zoomed_flag,Unzoom,Zoom}" z { resize-pane -Z }
|
||||||
@@ -312,5 +316,6 @@ bind-key -T root M-Left select-pane -L
|
|||||||
bind-key -T root M-Right select-pane -R
|
bind-key -T root M-Right select-pane -R
|
||||||
bind-key -T root S-Left previous-window
|
bind-key -T root S-Left previous-window
|
||||||
bind-key -T root S-Right next-window
|
bind-key -T root S-Right next-window
|
||||||
|
bind-key -T suspended F12 run-shell "/Users/ivuorinen/.config/tmux/plugins/tmux-suspend/scripts/resume.sh \"\""
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
[include]
|
[include]
|
||||||
path = ~/.dotfiles/config/git/shared
|
path = ~/.dotfiles/config/git/shared
|
||||||
|
|
||||||
|
[gpg]
|
||||||
|
format = ssh
|
||||||
|
|
||||||
[user]
|
[user]
|
||||||
name = Ismo Vuorinen
|
name = Ismo Vuorinen
|
||||||
email = ismo.vuorinen@vincit.fi
|
email = ismo.vuorinen@vincit.fi
|
||||||
|
|||||||
@@ -149,7 +149,7 @@ function section_brew
|
|||||||
have brew && {
|
have brew && {
|
||||||
case "$1" in
|
case "$1" in
|
||||||
install)
|
install)
|
||||||
brew bundle install --file="$BREWFILE" && msg_yay "Done!"
|
brew bundle install --file="$BREWFILE" --force --quiet && msg_yay "Done!"
|
||||||
;;
|
;;
|
||||||
update)
|
update)
|
||||||
brew update && brew outdated && brew upgrade && brew cleanup
|
brew update && brew outdated && brew upgrade && brew cleanup
|
||||||
@@ -175,6 +175,22 @@ function section_brew
|
|||||||
! have brew && menu_section "$USAGE_PREFIX" "brew not available on this system"
|
! have brew && menu_section "$USAGE_PREFIX" "brew not available on this system"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function section_helpers
|
||||||
|
{
|
||||||
|
USAGE_PREFIX="$SCRIPT helpers <command>"
|
||||||
|
MENU=(
|
||||||
|
"path:Show \$PATH dir by dir"
|
||||||
|
)
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
path)
|
||||||
|
# shellcheck disable=2001
|
||||||
|
for i in $(echo "$PATH" | sed 's/:/ /g'); do echo "$i"; done;
|
||||||
|
;;
|
||||||
|
*) menu_usage "$USAGE_PREFIX" "${MENU[@]}" ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
function section_docs
|
function section_docs
|
||||||
{
|
{
|
||||||
USAGE_PREFIX="$SCRIPT docs <command>"
|
USAGE_PREFIX="$SCRIPT docs <command>"
|
||||||
@@ -323,6 +339,8 @@ function usage
|
|||||||
section_dotfiles
|
section_dotfiles
|
||||||
echo ""
|
echo ""
|
||||||
section_docs
|
section_docs
|
||||||
|
echo ""
|
||||||
|
section_helpers
|
||||||
}
|
}
|
||||||
|
|
||||||
# The main loop. first keyword after $0 triggers section, or help.
|
# The main loop. first keyword after $0 triggers section, or help.
|
||||||
@@ -331,6 +349,7 @@ case "$1" in
|
|||||||
brew) section_brew "$2" ;;
|
brew) section_brew "$2" ;;
|
||||||
check) section_check "$2" ;;
|
check) section_check "$2" ;;
|
||||||
dotfiles) section_dotfiles "$2" ;;
|
dotfiles) section_dotfiles "$2" ;;
|
||||||
|
helpers) section_helpers "$2" ;;
|
||||||
docs) section_docs "$2" ;;
|
docs) section_docs "$2" ;;
|
||||||
tests) section_tests "$2" ;;
|
tests) section_tests "$2" ;;
|
||||||
*) usage && exit 0 ;;
|
*) usage && exit 0 ;;
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ gitdirty()
|
|||||||
if [[ "${d:0:2}" == "--" ]] || [[ "$d" == "vendor" ]] || [[ "$d" == "node_modules" ]]; then
|
if [[ "${d:0:2}" == "--" ]] || [[ "$d" == "vendor" ]] || [[ "$d" == "node_modules" ]]; then
|
||||||
echo ""
|
echo ""
|
||||||
else
|
else
|
||||||
cd "$d" > /dev/null
|
cd "$d"
|
||||||
|
|
||||||
# If we have `.git` folder, check it.
|
# If we have `.git` folder, check it.
|
||||||
if [[ -d ".git" ]]; then
|
if [[ -d ".git" ]]; then
|
||||||
@@ -58,7 +58,7 @@ gitdirty()
|
|||||||
printf " %s %s\n" "$ICON" "$(pwd)"
|
printf " %s %s\n" "$ICON" "$(pwd)"
|
||||||
else
|
else
|
||||||
# If it wasn't git repository, check subdirectories.
|
# If it wasn't git repository, check subdirectories.
|
||||||
gitdirtyrepos -- *
|
gitdirtyrepos ./*
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
cd .. > /dev/null
|
cd .. > /dev/null
|
||||||
|
|||||||
BIN
local/bin/phpcs
BIN
local/bin/phpcs
Binary file not shown.
150
local/bin/pushover
Executable file
150
local/bin/pushover
Executable file
@@ -0,0 +1,150 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
#
|
||||||
|
# Send Pushover messages from cli
|
||||||
|
# Based on https://github.com/mrusme/dotfiles/blob/master/usr/local/bin/pushover
|
||||||
|
#
|
||||||
|
# Modified by Ismo Vuorinen <https://github.com/ivuorinen> 2023
|
||||||
|
|
||||||
|
__pushover_usage()
|
||||||
|
{
|
||||||
|
printf "pushover <options> <message>\n"
|
||||||
|
printf " -c <callback>\n"
|
||||||
|
printf " -d <device>\n"
|
||||||
|
printf " -D <timestamp>\n"
|
||||||
|
printf " -e <expire>\n"
|
||||||
|
printf " -p <priority>\n"
|
||||||
|
printf " -r <retry>\n"
|
||||||
|
printf " -t <title>\n"
|
||||||
|
printf " -T <TOKEN> (required if not in 'PUSHOVER_TOKEN' env)\n"
|
||||||
|
printf " -s <sound>\n"
|
||||||
|
printf " -u <url>\n"
|
||||||
|
printf " -U <USER> (required if not in 'PUSHOVER_USER' env)\n"
|
||||||
|
printf " -a <url_title>\n"
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
__pushover_opt_field()
|
||||||
|
{
|
||||||
|
field=$1
|
||||||
|
shift
|
||||||
|
value="${*}"
|
||||||
|
if [ -n "${value}" ]; then
|
||||||
|
printf "%s \"%s=%s\"\n" "-F" "$field" "$value"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
__pushover_send_message()
|
||||||
|
{
|
||||||
|
device="${1:-}"
|
||||||
|
|
||||||
|
curl_cmd="\"${CURL}\" -s -S \
|
||||||
|
${CURL_OPTS} \
|
||||||
|
-F \"token=${TOKEN}\" \
|
||||||
|
-F \"user=${USER}\" \
|
||||||
|
-F \"message=${message}\" \
|
||||||
|
$(__pushover_opt_field device "${device}") \
|
||||||
|
$(__pushover_opt_field callback "${callback}") \
|
||||||
|
$(__pushover_opt_field timestamp "${timestamp}") \
|
||||||
|
$(__pushover_opt_field priority "${priority}") \
|
||||||
|
$(__pushover_opt_field retry "${retry}") \
|
||||||
|
$(__pushover_opt_field expire "${expire}") \
|
||||||
|
$(__pushover_opt_field title "${title}") \
|
||||||
|
$(__pushover_opt_field sound "${sound}") \
|
||||||
|
$(__pushover_opt_field url "${url}") \
|
||||||
|
$(__pushover_opt_field url_title "${url_title}") \
|
||||||
|
\"${PUSHOVER_URL}\""
|
||||||
|
|
||||||
|
response="$(eval "${curl_cmd}")"
|
||||||
|
printf "%s\n" "$response"
|
||||||
|
# TODO: Parse response
|
||||||
|
r="${?}"
|
||||||
|
if [ "${r}" -ne 0 ]; then
|
||||||
|
printf "%s: Failed to send message\n" "${0}" >&2
|
||||||
|
fi
|
||||||
|
|
||||||
|
return "${r}"
|
||||||
|
}
|
||||||
|
|
||||||
|
CURL="$(which curl)"
|
||||||
|
PUSHOVER_URL="https://api.pushover.net/1/messages.json"
|
||||||
|
TOKEN=$PUSHOVER_TOKEN
|
||||||
|
USER=$PUSHOVER_USER
|
||||||
|
CURL_OPTS=""
|
||||||
|
devices="${devices} ${device}"
|
||||||
|
optstring="c:d:D:e:f:p:r:t:T:s:u:U:a:h"
|
||||||
|
|
||||||
|
OPTIND=1
|
||||||
|
while getopts ${optstring} c; do
|
||||||
|
case ${c} in
|
||||||
|
c)
|
||||||
|
callback="${OPTARG}"
|
||||||
|
;;
|
||||||
|
d)
|
||||||
|
devices="${devices} ${OPTARG}"
|
||||||
|
;;
|
||||||
|
D)
|
||||||
|
timestamp="${OPTARG}"
|
||||||
|
;;
|
||||||
|
e)
|
||||||
|
expire="${OPTARG}"
|
||||||
|
;;
|
||||||
|
p)
|
||||||
|
priority="${OPTARG}"
|
||||||
|
;;
|
||||||
|
r)
|
||||||
|
retry="${OPTARG}"
|
||||||
|
;;
|
||||||
|
t)
|
||||||
|
title="${OPTARG}"
|
||||||
|
;;
|
||||||
|
k)
|
||||||
|
TOKEN="${OPTARG}"
|
||||||
|
;;
|
||||||
|
s)
|
||||||
|
sound="${OPTARG}"
|
||||||
|
;;
|
||||||
|
u)
|
||||||
|
url="${OPTARG}"
|
||||||
|
;;
|
||||||
|
U)
|
||||||
|
USER="${OPTARG}"
|
||||||
|
;;
|
||||||
|
a)
|
||||||
|
url_title="${OPTARG}"
|
||||||
|
;;
|
||||||
|
|
||||||
|
[h\?])
|
||||||
|
__pushover_usage
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift $((OPTIND - 1))
|
||||||
|
|
||||||
|
if [ "$#" -lt 1 ]; then
|
||||||
|
__pushover_usage
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
message="$*"
|
||||||
|
|
||||||
|
if [ ! -x "${CURL}" ]; then
|
||||||
|
printf "CURL is unset, empty, or does not point to curl executable.\n \
|
||||||
|
This script requires curl!\n" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
devices="$(printf "${devices}" | xargs -n1 | sort -u | uniq)\n"
|
||||||
|
|
||||||
|
if [ -z "${devices}" ]; then
|
||||||
|
__pushover_send_message
|
||||||
|
r=${?}
|
||||||
|
else
|
||||||
|
for device in ${devices}; do
|
||||||
|
__pushover_send_message "${device}"
|
||||||
|
r=${?}
|
||||||
|
if [ "${r}" -ne 0 ]; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
exit "${r}"
|
||||||
52
local/bin/x-sha256sum-matcher
Executable file
52
local/bin/x-sha256sum-matcher
Executable file
@@ -0,0 +1,52 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# x-sha256sum-matcher
|
||||||
|
#
|
||||||
|
# Check if two files are the same
|
||||||
|
#
|
||||||
|
# Ismo Vuorinen <https://github.com/ivuorinen> 2023
|
||||||
|
# MIT License
|
||||||
|
|
||||||
|
# ENV Variables
|
||||||
|
: "${VERBOSE:=0}" # VERBOSE=1 x-sha256sum-matcher file1 file2
|
||||||
|
|
||||||
|
file_1="$1"
|
||||||
|
file_2="$2"
|
||||||
|
|
||||||
|
# return sha256sum for file
|
||||||
|
# $1 - filename (string)
|
||||||
|
get_sha256sum()
|
||||||
|
{
|
||||||
|
sha256sum "$1" | head -c 64
|
||||||
|
}
|
||||||
|
|
||||||
|
[ $# -eq 0 ] && {
|
||||||
|
echo "Usage: $0 file1.sh file2.sh" && exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
msg()
|
||||||
|
{
|
||||||
|
[[ "$VERBOSE" -eq 1 ]] && echo "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
error()
|
||||||
|
{
|
||||||
|
msg "(!) ERROR: $1" && exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ ! -f "$file_1" ]; then
|
||||||
|
error "File 1 does not exist: $file_1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f "$file_2" ]; then
|
||||||
|
error "File 2 does not exist: $file_2"
|
||||||
|
fi
|
||||||
|
|
||||||
|
file_1_hash=$(get_sha256sum "$file_1")
|
||||||
|
file_2_hash=$(get_sha256sum "$file_2")
|
||||||
|
|
||||||
|
if [ "$file_1_hash" != "$file_2_hash" ]; then
|
||||||
|
error "Files do not match"
|
||||||
|
else
|
||||||
|
msg "(*) Success: Files do match"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
@@ -35,8 +35,10 @@ for f in ${PBB_CHAPTERS[@]}; do
|
|||||||
HEADER=$(grep -e '^[#] ' "$f" | head -1 | awk '{print tolower($2)}')
|
HEADER=$(grep -e '^[#] ' "$f" | head -1 | awk '{print tolower($2)}')
|
||||||
CHEAT_FILE="$CHEAT_DEST/${HEADER}"
|
CHEAT_FILE="$CHEAT_DEST/${HEADER}"
|
||||||
|
|
||||||
if [ ! -f "$CHEAT_FILE" ]; then
|
replacable "$f" "$CHEAT_FILE"
|
||||||
cp "$f" "$CHEAT_FILE" && msg_run "$CHEAT_FILE"
|
override=$?
|
||||||
|
if [ "$override" -ne 1 ]; then
|
||||||
|
cp "$f" "$CHEAT_FILE" && msg_run "Updated: $CHEAT_FILE"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
LC_ALL=C perl -pi.bak -e 's/\<\!-- CHAPTER END --\>//' "$CHEAT_FILE"
|
LC_ALL=C perl -pi.bak -e 's/\<\!-- CHAPTER END --\>//' "$CHEAT_FILE"
|
||||||
|
|||||||
@@ -51,12 +51,15 @@ for d in "$TLDR_TEMP_DIR"/pages/*; do
|
|||||||
TLDR_FILE="$SECTION_DIR/${FILENAME}"
|
TLDR_FILE="$SECTION_DIR/${FILENAME}"
|
||||||
# echo "-> dest: $TLDR_FILE"
|
# echo "-> dest: $TLDR_FILE"
|
||||||
|
|
||||||
if [ ! -f "$TLDR_FILE" ]; then
|
# Update the original file for making the replacable value comparable
|
||||||
cp "$FILE" "$TLDR_FILE" && msg_run "$TLDR_FILE"
|
if [ -f "$FILE" ] && [ '---' != "$(head -1 < "$FILE")" ]; then
|
||||||
|
echo -e "---\n$TLDR_SYNTAX\n$TLDR_TAGS\n$TLDR_SOURCE\n---\n$(cat "$FILE")" > "$FILE"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f "$TLDR_FILE" ] && [ '---' != "$(head -1 < "$TLDR_FILE")" ]; then
|
replacable "$FILE" "$TLDR_FILE"
|
||||||
echo -e "---\n$TLDR_SYNTAX\n$TLDR_TAGS\n$TLDR_SOURCE\n---\n$(cat "$TLDR_FILE")" > "$TLDR_FILE"
|
override=$?
|
||||||
|
if [ "$override" -ne 0 ]; then
|
||||||
|
cp "$FILE" "$TLDR_FILE" && msg_run "Updated: $TLDR_FILE"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
done
|
done
|
||||||
|
|||||||
@@ -2,7 +2,9 @@
|
|||||||
#
|
#
|
||||||
# Shared bash functions and helpers
|
# Shared bash functions and helpers
|
||||||
# that can be sourced to other scripts.
|
# that can be sourced to other scripts.
|
||||||
#
|
|
||||||
|
# Helper env variables. Use like this: VERBOSE=1 ./script.sh
|
||||||
|
: "${VERBOSE:=0}"
|
||||||
|
|
||||||
# -- Colors -- #
|
# -- Colors -- #
|
||||||
CLR_RED="\033[1;31m"
|
CLR_RED="\033[1;31m"
|
||||||
@@ -202,6 +204,19 @@ function have
|
|||||||
command -v "$1" >&/dev/null
|
command -v "$1" >&/dev/null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# shorthand for checking if brew package is installed
|
||||||
|
# usage: have_brew php && php -v
|
||||||
|
function have_brew
|
||||||
|
{
|
||||||
|
! have brew && return 125
|
||||||
|
|
||||||
|
if brew list "$1" &> /dev/null; then
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
# Remove directory from the PATH variable
|
# Remove directory from the PATH variable
|
||||||
# usage: path_remove ~/.local/bin
|
# usage: path_remove ~/.local/bin
|
||||||
function path_remove
|
function path_remove
|
||||||
@@ -230,3 +245,52 @@ rnd()
|
|||||||
{
|
{
|
||||||
echo $RANDOM | md5sum | head -c 20
|
echo $RANDOM | md5sum | head -c 20
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# return sha256sum for file
|
||||||
|
# $1 - filename (string)
|
||||||
|
function get_sha256sum()
|
||||||
|
{
|
||||||
|
sha256sum "$1" | head -c 64
|
||||||
|
}
|
||||||
|
|
||||||
|
# Replacable file
|
||||||
|
#
|
||||||
|
# $1 - filename (string)
|
||||||
|
# $2 - filename (string)
|
||||||
|
#
|
||||||
|
# Returns 1 when replacable, 0 when not replacable.
|
||||||
|
function replacable()
|
||||||
|
{
|
||||||
|
FILE1="$1"
|
||||||
|
FILE2="$2"
|
||||||
|
|
||||||
|
[[ ! -r "$FILE1" ]] && {
|
||||||
|
[[ $VERBOSE -eq 1 ]] && msg_err "File 1 ($FILE1) does not exist"
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
[[ ! -r "$FILE2" ]] && {
|
||||||
|
[[ $VERBOSE -eq 1 ]] && msg_err "File 2 ($FILE2) does not exist, replacable"
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
FILE1_HASH=$(get_sha256sum "$FILE1")
|
||||||
|
FILE2_HASH=$(get_sha256sum "$FILE2")
|
||||||
|
|
||||||
|
[[ $FILE1_HASH = "" ]] && {
|
||||||
|
[[ $VERBOSE -eq 1 ]] && msg_err "Could not get hash for file 1 ($FILE1)"
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
[[ $FILE2_HASH = "" ]] && {
|
||||||
|
[[ $VERBOSE -eq 1 ]] && msg_err "Could not get hash for file 2 ($FILE2), replacable"
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
[[ "$FILE1_HASH" == "$FILE2_HASH" ]] && {
|
||||||
|
[[ $VERBOSE -eq 1 ]] && msg_ok "Files match, not replacable: $FILE1"
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
[[ $VERBOSE -eq 1 ]] && msg_warn "Files do not match ($FILE1_HASH != $FILE2_HASH), replacable"
|
||||||
|
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|||||||
12
ssh/config
12
ssh/config
@@ -1,11 +1,9 @@
|
|||||||
Host github.com
|
Include shared.d/*
|
||||||
User git
|
Include local.d/*
|
||||||
|
|
||||||
Host lakka
|
|
||||||
User viir
|
|
||||||
HostName lakka.kapsi.fi
|
|
||||||
IdentityFile ~/.ssh/id_rsa
|
|
||||||
|
|
||||||
Host *
|
Host *
|
||||||
# IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
|
# IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
|
||||||
|
|
||||||
|
# Fig ssh integration. Keep at the bottom of this file.
|
||||||
|
Match all
|
||||||
|
Include ~/.fig/ssh
|
||||||
|
|||||||
0
ssh/local.d/.gitkeep
Normal file
0
ssh/local.d/.gitkeep
Normal file
3
ssh/shared.d/github
Normal file
3
ssh/shared.d/github
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
Host github.com
|
||||||
|
User git
|
||||||
|
|
||||||
5
ssh/shared.d/lakka
Normal file
5
ssh/shared.d/lakka
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
Host lakka
|
||||||
|
User viir
|
||||||
|
HostName lakka.kapsi.fi
|
||||||
|
IdentityFile ~/.ssh/id_rsa
|
||||||
|
|
||||||
Submodule tools/dotbot updated: da928a4c6b...b04a3f1844
@@ -4,6 +4,6 @@
|
|||||||
link:
|
link:
|
||||||
create: true
|
create: true
|
||||||
relink: true
|
relink: true
|
||||||
exclude: [ "*.md", "*renovate*", "LICENSE" ]
|
exclude: ["*.md", "*renovate*", "LICENSE"]
|
||||||
shell:
|
shell:
|
||||||
stdout: true
|
stdout: true
|
||||||
|
|||||||
Reference in New Issue
Block a user