fabiospampinato / ama

Ask me anything!
7 stars 1 forks source link

What apps/tools/settings do you use? #2

Closed mhanel closed 5 years ago

mhanel commented 5 years ago

Hi Fabio,

I've asked the question before, but I think it belongs here and maybe you have some updates :).

What apps/tools/settings do you use?

fabiospampinato commented 5 years ago

Hey Manuel,

Trying to provide a more comprehensive answer than the one I gave you in the tweet:

macOS

First of all I'm a macOS user, this is what my launchpad and dock look like at the moment:

Screen Shot 2019-04-24 at 23 18 50

In the future I'll replace Noty with Notable entirely. Maybe at some point I'll also stop using Tower.

Apps

I have the following non-stock apps installed:

1Password 7
Affinity Designer
Affinity Photo
Alfred 3
Android Studio
AppCleaner
BetterTouchTool
BitBar
Cakebrew
Caption
ColorSnapper2
Dash
Docker
Dropbox
Firefox
Gapplin
Google Chrome Canary
Google Chrome
Hyper
IINA
ImageOptim
Itsycal
KDeasy
Kap
Karabiner-Elements
Karabiner-EventViewer
KeyboardCleanTool
Kitematic (Beta)
Latest
LaunchControl
Mission Control
NTFS for Mac
Notable
Noty
OmniDiskSweeper
Parallels Desktop
Phoenix
Reeder
Skype
Spotify
Sublime Text
TablePlus
TeamViewer
The Unarchiver
TorBrowser
Tower
Transmission
Transmit
VLC
Visual Studio Code - Insiders
Visual Studio Code
Xcode
ZenMate

This is my Phoenix configuration, super useful.

NPM

I have the following globally-installed NPM packages:

alfred-fkill
alfred-lock
asar
autogit
ava
ava-spec
browser-sync
claudia
cliflix
cost-of-modules
del-cli
fkill-cli
forever
fx
github-email
gulp-cli
http-server
http-server-with-auth
icon-font-buildr
is-up-cli
lodash
node-gyp
node-sass
nodemon
npm
npm-check
npm-name
npm-name-cli
npm-run
pacco
prettier
rssa
spoof
svelto
time-require
tldr
ts-node
typescript
typings
vsce
wallpaper-cli
webpack
webpack-cli

Homebrew

And the following homebrew packages:

adns
aom
apr
apr-util
arpack
aspell
autoconf
automake
axel
bat
bench
berkeley-db
bison
brew-cask-completion
brotli
cairo
cloc
cmake
coreutils
cputhrottle
ctop
curl
doxygen
eigen
epstool
fd
ffmpeg
fftw
fig2dev
flac
fltk
fontconfig
fontforge
freetds
freetype
frei0r
fribidi
fzf
gawk
gcc
gd
gdbm
gettext
ghostscript
giflib
git-subrepo
gl2ps
glib
glpk
gmp
gnu-sed
gnupg
gnuplot
gnutls
gobject-introspection
graphicsmagick
graphite2
graphviz
guetzli
harfbuzz
hdf5
hexyl
highlight
httpie
hub
icu4c
imagemagick
isl
jasper
jpeg
jq
lame
leptonica
libarchive
libass
libassuan
libbluray
libevent
libffi
libgcrypt
libgpg-error
libidn2
libksba
libmagic
libmpc
libogg
libomp
libpng
libpq
libsamplerate
libsndfile
libsoxr
libtasn1
libtiff
libtool
libunistring
libusb
libvorbis
libvpx
libxml2
libzip
little-cms2
lua
lua@5.1
m-cli
maclaunch
mad
makedepend
mcrypt
metis
mhash
micro
mozjpeg
mpfr
mycli
mysql
ncdu
ncurses
neofetch
netpbm
nettle
nmap
node
npth
octave
oniguruma
opencore-amr
openjpeg
openssl
openssl@1.1
opus
p11-kit
p7zip
pandoc
pango
pcre
pidof
pigz
pinentry
pixman
pkg-config
plotutils
popt
portaudio
pstoedit
pup
pv
python
python@2
qcachegrind
qemu
qhull
qrupdate
qt
qt@5.7
readline
reattach-to-user-namespace
recode
ripgrep
rpm
rtmpdump
rubberband
screenresolution
sdl2
snappy
sox
speex
sphinx-doc
sqlite
suite-sparse
swig
szip
tbb
tesseract
texinfo
the_silver_searcher
theora
tmux
tree
ttfautohint
unixodbc
veclibfort
watch
webp
wget
wifi-password
x264
x265
xvid
xz
yarn
youtube-dl
zsh
zsh-autosuggestions
zsh-completions
zsh-syntax-highlighting
zstd

Google Chrome

I use Google Chrome for browsing and web development. These are my currently enabled extensions:

Visual Studio Code

I use Visual Studio Code for programming. These are my installed extensions:

Here there are my settings (I've removed some tokens).

Here there are my keyboard shortcuts, I tried to convert my macOS shortcuts for Windows and Linux, so that I can use the same even when using some virtual machine, but the win/meta key isn't properly handled there.

Alfred

I use Alfred instead of spotlight. I'm not sure how to log all the workflows I'm using, but most of them I actually forget I have installed and very rarely use, the ones I use pretty regularly are the ones I made and the one for Dash (that alone is worth the tool IMHO).

Hyper

Hyper is my terminal of choice, it currently looks like this:

Screen Shot 2019-04-24 at 23 52 18

This is its configuration:

module.exports = {
  config: {
    fontSize: 11,
    fontFamily: 'Menlo, Monaco, "DejaVu Sans Mono", Consolas, "Lucida Console", monospace',
    cursorShape: 'BLOCK',
    padding: '10px',
    bell: 'SOUND',
    copyOnSelect: false,
    /* COLORS */
    cursorColor: '#cccccc',
    foregroundColor: '#dddddd',
    backgroundColor: '#060606',
    borderColor: '#2f2f2f',
    selectionColor: 'rgba( 255, 255, 255, 0.3 )'
  },
  keymaps: {
    'pane:splitVertical': 'command+\\',
    'pane:splitHorizontal': 'command+shift+\\',
  },
  // 'hyper-statusline'
  plugins: [],
  localPlugins: []
};

Zsh

zsh is my shell of choice. I haven't published my full config yet, as there are some private commands and passwords in there, but you can find a close one here.

Smartphone

I have an S9 as my smartphone of choice, I don't use it much though. Perhaps the only interesting development-related tool I have installed there is termux with this configuration.

This is what it looks like right now:

I think that's about it! Let me know if I may have missed something useful or you want to know more about something in particular.

mhanel commented 5 years ago

That is fantastic, thank you :)!

fabiospampinato commented 5 years ago

I've updated the answer with more up-to-date VSCode settings, VSCode shortcuts and a section about Alfred.

Maybe if you are interested in these sorts of things subscribe to this issue, I'll try to update it a few times a year.

fabiospampinato commented 2 years ago

A quick update on my setup below. I wanted to publish full dotfiles here on github, but they contain too many personal things and giving up version control on the personal parts or overcomplicating my setup isn't worth it for me.

Screenshot

launchpad_0

Brew

CLI apps:

brew install android-platform-tools bat caddy cloc coreutils curl deno emscripten exa fd ffmpeg fzf gcc glances graphviz httpie hub imagemagick jq libavif mas mozjpeg ncdu neofetch node@16 pandoc pngquant rclone ripgrep sox tmux webp wget zsh-autosuggestions zsh-syntax-highlighting zstd

GUI apps:

brew install 1password affinity-designer affinity-photo appcleaner betterdummy electron-fiddle google-chrome iina imageoptim iterm2 karabiner-elements keyboardcleantool latest lingon-x mimestream monitorcontrol parallels paw phoenix pictogram steam sublime-text tableplus the-unarchiver topnotch tower transmit visual-studio-code homebrew/cask-drivers/logitech-options homebrew/cask/transmission # dash notable tinkertool

Quicklook apps:

brew install qlcolorcode qlimagesize qlmarkdown qlstephen quicklook-json webpquicklook

Chrome

Extensions:

ekoefnjdjpnligjlaoikkckcablekjjk : Blank : version 1_0_0
ndepbcaahckdllkanlbnpdlkofblebfn : Multi Homepage : version 1_0_0
koeeegbghbokaeaikifjhdbbkjbolcep : Window Session : version 1_1_1
aomjjhallfgjeglblehebfpbcfeobpgk : 1Password extension (desktop app required) : version 4_7_5_90
bknoejjhcfmakcibhifepfkegpjdnadk : Clear Downloads : version 1_1_0
hlepfoohegkhhmjieoechaddaejaokhf : Refined GitHub : version 21_11_9
jlmafbaeoofdegohdhinkhilhclaklkp : OctoLinker : version 6_9_0
cjpalhdlnbpafiamejdnhcphjbkeiagm : uBlock Origin : version 1_38_6

Mac App Store

Apps:

mas install 1545870783 # System Color Picker

MacOS

Most of the settings I've set manually, but some of them I've set or can only be set via the terminal:

# ALWAYS FULL PRINT DIALOG
defaults write NSGlobalDomain PMPrintingExpandedStateForPrint -bool true
defaults write NSGlobalDomain PMPrintingExpandedStateForPrint2 -bool true

# ALWAYS SHOW FULL SAVE DIALOG
defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode -bool true
defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode2 -bool true

# ENABLE BETTER BLUETOOTH CODES
sudo defaults write bluetoothaudiod "Enable AptX codec" -bool true
sudo defaults write bluetoothaudiod "Enable AAC codec" -bool true
sudo defaults write bluetoothaudiod "AAC Bitrate" 256

# ENABLE LOWER BLETOOTH COMPRESSION
defaults write com.apple.BluetoothAudioAgent "Apple Bitpool Min (editable)" -int 40

# ENABLE TIMEMACHINE THROTTLING
sudo sysctl debug.lowpri_throttle_enabled=1

# DISABLE .DS_Store ON ATTACHED DRIVES
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true

# DISABLE AUTOMATIC TERMINATION OF INACTIVE APPS
defaults write NSGlobalDomain NSDisableAutomaticTermination -bool true

# DISABLE CRASH REPORTER
defaults write com.apple.CrashReporter DialogType -string "none"

# DISABLE COLOR SNAPPER ICON
defaults write com.koolesache.ColorSnapper2 showMenubarIcon false

# DISABLE TIMEMACHINE PROMPT FOR NEW DRIVES
defaults write com.apple.TimeMachine DoNotOfferNewDisksForBackup -bool true

# DISABLE TRANSMISSION DIALOG BEFORE DOWNLOADING
defaults write org.m0k.transmission DownloadAsk -bool false
defaults write org.m0k.transmission MagnetOpenAsk -bool false

# FAST KEYBOARD REPEAT RATE
defaults write NSGlobalDomain KeyRepeat -int 1
defaults write NSGlobalDomain InitialKeyRepeat -int 10

NPM

Modules:

npm i -g lodash

CLI apps:

npm i -g esbuild github-email vsce wallpaper-cli @fabiospampinato/bump @fabiospampinato/gitman @fabiospampinato/template

Phoenix

My Phoenix configuration is here.

This is probably the most important part of my setup, without it managing windows in macOS is kinda terrible for me.

Template

Templates:

template install fabiospampinato/template-alfred-workflow alfred-workflow
template install fabiospampinato/template-autogit-command autogit-command
template install fabiospampinato/template-autogit-plugin autogit-plugin
template install fabiospampinato/template-chrome-extension chrome-extension
template install fabiospampinato/template-electron electron
template install fabiospampinato/template-lambda-claudia lambda-claudia
template install fabiospampinato/template-next-website next-website
template install fabiospampinato/template-statico statico
template install fabiospampinato/template-template template
template install fabiospampinato/template-typescript-cli-package typescript-cli-package
template install fabiospampinato/template-typescript-package typescript-package
template install fabiospampinato/template-vscode-extension vscode-extension
template install fabiospampinato/template-webpack-website webpack-website

VSCode

Extensions (a few of them are disabled though):

af4jm.vscode-m3u
andrejunges.Handlebars
bashmish.es6-string-css
be5invis.vscode-custom-css
bibhasdn.unique-lines
bierner.markdown-checkbox
bierner.markdown-emoji
bierner.markdown-preview-github-styles
bmewburn.vscode-intelephense-client
codezombiech.gitignore
dtsvet.vscode-wasm
EditorConfig.EditorConfig
fabiospampinato.vscode-browser-refresh
fabiospampinato.vscode-commands
fabiospampinato.vscode-debug-launcher
fabiospampinato.vscode-diff
fabiospampinato.vscode-git-history
fabiospampinato.vscode-github-notifications-bell
fabiospampinato.vscode-gitman
fabiospampinato.vscode-highlight
fabiospampinato.vscode-markdown-todo
fabiospampinato.vscode-monokai-night
fabiospampinato.vscode-open-in-application
fabiospampinato.vscode-open-in-finder
fabiospampinato.vscode-open-in-github
fabiospampinato.vscode-open-in-gittower
fabiospampinato.vscode-open-in-marketplace
fabiospampinato.vscode-open-in-node-modules
fabiospampinato.vscode-open-in-npm
fabiospampinato.vscode-open-in-terminal
fabiospampinato.vscode-open-in-transmit
fabiospampinato.vscode-open-multiple-files
fabiospampinato.vscode-optimize-images
fabiospampinato.vscode-projects-plus
fabiospampinato.vscode-projects-plus-todo-plus
fabiospampinato.vscode-search-open-all-results
fabiospampinato.vscode-statusbar-debugger
fabiospampinato.vscode-terminals
fabiospampinato.vscode-todo-plus
fabiospampinato.vscode-transmit
geddski.macros
GitHub.github-vscode-theme
hangxingliu.vscode-nginx-conf-hint
HookyQR.beautify
idleberg.applescript
jakebathman.mysql-syntax
jeff-hykin.macro-commander
jpoissonnier.vscode-styled-components
kaiwood.indentation-level-movement
lehni.vscode-titlebar-less-macos
mikestead.dotenv
mrmlnc.vscode-duplicate
pflannery.vscode-versionlens
shanoor.vscode-nginx
shuworks.vscode-table-formatter
svipas.notification-tester
Tobermory.es6-string-html
tommasov.hosts
Tyriar.sort-lines
wmaurer.change-case
Yukai.map-replace-js
zamerick.vscode-caddyfile-syntax
zjcompt.es6-string-javascript

Filesystem

The main folders of interest are:

~/Cloud # Containing private stuff, synced every 6h to Backblaze via rclone
~/Code # Containing all my GitHub repos, managed by GitMan

That's basically it, it's a much much cleaner setup than what I had before. The ~/Cloud and ~/Code repositories in particular are super easy to restore on a new machine and are backed up automatically, I don't really have important files elsewhere. Almost all apps and tools can be installed via the provided commands above, which is nice.

victorsmoliveira commented 3 months ago

@fabiospampinato are you using any IaC tools such as Ansible to bootstrap all of this in new machines?

fabiospampinato commented 3 months ago

@victorsmoliveira no I have a little private "dotfiles" repo with instructions on commands to execute and stuff like that, I just go through those manually. I don't have to setup a new computer pretty often so that's not a problem and also going through that configuration manually and refining it over time is useful to me also.