mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-02-04 01:48:27 +00:00
Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c162452dd9 | |||
| c15965915f | |||
|
|
a53d655fd7 | ||
|
|
0f87411f65 | ||
|
|
af461e7234 | ||
|
|
5af773f931 | ||
|
|
976c0580f0 | ||
|
|
0fd327ab9e | ||
|
|
221777dde0 | ||
|
|
1dc430850d | ||
|
|
209b54e15b | ||
|
|
b15f412107 | ||
|
|
28ecb02549 | ||
|
|
e18785eaa7 | ||
|
|
ef6d004f71 | ||
| 50cd1d17e6 | |||
|
|
b139ff6136 | ||
|
|
fd6f59706b | ||
| 4edca57eea | |||
| 26dbcedf1b |
27
.editorconfig
Normal file
27
.editorconfig
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
|
end_of_line = lf
|
||||||
|
# indent_size = 4
|
||||||
|
indent_style = space
|
||||||
|
insert_final_newline = true
|
||||||
|
# max_line_length = 160
|
||||||
|
# tab_width = 4
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
|
[{*.yaml,*.yml}]
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
[*.sh]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
tab_width = 2
|
||||||
|
|
||||||
|
shell_variant = posix # like -ln=posix
|
||||||
|
binary_next_line = true # like -bn
|
||||||
|
switch_case_indent = true # like -ci
|
||||||
|
space_redirects = true # like -sr
|
||||||
|
keep_padding = false # like -kp
|
||||||
|
function_next_line = false # like -fn
|
||||||
|
never_split = true # like -ns
|
||||||
216
.gitattributes
vendored
Normal file
216
.gitattributes
vendored
Normal file
@@ -0,0 +1,216 @@
|
|||||||
|
## 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
|
||||||
|
*.gitkeep text
|
||||||
|
|
||||||
|
# Repo specials
|
||||||
|
local/bin/* text eol=lf
|
||||||
|
config/antigen.zsh text
|
||||||
|
git/* text
|
||||||
|
**/git/* text
|
||||||
|
**/alias text
|
||||||
|
ssh/* text
|
||||||
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
Brewfile.lock.json
|
||||||
226
Brewfile
226
Brewfile
@@ -1,6 +1,7 @@
|
|||||||
|
tap "1password/tap"
|
||||||
tap "anchore/grype"
|
tap "anchore/grype"
|
||||||
tap "codeclimate/formulae"
|
|
||||||
tap "ddosify/tap"
|
tap "ddosify/tap"
|
||||||
|
tap "dm3ch/tap"
|
||||||
tap "gesquive/tap"
|
tap "gesquive/tap"
|
||||||
tap "github/gh"
|
tap "github/gh"
|
||||||
tap "homebrew/autoupdate"
|
tap "homebrew/autoupdate"
|
||||||
@@ -8,109 +9,218 @@ tap "homebrew/bundle"
|
|||||||
tap "homebrew/cask"
|
tap "homebrew/cask"
|
||||||
tap "homebrew/core"
|
tap "homebrew/core"
|
||||||
tap "homebrew/services"
|
tap "homebrew/services"
|
||||||
tap "reviewdog/tap"
|
|
||||||
tap "shivammathur/extensions"
|
tap "shivammathur/extensions"
|
||||||
tap "shivammathur/php"
|
tap "shivammathur/php"
|
||||||
tap "wpscanteam/tap"
|
# Interpreted, interactive, object-oriented programming language
|
||||||
brew "act"
|
|
||||||
brew "python@3.10"
|
brew "python@3.10"
|
||||||
|
# Automate deployment, configuration, and upgrading
|
||||||
brew "ansible"
|
brew "ansible"
|
||||||
brew "aspell"
|
# Zstandard is a real-time compression algorithm
|
||||||
brew "autoconf"
|
|
||||||
brew "bandwhich"
|
|
||||||
brew "brew-php-switcher"
|
|
||||||
brew "glib"
|
|
||||||
brew "coreutils"
|
|
||||||
brew "openldap"
|
|
||||||
brew "zstd"
|
brew "zstd"
|
||||||
brew "dive"
|
# Spell checker with better logic than ispell
|
||||||
brew "dog"
|
brew "aspell"
|
||||||
brew "eg-examples"
|
# Automatic configure script builder
|
||||||
brew "faas-cli"
|
brew "autoconf"
|
||||||
|
# Official Amazon AWS command-line interface
|
||||||
|
brew "awscli"
|
||||||
|
# Terminal bandwidth utilization tool
|
||||||
|
brew "bandwhich"
|
||||||
|
# Switch Apache / Valet / CLI configs between PHP versions
|
||||||
|
brew "brew-php-switcher"
|
||||||
|
# Core application library for C
|
||||||
|
brew "glib"
|
||||||
|
# Manage compile and link flags for libraries
|
||||||
|
brew "pkg-config"
|
||||||
|
# Open source suite of directory software
|
||||||
|
brew "openldap"
|
||||||
|
# Libraries to talk to Microsoft SQL Server and Sybase databases
|
||||||
brew "freetds"
|
brew "freetds"
|
||||||
brew "fswatch"
|
# C/C++ and Java libraries for Unicode and globalization
|
||||||
brew "gh"
|
|
||||||
brew "git"
|
|
||||||
brew "git-extras"
|
|
||||||
brew "git-flow-avh"
|
|
||||||
brew "git-recent"
|
|
||||||
brew "git-standup", link: false
|
|
||||||
brew "gnu-sed"
|
|
||||||
brew "p11-kit"
|
|
||||||
brew "unbound"
|
|
||||||
brew "gnutls"
|
|
||||||
brew "gnupg"
|
|
||||||
brew "goaccess"
|
|
||||||
brew "netpbm"
|
|
||||||
brew "icu4c"
|
brew "icu4c"
|
||||||
brew "harfbuzz"
|
# Postgres C API library
|
||||||
brew "librsvg"
|
|
||||||
brew "graphviz"
|
|
||||||
brew "grep"
|
|
||||||
brew "gzip"
|
|
||||||
brew "hadolint"
|
|
||||||
brew "htop"
|
|
||||||
brew "httrack"
|
|
||||||
brew "imagemagick"
|
|
||||||
brew "jq"
|
|
||||||
brew "lastpass-cli"
|
|
||||||
brew "lazydocker"
|
|
||||||
brew "libpq"
|
brew "libpq"
|
||||||
brew "libvoikko"
|
# General-purpose scripting language
|
||||||
brew "m-cli"
|
|
||||||
brew "midnight-commander"
|
|
||||||
brew "nmap"
|
|
||||||
brew "nvm"
|
|
||||||
brew "openjdk"
|
|
||||||
brew "openapi-generator"
|
|
||||||
brew "openfortivpn"
|
|
||||||
brew "php"
|
brew "php"
|
||||||
brew "php-cs-fixer"
|
# Dependency Manager for PHP
|
||||||
brew "phpmd"
|
brew "composer"
|
||||||
brew "phpstan"
|
# GNU File, Shell, and Text utilities
|
||||||
|
brew "coreutils"
|
||||||
|
# Diff that understands syntax
|
||||||
|
brew "difftastic"
|
||||||
|
# Tool for exploring each layer in a docker image
|
||||||
|
brew "dive"
|
||||||
|
# Command-line DNS client
|
||||||
|
brew "dog"
|
||||||
|
# Useful examples at the command-line
|
||||||
|
brew "eg-examples"
|
||||||
|
# CLI for templating and/or deploying FaaS functions
|
||||||
|
brew "faas-cli"
|
||||||
|
# Monitor a directory for changes and run a shell command
|
||||||
|
brew "fswatch"
|
||||||
|
# GitHub command-line tool
|
||||||
|
brew "gh"
|
||||||
|
# Distributed revision control system
|
||||||
|
brew "git"
|
||||||
|
# Small git utilities
|
||||||
|
brew "git-extras"
|
||||||
|
# AVH edition of git-flow
|
||||||
|
brew "git-flow-avh"
|
||||||
|
# See your latest local git branches, formatted real fancy
|
||||||
|
brew "git-recent"
|
||||||
|
# GNU implementation of the famous stream editor
|
||||||
|
brew "gnu-sed"
|
||||||
|
# Validating, recursive, caching DNS resolver
|
||||||
|
brew "unbound"
|
||||||
|
# GNU Transport Layer Security (TLS) Library
|
||||||
|
brew "gnutls"
|
||||||
|
# GNU Pretty Good Privacy (PGP) package
|
||||||
|
brew "gnupg"
|
||||||
|
# Image manipulation
|
||||||
|
brew "netpbm"
|
||||||
|
# OpenType text shaping engine
|
||||||
|
brew "harfbuzz"
|
||||||
|
# Library to render SVG files using Cairo
|
||||||
|
brew "librsvg"
|
||||||
|
# Graph visualization software from AT&T and Bell Labs
|
||||||
|
brew "graphviz"
|
||||||
|
# GNU grep, egrep and fgrep
|
||||||
|
brew "grep"
|
||||||
|
# Popular GNU data compression program
|
||||||
|
brew "gzip"
|
||||||
|
# Smarter Dockerfile linter to validate best practices
|
||||||
|
brew "hadolint"
|
||||||
|
# Improved top (interactive process viewer)
|
||||||
|
brew "htop"
|
||||||
|
# Website copier/offline browser
|
||||||
|
brew "httrack"
|
||||||
|
# Tools and libraries to manipulate images in many formats
|
||||||
|
brew "imagemagick"
|
||||||
|
# Lightweight and flexible command-line JSON processor
|
||||||
|
brew "jq"
|
||||||
|
# Lazier way to manage everything docker
|
||||||
|
brew "lazydocker"
|
||||||
|
# Linguistic software and Finnish dictionary
|
||||||
|
brew "libvoikko"
|
||||||
|
# Swiss Army Knife for macOS
|
||||||
|
brew "m-cli"
|
||||||
|
# Mac App Store command-line interface
|
||||||
|
brew "mas"
|
||||||
|
# Terminal-based visual file manager
|
||||||
|
brew "midnight-commander"
|
||||||
|
# Port scanning utility for large networks
|
||||||
|
brew "nmap"
|
||||||
|
# Manage multiple Node.js versions
|
||||||
|
brew "nvm"
|
||||||
|
# Development kit for the Java programming language
|
||||||
|
brew "openjdk"
|
||||||
|
# Generate clients, server & docs from an OpenAPI spec (v2, v3)
|
||||||
|
brew "openapi-generator"
|
||||||
|
# Interpreted, interactive, object-oriented programming language
|
||||||
brew "python@3.8"
|
brew "python@3.8"
|
||||||
brew "qcachegrind"
|
# RC file (dotfile) management
|
||||||
brew "qt"
|
|
||||||
brew "rcm"
|
brew "rcm"
|
||||||
|
# Search tool like grep and The Silver Searcher
|
||||||
brew "ripgrep"
|
brew "ripgrep"
|
||||||
|
# Powerful, clean, object-oriented scripting language
|
||||||
brew "ruby"
|
brew "ruby"
|
||||||
|
# Static analysis and lint tool, for (ba)sh scripts
|
||||||
brew "shellcheck"
|
brew "shellcheck"
|
||||||
brew "skopeo"
|
# Autoformat shell script source code
|
||||||
|
brew "shfmt"
|
||||||
|
# Send macOS User Notifications from the command-line
|
||||||
brew "terminal-notifier", link: false
|
brew "terminal-notifier", link: false
|
||||||
brew "terraform@0.12"
|
# Tool to build, change, and version infrastructure
|
||||||
|
brew "terraform", link: false
|
||||||
|
# Thin wrapper for Terraform e.g. for locking state
|
||||||
|
brew "terragrunt"
|
||||||
|
# Tool which checks for the support of TLS/SSL ciphers and flaws
|
||||||
brew "testssl"
|
brew "testssl"
|
||||||
|
# Terraform version manager inspired by rbenv
|
||||||
brew "tfenv"
|
brew "tfenv"
|
||||||
|
# Programmatically correct mistyped console commands
|
||||||
brew "thefuck"
|
brew "thefuck"
|
||||||
|
# Simplified and community-driven man pages
|
||||||
brew "tldr"
|
brew "tldr"
|
||||||
|
# Terminal multiplexer
|
||||||
brew "tmux"
|
brew "tmux"
|
||||||
|
# Display directories as trees (with optional color/HTML output)
|
||||||
brew "tree"
|
brew "tree"
|
||||||
|
# Modern watch command
|
||||||
brew "viddy"
|
brew "viddy"
|
||||||
|
# Executes a program periodically, showing output fullscreen
|
||||||
brew "watch"
|
brew "watch"
|
||||||
|
# Internet file retriever
|
||||||
brew "wget"
|
brew "wget"
|
||||||
|
# Personal information dashboard for your terminal
|
||||||
|
brew "wtfutil"
|
||||||
|
# Tracks most-used directories to make cd smarter
|
||||||
brew "z"
|
brew "z"
|
||||||
|
# A vulnerability scanner for container images and filesystems
|
||||||
brew "anchore/grype/grype"
|
brew "anchore/grype/grype"
|
||||||
|
# High-performance load testing tool, written in Golang.
|
||||||
brew "ddosify/tap/ddosify"
|
brew "ddosify/tap/ddosify"
|
||||||
|
# lets you quickly switch between multiple git user profiles
|
||||||
brew "gesquive/tap/git-user"
|
brew "gesquive/tap/git-user"
|
||||||
brew "reviewdog/tap/reviewdog"
|
# Xdebug PHP extension
|
||||||
brew "shivammathur/extensions/xdebug@7.4"
|
brew "shivammathur/extensions/xdebug@7.4"
|
||||||
|
# Xdebug PHP extension
|
||||||
brew "shivammathur/extensions/xdebug@8.0"
|
brew "shivammathur/extensions/xdebug@8.0"
|
||||||
|
# Xdebug PHP extension
|
||||||
brew "shivammathur/extensions/xdebug@8.1"
|
brew "shivammathur/extensions/xdebug@8.1"
|
||||||
|
# General-purpose scripting language
|
||||||
brew "shivammathur/php/php"
|
brew "shivammathur/php/php"
|
||||||
|
# General-purpose scripting language
|
||||||
brew "shivammathur/php/php@7.4"
|
brew "shivammathur/php/php@7.4"
|
||||||
|
# General-purpose scripting language
|
||||||
brew "shivammathur/php/php@8.0"
|
brew "shivammathur/php/php@8.0"
|
||||||
brew "wpscanteam/tap/wpscan"
|
# Command-line helper for the 1Password password manager
|
||||||
|
cask "1password-cli"
|
||||||
|
# App to build and share containerized applications and microservices
|
||||||
|
cask "docker"
|
||||||
|
# Reimagine your terminal
|
||||||
cask "fig"
|
cask "fig"
|
||||||
|
# Unofficial overcast.fm podcast app
|
||||||
cask "fog"
|
cask "fog"
|
||||||
|
# Open Source Webfont Converter
|
||||||
|
cask "fontplop"
|
||||||
|
# GIT client
|
||||||
|
cask "fork"
|
||||||
|
# Set of tools to manage resources and applications hosted on Google Cloud
|
||||||
cask "google-cloud-sdk"
|
cask "google-cloud-sdk"
|
||||||
|
# HTTP and GraphQL Client
|
||||||
cask "insomnia"
|
cask "insomnia"
|
||||||
|
# Kubernetes IDE
|
||||||
|
cask "lens"
|
||||||
|
# Reverse proxy, secure introspectable tunnels to localhost
|
||||||
cask "ngrok"
|
cask "ngrok"
|
||||||
|
# Display image info and preview unsupported formats in QuickLook
|
||||||
cask "qlimagesize"
|
cask "qlimagesize"
|
||||||
|
# QuickLook generator for Markdown files
|
||||||
cask "qlmarkdown"
|
cask "qlmarkdown"
|
||||||
|
# QuickLook plugin for plaintext files without an extension
|
||||||
cask "qlstephen"
|
cask "qlstephen"
|
||||||
|
# QuickLook plugin for JSON files
|
||||||
cask "quicklook-json"
|
cask "quicklook-json"
|
||||||
|
# QuickLook generator for Adobe Swatch Exchange files
|
||||||
cask "quicklookase"
|
cask "quicklookase"
|
||||||
|
# MySQL/MariaDB database management
|
||||||
cask "sequel-ace"
|
cask "sequel-ace"
|
||||||
|
# Collection of apps available by subscription
|
||||||
|
cask "setapp"
|
||||||
|
# Application for inspecting installer packages
|
||||||
cask "suspicious-package"
|
cask "suspicious-package"
|
||||||
|
# Quicklook extension for source files
|
||||||
cask "syntax-highlight"
|
cask "syntax-highlight"
|
||||||
|
# Open-source code editor
|
||||||
|
cask "visual-studio-code"
|
||||||
|
# Multimedia player
|
||||||
cask "vlc"
|
cask "vlc"
|
||||||
|
# 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
|
||||||
|
|||||||
56
README.md
Normal file
56
README.md
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
# .dotfiles
|
||||||
|
|
||||||
|
The folder structure follows [XDG Base Directory Specification][xdg] where possible.
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
## 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`
|
||||||
|
|
||||||
|
```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 |
|
||||||
|
|--------------------|----------------------|
|
||||||
|
| 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
|
||||||
@@ -19,9 +19,6 @@ if [[ $(uname) == 'Darwin' ]]; then
|
|||||||
alias p8a='$(brew --prefix php)/bin/php artisan'
|
alias p8a='$(brew --prefix php)/bin/php artisan'
|
||||||
|
|
||||||
alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'
|
alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'
|
||||||
|
|
||||||
# work related
|
|
||||||
alias geniemvpn='sudo openfortivpn -c ~/.local/openfortivpn.conf'
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
alias watchx='watch -dpbc'
|
alias watchx='watch -dpbc'
|
||||||
52
config/git/config
Normal file
52
config/git/config
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
[user]
|
||||||
|
name = Ismo Vuorinen
|
||||||
|
email = ismo@ivuorinen.net
|
||||||
|
|
||||||
|
[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
|
||||||
180
config/wtf/config.yml
Normal file
180
config/wtf/config.yml
Normal file
@@ -0,0 +1,180 @@
|
|||||||
|
wtf:
|
||||||
|
colors:
|
||||||
|
background: black
|
||||||
|
border:
|
||||||
|
focusable: darkslateblue
|
||||||
|
focused: orange
|
||||||
|
normal: gray
|
||||||
|
checked: yellow
|
||||||
|
highlight:
|
||||||
|
fore: black
|
||||||
|
back: gray
|
||||||
|
rows:
|
||||||
|
even: yellow
|
||||||
|
odd: white
|
||||||
|
grid:
|
||||||
|
# How _wide_ the columns are, in terminal characters. In this case we have
|
||||||
|
# four columns, each of which are 35 characters wide.
|
||||||
|
columns: [35, 35, 30, 20]
|
||||||
|
# How _high_ the rows are, in terminal lines. In this case we have four rows
|
||||||
|
# that support ten line of text and one of four.
|
||||||
|
rows: [10, 10, 10, 20, 10, 4]
|
||||||
|
refreshInterval: 1
|
||||||
|
openFileUtil: "open"
|
||||||
|
mods:
|
||||||
|
# You can have multiple widgets of the same type.
|
||||||
|
# The "key" is the name of the widget and the type is the actual
|
||||||
|
# widget you want to implement.
|
||||||
|
europe_time:
|
||||||
|
title: "Europe"
|
||||||
|
type: clocks
|
||||||
|
colors:
|
||||||
|
rows:
|
||||||
|
even: "lightblue"
|
||||||
|
odd: "white"
|
||||||
|
enabled: true
|
||||||
|
locations:
|
||||||
|
GMT: "Etc/GMT"
|
||||||
|
Amsterdam: "Europe/Amsterdam"
|
||||||
|
Berlin: "Europe/Berlin"
|
||||||
|
Barcelona: "Europe/Madrid"
|
||||||
|
Copenhagen: "Europe/Copenhagen"
|
||||||
|
London: "Europe/London"
|
||||||
|
Rome: "Europe/Rome"
|
||||||
|
Stockholm: "Europe/Stockholm"
|
||||||
|
position:
|
||||||
|
top: 0
|
||||||
|
left: 0
|
||||||
|
height: 1
|
||||||
|
width: 1
|
||||||
|
refreshInterval: 15
|
||||||
|
sort: "alphabetical"
|
||||||
|
americas_time:
|
||||||
|
title: "Americas"
|
||||||
|
type: clocks
|
||||||
|
colors:
|
||||||
|
rows:
|
||||||
|
even: "lightblue"
|
||||||
|
odd: "white"
|
||||||
|
enabled: true
|
||||||
|
locations:
|
||||||
|
UTC: "Etc/UTC"
|
||||||
|
Vancouver: "America/Vancouver"
|
||||||
|
New_York: "America/New_York"
|
||||||
|
Sao_Paulo: "America/Sao_Paulo"
|
||||||
|
Denver: "America/Denver"
|
||||||
|
Iqaluit: "America/Iqaluit"
|
||||||
|
Bahamas: "America/Nassau"
|
||||||
|
Chicago: "America/Chicago"
|
||||||
|
position:
|
||||||
|
top: 0
|
||||||
|
left: 1
|
||||||
|
height: 1
|
||||||
|
width: 1
|
||||||
|
refreshInterval: 15
|
||||||
|
sort: "alphabetical"
|
||||||
|
battery:
|
||||||
|
type: power
|
||||||
|
title: "⚡️"
|
||||||
|
enabled: true
|
||||||
|
position:
|
||||||
|
top: 1
|
||||||
|
left: 2
|
||||||
|
height: 1
|
||||||
|
width: 2
|
||||||
|
refreshInterval: 15
|
||||||
|
todolist:
|
||||||
|
type: todo
|
||||||
|
checkedIcon: "X"
|
||||||
|
colors:
|
||||||
|
checked: gray
|
||||||
|
highlight:
|
||||||
|
fore: "black"
|
||||||
|
back: "orange"
|
||||||
|
enabled: true
|
||||||
|
filename: "todo.yml"
|
||||||
|
position:
|
||||||
|
top: 1
|
||||||
|
left: 0
|
||||||
|
height: 2
|
||||||
|
width: 1
|
||||||
|
refreshInterval: 3600
|
||||||
|
ip:
|
||||||
|
type: ipinfo
|
||||||
|
title: "My IP"
|
||||||
|
colors:
|
||||||
|
name: "lightblue"
|
||||||
|
value: "white"
|
||||||
|
enabled: true
|
||||||
|
position:
|
||||||
|
top: 0
|
||||||
|
left: 2
|
||||||
|
height: 1
|
||||||
|
width: 2
|
||||||
|
refreshInterval: 150
|
||||||
|
security_info:
|
||||||
|
type: security
|
||||||
|
title: "Staying safe"
|
||||||
|
enabled: true
|
||||||
|
position:
|
||||||
|
top: 1
|
||||||
|
left: 1
|
||||||
|
height: 1
|
||||||
|
width: 1
|
||||||
|
refreshInterval: 3600
|
||||||
|
readme:
|
||||||
|
type: textfile
|
||||||
|
enabled: true
|
||||||
|
filePaths:
|
||||||
|
- "~/.config/wtf/config.yml"
|
||||||
|
format: true
|
||||||
|
formatStyle: "monokai"
|
||||||
|
position:
|
||||||
|
top: 3
|
||||||
|
left: 0
|
||||||
|
height: 1
|
||||||
|
width: 1
|
||||||
|
refreshInterval: 15
|
||||||
|
news:
|
||||||
|
type: hackernews
|
||||||
|
title: "HackerNews"
|
||||||
|
enabled: true
|
||||||
|
numberOfStories: 10
|
||||||
|
position:
|
||||||
|
top: 3
|
||||||
|
left: 1
|
||||||
|
height: 1
|
||||||
|
width: 3
|
||||||
|
storyType: top
|
||||||
|
refreshInterval: 900
|
||||||
|
resources:
|
||||||
|
type: resourceusage
|
||||||
|
enabled: true
|
||||||
|
position:
|
||||||
|
top: 4
|
||||||
|
left: 0
|
||||||
|
height: 2
|
||||||
|
width: 1
|
||||||
|
refreshInterval: 1
|
||||||
|
uptime:
|
||||||
|
type: cmdrunner
|
||||||
|
args: []
|
||||||
|
cmd: "uptime"
|
||||||
|
enabled: true
|
||||||
|
position:
|
||||||
|
top: 5
|
||||||
|
left: 1
|
||||||
|
height: 1
|
||||||
|
width: 3
|
||||||
|
refreshInterval: 30
|
||||||
|
disks:
|
||||||
|
type: cmdrunner
|
||||||
|
cmd: "df"
|
||||||
|
args: ["-h"]
|
||||||
|
enabled: true
|
||||||
|
position:
|
||||||
|
top: 4
|
||||||
|
left: 1
|
||||||
|
height: 1
|
||||||
|
width: 3
|
||||||
|
refreshInterval: 3600
|
||||||
8
git_profiles
Normal file
8
git_profiles
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
[work]
|
||||||
|
name = Ismo Vuorinen
|
||||||
|
email = ismo.vuorinen@vincit.fi
|
||||||
|
|
||||||
|
[home]
|
||||||
|
name = Ismo Vuorinen
|
||||||
|
email = ismo@vuorinen.net
|
||||||
|
|
||||||
45
gitconfig
45
gitconfig
@@ -1,45 +0,0 @@
|
|||||||
[user]
|
|
||||||
name = Ismo Vuorinen
|
|
||||||
email = ismo.vuorinen@geniem.com
|
|
||||||
signingkey = 027A74A88B2CC570
|
|
||||||
[core]
|
|
||||||
excludesfile = ~/.gitignore_global
|
|
||||||
[difftool "sourcetree"]
|
|
||||||
cmd = opendiff \"$LOCAL\" \"$REMOTE\"
|
|
||||||
path =
|
|
||||||
[mergetool "sourcetree"]
|
|
||||||
cmd = /Applications/Sourcetree.app/Contents/Resources/opendiff-w.sh \"$LOCAL\" \"$REMOTE\" -ancestor \"$BASE\" -merge \"$MERGED\"
|
|
||||||
trustExitCode = true
|
|
||||||
[commit]
|
|
||||||
template = ~/.stCommitMsg
|
|
||||||
[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]++'"
|
|
||||||
|
|
||||||
[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
|
|
||||||
|
|
||||||
[color "status"]
|
|
||||||
added = green bold
|
|
||||||
changed = yellow
|
|
||||||
deleted = red bold strike
|
|
||||||
untracked = cyan
|
|
||||||
branch = yellow black bold ul
|
|
||||||
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.
|
||||||
60
host-v/config/git/config
Normal file
60
host-v/config/git/config
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
[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
|
||||||
83
install.sh
Executable file
83
install.sh
Executable file
@@ -0,0 +1,83 @@
|
|||||||
|
#!/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 "/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/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/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/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/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/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/zshrc" "/Users/ivuorinen/.zshrc"
|
||||||
104
local/bin/dotfiles
Executable file
104
local/bin/dotfiles
Executable file
@@ -0,0 +1,104 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# Dotfiles and install helper
|
||||||
|
# (c) Ismo Vuorinen <https://github.com/ivuorinen> 2022
|
||||||
|
# Licensed under MIT, see LICENSE
|
||||||
|
#
|
||||||
|
|
||||||
|
# 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 | other]"
|
||||||
|
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
|
||||||
|
*)
|
||||||
|
echo "$USAGE_PREFIX [link | update]"
|
||||||
|
echo " * link: Use rcrc to update dotfile links"
|
||||||
|
echo " * update: Updates and upgrades brew packages"
|
||||||
|
echo " * updatebundle: Updates Brewfile with descriptions"
|
||||||
|
;;
|
||||||
|
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 upgrade; 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!"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "$USAGE_PREFIX [link | update]"
|
||||||
|
echo " * link: Use rcrc to update dotfile links"
|
||||||
|
echo " * update: Updates dotfile links, installs host specific overrides automatically"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
function section_other() {
|
||||||
|
case "$1" in
|
||||||
|
*)
|
||||||
|
echo "section_other"
|
||||||
|
echo "$1"
|
||||||
|
;;
|
||||||
|
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" ;;
|
||||||
|
other) section_other "$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
|
||||||
20
local/bin/x-open-ports
Executable file
20
local/bin/x-open-ports
Executable file
@@ -0,0 +1,20 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# List open (listened) ports, without the crud that
|
||||||
|
# usually comes with `lsof -i`
|
||||||
|
#
|
||||||
|
# Originally from: https://www.commandlinefu.com/commands/view/8951
|
||||||
|
# Original author: https://www.commandlinefu.com/commands/by/wickedcpj
|
||||||
|
#
|
||||||
|
echo 'User: Command: Port:';
|
||||||
|
echo '=====================================================';
|
||||||
|
|
||||||
|
lsof -i 4 -P -n +c 0 | \
|
||||||
|
grep -i 'listen' | \
|
||||||
|
awk '{print $3, $1, $9}' | \
|
||||||
|
sed 's/ [a-z0-9\.\*]*:/ /' | \
|
||||||
|
sort -k 3 -n | \
|
||||||
|
xargs printf '%-20s %-25s %-5s\n' | uniq
|
||||||
|
|
||||||
|
echo "";
|
||||||
|
|
||||||
2
rcrc
Normal file
2
rcrc
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
EXCLUDES="*.md *.sh *.lock.json Brewfile scripts"
|
||||||
|
HOSTNAME=$(hostname -s)
|
||||||
29
scripts/gh-extensions.sh
Executable file
29
scripts/gh-extensions.sh
Executable file
@@ -0,0 +1,29 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Install GitHub CLI extensions
|
||||||
|
|
||||||
|
# GitHub CLI extension for reviewing Dependabot PRs.
|
||||||
|
gh extension install einride/gh-dependabot
|
||||||
|
# A GitHub CLI extension that provides summary pull request metrics.
|
||||||
|
gh extension install hectcastro/gh-metrics
|
||||||
|
# being an extension to view the overall health of an organization's use of actions
|
||||||
|
gh extension install rsese/gh-actions-status
|
||||||
|
# GitHub CLI extension for label management
|
||||||
|
gh extension install heaths/gh-label
|
||||||
|
# An opinionated GitHub Cli extension for creating
|
||||||
|
# changelogs that adhere to the keep a changelog specification.
|
||||||
|
gh extension install chelnak/gh-changelog
|
||||||
|
# Safely deletes local branches with no upstream and no un-pushed commits
|
||||||
|
gh extension install davidraviv/gh-clean-branches
|
||||||
|
# A beautiful CLI dashboard for GitHub 🚀
|
||||||
|
gh extension install dlvhdr/gh-dash
|
||||||
|
# A github-cli extension script to clone all repositories
|
||||||
|
# in an organization, optionally filtering by topic.
|
||||||
|
gh extension install matt-bartel/gh-clone-org
|
||||||
|
# GitHub CLI extension to generate montage from GitHub user avatars
|
||||||
|
gh extension install andyfeller/gh-montage
|
||||||
|
# Organisation specific extension for gh cli to retrieve different statistics
|
||||||
|
gh extension install VildMedPap/gh-orgstats
|
||||||
|
# GitHub CLI extension for generating a report on repository dependencies.
|
||||||
|
gh extension install andyfeller/gh-dependency-report
|
||||||
|
# gh cli extension to generate account/organization/enterprise reports
|
||||||
|
gh extension install stoe/gh-report
|
||||||
280
scripts/set-defaults.sh
Executable file
280
scripts/set-defaults.sh
Executable file
@@ -0,0 +1,280 @@
|
|||||||
|
#!/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"
|
||||||
116
zshrc
116
zshrc
@@ -3,69 +3,95 @@
|
|||||||
# shellcheck shell=bash
|
# shellcheck shell=bash
|
||||||
|
|
||||||
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"
|
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
|
|
||||||
GNUBIN_DIR=$(brew --prefix coreutils)/libexec/gnubin
|
|
||||||
BREW_RUBY=$(brew --prefix ruby)/bin
|
|
||||||
USR_SBIN=/usr/local/sbin
|
USR_SBIN=/usr/local/sbin
|
||||||
|
|
||||||
export PATH="$LOCAL_BIN:$PYTHON_38:$COMPOSER_DIR:$BREW_PYTHON:$GNUBIN_DIR:$BREW_RUBY:$USR_SBIN:$PATH"
|
export PATH="/opt/homebrew/bin:$USR_SBIN:$PATH"
|
||||||
source "$HOME/.config/antigen.zsh"
|
|
||||||
|
if [ command -v brew &> /dev/null ]; then
|
||||||
|
BREW_BIN=$(brew --prefix)/bin
|
||||||
|
BREW_SBIN=$(brew --prefix)/sbin
|
||||||
|
|
||||||
|
# PHP_74=$(brew --prefix php@7.4)/bin
|
||||||
|
# PHP_80=$(brew --prefix php@8.0)/bin
|
||||||
|
# PHP_CUR=$(brew --prefix php)/bin
|
||||||
|
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
|
||||||
|
|
||||||
|
export PATH="$LOCAL_BIN:$PYTHON_38:$COMPOSER_DIR:$PATH"
|
||||||
|
export HIST_STAMPS="yyyy-mm-dd"
|
||||||
|
|
||||||
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
|
[[ -f "$HOME/.dotfiles/alias" ]] && source "$HOME/.dotfiles/alias"
|
||||||
|
[[ -f "$HOME/.dotfiles/alias-$HOSTNAME" ]] && source "$HOME/.dotfiles/alias-$HOSTNAME"
|
||||||
|
|
||||||
antigen bundle php
|
# Try to load antigen, if present
|
||||||
antigen bundle nvm
|
[[ -f "$HOME/.config/antigen.zsh" ]] && source "$HOME/.config/antigen.zsh"
|
||||||
# antigen bundle ruby
|
|
||||||
antigen bundle docker
|
|
||||||
antigen bundle ssh-agent
|
|
||||||
# antigen bundle git-auto-fetch
|
|
||||||
|
|
||||||
antigen bundle colored-man-pages
|
# antigen is present
|
||||||
antigen bundle jreese/zsh-titles
|
if command -v antigen &> /dev/null; then
|
||||||
antigen bundle zsh-users/zsh-syntax-highlighting
|
antigen use oh-my-zsh
|
||||||
antigen bundle zsh-users/zsh-completions
|
|
||||||
|
|
||||||
antigen bundle Sparragus/zsh-auto-nvm-use
|
antigen theme oskarkrawczyk/honukai-iterm-zsh honukai
|
||||||
antigen bundle reegnz/jq-zsh-plugin
|
|
||||||
antigen bundle MichaelAquilina/zsh-you-should-use
|
|
||||||
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 bundle ssh-agent
|
||||||
|
antigen bundle colored-man-pages
|
||||||
|
antigen bundle jreese/zsh-titles
|
||||||
|
antigen bundle zsh-users/zsh-syntax-highlighting
|
||||||
|
antigen bundle zsh-users/zsh-completions
|
||||||
|
antigen bundle MichaelAquilina/zsh-you-should-use
|
||||||
|
antigen bundle unixorn/autoupdate-antigen.zshplugin
|
||||||
|
# antigen bundle git-auto-fetch
|
||||||
|
|
||||||
# Platform dependant bundles
|
hash php 2>/dev/null && antigen bundle php
|
||||||
if [[ $(uname) == 'Linux' ]]
|
hash nvm 2>/dev/null && antigen bundle nvm
|
||||||
then
|
hash docker 2>/dev/null && antigen bundle docker
|
||||||
antigen bundle command-not-found
|
|
||||||
elif [[ $(uname) == 'Darwin' ]]
|
hash nvm 2>/dev/null && antigen bundle Sparragus/zsh-auto-nvm-use
|
||||||
then
|
hash jq 2>/dev/null && antigen bundle reegnz/jq-zsh-plugin
|
||||||
# Only enable brew plugin if brew exists
|
hash docker-compose 2>/dev/null && antigen bundle sroze/docker-compose-zsh-plugin
|
||||||
hash brew 2>/dev/null && antigen bundle brew
|
# 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
|
||||||
source "$HOME/.alias"
|
GCLOUD_LOC=$(gcloud info --format="value(installation.sdk_root)" --quiet)
|
||||||
|
[[ -f "$GCLOUD_LOC/path.zsh.inc" ]] && builtin source "$GCLOUD_LOC/path.zsh.inc"
|
||||||
GCLOUD_INSTALL_LOCATION=$(gcloud info --format="value(installation.sdk_root)" --quiet)
|
[[ -f "$GCLOUD_LOC/completion.zsh.inc" ]] && builtin source "$GCLOUD_LOC/completion.zsh.inc"
|
||||||
|
fi
|
||||||
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