Code Monkey home page Code Monkey logo

dotfiles's Introduction

Dotfiles for Tim Triemstra

On a Mac or Linux system, simply run:

    git clone https://github.com/timtr/Dotfiles.git
    cd Dotfiles
    ./setup.sh

Run ./setup.sh from within the local Dotfiles folder for first-run install, then re-launch your terminal. On Mac, first install Xcode or the command line tools.

Run dotfiles.sh from the PATH to reset your config. For instance, if you want to reset the ~/local.sh file to default config, simply delete it, then run dotfiles.sh. You can also run help.sh for additional help (once I build that feature).

Documentation is a work in progress. See a preview:

Overview

This is my personal collection of setup scripts for macOS and Linux (WIP). It includes settings for zsh, macOS Terminal, Xcode, and other tools and apps. This set will also install Homebrew and a recent version of Ruby.

The setup will assume your settings are configured directly within the Dotfiles folder where you cloned this repo, adding the /Dotfiles/Bin folder to the PATH (for instance.) It will also add /opt/homebrew/bin to the PATH for Homebrew support.

Features

local.sh - Installs a file called ~/local.sh (if doesn't exist) that you can customize with settings that do not belong checked into GitHub, for instance set certain keys, or environment variables. This is also the file to add things like feature flags during development, add a Swift toolchain, or to enable secret build settings.

dotfiles.sh - run this at any time reset all settings, and recreate ~/local.sh from the original template if you first delete that file.

ZSH settings - sets up the prompt, PATH, and other basic settings. Note that .zshenv sets up the PATH so it works even when there is no interactive terminal session, and .zshrc will source this file for a consistent PATH for terminal windows.

Dropbox - symlink in $HOME points to ~/Library/CloudStorage/Dropbox if Dropbox is installed on the computer.

Using a custom Swift toolchain

You can download new Swift toolchains from Swift.org and set them to be used by default. The ~/local.sh file is perfect to place to configure these settings per-machine, rather than configure in the main Dotfiles repo.

Demos

Once installed, you can install Homebrew and run demos. For example, run demo-homebrew.sh from the Dotfiles/Demos to show a Terminal screen of software being downloaded, built, installed, and erased (in a repeating loop). Hit CONTROL-Z to quit that demo.

You can also open the Dotfiles/Demos/demo-safari-cycle.html file to launch Safari and begin cycling through many web pages, simulating an automated web test harness.

Useful reference links

Documentation (or the start of docs) can be found here. Note that the docs folder must be in lower-case for GitHub Pages support. Capital Docs will fail.

Which zsh files contain which settings: CodeSpaces and Dotfiles

Docs on using setup.sh with GitHub CodeSpaces and Dotfiles

Order of loading

For reference, zsh config files are loaded in the following order:

    .zshenv    -- global (even non-interactive), useful for PATH and tooling variables
    .zshrc     -- loaded from the interactive shell (e.g. a Terminal window)
    .zprofile  -- if login (not using this file in current setup)

dotfiles's People

Contributors

example123 avatar timtr avatar

Stargazers

 avatar

Watchers

 avatar

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.