# 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. 克隆项目 ```bash git clone https://github.com/yourusername/wsl2-debian-init.git cd wsl2-debian-init ``` 2. 检查 Windows 上的 WSL2 环境(在 CMD 中运行) ```cmd scripts\system\check_windows_wsl.bat ``` 3. 检查 WSL2 内部环境(在 WSL 终端中运行) ```bash ./scripts/system/check_wsl.sh ``` 4. 运行初始化脚本 ```bash ./init.sh ``` 5. 按需运行各个模块的安装脚本 ```bash # 安装 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. 先安装 Neovim:`sudo ./scripts/editor/neovim.sh` 2. 再安装 NvChad:`sudo ./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 ~/.zshrc` 或 `source ~/.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 时,建议配置国内镜像: ```bash 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 ### 常用快捷键 - `` + `th`: 切换主题 - `` + `ff`: 查找文件 - `` + `fw`: 查找文本 - `` + `ch`: 查看所有快捷键 - `` + `h/j/k/l`: 窗口导航 - `` + `s`: 保存文件 - `jk`: 退出插入模式 - ``: 切换到下一个缓冲区 - `` + ``: 切换到上一个缓冲区