What's in here?
- All my
brew
dependencies including: applications, fonts, etc. SeeBrewfile
- All my global
Python
dependencies including: linters, formatters, LSP plugins etc. Seerequirements
- All my global
cargo
andnpm
dependencies including: LSP, LSP plugins, etc. Seecargo
andnpm
- All my
macOS
configuration. Seemacos
- All my shell configuration. See
.shell/
and.zshrc
- All my
VSCode
configuration and extensions. Seevscode/
andextensions
- All my rest
.configs/
,dotfiles/
andwallpapers/
:3
- Minimalism in everything
- Consistency
- Simplicity
- One style - JetBrainsMono font and Catppuccin color palette
- Reduced visual noise, only important things should be shown
- "Please, do not touch my code" - minimal auto-formatting or code flow interruptions
- Security - do not share anything with anyone
Important
I am planning to use dotbot
to set everything instead of ansible
and dotdrop
as it doesn't require any external dependencies and can be used as a submodule
I am using dotdrop
to manage dotiles and ansible
to set things up. Steps:
- Clone this repo with:
git clone https://github.com/pivoshenko/dotfiles dotfiles
cd dotfiles/
- Run the following commands to install the necessary tooling:
# install core: homebrew, zsh, oh-my-zsh and configs (optional)
ansible-playbook playbooks/shell.yaml
# install dependencies
ansible-playbook playbooks/dependencies.yaml
- Run the following commands to install configs:
dotdrop -c "dotdrop.yaml" -p base install -f
# macOS only!
dotdrop -c "dotdrop.yaml" -p macos install -f
I am using hyper.js
as my main terminal.
I am using zsh
with oh-my-zsh
and starship
as the main shell. To manage shell plugins I am using zplug
.
I also have 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:
elixir
rust
ruby
I am using brew
to install all free apps for my Mac.
I also sync apps from the App Store with brew
via mas
, so the resulting Brewfile
contains everything.
I try to containerize everything. So, docker
is my main development and deployment tool.
Here's a list of extensions I use daily, but I try to keep my VSCode
setup as simple as possible.
It was also heavily influenced by makevscodeawesome
.
I also quite heavily use helix
for in-terminal editing.
Some of the used tools require local configuration, such as git
with username and email.
Here's the full list:
~/.gitconfig.local
to store any user-specific data~/.shell/.local
to store local shell config, like usernames, passwords, tokens,gpg
keys etc