Initial commit: dcli-based Arch Linux WSL configuration
- Bootstrap script for yay and dcli installation - Declarative package management with modules (base, zsh, dev-tools) - China mirror configuration (Tsinghua) - Zsh with oh-my-zsh, autosuggestions, syntax-highlighting - Dev tools: mise, zoxide, fzf, ripgrep, fd, bat
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
# Arch Linux WSL 初始化配置
|
||||
|
||||
使用 dcli 声明式管理 Arch Linux 配置。
|
||||
|
||||
## 快速开始
|
||||
|
||||
```bash
|
||||
# 1. 克隆仓库
|
||||
git clone git@git-ssh.furtherverse.com:imbytecat/archlinux-wsl-init.git
|
||||
cd archlinux-wsl-init
|
||||
|
||||
# 2. 运行 bootstrap(仅首次)
|
||||
chmod +x bootstrap.sh
|
||||
./bootstrap.sh
|
||||
```
|
||||
|
||||
## 配置说明
|
||||
|
||||
- `arch-config/hosts/wsl.yaml` - WSL 配置
|
||||
- `arch-config/modules/` - 模块化包管理
|
||||
- `arch-config/files/` - 配置文件(自动同步)
|
||||
|
||||
## 更新配置
|
||||
|
||||
```bash
|
||||
# 修改配置后同步
|
||||
dcli sync
|
||||
|
||||
# 更新系统
|
||||
dcli update
|
||||
```
|
||||
@@ -0,0 +1 @@
|
||||
active_host: wsl
|
||||
@@ -0,0 +1,18 @@
|
||||
[options]
|
||||
HoldPkg = pacman glibc
|
||||
Architecture = auto
|
||||
Color
|
||||
CheckSpace
|
||||
ParallelDownloads = 5
|
||||
|
||||
SigLevel = Required DatabaseOptional
|
||||
LocalFileSigLevel = Optional
|
||||
|
||||
[core]
|
||||
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
|
||||
|
||||
[extra]
|
||||
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
|
||||
|
||||
[multilib]
|
||||
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
|
||||
@@ -0,0 +1,16 @@
|
||||
# Oh My Zsh
|
||||
export ZSH="$HOME/.oh-my-zsh"
|
||||
ZSH_THEME="robbyrussell"
|
||||
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
|
||||
source $ZSH/oh-my-zsh.sh
|
||||
|
||||
# mise
|
||||
eval "$(mise activate zsh)"
|
||||
|
||||
# zoxide
|
||||
eval "$(zoxide init zsh)"
|
||||
|
||||
# Aliases
|
||||
alias ls='ls --color=auto'
|
||||
alias ll='ls -lah'
|
||||
alias cd='z'
|
||||
@@ -0,0 +1,9 @@
|
||||
host: wsl
|
||||
aur_helper: yay
|
||||
modules:
|
||||
- base
|
||||
- zsh
|
||||
- dev-tools
|
||||
settings:
|
||||
files_sync: true
|
||||
auto_prune: true
|
||||
@@ -0,0 +1,7 @@
|
||||
packages:
|
||||
- base-devel
|
||||
- git
|
||||
- curl
|
||||
- wget
|
||||
- vim
|
||||
- neovim
|
||||
@@ -0,0 +1,9 @@
|
||||
packages:
|
||||
- fzf
|
||||
- ripgrep
|
||||
- fd
|
||||
- bat
|
||||
|
||||
aur_packages:
|
||||
- mise
|
||||
- zoxide
|
||||
@@ -0,0 +1,8 @@
|
||||
packages:
|
||||
- zsh
|
||||
- zsh-completions
|
||||
|
||||
aur_packages:
|
||||
- oh-my-zsh-git
|
||||
- zsh-autosuggestions
|
||||
- zsh-syntax-highlighting
|
||||
Executable
+24
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo "==> 安装 yay (唯一手动步骤)..."
|
||||
if ! command -v yay &> /dev/null; then
|
||||
sudo pacman -S --needed --noconfirm base-devel git
|
||||
cd /tmp
|
||||
git clone https://aur.archlinux.org/yay.git
|
||||
cd yay
|
||||
makepkg -si --noconfirm
|
||||
cd ~
|
||||
fi
|
||||
|
||||
echo "==> 安装 dcli..."
|
||||
yay -S --needed --noconfirm dcli-arch-git
|
||||
|
||||
echo "==> 初始化 dcli 配置..."
|
||||
mkdir -p ~/.config/arch-config
|
||||
cp -r ./arch-config/* ~/.config/arch-config/
|
||||
|
||||
echo "==> 运行 dcli sync..."
|
||||
dcli sync
|
||||
|
||||
echo "✓ 完成!所有配置已应用"
|
||||
Reference in New Issue
Block a user