{"id":26988636,"url":"https://github.com/michalbastrzyk/dotfiles","last_synced_at":"2026-04-10T02:39:42.708Z","repository":{"id":49500106,"uuid":"439032818","full_name":"MichalBastrzyk/dotfiles","owner":"MichalBastrzyk","description":"A personal collection of configuration files for various tools and applications used in my development environment. This repository includes configurations for Zsh, Neovim, Git, Ghostty terminal, and Homebrew packages. It uses GNU Stow to manage symlinks, ensuring a consistent setup across different machines.","archived":false,"fork":false,"pushed_at":"2025-03-24T13:44:48.000Z","size":8121,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-24T14:37:16.295Z","etag":null,"topics":["configuration","development-environment","dotfiles","git","gnu","gnu-stow","homebrew","macos","macosx","neovim","setup","zsh"],"latest_commit_sha":null,"homepage":"","language":"Lua","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/MichalBastrzyk.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":"2021-12-16T15:10:56.000Z","updated_at":"2025-03-24T13:44:52.000Z","dependencies_parsed_at":"2025-02-25T14:28:44.348Z","dependency_job_id":"6d31cff0-b88b-455f-bfeb-aff94b488403","html_url":"https://github.com/MichalBastrzyk/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/MichalBastrzyk%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichalBastrzyk%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichalBastrzyk%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichalBastrzyk%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MichalBastrzyk","download_url":"https://codeload.github.com/MichalBastrzyk/dotfiles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247073239,"owners_count":20879025,"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":["configuration","development-environment","dotfiles","git","gnu","gnu-stow","homebrew","macos","macosx","neovim","setup","zsh"],"created_at":"2025-04-03T20:27:38.684Z","updated_at":"2026-04-10T02:39:42.656Z","avatar_url":"https://github.com/MichalBastrzyk.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dotfiles\n\nA personal collection of configuration files for my development environment. This repository contains configurations for various tools and applications that I use regularly.\n\n## Overview\n\nThis dotfiles repository uses GNU Stow to manage symlinks, making it easy to set up a consistent environment across different machines. The repository includes configurations for:\n\n- Zsh (shell)\n- Neovim (editor)\n- Git\n- Ghostty (terminal)\n- Homebrew packages\n\n## Requirements\n\n- macOS (some configurations are macOS-specific)\n- [Homebrew](https://brew.sh/)\n- [GNU Stow](https://www.gnu.org/software/stow/)\n\n## Installation\n\n1. Clone this repository to your home directory:\n\n```sh\ngit clone https://github.com/MichalBastrzyk/dotfiles.git ~/dotfiles\n```\n\n2. Run the switch script to set up everything:\n\n```sh\ncd ~/dotfiles\nchmod +x .local/bin/switch.sh\n./.local/bin/switch.sh\n```\n\nOptional: Run this to fix dock slowly appearing.\n\n```sh\ndefaults write com.apple.dock autohide-time-modifier -float 0.50; killall Dock\n```\n\n## What's Included\n\n### Shell Configuration\n\n- .zshrc: Contains aliases and shell customizations\n- .zshenv: Environment variables and path configurations\n- .zshenv: Top-level zsh environment loader\n\n### Neovim Configuration\n\n- init.lua: Basic Neovim configuration\n- .editorconfig: EditorConfig settings\n\n### Git Configuration\n\n- config: Git user information and default settings\n\n### Ghostty Terminal\n\n- config: Terminal appearance settings\n\n### Utility Scripts\n\n- switch.sh: Script for setting up the environment, updating packages, and creating symlinks\n\n### Package Management\n\n- Brewfile: List of packages to be installed via Homebrew\n\nOkay, here's a super compact section for your `README` based on our conversation, focusing on the `hidutil` with `--match` approach:\n\n### Key Remapping [using this guide](https://gist.github.com/paultheman/808be117d447c490a29d6405975d41bd)\n\nRemap keys using a LaunchAgent and `hidutil` for specific devices.\n\n1. List your devices and find `VendorID` and `ProductID` using `hidutil list`.\n2. Use [hidutil-generator](https://hidutil-generator.netlify.app/) to see the codes that you want to use to rebind.\n3. Create `~/Library/LaunchAgents/com.local.KeyRemapping.plist` with the following contents:\n\n```xml\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003c!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\"\u003e\n\u003cplist version=\"1.0\"\u003e\n\u003cdict\u003e\n    \u003ckey\u003eLabel\u003c/key\u003e\n    \u003cstring\u003ecom.local.KeyRemapping\u003c/string\u003e\n    \u003ckey\u003eProgramArguments\u003c/key\u003e\n    \u003carray\u003e\n        \u003cstring\u003e/usr/bin/hidutil\u003c/string\u003e\n        \u003cstring\u003eproperty\u003c/string\u003e\n        \u003cstring\u003e--match\u003c/string\u003e\n        \u003cstring\u003e{\"VendorID\":0x5ac,\"ProductID\":0x24f}\u003c/string\u003e\n        \u003cstring\u003e--set\u003c/string\u003e\n        \u003cstring\u003e{\"UserKeyMapping\":[\n            {\n              \"HIDKeyboardModifierMappingSrc\": 0x700000029,\n              \"HIDKeyboardModifierMappingDst\": 0x700000035\n            },\n            {\n              \"HIDKeyboardModifierMappingSrc\": 0x700000039,\n              \"HIDKeyboardModifierMappingDst\": 0x700000029\n            }\n        ]}\u003c/string\u003e\n    \u003c/array\u003e\n    \u003ckey\u003eRunAtLoad\u003c/key\u003e\n    \u003ctrue/\u003e\n\u003c/dict\u003e\n\u003c/plist\u003e\n```\n\n4. Load the LaunchAgent with:\n\n```sh\nlaunchctl load ~/Library/LaunchAgents/com.local.KeyRemapping.plist\n```\n\nTo unload the LaunchAgent, use:\n\n```sh\nlaunchctl unload ~/Library/LaunchAgents/com.local.KeyRemapping.plist\n```\n\nSource [keybinds/com.local.KeyRemapping.plist](./keybinds/com.local.KeyRemapping.plist)\n\n**Note:** Adjust `VendorID` and `ProductID` as needed.\n\n## Usage\n\nAfter installation, your dotfiles will be symlinked to the appropriate locations. The switch.sh script can be used any time to update your environment:\n\n```sh\nswitch\n```\n\nThis will:\n\n- Update Homebrew packages\n- Install new Homebrew packages listed in the Brewfile\n- Create symlinks for your dotfiles\n\n## Customization\n\nFeel free to fork this repository and modify it according to your preferences. The modular structure makes it easy to add or remove configurations.\n\n## License\n\nThis project is open-source and available under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichalbastrzyk%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichalbastrzyk%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichalbastrzyk%2Fdotfiles/lists"}