Awesome
sobolevn's dotfiles
Here are some articles I wrote about my environment:
And talks / podcasts:
- "Veged and Code podcast" [in RU]
Contents
What's in there?
- all my
brew
dependencies including: applications, fonts, etc. SeeBrewfile
- all my
macOS
configuration. Seemacos
- all my shell configuration, including my own
sobole
theme. Seeshell/
andconfig/zshrc
- all my
vscode
configuration, including my ownpustota
theme. Seevscode/
- all my QuickLook customizations and dev utilities
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:
- Decide what you want to install: comment out
run_dotbot 'steps/...'
that you don't need - Clone this repo with:
git clone https://github.com/sobolevn/dotfiles dotfiles
cd dotfiles/
- 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
:
Here's a list of packages (see vscode
calls at the bottom) I use:
pustota
themePython
plugineditorconfig
integrationsubframe7536.custom-ui-style
for better customization
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 with my custom senya
theme.
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
c
fzf goodies
I use fzf
for several code completion tasks:
tab
to autocomplete probably all the things usingfzf-tab
Multiple tools have custom completions like: zoxide
, make
, killall
that work well with fzf
's preview feature.
ctrl+r
allows me to fuzzy search command 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)
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:
~/.gitconfig_local
to store any user-specific data~/.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!