mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-02-05 02:49:08 +00:00
Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6dc5849f9c | ||
|
|
5cc0018f1d | ||
| 8fbeca17a4 | |||
| 1d1a95fad2 | |||
| 3acc948c23 | |||
| 0f94386231 | |||
| 5e06a735cc | |||
|
|
9471a63475 | ||
|
|
01328498b6 | ||
|
|
bab6f7daab | ||
| 4baabbdd5d | |||
| d5757d231f |
@@ -17,10 +17,13 @@ indent_size = 2
|
|||||||
indent_size = 2
|
indent_size = 2
|
||||||
tab_width = 2
|
tab_width = 2
|
||||||
|
|
||||||
shell_variant = posix # like -ln=posix
|
shell_variant = posix # like -ln=posix
|
||||||
binary_next_line = true # like -bn
|
binary_next_line = true # like -bn
|
||||||
switch_case_indent = true # like -ci
|
switch_case_indent = true # like -ci
|
||||||
space_redirects = true # like -sr
|
space_redirects = true # like -sr
|
||||||
keep_padding = false # like -kp
|
keep_padding = false # like -kp
|
||||||
function_next_line = true # like -fn
|
function_next_line = true # like -fn
|
||||||
never_split = true # like -ns
|
never_split = true # like -ns
|
||||||
|
|
||||||
|
[local/bin/antigen.zsh]
|
||||||
|
ignore = true
|
||||||
|
|||||||
43
.github/workflows/linters.yml
vendored
Normal file
43
.github/workflows/linters.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
name: reviewdog
|
||||||
|
on: [ push ]
|
||||||
|
jobs:
|
||||||
|
linters:
|
||||||
|
name: Linters
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: GitHub Actions
|
||||||
|
uses: reviewdog/action-actionlint@v1
|
||||||
|
with:
|
||||||
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
reporter: github-pr-review
|
||||||
|
|
||||||
|
- name: detect-secrets
|
||||||
|
uses: reviewdog/action-detect-secrets@master
|
||||||
|
with:
|
||||||
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
reporter: github-pr-review
|
||||||
|
|
||||||
|
- name: markdownlint
|
||||||
|
uses: reviewdog/action-markdownlint@v0
|
||||||
|
with:
|
||||||
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
reporter: github-pr-review
|
||||||
|
|
||||||
|
- name: shfmt
|
||||||
|
uses: reviewdog/action-shfmt@v1
|
||||||
|
with:
|
||||||
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
shfmt_flags: |
|
||||||
|
--find
|
||||||
|
--list
|
||||||
|
--write
|
||||||
|
--diff
|
||||||
|
--simplify
|
||||||
|
--language-dialect bash
|
||||||
|
--indent 2
|
||||||
|
--binary-next-line
|
||||||
|
--case-indent
|
||||||
|
--space-redirects
|
||||||
|
--func-next-line
|
||||||
21
Brewfile
21
Brewfile
@@ -7,6 +7,7 @@ tap "github/gh"
|
|||||||
tap "homebrew/autoupdate"
|
tap "homebrew/autoupdate"
|
||||||
tap "homebrew/bundle"
|
tap "homebrew/bundle"
|
||||||
tap "homebrew/cask"
|
tap "homebrew/cask"
|
||||||
|
tap "homebrew/cask-fonts"
|
||||||
tap "homebrew/core"
|
tap "homebrew/core"
|
||||||
tap "homebrew/services"
|
tap "homebrew/services"
|
||||||
tap "shivammathur/extensions"
|
tap "shivammathur/extensions"
|
||||||
@@ -68,6 +69,8 @@ brew "git-extras"
|
|||||||
brew "git-flow-avh"
|
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
|
||||||
|
brew "glab"
|
||||||
# GNU implementation of the famous stream editor
|
# GNU implementation of the famous stream editor
|
||||||
brew "gnu-sed"
|
brew "gnu-sed"
|
||||||
# Validating, recursive, caching DNS resolver
|
# Validating, recursive, caching DNS resolver
|
||||||
@@ -128,6 +131,8 @@ brew "ruby"
|
|||||||
brew "shellcheck"
|
brew "shellcheck"
|
||||||
# Autoformat shell script source code
|
# Autoformat shell script source code
|
||||||
brew "shfmt"
|
brew "shfmt"
|
||||||
|
# Version control system designed to be a better CVS
|
||||||
|
brew "subversion"
|
||||||
# Send macOS User Notifications from the command-line
|
# Send macOS User Notifications from the command-line
|
||||||
brew "terminal-notifier", link: false
|
brew "terminal-notifier", link: false
|
||||||
# Tool to build, change, and version infrastructure
|
# Tool to build, change, and version infrastructure
|
||||||
@@ -186,6 +191,18 @@ cask "docker"
|
|||||||
cask "fig"
|
cask "fig"
|
||||||
# Unofficial overcast.fm podcast app
|
# Unofficial overcast.fm podcast app
|
||||||
cask "fog"
|
cask "fog"
|
||||||
|
# Typeface made for developers
|
||||||
|
cask "font-jetbrains-mono"
|
||||||
|
# Developer targeted fonts with a high number of glyphs
|
||||||
|
cask "font-jetbrains-mono-nerd-font"
|
||||||
|
cask "font-lato"
|
||||||
|
cask "font-open-sans"
|
||||||
|
# Font with a mechanical skeleton and the forms are largely geometric
|
||||||
|
cask "font-roboto"
|
||||||
|
cask "font-source-code-pro"
|
||||||
|
cask "font-source-code-pro-for-powerline"
|
||||||
|
cask "font-source-sans-pro"
|
||||||
|
cask "font-source-serif-pro"
|
||||||
# Open Source Webfont Converter
|
# Open Source Webfont Converter
|
||||||
cask "fontplop"
|
cask "fontplop"
|
||||||
# GIT client
|
# GIT client
|
||||||
@@ -200,6 +217,8 @@ cask "jetbrains-toolbox"
|
|||||||
cask "lens"
|
cask "lens"
|
||||||
# Reverse proxy, secure introspectable tunnels to localhost
|
# Reverse proxy, secure introspectable tunnels to localhost
|
||||||
cask "ngrok"
|
cask "ngrok"
|
||||||
|
# Collaboration platform for API development
|
||||||
|
cask "postman"
|
||||||
# Display image info and preview unsupported formats in QuickLook
|
# Display image info and preview unsupported formats in QuickLook
|
||||||
cask "qlimagesize"
|
cask "qlimagesize"
|
||||||
# QuickLook generator for Markdown files
|
# QuickLook generator for Markdown files
|
||||||
@@ -216,6 +235,8 @@ cask "rectangle"
|
|||||||
cask "sequel-ace"
|
cask "sequel-ace"
|
||||||
# Collection of apps available by subscription
|
# Collection of apps available by subscription
|
||||||
cask "setapp"
|
cask "setapp"
|
||||||
|
# Team communication and collaboration software
|
||||||
|
cask "slack"
|
||||||
# Sound and audio controller
|
# Sound and audio controller
|
||||||
cask "soundsource"
|
cask "soundsource"
|
||||||
# Application for inspecting installer packages
|
# Application for inspecting installer packages
|
||||||
|
|||||||
38
README.md
38
README.md
@@ -4,36 +4,22 @@ The folder structure follows [XDG Base Directory Specification][xdg] where possi
|
|||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
## rcrc
|
### First time setup
|
||||||
|
|
||||||
Update install script
|
1. Clone this repository to `$HOME/.dotfiles`
|
||||||
|
2. `bash $HOME/.dotfiles/scripts/settler.sh`
|
||||||
|
3. ???
|
||||||
|
4. Profit
|
||||||
|
|
||||||
```bash
|
Note: there's a bit chicken/egg situation, because settler assumes you don't have git, and you need git to clone the repo.
|
||||||
rcup -B 0 -g > ~/.dotfiles/install.sh | shfmt -w -l ~/.dotfiles/install.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
## brew
|
### dfm - the dotfiles manager
|
||||||
|
|
||||||
Install everything described in `Brewfile`
|
`dfm` is a shellscript that has some tools that help with dotfiles management.
|
||||||
|
|
||||||
```bash
|
## Configuration
|
||||||
brew bundle install --force --file=~/.dotfiles/Brewfile
|
|
||||||
```
|
|
||||||
|
|
||||||
|
### XDG Variables
|
||||||
Update `Brewfile`
|
|
||||||
|
|
||||||
```bash
|
|
||||||
brew bundle dump --force --file=~/.dotfiles/Brewfile --describe
|
|
||||||
```
|
|
||||||
|
|
||||||
Enable automatic brew updates and upgrades.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
brew autoupdate start 43200 --upgrade --cleanup --immediate
|
|
||||||
```
|
|
||||||
|
|
||||||
## XDG Variables
|
|
||||||
|
|
||||||
| Var | Default |
|
| Var | Default |
|
||||||
|--------------------|----------------------|
|
|--------------------|----------------------|
|
||||||
@@ -42,8 +28,7 @@ brew autoupdate start 43200 --upgrade --cleanup --immediate
|
|||||||
| `$XDG_STATE_HOME` | `$HOME/.local/state` |
|
| `$XDG_STATE_HOME` | `$HOME/.local/state` |
|
||||||
| `$XDG_CONFIG_HOME` | `$HOME/.config` |
|
| `$XDG_CONFIG_HOME` | `$HOME/.config` |
|
||||||
|
|
||||||
|
- `$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, a default equal to `$HOME/.local/share` should be used.
|
||||||
- `$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, a default equal to ` $HOME/.local/share` should be used.
|
|
||||||
- `$XDG_CONFIG_HOME` defines the base directory relative to which user-specific 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_CONFIG_HOME` defines the base directory relative to which user-specific 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 to which user-specific state files should be stored. If `$XDG_STATE_HOME` is either not set or empty, a default equal to `$HOME/.local/state` should be used.
|
- `$XDG_STATE_HOME` defines the base directory relative to which user-specific state files should be stored. If `$XDG_STATE_HOME` is either not set or empty, a default equal to `$HOME/.local/state` should be used.
|
||||||
- The `$XDG_STATE_HOME` contains state data that should persist between (application) restarts, but that is not important or portable enough to the user that it should be stored in `$XDG_DATA_HOME`. It may contain:
|
- The `$XDG_STATE_HOME` contains state data that should persist between (application) restarts, but that is not important or portable enough to the user that it should be stored in `$XDG_DATA_HOME`. It may contain:
|
||||||
@@ -52,5 +37,4 @@ brew autoupdate start 43200 --upgrade --cleanup --immediate
|
|||||||
- User-specific executable files may be stored in `$HOME/.local/bin`. Distributions should ensure this directory shows up in the UNIX `$PATH` environment variable, at an appropriate place.
|
- User-specific executable files may be stored in `$HOME/.local/bin`. Distributions should ensure this directory shows up in the UNIX `$PATH` environment variable, at an appropriate place.
|
||||||
- `$XDG_DATA_DIRS` defines the preference-ordered set of base directories to search for data files in addition to the `$XDG_DATA_HOME` base directory. The directories in `$XDG_DATA_DIRS` should be seperated with a colon ':'.
|
- `$XDG_DATA_DIRS` defines the preference-ordered set of base directories to search for data files in addition to the `$XDG_DATA_HOME` base directory. 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
|
||||||
|
|||||||
@@ -13,15 +13,6 @@ _theme
|
|||||||
*.sql.gz
|
*.sql.gz
|
||||||
*.WordPress.*.xml
|
*.WordPress.*.xml
|
||||||
cachegrind.out.*
|
cachegrind.out.*
|
||||||
client-*.json
|
|
||||||
composer.phar
|
composer.phar
|
||||||
devops/.infra_ip_cache
|
|
||||||
wp_*.sh
|
wp_*.sh
|
||||||
|
|
||||||
redirectRules.csv
|
|
||||||
results_redirectRules.csv
|
|
||||||
testRedirect.sh
|
|
||||||
|
|
||||||
uploads-webpc
|
|
||||||
webpc-passthru.php
|
|
||||||
auth.json
|
auth.json
|
||||||
|
|||||||
88
install.sh
88
install.sh
@@ -1,88 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# Usage:
|
|
||||||
#
|
|
||||||
# sh install.sh
|
|
||||||
#
|
|
||||||
# Environment variables: VERBOSE, CP, LN, MKDIR, RM, DIRNAME.
|
|
||||||
#
|
|
||||||
# env VERBOSE=1 sh install.sh
|
|
||||||
#
|
|
||||||
# DO NOT EDIT THIS FILE
|
|
||||||
#
|
|
||||||
# This file is generated by rcm(7) as:
|
|
||||||
#
|
|
||||||
# rcup -B 0 -g
|
|
||||||
#
|
|
||||||
# To update it, re-run the above command.
|
|
||||||
#
|
|
||||||
: ${VERBOSE:=0}
|
|
||||||
: ${CP:=/bin/cp}
|
|
||||||
: ${LN:=/bin/ln}
|
|
||||||
: ${MKDIR:=/bin/mkdir}
|
|
||||||
: ${RM:=/bin/rm}
|
|
||||||
: ${DIRNAME:=/usr/bin/dirname}
|
|
||||||
verbose()
|
|
||||||
{
|
|
||||||
if [ "$VERBOSE" -gt 0 ]; then
|
|
||||||
echo "$@"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
handle_file_cp()
|
|
||||||
{
|
|
||||||
if [ -e "$2" ]; then
|
|
||||||
printf "%s " "overwrite $2? [yN]"
|
|
||||||
read overwrite
|
|
||||||
case "$overwrite" in
|
|
||||||
y)
|
|
||||||
$RM -rf "$2"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "skipping $2"
|
|
||||||
return
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
verbose "'$1' -> '$2'"
|
|
||||||
$MKDIR -p "$($DIRNAME "$2")"
|
|
||||||
$CP -R "$1" "$2"
|
|
||||||
}
|
|
||||||
handle_file_ln()
|
|
||||||
{
|
|
||||||
if [ -e "$2" ]; then
|
|
||||||
printf "%s " "overwrite $2? [yN]"
|
|
||||||
read overwrite
|
|
||||||
case "$overwrite" in
|
|
||||||
y)
|
|
||||||
$RM -rf "$2"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "skipping $2"
|
|
||||||
return
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
verbose "'$1' -> '$2'"
|
|
||||||
$MKDIR -p "$($DIRNAME "$2")"
|
|
||||||
$LN -sf "$1" "$2"
|
|
||||||
}
|
|
||||||
handle_file_ln "~/.dotfiles/bash_profile" "~/.bash_profile"
|
|
||||||
handle_file_ln "~/.dotfiles/bashrc" "~/.bashrc"
|
|
||||||
handle_file_ln "~/.dotfiles/config/alias" "~/.config/alias"
|
|
||||||
handle_file_ln "~/.dotfiles/config/antigen.zsh" "~/.config/antigen.zsh"
|
|
||||||
handle_file_ln "~/.dotfiles/config/exports" "~/.config/exports"
|
|
||||||
handle_file_ln "~/.dotfiles/config/functions" "~/.config/functions"
|
|
||||||
handle_file_ln "~/.dotfiles/config/gh/config.yml" "~/.config/gh/config.yml"
|
|
||||||
handle_file_ln "~/.dotfiles/config/git/config" "~/.config/git/config"
|
|
||||||
handle_file_ln "~/.dotfiles/config/git/gitignore" "~/.config/git/gitignore"
|
|
||||||
handle_file_ln "~/.dotfiles/config/wtf/config.yml" "~/.config/wtf/config.yml"
|
|
||||||
handle_file_ln "~/.dotfiles/git_profiles" "~/.git_profiles"
|
|
||||||
handle_file_ln "~/.dotfiles/huskyrc" "~/.huskyrc"
|
|
||||||
handle_file_ln "~/.dotfiles/local/bin/dotfiles" "~/.local/bin/dotfiles"
|
|
||||||
handle_file_ln "~/.dotfiles/local/bin/x-check-git-attributes" "~/.local/bin/x-check-git-attributes"
|
|
||||||
handle_file_ln "~/.dotfiles/local/bin/x-open-ports" "~/.local/bin/x-open-ports"
|
|
||||||
handle_file_ln "~/.dotfiles/rcrc" "~/.rcrc"
|
|
||||||
handle_file_ln "~/.dotfiles/ssh/allowed_signers" "~/.ssh/allowed_signers"
|
|
||||||
handle_file_ln "~/.dotfiles/ssh/config" "~/.ssh/config"
|
|
||||||
handle_file_ln "~/.dotfiles/vuerc" "~/.vuerc"
|
|
||||||
handle_file_ln "~/.dotfiles/zshrc" "~/.zshrc"
|
|
||||||
@@ -1,31 +1,29 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
#
|
#
|
||||||
# Dotfiles and install helper
|
# Dotfiles manager and install helper
|
||||||
# (c) Ismo Vuorinen <https://github.com/ivuorinen> 2022
|
# (c) Ismo Vuorinen <https://github.com/ivuorinen> 2022
|
||||||
# Licensed under MIT, see LICENSE
|
# Licensed under MIT, see LICENSE
|
||||||
#
|
#
|
||||||
# shellcheck source-path=SCRIPTDIR
|
# shellcheck source-path=$HOME/.dotfiles/local/bin
|
||||||
#
|
#
|
||||||
# Helper variables, override with ENVs like `VERBOSE=1 helpers.sh help`
|
# Helper variables, override with ENVs like `VERBOSE=1 dfm help`
|
||||||
: "${VERBOSE:=0}"
|
: "${VERBOSE:=0}"
|
||||||
: "${DOTFILES:=$HOME/.dotfiles}"
|
: "${DOTFILES:=$HOME/.dotfiles}"
|
||||||
: "${INSTALL_SCRIPT:=$DOTFILES/install.sh}"
|
: "${INSTALL_SCRIPT:=$DOTFILES/scripts/install.sh}"
|
||||||
: "${BREWFILE:=$DOTFILES/Brewfile}"
|
: "${BREWFILE:=$DOTFILES/Brewfile}"
|
||||||
|
|
||||||
function usage
|
SCRIPT=$(basename "$0")
|
||||||
{
|
|
||||||
echo $"Usage: $0 [install | brew | dotfiles]"
|
|
||||||
echo $" All commands have their own subcommands."
|
|
||||||
echo $" When in doubt run the subcommand to show list."
|
|
||||||
}
|
|
||||||
|
|
||||||
function section_install
|
function section_install
|
||||||
{
|
{
|
||||||
USAGE_PREFIX="Usage: $0 install"
|
USAGE_PREFIX="-> $SCRIPT install"
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
|
all)
|
||||||
|
bash "$DOTFILES/scripts/settler.sh" && echo "🎉 Done!"
|
||||||
|
;;
|
||||||
antigen)
|
antigen)
|
||||||
curl -L git.io/antigen > "$DOTFILES/config/antigen.zsh" && echo "🎉 Done!"
|
curl -L git.io/antigen > "$DOTFILES/local/bin/antigen.zsh" && echo "🎉 Done!"
|
||||||
;;
|
;;
|
||||||
defaults)
|
defaults)
|
||||||
bash "$DOTFILES/scripts/set-defaults.sh" && echo "🎉 Done!"
|
bash "$DOTFILES/scripts/set-defaults.sh" && echo "🎉 Done!"
|
||||||
@@ -44,7 +42,7 @@ function section_install
|
|||||||
|
|
||||||
function section_brew
|
function section_brew
|
||||||
{
|
{
|
||||||
USAGE_PREFIX="Usage: $0 brew"
|
USAGE_PREFIX="-> $SCRIPT brew"
|
||||||
|
|
||||||
if ! command -v brew &> /dev/null; then
|
if ! command -v brew &> /dev/null; then
|
||||||
echo "brew could not be found, please install it first"
|
echo "brew could not be found, please install it first"
|
||||||
@@ -79,23 +77,24 @@ function section_brew
|
|||||||
|
|
||||||
function section_dotfiles
|
function section_dotfiles
|
||||||
{
|
{
|
||||||
USAGE_PREFIX="Usage: $0 dotfiles"
|
USAGE_PREFIX="-> $SCRIPT dotfiles"
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
link)
|
link)
|
||||||
rcup -B "$HOSTNAME" -v && echo "🎉 Done!"
|
rcup -B "$HOSTNAME" -v && echo "🎉 Done!"
|
||||||
;;
|
;;
|
||||||
update)
|
update)
|
||||||
# Updates .dotfiles/install.sh and formats it
|
# Updates .dotfiles/scripts/install.sh and formats it
|
||||||
rcup -B 0 -g \
|
rcup -B 0 -g \
|
||||||
| tee "$INSTALL_SCRIPT" 1> /dev/null \
|
| tee "$INSTALL_SCRIPT" 1> /dev/null \
|
||||||
&& shfmt -w -l "$INSTALL_SCRIPT" \
|
&& shfmt -w -l "$INSTALL_SCRIPT" \
|
||||||
&& sed -i '' "s|$HOME|\~|g" "$INSTALL_SCRIPT" \
|
&& sed -i '' "s|$HOME|\$HOME|g" "$INSTALL_SCRIPT" \
|
||||||
&& echo "🎉 Done!"
|
&& echo "🎉 Done!"
|
||||||
;;
|
;;
|
||||||
shfmt)
|
shfmt)
|
||||||
# Format shell scripts according to following rules.
|
# Format shell scripts according to following rules.
|
||||||
shfmt \
|
shfmt \
|
||||||
|
--find \
|
||||||
--list \
|
--list \
|
||||||
--write \
|
--write \
|
||||||
--diff \
|
--diff \
|
||||||
@@ -106,13 +105,7 @@ function section_dotfiles
|
|||||||
--case-indent \
|
--case-indent \
|
||||||
--space-redirects \
|
--space-redirects \
|
||||||
--func-next-line \
|
--func-next-line \
|
||||||
"$DOTFILES" \
|
"$DOTFILES"
|
||||||
"$DOTFILES/local/bin/dotfiles" \
|
|
||||||
"$DOTFILES/local/bin/x-check-git-attributes" \
|
|
||||||
"$DOTFILES/local/bin/x-open-ports" \
|
|
||||||
"$DOTFILES/config/alias" \
|
|
||||||
"$DOTFILES/config/exports" \
|
|
||||||
"$DOTFILES/config/functions"
|
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "$USAGE_PREFIX [link | update | shfmt]"
|
echo "$USAGE_PREFIX [link | update | shfmt]"
|
||||||
@@ -123,6 +116,18 @@ function section_dotfiles
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function usage
|
||||||
|
{
|
||||||
|
echo $"Usage: $SCRIPT [install | brew | dotfiles]"
|
||||||
|
echo $" All commands have their own subcommands."
|
||||||
|
echo ""
|
||||||
|
section_install
|
||||||
|
echo ""
|
||||||
|
section_brew
|
||||||
|
echo ""
|
||||||
|
section_dotfiles
|
||||||
|
}
|
||||||
|
|
||||||
# The main loop. first keyword after $0 triggers section, or help.
|
# The main loop. first keyword after $0 triggers section, or help.
|
||||||
case "$1" in
|
case "$1" in
|
||||||
install) section_install "$2" ;;
|
install) section_install "$2" ;;
|
||||||
43
local/bin/x-backup-mysql-with-prefix.sh
Executable file
43
local/bin/x-backup-mysql-with-prefix.sh
Executable file
@@ -0,0 +1,43 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# Backup local MySQL Database tables with certain prefix.
|
||||||
|
# Ismo Vuorinen <https://github.com/ivuorinen> 2018
|
||||||
|
#
|
||||||
|
|
||||||
|
SCRIPT=$(basename "$0")
|
||||||
|
PREFIX=$1
|
||||||
|
FILENAME=$2
|
||||||
|
DATABASE=$3
|
||||||
|
|
||||||
|
: "${VERBOSE:=0}"
|
||||||
|
: "${DEFAULT_DATABASE:="wordpress"}"
|
||||||
|
|
||||||
|
if [ -z "${PREFIX}" ]; then
|
||||||
|
echo "(!) TABLE_PREFIX (first argument) is missing"
|
||||||
|
echo "(>) Usage: $SCRIPT <TABLE_PREFIX> <FILENAME_PREFIX> [<DATABASE>]"
|
||||||
|
echo " * <TABLE_PREFIX> = database table prefix, e.g. 'wp_'"
|
||||||
|
echo " * <FILENAME_PREFIX> = FILENAME prefix, defaults to table prefix. Use something descriptive e.g. 'wordpress'"
|
||||||
|
echo " * <DATABASE> = [optional] Third argument DATABASE, defaults to '$DEFAULT_DATABASE'."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${FILENAME}" ]; then
|
||||||
|
# echo "FILENAME (second argument) is missing, using PREFIX ($PREFIX)"
|
||||||
|
FILENAME=$PREFIX
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${DATABASE}" ]; then
|
||||||
|
# echo "DATABASE (third argument) is missing, using default ($DEFAULT_DATABASE)"
|
||||||
|
DATABASE=$DEFAULT_DATABASE
|
||||||
|
fi
|
||||||
|
|
||||||
|
TIMESTAMP=$(date "+%Y%m%d_%H%M%S")
|
||||||
|
FILENAME_TIMESTAMP="${DATABASE}_${FILENAME}_${TIMESTAMP}.sql"
|
||||||
|
|
||||||
|
mysqldump \
|
||||||
|
${DATABASE} \
|
||||||
|
"$(
|
||||||
|
echo "show tables like '${PREFIX}%';" \
|
||||||
|
| mysql ${DATABASE} \
|
||||||
|
| sed '/Tables_in/d'
|
||||||
|
)" > "${FILENAME_TIMESTAMP}"
|
||||||
@@ -1,6 +1,16 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# Check git repo's files .gitattributes and are all of them mapped.
|
||||||
|
# Ismo Vuorinen <https://github.com/ivuorinen> 2022
|
||||||
|
#
|
||||||
|
|
||||||
|
if ! command -v git &> /dev/null; then
|
||||||
|
echo "git could not be found, please install it first"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
missing_attributes=$(git ls-files | git check-attr -a --stdin | grep "text: auto")
|
missing_attributes=$(git ls-files | git check-attr -a --stdin | grep "text: auto")
|
||||||
|
|
||||||
if [[ "$missing_attributes" ]]; then
|
if [[ "$missing_attributes" ]]; then
|
||||||
echo ".gitattributes rule missing for the following files:"
|
echo ".gitattributes rule missing for the following files:"
|
||||||
echo "$missing_attributes"
|
echo "$missing_attributes"
|
||||||
|
|||||||
52
local/bin/x-validate-sha256sum.sh
Normal file
52
local/bin/x-validate-sha256sum.sh
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
##
|
||||||
|
# This script contains helper for sha256 validating your downloads
|
||||||
|
#
|
||||||
|
# Source: https://gist.github.com/onnimonni/b49779ebc96216771a6be3de46449fa1
|
||||||
|
# Author: Onni Hakala
|
||||||
|
# License: MIT
|
||||||
|
#
|
||||||
|
# Updated by Ismo Vuorinen <https://github.com/ivuorinen> 2022
|
||||||
|
##
|
||||||
|
|
||||||
|
if ! command -v sha256 &> /dev/null; then
|
||||||
|
echo "git could not be found, please install it first"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Stop program and give error message
|
||||||
|
# $1 - error message (string)
|
||||||
|
function error
|
||||||
|
{
|
||||||
|
echo "(!) ERROR: $1"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# return sha256sum for file
|
||||||
|
# $1 - filename (string)
|
||||||
|
function get_sha256sum
|
||||||
|
{
|
||||||
|
sha256sum "$1" | head -c 64
|
||||||
|
}
|
||||||
|
|
||||||
|
# Good variable names pls
|
||||||
|
filename=$1
|
||||||
|
file_hash=$2
|
||||||
|
|
||||||
|
# Check input
|
||||||
|
if [ -z "$filename" ]; then
|
||||||
|
error "You need to provide filename in first parameter"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$file_hash" ]; then
|
||||||
|
error "You need to provide sha256sum in second parameter"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if the file is valid
|
||||||
|
if [ ! -f "$filename" ]; then
|
||||||
|
error "File $filename doesn't exist"
|
||||||
|
elif [ "$(get_sha256sum "$filename")" = "$file_hash" ]; then
|
||||||
|
echo "(*) Success: $filename matches provided sha256sum"
|
||||||
|
else
|
||||||
|
error "$filename doesn't match provided sha256sum"
|
||||||
|
fi
|
||||||
@@ -1,6 +1,11 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# Install GitHub CLI extensions
|
# Install GitHub CLI extensions
|
||||||
|
|
||||||
|
if ! command -v gh &> /dev/null; then
|
||||||
|
echo "gh (GitHub Client) could not be found, please install it first"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
extensions=(
|
extensions=(
|
||||||
# GitHub CLI extension for reviewing Dependabot PRs.
|
# GitHub CLI extension for reviewing Dependabot PRs.
|
||||||
einride/gh-dependabot
|
einride/gh-dependabot
|
||||||
|
|||||||
88
scripts/install.sh
Normal file
88
scripts/install.sh
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Usage:
|
||||||
|
#
|
||||||
|
# sh install.sh
|
||||||
|
#
|
||||||
|
# Environment variables: VERBOSE, CP, LN, MKDIR, RM, DIRNAME.
|
||||||
|
#
|
||||||
|
# env VERBOSE=1 sh install.sh
|
||||||
|
#
|
||||||
|
# DO NOT EDIT THIS FILE
|
||||||
|
#
|
||||||
|
# This file is generated by rcm(7) as:
|
||||||
|
#
|
||||||
|
# rcup -B 0 -g
|
||||||
|
#
|
||||||
|
# To update it, re-run the above command.
|
||||||
|
#
|
||||||
|
: ${VERBOSE:=0}
|
||||||
|
: ${CP:=/bin/cp}
|
||||||
|
: ${LN:=/bin/ln}
|
||||||
|
: ${MKDIR:=/bin/mkdir}
|
||||||
|
: ${RM:=/bin/rm}
|
||||||
|
: ${DIRNAME:=/usr/bin/dirname}
|
||||||
|
verbose()
|
||||||
|
{
|
||||||
|
if [ "$VERBOSE" -gt 0 ]; then
|
||||||
|
echo "$@"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
handle_file_cp()
|
||||||
|
{
|
||||||
|
if [ -e "$2" ]; then
|
||||||
|
printf "%s " "overwrite $2? [yN]"
|
||||||
|
read overwrite
|
||||||
|
case "$overwrite" in
|
||||||
|
y)
|
||||||
|
$RM -rf "$2"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "skipping $2"
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
verbose "'$1' -> '$2'"
|
||||||
|
$MKDIR -p "$($DIRNAME "$2")"
|
||||||
|
$CP -R "$1" "$2"
|
||||||
|
}
|
||||||
|
handle_file_ln()
|
||||||
|
{
|
||||||
|
if [ -e "$2" ]; then
|
||||||
|
printf "%s " "overwrite $2? [yN]"
|
||||||
|
read overwrite
|
||||||
|
case "$overwrite" in
|
||||||
|
y)
|
||||||
|
$RM -rf "$2"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "skipping $2"
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
verbose "'$1' -> '$2'"
|
||||||
|
$MKDIR -p "$($DIRNAME "$2")"
|
||||||
|
$LN -sf "$1" "$2"
|
||||||
|
}
|
||||||
|
handle_file_ln "$HOME/.dotfiles/bash_profile" "$HOME/.bash_profile"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/bashrc" "$HOME/.bashrc"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/alias" "$HOME/.config/alias"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/exports" "$HOME/.config/exports"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/functions" "$HOME/.config/functions"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/gh/config.yml" "$HOME/.config/gh/config.yml"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/git/config" "$HOME/.config/git/config"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/git/gitignore" "$HOME/.config/git/gitignore"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/config/wtf/config.yml" "$HOME/.config/wtf/config.yml"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/git_profiles" "$HOME/.git_profiles"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/huskyrc" "$HOME/.huskyrc"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/local/bin/antigen.zsh" "$HOME/.local/bin/antigen.zsh"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/local/bin/dfm" "$HOME/.local/bin/dfm"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/local/bin/x-check-git-attributes" "$HOME/.local/bin/x-check-git-attributes"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/local/bin/x-open-ports" "$HOME/.local/bin/x-open-ports"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/rcrc" "$HOME/.rcrc"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/ssh/allowed_signers" "$HOME/.ssh/allowed_signers"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/ssh/config" "$HOME/.ssh/config"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/vuerc" "$HOME/.vuerc"
|
||||||
|
handle_file_ln "$HOME/.dotfiles/zshrc" "$HOME/.zshrc"
|
||||||
@@ -1,5 +1,10 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
echo 'start osx/set-defaults.sh'
|
#
|
||||||
|
# set-defaults.sh - Sets macOS Defaults that I like
|
||||||
|
#
|
||||||
|
# This script contains large portions from following scripts:
|
||||||
|
# - https://github.com/freekmurze/dotfiles/blob/main/macos/set-defaults.sh
|
||||||
|
#
|
||||||
|
|
||||||
# Ask for the administrator password upfront
|
# Ask for the administrator password upfront
|
||||||
sudo -v
|
sudo -v
|
||||||
@@ -22,8 +27,8 @@ sudo nvram SystemAudioVolume=" "
|
|||||||
# Menu bar: disable transparency
|
# Menu bar: disable transparency
|
||||||
#defaults write NSGlobalDomain AppleEnableMenuBarTransparency -bool false
|
#defaults write NSGlobalDomain AppleEnableMenuBarTransparency -bool false
|
||||||
|
|
||||||
# Set sidebar icon size to medium
|
# Set sidebar icon size to small
|
||||||
defaults write NSGlobalDomain NSTableViewDefaultSizeMode -int 2
|
defaults write NSGlobalDomain NSTableViewDefaultSizeMode -int 1
|
||||||
|
|
||||||
# Increase window resize speed for Cocoa applications
|
# Increase window resize speed for Cocoa applications
|
||||||
defaults write NSGlobalDomain NSWindowResizeTime -float 0.001
|
defaults write NSGlobalDomain NSWindowResizeTime -float 0.001
|
||||||
@@ -125,9 +130,9 @@ defaults write com.apple.screensaver askForPasswordDelay -int 0
|
|||||||
defaults write com.apple.finder NewWindowTarget -string "PfDe"
|
defaults write com.apple.finder NewWindowTarget -string "PfDe"
|
||||||
defaults write com.apple.finder NewWindowTargetPath -string "file://${HOME}/Desktop/"
|
defaults write com.apple.finder NewWindowTargetPath -string "file://${HOME}/Desktop/"
|
||||||
|
|
||||||
# Show icons for hard drives, servers, and removable media on the desktop
|
# Show icons for external hard drives, servers, and removable media on the desktop
|
||||||
defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool true
|
defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool true
|
||||||
defaults write com.apple.finder ShowHardDrivesOnDesktop -bool true
|
defaults write com.apple.finder ShowHardDrivesOnDesktop -bool false
|
||||||
defaults write com.apple.finder ShowMountedServersOnDesktop -bool true
|
defaults write com.apple.finder ShowMountedServersOnDesktop -bool true
|
||||||
defaults write com.apple.finder ShowRemovableMediaOnDesktop -bool true
|
defaults write com.apple.finder ShowRemovableMediaOnDesktop -bool true
|
||||||
|
|
||||||
@@ -156,7 +161,7 @@ defaults write com.apple.frameworks.diskimages skip-verify-remote -bool true
|
|||||||
|
|
||||||
# Use list view in all Finder windows by default
|
# Use list view in all Finder windows by default
|
||||||
# Four-letter codes for the other view modes: `icnv`, `clmv`, `Flwv`
|
# Four-letter codes for the other view modes: `icnv`, `clmv`, `Flwv`
|
||||||
defaults write com.apple.finder FXPreferredViewStyle -string "clmv"
|
defaults write com.apple.finder FXPreferredViewStyle -string "icnv"
|
||||||
|
|
||||||
# Disable the warning before emptying the Trash
|
# Disable the warning before emptying the Trash
|
||||||
defaults write com.apple.finder WarnOnEmptyTrash -bool false
|
defaults write com.apple.finder WarnOnEmptyTrash -bool false
|
||||||
@@ -182,7 +187,7 @@ defaults write com.apple.finder FXInfoPanesExpanded -dict \
|
|||||||
#defaults write com.apple.screencapture "location" -string "~/Documents/Screenshots"
|
#defaults write com.apple.screencapture "location" -string "~/Documents/Screenshots"
|
||||||
|
|
||||||
# Exclude date and time in screenshot filenames
|
# Exclude date and time in screenshot filenames
|
||||||
defaults write com.apple.screencapture "include-date" -bool false
|
defaults write com.apple.screencapture "include-date" -bool true
|
||||||
|
|
||||||
# Change the default screenshot file name
|
# Change the default screenshot file name
|
||||||
defaults write com.apple.screencapture "name" -string "screenshot"
|
defaults write com.apple.screencapture "name" -string "screenshot"
|
||||||
@@ -194,16 +199,16 @@ defaults write com.apple.screencapture "name" -string "screenshot"
|
|||||||
# Prevent applications from bouncing in Dock
|
# Prevent applications from bouncing in Dock
|
||||||
defaults write com.apple.dock no-bouncing -bool true
|
defaults write com.apple.dock no-bouncing -bool true
|
||||||
|
|
||||||
# Set the icon size of Dock items to 72 pixels
|
# Set the icon size of Dock items to 30 pixels
|
||||||
defaults write com.apple.dock tilesize -int 72
|
defaults write com.apple.dock tilesize -int 30
|
||||||
|
|
||||||
# Hide indicator lights for open applications in the Dock
|
# Hide indicator lights for open applications in the Dock
|
||||||
defaults write com.apple.dock show-process-indicators -bool false
|
defaults write com.apple.dock show-process-indicators -bool true
|
||||||
|
|
||||||
# Wipe all (default) app icons from the Dock
|
# Wipe all (default) app icons from the Dock
|
||||||
# This is only really useful when setting up a new Mac, or if you don’t use
|
# This is only really useful when setting up a new Mac, or if you don’t use
|
||||||
# the Dock to launch apps.
|
# the Dock to launch apps.
|
||||||
defaults write com.apple.dock persistent-apps -array ""
|
# defaults write com.apple.dock persistent-apps -array ""
|
||||||
|
|
||||||
# Disable Dashboard
|
# Disable Dashboard
|
||||||
defaults write com.apple.dashboard mcx-disabled -bool true
|
defaults write com.apple.dashboard mcx-disabled -bool true
|
||||||
@@ -226,8 +231,11 @@ defaults write com.apple.Safari IncludeInternalDebugMenu -bool true
|
|||||||
|
|
||||||
# Enable the Develop menu and the Web Inspector in Safari
|
# Enable the Develop menu and the Web Inspector in Safari
|
||||||
defaults write com.apple.Safari IncludeDevelopMenu -bool true
|
defaults write com.apple.Safari IncludeDevelopMenu -bool true
|
||||||
defaults write com.apple.Safari WebKitDeveloperExtrasEnabledPreferenceKey -bool true
|
defaults write com.apple.Safari \
|
||||||
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DeveloperExtrasEnabled -bool true
|
WebKitDeveloperExtrasEnabledPreferenceKey -bool true
|
||||||
|
defaults write com.apple.Safari \
|
||||||
|
com.apple.Safari.ContentPageGroupIdentifier.WebKit2DeveloperExtrasEnabled \
|
||||||
|
-bool true
|
||||||
|
|
||||||
# Don’t display the annoying prompt when quitting iTerm
|
# Don’t display the annoying prompt when quitting iTerm
|
||||||
#defaults write com.googlecode.iterm2 PromptOnQuit -bool false
|
#defaults write com.googlecode.iterm2 PromptOnQuit -bool false
|
||||||
@@ -268,10 +276,16 @@ defaults write com.apple.TextEdit PlainTextEncodingForWrite -int 4
|
|||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
# Disable smart quotes as it’s annoying for messages that contain code
|
# Disable smart quotes as it’s annoying for messages that contain code
|
||||||
defaults write com.apple.messageshelper.MessageController SOInputLineSettings -dict-add "automaticQuoteSubstitutionEnabled" -bool false
|
defaults write com.apple.messageshelper.MessageController \
|
||||||
|
SOInputLineSettings \
|
||||||
|
-dict-add "automaticQuoteSubstitutionEnabled" \
|
||||||
|
-bool false
|
||||||
|
|
||||||
# Disable continuous spell checking
|
# Disable continuous spell checking
|
||||||
defaults write com.apple.messageshelper.MessageController SOInputLineSettings -dict-add "continuousSpellCheckingEnabled" -bool false
|
defaults write com.apple.messageshelper.MessageController \
|
||||||
|
SOInputLineSettings \
|
||||||
|
-dict-add "continuousSpellCheckingEnabled" \
|
||||||
|
-bool false
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# Kill affected applications #
|
# Kill affected applications #
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
#
|
#
|
||||||
# Settler - my macOS setup automator
|
# Settler - my macOS setup automator
|
||||||
|
# Ismo Vuorinen <https://github.com/ivuorinen> 2018
|
||||||
|
#
|
||||||
|
|
||||||
# Ask for the administrator password upfront
|
# Ask for the administrator password upfront
|
||||||
sudo -v
|
sudo -v
|
||||||
@@ -42,8 +44,8 @@ else
|
|||||||
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
bash ../local/bin/dotfiles brew install && "Installed Brewfile contents"
|
bash "$HOME/.dotfiles/local/bin/dfm" brew install && "Installed Brewfile contents"
|
||||||
bash ../local/bin/dotfiles dotfiles link && "Linked all dotfiles"
|
bash "$HOME/.dotfiles/local/bin/dfm" dotfiles link && "Linked all dotfiles"
|
||||||
|
|
||||||
read -r -p "Do you want to set macOS defaults? (y/N) " yn
|
read -r -p "Do you want to set macOS defaults? (y/N) " yn
|
||||||
|
|
||||||
|
|||||||
3
zshrc
3
zshrc
@@ -42,7 +42,7 @@ x-load-configs
|
|||||||
ssh-add -A 2>/dev/null;
|
ssh-add -A 2>/dev/null;
|
||||||
|
|
||||||
# Try to load antigen, if present
|
# Try to load antigen, if present
|
||||||
[[ -f "$HOME/.config/antigen.zsh" ]] && source "$HOME/.config/antigen.zsh"
|
[[ -f "$HOME/.local/bin/antigen.zsh" ]] && source "$HOME/.local/bin/antigen.zsh"
|
||||||
|
|
||||||
# antigen is present
|
# antigen is present
|
||||||
if command -v antigen &> /dev/null; then
|
if command -v antigen &> /dev/null; then
|
||||||
@@ -64,6 +64,7 @@ if command -v antigen &> /dev/null; then
|
|||||||
hash docker 2>/dev/null && antigen bundle docker
|
hash docker 2>/dev/null && antigen bundle docker
|
||||||
|
|
||||||
hash nvm 2>/dev/null && antigen bundle Sparragus/zsh-auto-nvm-use
|
hash nvm 2>/dev/null && antigen bundle Sparragus/zsh-auto-nvm-use
|
||||||
|
hash python 2>/dev/null && antigen bundle MichaelAquilina/zsh-autoswitch-virtualenv
|
||||||
hash jq 2>/dev/null && antigen bundle reegnz/jq-zsh-plugin
|
hash jq 2>/dev/null && antigen bundle reegnz/jq-zsh-plugin
|
||||||
hash docker-compose 2>/dev/null && antigen bundle sroze/docker-compose-zsh-plugin
|
hash docker-compose 2>/dev/null && antigen bundle sroze/docker-compose-zsh-plugin
|
||||||
# antigen bundle voronkovich/phpcs.plugin.zsh
|
# antigen bundle voronkovich/phpcs.plugin.zsh
|
||||||
|
|||||||
Reference in New Issue
Block a user