/dotfiles

Primary LanguageShell

DDF

DDF (Dima Dotefiles) is a shell script to set up a macOS laptop for WordPress development.

It can be run multiple times on the same machine safely. It installs, upgrades, or skips packages based on what is already installed on the machine.

Install

Download the script on your $HOME directory:

git clone https://github.com/AdelDima/dotfiles.git ~/dotfiles && cd dotfiles

I created this based on my own preferences; your mileage may vary.

Once the script is done, quit and relaunch Terminal.

It is highly recommended to run the script regularly to keep your computer up to date.

What it sets up

The setup process will install:

Basic tools:
Package Managers:
  • NVM for managing and installing multiple versions of Node.js and npm
  • Yarn for managing JavaScript packages
CLI Tools & Utilities:
  • Gulp the streaming build system
  • Hub for interacting with the GitHub API
  • hugo, an open-source static site generator
  • ImageMagick to create, edit, compose, or convert bitmap images
  • mas Mac App Store command line interface

Apps

Productivity
  • Spark for a better mail client.
  • Alfred for increased productivity and efficiency with macOS.
Development
Design
  • Figma Figma helps teams create, test, and ship better designs from start to finish.
Communication
  • Notion Figma helps teams create, test, and ship better designs from start to finish.ß
  • Skype for free calls to friends and family.
  • Slack where work happens.
  • Discord like slack.
Utilities
Miscellaneous
  • Rocket for Slack-like emojis.
  • Spotify for music.
  • VLC for a better media player.
Browsers
  • Blisk for cross-device web development.
  • Chrome for fast and free web browsing.
  • Firefox for web browsing and testing.
  • TorBrowser for super secret web browsing.

See swag for the full list of apps that will be installed. Adjust it to your personal taste.

It should take less than 20 minutes to install (depends on your machine).

🌶 Just add ~/.hot-sauce

Your ~/.hot-sauce is added at the end of the Formation script. Put your customizations there. For example:

#!/usr/bin/env bash

SETUP_ROOT=$HOME/.setup

NERDFONTS_RELEASE=$(curl -L -s -H 'Accept: application/json' https://github.com/ryanoasis/nerd-fonts/releases/latest)
NERDFONTS_VERSION=$(get_github_version $NERDFONTS_RELEASE)

DIRECTORIES=(
    $HOME/Desktop/code
    $HOME/Desktop/design
    $HOME/Desktop/*dump
    $HOME/Desktop/GIFs
    $HOME/Desktop/projects
    $HOME/Desktop/screenshots
)

NERDFONTS=(
    SpaceMono
    Hack
    AnonymousPro
    Inconsolata
)

step "Making directories…"
for dir in ${DIRECTORIES[@]}; do
    mkd $dir
done

step "Installing fonts…"
for font in ${NERDFONTS[@]}; do
    if [ ! -d ~/Library/Fonts/$font ]; then
        printf "${indent}  [↓] $font "
        wget -P ~/Library/Fonts https://github.com/ryanoasis/nerd-fonts/releases/download/$NERDFONTS_VERSION/$font.zip --quiet;unzip -q ~/Library/Fonts/$font -d ~/Library/Fonts/$font
        print_in_green "${bold}✓ done!${normal}\n"
    else
        print_muted "${indent}$font already installed. Skipped."
    fi
done

Write your customizations such that they can be run safely more than once. See the slay script for examples.

Formation functions such as step and link can be used in your ~/.hot-sauce.

Known Issues

Cask does not recognize applications installed outside of Homebrew Cask – in the case that the script fails, you can either remove the application from the install list or uninstall the application causing the failure and try again.

Acknowledgements

Inspiration and code was taken from many sources, including:

📜 License

DDF is customized for my own needs. It is free software, and may be redistributed under the terms specified in the LICENSE file.