Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stefanscherer/dotfiles
My dotfiles for Mac / Linux boxes and WSL
https://github.com/stefanscherer/dotfiles
dotfiles linux macos wsl-ubuntu wsl2
Last synced: about 2 months ago
JSON representation
My dotfiles for Mac / Linux boxes and WSL
- Host: GitHub
- URL: https://github.com/stefanscherer/dotfiles
- Owner: StefanScherer
- License: mit
- Created: 2014-02-08T15:33:11.000Z (almost 11 years ago)
- Default Branch: main
- Last Pushed: 2024-06-17T11:40:16.000Z (6 months ago)
- Last Synced: 2024-10-03T12:25:05.226Z (3 months ago)
- Topics: dotfiles, linux, macos, wsl-ubuntu, wsl2
- Language: Shell
- Homepage:
- Size: 984 KB
- Stars: 43
- Watchers: 7
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# dotfiles
Add some tweaks into current Unix/Ubuntu user's home directory.
Inspired by for MacOS.
For Windows I prefer my .This is what the terminal looks like
![dotfiles.png](images/dotfiles.png)
# Installation
git clone https://github.com/StefanScherer/dotfiles && cd dotfiles && ./sync.shTo update later on, just run the sync.sh again.
The usage of sync.sh is
```
sync.sh [--all|-a] [--force|-f]--all|-a install all tools, also YouCompleteMe (big dependencies)
--force|-f force overwriting files in $HOME
```### Tools
* [autoenv](https://github.com/kennethreitz/autoenv) - Directory-based environments
* **addtime**: show relative time stamp in stdout of another tool.
Usage: anothertool | addtime
* **timeref**: show relative time diffs in logfile.
Usage: timeref logfile | gvim -
* `Fn + F12`: toggle One Dark/Light theme in terminal
* **t**: toggle Dark Mode of macOS and Windows from WSL
* **whoseport**: Who is running that port?
* **z**: "z foo" - cd to most frecent dir matching foo### Aliases
* **..**: one dir up
* **...**: two dirs up
* **....**: three dirs up
* **.....**: four dirs up
* **~**: go into users home directory
* **eachdir**: start a command for all sub directories
* **gi**: create `.gitignore` file, see [gitignore.io](https://gitignore.io)
* **gitcloneall**: clone all repos of an organization or user
```
Usage: gitcloneall [email protected]:YOUR_ORG [user[:pass]]
Clones all repos of a GitHub org or user.gitcloneall [email protected]:StefanScherer
gitcloneall [email protected]:myorg myuser:password_to_access_private_repos
```
* **gitall**: start a git command for all sub directories
```
gitall pullvi */README.md
gitall add README.md
gitall commit -m "updated README.md"
gitall push
```
* **gitls**: show git status of all repos in current dir, you may add args like in `ls` to filter dirs
![gitls.png](images/gitls.png)
* **git undo-commit**: undo last commit, as it says
* **hosts**: edit your hosts file
* **logvi logfile**: view a log file with relative times in gvim
* **ssh-me**: copy my SSH key to remote machine and install my dotfiles there### Docker
* **dps**: like `docker ps`, but with less columns
* **dm**: docker-machine shortener: `dm dev` or `dm start dev` or `dm ip dev` ...
* **dm dev** is a shortcut for `eval $(docker-machine env dev)`
* also integrates my [windows-docker-machine](https://github.com/StefanScherer/windows-docker-machine)'s 2016, 1709 and insider using Vagrant to start/stop them
* also integrates my [docker-windows-azure](https://github.com/StefanScherer/docker-windows-azure) machines az2016 and az1709 using azure cli to start/stop them### VIM
* installs **Vundle** and some other stuff
* **EditorConfig**### VIM commands
* `,c`: show trailing white space
* `,ss`: strip trailing white space
* `,e`: format JavaScript code with esformatter (`npm install -g esformatter`)## Setup a new Mac box
The simplest way to setup a new Mac box is to download and run the `setup-mac` script.
```
curl https://raw.githubusercontent.com/StefanScherer/dotfiles/master/setup-mac | bash
```check_macos_updated
install_brew
install_dotfiles
install_terminal_profiles
install_brew_packages1. It will run all macOS updates before it installs anything. Maybe you have to run it again after installing updates and rebooting the machine.
1. It install `brew`
1. It clones this dotfiles repo and executes the `sync.sh` script to install/update it
1. It installs the One Dark/Light terminal profiles
1. It installs all brew packages in `brew.txt`
1. It installs all brew casks in `cask.txt`Things you have to do manually
* Run `SizeUp` and enter the license
* Insert your Vagrant VMware license# Licensing
Copyright (c) 2014 Stefan SchererMIT License, see LICENSE.txt for more details.