diff --git a/.zshrc b/.zshrc index 10e2ef8..156eaeb 100644 --- a/.zshrc +++ b/.zshrc @@ -101,7 +101,7 @@ bindkey "^b" backward-word bindkey "^f" forward-word # brew -export HOMEBREW_NO_AUTO_UPDATE=true # 禁止 brew 每次安装软件都 upate +export HOMEBREW_NO_AUTO_UPDATE=true # 禁止 brew 每次安装软件都 upate # go export GOPROXY=goproxy.cn @@ -110,7 +110,7 @@ export GOSUMDB="sum.golang.google.cn" [ -f ~/.zprofile ] && source ~/.zprofile [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh -# add z +# add z eval "$(lua /usr/local/z.lua/z.lua --init zsh)" export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH" diff --git a/setup.py b/setup.py index 7bd83e4..113df7b 100755 --- a/setup.py +++ b/setup.py @@ -6,36 +6,39 @@ import argparse home_dir = os.getenv("HOME") + def main(): parser = argparse.ArgumentParser() - parser.add_argument("-i","--install", help="install tools",type=str) + parser.add_argument("-i", "--init", help="init tools", type=str) args = parser.parse_args() installer = Installer() - installer.install(args.install) + installer.install(args.init) + class Base(object): def cmd_exist(self, name): from shutil import which return which(name) is not None - def check_link(self, name:str,target:str): + def check_link(self, name: str, target: str): if os.path.islink(name): t = os.readlink(name) if t == target: return - os.system("mv %s %s.bak"%(name,name)) - os.system("ln -s %s %s"%(target,name)) + os.system("mv %s %s.bak" % (name, name)) + os.system("ln -s %s %s" % (target, name)) + + class Installer(Base): - def install(self, val:str): - if val== "": + def install(self, val: str): + if val == "": print("install value is empty") exit() - + install_map = { "neovim": self.install_neovim, "z": self.install_z, "git": self.install_git, - "packer": self.install_packer, "go": self.install_go, } if val in install_map: @@ -43,61 +46,54 @@ class Installer(Base): else: print("cmd not support, install: "+val) - # install neovim def install_neovim(self): if not self.cmd_exist("nvim"): os.chdir("/usr/local") - os.system("wget https://github.com/neovim/neovim/releases/download/v0.6.0/nvim-macos.tar.gz") + os.system( + "wget https://github.com/neovim/neovim/releases/download/v0.6.0/nvim-macos.tar.gz") os.system("tar zxf nvim-macos.tar.gz") os.system("ln -s /usr/local/nvim-osx64 /usr/local/nvim") - self.check_link(home_dir+"/.config/nvim",home_dir+"/.doftile/nvim") + self.check_link(home_dir+"/.config/nvim", home_dir+"/.doftile/nvim") def install_z(self): if not os.path.exists("/usr/local/z.lua"): - os.system("git clone --depth=1 https://github.com/skywind3000/z.lua.git /usr/local/z.lua") + run("git clone --depth=1 https://github.com/skywind3000/z.lua.git /usr/local/z.lua") def install_git(self): if not self.cmd_exist("git"): print("git is not exist") - self.check_link(home_dir+"/.gitconfig", home_dir+"/.dotfile/git/.gitconfig") + self.check_link(home_dir+"/.gitconfig", home_dir + + "/.dotfile/git/.gitconfig") - def install_packer(self): - if not os.path.exists(home_dir+"/.local/share/nvim/site/pack/packer/start/packer.nvim"): - os.system("git clone --depth 1 https://github.com/wbthomason/packer.nvim ~/.local/share/nvim/site/pack/packer/start/packer.nvim") - else: - print("packer already installed") def install_go(self): - version = urllib.request.urlopen("https://go.dev/VERSION?m=text").read() - if self.cmd_exist("go"): - run("go version") cwd = os.getcwd() - os.chdir("/usr/local/") - name = "%s.darwin-amd64.tar.gz"%(version.decode()) - u="https://dl.google.com/go/"+name - run("sudo mv go go_old") - run("sudo rm "+name) - run("sudo wget "+u) - run("sudo tar zxf "+name) - run("go version") + os.chdir("/usr/local") + if os.path.exists("/usr/local/opt/go/libexec"): + run("sudo mv go go_old") + run("sudo ln -s /usr/local/opt/go/libexec /usr/local/go") os.chdir(cwd) run("go install golang.org/x/tools/gopls@latest") + + class Base(object): def cmd_exist(self, name): from shutil import which return which(name) is not None - def check_link(self, name:str,target:str): + def check_link(self, name: str, target: str): if os.path.islink(name): t = os.readlink(name) if t == target: - print("path is right: %s"%name) + print("path is right: %s" % name) return - os.system("mv %s %s.bak"%(name,name)) - os.system("ln -s %s %s"%(target,name)) + os.system("mv %s %s.bak" % (name, name)) + os.system("ln -s %s %s" % (target, name)) -def run(cmd:str): + +def run(cmd: str): subprocess.run(cmd.split()) + if __name__ == '__main__': main()