Giter VIP home page Giter VIP logo

mac-setup's People

Contributors

pjungermann avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

mac-setup's Issues

add asdf and support it as installer for software?

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.

add yarn

add yarn to installed packages. Requires npm/node to be installed. See also issue #12

prevent unnecessary updates for brew casks with version "latest"

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

add upgrade for zsh?

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

replace terraform with tfswitch

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 support for rvm

Add rvm as installed software. We may want to use it as installer/package manager, too (see issue #9), to allow preinstalling certain versions.

update script to latest Homebrew version

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 to specify to be installed software outside of the script (more flexibility and reusability)

Allow users of this script to specify the software they like using an external file, e.g. a YAML file.

To consider:

  • support current features
    • multiple package managers/installers
    • (optional) configuration per package (e.g., should override a previously installed version?)
    • shell support (Oh my Zsh) including plugins
  • specification provided as optional argument
  • provide opinionated specification within this repo which is used as default

Questions:

  • keep using bash? E.g., ruby is preinstalled on MacOS, too, and might allow for easier coding and state management, etc. Ruby version conflicts could be an issue though. (e.g., different versions on different MacOS versions) Current version is very compatible and just requires one command.
  • evolve this into a meta package manager which can be installed and itself installs supported package managers?

add support for nvm

Add nvm as installed software. We may want to use it as installer/package manager, too (see issue #9), to allow preinstalling certain versions.

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.