Add docs/tech_docs/linux/debian_setup.md
This commit is contained in:
103
docs/tech_docs/linux/debian_setup.md
Normal file
103
docs/tech_docs/linux/debian_setup.md
Normal file
@@ -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 <repository-URL>
|
||||||
|
git push -u origin master
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 6. **Efficient Replication and Deployment**
|
||||||
|
|
||||||
|
Clone your repository to replicate your setup across various systems:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone <repository-URL> ~/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.
|
||||||
Reference in New Issue
Block a user