Skip to content

This repository contains some common dotfiles I am using for my local dev environment

Notifications You must be signed in to change notification settings

d-koppenhagen/.dotfiles

Repository files navigation

.dotfiles - and some other useful config files

This repository contains some common dotfiles I am using for my local dev environment.

Dotfiles - content

.editorconfig

A basic .editorconfig with some common settings.

.gitconfig

Basic git configuration file and some shortcuts

.profile

Some common $PATH and other environment variable exports.

.vimrc

A customized vim configuration using Vundle Plugin Manager.

  1. Install Vundle:
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
  1. Install and activate the Plugins by opening vim and typing the following command:
:PluginInstall

.zprofile

includes .profile dotfile for usage within zsh.

.zshrc

A basic zsh configuration using oh-my-zsh. In this config some basic aliases and functions are already configured.

Other configuration files

llama-pack-config.json

This configuration file is used by the Bubblewrap CLI to generated signed TWA activities based on a PWA. It contains the path to the Android SDK and Java JDK 8.

osx.sh

Some settings for macOS, for configuring finder, desktop, enabling debug options, display options (hidden files, file extensions, etc.). The file needs to be executed from the command line:

sudo chmod +x osx.sh
sudo sh osx.sh

⚠️ Keep in mind that this will be override some default settings of your mac and activate / deactivete features which are hidden in the macOS preferences and can only be set by using the command line. Check carefully all the settings in the script and adjust / uncomment them before running the script.

setup-dotfiles.sh

Setup symlinks to this project files to be always in sync when pulling changes

com.googlecode.iterm2.plist

An iTerm2 configuration file which can be used by configuring it in the preferences.

Load iTerm2 config

Brewfile

A Brewfile contains the installed package configuration for Homebrew. You can simply install the packages from the file by running brew bundle if you are in the current directory or by using the path to the file: brew bundle dump -f ${HOME}/dev/.dotfiles/Brewfile. It will install the packages from brew, cask and mas.

Creating a new file can be achieved by exporting it e.g. via Cakebrew:

  • Tools
  • Export Brew Installation

Fresh macOS setup

When setting up your mac completely new, I recommend the following steps:

  • proceed the macOS configuration (sudo sh osh.sh).
  • Install Homebrew
  • Install Homebrew packages via Brewfile (brew bundle) including iTerm2.
  • Link your dotfiles (sh setup-dotfiles.sh)
  • Import / link iTerm2 configuration (Preferences -> Gerneral -> Preferences -> Load preferences from a custom URL or folder)
  • Read setup Java as described in java.md

macOS TimeMachine

Defines a list of directories (e.g. all node_modules directories inside the ~/dev) that should be excluded from time machine backup (as they are quite big and can be re-installed by npm i after restoring a backup).

To update the directories to be excluded frequently, simply add a cronjob:

crontab -e

Then enter a cronjob:

0 12 * * *  cd $HOME/dev/.dotfiles && ./time-machine-excludes.sh # every day at 12:00

local mods

The following files / directories are .gitignore'ed:

  • .zshrc.local: put your machine specific zsh modifications inside you don't wish to contribute. It's content is automatically loaded by the main .zshrc when available.
  • setup-dotfiles.local.sh: place machine specific setup steps you want to execute but not wish to contribute. This script is loaded when executing setup-dotfiles.sh.
  • local: place all other config file / templates you don't want to contribute inside this directory.

About

This repository contains some common dotfiles I am using for my local dev environment

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published