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