Skip to content

🎣 Dotfiles and scripts providing ArchLinux one-stop installation, cumbersome configure details and other senseless stuff. Archlinux安装脚本,以及其他一些无聊的配置文件

Notifications You must be signed in to change notification settings

Etherscript/dotfiles-and-scripts

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles and scripts

创建这个repo是为了减少重复工作,内容包含:

  1. 系统/软件配置,如Vim、i3wm、tmux等
  2. 安装脚本
    • ArchLinux系统安装脚本
    • 软件编译/安装脚本,如Vim-YCM插件
  3. 工具脚本
    • 工具脚本,如Docker、Aria2管理
内容 状态
ArchLinux安装脚本 2018-09-20 自测成功安装,机械硬盘
其他配置文件、脚本 自用,日常滚动更新

TOC

用法简述

安装ArchLinux或其他软件

在repo根目录运行install.sh,选择所需的功能,根据提示操作。详细介绍见下文

git clone https://github.com/Karmenzind/dotfiles-and-scripts --depth=1
cd ./dotfiles-and-scripts
./install.sh  

❗ 注意:除了下文特别说明的(如Arch安装第一步)一些功能,其他脚本都建议从install.sh统一执行,否则会报错

使用我的配置

所有配置文件和工具脚本

通过以下命令来一键安装(支持交互模式选择)。配置文件结构见下文

git clone https://github.com/Karmenzind/dotfiles-and-scripts --depth=1
cd ./dotfiles-and-scripts
python3 do_synch.py apply

如果你想创建一个自己的dotfile仓库,参考下文

使用我的Vim配置

如果只需要我的Vim配置,Unix环境直接运行以下命令,等待自动安装完成

wget https://raw.githubusercontent.com/Karmenzind/dotfiles-and-scripts/master/home_k/.vimrc -O ~/.vimrc && vim 

也可以用脚本安装

使用root用户安装我的配置可能会出问题。我不喜欢给root用户单独配置,采用的做法是在/root目录下创建.vimrc.vim的软链接,与普通用户共用一套配置,供参考。如果要直接给root用户安装配置,请自行研究解决方案。

配置文件部分

文件跳转目录:

trees are generated by this script

我使用的字体: Monaco Nerd

安装脚本部分

ArchLinux安装

文件结构:

命名对应了ArchWiki中的安装过程

使用前提:

  • 熟悉ArchLinux安装和Bash语法
  • 一块独立硬盘(暂不兼容和其他系统在同一硬盘混装)
  • 设备支持UEFI(采用GPT分区,后续可能会加入MBR支持)
  • 手动配置网络(暂不提供网络配置,请参考ArchWiki)

分区说明:

提供了两种分区方式,用Y/N选择:

Do you want to use recommended partition table as follows (Y) 
or do the partition by yourself? (N)
recommended table:
1. for a disk larger than 60G:
    550MiB              ESP             for boot
    32GiB               ext4            for ROOT
    the same as         linux-swap      for SWAP
    your ram            
    remainder           ext4            for HOME
2. for a disk smaller than 60G:
    550MiB              ESP             for BOOT
    remainder           ext4            for ROOT
    (you can create a swapfile by yourself after installation)

包括:

  • 自动分区,空间大于60G时,参考ArchWiki的推荐分区(wiki里认为/分区20G够用,此处改成了32G);小于60G时,参考了Manjaro的处理方式。
  • 手动分区,进入fdisk交互环境自行操作,保存退出。支持boot、root、swap、home每种用途分区最多一个。

安装步骤:

  1. 确定阅读完上述内容。经安装介质启动进入LiveCD环境,参考ArchWiki手动配置好网络。
  2. 在LiveCD环境中执行liveCD part
    方案一,拷贝整个项目到LiveCD。执行pacman -Sy git尝试安装Git,然后进行clone。如果无法安装Git,建议找一台可以ssh登陆的机器(我用了树莓派)用scp传输项目,或者通过挂载其他存储介质来拷贝项目。成功拷贝项目后,参考Usage运行install.sh,依次选择install ArchLinuxlivecd part,依照提示执行。结束后已经处于arch-chroot环境,此时进入/dotfiles-and-scripts目录,通过./install.sh脚本继续执行chrooted part
    方案二,获取livecd_part.sh文件。手动输入:smiling_imp:如下命令:
    wget https://raw.githubusercontent.com/Karmenzind/dotfiles-and-scripts/master/scripts/install_arch/livecd_part.sh
    bash ./livecd_part.sh
    进入arch-chroot后,按照Usage介绍clone整个项目,执行chrooted part
  3. chrooted part执行结束后,重启,取出存储介质,从系统盘进入Arch。
  4. 至此Arch系统已经安装完成,后续步骤为系统常用配置,对应了ArchWiki中的General Recommendations部分,其中图形环境部分单独分成一步。参考Usage分别执行general recommendations partgraphical environment part。如果需要批量安装其他软件,则查看下一节。

如果是在虚拟机中通过UEFI方式安装Arch,需要在ESP分区根目录创建文件startup.nsh写入grub的efi文件地址(注意\方向),如\EFI\grub\grubx64.efi

软件批量安装

_fonts数组中包含了ArchWiki中推荐的所有中文环境所需字体(不含AUR)

  1. 自行修改脚本,根据需要添加、删除软件
  2. 从install.sh进入选择install recommended apps

Vim及插件安装

Vim比较特殊,尤其是YCM经常安装失败,所以单独列出来

用脚本安装Vim和插件:

如果你已经安装了Vim,需要直接使用我的配置&插件,除了上面的脚本安装外,更简单的方法为直接执行Usage中提到的命令

YouCompleteMe编译安装

通过install.sh选择第四项单独安装YouCompleteMe插件时,需要注意:

  1. 阅读ycm.sh的开头部分
  2. 修改ycm.sh中的ycm插件安装地址
  3. 如果为Arch系统,直接选择任意一种方式安装;如果非Arch系统,选择official way可以直接安装,如果选择my way方式,需要手动安装python、cmake和clang,然后修改ycm.sh中的libclang.so地址

official way是采用ycm自带安装脚本编译安装,my way是用我写的命令编译安装。如果用my way安装时git clone速度太慢,可以手动修改ycm.sh中的git repo地址(脚本注释中提供了国内源)

Vim插件涉及依赖安装

部分插件依赖外部工具(比如fzfctagsag等)。按照上述步骤安装Vim以及插件之后,打开Vim,在命令行模式运行:

# 依赖系统中的`pip`和`npm`,需自行安装
call InstallRequirements()

安装过程中注意观察窗口日志提示。

工具脚本部分

Python虚拟环境快速切换

已经停止维护,请使用virtualenvwrapper

方便一堆虚拟环境需要切换的场景

Usage: 在脚本或环境变量中设置虚拟环境存放目录,然后

k 16:04:00 > ~ $ . acpyve
Pick one virtual environment to activate:

1  General_Py2
2  General_Py3

Input number: 2

Activating General_Py3...
/home/k

DONE :)

(General_Py3) k 16:04:16 > ~
$ 

Aria2管理&自动更新bt-tracker

功能:

  • 启动、重启、停止、查看运行状态、查看日志
  • 更新bt-tracker(从ngosang/trackerslist获取)。启动、重启时,配置周期触发更新,也可以通过myaria2 update主动更新
  • 转存旧日志
  • 其他一些简单功能

结合cron使用 配置项见脚本注释

本地Docker服务项目管理

方便一堆用Docker容器需要管理的场景
配合cron使用

效果截图

  • i3 desktop:

  • Vim:

创建你自己的DotFile仓库

以下两个脚本用来在系统中直接应用本repo中的配置文件

  • symlink.py 以创建软连接的方式(推荐)
  • do_synch.py 以复制(支持双向)的方式来更新、应用配置文件

你可以fork这个项目,然后借助上述两种方式来同步你自己的配置文件

About

🎣 Dotfiles and scripts providing ArchLinux one-stop installation, cumbersome configure details and other senseless stuff. Archlinux安装脚本,以及其他一些无聊的配置文件

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 54.9%
  • Vim Script 32.5%
  • Python 12.6%