8000 GitHub - pivoshenko/dotfiles: dotfiles for the developer happiness
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

pivoshenko/dotfiles

Repository files navigation

pivoshenko's dotfiles

standwithukraine standwithukraine

Note

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.

Overview

What's in here?

  • My brew dependencies, including apps, fonts, LSPs, extensions, etc., see Brewfile
  • My macOS default configurations, see macos/
  • My wallpapers, see wallpapers/
  • My configs, see .config/

Main principles

  • Minimalism in all aspects
  • Consistency throughout the configuration
  • Simplicity in design and configuration
  • Unified style Catppuccin and JetBrains Mono Font

Usage

I am using dotdrop to manage dotfiles.

  1. Fork this repository and clone it
  2. Run the following commands to install the necessary tooling:
brew bundle
  1. Run the following commands to install the dotfiles:
dotdrop install -c dotdrop.config.yaml -p default --force
dotdrop install -c dotdrop.config.yaml -p macos --force

macOS

To configure macOS I am using defaults, my configuration can be found here.

Run the following commands to configure macOS defaults:

sudo sh macos/defaults.sh

CLI

I am using iTerm2 as my main terminal with the Catppuccin theme applied. My configuration can be found here.

For the shell, I recently switched from zsh to fish, as out of the box it has all batteries included. To manage shell plugins, I am using fisher, but there are only a few installed. My complete configuration can be found here.

In terms of command-line tools, I try to keep them minimal—only the ones I use daily, such as:

A complete list of configurations for each tool can be found in the .config directory.

Helix

I use Helix 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. I 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.

fzf

Another highlight is fzf, which I heavily use for autocompletion and fuzzy search in the shell. I can't imagine my workflow without it.

Applications

I am using Homebrew 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.

Application Launcher - Raycast

I recently moved from the default macOS Spotlight to Raycast. 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.

Hotkeys Daemon - Karabiner

I 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.

My configuration can be found here. The main idea is to implement home row mode using this guide.

Tiling Window Manager - Aerospace

I use AeroSpace as a tiling window manager for macOS, which essentially replicates i3 functionality.

My configuration can be found here. The main idea is to define the following workspaces and bind relevant applications to them:

  • #1 Comms (Telegram, Discord, etc.)
  • #2 Media
  • #3 Notes (Obsidian)
  • #4 Browsing (Zen)
  • #5 Terminal (iTerm2)
  • #6 Coding (Zed, VSCode)
  • #7 Databases (MongoDB Compass, DBeaver)
  • #8 Misc (Insomnia)
  • #9 Misc

Some applications, typically used in "quick pop-up" mode (e.g., macOS default apps), follow a floating layout and are not bound to any workspace.

Editors

Editors - VSCode

I absolutely love VSCode - it's a simple and yet very extensible and powerful editor.

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.

My VSCode configuration can be found here.

Editors - Zed

Despite 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, which I think, as an editor, has a bright future. I personally like how it can be configured and the way plugins are installed.

My Zed plugins and configuration can be found here.

Browser - Zen

As a browser, I am using Zen, with the following extensions installed:

My userChrome.css and userContent.css can be found here and are required to be placed in the chrome/ subfolder in your Zen profile.

To customise different websites, I am using Catppuccin User Styles and my personal configuration, which should be imported in the extension's preferences.

Notes - Obsidian

For note-taking, I am using Obsidian, a very flexible and extensible tool. As sync storage for the Vault (notes, settings, etc.), I am using iCloud.

My current theme is Catppuccin, which can be installed via the built-in plugin manager.

Additionally, I have a few plugins installed:

I also extended the length of readable mode (the default seems quite narrow) by adding custom CSS:

body {
  --file-line-width:1100px
}

Music - Spotify

Spotify is my primary music app, and to customise it I am using Spicetify and spicetify-marketplace.

My current theme is Catppuccin, which can be installed via Marketplace in the themes tab.

There are no other plugins installed apart from the theme.

Messengers

Messengers - Telegram

My main messenger is Telegram with my own version of Catppuccin themes. Both themes can be installed using Telegram's theme manager:

Messengers - Discord

To stay in touch with different communities, I am using Discord, but the official app lacks functionality, so instead I am using Vesktop with the Catppuccin theme installed via "Themes -> Online Themes".

@dark https://catppuccin.github.io/discord/dist/catppuccin-mocha-mauve.theme.css
@light https://catppuccin.github.io/discord/dist/catppuccin-latte-mauve.theme.css

Text Expander - Espanso

For text expansion, I use Espanso, a powerful cross-platform text expander. It lets me define custom snippets that trigger anywhere in the system, saving time and reducing repetitive typing.

My configuration includes a mix of personal and work-related expansions, and can be found here.

Honourable Mentions

f.lux - 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).

CleanShotX - 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.

NordPass and NordVPN - simply the best password manager and VPN client.

DBeaver - simple but powerful database manager.

Wallpapers

My wallpaper collection can be found in this directory. They are organized by style, such as pixel art, or by OS (e.g., Asus ROG, macOS), etc.

0