使用前务必备份 home 目录,建议先用 --check 和 --diff 试运行;本项目只管理 dotfiles,所需软件包需另用 arch-config、void-config 或 nix-config 安装;desktop 主机不能使用 root 用户,且需提前用 ssh-copy-id 分发公钥
dotfiles
eoli3n活跃维护一套基于 Ansible 的 Sway 暗色桌面配置,覆盖 Arch Linux 与 NixOS,集成 fish、Neovim、Polybar 等组件,开箱即用。
Sway acid dark
git clone https://github.com/*/dotfiles
cd dotfiles
cp hosts.template hosts
ansible-playbook install.yml -CDREADME 未说明硬件要求,仅面向 Sway 桌面环境,未提及 GPU 或显存
用 Ansible 把 Sway 桌面和 CLI 的 dotfiles 推送到多台主机的配置仓库
一套基于 Ansible 的 Sway 暗色桌面配置,覆盖 Arch Linux 与 NixOS,集成 fish、Neovim、Polybar 等组件,开箱即用。
核心能力
- 用 Ansible roles 按模块组织各类 dotfiles
- 用 jinja2 模板按主机和用户生成配置
- 支持 --check 与 --diff 试运行和差异预览
- 通过 hosts 清单区分 cli 与 desktop 两类主机
- 支持从任意主机推送或拉取 dotfiles
容易踩的坑
暂无 release 数据(可能没有发版,或尚未同步)。
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Sway Acid Dark
Sway fish pure waybar neovim

Tiny irc client

Firefox/Tabliss Wofi

Connman/Thunar GTK Theme

Why Ansible ?
- Modularity: Roles as modules.
- Factorization: It uses jinja2 templating engine.
- Simplicity: No agent, only SSH, available via pip.
- Flexibility: Push your dotfiles from/to any hosts.
- Toolbox: Dry-run mode, diff mode, secrets encryption, tags...
How to
Use carefully, backup your home before using !
You should use --check and --diff to dryrun first.
Check details in roles/*/README.md.
This project only manages dotfiles.
To install required packages, use arch-config, void-config or nix-config.
1. Fork Me!
2. Clone your repo
git clone https://github.com/*/dotfiles
Then, configure desktop environment in group_vars/all.yml.
3. Configure inventory
Create inventory file from template.
cd dotfiles
cp hosts.template hosts
Add your hostnames in section:
- cli: only cli dotfiles
- desktop: cli dotfiles + desktop environment
Define which user will get configurations with ansible_user var.
a. localhost run
[cli]
[desktop]
localhost ansible_connection=local
b. multiple hosts run
Note: desktop hosts can't use root.
[cli]
server1 ansible_user=root
[desktop]
host1 ansible_user=user
host2 ansible_user=user2
4. Configure SSH
Push your SSH public key on all your users@hosts
ssh-copy-id -i path/to/ssh/key.pub user@host
5. (Dry)Run
ansible-playbook install.yml -CD
ansible-playbook install.yml
For desktop hosts, if ansible_user is sudoer, to install cli tools for root, use:
ansible-playbook install.yml -l host1 -b -K