- First Steps
- Download a ZIP copy of the repo
- SSH Keys
- If you are re-using an existing
.ssh
directory then prepare it now- Take it from some secure location local like another partition or remote
- Install a copy of your
.ssh
directory before you move on from here- Manually do an
ssh-add -K private-key-name
on all of the keys
- Manually do an
- If you are re-using an existing
- Open
provisioning.org
- Flow
- ORG files are manual steps
- SH files are shell scripts which may require human input
- Steps
- Perform them in order of their file names numerically eg
01..02..03..n
- The steps are tedious, time consuming and boring so they are broken up into to logical units to make it easy for you to take a break and finish later without forgetting where you are and what you were doing.
- You can usually perform the ORG file manual steps whenver you want because they are configuration. This can be a stress-reliever. I usally configure each application the first time that I need it instead of configuring them all at once.
- Perform them in order of their file names numerically eg
Testing.org
tells you if it worked
- Notes
- Install system updates whenever you feel like it
- When you re-run the provisioner it might install a newer version of your software for which you don’t have a license.
- Separating the scripts helps because they are usually a little bit wrong and easier to fix the smaller scripts than one giant script.
- Action Prefix for Boxes:
- Host :: "On the Metal"
- Guest :: "Virtualized"
- Re-image your box
- During system configuration /before/ creating a user YES log into the App Store
- Make a user
- DISAllow location services
- Named ~gcr~
- Choose an avatar
- Don't use location for timezone
- Don't allow AppleID to reset this password
- Disallow user analytics reporting.
- Allow Siri
- Maybe install software updates, or do it later.
- Install Google Chrome (manually)
- Development Tools
- XCode
- This is *optional*.
- If you are only going to use the CLT tools (for development and utility)
then skip this step, *Xcode isn't required*.
- If you want to use the [[https://developer.apple.com/library/archive/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXTestingApps.html][Accessibility Inspector]] then you /do/ need Xcode
- If you want to develop using Xcode then you will install it.
- If you determined that /yes/ you do need Xcode then
- If you are on the /latest/ version of macOS then you
*can only install latest version of Xcode* from the App Store. If you have
absolutely no requirements either for internal use (like specific versions
of development tools or accessibility tools) or external (support specific
older versions of iOS or macOS) can install Xcode via the App Store.
- If you are on a previous version of your tech stack then you may download
Xcode manually [[https://developer.apple.com/download/more/][here]]. .
- Command Line Tools (CLT)
- Install the CLT and let it run since only need it once you start using
the provsioning scripts
- Run this and choose *Install*.
#+NAME: org_gcr_2018-09-29T15-30-58-05-00_cosmicality_EFF7FEE8-6F4D-49AF-81E2-85120B6194D2
#+BEGIN_SRC sh
xcode-select --install
#+END_SRC
- Utility Scripts
- Mount only required volumes
- Clarify
- Spotlight suggests applications and files on those volumes and
you usually don't want that
- Applications get locks on files on non host volumes
- For =host1= that means =host1= and =Storage=
- Write a shell script and run it at logon
- Customize this for the install partition
- These scripts live in my personal =util= directory
#+NAME: org_gcr_2018-09-29T15-30-58-05-00_cosmicality_9C6DBD93-7735-4200-82A0-0A206002159D
#+BEGIN_SRC sh
#!/usr/bin/env bash
# -*- mode: sh; -*-
diskutil unmount /dev/disk0s3
diskutil unmount /dev/disk0s4
diskutil unmount /dev/disk0s6
diskutil unmount /dev/disk0s7
diskutil unmount /dev/disk0s8
#+END_SRC
- System Preferences
- General
- NO: Close windows when quitting an app
- Desktop & Screensaver
- Desktop
- Black
- Screensaver
- *(Host)*: "Message", 5m
- *(Guest)*: "Message", 5m
- Dock
- Size: 50%
- Magnification: Off
- Position: Bottom
- Maximize windows using: Genie Effect
- Double clicking a title bar: NO
- Minimize windows into application icon: Yes
- Animate opening apps: Yes
- Auto hide/show dock: Yes
- Show indicator for open apps: Yes
- Mission Control
- Displays have separate spaces: YES
- Language & Region: *NA*
- Security & Privacy: *NA*
- Spotlight
- Search Results
- Applications
- Calculator
- Documents
- Folders
- System Preferences
- UN-CHECK Allow Spotlight Suggestions in Look up
- Privacy
- Big folders like DropBox or TimeMachine
- External disks especially snapshot partitions
- Notifications: *NA*
- Displays *(Host)* \rarr Maximize resolution
- Energy saver
- *(Host)*
- On battery, Screen sleep 5m
- Don't slightly dim the display on battery power
- On power
- Display off at 15m
- Disable Power Nap
- *(Guest)*
- Computer sleep: never
- Keyboard *(Host)*
- Keyboard
- YES Adjust keyboard brightness in low light
- YES Turn keyboard backlight off after 30s
- YES Show keyboard and emoji viewers in menu bar
- NO Use F1, F2, etc. keys as standard function keys
- Do nothing to the modifier keys, everything will happen in Karabiner-Elements
- Shortcuts
- Leave Display alone: retain all defaults
- Screen Shots
- Screen as file: C-M-s-3
- Screen to clipboard: C-M-s-S-3
- Selection as file: C-M-s-S-4
- Selection to clipboard: C-M-s-S-4
- Spotlight
- Show Spot light search: Alt-Tab
- Everything else uncheck
- Mouse
- *(Host)* Connect Bluetooth mouse
- Tracking Speed
- MBP Trackpad: 100%
- Anker Palm Mouse: 50%
- Dell Mouse: 80%
- Trackpad *(Host)*
- Point & Click
- Look up & data detectors: FALSE
- Secondary click: TRUE
- Tap to click: TRUE
- Printers & Scanners *(Host)*
- Canon MG6600
- Print
- Add it so it shows up.
- Scanner
- Must scan something for it to automatically install Apple's scanning
driver. NO NOT use Canon's software
- Scanning Setup
- Kind: Black & White
- Resolution DPI: 150
- Scan To: ~/Documents
- Name: HEREISTHESCAN
- Format: PDF
- Combine into single document: YES
- Everything else is: NO
- Sound
- Show volume in menubar
- Startup Disk: *NA*
- iCloud: *NA*
- Internet Accounts: *NA*
- App Store: *NA*
- Network: *NA*
- Bluetooth *(Host)*
- Show in menu bar
- Extensions: *NA*
- Sharing: *NA*
- Users & Groups: Enable Guest User without Parental Controls.
- Siri
- Enable Siri: Yes
- Language: English (US)
- Siri Voice: Australian Female
- Voice Feedback: On
- Mic Input: Internal Microphone
- Keyboard Shortcut: Hold Command Space
- Show Siri in menu bar: NO
- Parental Controls: *NA*
- Date & Time: *NA*
- Time Zone
- YES Set time zone automatically using current location.
- Time Machine: *NA*
- Accessibility
- Display
- Increase contrast
- Automatically Reduces transparency
- Contrast: Normal
- Cursor size: 50%
- YES Shake mouse pointer to locate
- Speech
- Voice: CereProc Jess
- Speaking Rate: Normal+%10
- In the drop down add it to listed voices
- Speak selected text on key: Command-Command-Option-s
- Zoom
- NO Use keyboard shortcuts
- YES Smooth images
- VoiceOver: *NA*
- Descriptions: *NA*
- Captions: *NA*
- Audio: *NA*
- Dictation: On
- Use Enhanced Dictation (Offline Enabled)
- Shortcut: Control-Command-Option d
- Keyboard: *NA*
- Mouse & Trackpad
- Trackpad Options
- Enable Dragging: *Without* Drag Lock
- Switch Control: *NA*
- YES: Show Accessibility status in menu bar
- iCloud: *NA*
- Don't use the file store or the keychain
- SwitchResX: *NA*
- Tuxera NTFS: *NA*
- *(Host)* KeyChain Access (Application)
- Preferences
- Show keychain status in menubar
- Finder
- Preferences
- General
- Show nothing on the desktop
- New Finder windows show: Home dir
- YES Open folders in tabs instead of new windows
- Sidebar
- Applications
- Desktop
- Stuff gets placed there automatically sometimes
- Documents
- Downloads
- Home
- Connected servers
- Bonjour computers
- This computer
- Hard disks
- External disks
- CDs, DVDs, and iPods
- Favorites
- Dropbox
- gcr
- Screenshots
- Documents
- git
- Downloads
- tmp
- Desktop
- Applications
- View
- Show everything but preview
- Provisioner should set this up automatically, but it doesn't seem to
work anymore.
This script should be idempotent. Set the computer’s “names”. There are 3 resources (1, 2, 3) that I used to make sense of the different names. It is simple, and new to me.
Originally I set every name to the same value. Doing so didn’t result in warnings but it did result in an incorrect “Computer Name” and “Local Host Name”. Based on that experience, I’m going to give names using this strategy to name machines now:
- HostName
- All lower case
- <Logical name>-<UUID>.<org|vm>
- LocalHostName
- All lower case
- <Logical name>-<UUID>
- NetBIOS
- All lower case
- <Logical name>-<UUID>
- ComputerName
- “<Logical name> (<UUID>)”
Defining this naming approach helped me learn more about the intent of the name and what I wanted from them.
Depending upon “who” is asking, your Mac has four names. If you want to set them all at once your can do it like this. I care most about the correct name showing up in the terminal.
Finally I decided that sometimes the best thing to do is to give them all the same name so there is never a problem confusing them with another system.
sudo scutil --set HostName ""
echo "Enter HostName (plain old hostname): "
read vhn
sudo scutil --set HostName $vhn
sudo scutil --set LocalHostName ""
echo "Enter LocalHostName (name for Bonjour services): "
read vlhn
sudo scutil --set LocalHostName $vlhn
sudo defaults delete 'com.apple.smb.server' NetBIOSName
echo "Enter NetBIOSName (name that Windows boxes will see): "
read vnbn
sudo defaults write 'com.apple.smb.server' NetBIOSName -string $vnbn
sudo scutil --set ComputerName ""
echo "Enter ComputerName (human friendly GUI name): "
read vcn
sudo scutil --set ComputerName $cn
Display login window as name and password.
sudo defaults write /Library/Preferences/com.apple.loginwindow.plist SHOWFULLNAME -bool true
Login message.
sudo defaults write /Library/Preferences/com.apple.loginwindow.plist LoginwindowText -string "
All creativity is an extended form of a joke.
— Alan Kay"
Cycle through system information by clicking on the clock at the login screen[fn:1f8bbd98e464862a:https://apple.stackexchange.com/questions/155429/view-machine-name-on-login-screen].
sudo defaults write /Library/Preferences/com.apple.loginwindow AdminHostInfo HostName
Disable Gatekeeper.
sudo spctl --master-disable
This script should be idempotent.
- These commands are all copied
- Including the documentation
- Some of them have corrections and changes
Set background.
cd ~/Pictures/
curl -O "https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/M101_hires_STScI-PRC2006-10a.jpg/1280px-M101_hires_STScI-PRC2006-10a.jpg" P
Set default volume.
osascript -e 'set volume output volume 50'
Disable auto-correct.
defaults write 'NSGlobalDomain' NSAutomaticSpellingCorrectionEnabled -bool false
Expand print panel by default.
defaults write 'NSGlobalDomain' PMPrintingExpandedStateForPrint -bool true
defaults write 'NSGlobalDomain' PMPrintingExpandedStateForPrint2 -bool true
Expand save panel by default.
defaults write 'NSGlobalDomain' NSNavPanelExpandedStateForSaveMode -bool true
defaults write 'NSGlobalDomain' NSNavPanelExpandedStateForSaveMode2 -bool true
Automatically quit printer app once the print jobs complete.
defaults write 'com.apple.print.PrintingPrefs' 'Quit When Finished' -bool true
Hide the menubar.
defaults write NSGlobalDomain _HIHideMenuBar -bool true
Add battery percentage in menubar.
defaults write 'com.apple.menuextra.battery' ShowPercent -bool true
Add date in menubar clock.
defaults write 'com.apple.menuextra.clock' DateFormat -string "EEE MMM d HH:mm"
Prevent Time Machine from prompting to use new hard drives as backup volume.
defaults write 'com.apple.TimeMachine' DoNotOfferNewDisksForBackup -bool true
Avoid creating .DS_Store files on network volumes.
defaults write 'com.apple.desktopservices' DSDontWriteNetworkStores -bool true
Save to disk (not to iCloud) by default.
defaults write 'NSGlobalDomain' NSDocumentSaveNewDocumentsToCloud -bool false
Increase window resize speed for Cocoa applications.
defaults write 'NSGlobalDomain' NSWindowResizeTime -float 0.001
Use the Graphite theme.
defaults write 'NSGlobalDomain' AppleAquaColorVariant -int 6
Use dark menu bar and Dock
defaults write 'NSGlobalDomain' AppleInterfaceStyle -string Dark
Disable the “Are you sure you want to open this application?” dialog.
defaults write com.apple.LaunchServices LSQuarantine -bool false
Display ASCII control characters using caret notation in standard text views. Try e.g. `cd /tmp; unidecode “\x{0000}” > cc.txt; open -e cc.txt`.
defaults write NSGlobalDomain NSTextShowsControlCharacters -bool true
Disable automatic termination of inactive apps.
defaults write NSGlobalDomain NSDisableAutomaticTermination -bool true
Disable the crash reporter.
defaults write com.apple.CrashReporter DialogType -string "none"
Set Help Viewer windows to non-floating mode.
defaults write com.apple.helpviewer DevMode -bool true
Restart automatically if the computer freezes.
sudo systemsetup -setrestartfreeze on
Check for software updates daily, not just once per week.
defaults write com.apple.SoftwareUpdate ScheduleFrequency -int 1
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
Disable press-and-hold for keys in favor of key repeat.
defaults write 'NSGlobalDomain' ApplePressAndHoldEnabled -bool false
Use all F1, F2, etc. keys as standard function keys.
defaults write 'NSGlobalDomain' com.apple.keyboard.fnState -bool true
Increase sound quality for Bluetooth headphones/headsets.
defaults write com.apple.BluetoothAudioAgent "Apple Bitpool Min (editable)" -int 40
Automatically hide and show the dock.
defaults write com.apple.dock autohide -bool true && killall Dock
Do not animate opening applications from the Dock.
defaults write com.apple.dock launchanim -bool false && killall Dock
Enable highlight hover effect for the grid view of a stack.
defaults write com.apple.dock mouse-over-hilte-stack -bool true && killall Dock
Make Dock icons of hidden applications translucent.
defaults write com.apple.dock showhidden -bool true && killall Dock
Minimize to application.
defaults write com.apple.dock minimize-to-application -bool true && killall Dock
Move the Dock to the bottom side of the screen.
defaults write com.apple.dock orientation -string bottom && killall Dock
Remove the animation when hiding/showing the dock.
defaults write com.apple.Dock autohide-time-modifier -float 0 && killall Dock
Remove the auto-hiding Dock delay”.
defaults write com.apple.Dock autohide-delay -float 0 && killall Dock
Set the icon size of Dock items to 50 pixels.
defaults write com.apple.Dock tilesize -int 50 && killall Dock
Show indicator lights for open applications in the Dock.
defaults write com.apple.Dock show-process-indicators -bool true && killall Dock
Wipe all (default) app icons from Dock.
defaults write 'com.apple.dock' persistent-apps -array '' && killall Dock
Speed up Mission Control animations.
defaults write 'com.apple.dock' expose-animation-duration -float 0.1 && killall Dock
Allow text selection in Quick Look.
defaults write 'com.apple.finder' QLEnableTextSelection -bool true && killall Finder
Automatically open a new Finder window when a volume is mounted.
defaults write 'com.apple.frameworks.diskimages' auto-open-ro-root -bool true && killall Finder
defaults write 'com.apple.frameworks.diskimages' auto-open-rw-root -bool true && killall Finder
defaults write 'com.apple.finder' OpenWindowForNewRemovableDisk -bool true && killall Finder
Disable the warning before emptying the Trash.
defaults write 'com.apple.finder' WarnOnEmptyTrash -bool false && killall Finder
Disable the warning when changing a file extension.
defaults write 'com.apple.finder' FXEnableExtensionChangeWarning -bool false && killall Finder
Set finder to display full path in title bar.
defaults write 'com.apple.finder' _FXShowPosixPathInTitle -bool true && killall Finder
New Finder window shows the homefolder.
defaults write 'com.apple.finder' NewWindowTarget -string PfHm && killall Finder
When performing a search, search the current folder by default.
defaults write 'com.apple.finder' FXDefaultSearchScope -string SCcf && killall Finder
Show all files in Finder.
defaults write 'com.apple.finder' AppleShowAllFiles -bool true && killall Finder
Show file extensions in Finder.
defaults write 'com.apple.finder' AppleShowAllExtensions -bool true && killall Finder
Show path bar in Finder.
defaults write 'com.apple.finder' ShowPathbar -bool true && killall Finder
Show status bar in Finder.
defaults write 'com.apple.finder' ShowStatusBar -bool true && killall Finder
Sidebar icon size Small.
defaults write 'NSGlobalDomain' NSTableViewDefaultSizeMode -bool true && killall Finder
- Finder view style settings [[icnv: Icon View
Nlsv: List View clmv: Column View Flwv: Cover Flow View][Via]]
- icnv
- Icon View
- Nlsv
- List View
- clmv
- Column View
- Flwv
- Cover Flow View
defaults write 'com.apple.Finder' FXPreferredViewStyle Nlsv && killall Finder
Via: Set item arrangement to none (enables folder dropdowns, ‘Name’ if you want to remove them)
defaults write com.apple.finder FXPreferredGroupBy -string "None"
Sort list view by kind in ascending order (Windows style).
/usr/libexec/PlistBuddy -c "Set :StandardViewSettings:ExtendedListViewSettings:sortColumn kind" ~/Library/Preferences/com.apple.finder.plist
/usr/libexec/PlistBuddy -c "Set :StandardViewSettings:ExtendedListViewSettings:columns:4:ascending true" ~/Library/Preferences/com.apple.finder.plist
/usr/libexec/PlistBuddy -c "Set :StandardViewSettings:ListViewSettings:sortColumn kind" ~/Library/Preferences/com.apple.finder.plist
/usr/libexec/PlistBuddy -c "Set :StandardViewSettings:ListViewSettings:columns:kind:ascending true" ~/Library/Preferences/com.apple.finder.plist
Finder: disable window animations and Get Info animations.
defaults write com.apple.finder DisableAllAnimations -bool true
Show nothing on the desktop.
defaults write com.apple.finder CreateDesktop -bool false
defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool false
defaults write com.apple.finder ShowHardDrivesOnDesktop -bool false
defaults write com.apple.finder ShowMountedServersOnDesktop -bool false
defaults write com.apple.finder ShowRemovableMediaOnDesktop -bool false
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
Disable shadow in screenshots.
defaults write com.apple.screencapture disable-shadow -bool true
Save screenshots in PNG format.
defaults write 'com.apple.screencapture' type -string png && killall SystemUIServer
Enable subpixel font rendering on non-Apple LCDs.
defaults write 'NSGlobalDomain' AppleFontSmoothing -int 2
mkdir -p ~/Screen\ Shots
defaults write com.apple.screencapture location ~/Screen\ Shots
- Possible values:
- 0
- no-op
- 2
- Mission Control
- 3
- Show application windows
- 4
- Desktop
- 5
- Start screen saver
- 6
- Disable screen saver
- 7
- Dashboard
- 10
- Put display to sleep
- 11
- Launchpad
- 12
- Notification Center
Top left screen corner → Desktop. Changed to keybinding.
defaults write com.apple.dock wvous-tl-corner -int 0
defaults write com.apple.dock wvous-tl-modifier -int 0
Top right screen corner → Mission Control. Also added a keybinding.
write defaults com.apple.dock wvous-tr-corner -int 0
defaults write com.apple.dock wvous-tr-modifier -int 0
Bottom right screen corner → App windows. Changed to keybinding.
defaults write com.apple.dock wvous-br-corner -int 0
defaults write com.apple.dock wvous-br-modifier -int 0
Bottom left screen corner → Start Screensaver Changed to keybinding.
defaults write com.apple.dock wvous-bl-corner -int 0
defaults write com.apple.dock wvous-bl-modifier -int 0
# Don’t automatically rearrange Spaces based on most recent use
defaults write com.apple.dock mru-spaces -bool false
# Set edge-dragging delay to 0.7
defaults write com.apple.dock workspaces-edge-delay -float 1.0
Reasonably fast.
defaults write 'NSGlobalDomain' com.apple.mouse.scaling -float 2
Only use UTF-8 in Terminal.app.
defaults write com.apple.terminal StringEncodings -array 4
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 usageefaults write com.apple.ActivityMonitor Sort.Column -string “CPUUsage”.
defaults write com.apple.ActivityMonitor SortDirection -int 0
echo "Script complete"
echo "Log out then back in to see changes"
Brew is here.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
BrewCask is here.
brew tap caskroom/cask
Software with different releases
brew tap caskroom/versions
brew update
brew install git
Prepare the anonymous GitHub directory.
rm -rf ~/git/github-anonymous
mkdir -p ~/git/github-anonymous
cd ~/git/github-anonymous
Karabiner-Elements.
if [ ! -d "/Library/Application Support/VMware Tools" ]; then
brew cask install karabiner-elements
else
echo "karabiner-elements: Only install on hosts"
fi
rm ~/.config/karabiner || true
cd ~/src
rm -rf ./karabiner
git clone gitlab-`whoami`:grettke/karabiner-elements.git karabiner
ln -s ~/src/karabiner ~/.config/karabiner
Set up Bash. Make everything expected available.
git clone https://github.com/grettke/bash.git
cd bash
./deploy
cd
Via.
bash --version
brew install bash
if grep "/usr/local/bin/bash" /etc/shells > /dev/null; then
echo "brew bash already configured in shells; doing nothing"
else
sudo bash -c 'echo /usr/local/bin/bash >> /etc/shells'
chsh -s /usr/local/bin/bash
fi
brew install bashdb
bashhome=$(brew --prefix bash)
bdbhome=$(brew --prefix bashdb)
rm -rf $bashhome/share/bashdb
ln -s $bdbhome/share/bashdb $bashhome/share/bashdb
unset bashhome
unset bdbhome
brew install bash-completion@2
bash --version
bashdb --version
brew tap caskroom/fonts
Install them automatically.
brew cask install \
font-anonymous-pro \
font-awesome-terminal-fonts \
font-dejavu-sans \
font-fira-mono \
font-fira-sans \
font-fontawesome \
font-hack \
font-han-nom-a \
font-icomoon \
font-mfizz \
font-montserrat \
font-quivira \
font-source-code-pro \
font-symbola \
font-unifrakturcook \
font-unifrakturmaguntia
Utilities.
brew install fondu
rm -rf ~/git/github-anonymous/osx-terminal.app-colors-solarized
cd ~/git/github-anonymous
git clone https://github.com/tomislav/osx-terminal.app-colors-solarized.git
brew install fortune
brew install coreutils
brew install gnu-sed
brew install joe
brew install pwgen
brew install gnu-tar
echo "Script complete"
* Desktop
- System Preferences, Desktop & Screensaver, Pictures
- M101 should have been downloaded already
- Set it on every monitor
* Terminal
- Profiles
- Profile bar on the left
- Import the Solarized dark and light theme
- The the default theme to light
- Text
- Font: Hack: 18
- Cursor: block
- Window
- Yes: Working directory or document, and path
- Keyboard
- Use Option as Meta key: YES
- Advanced
- No Audible bell
- Yes visual bell (not just when sound is muted)
- NO Set locale environment variables on startup
- Set them in your =bashrc=, not here
- Refiled on [2016-12-13 Tue 21:04]
Correct placement
brew cask install popchar
brew cask install little-snitch
brew cask install wireshark
brew cask install bartender
if [ ! -d "/Library/Application Support/VMware Tools" ]; then
brew cask install flux
else
echo "flux: Only install on hosts"
fi
X-Server.
Install it.
brew cask install xquartz
Don’t run any applications on startup.
defaults write org.macosforge.xquartz.X11 app_to_run /usr/bin/true
The font in application is too small.
Default resolution too low? Fonts too small? Do your fonts come out too small in programs like Gimp? This and related problems are especially noticeable on the MacBook Pro with high-definition screen. The problem is that older versions of X11 use a resolution setting of 75dpi (dots per inch), and even newer ones use 96dpi by default. Since X11 2.3.2rc4, you can override this default and put in a value that suits your display. For example, for the MacBook Pro, the appropriate value is 133dpi. To do this, enter the following in the Terminal, and restart X11: You should replace 133 by some other number appropriate to your display if it is not 133dpi. How do you tell what the appropriate dpi setting is? One way (there may be simpler ones!) is to fire up Acrobat or Acrobat Reader, and look at Preferences -> Page Display, which will tell you what the System Setting for your resolution is in dpi.
defaults write org.macosforge.xquartz.X11 dpi -int 105
Depending on your Spaces and external monitor setup X windows can appear “off the screen” in a netherworld to which no mortal has access. Fortunately wmcontrol can access and manipulate them to return them to this mortal realm.
brew install wmctrl
brew cask install tuxera-ntfs
brew cask install switchresx
brew install terminal-notifier
brew cask install malwarebytes
See manual install.
brew cask install geekbench
brew cask install daisydisk
brew cask install contexts
brew cask install coconutbattery
brew cask install freefilesync
brew cask install path-finder
echo "The Administration is complete."
echo "Restart your Terminal to pick up the changes."
* PopChar
:PROPERTIES:
:ID: org_gcr_2019-08-11T16-10-48-05-00_cosmicality:A4645B88-8730-43A6-B95D-70C9B223E709
:END:
- Register it
- Preferences
- Activation
- Location: Status item
- Hotkey: Can't figure out how to set this
- Animate window: No
- Close window then
- After selecting a char: No
- When mouse leaves window: No
- When clicking outside window: No
- Start at Login: Yes
- View & Insert
- Character size: About 50%
- Display shadows: Yes
- Recent fonts: 10
- Highlight recent: No
- Insert HTML as: only numbers
* Little Snitch
:PROPERTIES:
:ID: org_gcr_2019-08-11T16-10-48-05-00_cosmicality:8BA10CF6-4417-4BA7-87F7-8843BEFD3A1A
:END:
- Run the installer
- Start it
- Register it
- Configure per below
- Enable integration
- Start at boot
Granting:
- *Always grant minimum required*
- For known good TLD's, grant it forever
- Lots of connections to *.apple.com
- For apps that want to call homen do forever
- Gen
- YES Show status in the menu bar
- YES Show inactive warning
- Operation mode: Alert
- Alert:
- Yes: Confirm automatically
- Allow connection attempts
- NO: Confirm with return and escape.
- Can use control-return and command-return intead
- Detail level: Show port and protocol details
- Monitor:
- On: Network monitor
- Keyboard shortcut: Off
- Show network activity in menu bar.
- Show data rates numerically. Monochrome.
- NO: Show auto when mouse enters. Hide in 2s.
- APS
- Yes: Enable automatic profile switching
- When joining: Ask
- No: Save geolocation of networks.
- Yes: Distinguish OPenVPN remote servers
- Security
- Allow rules and profile edit.
- Allow profile switch.
- Allow preference editing
- Respect privacy.
- Advanced
- Approve rules automatically.
- Update
- Automatically check for updates daily
* Bartender
:PROPERTIES:
:ID: org_gcr_2019-08-11T16-10-48-05-00_cosmicality:86C875D1-5D80-4F83-B57A-13DDD6FF6ADB
:END:
- License it
- GENERAL
- Launch Bartender at login: yes.
- At bartender launch: show bartender bar: NO.
- Bartender bar: autohides, YES.
- Appearance
- Menu bar icon: Star
- Show when bartender bar is open: YES.
* flux
:PROPERTIES:
:ID: org_gcr_2019-08-11T16-10-48-05-00_cosmicality:259043E9-87B2-4C1F-9C4B-719BDD01B79F
:END:
- NA
- Enable at startup
* Tuxera NTFS
:PROPERTIES:
:ID: org_gcr_2019-08-11T16-10-48-05-00_cosmicality:F19D1770-5EA4-43E9-B0B0-1183A6E0ABE2
:END:
- Install it
- brew only downloads the installer
- Open the Preferences Panel
- License it
* SwitchResX
:PROPERTIES:
:ID: org_gcr_2019-08-11T16-10-48-05-00_cosmicality:5940C5DD-06F1-4A0E-B387-5F1FD329C651
:END:
- Open the Preferences Panel- License it
- General Settings
- Key shortcut
- Open: Command-F10
- Startup Settings
- [X] Launch SwitchResX Daemon automatically after login
* XQuartz
:PROPERTIES:
:ID: org_gcr_2019-08-11T16-10-48-05-00_cosmicality:946F1EBD-8DA9-411E-AABC-F32FD038BE7D
:END:
- Preferences
- Input
- Emulate three button mouse: NO
- Already works don't need to emulate it
- Follow system keyboard layout: NO
- Was the default
- Enable key equivelants under X11: NO
- Must be disabled in order for Control-Option swap in XModMap to work
- Option keys send Alt_L and Alt_R: NO
- By using XModMap you can still use Option for special characters
- Output
- Full screen mode (using command-option-a): NO
- Possibly useful for possible lone-window recovery
- Not using it because it seem to only allow working in full screen mode
and toggle just switches you back to the Mac desktop.
- Pasteboard
- Enable syncing: YES
- Was the default
- Update Pasteboard when CLIPBOARD changes: NO
- So copy paste works correctly under X apps. Can't paste from X into
macOS now, but can still copy from macOS and paste into X.
- Update CLIPBOARD when Pasteboard changes: YES
- So you can copy from macOS to X (I think)
- Update PRIMARY (middle-click) when Pasteboard changes: YES
- Was the default
- Update Pasteboard immediately when new text is selected: NO
- Was the default
- Windows
- Click-through Inactive Windows: NO
- Was the default
- Focus Follows Mouse: NO
- I don't like it
- Focus On New Windows: YES
- So you know a new window started
- Security
- Authenticate connections: YES
- If you don't then you get a .Xauthority error when you 'ssh -y'
- Allow connections from network clients: NO
- Was the default
* Inkscape
:PROPERTIES:
:ID: org_gcr_2019-08-11T16-10-48-05-00_cosmicality:F7270C1E-AE77-4ABD-8C07-CD7B0709D5C3
:END:
- Everything is store in Git
- Notables follow
- Preferences
- Input/Output
- Color management ([[https://www.colourphil.co.uk/rendering_intents.shtml][reference]])
- Dispaly adjustment
- Display profile: Adobe RGB (1998)
- Retrieve profile from display: NO
- Display rendering intent: Saturation
- Proofing
- Simulate output on the screen: YES
- Mark out of gamut colors: YES
- Out of gamut warning color: Neon Green
- Device profile: GRACoL2006)Coated1v2.icc
- Device rendering intent: Relative Colormetric
- Black point compensation: YES
* Malwarebytes
:PROPERTIES:
:ID: org_gcr_2019-08-11T16-10-48-05-00_cosmicality:C40DBC76-A87D-4094-BAE1-0F4B0787ABED
:END:
- License pro version
- Enable Real-Time Protection
- Preferences
- Scheduled Scans
- Daily
* Geekbench
:PROPERTIES:
:ID: org_gcr_2019-08-11T16-10-48-05-00_cosmicality:C4918DCD-AF6D-44B9-9ED5-9E96DF88B26E
:END:
- Run it.
- Accept license.
- Enter license.
* DaisyDisk
:PROPERTIES:
:ID: org_gcr_2019-08-11T16-10-48-05-00_cosmicality:44034479-AFC0-4B8B-ACB9-70BAB80357F1
:END:
- License it.
* Contexts
:PROPERTIES:
:ID: org_gcr_2019-08-11T16-10-48-05-00_cosmicality:3B0E7BF9-13FD-44A6-8360-80629C400E0E
:END:
- Welcome
- Yes: Launch Context at login
- Appearance
- Theme: Vibrant Dark
- Same as Finder
- Yes: Increase contrast
- Text size: Large
- Features
- General
- Keyboard layout: Use current
- Yes: When switching to an app w/out windows then open the Dock
- Yes: When using multiple displays, use switching workaround
Yes: Show app icon badges
- Rules
- Group windows: Manually
- Yes: Show running apps which do not have any windows open
- Sidebar
- Show sidebar on: No display
(This disables the sidebar so nothing to configure)
- Panel
- Show panel on: All displays
- Panel width: %50
- No: Moving the cursor over Panel changes the selected item
- No: Scrolling when Panel is visible changes the selected item
- Search
- Search with: Control-Tab
- Fast search with: Nothing (disable it)
- Search shortcuts: 3
- Yes: Allow one mismatched character
- Command-Tab
- Disable all of them
- General settings
- Yes: Typing characters starts Fast Search when Panel is visible
- Number Switcher
- Change nothing
- Gestures
- Change nothing
- License
- About
* Path Finder
:PROPERTIES:
:ID: org_gcr_2019-08-11T16-10-48-05-00_cosmicality:D995CD76-01CD-4555-9CFA-0E1AF0B2D86E
:END:
todo
Some packages appear here in Utility because they are required to use Utility
features.
brew cask install java
brew install maven
brew install languagetool
brew install aspell -all
brew install pandoc
brew install markdown
brew cask install marked
brew install imagemagick --with-fftw --with-fontconfig --with-webp --with-x11
brew install gifsicle
brew cask install gimp
brew install icoutils
brew install povray --with-openexr
brew install ditaa
brew install plantuml
brew install graphviz
brew install figlet
brew install toilet
brew install exiftool
brew cask install pdf-images
brew install libxml2
brew install dos2unix
Sometimes installation fails with the error.
gcr@vela:.../man/de/man1⮞ brew link dos2unix Linking /usr/local/Cellar/dos2unix/7.3.2... Error: Could not symlink share/man/de/man1/dos2unix.1 /usr/local/share/man/de/man1 is not writable.
The solution is.
chown -R `whoami` /usr/local/share/man/de/man1
brew install ccrypt
brew install tree
brew install archey
brew install lame
brew install ffmpeg
brew install qpdf
brew cask install xnviewmp
brew install rename
brew cask install djview
brew install qpdf
brew install uni2ascii
cry "Script is done"
* Marked 2
- License it
- Chose "Code" profile which chooses
- Default style: Github
- Processor: Discount (GFM)
- Syntax Highlight Style: Github
- Enabled
- Syntax Highlighting
- GitHub Checkboxes
- MathJaxq
- Preferences
- General
- NO Show Style Picker
- NO Show word count
- Preview
- YES Enable Mini Map navigation
- YES Show scroll progress indicator
- YES Automatically validate URLs on update
- Style
- Default style: GitHub
- Proofing
- YES Highlight Markdown syntax errors
Only install it on hosts.
if [ ! -d "/Library/Application Support/VMware Tools" ]; then
brew cask install skype
else
echo "skype: Only install on hosts"
fi
if [ ! -d "/Library/Application Support/VMware Tools" ]; then
brew cask install textual
else
echo "textual: Only install on hosts"
fi
brew cask install pulse-sms
if [ ! -d "/Library/Application Support/VMware Tools" ]; then
brew cask install whatsapp
else
echo "whatsapp: Only install on hosts"
fi
if [ ! -d "/Library/Application Support/VMware Tools" ]; then
brew cask install slack
else
echo "slack: Only install on hosts"
fi
if [ ! -d "/Library/Application Support/VMware Tools" ]; then
brew cask install dropbox
else
echo "dropbox: Only install on hosts"
fi
No work to do: it is installed manually.
brew install lynx
brew cask install firefox
Sometimes this install fails. I checked the file download. The file exists. The name hasn’t changed. Did a manual install instead.
Brew recipe doesn’t work so manually install. abrew cask install filezilla
brew cask install cyberduck
brew cask install mountain-duck
brew cask install kindle
brew install wget
brew cask install screenflow
Pull application configuration and data.
cd ~/git/gitlab
rm -rf ./inkscape
git clone gitlab-`whoami`:grettke/inkscape.git
(Re)Install and (re)prepare directories without running it (before its data directory is created)
brew cask remove inkscape
rm ~/.config/inkscape || true
ln -s ~/git/gitlab/inkscape ~/.config/inkscape
brew cask install inkscape
cd ~/git/gitlab
rm -rf ./colorsyncprofiles
git clone gitlab-`whoami`:grettke/colorsyncprofiles.git
rm ~/Library/ColorSync/Profiles || true
ln -s ~/git/gitlab/colorsyncprofiles ~/Library/ColorSync/Profiles
brew cask install scribus
rsvg-convert
.
brew install librsvg
b
brew install libxml2
brew install jpegoptim
brew install optipng
brew cask install deluge
brew install speedtest_cli
brew cask install gmvault
brew install sox --with-lame
brew install mp3gain
brew install normalize
brew install mp3val
brew install id3lib
brew cask install mp3gain-express
brew cask install isyncr
brew install rsync
brew cask install jabref
Use the “power user” cutting edge release.
brew cask install libreoffice
* Skype
:PROPERTIES:
:ID: org_gcr_2019-01-15T21-26-25-06-00_cosmicality:CB7EC827-3D85-4B6F-8080-5DA25E07A279
:END:
*Only install on hosts*
- Log in and disable notifications for log in and out
* Dropbox
:PROPERTIES:
:ID: org_gcr_2019-01-15T21-26-25-06-00_cosmicality:E5E7D91B-E5AC-4678-94BB-B3AE7549B1A9
:END:
*Only install on hosts*
- Log in
- Sync nothing right away
- Choose what is critical here
- Screenshots
- Everything
- Pause it and copy everything over on a wired network
* Chrome
:PROPERTIES:
:ID: org_gcr_2019-01-15T21-26-25-06-00_cosmicality:52BA5FA1-20C8-49BE-9014-FC57715D337B
:END:
- Sign into Chrome
- Let the settings sync
- Log into gmail
* Firefox
:PROPERTIES:
:ID: org_gcr_2019-01-15T21-26-25-06-00_cosmicality:B7BC0115-7261-4ADE-A40A-74BB5DE8F678
:END:
- Install the standard plugins
- NoScript
- HTTPS Everywhere
* FileZilla
:PROPERTIES:
:ID: org_gcr_2019-01-15T21-26-25-06-00_cosmicality:B6EA5AD1-0100-4B20-A89F-819913432668
:END:
- Set up later
* Cyberduck
:PROPERTIES:
:ID: org_gcr_2019-01-15T21-26-25-06-00_cosmicality:CE69CAF2-DD19-48B1-9131-7FDDEEFFC4B1
:END:
- General
- Save workspace: NO
- Open a new browser window on startup: YES
- Use Keychain: YES
- Confirm disconnect: YES
- Default protocol: SFTP
- Browser
- General
- Show hidden files: YES
- Double click opens file in an external editor: NO
Return key selects folder or file to rename: NO
- Info window always shows current selection: NO
- Use spring-loaded folders when dragging files: NO
- Appearance
- Use alternating row color: YES
- Horizontal lines: YES
- Vertinal lines: NO
- Bookmarks
- Use Large Icons
- Transfers
- Left alone
- Editor
- Left alone
- FTP
- Default app: Cyberduck
- SFTP
- Default app: Cyberduck
- S3
- Left alone
- Bandwidth
- Left alone
- Connection
- Left alone
- Cryptomator
- Left alone
- Update
- Left alone
- Language
- Left alone
* Kindle
:PROPERTIES:
:ID: org_gcr_2019-01-15T21-26-25-06-00_cosmicality:139E332F-6A6B-4E8D-BF88-2353FD1D9FDC
:END:
- Login
* Screenflow
:PROPERTIES:
:ID: org_gcr_2019-01-15T21-26-25-06-00_cosmicality:3C4C2B7D-E41F-4BCB-9482-D8BC0C5E81D5
:END:
- Register
* Deluge
:PROPERTIES:
:ID: org_gcr_2019-01-15T21-26-25-06-00_cosmicality:25768AC4-B7CB-41B5-8DCC-851607B8D218
:END:
- Start on login
* iSyncr Mac
:PROPERTIES:
:ID: org_gcr_2019-01-15T21-26-25-06-00_cosmicality:37350F41-BD8F-4299-A051-1138FCCCDCD4
:END:
- Do not start at login
* Textual
:PROPERTIES:
:ID: org_gcr_2019-01-15T21-26-25-06-00_cosmicality:ABAE21B8-2647-41B4-A5A1-25FFCA040268
:END:
*Textual Preferences*
- General
- Request confirmation before quitting: YES
- Updates: Just notify if there are any
- Highlights
- Match: Whole Words
- Log highlights to a separate window: YES
- Highlight current nickname: YES
- Highlight Words
- NA
- Exclude Words
- NA
- Notifications
- Alerts
- NA
- Speech
- Only speak Channel Messages for the selected channel: YES
- Include when speaking a Channel Message:
- Nickname: YES
- Advanced
- Show number of unread private messages on dock icon: NO
- Show number of unread channel messages on doc icon: NO
- Show notifications when Textual is focused: YES
- Behavior
- Open browser links in the background: YES
- Automatically rejoin a channel when kicked: NO
- Automatically join a channel when invited: NO
- Toggle away status when your display goes to sleep: NO
- Restore scrollback from previous sessions: YES
- Restore the state of queries from previous session: NO
- Controls
- Keyboard & Mouse
- Channel navigation is limited to the selected server: YES
- Double clicking a user: Open Query
- Command + W key action: Close Main Windo
- Connect to server on double click: NO
- Disconnect from server on double click: NO
- Join channel on double click: NO
- Leave channel on double click: NO
- Automatically copy selected text: YES
- Main Text Field
- Hide the buttons left of the input text field: NO
- Check spelling while typing: NO
- Check grammar while typing: NO
- Correct spelling automatically: NO
- Save input history for each channel rather than globally: NO
- Command-Return sends message as an action: YES
- Control+Enter sends message instead of inserting a newline: YES
- Text size in the input field: Normal
- Tab key action: Completes everything
- Auto complete suffix: NA
- Interface
- NA
- Style.
- General.
- Style: Default
- Font: DJSM 18
- Everything else was NA
- Addons
- NA
- Advanced.
- Inline Media
- General: Show stuff: NO
- Images & Video: NA
- Limitations: Don't inline anything
- Default Identity.
- Nickname: grettke
- Away Nickname: grettke💤
- Username: grettke
- Real Name: Grant Rettke
- Off-the-Record Messaging
- Enable: YES
- Do not send unencrypted messages: YES
- Everything else was NA
*Server properties*
- Server Properties
- Address Book: NA
- Channel List
- #org-mode
- #emacs
- #scheme
- #bash
- Connect Commands: NA
- Encoding: NA
- General
- Name: freenode
- Server address: freenode
- Connect Securely: YES
- Connect when Textual opens: YES
- Perform reconnect on disconnect: YES
- Perform reconnent on waking from sleep: YES
- Identity
- Nickname, Username, and Real Name are copied over from the main preferences
- Password: yes enter it
- Wait for identification before joining channels: YES
- Warn if channels can't be joined: YES
- Highlights: NA
- Messages
- Part & Quit Message
- "Ever has it been that love knows not its own depth until the hour of separation."
- Computer Sleep Quit Message
- "Sleep, those little slices of death — how I loathe them."
- Vendor Specific: NA
- Advanced: NA
#+END_SRC
Only install it on hosts.
#+BEGIN_SRC sh
if [ ! -d "/Library/Application Support/VMware Tools" ]; then
brew cask install carbon-copy-cloner
else
echo "carbon-copy-cloner: Only install on hosts"
fi
Only install it on hosts.
if [ ! -d "/Library/Application Support/VMware Tools" ]; then
brew cask install vmware-fusion
else
echo "vmware-fusion: Only install on hosts"
fi
brew cask install ipartition
* Carbon Copy Cloner
*Only install on hosts*
- Steps
- Install version 4
- License it
- Preferences \rarr Notifications \rarr Show CCC icon in the menu bar
- Application Configuration
- Mirror the storage partition
- Identify and drag \rarr storage partition
- Identify and drag \rarr destination partition
- Schedule the task
- Daily
- 5:30pm
- Defer to other writers
- If the external is not mounted then run it when it returns
- Before this task runs
- Pull Git repos
- Mirror the boot partition
- Identify and drag \rarr boot partition
- Identify and drag \rarr destination partition
- Save it
- Modify the storage backup task to run /this/ task upon completion
* VMWare
*Only install on hosts*
- On a host: License it
* iPartition
- License it
- It uses the PNG license file
brew cask install deltawalker
Install Python 2 and virtualenv.
brew install python@2
globalpip install virtualenv
globalpip install --upgrade pip setuptools virtualenv
Install proselint.
cd ~/
rm -rf ~/proselint
mkdir -p ~/proselint
cd ~/proselint
vens
veon
pip2.7 install proselint
veof
cd ~/
cd ~/
rm -rf ~/yamllint
mkdir -p ~/yamllint
cd ~/yamllint
vens
veon
pip2.7 install yamllint
veof
cd ~/
Manage multiple versions.
brew install ruby
brew install rbenv
brew cask install racket
brew install gforth
Brew installs =NPM
by default with Node
.
brew install node
npm install -g jshint
brew install gnu-apl
Install the build from EmacsForMacOSX.
Update the path and the aliases for it.
Setting up Emacs here went though revisions using Brew for the vanilla version, railwaycat port, emacs-plus, and then quitting it altogether to manually install the EmacsForMacOSX build. After Brew and Cask merged I switched to installing EmacsForMacOSX from Brew.
brew cask install emacs
brew install autoconf
brew install automake
brew install gnutls
brew install go
brew install gox
brew cask install sourcetree
brew cask install jetbrains-toolbox
brew cask install rstudio
brew cask install dash
brew install the_silver_searcher
brew install ripgrep
brew install shellcheck
brew install make
cd ~/
rm -rf ~/vcard
mkdir -p ~/vcard
cd ~/vcard
vens
veon
pip2.7 install vcard
veof
cd ~/
brew install nedit
brew cask install scrivener
* DeltaWalker
- License it.
- Set preferences for new comparisons (be sure of this, easy not to)
- General
- Date formatting: English (United States)
- Max available memory: 4096
- [X] Automatically find new updates and notify me
- Colors and Fonts
- Basic: DJSM 10
- Text Editor Block Selection Font
- Text Font
- Differences
- Colors:
- Addition: Green
- Change: Turqoise
- Conflict: Red
- Deletion: Purple
- All Comparisons
- [ ] Use text differencing optimized for speed
- [X] Use text differencing optimized for accuracy
- [X] Follow symbolic links
- [ ] Ignore differences in whitespace
- Want to know about tabs versus spaces
- [ ] Ignore differences in character case
- Interesting but default do care
- [ ] Ignore differences in line endings (CF and LF)
- Most systems don't care, but I do and should fix it
- Text comparison
- Editors
- YES Show whitespace characters
- Apperance color options
- Current line highlight: Turquoise
- So you can see the outline of the change while the current line
indication is still obvious
- Set up the "Compare with DeltaWalker.workflow"
- Go to its [Cask location]/Extras
- Copy it to ~/Library/Services
- Opening it in Automator by double clicking it in Finder
- Immediately saving it and closing it
- Save the new configuration and guit DW, and then start it again and verify
that the settings are saved. Once they were not.
- Sample files for diffing used to be included
- Not anymore so nothing to test
* Sourcetree
- Skip Setup, Login
- Preferences
- General: Disallow SourceTree from modifying yoru global Git config file
- Diff
- Set font to DJSM 9
* JetBrains Toolbox*
** Toolbox Configuration
- Update Toolbox App automatically: YES
- It is the app, not the installed products
- Keep only latest version: NO
- Support multiple versions
- Generate shell scripts: YES
- Into ~/.bin
- Run at login: YES
- Send usage statistics: NO
** Product Installation
- For
- IntelliJ
- PyCharm
- WebStorm
- Do
- Install the Current Stable version
- Open it's Toolbox Settings and Do
- Stay on the stable version you chose: YES
- Install updates automatically: NO
- Update to Release (instead of EAP): SELECTED
** Standard Product Configuration
- Complete Installation: Do not import settings
- EULA: Yes
- Data Sharing: No
- Customize: Skip Remaining and Set Defaults
- Preferences
- Appearance
- Editor
- General
- Apperance
- No blinking
- Use block caret
- Now show hard wrap
- No line numbers
- Font
- Font: Hack
- Show only monospaced fonts? No
- Size: 14
- Fallback: Symbola
- Color Scheme
- Choose Darcula
- Then duplicate it by appending ' - Grant'
- Code Style
- Scheme: Copy the Default IDE style appending ' - Grant'
- Indent Detection? No Nothing.
- Hard wrap at: 80
- Wrap on typing: Yes
* The Silver Searcher
- NA
* RStudio
- The R setup is still manual so only do this setup /after/ you install R.
- RStudio
- Preferences
- General
- Default working directory (when not in a project): ~
- Restore most recent project: Yes
- Restore previously open source documents: No
- Restore .RData: No
- Save worksapce to .RData: No
- Appearance
- Editor font: Hack
- Font size: 12
- Editor theme: Solarized Light
* Rbenv
Steps
- Note: rbenv is already installed from brew
- Find out the current version of Ruby you want to use
- Find out what is the current stable version [[https://www.ruby-lang.org/en/downloads/][here]]
- 2.5.1 on 2018-09-14
- Start a new Terminal
- Start configuring
- See what is already available from RBenv
- rbenv versions
- Install it the version you chose above
- rbenv install N.N.N.
- It builds it from scratch
- Verify you are using it
- rbenv version
- Should see N.N.N.
- Set global version to N.N.N.
- rbenv global N.N.N.
Camera Settings app.
- Shortcuts During Setup
- C-M-s-c: Copy to clipboard
- C-M-s-v: Paste from clipbard
- C-M-s-S-v: Paste as plain text
- Preferences
- Install helper
- Launch at login
- Menubar icon: Not color
- Window Appearance: Midnight
- Window Position: Open near mouse pointer
Checkout a copy of the server from the server.
Install the crontab.
- http://wiki.nars2000.org/index.php/APL_Font “The default APL font for NARS200”
- https://mjn.host.cs.st-andrews.ac.uk/egyptian/fonts/newgardiner.html “This font contains the 1071 glyphs from 0x13000 to 0x1342E, forming the section from document WG2/N3349R that deals with Egyptian Hieroglyphs.”
- Install
NewGardinerSMP.ttf
- References
- General
- Library name has no spaces
- No star ratings
- Large list size
- No notifications
- CD Import settings
- AAC, 160kbps, Use VBR
- Use error correction
- Playback
- na
- Sharing
- everything
- Downloads
- Only check download full-size and high-quality
- Store
- Always require a password, automatically download artwork
- Restrictions
- None and don’t show content ratings
- Devices
- na
- Advanced
- Media folder location on Dropbox
- Keep it organized
- Copy files into it when adding
- Share iTunes library XML
- Keep miniplayer on top
- Preferences
- New Document
- Default to: Rich Text
- Font Plain/Rich: 18—DJSM, DJ Serif
- Open and Save
- Opening a HTML or RTF, don’t show the code, this isn’t a code editor
- DO add a text extension to plain text files
- New Document
- Context
brew install r
has runtime issues on my machinebrew cask install r
has a bad download link- Therefore install the R manually from here
- Downloaded the pkg
- Ran the package
- It finishes
- Set up the development environment
- By now
- HELP is installed
- R is installed
- Review R.org
- Tangle R.org
- Link the configuration files: sh .Rsetup.sh
- Open up R in a terminal because it will be prompting you for things
- Install
assertthat
first because everything depends on it - Install the local libraries: source(“.Rinstall.r”)
- By now
MS Office This is in BrewCask, but the download is waste of time. I have it locally. Use the version I bought; not the latest which is in brew.
I keep going back and forth on this one. Is it worth saving 15 minutes having to install it myself?
* MS Office For Mac
- Start it.
- It asks for your name.
- It asks about updates and stuff.
- Get them all.
- Take 3-5 iterations
- When activation occurs, the app always locks up then I quit it and it
restarts after sending an error report. It works after that.
- When it checks for updates, tell it to check daily.
- Configure
- Save
- Save AutoRecover information after this number of minutes: 1
* Visible Body
- Human Anatomy Atlas
- Muscle Premium
- Skeleton Premium
- License key
- Copy directory from the email
- Tried printing to pdf or saving to a file and copying from that and neither
work
- Need to copy from their into an Org document and try that
* Entropy
- [[http://www.eigenlogik.com/entropy/][Download]]
- Install
- License
- Open all zip files with Entropy
- Find a zip file, Get Info, Open With, Entropy, Change All
* Guitar Pro
- [[http://www.guitar-pro.com/en/index.php][Here]]. Sign into MySongBook.
* Cepestral Callie & David
[[http://www.cepstral.com/][Here]].
You might need to log out and in again to make the "Cepstral Voices" appear in
System Preferences.
License them. Test them.
Set Dictation & Text to Speech to: Callie
- Install Jess.
- Add to displayed voices from English (United Kingdom)
- Install William
- Add to displayed voices from English (United Kingdom)
- Install Hannah
- Install Adam
* Ink2Go
- [[http://ink2go.org/][Here]]
- License it
- Preferences
- Keyboard Shortcuts
- Command-F12: Activate
- Command-F11: Activate+Pen
- Toolbar
- Everything enabled but
- Crop / Pause
- Record / Stop
- Webcam
* Dyalog APL
- NA
Install the PL2303 Driver.
- Pull application data
git clone gitlab-gcr:grettke/gramps.git ~/git/gitlab/gramps
- (Re)Install and (re)prepare directories without running it (before its data directory is created)
brew cask remove gramps rm ~/Library/Application\ Support/gramps || true ln -s ~/git/gitlab/gramps ~/Library/Application\ Support/gramps brew cask install gramps
- Start it and you should see the database and preferences
- Create a new Git project (for this example using the names in the “Use Persisted Data”)
- Follow the same setup directions as in “Use The Persisted Data”
- This leaves you with empty folders: Gramps hasn’t been initialized yet. Openening it initilizes it.
- Open Gramps and then immediately close it without having changed anything anywhere
- Add this to Git: it is the starting point of your project.
* Pages
- NA
* Debtinator
- NA
* Microsoft Remote Desktop
- Don't open the session full-screen.
* Text2Speech PRO
- General
- Preferences
- Voice :: Cepstral Callie
- Speaking Rate :: 175 w/m
- App check text encoding failover :: UTF-8
- [ ] Send file to iTunes
* PixelMator
- NA
* Mousepose
- Grant "accessibility" permission
- Settings
- Mousepose
- Toggle Hotkey: Control-Escape
- Advanced
- Increase hotkey: C-2
- Decrease hotkey: C-1
- Window focus toggle: C-3
- Mouse Clicks
- Keystrokes
- Default is standalone
- Hotkey: C-4
- Miscellaneous
- When logging in: Start Mousepose
- Show icon in: Menu bar
- Bartend it
* Webcam Settings By Mactaris
- Enable at startup
* Key Codes
- NA
* Blackmagic Disk Speed Test
- Always use the smallest file size
* HazeOver
- General
- Percent haze: 20%
- Enable Hazeover: YES
- Start at login: YES
- Show status on menubar: YES
- Advanced
- Shortcut: Option-Command-[
- Background color: Black
Highlight: One window only
- Animation: 0.25s
- Displays
- Choose:
- YES: Dim all windows on displays without keyboard focus
- NO: Highlight windows on displays without keyboard focus
- Show when secondary display is connected? YES
- Allow accessibility features? YES
* BetterSnapTool
:PROPERTIES:
:ID: org_gcr_2018-09-29T16-11-05-05-00_cosmicality:DC3C70B2-06B8-416C-8B78-EB06CEAD1CA9
:END:
- General Settings
- Start BetterSnapTool every time your Mac starts up: YES
- Customization
- Advanced settings
- Increase snapping recognition areas by: 33 px (YES)
- Only increase if more than one monitor is connected: YES
- Keyboard Shortcuts: *NA*
- Snap Areas
- If checked BetterSnapTool will use a bit more memory, but Snap Areas show up faster
- Extras
- Double-click a windows' title-bar: Left two thirds
- Restore old size & position after double-clicking again: YES
Manually install MacTex-2018.
# This script is intentionally left blank.
- I value seeing these commands succeed so pasting them is OK
- MacTeX installation is typically so painful that I want this part to be easy
Set up my TeX stuff for KOMA-script. Backup the default configuration first.
#+begin_src sh
ls /usr/local/texlive/2018
sudo cp /usr/local/texlive/2018/texmf.cnf /usr/local/texlive/2018/texmf.cnf-`date '+%Y_%m_%d__%H_%M_%S'`
ls /usr/local/texlive/2018
sudo tlmgr conf texmf TEXMFHOME ~/git/gitlab/texmf/
#+end_src
Check that the path is really updated.
#+begin_src sh
kpsewhich KomaDefault.lco
#+end_src
The documents say to maybe do the following. I did it.
#+begin_src sh
sudo mktexlsr
#+end_src
- Install and update like this
- Also install LAME for MP3 export
After you configure your device uninstall this and reboot: it’s update services uses 1.5GB of memory.
- Install the Plantronics Hub software
- VOYAGER LEGEND
- Settings
- Special Mode Settings
- General
- Answer/Ignore: ON
- Caller ID: ON
- Mute Off Alert: Tone & Voice
- Mute Reminder:
- Audible Reminder
- Every 5 min
- Language
- English-UK
- Sensors & Presence
- Wearing Sensor (MASTER): ON
- Wireless
- HD Voice: ON
- Streaming Audio: ON
- General
- General
- Plantronics Product Improvement Program: Off
- Software Log Level: Low
- Ringtones & Volume
- “Voyager Legend: There are no available device-specific settings in this category.”
- Software Settings
- Ring Location: Primary Device Only
- Softphones & Media Players
- “Voyager Legend: There are no available device-specific settings in this category.”
- Software Settings
- Target Softphone: None
- Therefore no further configuration is required
- Target Softphone: None
- Sensors & Presence
- Software Settings
- Aware for Microsoft: Off
- Software Settings
- Wireless
- See Special Mode Settings
- Special Mode Settings
- Settings
https://www.freeplane.org/wiki/index.php/Home
OSX creates this directory everywhere and it must be ignored. This code block is surprising. It lives here because it should only hapen after installing Git.
echo .DS_Store > ~/.gitignore_global
git config --global core.excludesfile ~/.gitignore_global
- Do you really want to create a new SSH and Git configuration?
- Did you already ran this script and you are copying over those files onto this new box?
- Check if the user wants to do that work again and make it easy to exit the script
echo ""
echo "With your help I configure SSH for you"
echo ""
echo "First I =rm -rf ~/.ssh= *destroying* your entire SSH configuration"
echo "Second I create a public and private keypair"
echo "Third I create a config file for Github and Bitbuccket"
echo "Fourth you upload your public SSH key both to Github and Bitbucket"
echo "Fifth I test each connection out and let you know if it worked"
echo ""
echo "Then again maybe you *don't want me to do any of that*"
echo "Maybe you already ran this script want to *keep* it"
echo "Maybe you brought an existing config and key pair files with you"
echo "Doesn't make any difference... its completely hypothetical"
echo ""
echo "Time to choose:"
PS3="Your choice (press the corresonding number): "
bail="*Stop*. *Don’t*. *Get me outta here*. *Exit this script*."
stay="Yup. Gotcha. Do it. Run this script."
options=("$bail" "$stay")
select opt in "${options[@]}"
do
case $opt in
"$bail")
echo "*Sayonara*"
sleep 1
exit
;;
"$stay")
echo "Gotcha. Running it."
sleep 1
break
;;
*)
echo "You're not getting outta here until you choose."
;;
esac
done
Generate the key. There is no passphrase.
rm -rf ~/.ssh
mkdir ~/.ssh
cd ~/.ssh
echo "What email address would you like to use for this SSH key?"
read SSHEMAIL
echo "What logical name, organization, or group name? For example: gitlab"
read SSHORG
SSHID=`whoami`-`hostname`
SSHUID=$SSHID-$SSHORG-`date '+%Y_%m_%d_%H_%M_%S'`
SSHFILE=$SSHUID-rsa
ssh-keygen -N '' -t rsa -C $SSHEMAIL -f $SSHFILE
Set permissions so that ssh
will run.
chmod 600 ~/.ssh/$SSHFILE
chmod 600 ~/.ssh/$SSHFILE.pub
ssh-add -K ~/.ssh/$SSHFILE
Add they key to Bitbucket and GitHub and GitLab.
echo "Name your Git site key: $SSHFILE"
cat ~/.ssh/$SSHFILE.pub | pbcopy
read -p
"The new key is in your clipboard. Go and add this key to BitBucket, GitHub and GitLab. When you are finished, hit [enter] to continue."
Set up ~/.ssh/config.
cat > ~/.ssh/config << EOF
Host github-`whoami`
HostName github.com
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/$SSHFILE.pub
Host bitbucket-`whoami`
HostName bitbucket.org
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/$SSHFILE.pub
Host gitlab-`whoami`
HostName gitlab.com
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/$SSHFILE.pub
EOF
Test each one out.
Separate them to allow for easier copy-pasting.
ssh -T bitbucket-`whoami`
read -p "Did it work? If not, fix it. [hit enter to continue]"
ssh -T gitlab-`whoami`
read -p "Did it work? If not, fix it. [hit enter to continue]"
ssh -T github-`whoami`
read -p "Did it work? If not, fix it. [hit enter to continue]"
Configure you .ssh
directory for Git. You might have extracted a zip here and
need to make it a Git working copy. Or maybe you set it up somewhere somehow
else as a git checkout. Handle either situation safely.
function 22C8initsshdir {
cd ~/
local timestamp=`date +%Y%m%d%H%M%S`
local newdotssh="newssh$timestamp"
local olddotssh="oldssh$timestamp"
printf "Cloning .ssh directory from Git to %s\n" "$newdotssh"
git clone gitlab-gcr:grettke/dotssh.git "$newdotssh"
printf "Renaming local .ssh directory to %s\n" "$olddotssh"
mv .ssh "$olddotssh"
printf "Renaming new working copy %s to .ssh\n" "$newdotssh"
mv "$newdotssh" .ssh
printf "Leaving the backup in case there were any problems.\n"
}
22C8initsshdir
Set up my preferences.
git config --global user.name "Grant Rettke"
git config --global user.email grant@wisdomandwonder.com
git config --global color.ui true
git config --global core.autocrlf input
git config --global alias.st status
git config --global alias.ci commit
git config --global svn.rmdir true
git config --global alias.dt difftool
git config --global alias.mt mergetool
git config --global diff.tool deltawalker
git config --global difftool.deltawalker.cmd '/Applications/DeltaWalker.app/Contents/Resources/git-diff $LOCAL $REMOTE'
git config --global difftool.prompt false
git config --global merge.tool deltawalker
git config --global mergetool.deltawalker.cmd '/Applications/DeltaWalker.app/Contents/Resources/git-merge $LOCAL $REMOTE $BASE $MERGED'
git config --global mergetool.keepBackup false
Check out projects to get basic stuff working.
rm -rf ~/git/github
rm -rf ~/git/gitlab
mkdir -p ~/git/github
mkdir -p ~/git/gitlab
cd ~/git/gitlab
git clone gitlab-`whoami`:grettke/resume.git
git clone gitlab-`whoami`:grettke/notes.git
git clone gitlab-`whoami`:grettke/signature.git
git clone gitlab-`whoami`:grettke/grant-personal.git
git clone gitlab-`whoami`:grettke/correspondence.git
git clone gitlab-`whoami`:grettke/wnw.git
git clone gitlab-`whoami`:grettke/texmf.git
git clone gitlab-`whoami`:grettke/sgph
cd ~/git/github
git clone github-`whoami`:grettke/osx-provision.git
git clone github-`whoami`:grettke/bash.git
git clone github-`whoami`:grettke/wisdomandwonder.git
git clone github-`whoami`:grettke/recursive-git-status-bash.git
cd ~/git/github-anonymous
git clone https://github.com/encharm/Font-Awesome-SVG-PNG
git clone https://github.com/dwyl/english-words.git
git clone https://github.com/manute/gorepl-mode.git
At this point, the Bash initialization files point at the directory with my SSH key. Log out and in again and delete the anonymous pull. Not sure how to automate this part yet.
rm ~/src || true
rm -rf ~/git/src
mkdir -p ~/git/src
ln -s ~/git/src ~/src
cd ~/src
git clone github-`whoami`:grettke/help.git
rm ~/.emacs.el || true
ln -s ~/src/help/.emacs.el ~/.emacs.el
rm -rf ~/.emacs.d.copy
mv ~/.emacs.d ~/.emacs.d.copy
rm -rf ~/src/.emacs.d
mkdir ~/src/.emacs.d
cd ~/src/.emacs.d
git clone gitlab-`whoami`:grettke/dotemacsdotd.git .
ln -s ~/src/.emacs.d ~/.emacs.d
mv ~/.emacs.d/eshell ~/.emacs.d/eshell.copy
ln -s ~/src/help/eshell/ ~/.emacs.d/eshell
rm ~/.jshintrc || true
ln -s ~/src/help/.jshintrc ~/.jshintrc
rm ~/.Xmodmap || true
ln -s ~/src/help/.Xmodmap ~/.Xmodmap
Get everything else that lives in src
.
rm -rf ~/src/xml-rpc-el
rm -rf ~/src/metaweblog
rm -rf ~/src/org2blog
rm -rf ~/src/org2blogwiki
rm -rf ~/src/pretty-mode
rm -rf ~/src/auto-capitalize
rm -rf ~/src/corporate-bs-generator
rm -rf ~/src/org-utf-to-xetex
rm -rf ~/src/universal-emotions-emoticons
rm -rf ~/src/list
rm -rf ~/src/hardware
cd ~/src
git clone github-`whoami`:grettke/xml-rpc-el.git
git clone github-`whoami`:org2blog/metaweblog.git
git clone github-`whoami`:org2blog/org2blog.git
git clone github-`whoami`:org2blog/org2blog.wiki.git org2blogwiki
git clone github-`whoami`:pretty-mode/pretty-mode.git
git clone github-`whoami`:grettke/corporate-bs-generator.git
git clone github-`whoami`:grettke/org-utf-to-xetex.git
git clone github-`whoami`:grettke/universal-emotions-emoticons.git
git clone gitlab-`whoami`:grettke/list.git
git clone gitlab-`whoami`:grettke/hardware
iTunes.
rm -rf ~/Music/iTunes
rm ~/Music/iTunes || true
cd ~/git/gitlab
rm -rf ./iTunes
git clone gitlab-`whoami`:grettke/iTunes.git
ln -s ~/git/gitlab/iTunes ~/Music/iTunes
Set up util
scripts.
rm ~/util || true
cd ~/src
rm -rf ./util
git clone gitlab-`whoami`:grettke/util.git
ln -s ~/src/util ~/util
aspell.
cd ~/src
rm -rf ./aspell
git clone gitlab-`whoami`:grettke/aspell.git
rm ~/.aspell.en.pws || true
rm ~/.aspell.en.prepl || true
ln -s ~/src/aspell/.aspell.en.pws ~/.aspell.en.pws
ln -s ~/src/aspell/.aspell.en.prepl ~/.aspell.en.prepl
macOS System Dictionary
cd ~/src
rm -rf ./macoslocaldictionary
git clone glb:grettke/macoslocaldictionary.git
rm ~/Library/Spelling/LocalDictionary | true
ln -s ~/src/macoslocaldictionary/LocalDictionary ~/Library/Spelling/LocalDictionary
rm -rf ~/src/org-mode
cd ~/src
echo `date +%Y-%m-%dT%H:%M:%S%z`
git clone https://code.orgmode.org/bzg/org-mode.git
cd org-mode
git fetch && git fetch --tags
echo `date +%Y-%m-%dT%H:%M:%S%z`
git checkout release_9.0.9
mk autoloads
- [ ] Get Emacs running
- [ ] Re-tangle everything step by step
- [ ] ECM
- [ ] Fundamental
- [ ] Org2Blog
- [ ] HELP
- [ ] Diagram.org verification
- Delete every result block: just do it manually search for =#+RESULT=
- Delete all image output
- Execute entire document successfully
- Images re-appear
- [ ] Ditaa
- [ ] PlantUML
- [ ] Graphviz
- [ ] eshell
- Run it
- Emacs uses correct HELP directory
- [ ] ccrypt
- [ ] ispell
- [ ] weasel words
- [ ] proselint buffer
- Flycheck buffer
- [ ] langtool
- Verify installation, can have the wrong dir and the tool just says that
there are no issues
- Run =langtool-check-buffer=
- ~qk c~ does the scan, ~qk C~ suggests corrects, verified on a corresponsence
- [ ] Correspondence
- Pick a letter
- Address and signature and everything looks right
- [ ] Messages
- Make sure that there are no startup warnings or issues
- [ ] Build resume
- Blow away out-files and make
- [ ] MD
- [ ] TXT
- [ ] PDF FULL
- [ ] PDF ONE PAGE
- [ ] DOCX
- [ ] Export to everything
- Longest test, takes 35m on a VM
- This is used for publishing
- First delete everything
- [ ] html
- Images are links, not images
- [ ] md
- Images are links, not images
- [ ] pdf
- [ ] txt