Welcome to my personal dotfiles repository! This repository contains configuration files for various applications and tools I use on my machine. The setup is managed using GNU Stow for easy symlink management.
- Installation
- Included Configurations
- Syncing to Another Computer
- Forking the Repository
- Usage
- Custom Scripts
- Contributing
- License
To get started with my dotfiles, clone the repository and use GNU Stow to manage the symlinks:
-
Clone the Repository:
git clone https://github.com/Drucial/dotfiles.git cd dotfiles
-
Install GNU Stow (if not already installed):
- On Debian/Ubuntu-based systems:
sudo apt install stow
- On macOS (using Homebrew):
brew install stow
- On Debian/Ubuntu-based systems:
-
Symlink the Configurations: Use Stow to create symlinks for the configuration you want to use. For example, to set up your Neovim configuration:
stow nvim
This command will symlink the contents of the
nvim
directory to your home directory. -
Repeat for Other Configurations: You can repeat the stow command for other configurations like
alacritty
,zsh
,tmux
, etc.:stow alacritty stow zsh
Here's a list of the configurations included in this repository:
- Alacritty: Configuration for the Alacritty terminal emulator.
- Bat: Configuration for
bat
, a cat clone with syntax highlighting. - Borders: Custom border settings for your window manager or terminal.
- GH (GitHub CLI): Configuration for the GitHub command-line interface.
- GH Copilot: Settings related to GitHub Copilot.
- Kitty: Configuration for the Kitty terminal emulator.
- Lazygit: Configuration for Lazygit, a simple terminal UI for git commands.
- Neofetch: Configuration for Neofetch, a command-line system information tool.
- Neovim (Nvim): Configuration for Neovim with plugins and custom settings.
- Raycast: Configuration for Raycast, a productivity tool.
- Screen: Configuration for GNU Screen, a terminal multiplexer.
- Sketchybar: Configuration for Sketchybar, a customizable macOS status bar.
- Starship: Configuration for Starship, a cross-shell prompt.
- Theme: Custom themes for various applications.
- Yabai: Configuration for Yabai, a tiling window manager for macOS.
- Zsh: Configuration files for Zsh, including plugins and themes.
To sync your dotfiles on another computer, follow these steps:
-
Ensure Git and Stow are Installed: Make sure
git
andstow
are installed on the new machine. You can install them using your package manager as shown in the installation section above. -
Clone the Repository: Open a terminal on the new computer and clone your dotfiles repository:
git clone https://github.com/Drucial/dotfiles.git cd dotfiles
-
Symlink the Configurations: Use Stow to set up the configurations you need. For example:
stow nvim stow zsh
-
Customize as Needed: You can edit any configuration files to make machine-specific adjustments if necessary.
-
Pull Updates: If you make changes to your dotfiles on one machine and push them to GitHub, you can update the other machine by navigating to the dotfiles directory and running:
git pull
If you want to create your own version of these dotfiles, you can fork this repository. Here’s how:
-
Fork the Repository:
- Go to the repository page on GitHub: Drucial/dotfiles.
- Click the "Fork" button in the upper right corner of the page. This will create a copy of the repository under your own GitHub account.
-
Clone Your Fork:
- Clone your forked repository to your local machine:
git clone https://github.com/YOUR_USERNAME/dotfiles.git cd dotfiles
- Clone your forked repository to your local machine:
-
Make Your Changes:
- You can now make changes to your fork. Customize the configurations as needed.
-
Push Changes:
- Once you have made your changes, commit them and push to your fork:
git add . git commit -m "Your commit message" git push origin main
- Once you have made your changes, commit them and push to your fork:
-
Sync with Original:
- To keep your fork up to date with the original repository, you can add the original repository as an upstream remote and pull changes:
git remote add upstream https://github.com/Drucial/dotfiles.git git fetch upstream git merge upstream/main
- To keep your fork up to date with the original repository, you can add the original repository as an upstream remote and pull changes:
After installing, you can customize the configurations to suit your workflow. For example, you can edit the .zshrc
, .vimrc
, or alacritty.yml
files to add your own aliases or functions.
To apply changes, you might need to reload your shell or restart applications.
This repository may contain custom scripts to automate tasks or enhance productivity. Check the scripts
directory for more information.
At this time, I am not accepting pull requests for this repository. However, feel free to fork the repository and make any changes you need for your personal use. If you have suggestions or feedback, you can reach out to me directly.
This repository is licensed under the MIT License. See the LICENSE file for more details