dotfiles

jessfrazMIT活跃维护

一套个人 Linux 与容器环境的 Shell 配置集合,涵盖 bash、Docker 等日常开发环境设置,可直接参考或改造成自己的 dotfiles。

My dotfiles. Buyer beware ;)

暂无版本3,564star +1 / 7 天505fork同步于 2026-11-10 11:40 UTC

怎么上手

由 README 提炼,执行前请确认
make
nix flake check --no-update-lock-file
硬件要求按 README 说明

README 未说明;CI 在 x86-64 Linux、ARM Linux 和 ARM macOS 上构建检查

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

作者个人 dotfiles 仓库,用 Nix/Home Manager 或 make 软链把 shell、vim 等配置铺到 home 目录

一套个人 Linux 与容器环境的 Shell 配置集合,涵盖 bash、Docker 等日常开发环境设置,可直接参考或改造成自己的 dotfiles。

核心能力

  • 通过 flake 导出 homeManagerModules.default 供 Home Manager 导入
  • legacy 方式用 make 在 home 目录创建指向本仓库的软链
  • 用 .extra 文件集中存放 git、Gmail 等环境变量与凭据
  • Switchboard 账号别名写入 accounts.toml 并在激活前校验
  • 提供 nix flake check 与 make test 两套自检流程

容易踩的坑

这是作者个人配置,README 自称 Buyer beware,直接套用前需自行改写 .extra 等私有内容;Switchboard 的 ~/.config/switchboard/accounts.toml 需本地先填真实账号,否则激活会保留旧配置;homeConfigurations 输出只是测试夹具,不要直接 activate

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

0 个版本

暂无 release 数据(可能没有发版,或尚未同步)。

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    dotfiles

    make test

    Table of Contents

    About

    Installing

    For Nix, import homeManagerModules.default from this flake through Home Manager. The host configuration supplies the username, home directory, and state version. global-nix also enables Bash completion and installs the Zoo and rustup completion files used by the .nixbash startup fragment.

    For the legacy Linux installation:

    $ make
    

    This will create symlinks from this repo to your home folder.

    Customizing

    Save env vars, etc in a .extra file, that looks something like this:

    ###
    ### Git credentials
    ###
    
    GIT_AUTHOR_NAME="Your Name"
    GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"
    git config --global user.name "$GIT_AUTHOR_NAME"
    GIT_AUTHOR_EMAIL="[email protected]"
    GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"
    git config --global user.email "$GIT_AUTHOR_EMAIL"
    GH_USER="nickname"
    git config --global github.user "$GH_USER"
    
    ###
    ### Gmail credentials for mutt
    ###
    export [email protected]
    export GMAIL_NAME="Your Name"
    export [email protected]
    

    Resources

    .vim

    For my .vimrc and .vim dotfiles see github.com/jessfraz/.vim.

    Contributing

    Switchboard keeps Google account identities in the private runtime file ~/.config/switchboard/accounts.toml, with owner-only permissions:

    [google]
    personal = "[email protected]"
    work = "[email protected]"
    

    Provision the real values locally before activation. Nix contains only their aliases; activation validates the resolved configuration before replacing the live file. Missing bindings or failed validation preserve the current config.

    Running the tests

    Run the native Nix checks, including a complete Home Manager fixture and an editor smoke test:

    $ nix flake check --no-update-lock-file
    

    CI builds these checks on x86-64 Linux, ARM Linux, and ARM macOS. The homeConfigurations outputs are test fixtures, not host profiles; do not activate them.

    The shell scripts are also checked with shellcheck in a container:

    $ make test
    

    The account-binding tests use the installed Switchboard for native validation:

    $ python3 -B -m unittest discover -s tests -p 'test_switchboard_config.py'