/dotfiles-1

dotfiles for the developer happiness: zsh, brew, vscode, python, node, elixir

Primary LanguageShellOtherNOASSERTION

sobolevn's dotfiles

sobolevn's dotfiles

Contents

What's in there?

  • all my brew dependencies including: applications, fonts, etc. See Brewfile
  • all my macOS configuration. See macos
  • all my shell configuration. See shell/ and config/zshrc
  • all my vscode configuration. See vscode/

Installation

We are using dotbot to set things up. Steps:

  1. Clone this repo
  2. cd into dotfiles/ folder
  3. Run: ./install

CLI

I am using both hyper and default Terminal App as terminal emulators. I am using zsh with oh-my-zsh as a main shell. And antibody to manage shell plugins. I also have a lot of tools to make my working experience better. Here are some good articles I wrote about my environment:

I mainly work with three stacks:

  • python
  • node + vue
  • elixir

So, they are configured nice and smoothly. You will have configured version managers, best practices, and useful tools. And some productivity hacks!

I also have php, go, haskell, ruby, rust, and java installed. But I am not using them on a daily basis.

Infrastructure

I try to containerize everything. So docker is my main development and deployment tool. You can install it from its official site (brew version is also an option).

I prefer to use edge version of docker. So, you will have to download it manually.

However, I also use several databases and other services locally:

  • postgresql (with postgis)
  • mysql
  • redis
  • rabbitmq

VS Code

I loved my Sublime. It was fast and beautiful. But I have switched to vscode. The main reason is that Sublime is almost unmaintained. Packages are also abandoned.

So, I have switched to vscode. It solved almost all issues I had with Sublime. Here's how my new vscode setup looks like:

sobolevn's vscode for Elixir

And Vue:

sobolevn's vscode for Elixir

Here's a list of packages I use:

  • ayu theme and A File Icon icons
  • Elixir syntax highlighting
  • Vetur for Vue features
  • Python plugin
  • editoconfig integration
  • wakatime integration

I also use powered-up nano for in-terminal editing.

External services

I use wakatime for all my projects. It is a great tool to track time of your work. It is a free service.

There are three main plugins I am using:

  1. For vscode: https://wakatime.com/sublime-text
  2. For idea: https://wakatime.com/intellij-idea
  3. For zsh: https://github.com/sobolevn/wakatime-zsh-plugin#wakatime-zsh-plugin

Local configuration

Some of the used tools requires local configuration. Such as git with username and email.

Here's the full list:

  1. ~/.gitconfig_local to store any user-specific data
  2. ~/.shell_env_local to store local shell config, like: usernames, passwords, tokens, gpg keys and so on

License

WTFPL: do the fuck you want. Enjoy!