{"id":28089363,"url":"https://github.com/pivoshenko/dotfiles","last_synced_at":"2025-09-11T07:38:55.628Z","repository":{"id":119017306,"uuid":"575147773","full_name":"pivoshenko/dotfiles","owner":"pivoshenko","description":"📕 dotfiles focused on simplicity, modularity and developer happiness","archived":false,"fork":false,"pushed_at":"2025-08-24T18:22:06.000Z","size":221760,"stargazers_count":23,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-03T12:54:32.387Z","etag":null,"topics":["aerospace","bottom","brew","catppuccin","config","configuration","dotdrop","dotfiles","dotfiles-macos","fish","fzf","helix","karabiner","macos","nerd-fonts","vscode","zed"],"latest_commit_sha":null,"homepage":"","language":"CSS","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/pivoshenko.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-12-06T21:32:20.000Z","updated_at":"2025-08-31T13:30:40.000Z","dependencies_parsed_at":"2023-10-04T15:26:05.725Z","dependency_job_id":"5cf263fd-8df1-44f5-8ea0-c3b2f775113c","html_url":"https://github.com/pivoshenko/dotfiles","commit_stats":null,"previous_names":["pivoshenko/dotfiles"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pivoshenko/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pivoshenko%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pivoshenko%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pivoshenko%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pivoshenko%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pivoshenko","download_url":"https://codeload.github.com/pivoshenko/dotfiles/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pivoshenko%2Fdotfiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274595754,"owners_count":25314018,"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","status":"online","status_checked_at":"2025-09-11T02:00:13.660Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["aerospace","bottom","brew","catppuccin","config","configuration","dotdrop","dotfiles","dotfiles-macos","fish","fzf","helix","karabiner","macos","nerd-fonts","vscode","zed"],"created_at":"2025-05-13T12:57:41.111Z","updated_at":"2025-09-11T07:38:55.581Z","avatar_url":"https://github.com/pivoshenko.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pivoshenko's dotfiles\n\n![](https://raw.githubusercontent.com/pivoshenko/dotfiles/main/assets/preview.png)\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://stand-with-ukraine.pp.ua/\"\u003e\n    \u003cimg alt=\"standwithukraine\" src=\"https://img.shields.io/badge/Support-Ukraine-FFC93C?style=flat-square\u0026labelColor=07689F\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://stand-with-ukraine.pp.ua\"\u003e\n    \u003cimg alt=\"standwithukraine\" src=\"https://img.shields.io/badge/made_in-Ukraine-FFC93C.svg?style=flat-square\u0026labelColor=07689F\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n- [pivoshenko's dotfiles](#pivoshenkos-dotfiles)\n  - [Overview](#overview)\n  - [Main principles](#main-principles)\n  - [Usage](#usage)\n  - [macOS](#macos)\n  - [CLI](#cli)\n    - [Helix](#helix)\n    - [fzf](#fzf)\n  - [Applications](#applications)\n    - [Application Launcher - Raycast](#application-launcher---raycast)\n    - [Hotkeys Daemon - Karabiner](#hotkeys-daemon---karabiner)\n    - [Tiling Window Manager - Aerospace](#tiling-window-manager---aerospace)\n    - [Editors](#editors)\n      - [Editors - VSCode](#editors---vscode)\n      - [Editors - Zed](#editors---zed)\n    - [Browser - Zen](#browser---zen)\n    - [Notes - Obsidian](#notes---obsidian)\n    - [Music - Spotify](#music---spotify)\n    - [Messengers](#messengers)\n      - [Messengers - Telegram](#messengers---telegram)\n      - [Messengers - Discord](#messengers---discord)\n      - [Messengers - Slack](#messengers---slack)\n    - [Text Expander - Espanso](#text-expander---espanso)\n    - [Honourable Mentions](#honourable-mentions)\n\n\u003e [!NOTE]\n\u003e For some applications, there is no easy way to save the config in the dotfiles, so it requires a bit of manual work. Please read the README to find out about them.\n\n## Overview\n\nWhat's in here?\n\n- My `brew` dependencies, including apps, fonts, LSPs, extensions, etc., see [`Brewfile`](Brewfile)\n- My macOS default configurations, see [`macos/`](macos/defaults.sh)\n- My wallpapers, see [`wallpapers/`](https://github.com/pivoshenko/wallpapers)\n- My configs, see [`.config/`](dotfiles/.config)\n\n## Main principles\n\n- Minimalism in all aspects\n- Consistency throughout the configuration\n- Simplicity in design and configuration\n- Unified style [Catppuccin theme](https://github.com/catppuccin/catppuccin) and [JetBrains Mono font](https://www.jetbrains.com/lp/mono)\n\n## Usage\n\nI am using [`dotdrop`](https://github.com/deadc0de6/dotdrop) to manage dotfiles.\n\n1. Fork this repository and clone it\n2. Run the following commands to install the necessary tooling:\n\n```shell\nbrew bundle\n```\n\n3. Run the following commands to install the dotfiles:\n\n```shell\ndotdrop install -c dotdrop.config.yaml -p default --force\ndotdrop install -c dotdrop.config.yaml -p macos --force\n```\n\n## macOS\n\nTo configure macOS I am using [`defaults`](https://macos-defaults.com), my configuration can be found [here](macos/defaults.sh).\n\nRun the following commands to configure macOS defaults:\n\n```shell\nsudo sh macos/defaults.sh\n```\n\n## CLI\n\nI am using [iTerm2](https://iterm2.com) as my main terminal with the [Catppuccin theme](https://github.com/catppuccin/iterm) applied. My configuration can be found [here](dotfiles/.config/iterm2).\n\nFor the shell, I recently switched from `zsh` to [`fish`](https://fishshell.com), as out of the box it has all batteries included. To manage shell plugins, I am using [`fisher`](https://github.com/jorgebucaran/fisher), but there are only a few installed. My complete configuration can be found [here](dotfiles/.config/fish).\n\nIn terms of command-line tools, I try to keep them minimal—only the ones I use daily, such as:\n\n- [`bat`](https://github.com/sharkdp/bat)\n- [`bottom`](https://github.com/ClementTsang/bottom)\n- [`delta`](https://github.com/dandavison/delta)\n- [`exa`](https://github.com/ogham/exa)\n- [`fd`](https://github.com/sharkdp/fd)\n- [`fzf`](https://github.com/junegunn/fzf)\n- [`ripgrep`](https://github.com/BurntSushi/ripgrep)\n- [`k9s`](https://github.com/derailed/k9s)\n- [`lazygit`](https://github.com/jesseduffield/lazygit)\n- [`lazydocker`](https://github.com/jesseduffield/lazydocker)\n- [`yazi`](https://github.com/sxyazi/yazi)\n- [`zellij`](https://github.com/zellij-org/zellij)\n- [`zoxide`](https://github.com/ajeetdsouza/zoxide)\n\nA complete list of configurations for each tool can be found in the [`.config`](dotfiles/.config) directory.\n\n### Helix\n\nI use [Helix](https://helix-editor.com) as my main editor for CLI, and I am trying to move all my day-to-day work to it. My configuration can be found [here](dotfiles/.config/helix).\nI want to highlight it separately, as it's a truly amazing editor with a lot of features and very handy keybindings out of the box.\n\n### fzf\n\nAnother highlight is [fzf](https://github.com/junegunn/fzf), which I heavily use for autocompletion and fuzzy search in the shell. I can't imagine my workflow without it.\n\n## Applications\n\nI am using [Homebrew](https://brew.sh) to install both GUI applications and command-line tools. You can find a list of all applications, as well as LSPs and VSCode plugins, in the [`Brewfile`](Brewfile).\n\n### Application Launcher - Raycast\n\nI recently moved from the default macOS Spotlight to [Raycast](https://www.raycast.com). While it offers an impressive range of features and a sleek user experience, many of its advanced capabilities are locked behind a Pro subscription, which I find limiting. As a result, I'm currently exploring alternative solutions.\n\n### Hotkeys Daemon - Karabiner\n\nI primarily use an external keyboard, and in most of my apps, I rely on either Vi/Kakoune motions. I find it painful to use the mouse, as it requires moving my right hand off the keyboard and distracts my \"zen\" state. In most of the dev apps, you can enable such modes, but in the default macOS apps or window manager, such functionality is absent. To resolve this issue, I am using [Karabiner](https://github.com/pqrs-org/Karabiner-Elements).\n\nMy configuration can be found [here](dotfiles/.config/karabiner/karabiner.json). The main idea is to implement [home row mode](https://precondition.github.io/home-row-mods) using this [guide](https://havn.blog/2024/03/03/a-good-way.html).\n\n### Tiling Window Manager - Aerospace\n\nI use [AeroSpace](https://github.com/nikitabobko/AeroSpace) as a tiling window manager for macOS, which essentially replicates i3 functionality.\n\nMy configuration can be found [here](dotfiles/.config/aerospace/aerospace.toml). The main idea is to define the following workspaces and bind relevant applications to them:\n\n- #1 Comms (Telegram, Discord, etc.)\n- #2 Media\n- #3 Notes (Obsidian)\n- #4 Browsing (Zen)\n- #5 Terminal (iTerm2)\n- #6 Coding (Zed, VSCode)\n- #7 Databases (MongoDB Compass, DBeaver)\n- #8 Misc (Insomnia)\n- #9 Misc\n\nSome applications, typically used in \"quick pop-up\" mode (e.g., macOS default apps), follow a **floating layout** and are not bound to any workspace.\n\n### Editors\n\n#### Editors - VSCode\n\nI absolutely love [VSCode](https://code.visualstudio.com) - it's a simple and yet very extensible and powerful editor.\n\nHere's a list of [extensions](Brewfile) I use daily, but I try to keep my `VSCode` setup as simple as possible. It was also heavily influenced by [`makevscodeawesome`](https://makevscodeawesome.com).\n\nMy VSCode configuration can be found [here](dotfiles/vscode/settings.json).\n\n#### Editors - Zed\n\nDespite my love for VSCode, it still has limitations and I like to explore new tools, so currently I am trying to move my day-to-day work to [Zed](https://zed.dev), which I think, as an editor, has a bright future. I personally like how it can be configured and the way plugins are installed.\n\nMy Zed plugins and configuration can be found [here](dotfiles/.config/zed/settings.json).\n\n### Browser - Zen\n\nAs a browser, I am using [Zen](https://zen-browser.app), with the following extensions installed:\n\n- [`custom-new-tab`](https://addons.mozilla.org/en-US/firefox/addon/custom-new-tab-page)\n- [`duckduckgo`](https://addons.mozilla.org/en-US/firefox/addon/duckduckgo-for-firefox)\n- [`nordpass`](https://addons.mozilla.org/en-US/firefox/addon/nordpass-password-management)\n- [`nordvpn`](https://addons.mozilla.org/en-US/firefox/addon/nordvpn-proxy-extension)\n- [`privacy-badger`](https://addons.mozilla.org/en-US/firefox/addon/privacy-badger17)\n- [`raindropio`](https://addons.mozilla.org/en-US/firefox/addon/raindropio)\n- [`stylus`](https://addons.mozilla.org/en-US/firefox/addon/styl-us)\n- [`ublock`](https://addons.mozilla.org/en-US/firefox/addon/ublock-origin)\n- [`vimium`](https://addons.mozilla.org/en-US/firefox/addon/vimium-ff)\n\nMy `userChrome.css` and `userContent.css` can be found [here](dotfiles/.config/zen) and are required to be placed in the [`chrome/` subfolder](https://www.userchrome.org) in your Zen profile.\n\nTo customise different websites, I am using [Catppuccin User Styles](https://github.com/catppuccin/userstyles) and my personal [configuration](dotfiles/.config/stylus), which should be imported in the extension's preferences.\n\n### Notes - Obsidian\n\nFor note-taking, I am using [Obsidian](https://obsidian.md), a very flexible and extensible tool. As sync storage for the Vault (notes, settings, etc.), I am using iCloud.\n\nMy current theme is [Catppuccin](https://github.com/catppuccin/obsidian), which can be installed via the built-in plugin manager.\n\nAdditionally, I have a few plugins installed:\n\n- [`obsidian-copilot`](https://github.com/logancyang/obsidian-copilot)\n- [`obsidian-images-in-editor`](https://github.com/ozntel/oz-image-in-editor-obsidian)\n- [`obsidian-tag-wrangler`](https://github.com/pjeby/tag-wrangler)\n- [`obsidian-outliner`](https://github.com/vslinko/obsidian-outliner)\n- [`obsidian-style-settings`](https://github.com/mgmeyers/obsidian-style-settings)\n- [`obsidian-advanced-tables`](https://github.com/tgrosinger/advanced-tables-obsidian)\n\nI also extended the length of readable mode (the default seems quite narrow) by adding custom CSS:\n\n```css\nbody {\n  --file-line-width:1100px\n}\n```\n\n### Music - Spotify\n\nSpotify is my primary music app, and to customise it I am using [Spicetify](https://github.com/spicetify/cli) and [`spicetify-marketplace`](https://github.com/spicetify/marketplace).\n\nMy current theme is [Catppuccin](https://github.com/catppuccin/spicetify), which can be installed via Marketplace in the themes tab.\n\nThere are no other plugins installed apart from the theme.\n\n### Messengers\n\n#### Messengers - Telegram\n\nMy main messenger is [Telegram](https://telegram.org) with my own version of [Catppuccin themes](telegram). Both themes can be installed using Telegram's theme manager:\n\n- [Catppuccin Latte](https://t.me/addtheme/catppuccin_latte_pivoshenko)\n- [Catppuccin Mocha](https://t.me/addtheme/catppuccin_mocha_pivoshenko)\n\n#### Messengers - Discord\n\nTo stay in touch with different communities, I am using [Discord](https://discord.com), but the official app lacks functionality, so instead I am using [Vesktop](https://github.com/Vencord/Vesktop) with the [Catppuccin theme](https://github.com/catppuccin/discord) installed via \"Themes -\u003e Online Themes\".\n\n```css\n/* frappe, macchiato, mocha */\n@dark https://catppuccin.github.io/discord/dist/catppuccin-macchiato-mauve.theme.css\n@light https://catppuccin.github.io/discord/dist/catppuccin-latte-mauve.theme.css\n```\n\n#### Messengers - Slack\n\nRecently, I started using [Slack](https://slack.com) for work-related communication. I use the official app with the [Catppuccin theme](https://github.com/catppuccin/slack), which I applied via the custom theme option.\n\n### Text Expander - Espanso\n\nFor text expansion, I use [Espanso](https://espanso.org), a powerful cross-platform text expander. It lets me define custom snippets that trigger anywhere in the system, saving time and reducing repetitive typing.\n\nMy configuration includes a mix of personal and work-related expansions, and can be found [here](dotfiles/espanso).\n\n### Honourable Mentions\n\n[f.lux](https://justgetflux.com) - the best application to control the color of a computer's display, adapting to the time of day: warm at night and like sunlight during the day (supports presets based on geolocation).\n\n[CleanShotX](https://cleanshot.com) - I found the default macOS screenshot tool quite odd; sometimes it blurs the screenshot. But still, for day-to-day screenshots, I am using the default app, but if I need to take a screenshot for some documentation, I am using this tool.\n\n[NordPass](https://nordpass.com) and [NordVPN](https://nordvpn.com) - simply the best password manager and VPN client.\n\n[DBeaver](https://dbeaver.io) - simple but powerful database manager.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpivoshenko%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpivoshenko%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpivoshenko%2Fdotfiles/lists"}