{"id":30151816,"url":"https://github.com/pchomik/dotfiles","last_synced_at":"2026-04-11T19:04:45.619Z","repository":{"id":306038632,"uuid":"1022781690","full_name":"pchomik/dotfiles","owner":"pchomik","description":"Your Personalized Development Environment","archived":false,"fork":false,"pushed_at":"2025-07-23T08:44:58.000Z","size":2105,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-23T10:33:30.490Z","etag":null,"topics":["bat","configuration","dotfiles","eza","fzf","linux","nvim","shell","snippets","starship","tmux","zoxide","zsh"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pchomik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2025-07-19T20:13:34.000Z","updated_at":"2025-07-23T08:45:02.000Z","dependencies_parsed_at":"2025-07-23T10:33:33.735Z","dependency_job_id":"6ed5d50d-e8e3-4271-9662-b04fbdac530a","html_url":"https://github.com/pchomik/dotfiles","commit_stats":null,"previous_names":["pchomik/dotfiles"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/pchomik/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pchomik%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pchomik%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pchomik%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pchomik%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pchomik","download_url":"https://codeload.github.com/pchomik/dotfiles/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pchomik%2Fdotfiles/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269873158,"owners_count":24488993,"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-08-11T02:00:10.019Z","response_time":75,"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":["bat","configuration","dotfiles","eza","fzf","linux","nvim","shell","snippets","starship","tmux","zoxide","zsh"],"created_at":"2025-08-11T11:03:20.756Z","updated_at":"2025-12-30T21:47:37.584Z","avatar_url":"https://github.com/pchomik.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 Dotfiles: Your Personalized Development Environment 🚀\n\nWelcome to my personal collection of dotfiles! This repository is designed to help you set up a consistent and powerful development environment across multiple machines. With a single command, you can have your favorite tools configured and ready to go.\n\n## ✨ Features\n\n-   **Consistent Configuration:** Keep your settings for `zsh`, `neovim`, `tmux`, and more in one place.\n-   **Easy Installation:** A simple setup process to get you up and running quickly.\n-   **Customizable:** Easily extend and modify the configurations to fit your needs.\n\n## 🛠️ Requirements\n\nBefore you begin, make sure you have the following tools installed:\n\n-   `stow`: For managing symlinks.\n-   `zsh`: A powerful and customizable shell.\n-   `git`: For version control.\n-   `neovim`: The best text editor!\n-   `nodejs`: JavaScript runtime.\n\n## 📦 Included Tools and Configurations\n\nThis repository includes configurations for a variety of tools to enhance your terminal and development experience.\n\n### Shell Enhancements\n\n-   **Starship:** A minimal, blazing-fast, and infinitely customizable prompt for any shell!\n-   **FZF:** A command-line fuzzy finder for quickly searching and locating files.\n-   **Eza:** A modern replacement for `ls` with more features and better defaults.\n-   **Bat:** A `cat` clone with syntax highlighting and Git integration.\n-   **Zoxide:** A smarter `cd` command that learns your habits.\n-   **TLDR:** Collaborative cheatsheets for console commands.\n\n### Development Tools\n\n-   **Bun:** A fast all-in-one JavaScript runtime, bundler, transpiler, and package manager.\n-   **Go:** A statically typed, compiled programming language designed at Google.\n-   **NVM:** Node Version Manager for managing multiple active Node.js versions.\n-   **Pyenv:** Python Version Management for switching between multiple Python versions.\n-   **Tmux:** A terminal multiplexer for managing multiple terminal sessions.\n-   **Git:** A distributed version control system.\n\n### Editor Configuration\n\n-   **Neovim:** A highly extensible, Vim-based text editor. The configuration includes a wide range of plugins to enhance functionality:\n    -   **LSP:** Language Server Protocol support for intelligent code completion and diagnostics.\n    -   **Alpha:** A fast and fully programmable start screen.\n    -   **Auto-session:** A session manager for Neovim.\n    -   **Autopairs:** Inserts or deletes brackets, parens, quotes in pair.\n    -   **Bufferline:** A sleek and functional buffer line.\n    -   **Colorizer:** A plugin for visualizing colors in your code.\n    -   **Colorschema:** A collection of colorschemes.\n    -   **Dressing:** A plugin to improve the default UI of Neovim.\n    -   **Formatting:** A plugin for formatting your code.\n    -   **Indent-blankline:** A plugin to display indentation guides.\n    -   **Linting:** A plugin for linting your code.\n    -   **Lualine:** A fast and lightweight statusline.\n    -   **Cmp:** A completion engine for Neovim.\n    -   **Tree:** A file explorer tree.\n    -   **Substitution:** A plugin for substitutions.\n    -   **Surround:** A plugin for adding/changing/deleting surroundings of text.\n    -   **Telescope:** A highly extendable fuzzy finder over lists.\n    -   **Treesitter:** A parser generator tool and an incremental parsing library.\n    -   **Trouble:** A pretty list for showing diagnostics, references, and more.\n    -   **Vim-maximizer:** A plugin to maximize and restore the current window.\n    -   **Which-key:** A plugin to display a popup with possible keybindings.\n\n## 📸 Examples\n\nHere are some screenshots showcasing the configured tools in action.\n\n\u003cdetails\u003e\n\u003csummary\u003eZsh Prompt (Starship)\u003c/summary\u003e\n\u003cimg src=\"examples/zsh.png\" width=\"600px\"\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eNeovim Editor\u003c/summary\u003e\n\u003cimg src=\"examples/nvim.png\" width=\"600px\"\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eFuzzy Finder (FZF)\u003c/summary\u003e\n\u003cimg src=\"examples/fzf.png\" width=\"600px\"\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eModern `ls` (Eza)\u003c/summary\u003e\n\u003cimg src=\"examples/eza.png\" width=\"600px\"\u003e\n\u003c/details\u003e\n\n## ⚙️ Installation Steps\n\n### 1. Install Dependencies\n\nFirst, let's get all the necessary packages installed on your system.\n\n\u003cdetails\u003e\n\u003csummary\u003eFor Ubuntu/Debian\u003c/summary\u003e\n\n```shell\nsudo apt update \u0026\u0026 sudo apt install -y stow zsh git neovim python3-neovim tmux tree tldr\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eFor Fedora\u003c/summary\u003e\n\n```shell\nsudo dnf install -y stow zsh git neovim python3-neovim tmux tree tldr\n```\n\n\u003c/details\u003e\n\n### 2. Install `nvm` and `NodeJS` 📦\n\nWe use `nvm` to manage Node.js versions.\n\n```shell\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash\nnvm install --lts\n```\n\n### 3. Install `neovim` 📝\n\nChoose the installation method that best suits your operating system.\n\n\u003cdetails\u003e\n\u003csummary\u003eFor Ubuntu\u003c/summary\u003e\n\n```shell\nsudo add-apt-repository ppa:neovim-ppa/unstable -y\nsudo apt update\nsudo apt install make gcc ripgrep unzip git xclip neovim\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eFor Debian\u003c/summary\u003e\n\n```shell\nsudo apt update\nsudo apt install make gcc ripgrep unzip git xclip curl\n\n# Install nvim\ncurl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz\nsudo rm -rf /opt/nvim-linux-x86_64\nsudo mkdir -p /opt/nvim-linux-x86_64\nsudo chmod a+rX /opt/nvim-linux-x86_64\nsudo tar -C /opt -xzf nvim-linux-x86_64.tar.gz\n\n# Make it available\nsudo ln -sf /opt/nvim-linux-x86_64/bin/nvim /usr/local/bin/\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eFor Fedora\u003c/summary\u003e\n\n```shell\nsudo dnf install -y gcc make git ripgrep fd-find unzip neovim\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eFrom Source\u003c/summary\u003e\n\n```shell\nsudo apt remove neovim\nsudo apt autoremove\nsudo apt install ninja-build gettext cmake unzip curl\ngit clone https://github.com/neovim/neovim\ncd neovim\nmake CMAKE_BUILD_TYPE=RelWithDebInfo\ncd build\ncpack -G DEB\nsudo dpkg -i --force-overwrite nvim-linux-x86_64.deb\n```\n\n\u003c/details\u003e\n\n### 4. Apply Configuration 🪄\n\nNow, let's apply the dotfiles configuration.\n\n```shell\ncd dotfiles\nstow --ignore=\"README.md\" --ignore=\"examples\" -t ~/ .\n```\n\n**Note:** If `stow` reports an error, it might be because a file that needs to be symlinked already exists in your home directory. In this case, you should **backup** the existing file(s) and then run the `stow` command again.\n\n### 5. Configure `git` ✍️\n\nCreate a `.gitcustom.inc` file to store your personal `git` information.\n\n```shell\ntouch ~/.gitcustom.inc\n```\n\nThen, add the following content to the file:\n\n```\n[user]\nname = Your Name\nemail = your.email@gmail.com\n```\n\n### 6. Change Your Shell to `zsh` 🐚\n\nFinally, let's make `zsh` your default shell.\n\n```shell\nchsh -s $(which zsh)\n```\n\n\u003cbr\u003e\n\n---\n\n\u003cbr\u003e\n\n\u003cdiv align=\"center\"\u003eEnjoy your beautifully configured and efficient terminal! 🎉\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpchomik%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpchomik%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpchomik%2Fdotfiles/lists"}