Compare commits

...

13 Commits

Author SHA1 Message Date
Ismo Vuorinen
0fd327ab9e Update install.sh 2022-12-04 20:15:24 +02:00
Ismo Vuorinen
221777dde0 Brewfile update, add .gitignore
`brew bundle dump -f ~/.dotfiles/Brewfile --describe`
2022-12-04 20:12:48 +02:00
Ismo Vuorinen
1dc430850d Indent with spaces 2022-11-22 13:05:37 +02:00
Ismo Vuorinen
209b54e15b Moved git config to .config/git 2022-11-22 13:02:56 +02:00
Ismo Vuorinen
b15f412107 Added Ruby Gems bin to path 2022-11-22 12:46:06 +02:00
Ismo Vuorinen
28ecb02549 Added command for updating Brewfile 2022-11-21 16:37:07 +02:00
Ismo Vuorinen
e18785eaa7 Add README.md 2022-11-21 16:33:37 +02:00
Ismo Vuorinen
ef6d004f71 gitconfig, zshrc, install.sh, git_profiles 2022-11-16 15:34:44 +02:00
50cd1d17e6 Update Brewfile
removed openfortivpn, terraform@0.12, reviewdog, codeclimate, midnight-commander, qcachegrind
2022-11-14 15:32:54 +02:00
Ismo Vuorinen
b139ff6136 Added brew to path 2022-11-11 05:05:42 +02:00
Ismo Vuorinen
fd6f59706b x-open-ports helper script 2022-09-21 15:28:10 +03:00
4edca57eea rcm install script
env RCRC=/dev/null rcup -B 0 -g > install.sh
2022-09-21 01:42:45 +03:00
26dbcedf1b Updated Brewfile 2022-09-21 01:32:11 +03:00
10 changed files with 287 additions and 73 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
Brewfile.lock.json

144
Brewfile
View File

@@ -1,6 +1,6 @@
tap "anchore/grype"
tap "codeclimate/formulae"
tap "ddosify/tap"
tap "dm3ch/tap"
tap "gesquive/tap"
tap "github/gh"
tap "homebrew/autoupdate"
@@ -8,109 +8,199 @@ tap "homebrew/bundle"
tap "homebrew/cask"
tap "homebrew/core"
tap "homebrew/services"
tap "reviewdog/tap"
tap "shivammathur/extensions"
tap "shivammathur/php"
tap "wpscanteam/tap"
brew "act"
# Interpreted, interactive, object-oriented programming language
brew "python@3.10"
# Automate deployment, configuration, and upgrading
brew "ansible"
brew "aspell"
brew "autoconf"
brew "bandwhich"
brew "brew-php-switcher"
brew "glib"
brew "coreutils"
brew "openldap"
# Zstandard is a real-time compression algorithm
brew "zstd"
# Spell checker with better logic than ispell
brew "aspell"
# Automatic configure script builder
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"
# GNU File, Shell, and Text utilities
brew "coreutils"
# Open source suite of directory software
brew "openldap"
# 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"
# Libraries to talk to Microsoft SQL Server and Sybase databases
brew "freetds"
# 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"
brew "git-standup", link: false
# GNU implementation of the famous stream editor
brew "gnu-sed"
brew "p11-kit"
# Validating, recursive, caching DNS resolver
brew "unbound"
# GNU Transport Layer Security (TLS) Library
brew "gnutls"
# GNU Pretty Good Privacy (PGP) package
brew "gnupg"
brew "goaccess"
# Image manipulation
brew "netpbm"
# C/C++ and Java libraries for Unicode and globalization
brew "icu4c"
# 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"
brew "lastpass-cli"
# Lazier way to manage everything docker
brew "lazydocker"
# Postgres C API library
brew "libpq"
# Linguistic software and Finnish dictionary
brew "libvoikko"
# Swiss Army Knife for macOS
brew "m-cli"
# 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"
brew "openfortivpn"
brew "php"
brew "php-cs-fixer"
brew "phpmd"
brew "phpstan"
# Interpreted, interactive, object-oriented programming language
brew "python@3.8"
brew "qcachegrind"
brew "qt"
# RC file (dotfile) management
brew "rcm"
# Search tool like grep and The Silver Searcher
brew "ripgrep"
# Powerful, clean, object-oriented scripting language
brew "ruby"
# Static analysis and lint tool, for (ba)sh scripts
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 "terraform@0.12"
# Tool to build, change, and version infrastructure
brew "terraform"
# 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 "tfenv"
# Terraform version manager inspired by rbenv
brew "tfenv", link: false
# Programmatically correct mistyped console commands
brew "thefuck"
# Simplified and community-driven man pages
brew "tldr"
# Terminal multiplexer
brew "tmux"
# Display directories as trees (with optional color/HTML output)
brew "tree"
# Modern watch command
brew "viddy"
# Executes a program periodically, showing output fullscreen
brew "watch"
# Internet file retriever
brew "wget"
# Tracks most-used directories to make cd smarter
brew "z"
# A vulnerability scanner for container images and filesystems
brew "anchore/grype/grype"
# High-performance load testing tool, written in Golang.
brew "ddosify/tap/ddosify"
# lets you quickly switch between multiple git user profiles
brew "gesquive/tap/git-user"
brew "reviewdog/tap/reviewdog"
# Xdebug PHP extension
brew "shivammathur/extensions/xdebug@7.4"
# Xdebug PHP extension
brew "shivammathur/extensions/xdebug@8.0"
# Xdebug PHP extension
brew "shivammathur/extensions/xdebug@8.1"
# General-purpose scripting language
brew "shivammathur/php/php"
# General-purpose scripting language
brew "shivammathur/php/php@7.4"
# General-purpose scripting language
brew "shivammathur/php/php@8.0"
brew "wpscanteam/tap/wpscan"
# App to build and share containerized applications and microservices
cask "docker"
# Reimagine your terminal
cask "fig"
# Unofficial overcast.fm podcast app
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"
# HTTP and GraphQL Client
cask "insomnia"
# End-to-end encryption software
cask "keybase"
# Kubernetes IDE
cask "lens"
# Reverse proxy, secure introspectable tunnels to localhost
cask "ngrok"
# Display image info and preview unsupported formats in QuickLook
cask "qlimagesize"
# QuickLook generator for Markdown files
cask "qlmarkdown"
# QuickLook plugin for plaintext files without an extension
cask "qlstephen"
# QuickLook plugin for JSON files
cask "quicklook-json"
# QuickLook generator for Adobe Swatch Exchange files
cask "quicklookase"
# MySQL/MariaDB database management
cask "sequel-ace"
# Application for inspecting installer packages
cask "suspicious-package"
# Quicklook extension for source files
cask "syntax-highlight"
# Open-source code editor
cask "visual-studio-code"
# Multimedia player
cask "vlc"
# Rust-based terminal
cask "warp"

17
README.md Normal file
View File

@@ -0,0 +1,17 @@
# DotFiles
## Setup
## Other stuff
Update `Brewfile`
```bash
brew bundle dump --force --file=~/.dotfiles/Brewfile
```
Enable automatic brew updates and upgrades.
```bash
brew autoupdate start 43200 --upgrade --cleanup --immediate
```

39
config/git/config Normal file
View File

@@ -0,0 +1,39 @@
[user]
name = Ismo Vuorinen
email = ismo.vuorinen@vincit.fi
[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]++'"
[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

8
git_profiles Normal file
View File

@@ -0,0 +1,8 @@
[work]
name = Ismo Vuorinen
email = ismo.vuorinen@vincit.fi
[home]
name = Ismo Vuorinen
email = ismo@vuorinen.net

View File

@@ -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

77
install.sh Normal file
View File

@@ -0,0 +1,77 @@
#!/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/alias" "/Users/ivuorinen/.alias"
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/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/git_profiles" "/Users/ivuorinen/.git_profiles"
handle_file_ln "/Users/ivuorinen/.dotfiles/huskyrc" "/Users/ivuorinen/.huskyrc"
handle_file_ln "/Users/ivuorinen/.dotfiles/local/bin/x-open-ports" "/Users/ivuorinen/.local/bin/x-open-ports"
handle_file_ln "/Users/ivuorinen/.dotfiles/vuerc" "/Users/ivuorinen/.vuerc"
handle_file_ln "/Users/ivuorinen/.dotfiles/zshrc" "/Users/ivuorinen/.zshrc"

20
local/bin/x-open-ports Executable file
View 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 "";

9
zshrc
View File

@@ -2,6 +2,8 @@
[[ -f "$HOME/.fig/shell/zshrc.pre.zsh" ]] && builtin source "$HOME/.fig/shell/zshrc.pre.zsh"
# shellcheck shell=bash
export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:$PATH"
LOCAL_BIN="$HOME/.local/bin"
OPT_FOLDER="/usr/local/opt"
PHP_74=$(brew --prefix php@7.4)/bin
@@ -12,11 +14,16 @@ 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
BREW_GEMS=$(gem environment gemdir)/bin
USR_SBIN=/usr/local/sbin
export PATH="$LOCAL_BIN:$PYTHON_38:$COMPOSER_DIR:$BREW_PYTHON:$GNUBIN_DIR:$BREW_RUBY:$USR_SBIN:$PATH"
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_LAZY_LOAD=true
export NVM_COMPLETION=true