{"id":13951217,"url":"https://github.com/issmirnov/dotfiles","last_synced_at":"2025-04-09T16:13:17.140Z","repository":{"id":7520778,"uuid":"8871676","full_name":"issmirnov/dotfiles","owner":"issmirnov","description":"My dotfiles.","archived":false,"fork":false,"pushed_at":"2025-03-31T17:01:56.000Z","size":45711,"stargazers_count":59,"open_issues_count":2,"forks_count":10,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-09T16:13:13.183Z","etag":null,"topics":["dotbot","dotfiles","i3","vim","zsh"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/issmirnov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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}},"created_at":"2013-03-19T05:43:09.000Z","updated_at":"2025-03-31T17:02:00.000Z","dependencies_parsed_at":"2025-01-31T12:10:53.985Z","dependency_job_id":"97868505-1bf6-456f-82f5-8e42cd940fdf","html_url":"https://github.com/issmirnov/dotfiles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/issmirnov%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/issmirnov%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/issmirnov%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/issmirnov%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/issmirnov","download_url":"https://codeload.github.com/issmirnov/dotfiles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248065282,"owners_count":21041872,"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":["dotbot","dotfiles","i3","vim","zsh"],"created_at":"2024-08-08T06:01:16.190Z","updated_at":"2025-04-09T16:13:17.115Z","avatar_url":"https://github.com/issmirnov.png","language":"Shell","funding_links":[],"categories":["Vim Script"],"sub_categories":[],"readme":"# Ivan's Dotfiles\n\n\u003e  Your dotfiles will most likely be the longest project you ever work on.\n\nQuote by Anish Athalye on his\n[blog](http://www.anishathalye.com/2014/08/03/managing-your-dotfiles/).\n\nI completely agree with Anish, and thus maintain this repo for my dotfiles.\nThere are many like them, but these are mine.\n\n## Prerequisites\n\nYou will need to have the following installed:\n\n- python: for dotbot\n- vim: for vimrc\n- zsh: for the shell\n\n## Installation\n\nClone and run `./install`. This will download\n[dotbot](https://github.com/anishathalye/dotbot) and symlink everything into\nplace. If you don't have ZSH already as your default shell, run\n`~/.dotfiles/zsh/setup`\n\nIf you would like to only install the ZSH component and nothing else, use\n`minstall`. This references `minimal.comf.yaml` and links the `zshrc` and git\nhooks only.\n\nIf you trust me, you can also do `wget https://smirnov.link/d -O - | sh`. This\npulls the `d` file which clones the repo, runs a full install and tells you how\nto install zsh.\n\n### Ansible\n\nThere's an [ansible role](https://galaxy.ansible.com/issmirnov/dotfiles/) for this repo. Simply add `issmirnov.dotfiles` as a role.\n\n## Submodules Used\n\n- [Dotbot](https://github.com/anishathalye/dotbot) for installation.\n- [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh) for zsh foundation.\n- [Vundle](https://github.com/VundleVim/Vundle.vim) for vim.\n\n## Points of Interest\n\n- The post commit hook in the [git](git/) directory is very interesting. It\n  checks for changes, and depending on which rules are matched will run certain\n  commands. Ie, if the zsh folder contains changes we will source zshrc for\n  you. With changes to vim we will rerun the vim install script.\n- The [i3](i3/) folder contains my solution for managing i3 config across\n  multiple machines. My fleet ranges from weak laptops to triple head power\n  beasts, and it's annoying to copy paste config. There's more detail in the\n  folder. Basically you can add rules for a specific host and factor out common\n  config, which gets spliced in dynamically on every pull.\n- The [vim](vim/) directory is relatively standalone, and contains my attempt\n  at building a sane vim config that isn't complex enough to launch nukes when\n  your cat sneezes on the keyboard.\n\n## Macos Window manager stack\n\nI've been getting a lot of questions about my MacOS window management. Here's the full stack:\n\n- https://github.com/koekeishiya/yabai is used to tile my windows.\n  - the `yabai` folder has general config - setting border colors, focus rules, etc.\n  - NOTE: The top two lines are for SIP patched machines. See the inline comment.\n- https://github.com/koekeishiya/skhd is a hoteky daeemon, used to interact with yabai.\n  - Config folder `skhd` - note the dynamic generator. You can just copy `base` to your `.skhd`\n  - This is where all the shortcuts are set up. See the inline comments for examples\n  - NOTE: A lot of the shortcuts require extensive finger yoga on traditiona keyboards.\n    I use a custom mechanical keyboard running QMK (https://github.com/issmirnov/qmk-keebs)\n    with home row mods (https://precondition.github.io/home-row-mods), so I have a dedicated\n    \"Navigation\" layer that has single button combos for all the crazy shortcuts.\n- https://tracesof.net/uebersicht/\n  - Config folder `ubersicht`\n  - This sets up a custom status bar with useful indicators (https://ivans.io/better-status-bar-for-macos/)\n- https://contexts.co/ - fast window switcher, activated with Ctrl+Space. I disabled the sidebar and only use the switcher.\n- https://www.alfredapp.com/ - drop in replacement for spotlight. I generally only use it to lock\n  my screen or open apps. If you want to go deeper, check out: https://wiki.nikitavoloboev.xyz/macos/macos-apps/alfred\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=issmirnov/dotfiles\u0026type=Date)](https://star-history.com/#issmirnov/dotfiles\u0026Date)\n\n## Repo analytics\n\n![Repobeats analytics](https://repobeats.axiom.co/api/embed/645bf89a101f204434c7e8a39c058cfcf7eb64c5.svg \"Repobeats analytics image\")\n\n## A Note about the License \u0026 Copyright:\n\nUnless attributed otherwise, everything is under the MIT license (see LICENSE\nfor more info).\n\nSome stuff is not from me, and without attribution, and I no longer remember\nwhere I got it from. I apologize for that.\n\nFeel free to copy whatever suits you, and open an issue with a question if you\nneed some help.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fissmirnov%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fissmirnov%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fissmirnov%2Fdotfiles/lists"}