pjungermann / mac-setup Goto Github PK
View Code? Open in Web Editor NEWautomated setup of a Mac with basic software
License: MIT License
automated setup of a Mac with basic software
License: MIT License
ASDF:
https://asdf-vm.com/
https://github.com/asdf-vm/asdf
Manage multiple runtime versions with a single CLI tool, extendable via plugins
Allows to install and manage multiple version of a supported software similar to "sdk" (SDKMan!), nvm, rvm, rbenv, pyenv, etc.
Support for additional software can be added using plugins.
Officially listed plugins: https://asdf-vm.com/#/plugins-all?id=plugin-list
When supporting this, supporting plugins seems necessary as well.
(https://asdf-vm.com/#/core-manage-plugins?id=add)
Versions can be stored at .tool-versions
incl. multiple versions to support fallbacks. E.g., you can include and commit such a file for any of your projects. Changing into a directory with such a file will automatically use the defined versions. The global defaults are persisted in such a file at the $HOME
of the user.
prevent "error" output like
Stop! groovy 2.5.8 is already installed.
by checking whether it was already installed (conditionally try to install SDKs using SDKMan) or hide it
add yarn to installed packages. Requires npm/node to be installed. See also issue #12
Skype for Business got deprecated and replaced by Microsoft Teams
Add shellcheck (brew) to the set of installed software.
see the collection of available themes:
https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
https://github.com/robbyrussell/oh-my-zsh/wiki/External-themes
Is there a way to install tools via the toolbox from the CLI? Installing IntelliJ IDEA via Homebrew seems not the best when using the Toolbox.
brew casks with version "latest" are included when checking for outdated ones with option --greedy
, but whether they really need to be updated or not is not clear.
In order to prevent it from being reinstalled at every run, there needs to be a source of information to figure out whether there was a change. Whether this is possible or not, it still unclear though.
If there is no way to figure this out, maybe an option to not reinstall those might make sense.
Example brew casks: dropbox, spotify
brew install zsh && brew link --overwrite zsh
the link step is necessary to fix a conflict
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/zsh
Target /usr/local/bin/zsh
already exists. You may want to remove it:
rm '/usr/local/bin/zsh'
To force the link and overwrite all conflicting files:
brew link --overwrite zsh
To list all files that would be deleted:
brew link --overwrite --dry-run zsh
Possible conflicting files are:
/usr/local/bin/zsh -> /bin/zsh
Can we support browser extensions, too?
E.g.,
https://www.jetbrains.com/toolbox-app/
Integrate with GitHub, GitLab, or Bitbucket
Install the extension for Google Chrome or Firefox and you will be able to clone and open your GitHub, GitLab, or Bitbucket repositories right from your browser.
tfswitch allows to support and use multiple terraform versions at the same time and identified the necessary version for run folder using the version constraints in versions.tf
. Necessary terraform versions get installed by it on-the-fly.
Optional: It may make sense to preinstall the latest version or allow to choose which one to install. (see also issue #9)
Add a test using shellcheck to verify shell scripts.
Add rvm as installed software. We may want to use it as installer/package manager, too (see issue #9), to allow preinstalling certain versions.
Homebrew changed a their commands and got rid of the sub-command brew cask
in favor of an argument --cask
(or --casks
). The opposite is called --formula
or --formulae
.
Allow users of this script to specify the software they like using an external file, e.g. a YAML file.
To consider:
Questions:
use
upgrade_oh_my_zsh
for the upgrade in case it is already installed
Add nvm as installed software. We may want to use it as installer/package manager, too (see issue #9), to allow preinstalling certain versions.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.