Skip to content

Latest commit

 

History

611 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Oh My Arch

一个使用 Shell 脚本编写的 Arch Linux 配置管理工具。

依赖

  • openssh

  • rsync

  • sudo

  • zsh

下载

curl -sSL https://ghproxy.com/https://github.com/eastack/ohmyarch/archive/main.tar.gz | tar -zxv

使用

命令格式

./ohmyarch ACTION [APPNAME]...

简单示例

比如我们想管理 zsh 的安装。 首先可以创建一个名为 zsh 的文件夹用来存储相关脚本。

mkdir zsh

然后在 zsh 文件夹下创建一个名为 setup 的文件,在其中编写对应脚本。 .zsh/setup

echo "setup $app starting" # (1)
setup zsh # (2)
echo "setup $app finished" # (3)
  1. 本质上是 shell 脚本,可以书写任意有效 shell 语句

  2. setup 是 ohmyarch 提供的函数,通过 pacman 安装指定应用

  3. 变量 app 的值由 ohmyarch 提供,取值自当前所处文件夹,比如这里是 zsh

最后执行下面的命令便可以执行 zsh/setup 脚本。

./ohmyarch setup zsh

安装 Arch Linux

  1. 设置环境变量

    export NAME='eastack'   # 用户名
    export UPWD='12345'     # 用户密码
    export RPWD='67890'     # ROOT密码
    export DISK='/dev/sda'  # 系统安装磁盘
  2. 执行脚本进行系统安装

    Note
    脚本将会格式化 DISK 环境变量指定磁盘,使用前前请务必阅读脚本 archlinux/install 。
    ./ohmyarch install archlinux
  3. 重启进入新系统

    reboot

备份还原

这里我们还以 zsh 为例,如果要管理其配置文件,则需要在 zsh 下创建 .archives 文件夹,再在其下创建任意命名的文件夹用来存储要备份的配置如文件、文件权限等。

  1. 配置

    然后将要进行管理文件的绝对路径添加到 ./zsh/.archives/main/file 文件中

  2. 备份

    文件将保持其路径备份到 ./zsh/.archives/main 目录下。 而其相关权限也被保存于 ./zsh/.archives/main/facl 文件中。

    ./ohmyarch backup zsh
  3. 还原

    将会还原文件内容和其相关权限信息。

    ./ohmyarch restore zsh

如果不指定应用名称的话默认对所有应用执行操作

比如将安装所有配置的应用
./ohmyarch setup

待办

  • 蓝牙键盘连接时自动执行 ~/.keymapping Udev

  • 触摸板手势

  • 使用Python备份还原指定的idea配置字段(貌似 xslt + xsltproc 就可以了)

  • 私密数据分库存储,使用git-crypt进行加密

  • autostart app to systemd

  • mutt configuration

  • docker config credentials store https://docs.docker.com/engine/reference/commandline/login/#credentials-store

  • useing pass

  • bat add for switheme

  • gnupg and openssh rebackup

片段

修改用户名
sed -i "s/radix10/eastack/" $(ls ./*/.archives/*/facl)
ls -d ./*/.archives/*/home/radix10 | xargs -I file sh -c 'sudo mv file $(dirname file)/eastack'
设置电池充电阀值
sudo tlp setcharge 75 80
jb square

About

Oh My Arch

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages