Initial commit of scripts
This commit is contained in:
parent
1fbc16e267
commit
42cfbbfc56
48
Brewfile
Normal file
48
Brewfile
Normal file
@ -0,0 +1,48 @@
|
||||
tap "homebrew/bundle"
|
||||
tap "homebrew/cask-fonts"
|
||||
tap "homebrew/services"
|
||||
brew "xz"
|
||||
brew "openssl@3"
|
||||
brew "readline"
|
||||
brew "sqlite"
|
||||
brew "php"
|
||||
brew "composer"
|
||||
brew "dnsmasq"
|
||||
brew "ffmpeg"
|
||||
brew "git"
|
||||
brew "imagemagick"
|
||||
brew "mas"
|
||||
brew "nginx"
|
||||
brew "nvm"
|
||||
brew "pipx"
|
||||
brew "pkg-config"
|
||||
brew "pyenv"
|
||||
brew "tcl-tk"
|
||||
brew "yt-dlp"
|
||||
brew "zlib"
|
||||
cask "1password"
|
||||
cask "adguard"
|
||||
cask "arq"
|
||||
cask "bbedit"
|
||||
cask "choosy"
|
||||
cask "dbngin"
|
||||
cask "discord"
|
||||
cask "firefox"
|
||||
cask "font-jetbrains-mono"
|
||||
cask "mullvad-browser"
|
||||
cask "mullvadvpn"
|
||||
cask "netnewswire"
|
||||
cask "obsidian"
|
||||
cask "onyx"
|
||||
cask "rectangle"
|
||||
cask "responsively"
|
||||
cask "sequel-ace"
|
||||
cask "syncthing"
|
||||
cask "transmit"
|
||||
cask "visual-studio-code"
|
||||
cask "vlc"
|
||||
cask "vmware-fusion"
|
||||
mas "Numbers", id: 409203825
|
||||
mas "Pages", id: 409201541
|
||||
mas "Pixelmator Pro", id: 1289583905
|
||||
mas "Xcode", id: 497799835
|
40
Dock.sh
Executable file
40
Dock.sh
Executable file
@ -0,0 +1,40 @@
|
||||
#!/bin/bash
|
||||
LOGGED_USER=`stat -f%Su /dev/console`
|
||||
sudo su $LOGGED_USER -c 'defaults delete com.apple.dock persistent-apps'
|
||||
|
||||
dock_item() {
|
||||
|
||||
printf '<dict><key>tile-data</key><dict><key>file-data</key><dict><key>_CFURLString</key><string>%s</string><key>_CFURLStringType</key><integer>0</integer></dict></dict></dict>', "$1"
|
||||
|
||||
}
|
||||
|
||||
settings=$(dock_item /System/Applications/System\ Settings.app)
|
||||
launch=$(dock_item /System/Applications/Launchpad.app)
|
||||
terminal=$(dock_item /System/Applications/Utilities/Terminal.app)
|
||||
calendar=$(dock_item /System/Applications/Calendar.app)
|
||||
reminders=$(dock_item /System/Applications/Reminders.app)
|
||||
mail=$(dock_item /System/Applications/Mail.app)
|
||||
rss=$(dock_item /Applications/NetNewsWire.app)
|
||||
messages=$(dock_item /System/Applications/Messages.app)
|
||||
discord=$(dock_item /Applications/Discord.app)
|
||||
firefox=$(dock_item /Applications/Firefox.app)
|
||||
safari=$(dock_item /System/Cryptexes/App/System/Applications/Safari.app)
|
||||
music=$(dock_item /System/Applications/Music.app)
|
||||
video=$(dock_item /System/Applications/QuickTime\ Player.app)
|
||||
video2=$(dock_item /Applications/VLC.app)
|
||||
notes=$(dock_item /System/Applications/Notes.app)
|
||||
notes2=$(dock_item /Applications/Obsidian.app)
|
||||
pages=$(dock_item /Applications/Pages.app)
|
||||
numbers=$(dock_item /Applications/Numbers.app)
|
||||
photos=$(dock_item /System/Applications/Photos.app)
|
||||
pixel=$(dock_item /Applications/Pixelmator\ Pro.app)
|
||||
vscode=$(dock_item /Applications/Visual\ Studio\ Code.app)
|
||||
rwd=$(dock_item /Applications/ResponsivelyApp.app)
|
||||
db=$(dock_item /Applications/Sequel\ Ace.app)
|
||||
ftp=$(dock_item /Applications/Transmit.app)
|
||||
xcode=$(dock_item /Applications/Xcode.app)
|
||||
xcodesim=$(dock_item /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app)
|
||||
textedit=$(dock_item /Applications/BBEdit.app)
|
||||
|
||||
sudo su $LOGGED_USER -c "defaults write com.apple.dock persistent-apps -array '$settings' '$launch' '$terminal' '$calendar' '$reminders' '$mail' '$rss' '$messages' '$discord' '$firefox' '$safari' '$music' '$video' '$video2' '$notes' '$notes2' '$pages' '$numbers' '$photos' '$pixel' '$vscode' '$rwd' '$db' '$ftp' '$xcode' '$xcodesim' '$textedit' "
|
||||
killall Dock
|
101
setup.sh
Executable file
101
setup.sh
Executable file
@ -0,0 +1,101 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "Configuring macOS System Settings (you may be asked to enter password)"
|
||||
|
||||
# Enable and configure firewall
|
||||
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on
|
||||
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setstealthmode on
|
||||
|
||||
# Set DNS servers
|
||||
networksetup -setdnsservers Ethernet 1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001
|
||||
networksetup -setdnsservers Wi-Fi 1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001
|
||||
|
||||
# Disable Handoff
|
||||
defaults -currentHost write com.apple.coreservices.useractivityd ActivityAdvertisingAllowed -bool no
|
||||
defaults -currentHost write com.apple.coreservices.useractivityd ActivityReceivingAllowed -bool no
|
||||
|
||||
# Configure the Dock
|
||||
# Disable "Show recent applications in Dock"
|
||||
defaults write com.apple.dock "show-recents" -bool FALSE
|
||||
# Set "Minimise windows using" to "Scale Effect"
|
||||
defaults write com.apple.dock mineffect scale
|
||||
# Enable "Minimise windows into application icon"
|
||||
defaults write com.apple.dock "minimize-to-application" -bool TRUE
|
||||
|
||||
# Set numbers of rows and columns in Launchpad
|
||||
defaults write com.apple.dock springboard-columns -int 6;
|
||||
defaults write com.apple.dock springboard-columns -int 6;
|
||||
|
||||
# Increase mouse speed beyond available options in System Settings
|
||||
echo "Increase mouse speed"
|
||||
defaults write -g com.apple.mouse.scaling 9
|
||||
|
||||
# Configure Finder
|
||||
echo "Configuring Finder"
|
||||
# Set list view as default
|
||||
defaults write com.apple.finder FXPreferredViewStyle -string "Nlsv"
|
||||
# Show the path and status bars (TODO: setting for tabs bar)
|
||||
defaults write com.apple.finder ShowPathbar -bool true
|
||||
defaults write com.apple.finder ShowStatusBar -bool true
|
||||
# Sort files so directories appear above files
|
||||
defaults write com.apple.finder _FXSortFoldersFirst -bool true
|
||||
# Set the default search scope to be the current folder
|
||||
defaults write com.apple.finder FXDefaultSearchScope -string "SCcf"
|
||||
# Set default location for Finder to the home directory
|
||||
defaults write com.apple.finder "NewWindowTarget" -string "PfHm"
|
||||
defaults write com.apple.finder "NewWindowTargetPath" -string "file://${HOME}/"
|
||||
|
||||
# Create location for saving screenshots and set it as the default
|
||||
# Also remove shadow effect macOS adds to window screenshots
|
||||
echo "- Screenshots saved to ~/Pictures/Screenshots with shadow effects disabled"
|
||||
mkdir -p ~/Pictures/Screenshots
|
||||
defaults write com.apple.screencapture location -string "${HOME}/Pictures/Screenshots"
|
||||
defaults write com.apple.screencapture disable-shadow -bool true
|
||||
# Avoid creating .DS_Store files on network or USB volumes
|
||||
# ToDo - Check if this actually works
|
||||
echo "- Avoid creating .DS_Store files on external volumes"
|
||||
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
|
||||
defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true
|
||||
|
||||
# Install Homebrew
|
||||
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
|
||||
# Run Homebrew bundle with specified file
|
||||
brew bundle --file Brewfile
|
||||
# Run bash script to reconfigure Dock
|
||||
./Dock.sh
|
||||
|
||||
# Applescript to open up Terminal using the downloaded theme
|
||||
mv Custom.terminal ~/Downloads/Custom.terminal
|
||||
osascript <<EOD
|
||||
tell application "Terminal"
|
||||
activate
|
||||
set TerminalThemeFile to (POSIX path of ((path to home folder) as text) & "/Downloads/Custom.terminal")
|
||||
open TerminalThemeFile
|
||||
delay 1
|
||||
end tell
|
||||
EOD
|
||||
# Set theme to default
|
||||
defaults write com.apple.Terminal "Startup Window Settings" -string "Custom"
|
||||
defaults write com.apple.Terminal "Default Window Settings" -string "Custom"
|
||||
rm ~/Downloads/Custom.terminal
|
||||
|
||||
# Copy ZSH Profile
|
||||
rsync zshrc ~/.zshrc
|
||||
source ~/.zshrc
|
||||
|
||||
# Install LTS version of Node and the second most recent version of Python
|
||||
# ToDo - programmatically set the Python version instead of directly specifying it
|
||||
nvm install --lts
|
||||
pyenv install 3.11
|
||||
pyenv global 3.11
|
||||
|
||||
# Install imagemagic module for PHP
|
||||
pecl install imagick
|
||||
|
||||
# Install Laravel Valet
|
||||
composer global require laravel/valet
|
||||
valet install
|
||||
|
||||
# Prompt user to reboot
|
||||
echo "Setup complete, please reboot."
|
28
zshrc
Normal file
28
zshrc
Normal file
@ -0,0 +1,28 @@
|
||||
# Composer
|
||||
export PATH="$HOME/.composer/vendor/bin:$PATH"
|
||||
|
||||
# Homebrew
|
||||
export PATH="/usr/local/sbin:$PATH"
|
||||
|
||||
# Node.js
|
||||
|
||||
## NVM
|
||||
export NVM_DIR="$HOME/.nvm"
|
||||
|
||||
### Load NVM
|
||||
[ -s "$(brew --prefix)/opt/nvm/nvm.sh" ] && \. "$(brew --prefix)/opt/nvm/nvm.sh"
|
||||
|
||||
### Load bash completion
|
||||
[ -s "$(brew --prefix)/opt/nvm/etc/bash_completion.d/nvm" ] && \. "$(brew --prefix)/opt/nvm/etc/bash_completion.d/nvm"
|
||||
|
||||
# Python
|
||||
|
||||
## pyenv
|
||||
export PYENV_ROOT="$HOME/.pyenv"
|
||||
|
||||
### pyenv setup
|
||||
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
|
||||
eval "$(pyenv init -)"
|
||||
|
||||
## pipx
|
||||
export PATH="$PATH:/~/.local/bin"
|
Loading…
Reference in New Issue
Block a user