• Stars
    star
    353
  • Rank 116,424 (Top 3 %)
  • Language
    Shell
  • Created over 9 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

My lovely dots ~/.๐Ÿ’–

Denys Dovhanโ€™s dotfiles

Spaceship with Hyper and One Dark

There are tons of useful things in here:

  • The usefulness of โ€œOh My ZSH!โ€ is already builtโ€“in.
  • ๐Ÿš€โญ๏ธ Spaceships as a prompt.
  • ๐ŸŸ Fish-like autosuggestions.
  • Syntax highlighting of commands while they are typed.
  • Automatically closing and deleting of quotes and brackets when you type them.
  • Browser-like substring search for history.
  • sheldon for dependency management.
  • Useful aliases.
  • Git config, global .gitignore file and aliases.
  • Dotfiles synchronization (sync.py) with backup.
  • Restoring old dotfiles (restore.py) from backup.
  • A lot of useful bins.
  • update script for updating dotfiles, npm, brew, gems, etc.

Missing feature? ๐Ÿด Fork this repo and make it better!

Installation

Dotfiles are installed by running one of the following commands in your terminal, just copy one of the following commands and execute in the terminal:

Tell Git who you are using these commands:

git config -f ~/.gitlocal user.email "[email protected]"
git config -f ~/.gitlocal user.name "Name Lastname"

Clone dotfiles repo:

# Clone dotfiles repo
git clone https://github.com/denysdovhan/dotfiles.git $HOME/.dotfiles

# Go to the dotfiles directory
cd $HOME/.dotfiles

# Install dotfiles
./install

Updating

Use single command to get latest updates:

update

This command will update dotfiles, their dependencies, brew or apt-get packages, global npm dependencies, gems, apm plugins.

Under the hood

Note: You may put your custom settings into ~/.zshlocal.

Projects tree

I suggest you to organize project folder as follows:

~/Projects
โ”œโ”€โ”€ Forks       # for GitHub fork
โ”œโ”€โ”€ Job         # for job projects
โ”œโ”€โ”€ Playground  # for short-term experiments
โ””โ”€โ”€ Repos       # for long-term projects

Aliases

Aliases are gonna make your work fast and enjoyable. See code in $DOTFILES/lib/aliases.zsh. Here is what's included:

  • Aliases from Oh-My-Zsh. See Oh-My-Zsh Cheatsheet for more.
  • Easier navigation
    • .. โ†’ cd ..
    • ... โ†’ cd ../..
    • .... โ†’ cd ../../..
    • ..... โ†’ cd ../../../..
    • ~ โ†’ cd ~
    • - โ†’ cd -
  • Folders shortcuts
    • dl โ†’ cd ~/Downloads
    • dt โ†’ cd ~/Desktop
    • pj โ†’ cd ~/Projects
    • pjr โ†’ cd ~/Projects/_Repos
    • pjf โ†’ cd ~/Projects/_Forks
    • pl โ†’ cd ~/Projects/_Playground/
  • Commands Shortcuts
    • e โ†’ $EDITOR
    • +x โ†’ chmod +x
    • x+ โ†’ chmod +x
    • ll โ†’ ls -alF
    • la โ†’ ls -A
    • l โ†’ ls -CF
  • Open
    • open <FILE> โ€” open file from terminal.
    • o <FILE> โ€” open file from terminal.
    • oo โ€” open current folder.
  • Misc
    • update โ€” get updates (Runs $DOTFILES/scripts/update.zsh).
    • dotfiles โ€” jump quickly into dotfiles folder.
    • myip โ€” my local IP address.
    • password โ€” generate random password, copies it into clipboard and outputs it to terminal.
    • path โ€” print $PATH in readable view.
    • getpage โ€” download web page with all assets.
    • get โ€” download file with original filename.

Oh-My-Zsh plugins

These OMZ plugins are included:

  • git โ€” git aliases and functions.
  • npm โ€” provides completion as well as adding many useful aliases.
  • yarn โ€” the same as for npm, but for yarn
  • nvm โ€” auto-sourcing nvm.
  • sudo โ€” [Esc] [Esc] to re-run previous command with sudo.
  • ssh-agent โ€” automatically starts ssh-agent to set up and load whichever credentials you want for ssh connections.
  • gpg-agent โ€” enables gpg-agent if it is not running.
  • More are listed in .zshrc (it's hard to keep the list updated).

Bin

Dotfiles also include some functions that will make your life easier. See code in bin/.

  • emptytrash โ€” empty the Trash on all mounted volumes and the main HDD.
  • git-cleanup โ€” removes old Git branches and does other cleanup.
  • git-fork โ€” add remote upsteam.
  • git-upstream โ€” sync branch with upstream.
  • gz โ€” get gzipped file size
  • n โ€” runs given command using binary in node_modules/.bin of the current project.
  • nyan โ€” print nyan cat.
  • server โ€” start an HTTP server from a directory.

Git

Note: Add your git user data and custom settings to ~/.gitlocal.

Configuration

  • UI color is auto.
  • Diff colors are:
    • white bold for meta information;
    • cyan bold for frag;
    • red bold for old lines;
    • green bold for new lines.
  • Default editor is Vim instead of Vi.
  • push.default set as current.
  • Automatic replacement git://github.com/, gh:, github: addresses as [email protected]: for GitHub.
  • Automatic replacement git://gist.github.com/, gst:, gist: addresses as [email protected]: for Gists.
  • User custom settings gets from a ~/.gitlocal file.

Git Aliases

  • git a โ†’ git add โ€” patch mode for specified files.
  • git ua โ†’ git reset HEAD โ€” unstage files.
  • git b โ†’ git branch โ€” list, create, or delete branches.
  • git c โ†’ git commit โ€” record changes to the repository.
  • git co โ†’ git checkout โ€” checkout a branch or paths to the working tree.
  • git ap โ†’ git add -p โ€” add file contents to the index.
  • git ca โ†’ git commit -a โ€” commit with automatically stage files that have been modified and deleted.
  • git cm โ†’ git commit -m โ€” commit with commit message.
  • git cam โ†’ git commit -am โ€” add all files and commit with message.
  • git s โ†’ git status -sb โ€” short status with current branch.
  • git master โ€” go to master branch and pull from remote.
  • git develop โ€” go to develop branch and pull from remote.
  • git git โ€” do not complain about git git.
  • git l โ€” commits log with pretty single line format.
  • git ll โ€” log with list of changed files for each commit.
  • git ignore โ€” ignore files: append file to .gitignore.
  • git this โ€” initialize, add all files and commit.
  • git amend โ€” amend last commit.
  • git redo โ€” amend last commit with its original message.
  • git undo โ†’ reset --mixed HEAD^ โ€” reset index changes, but not the working tree.
  • git discard โ†’ checkout -- โ€” discard changes.
  • git contrib โ€” list of contributors and how many commits each person has.
  • git today โ€” see how many lines of code you have written today.
  • git stat โ€” how many lines of code in repo.
  • git sync โ€” pull and push changes from/to remote.
  • git-root โ€” go to repo root.
  • git-cleanup [--force] โ€” removes old Git branches.
  • git-fork <original-author> โ€” add remote upstream.
  • git-upstream [branch] โ€” sync branch with upstream (as default master).

Resources

Resources that I used to make these dotfiles better:

License

MIT ยฉ Denys Dovhan

More Repositories

1

wtfjs

๐Ÿคช A list of funny and tricky JavaScript examples
JavaScript
33,571
star
2

bash-handbook

๐Ÿ“– For those who wanna learn Bash
JavaScript
5,570
star
3

vacuum-card

Vacuum cleaner card for Home Assistant Lovelace UI
TypeScript
825
star
4

learnyoubash

Learn you how to write your first bash script
JavaScript
730
star
5

inboxer

Unofficial, free and open-source Inbox by Gmail Desktop App
JavaScript
669
star
6

ukrainian-typographic-keyboard

Combined Ukrainian keyboard layout with typographic symbols
360
star
7

one-gnome-terminal

Atom's One Dark and One Light theme for GNOME Terminal
Shell
311
star
8

learnyouhtml

Learn you how to create your first web page
HTML
285
star
9

purifier-card

Air Purifier card for Home Assistant Lovelace UI
TypeScript
237
star
10

smart-home

๐Ÿก My smart home server setup built on top of Ubuntu, Docker, Home Assistant, Servarr, etc
Shell
223
star
11

robbyrussell-node

Cross-shell robbyrussell theme written in JavaScript
JavaScript
158
star
12

oceanic-next-gnome-terminal

Oceanic Next theme for GNOME Terminal
Shell
50
star
13

gitbook-plugin-rss

RSS for your gitbook
JavaScript
23
star
14

denysdovhan.github.io

๐Ÿ“ฐ Personal blog from Denys Dovhan
JavaScript
23
star
15

less-mix

LESS-Mix - is a functional, powerful and convenient library LESS-mixins.
CSS
22
star
16

gitio-zsh

โœ‚๏ธ A zsh plugin for generating a GitHub short URL using git.io.
Shell
22
star
17

rsa-labwork

A javascript RSA algorithim encryption tool
JavaScript
19
star
18

emojify-text

Convert boring text to wonderful emojis
JavaScript
14
star
19

textr-cli

Command line interface for Textr
JavaScript
12
star
20

awesome-nodeschool

๐Ÿซ List of awesome things for NodeSchool people
11
star
21

chernivtsi-transport

Application for Chernivtsi public transport system
TypeScript
11
star
22

learning-asm

Here I'm gonna collect links and resources, that I used for learning Assembly
Assembly
10
star
23

typographic-markdown

Markdown transformers to make your typography better.
JavaScript
9
star
24

cv

Hire me!
CSS
7
star
25

victory-or-betrayal

React app that helps you recognize betrayal and victory.
JavaScript
6
star
26

grunt-textr

Grunt plugin for Textr
JavaScript
5
star
27

home-stack

A tool for bootstrapping and managing smart homes
Shell
4
star
28

slides-cross-shell-prompts

Slides for my talk about cross-shell prompts in JavaScript
JavaScript
4
star
29

slides-kottans-chernivtsi-2019-react-continued-part-2

Slides for 2nd part of my talk about React for Kottans Chernivtsi Frontend Course 2019
JavaScript
4
star
30

slides-reactalicante-pet-projects

Slides for my talk about pet-projects at React Alicante 2019
JavaScript
4
star
31

coursework-software-engineering

Course work of ยซSoftware Engineeringยป discipline
JavaScript
3
star
32

slides-kottans-chernivtsi-2019-react-continued-part-1

Slides for 1st part of my talk about React for Kottans Chernivtsi Frontend Course 2019
JavaScript
3
star
33

slides-automating-github-workflow

Slides for my talk โ€œAutomating GitHub workflow with probotโ€
JavaScript
3
star
34

raw-brunch

A Brunch plugins for raw modules
JavaScript
3
star
35

slides-vilniusjs-pet-projects

Slides for my talk about pet-projects at VilniusJS
JavaScript
3
star
36

slides-what-is-bash

Slides for my talk about learnyoubash workshopper
HTML
3
star
37

slides-promises

Slides for my talk about Promises
JavaScript
2
star
38

rainbow

Rainbow - powerful, colorful, intuitive css-framework for your project.
CSS
2
star
39

workshopper-boilerplate

A common boilerplate for NodeSchool workshopper
JavaScript
2
star
40

slides-javascript-shells

Slides for my talk about JavaScript Shells
JavaScript
2
star
41

emojify-text-cli

Command line interface to emojify-text
JavaScript
2
star
42

slides-pet-projects-ukrainian

Slides for my talk about pet-projects in Ukrainian
JavaScript
2
star
43

chernivtsi-outages

Electricity outages data in Chernivtsi, Ukraine
TypeScript
2
star
44

keynote-slides-template

Template repo for my Keynote slides exported as HTML
2
star
45

slides-inputconf-2019-open-source

Slides for my talk about Open Source at Input conference
JavaScript
2
star
46

slides-feel-good-with-brunch

Slides for my talk about Brunch
JavaScript
2
star
47

denysdovhan

Personal Profile Description
1
star
48

slides-vr-crash-course

Slides for my talk about VR
JavaScript
1
star
49

pingpong.js

Ping-Pong implemented on HTML Canvas + JavaScript.
JavaScript
1
star
50

slides-15x4-how-internet-works

15 minutes about how Internet works
HTML
1
star
51

slides-writing-bots-for-github

Slides for my talk โ€œWriting bots for GitHubโ€
JavaScript
1
star
52

slides-inputconf-2019-chernivtsijs

Slides for my talk about @chernivtsijs community at Input conference
JavaScript
1
star
53

slides-frontendzt-pet-projects

Slides for my talk about pet-projects at frontend://zt
JavaScript
1
star
54

slides-kottans-chernivtsi-2017-react-continued

Slides for my talk about React for Kottans Chernivtsi Frontend Course
JavaScript
1
star
55

slides-kottans-chernivtsi-introduction

Slides for my talk about Kottan Course in Chernivtsi
JavaScript
1
star