diff --git a/docs/tech_docs/linux/debian_setup.md b/docs/tech_docs/linux/debian_setup.md new file mode 100644 index 0000000..5321a11 --- /dev/null +++ b/docs/tech_docs/linux/debian_setup.md @@ -0,0 +1,103 @@ +Combining the thoroughness of managing a Linux desktop environment with `i3-gaps`, `Polybar`, `Rofi`, `Picom`, using GNU Stow, and the concise approach tailored for keyboard-centric developers, we can construct a comprehensive yet streamlined Custom Dotfiles Management Guide. This guide is designed for developers who prefer a mouseless environment, utilizing powerful tools like VIM, TMUX, and the CLI, alongside a sophisticated desktop environment setup. + +## Custom Dotfiles and Desktop Environment Management Guide + +### Overview + +This guide targets developers who emphasize a keyboard-driven workflow, incorporating a mouseless development philosophy with a focus on tools such as VIM, TMUX, alongside a minimalistic and efficient Linux desktop environment. It covers organizing, backing up, and replicating dotfiles and desktop configurations across Unix-like systems for a seamless development experience. + +### Steps to Get Started + +#### 1. **Initialize Your Dotfiles Repository** + +Create a centralized location for your configurations and scripts: + +```bash +mkdir ~/dotfiles && cd ~/dotfiles +``` + +#### 2. **Migrate Configurations and Environment Setup** + +Relocate your configuration files and desktop environment settings: + +```bash +mkdir i3-gaps polybar rofi picom vim tmux cli +# Move configurations into their respective directories +mv ~/.config/i3/* i3-gaps/ +mv ~/.config/polybar/* polybar/ +mv ~/.config/rofi/* rofi/ +mv ~/.config/picom/* picom/ +mv ~/.vimrc vim/ +mv ~/.tmux.conf tmux/ +mv ~/.bashrc cli/ +# Extend this to include all necessary configurations +``` + +#### 3. **Leverage GNU Stow for Symlinking** + +Use Stow to create symlinks, simplifying the management process: + +```bash +stow i3-gaps polybar rofi picom vim tmux cli +``` + +This command will symlink the directories' contents back to your home and `.config` directories, keeping your workspace organized. + +#### 4. **Incorporate Git for Version Control** + +Track your configurations and ensure they're version-controlled: + +```bash +git init +git add . +git commit -m "Initial setup of dotfiles and desktop environment configurations" +``` + +#### 5. **Backup and Collaboration** + +Push your configurations to a remote repository: + +```bash +git remote add origin +git push -u origin master +``` + +#### 6. **Efficient Replication and Deployment** + +Clone your repository to replicate your setup across various systems: + +```bash +git clone ~/dotfiles +cd ~/dotfiles +stow * +``` + +#### 7. **Automate and Script Your Setup** + +Create scripts to automate the symlinking and setup process: + +```bash +#!/bin/bash + +# Automate the stow process +stow i3-gaps polybar rofi picom vim tmux cli +# Include additional automation steps as necessary +``` + +Make sure your script is executable: + +```bash +chmod +x setup.sh +``` + +### Best Practices + +- **Keep Organized:** Use a structured approach to manage your dotfiles, categorizing them logically. +- **Document Everything:** A detailed `README.md` can guide you or others through setup and usage. +- **Security First:** Exclude sensitive data from your public repositories. + +### Continuous Evolution + +Regularly revisit and refine your configurations to suit evolving needs and insights, ensuring your development environment remains both efficient and enjoyable. + +By integrating the dotfiles management with desktop environment customization, this guide offers a holistic approach to setting up a highly personalized and efficient development workspace. \ No newline at end of file