├── .github └── workflows │ └── superlinter.yml ├── BrewConfig.sh ├── LICENSE ├── OSConfig.sh ├── README.md └── UnsplashBackground.sh /.github/workflows/superlinter.yml: -------------------------------------------------------------------------------- 1 | --- 2 | ########################### 3 | ########################### 4 | ## Linter GitHub Actions ## 5 | ########################### 6 | ########################### 7 | name: Lint Code Base 8 | 9 | # 10 | # Documentation: 11 | # https://help.github.com/en/articles/workflow-syntax-for-github-actions 12 | # 13 | 14 | ############################# 15 | # Start the job on all push # 16 | ############################# 17 | on: 18 | push 19 | 20 | ############### 21 | # Set the Job # 22 | ############### 23 | jobs: 24 | build: 25 | # Name the Job 26 | name: Lint Code Base 27 | # Set the agent to run on 28 | runs-on: ubuntu-latest 29 | 30 | ################## 31 | # Load all steps # 32 | ################## 33 | steps: 34 | ########################## 35 | # Checkout the code base # 36 | ########################## 37 | - name: Checkout Code 38 | uses: actions/checkout@v2 39 | 40 | ################################ 41 | # Run Linter against code base # 42 | ################################ 43 | - name: Lint Code Base 44 | uses: docker://github/super-linter:v3 45 | env: 46 | VALIDATE_ALL_CODEBASE: true 47 | DEFAULT_BRANCH: master 48 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 49 | -------------------------------------------------------------------------------- /BrewConfig.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #Check If Brew Is Installed 4 | if ! [ -x "$(command -v brew)" ]; then 5 | /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 6 | else 7 | brew update 8 | brew upgrade 9 | fi 10 | 11 | # Install My Tools 12 | brew install ack 13 | brew install aircrack-ng 14 | brew install bash 15 | brew install bash-completion2 16 | brew install bfg 17 | brew install binutils 18 | brew install binwalk 19 | brew install cifer 20 | brew install coreutils 21 | brew install dark-mode 22 | brew install dex2jar 23 | brew install dns2tcp 24 | brew install fcrackzip 25 | brew install findutils 26 | brew install foremost 27 | brew install git 28 | brew install git-lfs 29 | brew install gnu-sed --with-default-names 30 | brew install grep 31 | brew install hashpump 32 | brew install hydra 33 | brew install imagemagick --with-webp 34 | brew install john 35 | brew install knock 36 | brew install lua 37 | brew install lynx 38 | brew install netpbm 39 | brew install nmap 40 | brew install openssh 41 | brew install p7zip 42 | brew install pigz 43 | brew install pngcheck 44 | brew install pv 45 | brew install rename 46 | brew install rlwrap 47 | brew install screen 48 | brew install shellcheck 49 | brew install socat 50 | brew install sqlmap 51 | brew install ssh-copy-id 52 | brew install tcpflow 53 | brew install tcpreplay 54 | brew install tcptrace 55 | brew install tree 56 | brew install ucspi-tcp 57 | brew install vbindiff 58 | brew install vim --with-override-system-vi 59 | brew install wget --with-iri 60 | brew install xpdf 61 | brew install xz 62 | brew install zopfli 63 | 64 | # Clean Up Brew 65 | brew cleanup 66 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Jerry Gamblin 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /OSConfig.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Turn On Dark Mode (From brew install dark-mode) 4 | dark-mode on 5 | 6 | # Save To Disk (not to iCloud) By Default 7 | defaults write NSGlobalDomain NSDocumentSaveNewDocumentsToCloud -bool false 8 | 9 | # Automatically Quit Printer App Once The Print Jobs Complete 10 | defaults write com.apple.print.PrintingPrefs "Quit When Finished" -bool true 11 | 12 | # Disable The “Are You Sure You Want To Open This Application?” Dialog 13 | defaults write com.apple.LaunchServices LSQuarantine -bool false 14 | 15 | # Remove duplicates In The “Open With” Menu. 16 | /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user 17 | 18 | # Save screenshots in PNG format (other options: BMP, GIF, JPG, PDF, TIFF) 19 | defaults write com.apple.screencapture type -string "png" 20 | 21 | # Disable shadow in screenshots 22 | defaults write com.apple.screencapture disable-shadow -bool true 23 | 24 | #Remove Icons For Hard Drives, Servers, And Removable Media On The Desktop. 25 | defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool false 26 | defaults write com.apple.finder ShowHardDrivesOnDesktop -bool false 27 | defaults write com.apple.finder ShowMountedServersOnDesktop -bool false 28 | defaults write com.apple.finder ShowRemovableMediaOnDesktop -bool false 29 | 30 | #Keep folders At Top When Sorting By Name. 31 | defaults write com.apple.finder _FXSortFoldersFirst -bool true 32 | 33 | #Disable the warning when changing a file extension 34 | defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false 35 | 36 | #Show the ~/Library and /Voluemes folder 37 | chflags nohidden ~/Library 38 | sudo chflags nohidden /Volumes 39 | 40 | #Download and Install available updates in background 41 | defaults write com.apple.SoftwareUpdate AutomaticDownload -int 1 42 | 43 | #Finder: Show Hidden Files By Default 44 | #defaults write com.apple.finder AppleShowAllFiles -bool true 45 | 46 | #Avoid Creating .DS_Store Files On Network Or USB Volumes 47 | defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true 48 | defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true 49 | 50 | # Automatically Open A New Finder Window When A Volume Is Mounted 51 | defaults write com.apple.frameworks.diskimages auto-open-ro-root -bool true 52 | defaults write com.apple.frameworks.diskimages auto-open-rw-root -bool true 53 | defaults write com.apple.finder OpenWindowForNewRemovableDisk -bool true 54 | 55 | # Minimize Windows Into Their Application’s Icon 56 | defaults write com.apple.dock minimize-to-application -bool true 57 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MacOS-Config 2 | Simple shell scripts I use to tweak MacOS to my liking. 3 | 4 | ## Usage: 5 | 6 | - `BrewConfig.sh` Installs and updates HomeBrew and tools I like. 7 | - `OSConfig.sh` Tweaks OS sittings to how I like them. 8 | - `UnsplashBackground.sh` Downloads an amazing image from Unsplash and sets it as the background. 9 | 10 | ## Important Notice 11 | I likely dont know what I am doing and this could be done faster, better and simpler some other way. These scripts could also break your MacBook and make you cry. 12 | -------------------------------------------------------------------------------- /UnsplashBackground.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | mkdir -p ~/Pictures/Wallpapers/unsplash 3 | rm -f ~/Pictures/Wallpapers/unsplash/"$(date +%F)".png 4 | curl -s -L -o ~/Pictures/Wallpapers/unsplash/"$(date +%F)".png "https://unsplash.it/2560/1600/?random" > /dev/null 5 | osascript -e "tell application \"System Events\" to set picture of every desktop to \"~/Pictures/Wallpapers/unsplash/$(date +%F).png\"" 6 | killall Dock 7 | --------------------------------------------------------------------------------