WSL2 Debian 开发环境配置

这是一个用于在 Windows 11 上配置 WSL2 Debian 开发环境的项目。该项目提供了一系列脚本来自动化安装和配置各种开发工具和环境。

功能特性

基础系统环境

  • 安装 WSL2 Debian
  • 系统更新和配置
  • 配置镜像源
  • 安装基础工具
  • WSL2 环境检查Windows 端)
  • WSL2 环境检查Linux 端)

Shell 环境

  • 安装和配置 Zsh
  • 安装常用 Zsh 插件
    • zsh-autosuggestions
    • zsh-syntax-highlighting
    • zsh-completions
    • autojump
    • fzf
    • zsh-nvm
    • pyenv

编辑器环境

  • 安装和配置 Neovim
  • 安装常用 Neovim 插件
  • 配置 NvChad

开发工具链

  • Docker 和 Docker Compose
  • Go 语言环境
  • Node.js 环境
  • Python 环境
  • PHP 开发环境(使用 DNMP

系统工具

  • Git 配置和工具
  • 系统监控工具
  • 网络工具
  • 安全工具
  • 终端工具
  • 开发效率工具

项目结构

.
├── README.md
├── init.sh
└── scripts/
    ├── shell/
    │   ├── zsh.sh
    │   └── plugins.sh
    ├── editor/
    │   ├── neovim.sh
    │   └── nvchad.sh
    ├── devtools/
    │   ├── docker.sh
    │   ├── go.sh
    │   ├── node.sh
    │   └── python.sh
    ├── php/
    │   └── dnmp.sh
    ├── system/
    │   ├── check_windows_wsl.bat
    │   └── check_wsl.sh
    └── utils/
        ├── git.sh
        └── tools.sh

使用方法

系统要求

  • Windows 11
  • WSL2
  • Debian 12

安装步骤

  1. 克隆项目
git clone https://github.com/yourusername/wsl2-debian-init.git
cd wsl2-debian-init
  1. 检查 Windows 上的 WSL2 环境(在 CMD 中运行)
scripts\system\check_windows_wsl.bat
  1. 检查 WSL2 内部环境(在 WSL 终端中运行)
./scripts/system/check_wsl.sh
  1. 运行初始化脚本
./init.sh
  1. 按需运行各个模块的安装脚本
# 安装 Shell 环境
./scripts/shell/zsh.sh
./scripts/shell/plugins.sh

# 安装编辑器环境
./scripts/editor/neovim.sh
./scripts/editor/nvchad.sh

# 安装开发工具链
./scripts/devtools/docker.sh
./scripts/devtools/go.sh
./scripts/devtools/node.sh
./scripts/devtools/python.sh

# 安装 PHP 开发环境
./scripts/php/dnmp.sh

# 安装系统工具
./scripts/utils/git.sh
./scripts/utils/tools.sh

脚本说明

系统环境脚本

  • scripts/system/check_windows_wsl.bat: 在 Windows 端检查 WSL2 环境,包括:

    • Windows 版本检查
    • WSL 安装检查
    • WSL2 状态检查
    • 虚拟化检查
    • Debian 安装检查
    • Windows 功能检查
  • scripts/system/check_wsl.sh: 在 WSL 端检查环境,包括:

    • Windows 版本检查
    • WSL 版本检查
    • 系统要求检查
    • Debian 版本检查
    • 系统更新检查
    • 必要组件检查
    • 网络连接检查
    • WSL 配置检查

Shell 环境脚本

  • scripts/shell/zsh.sh: 安装和配置 Zsh
  • scripts/shell/plugins.sh: 安装常用 Zsh 插件

编辑器环境脚本

  • scripts/editor/neovim.sh: 安装和配置 Neovim

    • 自动检查并安装 Neovim 0.10.0 或更高版本
    • 自动安装必要的依赖GCC、Make、Python3、Node.js等
    • 配置 Python 和 Node.js 支持
    • 使用方法:sudo ./scripts/editor/neovim.sh
  • scripts/editor/nvchad.sh: 配置 NvChad

    • 自动安装 NvChad 及其依赖
    • 配置基本的 LSP 支持Lua、Python、TypeScript等
    • 配置常用快捷键和主题
    • 使用方法:
      1. 先安装 Neovimsudo ./scripts/editor/neovim.sh
      2. 再安装 NvChadsudo ./scripts/editor/nvchad.sh
      3. 启动 Neovim 并等待插件安装完成:nvim
      4. 安装 LSP 服务器:在 Neovim 中运行 :MasonInstallAll

开发工具链脚本

  • scripts/devtools/docker.sh: 安装 Docker 和 Docker Compose
  • scripts/devtools/go.sh: 安装 Go 语言环境
  • scripts/devtools/node.sh: 安装 Node.js 环境
  • scripts/devtools/python.sh: 安装 Python 环境

PHP 开发环境脚本

  • scripts/php/dnmp.sh: 安装和配置 PHP 开发环境(使用 DNMP
    • 自动安装 Docker 和 DNMP 环境
    • 配置 PHP 8.2、MySQL 8.0、Redis 7.0 等最新版本
    • 提供优雅的 PHP 和 Composer 命令别名
    • 支持 Laravel 开发环境
    • 使用方法:
      1. 运行安装脚本:sudo ./scripts/php/dnmp.sh
      2. 使别名生效:source ~/.zshrcsource ~/.bashrc
      3. 访问 http://localhost 查看 PHP 信息页面

PHP 开发环境特性

  1. 优雅的命令行工具

    • 直接在宿主机使用 php 命令:php -v
    • 直接在宿主机使用 composer 命令:composer install
    • 所有命令都会在 Docker 容器中执行,无需进入容器
  2. Laravel 开发支持

    • 提供常用 Laravel 命令别名:
      • laravel: 执行 artisan 命令
      • laravel-make: 创建新的 Laravel 组件
      • laravel-migrate: 执行数据库迁移
      • laravel-seed: 执行数据库填充
      • laravel-test: 运行测试
      • laravel-route: 查看路由列表
      • laravel-config: 清除配置缓存
      • laravel-cache: 清除应用缓存
      • laravel-view: 清除视图缓存
      • laravel-optimize: 优化应用
  3. 开发工具支持

    • PHPUnit 测试框架
    • PHP_CodeSniffer 代码规范检查
    • PHP_CodeBeautifier 代码格式化
  4. 默认配置

    • MySQL 密码123456
    • Redis 密码123456
    • 安装目录:/opt/dnmp
    • 网站目录:/opt/dnmp/www
  5. 常用命令

    • dphp: 进入 PHP 容器
    • dcomposer: 在容器中执行 Composer 命令
    • dphpunit: 执行 PHPUnit 测试
    • dphpcs: 执行代码规范检查
    • dphpcbf: 执行代码格式化
  6. 注意事项

    • 首次使用 Composer 时,建议配置国内镜像:
      composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
      
    • 如果遇到权限问题,请确保当前用户在 docker 组中
    • 建议在项目根目录下创建 .env 文件配置数据库连接信息

系统工具脚本

  • scripts/utils/git.sh: 配置 Git 和安装 Git 工具
  • scripts/utils/tools.sh: 安装各种系统工具和开发效率工具

常见问题

  1. 如果遇到权限问题,请使用 sudo 运行脚本
  2. 如果遇到网络问题,请检查网络连接或使用代理
  3. 如果遇到依赖问题,请先运行 sudo apt-get update && sudo apt-get upgrade

贡献指南

欢迎提交 Issue 和 Pull Request 来帮助改进这个项目。

许可证

MIT License

常用快捷键

  • <Space> + th: 切换主题
  • <Space> + ff: 查找文件
  • <Space> + fw: 查找文本
  • <Space> + ch: 查看所有快捷键
  • <Ctrl> + h/j/k/l: 窗口导航
  • <Ctrl> + s: 保存文件
  • jk: 退出插入模式
  • <Tab>: 切换到下一个缓冲区
  • <Shift> + <Tab>: 切换到上一个缓冲区
Description
这是一个用于在 Windows 11 上配置 WSL2 Debian 开发环境的项目
Readme 107 KiB
Languages
Shell 81.4%
PowerShell 10.4%
Batchfile 8.2%