dont read it

This commit is contained in:
2025-10-02 14:41:00 +02:00
parent e613abdf9f
commit 1586f2c2e6

View File

@ -1,18 +1,66 @@
# My motherfucking dotfiles
# Dotfiles
My personal collection of configuration files (dotfiles) for a consistent and productive development environment on Debian-based Linux systems.
This setup is managed using `stow` for symlinking and includes configurations for Zsh, Tmux, Neovim, and more.
## Prerequisites
Before you begin, ensure you have the following installed:
* `git`: For cloning the repository.
* `curl`: Used by the installation script to fetch dependencies.
* A Debian-based Linux distribution (e.g., Ubuntu, Debian) is assumed for the installation script (`apt`).
## Installation
```bash
# Clone the Repository
git clone https://git.simonis.lol/csimonis/dotfiles.git ~/dotfiles
cd ~/dotfiles
The installation is automated via a single script.
# Installs system dependencies and does some other stuff
./install
# Creates Symlinks and installs zsh themes and plugins
./setup
```
1. **Clone the repository:**
## Contributing
```bash
git clone --recursive https://git.simonis.lol/csimonis/dotfiles.git ~/.dotfiles
```
*Note: Using `--recursive` is important as it will clone all the necessary git submodules for plugins (like for zsh and tmux).*
### If you want to contribute for whatever fucking reasion go fuck yourself
2. **Run the installation script:**
```bash
cd ~/.dotfiles
./scripts/install
```
The `install` script will:
- Update system packages.
- Install essential command-line tools like `zsh`, `stow`, `tmux`, `eza`, `bat`, and `btop`.
- Install [Oh My Zsh](https://ohmyzsh.com/).
- Initialize the git submodules.
- Create a local `.zshenv` file for environment variables.
- Set up the git configuration.
- Use `stow` to create symlinks for all the configurations in your home directory.
## What's Included?
This repository configures the following tools:
- **Shell:** Zsh, configured via `.zshrc`, with [Oh My Zsh](https://ohmyzsh.com/).
- **Prompt:** [Powerlevel10k](https://github.com/romkatv/powerlevel10k) theme.
- **Plugins:** `zsh-autosuggestions`, `zsh-syntax-highlighting`.
- **Terminal Multiplexer:** [Tmux](https://github.com/tmux/tmux/wiki), with plugins managed by [TPM](https://github.com/tmux-plugins/tpm).
- **Editor:** [Neovim](https://neovim.io/) with a [LazyVim](https://www.lazyvim.org/) based setup. Plugins are managed via `lazy.nvim`.
- **Git:** Global git configuration and ignores.
- **Other Tools:** Configuration for `atuin`, `btop`, `neofetch`, and more.
## Structure
- **`stow`:** The configurations are structured to be symlinked by [GNU Stow](https://www.gnu.org/software/stow/). The `stow .` command in the `setup` script handles the symlinking of all packages in the root of this repository.
- **Submodules:** Git submodules are used to manage third-party plugins for tools like Zsh and Tmux to keep them self-contained and version-controlled.
- **`scripts/`:** Contains scripts for installation, setup, and post-merge git hooks.
## Post-Installation
- **Tmux Plugins:** Start `tmux` and press `prefix + I` (that's a capital I) to fetch the plugins defined in `.tmux.conf`.
- **Neovim Plugins:** The first time you open `nvim`, [Lazy.nvim](https://github.com/folke/lazy.nvim) will automatically install all the configured plugins.
## License
This project is licensed under the MIT License.