diff options
| -rwxr-xr-x | bootstrap.sh | 98 | ||||
| -rwxr-xr-x | setup.sh | 127 |
2 files changed, 84 insertions, 141 deletions
diff --git a/bootstrap.sh b/bootstrap.sh index 0f22017..ab78d8c 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -7,21 +7,22 @@ if [ $# != 1 ]; then exit 1 fi -( - source .zshenv - for dir in \ - "$XDG_CONFIG_HOME" \ - "$XDG_CACHE_HOME" \ - "$XDG_DATA_HOME" \ - "$XDG_STATE_HOME" \ - ; \ - do - if [ ! -d "$dir" ]; then - mkdir -p "$dir" - fi - done -) +export XDG_CONFIG_HOME="$HOME/.config" +export XDG_CACHE_HOME="$HOME/.cache" +export XDG_DATA_HOME="$HOME/.local/share" +export XDG_STATE_HOME="$HOME/.local/state" +for dir in \ + "$XDG_CONFIG_HOME" \ + "$XDG_CACHE_HOME" \ + "$XDG_DATA_HOME" \ + "$XDG_STATE_HOME" \ + ; \ +do + if [ ! -d "$dir" ]; then + mkdir -p "$dir" + fi +done if [ ! -d .bootstrap ]; then mkdir .bootstrap fi @@ -41,3 +42,72 @@ fi if ! type home-manager > /dev/null 2>&1; then nix run "nixpkgs#home-manager" -- switch --flake ".#$1" fi + +# These dotfiles are not managed by home-manager. +for name in \ + .vimrc \ + .zshenv \ + .zshrc \ + ; \ +do + if [ ! -L ~/"$name" ]; then + ln -s -f ~/dotfiles/"$name" ~/"$name" + fi +done +for name in \ + alacritty \ + git \ + nvim \ + ; \ +do + if [ ! -L ~/.config/"$name" ]; then + ln -s -f ~/dotfiles/.config/"$name" ~/.config/"$name" + fi +done + +# Go +for name in \ + gitalias/git-extract-issue \ + gitalias/git-sw \ + ; \ +do + src_file="src/$name.go" + bin_file="bin/$name" + if [ "$bin_file" -ot "$src_file" ]; then + go build -o "$bin_file" "$src_file" + fi +done +if [ ! -d ~/bin ]; then + mkdir ~/bin +fi +if [ ! -d ~/bin/gitalias ]; then + mkdir ~/bin/gitalias +fi +for name in \ + tmux-pane-idx \ + gitalias/git-extract-issue \ + gitalias/git-sw \ + ; \ +do + if [ ! -L ~/bin/"$name" ]; then + ln -s -f ~/dotfiles/bin/"$name" ~/bin/"$name" + fi +done +if [ ! -f ~/.config/alacritty/alacritty.local.yml ]; then + if [ "$(uname)" = "Darwin" ]; then + ln -s -f ~/.config/alacritty/alacritty.macos.yml ~/.config/alacritty/alacritty.local.yml + else + ln -s -f ~/.config/alacritty/alacritty.linux.yml ~/.config/alacritty/alacritty.local.yml + fi +fi +if [ ! -d ~/.config/skk ]; then + mkdir ~/.config/skk +fi +if [ ! -f ~/.config/skk/jisyo.L ]; then + _compressed_jisyo="$(mktemp)" + curl -fL -o "$_compressed_jisyo" https://skk-dev.github.io/dict/SKK-JISYO.L.unannotated.gz + gunzip -cd "$_compressed_jisyo" > ~/.config/skk/jisyo.L +fi +if [ ! -d "$XDG_STATE_HOME/zsh" ]; then + mkdir -p "$XDG_STATE_HOME/zsh" +fi diff --git a/setup.sh b/setup.sh deleted file mode 100755 index f576c29..0000000 --- a/setup.sh +++ /dev/null @@ -1,127 +0,0 @@ -#!/bin/bash - -# Requirements. {{{1 - -ok=1 -for exe in \ - curl \ - git \ - go \ - gunzip \ - ; \ -do - if which "$exe" >/dev/null; then - : - else - echo "error: $exe is missing" >&2 - ok=0 - fi -done -if [[ $ok = 0 ]]; then - exit 1 -fi - -# Configurations. {{{1 - -# Make symlinks to dot files. {{{2 -for name in \ - .vimrc \ - .zshenv \ - .zshrc \ - ; \ -do - if [ ! -L ~/"$name" ]; then - echo "symlink: ~/$name" - ln -s -f ~/dotfiles/"$name" ~/"$name" - fi -done - -# Make symlinks to dot directories. {{{2 -for name in \ - alacritty \ - git \ - nvim \ - ; \ -do - if [ ! -L ~/.config/"$name" ]; then - echo "symlink: ~/.config/$name" - ln -s -f ~/dotfiles/.config/"$name" ~/.config/"$name" - fi -done - -# Tools. {{{1 - -# Golang: {{{2 -for name in \ - gitalias/git-extract-issue \ - gitalias/git-sw \ - ; \ -do - src_file="src/$name.go" - bin_file="bin/$name" - if [[ "$bin_file" -ot "$src_file" ]]; then - echo "build: $bin_file" - go build -o "$bin_file" "$src_file" - fi -done - -# Scripts. {{{1 - -# Make ~/bin directory. {{{2 -if [ ! -d ~/bin ]; then - echo "dir: ~/bin" - mkdir ~/bin -fi -if [ ! -d ~/bin/gitalias ]; then - echo "dir: ~/bin/gitalias" - mkdir ~/bin/gitalias -fi - -# Make symlinks to utility scripts. {{{2 -for name in \ - tmux-pane-idx \ - gitalias/git-extract-issue \ - gitalias/git-sw \ - ; \ -do - if [ ! -L ~/bin/"$name" ]; then - echo "symlink: ~/bin/$name" - ln -s -f ~/dotfiles/bin/"$name" ~/bin/"$name" - fi -done - -# Application-specific configurations. {{{1 - -# Alacritty {{{2 -if [ ! -f ~/.config/alacritty/alacritty.local.yml ]; then - echo "symlink: ~/.config/alacritty/alacritty.local.yml" - if [[ "$(uname)" == "Darwin" ]]; then - ln -s -f ~/.config/alacritty/alacritty.macos.yml ~/.config/alacritty/alacritty.local.yml - else - ln -s -f ~/.config/alacritty/alacritty.linux.yml ~/.config/alacritty/alacritty.local.yml - fi -fi - -# SKK {{{2 -if [ ! -d ~/.config/skk ]; then - echo "dir: ~/.config/skk" - mkdir ~/.config/skk -fi - -# SKK: download jisyo file. {{{2 -if [ ! -f ~/.config/skk/jisyo.L ]; then - echo "download: ~/config/.skk/jisyo.L" - _compressed_jisyo="$(mktemp)" - curl -fL -o "$_compressed_jisyo" https://skk-dev.github.io/dict/SKK-JISYO.L.unannotated.gz - gunzip -cd "$_compressed_jisyo" > ~/.config/skk/jisyo.L -fi - -# Zsh {{{2 -if [ ! -d "$XDG_STATE_HOME/zsh" ]; then - echo "dir: $XDG_STATE_HOME/zsh" - mkdir -p "$XDG_STATE_HOME/zsh" -fi - -# }}} -# }}} -# vim: foldmethod=marker |
