sebastienrousseau/dotfiles

GitHub: sebastienrousseau/dotfiles

一套由 Chezmoi 管理的企业级跨平台 Shell 配置框架,支持加密机密管理、自愈修复和确定性运行时环境。

Stars: 62 | Forks: 17

Dotfiles logo

.dotfiles

跨平台 Shell 配置,支持 macOS、Linux 和 WSL。由 Chezmoi 管理。

Build Version Downloads Open in GitHub Codespaces

## 安装 ``` bash -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/main/install.sh)" ``` 然后验证: ``` dot doctor ``` 需要 `git` 和 `curl`。适用于 macOS、Ubuntu/Debian、Arch 和 WSL2。
CI/CD 和 Docker 选项 非交互式安装: ``` DOTFILES_SILENT=1 DOTFILES_NONINTERACTIVE=1 \ bash -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/main/install.sh)" ``` Docker 沙箱: ``` docker run --rm -e DOTFILES_NONINTERACTIVE=1 ubuntu:24.04 bash -c \ 'apt-get update -qq && apt-get install -y -qq git curl sudo >/dev/null 2>&1 \ && git clone --depth 1 https://github.com/sebastienrousseau/dotfiles.git ~/.dotfiles \ && bash ~/.dotfiles/install.sh \ && export PATH="$HOME/.local/bin:$PATH" \ && dot doctor' ```
## 概述 一个幂等的 Shell 环境,在每台机器上为您提供相同的配置。Chezmoi 负责处理模板、功能开关和平台差异。 - 通过 Age/SOPS 实现**加密机密** — 仓库中无明文凭据 - 通过 Mise 和 Nix 实现**隔离运行时** — 不进行系统级安装 - 通过 `dot heal` 实现**自我修复** — 自动安装缺失的工具 - 默认**禁用遥测** — 无数据离开您的设备 ## 架构 运行一次或一百次 — 结果都是一样的。 ``` graph TD A[User Shell] --> B{dot CLI} B --> C[Diagnostics: dot doctor / smoke-test] B --> D[Maintenance: dot update / prewarm] B --> E[Lifecycle: dot apply / rollback] D --> F[Chezmoi Source] F --> G[Zsh / Fish / Bash Configs] F --> H[Tool Runtimes: Mise / Nix] G --> I[~/.cache/shell/: Fast Init] ``` ## 功能特性 | | | | :--- | :--- | | **启动** | 通过延迟加载 (`_cached_eval`) 实现首次提示 < 50ms | | **Shell** | Zsh, Fish, Nushell,共享别名和函数核心 | | **平台** | macOS, Ubuntu/Debian, Arch, WSL2 | | **运行时** | Mise (多语言) 和 Nix Flakes (确定性) | | **机密** | Age + SOPS 加密,支持感知提供者的存储 | | **签名** | 强制执行 SSH ED25519 提交签名 | | **备份** | 每次 `dot apply` 时进行原子快照 | | **测试** | 1,200+ 断言,100% 模块覆盖率 | | **CI** | ShellCheck, shfmt, 合规卫士, CodeQL | ## `dot` CLI | 命令 | 作用 | | :--- | :--- | | `dot apply` | 传播配置更改 | | `dot update` | 拉取最新内容并预热缓存 | | `dot doctor` | 验证路径、版本和安全性 | | `dot heal` | 自动修复缺失的工具和损坏的状态 | | `dot smoke-test` | 验证工具链 (Rust, Go, AI CLIs) | | `dot bundle` | 创建离线便携式归档 | 完整参考:[docs/UTILS.md](docs/UTILS.md) ## 包含内容
Shell 和导航 - **Zsh** — 主 Shell,具有模块化 `rc.d` 延迟加载功能 - **Fish** — 交互式 Shell,具有 `_cached_eval` 启动优化 - **Nushell** — 通过 Shell 管道进行结构化数据处理 - **Starship** — 跨 Shell 提示符,仅显示关键信息 - **Zoxide** — 学习您习惯的目录跳转器 - **Atuin** — 可搜索的 Shell 历史记录,跨机器同步 - **fzf** — 用于文件、历史记录和 git 的模糊查找器
开发和运行时 - **Mise** — 多语言运行时管理器 (Node, Python, Go, Rust) - **Nix Flakes** — 声明式、可重现的工具链 - **Pueue** — 用于长时间运行作业的后台任务队列 - **Neovim** — 基于 Lua 的 IDE 配置,使用 lazy.nvim - **Lazygit** — Git 工作流的终端 UI
安全和机密 - **Age / SOPS** — 静态加密机密,绝不以明文形式提交 - **SSH 签名** — 每次提交均强制执行 ED25519 签名 - **Gitleaks** — 提交前扫描防止凭据泄露 - **禁用遥测** — 操作系统级阻断开关,无需选择退出 - **审计日志** — 每个 `dot` 命令记录到 `~/.local/share/dotfiles.log`
有关加固选项,请参阅 [安全文档](docs/SECURITY.md)。 **架构师** ᛫ [Sebastien Rousseau](https://sebastienrousseau.com) **引擎** ᛞ [EUXIS](https://euxis.co) ᛫ Enterprise Unified Execution Intelligence System ## 许可证 根据 **MIT License** 授权。详见 [LICENSE](LICENSE)。

返回顶部

标签:Arch Linux, Awesome, Bash, Chezmoi, Debian, DNS解析, Docker, Dotfiles, GitHub Codespaces, Idempotent, Linux配置, macOS配置, Rust工具链, Shell配置, Terminal, Trusted Shell, Zsh, 企业级安全, 可视化界面, 安全防御评估, 幂等性, 应用安全, 开发环境, 开源框架, 开源项目, 持续集成, 点文件, 特权提升, 生产力工具, 硬ening, 系统管理, 网络安全研究, 自动化部署, 请求拦截