Some final odds and ends to set up!

Open Screenshot.app, Options, untick Show Floating Thumbnail and customise "Save to" location.

In System Settings, Keyboard shortcuts, I turn off shortcuts I never use, such as "Convert Text to Simplified Chinese". I also add App Shortcuts for features like Figma Plugins or "Add Row Below" in Numbers.

Install Keymou for keyboard-driven mouse actions.

Install Plover steno engine. Add as assistive device in Security, Privacy. Enable Output and test some QWERTY keyboard translation to steno words. Connect steno board e.g. multisteno. Confirm steno protocol translation works. Quit Plover. Symlink whole Plover folder `~/Library/Application\ Support/plover` to a versioned dir.

Add styles to Stylus https://github.com/openstyles/stylus e.g. to hide "Sign-In With Google" across all websites via @wezm

Delete all the new Downloads e.g. DMGs, installers, ZIPs, etc.

Remove "Sounds" from all Notifications in System Settings.

Done.

#DiSetsUpAMacBook 22/22

GitHub - openstyles/stylus: Stylus - Userstyles Manager

Stylus - Userstyles Manager. Contribute to openstyles/stylus development by creating an account on GitHub.

GitHub

Set up Neovim.

Plugins: Plug, nvim-lspconfig, cmp-nvim-lsp, cmp-buffer, cmp-path, cmp-cmdline, nvim-cmp, LuaSnip, cmp_luasnip, nvim-treesitter, vim-abolish, vim-commentary, vim-easy-align, vim-fugitive, vim-peekaboo, vim-repeat, vim-slash, vim-surround, conflict-marker.vim, csv.vim, fzf.vim, gitsigns.nvim, tabular, didoesdigital/vim-markdown, nerdtree, taboo.vim, and nvim-base16.

Personalise options, key maps, and user commands.

Configure fzf, markdown, nerdtree, gitsigns, nvim-cmp, lsp, treesitter, nvim-base16. For example:

`let NERDTreeBookmarksFile="$HOME/.cache/nvim/.NERDTreeBookmarks"`

Personalise spelling highlights and set autocommands for file types, source init.vim after editing, and highlight_yank.

Props to @jessarcher for all of her Neovim wisdom online. I am digging the open box symbol ␣ for highlighting non-breaking spaces:

`vim.opt.listchars = { tab = '▸ ', trail = '·', nbsp = '␣' }`

#neovim #vim #DiSetsUpAMacBook 21/n

Set up browsers for web dev.

In Safari, Settings, Advanced, Turn on "Show features for web developers".

Install https://devdocs.io/ as web app via Safari for offline MDN docs.

In Firefox, go to `about:config` and make sure the `devtools.inspector.showAllAnonymousContent` flag is set to `true`.

Brew install Chromium, `cd /Applications && xattr -rc Chromium.app`, sign into Chromium users, set settings like don't offer to save passwords.

Bring up DevTools, go to Settings, Preferences, Elements and make sure the "Show user agent shadow DOM" option is enabled.

#webdev #browsers #firefox #chrome #safari #docs #DiSetsUpAMacBook 20/n

DevDocs

Fast, offline, and free documentation browser for developers. Search 100+ docs in one web app including HTML, CSS, JavaScript, PHP, Ruby, Python, Go, C, C++, and many more.

Time to fix Finder.

In View: Turn on "Show Toolbar", Set "Show Path Bar", and Set "Show Status Bar".

In Finder Settings: Set "New Finder windows show:" to home dir instead of "Recent". In Advanced: Turn on "Show all filename extensions", "When performing a search:" "Search the Current Folder".

Use shortcut to show hidden files: ⌘⇧.

Add bookmarks in the sidebar like "projects", "screenshots".

Update file opening preferences e.g. open all music files in VLC.

Turn off the "accent menu" so that key repeat works using `defaults write -g ApplePressAndHoldEnabled -bool false`, which is still true in 2024: https://superuser.com/questions/1257641/disable-mac-typing-accent-menu

#macOS #DiSetsUpAMacBook 19/n

Disable Mac typing Accent Menu

In Mac OS 10.12 , if I hold down the key, a menu of blue letters with accents and diacritical marks appears. Prior behavior was to enter a string of the letter pressed liiiiiiiike thiiiiiis. How ...

Super User

I add a zsh `custom` folder inside my versioned .config repo for aliases, functions, and themes:

`mkdir -p "$HOME/.config/zsh/custom"`

Copy folder structure and examples, `cd "$HOME/.config/zsh" && cp -r ~/.oh-my-zsh/custom/ ./custom`

Edit `zshrc` to set `ZSH_CUSTOM`.

To customise the prompt with a timestamp and git info, I create a theme in: `~/.oh-my-zsh/custom/themes/di.zsh-theme`

#zsh #zshell #DiSetsUpAMacBook 18/n

For zsh, I group completion cache files into a subdirectory to minimise the loose collection of stray files in my home directory. I edit `~/.config/zsh/zshrc` and add comp dump file details before `source $ZSH/oh-my-zsh.sh`.

I also move `zsh_history` (which is not really config) out of the config directory. Edit `~/.config/zsh/zshrc` and add details before `source $ZSH/oh-my-zsh.sh`.

If I decide to delete `~/.cache` on a whim to free up space on my hard drive, I'll lose my whole zsh history. That's ok! If I miss it, that's what backups are for.

Close all existing tabs and start a new shell so I don't accidentally make more files in old locations. Delete any stray `.zcompdump-*` or `.zsh_history` files already created.

#zsh #zshell #DiSetsUpAMacBook 17/n

I set up zsh with Oh My Zsh.

First, I make a directory for zsh config files in the git tracked .config dir:

`mkdir -p ~/.config/zsh`

I create a `~/.config/zsh/.zshenv` file and in it I set `ZDOTDIR` to the new config dir:

`ZDOTDIR="$HOME/.config/zsh"`

I create symlinks for the `.zshenv` file (which will be processed before other zsh files) and zshrc:

`ln -s ~/.config/zsh/zshenv ~/.zshenv`

`cd ~/.config/zsh/ && ln -s zshrc .zshrc`

#zsh #zshell #DiSetsUpAMacBook 16/n

Time to fetch my files like projects and config files from various places using git, rsync, Airdrop, or remote file sharing plus Finder.

Set up the `~/.config/` git repo. Install oh-my-zsh. Set up universal ctags. Add symlinks.

Set up `notify` command. I use this in lots of utility scripts like break timers and Alfred workflows.

Brew install tech-specific and project-specific packages e.g. python, ruby, language servers, deployment tools. Install zsh integrations and recommended config settings.

Brew install some more handy tools…

`fd` for file finding.

`jq` or `jaq` for JSON processing.

`zoxide` for better `cd`.

`exiftool` for tweaking/removing image metadata.

`imagemagick` to manipulate images programmatically.

`pandoc` for format conversions like md to html.

SwiftBar for menu bar scripts.

#terminal #packagemanager #tools #cli #DiSetsUpAMacBook 15/n

Time to install some apps!

Obsidian for notes. Sync them.

VS Code. Add extensions. Run command to install 'code' command in PATH.

RSS feed reader e.g. NetNewsWire.

Tiling window manager e.g. Rectangle.

Mini cal to quickly look up dates.

Social apps: Mattermost, Slack (toggle "Show workspace switcher `⌘⇧S`), Discord, Signal, Mona, etc.

Dev Docs as a PWA for offline dev documentation.

Licecap for screen recording GIFs.

Music e.g. Spotify, VLC.

Handbrake, ImageOptim for video/image optimisation GUIs.

Plover steno engine.

Keymou for mouse keys.

Figma for design.

Games e.g. Steam.

Quick capture note-taking app e.g. Drafts.

#macOS #apps #DiSetsUpAMacBook 14/n

For everything I install, I consider:

- How will I keep it up to date over time?
- Should any of its data (including in Application Support or Caches) be excluded from backups or launcher searches?
- How will I learn about breaking changes or new features that are relevant to me?

When I install packages, I subscribe to their release notes in my feed reader. (Add /releases.atom to GitHub repos using releases to get their feed.) I also take a note to self about why I installed it, such as which project uses it.

#DiSetsUpAMacBook 13/n