这是作者个人配置,README 自称 Buyer beware,直接套用前需自行改写 .extra 等私有内容;Switchboard 的 ~/.config/switchboard/accounts.toml 需本地先填真实账号,否则激活会保留旧配置;homeConfigurations 输出只是测试夹具,不要直接 activate
make
nix flake check --no-update-lock-fileREADME 未说明;CI 在 x86-64 Linux、ARM Linux 和 ARM macOS 上构建检查
作者个人 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 两套自检流程
容易踩的坑
暂无 release 数据(可能没有发版,或尚未同步)。
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
dotfiles
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'