sobolevn / dotfiles

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

Home Page:https://sobolevn.me/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

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.

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. Including: bat, zoxide, fzf, ag, fd, delta, gh, tig, and many others.

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

fzf goodies

I use fzf for several code completion tasks:

  • tab to autocomplete probably all the things using fzf-tab

fzf-tab

  • ctrl+r allows me to fuzzy search command history

fzf-history

  • ctrl+t allows to fuzzy search files and dirs in the current tree to include paths in commands with instant previews for text files (content) and directories (inner tree)

fzf-paths

fzf-git

  • press space + tab after z <path> to enable fuzzy finder for zoxide

fzf-zoxide

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.

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!

About

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

https://sobolevn.me/

License:Other


Languages

Language:Shell 63.6%Language:Ruby 19.7%Language:JavaScript 16.7%