Skip to content

sobolevn/dotfiles

Repository files navigation

sobolevn's dotfiles

sobolevn's dotfiles

Here are some articles I wrote about my environment:

And talks / podcasts:

Contents

What's in there?

Main principles

  • Minimalism in everything: tooling, styling,
  • Simplicity
  • Reduced visual noise, only important things should be shown
  • "Please, do not touch my code": no auto-formatting or code flow interruptions
  • History is valuable, let's preserve it everywhere we can
  • Security: do not share anything with anyone

Installation

We are using dotbot to set things up. Steps:

  1. Decide what you want to install: comment out run_dotbot 'steps/...' that you don't need
  2. Clone this repo with: git clone https://github.com/sobolevn/dotfiles dotfiles
  3. cd dotfiles/
  4. Run: bash ./install

CLI

I am using hyper as my main terminal. I am using zsh with oh-my-zsh as the main shell. And zplug to manage shell plugins. I also have a some tools / scripts / aliases to make my working experience better. But, I try to keep them minimal: only ones I truly use.

I mainly work with:

  • python

I also have several other languages installed. But I don't use them on a daily basis:

  • node
  • elixir
  • rust

Apps

I am using brew to install all free apps for my mac. I also sync apps from AppStore with brew via mas, so the resulting Brewfile contains everything.

Infrastructure

I try to containerize everything. So, docker is my main development and deployment tool.

VSCode

I loved my Sublime. It was fast and beautiful. 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, using my own theme called pustota:

sobolevn's vscode for Python

Here's a list of packages I use:

I try to keep my vscode setup as simple as possible. It was also heavily influenced by makevscodeawesome.

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

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!