Git Product home page Git Product logo

clean-macos's Introduction

Clean-macOS logo

Clean-macOS

Status GitHub Issues License Version


Clean-macOS is a script that automates the configuration of a new macOS installation. By using dotfiles and shell scripts, Clean-macOS can quickly configure macOS and install all the necessary apps.

Table of content

Getting Started

To get started with Clean-macOS, clone this repository using the command:

git clone https://github.com/MarioCatuogno/Clean-macOS.git ${HOME}/Clean-macOS

Requirements

Clean-macOS requires the following:

  1. An active internet connection
  2. macOS 10.15.0 or newer
  3. Signed in to Apple Store with your iCloud account

Usage

To use Clean-macOS, open Terminal.app and run the command:

chmod -R 755 ${HOME}/Clean-macOS && ${HOME}/Clean-macOS/Clean-macOS.sh

This will bring up a prompt with the following options:

Clean-macOS terminal

  1. Install: Install Homebrew packages, binaries, casks, dependencies, and Mac Apple Store applications listed in the Brewfile file.
  2. Configure: Configure macOS with useful commands, update zsh, and preferences.
  3. Update: Update brews, casks, and MAC applications and formulas.

A step-by-step guide for setting up Clean-macOS can be found here.

Contributing

You are welcome to contribute to Clean-macOS by forking this repository and opening an issue to discuss the changes you want to make. Please read our contributing guidelines before contributing.

Useful links

  • APPLIST: a collection of various apps I've personally tested or used. These apps are included in my Brewfile, which allows you to quickly and easily install them on your own machine using Homebrew.
  • CHANGELOG: the full changelog history.

Credits


Clean-macOS desktop

clean-macos's People

Contributors

btrd avatar kmasubhani avatar mariocatuogno avatar vladdoster avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

clean-macos's Issues

New BASIC shell script

Before downloading dotfiles, add these commands:

# Remove old dot flies
sudo rm -rf ~/.gitconfig > /dev/null 2>&1
sudo rm -rf ~/.gitignore > /dev/null 2>&1
sudo rm -rf ~/.zshrc > /dev/null 2>&1

Fix dotfiles

With the release of macOS Catalina, the default shell will be ZSH. In order to be compliant with the new OS, there is some stuff that should be addressed:

  • Refactor of ZSH installation
  • Remove old ZSH plugin command (use new one instead)
  • Move source $ZSH/oh-my-zsh.sh command at the end of .zshrc
  • Remove unnecessary aliases (e.g. gh)
  • Using .gitignore files from here

For ZSH-COMPLETIONS the command should be:

git clone https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM:=~/.oh-my-zsh/custom}/plugins/zsh-completions

For ZSH-SYNTAX-HIGHLIGHT the command should be:

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

For ZSH-AUTOSUGGESTION the command should be:

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

New APP categories

The apps will be grouped into different categories:

  • โš™๏ธ Binary
  • ๐Ÿ—๏ธ Dependency
  • ๐Ÿ› ๏ธ Developer Tools
  • ๐ŸŽ›๏ธ Dotfiles
  • ๐Ÿฟ Entertainment
  • ๐Ÿ’ฌ Fonts
  • ๐ŸŽฒ Games
  • ๐Ÿž๏ธ Graphics & Design
  • ๐Ÿงญ Navigation
  • ๐Ÿ“ Productivity
  • ๐Ÿ”‘ Security
  • ๐Ÿฅณ Social
  • ๐Ÿงฎ Utilities

Fix macOS apps for basic script

Change basic setup.sh script

  • Remove SIP homebrew formula
  • Remove Webtorrent-cli homebrew formula
  • Remove gotop command
  • Check Python3 installation
  • Remove disk encryption command
  • Remove google-drive-file-stream homebrew formula
  • Check various commands (e.g. touch for trackpad)

[APP] Remove Easyres

Due to some bugs I need to remove Easyres.app from setup script. Must find a better alternative.

Create CONTRIBUTING and TODO file

Contributing model (from VSCode):

There are many ways in which you can participate in the project, for example:

Submit bugs and feature requests, and help us verify as they are checked in
Review source code changes
Review the documentation and make pull requests for anything from typos to new content
If you are interested in fixing issues and contributing directly to the code base, please see the document How to Contribute, which covers the following:

How to build and run from source
The development workflow, including debugging and running tests
Coding guidelines
Submitting pull requests
Contributing to translations

Other example of contributing model here

[APP] Keynote, Numbers and Pages

The Apple suite productivity apps are free for macOS.

LINK:
BREW: mas install 409201541 for Pages, mas install 409183694 for Keynote, mas install 409203825 for Numbers

NOTES:

Update README and CHANGELOG files

Refactor of README file.

The new table of contents should be something like this:

  1. Introduction
  2. Install
  3. Setup and configure apps
  4. Changelog
  5. Contribute
  6. Thanks to

English is not my mother-tongue language, so I need help to write a catching README repository file.

Modify CASK homebrew formula

The commands brew tap buo/cask-upgrade and brew install cask are now deprecated.

Changing to new formulaes.

Thanks to Arxae

TO-DO:

  • Modify link in README

Update CHANGELOG with Emoji Log

Thinking of upgrading the CHANGELOG with the EmojiLog.

The new meanings would be something like this:

  • ๐Ÿ“ฆ NEW: Emoji meaning: A "package emoji" โ€” which can contain new stuff.
  • ๐Ÿ‘Œ IMPROVE: Emoji meaning: An "OK Hand emoji" โ€” which is meant to appreciate an improvement.
  • ๐Ÿ› FIX: Emoji meaning: A "bug emoji" โ€” which means there was a bug that got fixed.
  • ๐Ÿ“– DOCS: Emoji meaning: A "book emoji" โ€” which means documentation or notes just like in a book.
  • ๐Ÿš€ RELEASE: Emoji meaning: A "rocket emoji" โ€” which is meant to show a new release/launch.
  • โœ… TEST: Emoji meaning: A "check emoji" โ€” which says some test were run successfully.

Maybe change also the issue labels to this.


Split the release changelog into categories, like here.

Dynamo crach when opening a graph

Dynamo Core 2.0.3
Dynamo Revit 2.0.3

La rรฉfรฉrence d'objet n'est pas dรฉfinie ร  une instance d'un objet.

ร  List.CustomNodeModelNodeViewCustomization.b__8_1(AsyncTask _)
ร  System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
ร  System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

Swift app for macOS that launch a shell script via Terminal.app

Use XCode to develop a .app macOS application to launch and have a fresh installation of everything.

Possible code:

import Foundation

let task = Process()
task.launchPath = "/usr/bin/env"
task.arguments = ["bash", "/path/to/your/script.sh"]
task.launch()
task.waitUntilExit()

Steps to follow:

  1. Open Xcode and create a new project by selecting "macOS" under the "Application" section and then choosing "Command Line Tool".
  2. Choose a name for your project and set the language to "Swift".
  3. In the "main.swift" file that is automatically created for you, add the code above.
  4. Build and run your project by clicking the "Run" button in the Xcode toolbar.
  5. When the app runs, it should launch the Terminal.app and run the shell script. You can see the output of the script in the Terminal window that opens.

Note: In order for the app to be able to launch the Terminal.app, you may need to add the "NSAppleEventsUsageDescription" key to your app's Info.plist file and provide a brief description of why your app needs to control the Terminal.app.

Streamline shell script code

Rework the installation process into multiple packages, eg:

  • light > install basic apps and commands [mandatory]
  • dev > install development apps and commands and configure dev environment [not mandatory]

Update DOTFILES

  • Add command to remove existing dotfiles (example below)
  • Modify .zsh config file (example here)

sudo rm -rf ~/.zshrc > /dev/null 2>&1
sudo rm -rf ~/.gitconfig > /dev/null 2>&1

Guide to configure Python on macOS

Create a guide to install and configure Python on macOS.

Some topic to address are:

  • Add Python folder into PATH
    • run sudo code /etc/paths
    • add /Users/$USER/Library/Python/3.7/bin to the end of the file and save

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.