mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-02-04 20:49:02 +00:00
Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8a8699bf0c | ||
|
|
8814c777f5 | ||
| bf4b0c50f4 | |||
| c162452dd9 | |||
| c15965915f | |||
|
|
a53d655fd7 | ||
|
|
0f87411f65 | ||
|
|
af461e7234 |
@@ -10,15 +10,17 @@ insert_final_newline = true
|
|||||||
# tab_width = 4
|
# tab_width = 4
|
||||||
trim_trailing_whitespace = true
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
[*.sass]
|
[{*.yaml,*.yml}]
|
||||||
# indent_size = 2
|
indent_size = 2
|
||||||
|
|
||||||
[{*.bash,*.sh,*.zsh}]
|
[*.sh]
|
||||||
indent_size = 2
|
indent_size = 2
|
||||||
tab_width = 2
|
tab_width = 2
|
||||||
|
|
||||||
[{*.ctp,*.hphp,*.inc,*.module,*.php,*.php4,*.php5,*.phtml}]
|
shell_variant = posix # like -ln=posix
|
||||||
# max_line_length = 110
|
binary_next_line = true # like -bn
|
||||||
|
switch_case_indent = true # like -ci
|
||||||
[{*.yaml,*.yml}]
|
space_redirects = true # like -sr
|
||||||
indent_size = 2
|
keep_padding = false # like -kp
|
||||||
|
function_next_line = true # like -fn
|
||||||
|
never_split = true # like -ns
|
||||||
|
|||||||
221
.gitattributes
vendored
Normal file
221
.gitattributes
vendored
Normal file
@@ -0,0 +1,221 @@
|
|||||||
|
## GITATTRIBUTES FOR WEB PROJECTS
|
||||||
|
#
|
||||||
|
# These settings are for any web project.
|
||||||
|
#
|
||||||
|
# Details per file setting:
|
||||||
|
# text These files should be normalized (i.e. convert CRLF to LF).
|
||||||
|
# binary These files are binary and should be left untouched.
|
||||||
|
#
|
||||||
|
# Note that binary is a macro for -text -diff.
|
||||||
|
######################################################################
|
||||||
|
|
||||||
|
# Auto detect
|
||||||
|
## Handle line endings automatically for files detected as
|
||||||
|
## text and leave all files detected as binary untouched.
|
||||||
|
## This will handle all files NOT defined below.
|
||||||
|
* text=auto
|
||||||
|
|
||||||
|
# Source code
|
||||||
|
*.bash text eol=lf
|
||||||
|
*.bat text eol=crlf
|
||||||
|
*.cmd text eol=crlf
|
||||||
|
*.coffee text
|
||||||
|
*.css text diff=css
|
||||||
|
*.htm text diff=html
|
||||||
|
*.html text diff=html
|
||||||
|
*.inc text
|
||||||
|
*.ini text
|
||||||
|
*.js text
|
||||||
|
*.json text
|
||||||
|
*.jsx text
|
||||||
|
*.less text
|
||||||
|
*.ls text
|
||||||
|
*.map text -diff
|
||||||
|
*.od text
|
||||||
|
*.onlydata text
|
||||||
|
*.php text diff=php
|
||||||
|
*.pl text
|
||||||
|
*.ps1 text eol=crlf
|
||||||
|
*.py text diff=python
|
||||||
|
*.rb text diff=ruby
|
||||||
|
*.sass text
|
||||||
|
*.scm text
|
||||||
|
*.scss text diff=css
|
||||||
|
*.sh text eol=lf
|
||||||
|
.husky/* text eol=lf
|
||||||
|
*.sql text
|
||||||
|
*.styl text
|
||||||
|
*.tag text
|
||||||
|
*.ts text
|
||||||
|
*.tsx text
|
||||||
|
*.xml text
|
||||||
|
*.xhtml text diff=html
|
||||||
|
|
||||||
|
# Docker
|
||||||
|
Dockerfile text
|
||||||
|
|
||||||
|
# Documentation
|
||||||
|
*.ipynb text
|
||||||
|
*.markdown text diff=markdown
|
||||||
|
*.md text diff=markdown
|
||||||
|
*.mdwn text diff=markdown
|
||||||
|
*.mdown text diff=markdown
|
||||||
|
*.mkd text diff=markdown
|
||||||
|
*.mkdn text diff=markdown
|
||||||
|
*.mdtxt text
|
||||||
|
*.mdtext text
|
||||||
|
*.txt text
|
||||||
|
AUTHORS text
|
||||||
|
CHANGELOG text
|
||||||
|
CHANGES text
|
||||||
|
CONTRIBUTING text
|
||||||
|
COPYING text
|
||||||
|
copyright text
|
||||||
|
*COPYRIGHT* text
|
||||||
|
INSTALL text
|
||||||
|
license text
|
||||||
|
LICENSE text
|
||||||
|
NEWS text
|
||||||
|
readme text
|
||||||
|
*README* text
|
||||||
|
TODO text
|
||||||
|
|
||||||
|
# Templates
|
||||||
|
*.dot text
|
||||||
|
*.ejs text
|
||||||
|
*.erb text
|
||||||
|
*.haml text
|
||||||
|
*.handlebars text
|
||||||
|
*.hbs text
|
||||||
|
*.hbt text
|
||||||
|
*.jade text
|
||||||
|
*.latte text
|
||||||
|
*.mustache text
|
||||||
|
*.njk text
|
||||||
|
*.phtml text
|
||||||
|
*.svelte text
|
||||||
|
*.tmpl text
|
||||||
|
*.tpl text
|
||||||
|
*.twig text
|
||||||
|
*.vue text
|
||||||
|
|
||||||
|
# Configs
|
||||||
|
*.cnf text
|
||||||
|
*.conf text
|
||||||
|
*.config text
|
||||||
|
.editorconfig text
|
||||||
|
.env text
|
||||||
|
.gitattributes text
|
||||||
|
.gitconfig text
|
||||||
|
.htaccess text
|
||||||
|
*.lock text -diff
|
||||||
|
package.json text eol=lf
|
||||||
|
package-lock.json text eol=lf -diff
|
||||||
|
pnpm-lock.yaml text eol=lf -diff
|
||||||
|
.prettierrc text
|
||||||
|
yarn.lock text -diff
|
||||||
|
*.toml text
|
||||||
|
*.yaml text
|
||||||
|
*.yml text
|
||||||
|
browserslist text
|
||||||
|
Makefile text
|
||||||
|
makefile text
|
||||||
|
|
||||||
|
# Heroku
|
||||||
|
Procfile text
|
||||||
|
|
||||||
|
# Graphics
|
||||||
|
*.ai binary
|
||||||
|
*.bmp binary
|
||||||
|
*.eps binary
|
||||||
|
*.gif binary
|
||||||
|
*.gifv binary
|
||||||
|
*.ico binary
|
||||||
|
*.jng binary
|
||||||
|
*.jp2 binary
|
||||||
|
*.jpg binary
|
||||||
|
*.jpeg binary
|
||||||
|
*.jpx binary
|
||||||
|
*.jxr binary
|
||||||
|
*.pdf binary
|
||||||
|
*.png binary
|
||||||
|
*.psb binary
|
||||||
|
*.psd binary
|
||||||
|
# SVG treated as an asset (binary) by default.
|
||||||
|
*.svg text
|
||||||
|
# If you want to treat it as binary,
|
||||||
|
# use the following line instead.
|
||||||
|
# *.svg binary
|
||||||
|
*.svgz binary
|
||||||
|
*.tif binary
|
||||||
|
*.tiff binary
|
||||||
|
*.wbmp binary
|
||||||
|
*.webp binary
|
||||||
|
|
||||||
|
# Audio
|
||||||
|
*.kar binary
|
||||||
|
*.m4a binary
|
||||||
|
*.mid binary
|
||||||
|
*.midi binary
|
||||||
|
*.mp3 binary
|
||||||
|
*.ogg binary
|
||||||
|
*.ra binary
|
||||||
|
|
||||||
|
# Video
|
||||||
|
*.3gpp binary
|
||||||
|
*.3gp binary
|
||||||
|
*.as binary
|
||||||
|
*.asf binary
|
||||||
|
*.asx binary
|
||||||
|
*.avi binary
|
||||||
|
*.fla binary
|
||||||
|
*.flv binary
|
||||||
|
*.m4v binary
|
||||||
|
*.mng binary
|
||||||
|
*.mov binary
|
||||||
|
*.mp4 binary
|
||||||
|
*.mpeg binary
|
||||||
|
*.mpg binary
|
||||||
|
*.ogv binary
|
||||||
|
*.swc binary
|
||||||
|
*.swf binary
|
||||||
|
*.webm binary
|
||||||
|
|
||||||
|
# Archives
|
||||||
|
*.7z binary
|
||||||
|
*.gz binary
|
||||||
|
*.jar binary
|
||||||
|
*.rar binary
|
||||||
|
*.tar binary
|
||||||
|
*.zip binary
|
||||||
|
|
||||||
|
# Fonts
|
||||||
|
*.ttf binary
|
||||||
|
*.eot binary
|
||||||
|
*.otf binary
|
||||||
|
*.woff binary
|
||||||
|
*.woff2 binary
|
||||||
|
|
||||||
|
# Executables
|
||||||
|
*.exe binary
|
||||||
|
*.pyc binary
|
||||||
|
|
||||||
|
# RC files (like .babelrc or .eslintrc)
|
||||||
|
*.*rc text
|
||||||
|
|
||||||
|
# Ignore files (like .npmignore or .gitignore)
|
||||||
|
*.*ignore text
|
||||||
|
|
||||||
|
*.gitignore text
|
||||||
|
*.gitkeep text
|
||||||
|
.gitattributes export-ignore
|
||||||
|
**/.gitignore export-ignore
|
||||||
|
**/.gitkeep export-ignore
|
||||||
|
|
||||||
|
# Repo specials
|
||||||
|
local/bin/* text eol=lf
|
||||||
|
config/antigen.zsh text
|
||||||
|
git/* text
|
||||||
|
**/git/* text
|
||||||
|
**/alias text
|
||||||
|
ssh/* text
|
||||||
15
Brewfile
15
Brewfile
@@ -103,6 +103,8 @@ brew "lazydocker"
|
|||||||
brew "libvoikko"
|
brew "libvoikko"
|
||||||
# Swiss Army Knife for macOS
|
# Swiss Army Knife for macOS
|
||||||
brew "m-cli"
|
brew "m-cli"
|
||||||
|
# Mac App Store command-line interface
|
||||||
|
brew "mas"
|
||||||
# Terminal-based visual file manager
|
# Terminal-based visual file manager
|
||||||
brew "midnight-commander"
|
brew "midnight-commander"
|
||||||
# Port scanning utility for large networks
|
# Port scanning utility for large networks
|
||||||
@@ -187,6 +189,8 @@ cask "fork"
|
|||||||
cask "google-cloud-sdk"
|
cask "google-cloud-sdk"
|
||||||
# HTTP and GraphQL Client
|
# HTTP and GraphQL Client
|
||||||
cask "insomnia"
|
cask "insomnia"
|
||||||
|
# JetBrains tools manager
|
||||||
|
cask "jetbrains-toolbox"
|
||||||
# Kubernetes IDE
|
# Kubernetes IDE
|
||||||
cask "lens"
|
cask "lens"
|
||||||
# Reverse proxy, secure introspectable tunnels to localhost
|
# Reverse proxy, secure introspectable tunnels to localhost
|
||||||
@@ -203,6 +207,10 @@ cask "quicklook-json"
|
|||||||
cask "quicklookase"
|
cask "quicklookase"
|
||||||
# MySQL/MariaDB database management
|
# MySQL/MariaDB database management
|
||||||
cask "sequel-ace"
|
cask "sequel-ace"
|
||||||
|
# Collection of apps available by subscription
|
||||||
|
cask "setapp"
|
||||||
|
# Sound and audio controller
|
||||||
|
cask "soundsource"
|
||||||
# Application for inspecting installer packages
|
# Application for inspecting installer packages
|
||||||
cask "suspicious-package"
|
cask "suspicious-package"
|
||||||
# Quicklook extension for source files
|
# Quicklook extension for source files
|
||||||
@@ -213,3 +221,10 @@ cask "visual-studio-code"
|
|||||||
cask "vlc"
|
cask "vlc"
|
||||||
# Rust-based terminal
|
# Rust-based terminal
|
||||||
cask "warp"
|
cask "warp"
|
||||||
|
mas "1Password for Safari", id: 1569813296
|
||||||
|
mas "GarageBand", id: 682658836
|
||||||
|
mas "iMovie", id: 408981434
|
||||||
|
mas "Keynote", id: 409183694
|
||||||
|
mas "Numbers", id: 409203825
|
||||||
|
mas "Pages", id: 409201541
|
||||||
|
mas "Tailscale", id: 1475387142
|
||||||
|
|||||||
43
README.md
43
README.md
@@ -1,8 +1,25 @@
|
|||||||
# DotFiles
|
# .dotfiles
|
||||||
|
|
||||||
|
The folder structure follows [XDG Base Directory Specification][xdg] where possible.
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
## Other stuff
|
## rcrc
|
||||||
|
|
||||||
|
Update install script
|
||||||
|
|
||||||
|
```bash
|
||||||
|
rcup -B 0 -g > ~/.dotfiles/install.sh | shfmt -w -l ~/.dotfiles/install.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
## brew
|
||||||
|
|
||||||
|
Install everything described in `Brewfile`
|
||||||
|
|
||||||
|
```bash
|
||||||
|
brew bundle install --force --file=~/.dotfiles/Brewfile
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
Update `Brewfile`
|
Update `Brewfile`
|
||||||
|
|
||||||
@@ -15,3 +32,25 @@ Enable automatic brew updates and upgrades.
|
|||||||
```bash
|
```bash
|
||||||
brew autoupdate start 43200 --upgrade --cleanup --immediate
|
brew autoupdate start 43200 --upgrade --cleanup --immediate
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## XDG Variables
|
||||||
|
|
||||||
|
| Var | Default |
|
||||||
|
|--------------------|----------------------|
|
||||||
|
| Executables | `$HOME/.local/bin` |
|
||||||
|
| `$XDG_DATA_HOME` | `$HOME/.local/share` |
|
||||||
|
| `$XDG_STATE_HOME` | `$HOME/.local/state` |
|
||||||
|
| `$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_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.
|
||||||
|
- 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:
|
||||||
|
- 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`. 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]: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
|
||||||
|
|||||||
42
alias
42
alias
@@ -1,42 +0,0 @@
|
|||||||
# shellcheck shell=bash
|
|
||||||
# macOS specific
|
|
||||||
if [[ $(uname) == 'Darwin' ]]; then
|
|
||||||
alias file_hide="chflags hidden"
|
|
||||||
alias file_show="chflags nohidden"
|
|
||||||
alias brewUp='brew update && brew outdated && brew upgrade && brew cleanup'
|
|
||||||
|
|
||||||
alias php74='$(brew --prefix php@7.4)/bin/php'
|
|
||||||
alias php80='$(brew --prefix php@8.0)/bin/php -d error_reporting=22527'
|
|
||||||
alias phpc='$(brew --prefix php)/bin/php -d error_reporting=22527'
|
|
||||||
alias php80raw='$(brew --prefix php@8.0)/bin/php'
|
|
||||||
|
|
||||||
alias php-server='php -S localhost:9000'
|
|
||||||
|
|
||||||
alias p74c='$(brew --prefix php@7.4)/bin/php -d error_reporting=22527 $(which composer)'
|
|
||||||
alias p80c='$(brew --prefix php@8.0)/bin/php -d error_reporting=22527 $(which composer)'
|
|
||||||
alias p8c='$(brew --prefix php)/bin/php -d error_reporting=22527 $(which composer)'
|
|
||||||
alias p7a='$(brew --prefix php@7.4)/bin/php artisan'
|
|
||||||
alias p8a='$(brew --prefix php)/bin/php artisan'
|
|
||||||
|
|
||||||
alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'
|
|
||||||
|
|
||||||
# work related
|
|
||||||
alias geniemvpn='sudo openfortivpn -c ~/.local/openfortivpn.conf'
|
|
||||||
fi
|
|
||||||
|
|
||||||
alias watchx='watch -dpbc'
|
|
||||||
alias zapds='find . -name ".DS_Store" -print -delete'
|
|
||||||
alias t='tail -f'
|
|
||||||
alias dn='du -chd1'
|
|
||||||
|
|
||||||
alias codescanner='docker run --env SOURCE_CODE="$PWD" --volume "$PWD":/code --volume /var/run/docker.sock:/var/run/docker.sock registry.gitlab.com/gitlab-org/ci-cd/codequality:${VERSION:-latest} /code'
|
|
||||||
|
|
||||||
alias composerUp='composer global update'
|
|
||||||
alias npmUp='npm -g up'
|
|
||||||
|
|
||||||
alias zedit='code ~/.zshrc ~/.alias'
|
|
||||||
|
|
||||||
if [[ -f "$HOME/.aliases.local" ]]; then
|
|
||||||
# shellcheck disable=SC1091
|
|
||||||
source "$HOME/.aliases.local"
|
|
||||||
fi
|
|
||||||
76
config/alias
Normal file
76
config/alias
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
# shellcheck shell=bash
|
||||||
|
# macOS specific
|
||||||
|
|
||||||
|
# Get installed php versions from brew and setup aliases
|
||||||
|
function x-set-php-aliases
|
||||||
|
{
|
||||||
|
local php_versions=()
|
||||||
|
while IFS="" read -r line; do php_versions+=("$line"); done < <(brew list | grep '^php')
|
||||||
|
|
||||||
|
php_error_reporting='-d error_reporting=22527'
|
||||||
|
|
||||||
|
for version in "${php_versions[@]}"; do
|
||||||
|
# drop the dot from version (8.0 -> 80)
|
||||||
|
local php_abbr="${version//\./}"
|
||||||
|
# replace "php@" with "p" so "php@80" becomes "p80"
|
||||||
|
local php_alias="${php_abbr//php@/p}"
|
||||||
|
|
||||||
|
# Skip php = php aliasing
|
||||||
|
# if [[ "$php_abbr" == "$php_alias" ]]; then continue; fi;
|
||||||
|
|
||||||
|
# Fetch the exec path once
|
||||||
|
php_exec="$(brew --prefix "$version")/bin/php"
|
||||||
|
|
||||||
|
# Raw PHP without error_reporting flag.
|
||||||
|
# shellcheck disable=SC2139
|
||||||
|
alias ${php_alias}r="$php_exec"
|
||||||
|
# PHP with error_reporting flag.
|
||||||
|
# shellcheck disable=SC2139
|
||||||
|
alias $php_alias="$php_exec $php_error_reporting"
|
||||||
|
# Local PHP Server.
|
||||||
|
# shellcheck disable=SC2139
|
||||||
|
alias ${php_alias}s="$php_exec -S localhost:9000"
|
||||||
|
# Use composer with specific PHP and error_reporting flag on.
|
||||||
|
# shellcheck disable=SC2139
|
||||||
|
alias ${php_alias}c="$php_exec $php_error_reporting $(which composer)"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
if [[ $(uname) == 'Darwin' ]]; then
|
||||||
|
|
||||||
|
x-set-php-aliases
|
||||||
|
|
||||||
|
alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'
|
||||||
|
|
||||||
|
# Flush Directory Service cache
|
||||||
|
alias flushdns="sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder"
|
||||||
|
|
||||||
|
# Lock the screen
|
||||||
|
alias afk="osascript -e 'tell application \"System Events\" to keystroke \"q\" using {command down,control down}'"
|
||||||
|
|
||||||
|
# Empty the Trash on all mounted volumes and the main HDD
|
||||||
|
# Also, clear Apple’s System Logs to improve shell startup speed
|
||||||
|
alias emptytrash="sudo rm -rfv /Volumes/*/.Trashes; sudo rm -rfv ~/.Trash; sudo rm -rfv /private/var/log/asl/*.asl"
|
||||||
|
fi
|
||||||
|
|
||||||
|
alias watchx='watch -dpbc' # watch with: differences, precise, beep and color
|
||||||
|
alias zapds='find . -name ".DS_Store" -print -delete'
|
||||||
|
alias t='tail -f' # tail with follow flag on
|
||||||
|
alias dn='du -chd1' # directory usage, return only the total
|
||||||
|
|
||||||
|
alias code_scanner='docker run \
|
||||||
|
--env SOURCE_CODE="$PWD" \
|
||||||
|
--volume "$PWD":/code \
|
||||||
|
--volume /var/run/docker.sock:/var/run/docker.sock \
|
||||||
|
registry.gitlab.com/gitlab-org/ci-cd/codequality:${CODEQUALITY_VERSION:-latest} \
|
||||||
|
/code'
|
||||||
|
|
||||||
|
alias composerUp='composer global update'
|
||||||
|
alias npmUp='npm -g up'
|
||||||
|
|
||||||
|
alias zedit='code ~/.zshrc ~/.alias'
|
||||||
|
|
||||||
|
if [[ -f "$HOME/.aliases.local" ]]; then
|
||||||
|
# shellcheck disable=SC1091
|
||||||
|
source "$HOME/.aliases.local"
|
||||||
|
fi
|
||||||
@@ -24,7 +24,7 @@ if [[ $ANTIGEN_CACHE != false ]]; then
|
|||||||
for config in $ANTIGEN_CHECK_FILES; do
|
for config in $ANTIGEN_CHECK_FILES; do
|
||||||
if [[ "$config" -nt "$config.zwc" ]]; then
|
if [[ "$config" -nt "$config.zwc" ]]; then
|
||||||
# Flag configuration file as newer
|
# Flag configuration file as newer
|
||||||
{ zcompile "$config" } &!
|
{ zcompile "$config"; } &!
|
||||||
# Kill cache file in order to force full loading (see a few lines below)
|
# Kill cache file in order to force full loading (see a few lines below)
|
||||||
[[ -f "$ANTIGEN_CACHE" ]] && rm -f "$ANTIGEN_CACHE"
|
[[ -f "$ANTIGEN_CACHE" ]] && rm -f "$ANTIGEN_CACHE"
|
||||||
fi
|
fi
|
||||||
@@ -151,7 +151,7 @@ antigen () {
|
|||||||
# String if record is found
|
# String if record is found
|
||||||
-antigen-find-record () {
|
-antigen-find-record () {
|
||||||
local bundle=$1
|
local bundle=$1
|
||||||
|
|
||||||
if [[ $# -eq 0 ]]; then
|
if [[ $# -eq 0 ]]; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
@@ -255,7 +255,7 @@ antigen () {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
# This function check ZSH_EVAL_CONTEXT to determine if running in interactive shell.
|
# This function check ZSH_EVAL_CONTEXT to determine if running in interactive shell.
|
||||||
#
|
#
|
||||||
# Usage
|
# Usage
|
||||||
# -antigen-interactive-mode
|
# -antigen-interactive-mode
|
||||||
@@ -283,7 +283,7 @@ antigen () {
|
|||||||
# Branch name
|
# Branch name
|
||||||
-antigen-parse-branch () {
|
-antigen-parse-branch () {
|
||||||
local url="$1" branch="$2" branches
|
local url="$1" branch="$2" branches
|
||||||
|
|
||||||
local match mbegin mend MATCH MBEGIN MEND
|
local match mbegin mend MATCH MBEGIN MEND
|
||||||
|
|
||||||
if [[ "$branch" =~ '\*' ]]; then
|
if [[ "$branch" =~ '\*' ]]; then
|
||||||
@@ -466,7 +466,7 @@ antigen () {
|
|||||||
|
|
||||||
# Compatibility with oh-my-zsh themes.
|
# Compatibility with oh-my-zsh themes.
|
||||||
-antigen-set-default _ANTIGEN_THEME_COMPAT true
|
-antigen-set-default _ANTIGEN_THEME_COMPAT true
|
||||||
|
|
||||||
# Add default built-in extensions to load at start up
|
# Add default built-in extensions to load at start up
|
||||||
-antigen-set-default _ANTIGEN_BUILTIN_EXTENSIONS 'lock parallel defer cache'
|
-antigen-set-default _ANTIGEN_BUILTIN_EXTENSIONS 'lock parallel defer cache'
|
||||||
|
|
||||||
@@ -555,7 +555,7 @@ antigen () {
|
|||||||
if [[ $#list == 0 ]]; then
|
if [[ $#list == 0 ]]; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Using a for rather than `source $list` as we need to check for zsh-themes
|
# Using a for rather than `source $list` as we need to check for zsh-themes
|
||||||
# In order to create antigen-compat file. This is only needed for interactive-mode
|
# In order to create antigen-compat file. This is only needed for interactive-mode
|
||||||
# theme switching, for static loading (cache) there is no need.
|
# theme switching, for static loading (cache) there is no need.
|
||||||
@@ -643,7 +643,7 @@ antigen () {
|
|||||||
|
|
||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
|
|
||||||
# Check if url is just the plugin name. Super short syntax.
|
# Check if url is just the plugin name. Super short syntax.
|
||||||
if [[ "${args[url]}" != */* ]]; then
|
if [[ "${args[url]}" != */* ]]; then
|
||||||
case "$ANTIGEN_DEFAULT_REPO_URL" in
|
case "$ANTIGEN_DEFAULT_REPO_URL" in
|
||||||
@@ -728,13 +728,13 @@ antigen () {
|
|||||||
# if it's local then path is just the "url" argument, loc remains the same
|
# if it's local then path is just the "url" argument, loc remains the same
|
||||||
args[dir]=${args[url]}
|
args[dir]=${args[url]}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Escape url and branch (may contain semver-like and pipe characters)
|
# Escape url and branch (may contain semver-like and pipe characters)
|
||||||
args[url]="${(qq)args[url]}"
|
args[url]="${(qq)args[url]}"
|
||||||
if [[ -n "${args[branch]}" ]]; then
|
if [[ -n "${args[branch]}" ]]; then
|
||||||
args[branch]="${(qq)args[branch]}"
|
args[branch]="${(qq)args[branch]}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Escape bundle name (may contain semver-like characters)
|
# Escape bundle name (may contain semver-like characters)
|
||||||
args[name]="${(qq)args[name]}"
|
args[name]="${(qq)args[name]}"
|
||||||
|
|
||||||
@@ -821,7 +821,7 @@ antigen-bundle () {
|
|||||||
printf "Seems %s is already installed!\n" ${bundle[name]}
|
printf "Seems %s is already installed!\n" ${bundle[name]}
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Clone bundle if we haven't done do already.
|
# Clone bundle if we haven't done do already.
|
||||||
if [[ ! -d "${bundle[dir]}" ]]; then
|
if [[ ! -d "${bundle[dir]}" ]]; then
|
||||||
if ! -antigen-bundle-install ${(kv)bundle}; then
|
if ! -antigen-bundle-install ${(kv)bundle}; then
|
||||||
@@ -835,7 +835,7 @@ antigen-bundle () {
|
|||||||
printf "Antigen: Failed to load %s.\n" ${bundle[btype]} >&2
|
printf "Antigen: Failed to load %s.\n" ${bundle[btype]} >&2
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Only add it to the record if it could be installed and loaded.
|
# Only add it to the record if it could be installed and loaded.
|
||||||
_ANTIGEN_BUNDLE_RECORD+=("$record")
|
_ANTIGEN_BUNDLE_RECORD+=("$record")
|
||||||
}
|
}
|
||||||
@@ -1326,7 +1326,7 @@ antigen-update () {
|
|||||||
local url=""
|
local url=""
|
||||||
local make_local_clone=""
|
local make_local_clone=""
|
||||||
local start=$(date +'%s')
|
local start=$(date +'%s')
|
||||||
|
|
||||||
if [[ $# -eq 0 ]]; then
|
if [[ $# -eq 0 ]]; then
|
||||||
printf "Antigen: Missing argument.\n" >&2
|
printf "Antigen: Missing argument.\n" >&2
|
||||||
return 1
|
return 1
|
||||||
@@ -1340,14 +1340,14 @@ antigen-update () {
|
|||||||
|
|
||||||
url="$(echo "$record" | cut -d' ' -f1)"
|
url="$(echo "$record" | cut -d' ' -f1)"
|
||||||
make_local_clone=$(echo "$record" | cut -d' ' -f4)
|
make_local_clone=$(echo "$record" | cut -d' ' -f4)
|
||||||
|
|
||||||
local branch="master"
|
local branch="master"
|
||||||
if [[ $url == *\|* ]]; then
|
if [[ $url == *\|* ]]; then
|
||||||
branch="$(-antigen-parse-branch ${url%|*} ${url#*|})"
|
branch="$(-antigen-parse-branch ${url%|*} ${url#*|})"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
printf "Updating %s... " $(-antigen-bundle-short-name "$url" "$branch")
|
printf "Updating %s... " $(-antigen-bundle-short-name "$url" "$branch")
|
||||||
|
|
||||||
if [[ $make_local_clone == "false" ]]; then
|
if [[ $make_local_clone == "false" ]]; then
|
||||||
printf "Bundle has no local clone. Will not be updated.\n" >&2
|
printf "Bundle has no local clone. Will not be updated.\n" >&2
|
||||||
return 1
|
return 1
|
||||||
@@ -1358,7 +1358,7 @@ antigen-update () {
|
|||||||
printf "Error! Activate logging and try again.\n" >&2
|
printf "Error! Activate logging and try again.\n" >&2
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local took=$(( $(date +'%s') - $start ))
|
local took=$(( $(date +'%s') - $start ))
|
||||||
printf "Done. Took %ds.\n" $took
|
printf "Done. Took %ds.\n" $took
|
||||||
}
|
}
|
||||||
@@ -1410,7 +1410,7 @@ typeset -g _ANTIGEN_EXTENSIONS; _ANTIGEN_EXTENSIONS=()
|
|||||||
# -antigen-add-hook antigen-apply antigen-apply-hook ["replace"|"pre"|"post"] ["once"|"repeat"]
|
# -antigen-add-hook antigen-apply antigen-apply-hook ["replace"|"pre"|"post"] ["once"|"repeat"]
|
||||||
antigen-add-hook () {
|
antigen-add-hook () {
|
||||||
local target="$1" hook="$2" type="$3" mode="${4:-repeat}"
|
local target="$1" hook="$2" type="$3" mode="${4:-repeat}"
|
||||||
|
|
||||||
if (( ! $+functions[$target] )); then
|
if (( ! $+functions[$target] )); then
|
||||||
printf "Antigen: Function %s doesn't exist.\n" $target
|
printf "Antigen: Function %s doesn't exist.\n" $target
|
||||||
return 1
|
return 1
|
||||||
@@ -1428,7 +1428,7 @@ antigen-add-hook () {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
_ANTIGEN_HOOKS_META[$hook]="target $target type $type mode $mode called 0"
|
_ANTIGEN_HOOKS_META[$hook]="target $target type $type mode $mode called 0"
|
||||||
|
|
||||||
# Do shadow for this function if there is none already
|
# Do shadow for this function if there is none already
|
||||||
local hook_function="${_ANTIGEN_HOOK_PREFIX}$target"
|
local hook_function="${_ANTIGEN_HOOK_PREFIX}$target"
|
||||||
if (( ! $+functions[$hook_function] )); then
|
if (( ! $+functions[$hook_function] )); then
|
||||||
@@ -1441,7 +1441,7 @@ antigen-add-hook () {
|
|||||||
return \$?
|
return \$?
|
||||||
}"
|
}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1454,7 +1454,7 @@ antigen-add-hook () {
|
|||||||
|
|
||||||
typeset -a pre_hooks replace_hooks post_hooks;
|
typeset -a pre_hooks replace_hooks post_hooks;
|
||||||
typeset -a hooks; hooks=(${(s|:|)_ANTIGEN_HOOKS[$target]})
|
typeset -a hooks; hooks=(${(s|:|)_ANTIGEN_HOOKS[$target]})
|
||||||
|
|
||||||
typeset -A meta;
|
typeset -A meta;
|
||||||
for hook in $hooks; do
|
for hook in $hooks; do
|
||||||
meta=(${(s: :)_ANTIGEN_HOOKS_META[$hook]})
|
meta=(${(s: :)_ANTIGEN_HOOKS_META[$hook]})
|
||||||
@@ -1500,7 +1500,7 @@ antigen-add-hook () {
|
|||||||
[[ $? == -1 ]] && WARN "$hook shortcircuited" && return $ret
|
[[ $? == -1 ]] && WARN "$hook shortcircuited" && return $ret
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
if [[ $replace_hook == 0 ]]; then
|
if [[ $replace_hook == 0 ]]; then
|
||||||
WARN "${_ANTIGEN_HOOK_PREFIX}$target $args"
|
WARN "${_ANTIGEN_HOOK_PREFIX}$target $args"
|
||||||
noglob ${_ANTIGEN_HOOK_PREFIX}$target $args
|
noglob ${_ANTIGEN_HOOK_PREFIX}$target $args
|
||||||
@@ -1514,7 +1514,7 @@ antigen-add-hook () {
|
|||||||
noglob $hook $args
|
noglob $hook $args
|
||||||
[[ $? == -1 ]] && WARN "$hook shortcircuited" && return $ret
|
[[ $? == -1 ]] && WARN "$hook shortcircuited" && return $ret
|
||||||
done
|
done
|
||||||
|
|
||||||
LOG "Return from hook ${target} with ${ret}"
|
LOG "Return from hook ${target} with ${ret}"
|
||||||
|
|
||||||
return $ret
|
return $ret
|
||||||
@@ -1533,7 +1533,7 @@ antigen-remove-hook () {
|
|||||||
hooks[$hooks[(I)$hook]]=()
|
hooks[$hooks[(I)$hook]]=()
|
||||||
fi
|
fi
|
||||||
_ANTIGEN_HOOKS[${target}]="${(j|:|)hooks}"
|
_ANTIGEN_HOOKS[${target}]="${(j|:|)hooks}"
|
||||||
|
|
||||||
if [[ $#hooks == 0 ]]; then
|
if [[ $#hooks == 0 ]]; then
|
||||||
# Destroy base hook
|
# Destroy base hook
|
||||||
eval "function $(functions -- ${_ANTIGEN_HOOK_PREFIX}$target | sed s/${_ANTIGEN_HOOK_PREFIX}//)"
|
eval "function $(functions -- ${_ANTIGEN_HOOK_PREFIX}$target | sed s/${_ANTIGEN_HOOK_PREFIX}//)"
|
||||||
@@ -1554,7 +1554,7 @@ antigen-remove-hook () {
|
|||||||
eval "function $(functions -- ${_ANTIGEN_HOOK_PREFIX}$target | sed s/${_ANTIGEN_HOOK_PREFIX}//)"
|
eval "function $(functions -- ${_ANTIGEN_HOOK_PREFIX}$target | sed s/${_ANTIGEN_HOOK_PREFIX}//)"
|
||||||
unfunction -- "${_ANTIGEN_HOOK_PREFIX}$target" 2> /dev/null
|
unfunction -- "${_ANTIGEN_HOOK_PREFIX}$target" 2> /dev/null
|
||||||
done
|
done
|
||||||
|
|
||||||
_ANTIGEN_HOOKS=()
|
_ANTIGEN_HOOKS=()
|
||||||
_ANTIGEN_HOOKS_META=()
|
_ANTIGEN_HOOKS_META=()
|
||||||
_ANTIGEN_EXTENSIONS=()
|
_ANTIGEN_EXTENSIONS=()
|
||||||
@@ -1570,14 +1570,14 @@ antigen-ext () {
|
|||||||
eval $func
|
eval $func
|
||||||
local ret=$?
|
local ret=$?
|
||||||
WARN "$func return code was $ret"
|
WARN "$func return code was $ret"
|
||||||
if (( $ret == 0 )); then
|
if (( $ret == 0 )); then
|
||||||
LOG "LOADED EXTENSION $ext" EXT
|
LOG "LOADED EXTENSION $ext" EXT
|
||||||
-antigen-$ext-execute && _ANTIGEN_EXTENSIONS+=($ext)
|
-antigen-$ext-execute && _ANTIGEN_EXTENSIONS+=($ext)
|
||||||
else
|
else
|
||||||
WARN "IGNORING EXTENSION $func" EXT
|
WARN "IGNORING EXTENSION $func" EXT
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
else
|
else
|
||||||
printf "Antigen: No extension defined or already loaded: %s\n" $func >&2
|
printf "Antigen: No extension defined or already loaded: %s\n" $func >&2
|
||||||
return 1
|
return 1
|
||||||
@@ -1617,7 +1617,7 @@ antigen-ext-init () {
|
|||||||
return -1 # Stop right there
|
return -1 # Stop right there
|
||||||
}
|
}
|
||||||
antigen-add-hook antigen-bundle antigen-bundle-defer replace
|
antigen-add-hook antigen-bundle antigen-bundle-defer replace
|
||||||
|
|
||||||
# Hooks antigen-apply in order to release hooked functions
|
# Hooks antigen-apply in order to release hooked functions
|
||||||
antigen-apply-defer () {
|
antigen-apply-defer () {
|
||||||
WARN "Defer pre-apply" DEFER PRE-APPLY
|
WARN "Defer pre-apply" DEFER PRE-APPLY
|
||||||
@@ -1639,14 +1639,14 @@ antigen-ext-init () {
|
|||||||
# Default lock path.
|
# Default lock path.
|
||||||
-antigen-set-default ANTIGEN_LOCK $ADOTDIR/.lock
|
-antigen-set-default ANTIGEN_LOCK $ADOTDIR/.lock
|
||||||
typeset -g _ANTIGEN_LOCK_PROCESS=false
|
typeset -g _ANTIGEN_LOCK_PROCESS=false
|
||||||
|
|
||||||
# Use env variable to determine if we should load this extension
|
# Use env variable to determine if we should load this extension
|
||||||
-antigen-set-default ANTIGEN_MUTEX true
|
-antigen-set-default ANTIGEN_MUTEX true
|
||||||
# Set ANTIGEN_MUTEX to false to avoid loading this extension
|
# Set ANTIGEN_MUTEX to false to avoid loading this extension
|
||||||
if [[ $ANTIGEN_MUTEX == true ]]; then
|
if [[ $ANTIGEN_MUTEX == true ]]; then
|
||||||
return 0;
|
return 0;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Do not use mutex
|
# Do not use mutex
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@@ -1714,7 +1714,7 @@ antigen-ext-init () {
|
|||||||
else
|
else
|
||||||
WARN "Bundle ${bundle[name]} already cloned locally." PARALLEL
|
WARN "Bundle ${bundle[name]} already cloned locally." PARALLEL
|
||||||
fi
|
fi
|
||||||
|
|
||||||
repositories+=(${bundle[url]})
|
repositories+=(${bundle[url]})
|
||||||
done
|
done
|
||||||
|
|
||||||
@@ -1734,7 +1734,7 @@ antigen-ext-init () {
|
|||||||
for bundle in ${_PARALLEL_BUNDLE[@]}; do
|
for bundle in ${_PARALLEL_BUNDLE[@]}; do
|
||||||
antigen-bundle $bundle
|
antigen-bundle $bundle
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
WARN "Parallel install done" PARALLEL
|
WARN "Parallel install done" PARALLEL
|
||||||
}
|
}
|
||||||
@@ -1751,7 +1751,7 @@ antigen-ext-init () {
|
|||||||
antigen-add-hook antigen-bundle antigen-bundle-parallel replace
|
antigen-add-hook antigen-bundle antigen-bundle-parallel replace
|
||||||
}
|
}
|
||||||
antigen-add-hook antigen-apply antigen-apply-parallel pre once
|
antigen-add-hook antigen-apply antigen-apply-parallel pre once
|
||||||
|
|
||||||
antigen-apply-parallel-execute () {
|
antigen-apply-parallel-execute () {
|
||||||
WARN "Parallel replace-apply" PARALLEL REPLACE-APPLY
|
WARN "Parallel replace-apply" PARALLEL REPLACE-APPLY
|
||||||
antigen-remove-hook antigen-bundle-parallel
|
antigen-remove-hook antigen-bundle-parallel
|
||||||
@@ -1872,14 +1872,14 @@ EOC
|
|||||||
|
|
||||||
# Cache auto config files to check for changes (.zshrc, .antigenrc etc)
|
# Cache auto config files to check for changes (.zshrc, .antigenrc etc)
|
||||||
-antigen-set-default ANTIGEN_AUTO_CONFIG true
|
-antigen-set-default ANTIGEN_AUTO_CONFIG true
|
||||||
|
|
||||||
# Default cache path.
|
# Default cache path.
|
||||||
-antigen-set-default ANTIGEN_CACHE $ADOTDIR/init.zsh
|
-antigen-set-default ANTIGEN_CACHE $ADOTDIR/init.zsh
|
||||||
-antigen-set-default ANTIGEN_RSRC $ADOTDIR/.resources
|
-antigen-set-default ANTIGEN_RSRC $ADOTDIR/.resources
|
||||||
if [[ $ANTIGEN_CACHE == false ]]; then
|
if [[ $ANTIGEN_CACHE == false ]]; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1911,21 +1911,21 @@ EOC
|
|||||||
antigen-remove-hook -antigen-load-source-cached
|
antigen-remove-hook -antigen-load-source-cached
|
||||||
antigen-remove-hook antigen-bundle-cached
|
antigen-remove-hook antigen-bundle-cached
|
||||||
}
|
}
|
||||||
|
|
||||||
antigen-add-hook antigen-apply antigen-apply-cached post once
|
antigen-add-hook antigen-apply antigen-apply-cached post once
|
||||||
|
|
||||||
# Defer antigen-bundle.
|
# Defer antigen-bundle.
|
||||||
antigen-bundle-cached () {
|
antigen-bundle-cached () {
|
||||||
_ZCACHE_CAPTURE_BUNDLE+=("${(j: :)${@}}")
|
_ZCACHE_CAPTURE_BUNDLE+=("${(j: :)${@}}")
|
||||||
}
|
}
|
||||||
antigen-add-hook antigen-bundle antigen-bundle-cached pre
|
antigen-add-hook antigen-bundle antigen-bundle-cached pre
|
||||||
|
|
||||||
# Defer loading.
|
# Defer loading.
|
||||||
-antigen-load-env-cached () {
|
-antigen-load-env-cached () {
|
||||||
local bundle
|
local bundle
|
||||||
typeset -A bundle; bundle=($@)
|
typeset -A bundle; bundle=($@)
|
||||||
local location=${bundle[dir]}/${bundle[loc]}
|
local location=${bundle[dir]}/${bundle[loc]}
|
||||||
|
|
||||||
# Load to path if there is no sourceable
|
# Load to path if there is no sourceable
|
||||||
if [[ ${bundle[loc]} == "/" ]]; then
|
if [[ ${bundle[loc]} == "/" ]]; then
|
||||||
_ZCACHE_BUNDLE_SOURCE+=("${location}")
|
_ZCACHE_BUNDLE_SOURCE+=("${location}")
|
||||||
@@ -1935,13 +1935,13 @@ EOC
|
|||||||
_ZCACHE_BUNDLE_SOURCE+=("${location}")
|
_ZCACHE_BUNDLE_SOURCE+=("${location}")
|
||||||
}
|
}
|
||||||
antigen-add-hook -antigen-load-env -antigen-load-env-cached replace
|
antigen-add-hook -antigen-load-env -antigen-load-env-cached replace
|
||||||
|
|
||||||
# Defer sourcing.
|
# Defer sourcing.
|
||||||
-antigen-load-source-cached () {
|
-antigen-load-source-cached () {
|
||||||
_ZCACHE_BUNDLE_SOURCE+=($@)
|
_ZCACHE_BUNDLE_SOURCE+=($@)
|
||||||
}
|
}
|
||||||
antigen-add-hook -antigen-load-source -antigen-load-source-cached replace
|
antigen-add-hook -antigen-load-source -antigen-load-source-cached replace
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
23
config/exports
Normal file
23
config/exports
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# shellcheck shell=bash
|
||||||
|
|
||||||
|
export HIST_STAMPS="yyyy-mm-dd"
|
||||||
|
|
||||||
|
# Larger bash history (allow 32³ entries; default is 500)
|
||||||
|
export HISTSIZE=32768
|
||||||
|
export HISTFILESIZE=$HISTSIZE
|
||||||
|
export HISTCONTROL=ignoredups
|
||||||
|
|
||||||
|
# Make some commands not show up in history
|
||||||
|
export HISTIGNORE="ls:cd:cd -:pwd:exit:date:* --help"
|
||||||
|
|
||||||
|
# And include the parameter for ZSH
|
||||||
|
export HISTORY_IGNORE="(ls|cd|cd -|pwd|exit|date|* --help)"
|
||||||
|
|
||||||
|
# Highlight section titles in manual pages
|
||||||
|
export LESS_TERMCAP_md="$ORANGE"
|
||||||
|
|
||||||
|
# Don’t clear the screen after quitting a manual page
|
||||||
|
export MANPAGER="less -X"
|
||||||
|
|
||||||
|
# Always enable colored `grep` output
|
||||||
|
export GREP_OPTIONS="--color=auto"
|
||||||
67
config/functions
Normal file
67
config/functions
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
# shellcheck shell=bash
|
||||||
|
#
|
||||||
|
# shell functions
|
||||||
|
#
|
||||||
|
|
||||||
|
# Weather in Tampere, or other city
|
||||||
|
function weather
|
||||||
|
{
|
||||||
|
# https://github.com/chubin/wttr.in#usage
|
||||||
|
local city="${1:-Tampere}"
|
||||||
|
curl "http://wttr.in/${city// /+}?2nFQM&lang=fi"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Docker
|
||||||
|
function ssh-docker
|
||||||
|
{
|
||||||
|
docker exec -it "$@" bash
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create a new directory and enter it
|
||||||
|
function mkd
|
||||||
|
{
|
||||||
|
mkdir -p "$@" && cd "$@" || exit
|
||||||
|
}
|
||||||
|
|
||||||
|
# All the dig info
|
||||||
|
function digga
|
||||||
|
{
|
||||||
|
dig +nocmd "$1" any +multiline +noall +answer
|
||||||
|
}
|
||||||
|
|
||||||
|
# Rector project to php version 8.0 by default.
|
||||||
|
function rector
|
||||||
|
{
|
||||||
|
local php="${1:-80}"
|
||||||
|
docker run -v "$(pwd)":/project rector/rector:latest process \
|
||||||
|
"/project/$1" \
|
||||||
|
--set "php${php}" \
|
||||||
|
--autoload-file /project/vendor/autoload.php
|
||||||
|
}
|
||||||
|
|
||||||
|
# Commit everything
|
||||||
|
function commit
|
||||||
|
{
|
||||||
|
commitMessage="$*"
|
||||||
|
|
||||||
|
if [ "$commitMessage" = "" ]; then
|
||||||
|
commitMessage="Automated commit"
|
||||||
|
fi
|
||||||
|
|
||||||
|
git add .
|
||||||
|
eval "git commit -a -m '${commitMessage}'"
|
||||||
|
}
|
||||||
|
|
||||||
|
function scheduler
|
||||||
|
{
|
||||||
|
while :; do
|
||||||
|
php artisan schedule:run
|
||||||
|
echo "Sleeping 60 seconds..."
|
||||||
|
sleep 60
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
function silent
|
||||||
|
{
|
||||||
|
"$@" >&/dev/null
|
||||||
|
}
|
||||||
@@ -1,7 +1,6 @@
|
|||||||
[user]
|
[user]
|
||||||
name = Ismo Vuorinen
|
name = Ismo Vuorinen
|
||||||
email = ismo.vuorinen@vincit.fi
|
email = ismo@ivuorinen.net
|
||||||
signingkey = ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDLyOvkr1nRqMVv3UAizmk6C+q40H4khvw7qIXXXyOyFmzjwYx/Cuxoi4uZVjX+q4qFYJ+c312uu6YXiEtfyoCao3wub8r1cLBQ3eIvuyWp2K8Ixcd9JmFmLmoeiENpJxqyr0WPZLDkrCWUZCsQQh8zzGFnfciUdUdTiZ7s21AEhhmFRSdFlVfQSlGMFxU321psg1YilcP80bDwFd1FsL4TssSkwlbgP/twqnpZ4436TTo7kp0UnH/RZkfRdDWScKHaWgncBG0CZeQxGWnRp8fvZn/7gDnthcZhvnDALVBE7QFuZ90GxqVw3IGpHryV0mFO6EGQ9Ke9YX7pKVZPUXZjeCN4SVKsqFdVJ6AjaSJ9K7nL98rYK7qNzndT3cKqPNgPteyXWRulH68A51ecQqHrjTttZcdN9hKt9uBHpzuXsby2QObT+VB4MNjZapa+YYF/WgwJCml4lzn2xMFg1vYZD78pfoJ9e5f2cL1MMlUSDb0TNxmEXfDQ77H/pRpKDz0=
|
|
||||||
|
|
||||||
[core]
|
[core]
|
||||||
excludesfile = ~/.config/git/gitignore
|
excludesfile = ~/.config/git/gitignore
|
||||||
@@ -51,9 +50,3 @@
|
|||||||
deleted = red bold strike
|
deleted = red bold strike
|
||||||
untracked = cyan
|
untracked = cyan
|
||||||
branch = yellow black bold ul
|
branch = yellow black bold ul
|
||||||
[gpg]
|
|
||||||
format = ssh
|
|
||||||
[gpg "ssh"]
|
|
||||||
program = /Applications/1Password.app/Contents/MacOS/op-ssh-sign
|
|
||||||
[commit]
|
|
||||||
gpgsign = true
|
|
||||||
|
|||||||
0
host-air/.gitkeep
Normal file
0
host-air/.gitkeep
Normal file
3
host-air/README.md
Normal file
3
host-air/README.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# .dotfiles/host-air
|
||||||
|
|
||||||
|
This is my home computer.
|
||||||
0
host-v/.gitkeep
Normal file
0
host-v/.gitkeep
Normal file
3
host-v/README.md
Normal file
3
host-v/README.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# .dotfiles/host-v
|
||||||
|
|
||||||
|
This is my work computer.
|
||||||
66
host-v/config/git/config
Normal file
66
host-v/config/git/config
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
[user]
|
||||||
|
name = Ismo Vuorinen
|
||||||
|
email = ismo.vuorinen@vincit.fi
|
||||||
|
signingkey = ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDLyOvkr1nRqMVv3UAizmk6C+q40H4khvw7qIXXXyOyFmzjwYx/Cuxoi4uZVjX+q4qFYJ+c312uu6YXiEtfyoCao3wub8r1cLBQ3eIvuyWp2K8Ixcd9JmFmLmoeiENpJxqyr0WPZLDkrCWUZCsQQh8zzGFnfciUdUdTiZ7s21AEhhmFRSdFlVfQSlGMFxU321psg1YilcP80bDwFd1FsL4TssSkwlbgP/twqnpZ4436TTo7kp0UnH/RZkfRdDWScKHaWgncBG0CZeQxGWnRp8fvZn/7gDnthcZhvnDALVBE7QFuZ90GxqVw3IGpHryV0mFO6EGQ9Ke9YX7pKVZPUXZjeCN4SVKsqFdVJ6AjaSJ9K7nL98rYK7qNzndT3cKqPNgPteyXWRulH68A51ecQqHrjTttZcdN9hKt9uBHpzuXsby2QObT+VB4MNjZapa+YYF/WgwJCml4lzn2xMFg1vYZD78pfoJ9e5f2cL1MMlUSDb0TNxmEXfDQ77H/pRpKDz0=
|
||||||
|
|
||||||
|
[core]
|
||||||
|
excludesfile = ~/.config/git/gitignore
|
||||||
|
|
||||||
|
[alias]
|
||||||
|
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
|
||||||
|
nah = !git reset --hard && git clean -df
|
||||||
|
undo-commit = reset HEAD~ --soft
|
||||||
|
llog = log --pretty=fuller
|
||||||
|
logs = log --graph --pretty=format:'%C(magenta)%h%Creset -%C(red)%d%Creset %s %C(dim green)(%cr) %C(cyan)<%an>%Creset' --abbrev-commit
|
||||||
|
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\"
|
||||||
|
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]++'"
|
||||||
|
|
||||||
|
[diff]
|
||||||
|
tool = difftastic
|
||||||
|
|
||||||
|
[difftool]
|
||||||
|
prompt = false
|
||||||
|
|
||||||
|
[difftool "difftastic"]
|
||||||
|
cmd = difft "$LOCAL" "$REMOTE"
|
||||||
|
|
||||||
|
[filter "lfs"]
|
||||||
|
clean = git-lfs clean -- %f
|
||||||
|
smudge = git-lfs smudge -- %f
|
||||||
|
process = git-lfs filter-process
|
||||||
|
required = true
|
||||||
|
|
||||||
|
[init]
|
||||||
|
defaultBranch = master
|
||||||
|
|
||||||
|
[pull]
|
||||||
|
rebase = false
|
||||||
|
|
||||||
|
[color]
|
||||||
|
ui = true
|
||||||
|
diff = auto
|
||||||
|
branch = auto
|
||||||
|
status = auto
|
||||||
|
|
||||||
|
[color "status"]
|
||||||
|
added = green bold
|
||||||
|
changed = yellow
|
||||||
|
deleted = red bold strike
|
||||||
|
untracked = cyan
|
||||||
|
branch = yellow black bold ul
|
||||||
|
[gpg]
|
||||||
|
format = ssh
|
||||||
|
[gpg "ssh"]
|
||||||
|
program = /Applications/1Password.app/Contents/MacOS/op-ssh-sign
|
||||||
|
allowedSignersFile = ~/.ssh/allowed_signers
|
||||||
|
[commit]
|
||||||
|
gpgsign = true
|
||||||
|
[credential "https://github.com"]
|
||||||
|
helper =
|
||||||
|
helper = !/opt/homebrew/bin/gh auth git-credential
|
||||||
|
[credential "https://gist.github.com"]
|
||||||
|
helper =
|
||||||
|
helper = !/opt/homebrew/bin/gh auth git-credential
|
||||||
4
huskyrc
4
huskyrc
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/env bash
|
#!/bin/env bash
|
||||||
|
|
||||||
export NVM_DIR="$HOME/.nvm"
|
export NVM_DIR="$HOME/.nvm"
|
||||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
||||||
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
||||||
|
|
||||||
alias php="php -d error_reporting=22527"
|
alias php="php -d error_reporting=22527"
|
||||||
|
|||||||
17
install.sh
Normal file → Executable file
17
install.sh
Normal file → Executable file
@@ -22,12 +22,14 @@
|
|||||||
: ${MKDIR:=/bin/mkdir}
|
: ${MKDIR:=/bin/mkdir}
|
||||||
: ${RM:=/bin/rm}
|
: ${RM:=/bin/rm}
|
||||||
: ${DIRNAME:=/usr/bin/dirname}
|
: ${DIRNAME:=/usr/bin/dirname}
|
||||||
verbose() {
|
verbose()
|
||||||
|
{
|
||||||
if [ "$VERBOSE" -gt 0 ]; then
|
if [ "$VERBOSE" -gt 0 ]; then
|
||||||
echo "$@"
|
echo "$@"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
handle_file_cp() {
|
handle_file_cp()
|
||||||
|
{
|
||||||
if [ -e "$2" ]; then
|
if [ -e "$2" ]; then
|
||||||
printf "%s " "overwrite $2? [yN]"
|
printf "%s " "overwrite $2? [yN]"
|
||||||
read overwrite
|
read overwrite
|
||||||
@@ -45,7 +47,8 @@ handle_file_cp() {
|
|||||||
$MKDIR -p "$($DIRNAME "$2")"
|
$MKDIR -p "$($DIRNAME "$2")"
|
||||||
$CP -R "$1" "$2"
|
$CP -R "$1" "$2"
|
||||||
}
|
}
|
||||||
handle_file_ln() {
|
handle_file_ln()
|
||||||
|
{
|
||||||
if [ -e "$2" ]; then
|
if [ -e "$2" ]; then
|
||||||
printf "%s " "overwrite $2? [yN]"
|
printf "%s " "overwrite $2? [yN]"
|
||||||
read overwrite
|
read overwrite
|
||||||
@@ -63,15 +66,21 @@ handle_file_ln() {
|
|||||||
$MKDIR -p "$($DIRNAME "$2")"
|
$MKDIR -p "$($DIRNAME "$2")"
|
||||||
$LN -sf "$1" "$2"
|
$LN -sf "$1" "$2"
|
||||||
}
|
}
|
||||||
handle_file_ln "/Users/ivuorinen/.dotfiles/alias" "/Users/ivuorinen/.alias"
|
|
||||||
handle_file_ln "/Users/ivuorinen/.dotfiles/bash_profile" "/Users/ivuorinen/.bash_profile"
|
handle_file_ln "/Users/ivuorinen/.dotfiles/bash_profile" "/Users/ivuorinen/.bash_profile"
|
||||||
handle_file_ln "/Users/ivuorinen/.dotfiles/bashrc" "/Users/ivuorinen/.bashrc"
|
handle_file_ln "/Users/ivuorinen/.dotfiles/bashrc" "/Users/ivuorinen/.bashrc"
|
||||||
|
handle_file_ln "/Users/ivuorinen/.dotfiles/config/alias" "/Users/ivuorinen/.config/alias"
|
||||||
handle_file_ln "/Users/ivuorinen/.dotfiles/config/antigen.zsh" "/Users/ivuorinen/.config/antigen.zsh"
|
handle_file_ln "/Users/ivuorinen/.dotfiles/config/antigen.zsh" "/Users/ivuorinen/.config/antigen.zsh"
|
||||||
handle_file_ln "/Users/ivuorinen/.dotfiles/config/gh/config.yml" "/Users/ivuorinen/.config/gh/config.yml"
|
handle_file_ln "/Users/ivuorinen/.dotfiles/config/gh/config.yml" "/Users/ivuorinen/.config/gh/config.yml"
|
||||||
handle_file_ln "/Users/ivuorinen/.dotfiles/config/git/config" "/Users/ivuorinen/.config/git/config"
|
handle_file_ln "/Users/ivuorinen/.dotfiles/config/git/config" "/Users/ivuorinen/.config/git/config"
|
||||||
handle_file_ln "/Users/ivuorinen/.dotfiles/config/git/gitignore" "/Users/ivuorinen/.config/git/gitignore"
|
handle_file_ln "/Users/ivuorinen/.dotfiles/config/git/gitignore" "/Users/ivuorinen/.config/git/gitignore"
|
||||||
|
handle_file_ln "/Users/ivuorinen/.dotfiles/config/wtf/config.yml" "/Users/ivuorinen/.config/wtf/config.yml"
|
||||||
handle_file_ln "/Users/ivuorinen/.dotfiles/git_profiles" "/Users/ivuorinen/.git_profiles"
|
handle_file_ln "/Users/ivuorinen/.dotfiles/git_profiles" "/Users/ivuorinen/.git_profiles"
|
||||||
handle_file_ln "/Users/ivuorinen/.dotfiles/huskyrc" "/Users/ivuorinen/.huskyrc"
|
handle_file_ln "/Users/ivuorinen/.dotfiles/huskyrc" "/Users/ivuorinen/.huskyrc"
|
||||||
|
handle_file_ln "/Users/ivuorinen/.dotfiles/local/bin/dotfiles" "/Users/ivuorinen/.local/bin/dotfiles"
|
||||||
|
handle_file_ln "/Users/ivuorinen/.dotfiles/local/bin/x-check-git-attributes" "/Users/ivuorinen/.local/bin/x-check-git-attributes"
|
||||||
handle_file_ln "/Users/ivuorinen/.dotfiles/local/bin/x-open-ports" "/Users/ivuorinen/.local/bin/x-open-ports"
|
handle_file_ln "/Users/ivuorinen/.dotfiles/local/bin/x-open-ports" "/Users/ivuorinen/.local/bin/x-open-ports"
|
||||||
|
handle_file_ln "/Users/ivuorinen/.dotfiles/rcrc" "/Users/ivuorinen/.rcrc"
|
||||||
|
handle_file_ln "/Users/ivuorinen/.dotfiles/ssh/allowed_signers" "/Users/ivuorinen/.ssh/allowed_signers"
|
||||||
|
handle_file_ln "/Users/ivuorinen/.dotfiles/ssh/config" "/Users/ivuorinen/.ssh/config"
|
||||||
handle_file_ln "/Users/ivuorinen/.dotfiles/vuerc" "/Users/ivuorinen/.vuerc"
|
handle_file_ln "/Users/ivuorinen/.dotfiles/vuerc" "/Users/ivuorinen/.vuerc"
|
||||||
handle_file_ln "/Users/ivuorinen/.dotfiles/zshrc" "/Users/ivuorinen/.zshrc"
|
handle_file_ln "/Users/ivuorinen/.dotfiles/zshrc" "/Users/ivuorinen/.zshrc"
|
||||||
|
|||||||
131
local/bin/dotfiles
Executable file
131
local/bin/dotfiles
Executable file
@@ -0,0 +1,131 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# Dotfiles and install helper
|
||||||
|
# (c) Ismo Vuorinen <https://github.com/ivuorinen> 2022
|
||||||
|
# Licensed under MIT, see LICENSE
|
||||||
|
#
|
||||||
|
# shellcheck source-path=SCRIPTDIR
|
||||||
|
#
|
||||||
|
# Helper variables, override with ENVs like `VERBOSE=1 helpers.sh help`
|
||||||
|
: "${VERBOSE:=0}"
|
||||||
|
: "${DOTFILES:=$HOME/.dotfiles}"
|
||||||
|
: "${INSTALL_SCRIPT:=$DOTFILES/install.sh}"
|
||||||
|
: "${BREWFILE:=$DOTFILES/Brewfile}"
|
||||||
|
|
||||||
|
function usage
|
||||||
|
{
|
||||||
|
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
|
||||||
|
{
|
||||||
|
USAGE_PREFIX="Usage: $0 install"
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
antigen)
|
||||||
|
curl -L git.io/antigen > "$DOTFILES/config/antigen.zsh" && echo "🎉 Done!"
|
||||||
|
;;
|
||||||
|
defaults)
|
||||||
|
bash "$DOTFILES/scripts/set-defaults.sh" && echo "🎉 Done!"
|
||||||
|
;;
|
||||||
|
gh-extensions)
|
||||||
|
bash "$DOTFILES/scripts/gh-extensions.sh" && echo "🎉 Done!"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "$USAGE_PREFIX [antigen | defaults | gh-extensions]"
|
||||||
|
echo " * antigen: Updates the antigen.zsh file"
|
||||||
|
echo " * defaults: Setup nice macOS defaults"
|
||||||
|
echo " * gh-extensions: Install GitHub CLI Extensions"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
function section_brew
|
||||||
|
{
|
||||||
|
USAGE_PREFIX="Usage: $0 brew"
|
||||||
|
|
||||||
|
if ! command -v brew &> /dev/null; then
|
||||||
|
echo "brew could not be found, please install it first"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
install)
|
||||||
|
brew bundle install --file="$BREWFILE"
|
||||||
|
echo "🎉 Done!"
|
||||||
|
;;
|
||||||
|
update)
|
||||||
|
brew update && brew outdated && brew upgrade && brew cleanup
|
||||||
|
echo "🎉 Done!"
|
||||||
|
;;
|
||||||
|
updatebundle)
|
||||||
|
# Updates .dotfiles/Brewfile with descriptions
|
||||||
|
brew bundle dump --force --file="$BREWFILE" --describe && echo "🎉 Done!"
|
||||||
|
;;
|
||||||
|
autoupdate)
|
||||||
|
brew autoupdate start 43200 --upgrade --cleanup --immediate
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "$USAGE_PREFIX [install | update | updatebundle]"
|
||||||
|
echo " * install: Installs items defined in Brewfile"
|
||||||
|
echo " * update: Updates and upgrades brew packages"
|
||||||
|
echo " * updatebundle: Updates Brewfile with descriptions"
|
||||||
|
echo " * autoupdate: Setups brew auto-update and runs it immediately"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
function section_dotfiles
|
||||||
|
{
|
||||||
|
USAGE_PREFIX="Usage: $0 dotfiles"
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
link)
|
||||||
|
rcup -B "$HOSTNAME" -v && echo "🎉 Done!"
|
||||||
|
;;
|
||||||
|
update)
|
||||||
|
# Updates .dotfiles/install.sh and formats it
|
||||||
|
rcup -B 0 -g \
|
||||||
|
| tee "$INSTALL_SCRIPT" 1> /dev/null \
|
||||||
|
&& shfmt -w -l "$INSTALL_SCRIPT" \
|
||||||
|
&& echo "🎉 Done!"
|
||||||
|
;;
|
||||||
|
shfmt)
|
||||||
|
# Format shell scripts according to following rules.
|
||||||
|
shfmt \
|
||||||
|
--list \
|
||||||
|
--write \
|
||||||
|
--diff \
|
||||||
|
--simplify \
|
||||||
|
--language-dialect bash \
|
||||||
|
--indent 2 \
|
||||||
|
--binary-next-line \
|
||||||
|
--case-indent \
|
||||||
|
--space-redirects \
|
||||||
|
--func-next-line \
|
||||||
|
"$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 " * link: Use rcrc to update dotfile links"
|
||||||
|
echo " * update: Updates dotfile links, installs host specific overrides automatically"
|
||||||
|
echo " * shfmt: Run shfmt to all dotfiles"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
# The main loop. first keyword after $0 triggers section, or help.
|
||||||
|
case "$1" in
|
||||||
|
install) section_install "$2" ;;
|
||||||
|
brew) section_brew "$2" ;;
|
||||||
|
dotfiles) section_dotfiles "$2" ;;
|
||||||
|
*) usage && exit 1 ;;
|
||||||
|
esac
|
||||||
9
local/bin/x-check-git-attributes
Executable file
9
local/bin/x-check-git-attributes
Executable file
@@ -0,0 +1,9 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
missing_attributes=$(git ls-files | git check-attr -a --stdin | grep "text: auto")
|
||||||
|
if [[ "$missing_attributes" ]]; then
|
||||||
|
echo ".gitattributes rule missing for the following files:"
|
||||||
|
echo "$missing_attributes"
|
||||||
|
else
|
||||||
|
echo "All files have a corresponding rule in .gitattributes"
|
||||||
|
fi
|
||||||
@@ -6,15 +6,14 @@
|
|||||||
# Originally from: https://www.commandlinefu.com/commands/view/8951
|
# Originally from: https://www.commandlinefu.com/commands/view/8951
|
||||||
# Original author: https://www.commandlinefu.com/commands/by/wickedcpj
|
# Original author: https://www.commandlinefu.com/commands/by/wickedcpj
|
||||||
#
|
#
|
||||||
echo 'User: Command: Port:';
|
echo 'User: Command: Port:'
|
||||||
echo '=====================================================';
|
echo '====================================================='
|
||||||
|
|
||||||
lsof -i 4 -P -n +c 0 | \
|
lsof -i 4 -P -n +c 0 \
|
||||||
grep -i 'listen' | \
|
| grep -i 'listen' \
|
||||||
awk '{print $3, $1, $9}' | \
|
| awk '{print $3, $1, $9}' \
|
||||||
sed 's/ [a-z0-9\.\*]*:/ /' | \
|
| sed 's/ [a-z0-9\.\*]*:/ /' \
|
||||||
sort -k 3 -n | \
|
| sort -k 3 -n \
|
||||||
xargs printf '%-20s %-25s %-5s\n' | uniq
|
| xargs printf '%-20s %-25s %-5s\n' | uniq
|
||||||
|
|
||||||
echo "";
|
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
|||||||
2
rcrc
Normal file
2
rcrc
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
EXCLUDES="*.md *.sh *.lock.json Brewfile scripts"
|
||||||
|
HOSTNAME=$(hostname -s)
|
||||||
39
scripts/gh-extensions.sh
Executable file
39
scripts/gh-extensions.sh
Executable file
@@ -0,0 +1,39 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Install GitHub CLI extensions
|
||||||
|
|
||||||
|
extensions=(
|
||||||
|
# GitHub CLI extension for reviewing Dependabot PRs.
|
||||||
|
einride/gh-dependabot
|
||||||
|
# A GitHub CLI extension that provides summary pull request metrics.
|
||||||
|
hectcastro/gh-metrics
|
||||||
|
# being an extension to view the overall health of an organization's use of actions
|
||||||
|
rsese/gh-actions-status
|
||||||
|
# GitHub CLI extension for label management
|
||||||
|
heaths/gh-label
|
||||||
|
# An opinionated GitHub Cli extension for creating
|
||||||
|
# changelogs that adhere to the keep a changelog specification.
|
||||||
|
chelnak/gh-changelog
|
||||||
|
# Safely deletes local branches with no upstream and no un-pushed commits
|
||||||
|
davidraviv/gh-clean-branches
|
||||||
|
# A beautiful CLI dashboard for GitHub 🚀
|
||||||
|
dlvhdr/gh-dash
|
||||||
|
# A github-cli extension script to clone all repositories
|
||||||
|
# in an organization, optionally filtering by topic.
|
||||||
|
matt-bartel/gh-clone-org
|
||||||
|
# GitHub CLI extension to generate montage from GitHub user avatars
|
||||||
|
andyfeller/gh-montage
|
||||||
|
# Organisation specific extension for gh cli to retrieve different statistics
|
||||||
|
VildMedPap/gh-orgstats
|
||||||
|
# GitHub CLI extension for generating a report on repository dependencies.
|
||||||
|
andyfeller/gh-dependency-report
|
||||||
|
# gh cli extension to generate account/organization/enterprise reports
|
||||||
|
stoe/gh-report
|
||||||
|
)
|
||||||
|
|
||||||
|
for ext in "${extensions[@]}"; do
|
||||||
|
# Skip comments
|
||||||
|
if [[ ${ext:0:1} == "#" ]]; then continue; fi
|
||||||
|
|
||||||
|
echo "-> Installing $ext"
|
||||||
|
gh extensions install "$ext"
|
||||||
|
done
|
||||||
284
scripts/set-defaults.sh
Executable file
284
scripts/set-defaults.sh
Executable file
@@ -0,0 +1,284 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
echo 'start osx/set-defaults.sh'
|
||||||
|
|
||||||
|
# Ask for the administrator password upfront
|
||||||
|
sudo -v
|
||||||
|
|
||||||
|
# Keep-alive: update existing `sudo` time stamp until `.osx` has finished
|
||||||
|
while true; do
|
||||||
|
sudo -n true
|
||||||
|
sleep 60
|
||||||
|
kill -0 "$$" || exit
|
||||||
|
done 2> /dev/null &
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# General UI/UX #
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
# Disable the sound effects on boot
|
||||||
|
sudo nvram SystemAudioVolume=" "
|
||||||
|
|
||||||
|
# Menu bar: disable transparency
|
||||||
|
#defaults write NSGlobalDomain AppleEnableMenuBarTransparency -bool false
|
||||||
|
|
||||||
|
# Set sidebar icon size to medium
|
||||||
|
defaults write NSGlobalDomain NSTableViewDefaultSizeMode -int 2
|
||||||
|
|
||||||
|
# Increase window resize speed for Cocoa applications
|
||||||
|
defaults write NSGlobalDomain NSWindowResizeTime -float 0.001
|
||||||
|
|
||||||
|
# Expand save panel by default
|
||||||
|
defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode -bool true
|
||||||
|
defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode2 -bool true
|
||||||
|
|
||||||
|
# Expand print panel by default
|
||||||
|
defaults write NSGlobalDomain PMPrintingExpandedStateForPrint -bool true
|
||||||
|
defaults write NSGlobalDomain PMPrintingExpandedStateForPrint2 -bool true
|
||||||
|
|
||||||
|
# Save to disk (not to iCloud) by default
|
||||||
|
defaults write NSGlobalDomain NSDocumentSaveNewDocumentsToCloud -bool false
|
||||||
|
|
||||||
|
# Automatically quit printer app once the print jobs complete
|
||||||
|
defaults write com.apple.print.PrintingPrefs "Quit When Finished" -bool true
|
||||||
|
|
||||||
|
# Disable the “Are you sure you want to open this application?” dialog
|
||||||
|
defaults write com.apple.LaunchServices LSQuarantine -bool false
|
||||||
|
|
||||||
|
# Disable Resume system-wide
|
||||||
|
defaults write NSGlobalDomain NSQuitAlwaysKeepsWindows -bool false
|
||||||
|
|
||||||
|
# Disable automatic termination of inactive apps
|
||||||
|
defaults write NSGlobalDomain NSDisableAutomaticTermination -bool true
|
||||||
|
|
||||||
|
# Disable the crash reporter
|
||||||
|
#defaults write com.apple.CrashReporter DialogType -string "none"
|
||||||
|
|
||||||
|
# Reveal IP address, hostname, OS version, etc. when clicking the clock
|
||||||
|
# in the login window
|
||||||
|
sudo defaults write /Library/Preferences/com.apple.loginwindow AdminHostInfo HostName
|
||||||
|
|
||||||
|
# Disable smart quotes as they’re annoying when typing code
|
||||||
|
defaults write NSGlobalDomain NSAutomaticQuoteSubstitutionEnabled -bool false
|
||||||
|
|
||||||
|
# Disable smart dashes as they’re annoying when typing code
|
||||||
|
defaults write NSGlobalDomain NSAutomaticDashSubstitutionEnabled -bool false
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# SSD-specific tweaks #
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
# Disable hibernation (speeds up entering sleep mode)
|
||||||
|
sudo pmset -a hibernatemode 0
|
||||||
|
|
||||||
|
# Disable the sudden motion sensor as it’s not useful for SSDs
|
||||||
|
sudo pmset -a sms 0
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Trackpad, mouse, keyboard, Bluetooth accessories, and input #
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
# Increase sound quality for Bluetooth headphones/headsets
|
||||||
|
defaults write com.apple.BluetoothAudioAgent "Apple Bitpool Max (editable)" 80
|
||||||
|
defaults write com.apple.BluetoothAudioAgent "Apple Bitpool Min (editable)" 80
|
||||||
|
defaults write com.apple.BluetoothAudioAgent "Apple Initial Bitpool (editable)" 80
|
||||||
|
defaults write com.apple.BluetoothAudioAgent "Apple Initial Bitpool Min (editable)" 80
|
||||||
|
defaults write com.apple.BluetoothAudioAgent "Negotiated Bitpool" 80
|
||||||
|
defaults write com.apple.BluetoothAudioAgent "Negotiated Bitpool Max" 80
|
||||||
|
defaults write com.apple.BluetoothAudioAgent "Negotiated Bitpool Min" 80
|
||||||
|
|
||||||
|
# Enable full keyboard access for all controls
|
||||||
|
# (e.g. enable Tab in modal dialogs)
|
||||||
|
defaults write NSGlobalDomain AppleKeyboardUIMode -int 3
|
||||||
|
|
||||||
|
# Set language and text formats
|
||||||
|
# Note: if you’re in the US, replace `EUR` with `USD`, `Centimeters` with
|
||||||
|
# `Inches`, `en_GB` with `en_US`, and `true` with `false`.
|
||||||
|
defaults write NSGlobalDomain AppleLanguages -array "en"
|
||||||
|
defaults write NSGlobalDomain AppleLocale -string "en_GB@currency=EUR"
|
||||||
|
defaults write NSGlobalDomain AppleMeasurementUnits -string "Centimeters"
|
||||||
|
defaults write NSGlobalDomain AppleMetricUnits -bool true
|
||||||
|
|
||||||
|
# Set the timezone; see `systemsetup -listtimezones` for other values
|
||||||
|
systemsetup -settimezone "Europe/Helsinki" > /dev/null
|
||||||
|
|
||||||
|
# Disable auto-correct
|
||||||
|
defaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool false
|
||||||
|
|
||||||
|
# Stop iTunes from responding to the keyboard media keys
|
||||||
|
#launchctl unload -w /System/Library/LaunchAgents/com.apple.rcd.plist 2> /dev/null
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Screen #
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
# Require password immediately after sleep or screen saver begins
|
||||||
|
defaults write com.apple.screensaver askForPassword -int 1
|
||||||
|
defaults write com.apple.screensaver askForPasswordDelay -int 0
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Finder #
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
# Set Desktop as the default location for new Finder windows
|
||||||
|
# For other paths, use `PfLo` and `file:///full/path/here/`
|
||||||
|
defaults write com.apple.finder NewWindowTarget -string "PfDe"
|
||||||
|
defaults write com.apple.finder NewWindowTargetPath -string "file://${HOME}/Desktop/"
|
||||||
|
|
||||||
|
# Show icons for hard drives, servers, and removable media on the desktop
|
||||||
|
defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool true
|
||||||
|
defaults write com.apple.finder ShowHardDrivesOnDesktop -bool true
|
||||||
|
defaults write com.apple.finder ShowMountedServersOnDesktop -bool true
|
||||||
|
defaults write com.apple.finder ShowRemovableMediaOnDesktop -bool true
|
||||||
|
|
||||||
|
# Finder: show all filename extensions
|
||||||
|
defaults write NSGlobalDomain AppleShowAllExtensions -bool true
|
||||||
|
|
||||||
|
# Finder: allow text selection in Quick Look
|
||||||
|
defaults write com.apple.finder QLEnableTextSelection -bool true
|
||||||
|
|
||||||
|
# Display full POSIX path as Finder window title
|
||||||
|
defaults write com.apple.finder _FXShowPosixPathInTitle -bool true
|
||||||
|
|
||||||
|
# When performing a search, search the current folder by default
|
||||||
|
defaults write com.apple.finder FXDefaultSearchScope -string "SCcf"
|
||||||
|
|
||||||
|
# Disable the warning when changing a file extension
|
||||||
|
defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false
|
||||||
|
|
||||||
|
# Avoid creating .DS_Store files on network volumes
|
||||||
|
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
|
||||||
|
|
||||||
|
# Disable disk image verification
|
||||||
|
defaults write com.apple.frameworks.diskimages skip-verify -bool true
|
||||||
|
defaults write com.apple.frameworks.diskimages skip-verify-locked -bool true
|
||||||
|
defaults write com.apple.frameworks.diskimages skip-verify-remote -bool true
|
||||||
|
|
||||||
|
# Use list view in all Finder windows by default
|
||||||
|
# Four-letter codes for the other view modes: `icnv`, `clmv`, `Flwv`
|
||||||
|
defaults write com.apple.finder FXPreferredViewStyle -string "clmv"
|
||||||
|
|
||||||
|
# Disable the warning before emptying the Trash
|
||||||
|
defaults write com.apple.finder WarnOnEmptyTrash -bool false
|
||||||
|
|
||||||
|
# Show the ~/Library folder
|
||||||
|
# chflags nohidden ~/Library
|
||||||
|
|
||||||
|
# Show the ~/Users folder
|
||||||
|
# chflags nohidden /Users
|
||||||
|
|
||||||
|
# Expand the following File Info panes:
|
||||||
|
# “General”, “Open with”, and “Sharing & Permissions”
|
||||||
|
defaults write com.apple.finder FXInfoPanesExpanded -dict \
|
||||||
|
General -bool true \
|
||||||
|
OpenWith -bool true \
|
||||||
|
Privileges -bool true
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Screenshots #
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
# Set default screenshot location
|
||||||
|
#defaults write com.apple.screencapture "location" -string "~/Documents/Screenshots"
|
||||||
|
|
||||||
|
# Exclude date and time in screenshot filenames
|
||||||
|
defaults write com.apple.screencapture "include-date" -bool false
|
||||||
|
|
||||||
|
# Change the default screenshot file name
|
||||||
|
defaults write com.apple.screencapture "name" -string "screenshot"
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Dock, Dashboard, and hot corners #
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
# Prevent applications from bouncing in Dock
|
||||||
|
defaults write com.apple.dock no-bouncing -bool true
|
||||||
|
|
||||||
|
# Set the icon size of Dock items to 72 pixels
|
||||||
|
defaults write com.apple.dock tilesize -int 72
|
||||||
|
|
||||||
|
# Hide indicator lights for open applications in the Dock
|
||||||
|
defaults write com.apple.dock show-process-indicators -bool false
|
||||||
|
|
||||||
|
# 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
|
||||||
|
# the Dock to launch apps.
|
||||||
|
defaults write com.apple.dock persistent-apps -array ""
|
||||||
|
|
||||||
|
# Disable Dashboard
|
||||||
|
defaults write com.apple.dashboard mcx-disabled -bool true
|
||||||
|
|
||||||
|
# Don’t show Dashboard as a Space
|
||||||
|
defaults write com.apple.dock dashboard-in-overlay -bool true
|
||||||
|
|
||||||
|
# Don’t automatically rearrange Spaces based on most recent use
|
||||||
|
defaults write com.apple.dock mru-spaces -bool false
|
||||||
|
|
||||||
|
# Make Dock icons of hidden applications translucent
|
||||||
|
defaults write com.apple.dock showhidden -bool true
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Safari & WebKit #
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
# Enable Safari’s debug menu
|
||||||
|
defaults write com.apple.Safari IncludeInternalDebugMenu -bool true
|
||||||
|
|
||||||
|
# Enable the Develop menu and the Web Inspector in Safari
|
||||||
|
defaults write com.apple.Safari IncludeDevelopMenu -bool true
|
||||||
|
defaults write com.apple.Safari WebKitDeveloperExtrasEnabledPreferenceKey -bool true
|
||||||
|
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DeveloperExtrasEnabled -bool true
|
||||||
|
|
||||||
|
# Don’t display the annoying prompt when quitting iTerm
|
||||||
|
#defaults write com.googlecode.iterm2 PromptOnQuit -bool false
|
||||||
|
|
||||||
|
# Prevent Time Machine from prompting to use new hard drives as backup volume
|
||||||
|
defaults write com.apple.TimeMachine DoNotOfferNewDisksForBackup -bool true
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Activity Monitor #
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
# Show the main window when launching Activity Monitor
|
||||||
|
defaults write com.apple.ActivityMonitor OpenMainWindow -bool true
|
||||||
|
|
||||||
|
# Visualize CPU usage in the Activity Monitor Dock icon
|
||||||
|
defaults write com.apple.ActivityMonitor IconType -int 5
|
||||||
|
|
||||||
|
# Show all processes in Activity Monitor
|
||||||
|
defaults write com.apple.ActivityMonitor ShowCategory -int 0
|
||||||
|
|
||||||
|
# Sort Activity Monitor results by CPU usage
|
||||||
|
defaults write com.apple.ActivityMonitor SortColumn -string "CPUUsage"
|
||||||
|
defaults write com.apple.ActivityMonitor SortDirection -int 0
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Address Book, Dashboard, iCal, TextEdit, and Disk Utility #
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
# Use plain text mode for new TextEdit documents
|
||||||
|
defaults write com.apple.TextEdit RichText -int 0
|
||||||
|
|
||||||
|
# Open and save files as UTF-8 in TextEdit
|
||||||
|
defaults write com.apple.TextEdit PlainTextEncoding -int 4
|
||||||
|
defaults write com.apple.TextEdit PlainTextEncodingForWrite -int 4
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Messages #
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
# Disable smart quotes as it’s annoying for messages that contain code
|
||||||
|
defaults write com.apple.messageshelper.MessageController SOInputLineSettings -dict-add "automaticQuoteSubstitutionEnabled" -bool false
|
||||||
|
|
||||||
|
# Disable continuous spell checking
|
||||||
|
defaults write com.apple.messageshelper.MessageController SOInputLineSettings -dict-add "continuousSpellCheckingEnabled" -bool false
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Kill affected applications #
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
for app in "Activity Monitor" "Address Book" "Calendar" "Contacts" "cfprefsd" \
|
||||||
|
"Dock" "Finder" "Mail" "Messages" "Safari" "SizeUp" "SystemUIServer" \
|
||||||
|
"Terminal" "Transmission" "Twitter" "iCal"; do
|
||||||
|
killall "${app}" > /dev/null 2>&1
|
||||||
|
done
|
||||||
|
echo "Done. Note that some of these changes require a logout/restart to take effect."
|
||||||
0
ssh/allowed_signers
Normal file
0
ssh/allowed_signers
Normal file
2
ssh/config
Normal file
2
ssh/config
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
Host *
|
||||||
|
IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
|
||||||
133
zshrc
133
zshrc
@@ -2,80 +2,99 @@
|
|||||||
[[ -f "$HOME/.fig/shell/zshrc.pre.zsh" ]] && builtin source "$HOME/.fig/shell/zshrc.pre.zsh"
|
[[ -f "$HOME/.fig/shell/zshrc.pre.zsh" ]] && builtin source "$HOME/.fig/shell/zshrc.pre.zsh"
|
||||||
# shellcheck shell=bash
|
# shellcheck shell=bash
|
||||||
|
|
||||||
export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:$PATH"
|
export PATH="/opt/homebrew/bin:/usr/local/sbin:$PATH"
|
||||||
|
|
||||||
|
if [ command -v brew &> /dev/null ]; then
|
||||||
|
BREW_BIN=$(brew --prefix)/bin
|
||||||
|
BREW_SBIN=$(brew --prefix)/sbin
|
||||||
|
|
||||||
|
BREW_PYTHON=$(brew --prefix python@3.8)/bin
|
||||||
|
GNUBIN_DIR=$(brew --prefix coreutils)/libexec/gnubin
|
||||||
|
BREW_RUBY=$(brew --prefix ruby)/bin
|
||||||
|
BREW_GEMS=$(gem environment gemdir)/bin
|
||||||
|
|
||||||
|
export PATH="$BREW_PYTHON:$GNUBIN_DIR:$BREW_GEMS:$BREW_RUBY:$BREW_BIN:$BREW_SBIN:$PATH"
|
||||||
|
fi
|
||||||
|
|
||||||
LOCAL_BIN="$HOME/.local/bin"
|
LOCAL_BIN="$HOME/.local/bin"
|
||||||
OPT_FOLDER="/usr/local/opt"
|
|
||||||
PHP_74=$(brew --prefix php@7.4)/bin
|
|
||||||
PHP_80=$(brew --prefix php@8.0)/bin
|
|
||||||
PHP_CUR=$(brew --prefix php)/bin
|
|
||||||
PYTHON_38="$HOME/Library/Python/3.8/bin"
|
|
||||||
COMPOSER_DIR="$HOME/.composer/vendor/bin"
|
COMPOSER_DIR="$HOME/.composer/vendor/bin"
|
||||||
BREW_PYTHON=$(brew --prefix python@3.8)/bin
|
export PATH="$LOCAL_BIN:$COMPOSER_DIR:$PATH"
|
||||||
GNUBIN_DIR=$(brew --prefix coreutils)/libexec/gnubin
|
|
||||||
BREW_RUBY=$(brew --prefix ruby)/bin
|
|
||||||
BREW_GEMS=$(gem environment gemdir)/bin
|
|
||||||
USR_SBIN=/usr/local/sbin
|
|
||||||
|
|
||||||
export PATH="$LOCAL_BIN:$PYTHON_38:$COMPOSER_DIR:$BREW_PYTHON:$GNUBIN_DIR:$BREW_GEMS:$BREW_RUBY:$USR_SBIN:$PATH"
|
|
||||||
source "$HOME/.config/antigen.zsh"
|
|
||||||
|
|
||||||
export NVM_DIR="$HOME/.nvm"
|
|
||||||
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh" # This loads nvm
|
|
||||||
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion
|
|
||||||
|
|
||||||
export NVM_DIR="$HOME/.nvm"
|
export NVM_DIR="$HOME/.nvm"
|
||||||
export NVM_LAZY_LOAD=true
|
export NVM_LAZY_LOAD=true
|
||||||
export NVM_COMPLETION=true
|
export NVM_COMPLETION=true
|
||||||
export NVM_AUTO_USE=true
|
export NVM_AUTO_USE=true
|
||||||
|
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"
|
||||||
|
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"
|
||||||
|
|
||||||
antigen use oh-my-zsh
|
# 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
|
||||||
|
[ -r "$file" ] && [ -f "$file" ] && source "$file"
|
||||||
|
[ -r "$file-$HOSTNAME" ] && [ -f "$file-$HOSTNAME" ] && source "$file-$HOSTNAME"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
x-load-configs
|
||||||
|
|
||||||
antigen bundle php
|
# Import ssh keys in keychain
|
||||||
antigen bundle nvm
|
ssh-add -A 2>/dev/null;
|
||||||
# antigen bundle ruby
|
|
||||||
antigen bundle docker
|
|
||||||
antigen bundle ssh-agent
|
|
||||||
# antigen bundle git-auto-fetch
|
|
||||||
|
|
||||||
antigen bundle colored-man-pages
|
# Try to load antigen, if present
|
||||||
antigen bundle jreese/zsh-titles
|
[[ -f "$HOME/.config/antigen.zsh" ]] && source "$HOME/.config/antigen.zsh"
|
||||||
antigen bundle zsh-users/zsh-syntax-highlighting
|
|
||||||
antigen bundle zsh-users/zsh-completions
|
|
||||||
|
|
||||||
antigen bundle Sparragus/zsh-auto-nvm-use
|
# antigen is present
|
||||||
antigen bundle reegnz/jq-zsh-plugin
|
if command -v antigen &> /dev/null; then
|
||||||
antigen bundle MichaelAquilina/zsh-you-should-use
|
antigen use oh-my-zsh
|
||||||
antigen bundle sroze/docker-compose-zsh-plugin
|
|
||||||
# antigen bundle voronkovich/phpcs.plugin.zsh
|
|
||||||
antigen bundle unixorn/autoupdate-antigen.zshplugin
|
|
||||||
|
|
||||||
antigen theme oskarkrawczyk/honukai-iterm-zsh honukai
|
antigen theme oskarkrawczyk/honukai-iterm-zsh honukai
|
||||||
|
|
||||||
# Platform dependant bundles
|
antigen bundle ssh-agent
|
||||||
if [[ $(uname) == 'Linux' ]]
|
antigen bundle colored-man-pages
|
||||||
then
|
antigen bundle jreese/zsh-titles
|
||||||
antigen bundle command-not-found
|
antigen bundle zsh-users/zsh-syntax-highlighting
|
||||||
elif [[ $(uname) == 'Darwin' ]]
|
antigen bundle zsh-users/zsh-completions
|
||||||
then
|
antigen bundle MichaelAquilina/zsh-you-should-use
|
||||||
# Only enable brew plugin if brew exists
|
antigen bundle unixorn/autoupdate-antigen.zshplugin
|
||||||
hash brew 2>/dev/null && antigen bundle brew
|
# antigen bundle git-auto-fetch
|
||||||
|
|
||||||
|
hash php 2>/dev/null && antigen bundle php
|
||||||
|
hash nvm 2>/dev/null && antigen bundle nvm
|
||||||
|
hash docker 2>/dev/null && antigen bundle docker
|
||||||
|
|
||||||
|
hash nvm 2>/dev/null && antigen bundle Sparragus/zsh-auto-nvm-use
|
||||||
|
hash jq 2>/dev/null && antigen bundle reegnz/jq-zsh-plugin
|
||||||
|
hash docker-compose 2>/dev/null && antigen bundle sroze/docker-compose-zsh-plugin
|
||||||
|
# antigen bundle voronkovich/phpcs.plugin.zsh
|
||||||
|
|
||||||
|
# Platform dependant bundles
|
||||||
|
if [[ $(uname) == 'Linux' ]]; then
|
||||||
|
antigen bundle command-not-found
|
||||||
|
elif [[ $(uname) == 'Darwin' ]]; then
|
||||||
|
# If we have brew installed
|
||||||
|
if command -v brew &> /dev/null; then
|
||||||
|
# Only enable brew plugin if brew exists
|
||||||
|
antigen bundle brew
|
||||||
|
# load Z
|
||||||
|
[[ -f "$(brew --prefix z)/etc/profile.d/z.sh" ]] && source "$(brew --prefix z)/etc/profile.d/z.sh"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
antigen apply
|
||||||
fi
|
fi
|
||||||
|
|
||||||
antigen apply
|
# op (1Password cli) is present
|
||||||
|
if hash op 2>/dev/null; then
|
||||||
|
eval "$(op completion zsh)"; compdef _op op
|
||||||
|
fi
|
||||||
|
|
||||||
export HIST_STAMPS="yyyy-mm-dd"
|
# gcloud is present
|
||||||
|
if hash gcloud 2>/dev/null; then
|
||||||
# Only load 1Password cli completions if op exists
|
GCLOUD_LOC=$(gcloud info --format="value(installation.sdk_root)" --quiet)
|
||||||
hash op 2>/dev/null && eval "$(op completion zsh)"; compdef _op op
|
[[ -f "$GCLOUD_LOC/path.zsh.inc" ]] && builtin source "$GCLOUD_LOC/path.zsh.inc"
|
||||||
|
[[ -f "$GCLOUD_LOC/completion.zsh.inc" ]] && builtin source "$GCLOUD_LOC/completion.zsh.inc"
|
||||||
source "$HOME/.alias"
|
fi
|
||||||
|
|
||||||
GCLOUD_INSTALL_LOCATION=$(gcloud info --format="value(installation.sdk_root)" --quiet)
|
|
||||||
|
|
||||||
source "$GCLOUD_INSTALL_LOCATION/path.zsh.inc"
|
|
||||||
source "$GCLOUD_INSTALL_LOCATION/completion.zsh.inc"
|
|
||||||
source "$(brew --prefix z)/etc/profile.d/z.sh"
|
|
||||||
|
|
||||||
# Fig post block. Keep at the bottom of this file.
|
# 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"
|
[[ -f "$HOME/.fig/shell/zshrc.post.zsh" ]] && builtin source "$HOME/.fig/shell/zshrc.post.zsh"
|
||||||
|
|||||||
Reference in New Issue
Block a user