Welcome to my Arch Linux WSL Dotfiles repository! This repository contains the configuration files and scripts that I use to customize my Arch Linux environment on Windows Subsystem for Linux (WSL). With the power of GNU Stow, these dotfiles are designed to be cross-platform and easily manageable.
What?! Arch on Windows? Hell yeah!, you can find the Documentation Here!
This dotfiles repository is currently aimed for Arch on WSL, and Ubuntu on WSL, See how to get started with WSL here.
It's also suitable for use in GitHub Codespaces, Gitpod, VS Code Remote - Containers, or even android terminal application like Termux.
This repository aims to provide a seamless setup for my development environment, leveraging Arch Linux on WSL. The configurations include setups for terminal emulators, text editors, shell prompts, and various utilities that enhance productivity and development efficiency.
- Cross-Platform Compatibility: Configurations are designed to work on both WSL and native Linux environments.
- Easy Management with GNU Stow: Simplify dotfile management with symlinked directories, making it easy to update, add, or remove configurations.
- Custom Shell Prompt: Personalized shell prompt with Starship for a clean and informative command line experience.
- Enhanced Terminal Experience: Includes customizations for Neovim, Neofetch, and more.
- Efficient Development Tools: Pre-configured setups for Git, Bat, and more.
- Scripted Installations: Automate the installation process for easy setup on new machines.
Caution
Always review and understand the script's code before running any executable scripts to prevent any undesired modifications to your system.
To get started with these dotfiles, you'll need to have Arch Linux set up on WSL and install GNU Stow. Follow these steps to set up the environment:
-
Clone the Repository:
# Clone this repo git clone https://github.com/alarwasyi98/dotfiles.git ~/.dotfiles cd .dotfiles # Execute install.sh to install dependencies ./install.sh
-
Install GNU Stow:
Make sure GNU Stow is installed on your system. You can install it using your package managers based on your distro:
# arch-based sudo pacman -S stow # debian-based sudo apt install stow -y # osx brew install stow
-
Use Stow to Symlink Dotfiles:
Use stow to create symlinks for the configurations you want to use. For example, to set up the Neovim configuration:
stow neovim
This command will symlink the files from the neovim directory to your home directory.
-
Repeat for Other Configurations:
Use stow for individual configurations you want to set up:
stow bash stow git stow starship stow neofetch # so on
Once the dotfiles are symlinked using GNU Stow, you can start using the customized environment. Open your terminal and enjoy the personalized settings.
- Neovim: Launch Neovim with custom plugins and settings by typing nvim.
- Git: Use Git with your pre-configured .gitconfig.
- Starship Prompt: Enjoy the customized shell prompt with additional information.
- Neofetch: Display system information with custom settings using neofetch.
The repository is organized into directories for each application or tool. Each directory contains the configuration files specific to that tool. Feel free to explore and modify the configurations to suit your preferences.
Stow Convention Structure:
dotfiles/
├── bash/
│ ├── .bashrc
│ └── .bash_aliases
├── git/
│ └── .gitconfig
├── neovim/
│ ├── .config/
│ │ └── nvim/
│ │ ├── init.vim
│ │ └── plugins.vim
├── starship/
│ └── .config/
│ └── starship.toml
├── neofetch/
│ └── .config/
│ └── neofetch/
│ └── config.conf
└── bat/
└── .config/
└── bat/
└── config
Here is a list of software configurations included in this repository:
No | Software | Description | Command |
---|---|---|---|
1 | Bash | Customized Bash shell settings | stow bash |
2 | zsh | Customized Z shell without oh-my-zsh | stow zsh |
3 | Fish | Friendly Interactive Shell | stow fish |
4 | Kitty | Powerful Terminal Emulator | stow starship |
5 | Starship | Cross-shell prompt with Starship | stow starship |
6 | Neofetch | Display system information in terminal | stow neofetch |
No | Software | Description | Command |
---|---|---|---|
1 | Neovim | Modern Vim-based text editor | stow neovim |
2 | Git | Version control system | stow git |
3 | Bat | Cat clone with syntax highlighting | stow bat |
4 | Tmux | Manage multiple terminal sessions | stow tmux |
5 | Termux | Android Terminal Emulator | stow termux |
No | Software | Description | Command |
---|---|---|---|
1 | Yazi | A blazing fast terminal file manager | stow yazi |
2 | Btop | Hardware performance monitoring | stow btop |
3 | GNU Stow | Symlink farm manager for dotfiles | Managed manually |
Contributions are welcome! If you have any improvements or suggestions, feel free to submit a pull request or open an issue. Please ensure that your contributions align with the repository's goals of providing a cross-platform and efficient development environment.
This project is licensed under the MIT License. Feel free to use, modify, and distribute these dotfiles as you see fit.
Thank you for checking out my Arch Linux WSL Dotfiles! If you have any questions or need assistance, feel free to reach out. Happy coding!