Skip to content

My configuration-based dotfiles, using the pydotfiles library

License

Notifications You must be signed in to change notification settings

JasonYao/dotfiles

Repository files navigation

Lazy dotfiles configuration

tl;dr

Run these commands based on the OS and desired profile:

##
# For the curl command:
# -L signifies to follow redirects (required to download from github
# -o dictates what the output file will be called
##

# MacOS personal
mkdir -p ~/.dotfiles && curl -L -o ~/.dotfiles/dotfiles.zip https://github.com/JasonYao/dotfiles/releases/download/v1.5.0/dotfiles-macos-personal.zip && cd ~/.dotfiles && unzip dotfiles.zip && bash install.sh

# MacOS work
mkdir -p ~/.dotfiles && curl -L -o ~/.dotfiles/dotfiles.zip https://github.com/JasonYao/dotfiles/releases/download/v1.5.0/dotfiles-macos-work.zip && cd ~/.dotfiles && unzip dotfiles.zip && bash install.sh

# Linux personal
mkdir -p ~/.dotfiles && curl -L -o ~/.dotfiles/dotfiles.zip https://github.com/JasonYao/dotfiles/releases/download/v1.5.0/dotfiles-linux-personal.zip && cd ~/.dotfiles && unzip dotfiles.zip && bash install.sh

# Linux work
mkdir -p ~/.dotfiles && curl -L -o ~/.dotfiles/dotfiles.zip https://github.com/JasonYao/dotfiles/releases/download/v1.5.0/dotfiles-linux-work.zip && cd ~/.dotfiles && unzip dotfiles.zip && bash install.sh

Overview

This repo contains my own personal set of dotfiles, in order to unify my own customized experience across all macOS and *nix systems.

This dotfiles leverages pydotfiles which enables me to keep large portions of the dotfiles as JSON/YAML configuration files, instead of bash or python scripts.

For a less opinionated basic repo of a configuration-based set of dotfiles that is meant to be easily forked and customized, please see the pydotfiles-basic repo.

Features

  • Automatically sets my background image
  • Automatically manages my configuration files via symlinks
  • Automatically installs a lot of utilities that I commonly use (e.g. GNU tools, wget, bash v4+, vim, node, etc.)
  • Automatically sets sane defaults for my OS, e.g.:
    • Turns on the firewall, and enables stealth-mode receiving
    • Turns on a super-high key-repeat rate
    • Turns on showing the battery percentage
    • Sets the computer to never sleep unless explicitly told to
    • Disables Apple's "natural" scrolling (god that thing is so annoying)
    • Removes all the clutter from my dock, and adds in just the applications that I want on the dock
    • Enables dark mode (hurray!)
    • Sets the default DNS to Cloudflare's DNS
    • Removes ISP-level bloatware in the form of browser hijacking via search domains (seriously, how is this even a thing?)
  • Automatically installs a bunch of useful applications like:
  • Sets up proper dev environment runtimes via environment managers like jenv for Java, and pyenv for Python
  • Sets up proper git environment with a much prettier diff
  • Adds iTerm 2 shell integrations
  • Enables you to hide/show iTerm as an overlay via a keystroke! (see the usage) section below
  • And many more!

Supported Platforms

  • macOS 10.12.x+ (Sierra+)
  • Ubuntu 16.04 LTS

Usage

  • To toggle showing/hiding of iTerm 2: +

License

This repo is licensed under the terms of the GNU GPL v3, a copy of which may be found here.

About

My configuration-based dotfiles, using the pydotfiles library

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages