{"id":13610344,"url":"https://github.com/sobolevn/dotfiles","last_synced_at":"2025-10-06T02:39:02.931Z","repository":{"id":22796521,"uuid":"86076568","full_name":"sobolevn/dotfiles","owner":"sobolevn","description":"dotfiles for the developer happiness: macos, zsh, brew, vscode, python, minimalism","archived":false,"fork":false,"pushed_at":"2025-04-21T06:32:58.000Z","size":16022,"stargazers_count":821,"open_issues_count":0,"forks_count":91,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-05-09T23:13:50.707Z","etag":null,"topics":["codespaces","dotbot","dotfiles","elixir","fzf","macos","nodejs","python","vscode","zsh"],"latest_commit_sha":null,"homepage":"https://sobolevn.me/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sobolevn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"open_collective":"wemake-python-styleguide","github":"wemake-services","custom":"https://boosty.to/sobolevn"}},"created_at":"2017-03-24T14:26:09.000Z","updated_at":"2025-05-08T20:20:11.000Z","dependencies_parsed_at":"2023-01-13T22:14:17.222Z","dependency_job_id":"c8c290a7-9b59-46bf-a0c9-3c10dcd124a1","html_url":"https://github.com/sobolevn/dotfiles","commit_stats":{"total_commits":377,"total_committers":7,"mean_commits":"53.857142857142854","dds":"0.23342175066312998","last_synced_commit":"660e02dadc7a7125ac8c287d8f28284436eb5845"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sobolevn%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sobolevn%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sobolevn%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sobolevn%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sobolevn","download_url":"https://codeload.github.com/sobolevn/dotfiles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254276446,"owners_count":22043866,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["codespaces","dotbot","dotfiles","elixir","fzf","macos","nodejs","python","vscode","zsh"],"created_at":"2024-08-01T19:01:43.820Z","updated_at":"2025-10-06T02:39:02.924Z","avatar_url":"https://github.com/sobolevn.png","language":"Shell","readme":"# sobolevn's dotfiles\n\n![sobolevn's dotfiles](https://raw.githubusercontent.com/sobolevn/dotfiles/master/media/hyper.png)\n\nHere are some articles I wrote about my environment:\n\n- [\"Instant +100% command line productivity boost\"](https://dev.to/sobolevn/instant-100-command-line-productivity-boost)\n- [\"Using better CLIs\"](https://dev.to/sobolevn/using-better-clis-6o8)\n- [\"6 mac apps that fit everyone\"](https://sobolevn.me/2019/07/6-best-mac-apps)\n\nAnd talks / podcasts:\n\n- [\"Veged and Code podcast\"](https://www.youtube.com/watch?v=nEF0I3VkmPA) \\[in RU\\]\n- [\"minimal vscode\"](https://www.youtube.com/watch?v=frZkPK_1Ui4\u0026list=PLbr8rVGhPD0UriABMtqJ6oybD2d2ScT3u\u0026pp=gAQB) series \\[in RU\\]\n\n\n## Contents\n\nWhat's in there?\n\n- all my `brew` dependencies including: applications, fonts, etc. See [`Brewfile`](https://github.com/sobolevn/dotfiles/blob/master/Brewfile)\n- all my `macOS` configuration. See [`macos`](https://github.com/sobolevn/dotfiles/blob/master/macos/)\n- all my shell configuration, including [my own `sobole`](https://github.com/sobolevn/sobole-zsh-theme) theme. See [`shell/`](https://github.com/sobolevn/dotfiles/tree/master/shell) and [`config/zshrc`](https://github.com/sobolevn/dotfiles/blob/master/config/zshrc)\n- all my `vscode` configuration, including [my own `pustota`](https://github.com/sobolevn/pustota) theme. See [`vscode/`](https://github.com/sobolevn/dotfiles/tree/master/vscode)\n- all my `firefox` (and Zen) settings. See [`firefox/`](https://github.com/sobolevn/dotfiles/tree/master/firefox)\n- all my [QuickLook](https://github.com/sindresorhus/quick-look-plugins) customizations and [dev utilities](https://github.com/sbarex/SourceCodeSyntaxHighlight)\n\n\n## Main principles\n\n- Minimalism in everything: tooling, styling\n- Simplicity\n- Reduced visual noise, only important things should be shown\n- \"Please, do not touch my code\": no auto-formatting or code flow interruptions\n- History is valuable, let's preserve it everywhere we can\n- Security: do not share anything with anyone\n\n\n## Installation\n\nWe are using [`dotbot`](https://github.com/anishathalye/dotbot/)\nto set things up. Steps:\n\n0. Decide what you want to install: comment out `run_dotbot 'steps/...'` that you don't need\n1. Clone this repo with: `git clone https://github.com/sobolevn/dotfiles dotfiles`\n2. `cd dotfiles/`\n3. Run: [`bash ./install`](https://github.com/sobolevn/dotfiles/blob/master/install)\n\n\n## VSCode\n\nI loved [my `Sublime`](https://github.com/sobolevn/dotfiles/tree/34ee628e515f7fc782566b946a3b4ca906bad7ba/sublime3-conf).\nIt was fast and beautiful.\nThe main reason is that `Sublime` is almost unmaintained.\nPackages are also abandoned.\n\nSo, I have switched to [`vscode`](https://formulae.brew.sh/cask/visual-studio-code).\nIt solved almost all issues I had with `Sublime`.\nHere's how my new `vscode` setup looks like, using my own theme called [`pustota`](https://github.com/sobolevn/pustota):\n\n![sobolevn's vscode for Python](https://raw.githubusercontent.com/sobolevn/dotfiles/master/media/vscode.png)\n\nHere's [a list of packages](https://github.com/sobolevn/dotfiles/blob/master/Brewfile) (see `vscode` calls at the bottom) I use:\n\n- [`pustota`](https://github.com/sobolevn/pustota) theme\n- [`Python`](https://github.com/Microsoft/vscode-python) plugin\n- [`editorconfig`](https://editorconfig.org/) integration\n- [`subframe7536.custom-ui-style`](https://github.com/subframe7536/vscode-custom-ui-style)for better customization\n\nI try to keep my `vscode` setup as simple as possible.\nIt was also heavily influenced by [`makevscodeawesome`](https://makevscodeawesome.com/).\n\n### DX\n\n- `cmd` + `p` opens up file navigation in the middle of the screen, so you don't have to move your eyes a lot to find most common UI element\n\n- `ctrl` + `f` opens global search\n\n![vscode ctrl+f widget](https://raw.githubusercontent.com/sobolevn/dotfiles/master/media/vscode-cmd-shift-f.png)\n\n- `cmd` + `t` opens global symbols index\n\n![vscode cmd+t widget](https://raw.githubusercontent.com/sobolevn/dotfiles/master/media/vscode-cmd-t.png)\n\n\n## CLI\n\nI am using [`hyper`](https://hyper.is/) as my main terminal with my custom [`senya` theme](https://github.com/sobolevn/senya).\nI am using [`zsh`](https://github.com/zsh-users/zsh) with [`oh-my-zsh`](https://github.com/robbyrussell/oh-my-zsh)\nas the main shell.\nAnd [`zplug`](https://github.com/zplug/zplug) to manage shell [plugins](https://github.com/sobolevn/dotfiles/blob/master/config/zplugrc).\nI also have a some tools / scripts / aliases to make my working experience better.\nBut, I try to keep them minimal: only ones I truly use. Including: `bat`, `zoxide`, `fzf`, `ag`, `fd`, `delta`, `gh`, and many others.\n\nI mainly work with:\n\n- `python`\n\nI also have several other languages installed.\nBut I don't use them on a daily basis:\n\n- `node`\n- `elixir`\n- `rust`\n- `c`\n\n### nano\n\nI also use [powered-up `nano`](https://github.com/sobolevn/dotfiles/blob/master/config/nanorc)\nfor in-terminal editing.\n\n### fzf goodies\n\nI use `fzf` for several [code completion](https://github.com/sobolevn/dotfiles/blob/master/shell/.completions) tasks:\n\n- `tab` to autocomplete probably all the things using [`fzf-tab`](https://github.com/Aloxaf/fzf-tab)\n\n![fzf-tab](https://raw.githubusercontent.com/sobolevn/dotfiles/master/media/fzf-tab.png)\n\nMultiple tools have custom completions like: `zoxide`, `make`, `killall`\nthat work well with `fzf`'s preview feature.\n\n- `ctrl+r` allows me to fuzzy search command history\n\n![fzf-history](https://raw.githubusercontent.com/sobolevn/dotfiles/master/media/fzf-history.png)\n\n- `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)\n\n![fzf-paths](https://raw.githubusercontent.com/sobolevn/dotfiles/master/media/fzf-paths.png)\n\n- `ctrl+g` + many subcommands like `ctrl+l` open up [`fzf-simple-git`](https://github.com/sobolevn/fzf-simple-git), which is really helpful for `git` browsing\n\nhttps://github.com/user-attachments/assets/093201a6-3d0c-43ad-b00d-3a27f802bb92\n\n\n## Apps\n\nI am using [`brew`](https://brew.sh/) to install all free apps for my mac.\nI also sync apps from AppStore with `brew` via [`mas`](https://formulae.brew.sh/formula/mas),\nso the resulting [`Brewfile`](https://github.com/sobolevn/dotfiles/blob/master/Brewfile) contains everything.\n\n### FireFox and Zen\n\nI use [`zen` browser](https://zen-browser.app) as my main browser. Yes, it does not have any visible UI, even in regular non-fullscreen mode. It is also harded with [`arkenfox`](github.com/arkenfox/user.js) for extra privacy.\n\nhttps://github.com/user-attachments/assets/34d94a70-083a-48b3-b955-37d2f2432551\n\nSince `zen` is based on `firefox`, you can copy [all the configuration](https://github.com/sobolevn/dotfiles/tree/master/firefox) I have for `zen` and use with just regular `firefox`.\n\n\n## Infrastructure\n\nI try to containerize everything.\nSo, [`docker`](https://formulae.brew.sh/cask/docker) is my main development and deployment tool.\n\n\n## Local configuration\n\nSome of the used tools requires local configuration. Such as `git` with username and email.\n\nHere's the full list:\n\n1. `~/.gitconfig_local` to store any user-specific data\n2. `~/.shell_env_local` to store local shell config, like: usernames, passwords, tokens, `gpg` keys and so on\n\n\n## License\n\n[WTFPL](https://en.wikipedia.org/wiki/WTFPL): do the fuck you want. Enjoy!\n","funding_links":["https://opencollective.com/wemake-python-styleguide","https://github.com/sponsors/wemake-services","https://boosty.to/sobolevn"],"categories":["Shell","Example dotfiles repos"],"sub_categories":["Zsh"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsobolevn%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsobolevn%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsobolevn%2Fdotfiles/lists"}