Closed mhanel closed 5 years ago
Hey Manuel,
Trying to provide a more comprehensive answer than the one I gave you in the tweet:
First of all I'm a macOS user, this is what my launchpad and dock look like at the moment:
In the future I'll replace Noty with Notable entirely. Maybe at some point I'll also stop using Tower.
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.
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
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
I use Google Chrome for browsing and web development. These are my currently enabled extensions:
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.
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 is my terminal of choice, it currently looks like this:
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 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.
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.
That is fantastic, thank you :)!
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.
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.
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
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
Apps:
mas install 1545870783 # System Color Picker
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
Modules:
npm i -g lodash
CLI apps:
npm i -g esbuild github-email vsce wallpaper-cli @fabiospampinato/bump @fabiospampinato/gitman @fabiospampinato/template
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.
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
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
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.
@fabiospampinato are you using any IaC tools such as Ansible to bootstrap all of this in new machines?
@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.
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?