dont read it
This commit is contained in:
72
README.md
72
README.md
@ -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.
|
||||
|
||||
Reference in New Issue
Block a user