From 7aab7eaf75476ce26d21cab1a79212adacb9eb2f Mon Sep 17 00:00:00 2001 From: Yoshio Sugiyama Date: Fri, 10 Jul 2026 10:41:06 +0900 Subject: [PATCH 1/9] feat: migrate symlink to mise bootstrap Signed-off-by: Yoshio Sugiyama --- {config => .config}/bashrc | 0 {config => .config}/git/config | 0 {config => .config}/git/config.ghe | 0 {config => .config}/git/config.github_hpeprod | 0 {config => .config}/git/ignore | 0 {config => .config}/git/message | 0 {config => .config}/inputrc | 0 {config => .config}/mise/config.toml | 17 +++++++++++++++ .../nvim/after/ftplugin/astro.lua | 0 .../nvim/after/ftplugin/gitcommit.lua | 0 .../nvim/after/ftplugin/javascript.lua | 0 .../nvim/after/ftplugin/json.lua | 0 .../nvim/after/ftplugin/markdown.lua | 0 .../nvim/after/ftplugin/toml.lua | 0 .../nvim/after/ftplugin/yaml.lua | 0 {config => .config}/nvim/filetype.lua | 0 {config => .config}/nvim/init.lua | 0 .../nvim/lua/ftplugin/gitcommit.lua | 0 {config => .config}/nvim/lua/imokuri/lazy.lua | 0 .../nvim/lua/imokuri/plugin/completion.lua | 0 .../nvim/lua/imokuri/plugin/edit.lua | 0 .../nvim/lua/imokuri/plugin/filetype.lua | 0 .../nvim/lua/imokuri/plugin/lsp.lua | 0 .../nvim/lua/imokuri/plugin/snacks.lua | 0 .../nvim/lua/imokuri/plugin/terminal.lua | 0 .../nvim/lua/imokuri/plugin/treesitter.lua | 0 .../nvim/lua/imokuri/plugin/ui.lua | 0 .../nvim/lua/imokuri/rc/autocmd.lua | 0 .../nvim/lua/imokuri/rc/mapping.lua | 0 .../nvim/lua/imokuri/rc/option.lua | 0 {config => .config}/nvim/lua/imokuri/util.lua | 0 {config => .config}/nvim/snippets/_.snippets | 0 .../nvim/snippets/codecompanion.snippets | 0 .../nvim/snippets/make.snippets | 0 .../nvim/snippets/markdown.snippets | 0 .../nvim/templates/make/base-commands.make | 0 .../templates/make/snip-docker-compose.make | 0 .../nvim/templates/make/snip-docker.make | 0 .../nvim/templates/make/snip-helm.make | 0 .../nvim/templates/markdown/base-post.md | 0 .../nvim/templates/markdown/base-readme.md | 0 .../nvim/templates/python/base-kaggle-run.py | 0 .../nvim/templates/python/snip-arg.py | 0 {config => .config}/ssh/github.conf | 0 {config => .config}/starship.toml | 0 {config => .config}/uv/uv.toml | 0 vimrc => .vimrc | 0 Makefile | 21 +++++++------------ 48 files changed, 24 insertions(+), 14 deletions(-) rename {config => .config}/bashrc (100%) rename {config => .config}/git/config (100%) rename {config => .config}/git/config.ghe (100%) rename {config => .config}/git/config.github_hpeprod (100%) rename {config => .config}/git/ignore (100%) rename {config => .config}/git/message (100%) rename {config => .config}/inputrc (100%) rename {config => .config}/mise/config.toml (76%) rename {config => .config}/nvim/after/ftplugin/astro.lua (100%) rename {config => .config}/nvim/after/ftplugin/gitcommit.lua (100%) rename {config => .config}/nvim/after/ftplugin/javascript.lua (100%) rename {config => .config}/nvim/after/ftplugin/json.lua (100%) rename {config => .config}/nvim/after/ftplugin/markdown.lua (100%) rename {config => .config}/nvim/after/ftplugin/toml.lua (100%) rename {config => .config}/nvim/after/ftplugin/yaml.lua (100%) rename {config => .config}/nvim/filetype.lua (100%) rename {config => .config}/nvim/init.lua (100%) rename {config => .config}/nvim/lua/ftplugin/gitcommit.lua (100%) rename {config => .config}/nvim/lua/imokuri/lazy.lua (100%) rename {config => .config}/nvim/lua/imokuri/plugin/completion.lua (100%) rename {config => .config}/nvim/lua/imokuri/plugin/edit.lua (100%) rename {config => .config}/nvim/lua/imokuri/plugin/filetype.lua (100%) rename {config => .config}/nvim/lua/imokuri/plugin/lsp.lua (100%) rename {config => .config}/nvim/lua/imokuri/plugin/snacks.lua (100%) rename {config => .config}/nvim/lua/imokuri/plugin/terminal.lua (100%) rename {config => .config}/nvim/lua/imokuri/plugin/treesitter.lua (100%) rename {config => .config}/nvim/lua/imokuri/plugin/ui.lua (100%) rename {config => .config}/nvim/lua/imokuri/rc/autocmd.lua (100%) rename {config => .config}/nvim/lua/imokuri/rc/mapping.lua (100%) rename {config => .config}/nvim/lua/imokuri/rc/option.lua (100%) rename {config => .config}/nvim/lua/imokuri/util.lua (100%) rename {config => .config}/nvim/snippets/_.snippets (100%) rename {config => .config}/nvim/snippets/codecompanion.snippets (100%) rename {config => .config}/nvim/snippets/make.snippets (100%) rename {config => .config}/nvim/snippets/markdown.snippets (100%) rename {config => .config}/nvim/templates/make/base-commands.make (100%) rename {config => .config}/nvim/templates/make/snip-docker-compose.make (100%) rename {config => .config}/nvim/templates/make/snip-docker.make (100%) rename {config => .config}/nvim/templates/make/snip-helm.make (100%) rename {config => .config}/nvim/templates/markdown/base-post.md (100%) rename {config => .config}/nvim/templates/markdown/base-readme.md (100%) rename {config => .config}/nvim/templates/python/base-kaggle-run.py (100%) rename {config => .config}/nvim/templates/python/snip-arg.py (100%) rename {config => .config}/ssh/github.conf (100%) rename {config => .config}/starship.toml (100%) rename {config => .config}/uv/uv.toml (100%) rename vimrc => .vimrc (100%) diff --git a/config/bashrc b/.config/bashrc similarity index 100% rename from config/bashrc rename to .config/bashrc diff --git a/config/git/config b/.config/git/config similarity index 100% rename from config/git/config rename to .config/git/config diff --git a/config/git/config.ghe b/.config/git/config.ghe similarity index 100% rename from config/git/config.ghe rename to .config/git/config.ghe diff --git a/config/git/config.github_hpeprod b/.config/git/config.github_hpeprod similarity index 100% rename from config/git/config.github_hpeprod rename to .config/git/config.github_hpeprod diff --git a/config/git/ignore b/.config/git/ignore similarity index 100% rename from config/git/ignore rename to .config/git/ignore diff --git a/config/git/message b/.config/git/message similarity index 100% rename from config/git/message rename to .config/git/message diff --git a/config/inputrc b/.config/inputrc similarity index 100% rename from config/inputrc rename to .config/inputrc diff --git a/config/mise/config.toml b/.config/mise/config.toml similarity index 76% rename from config/mise/config.toml rename to .config/mise/config.toml index 58a6b906..9604bbd1 100644 --- a/config/mise/config.toml +++ b/.config/mise/config.toml @@ -2,6 +2,23 @@ color_theme = "catppuccin" install_before = "7d" +[settings.dotfiles] +root = "~/.dotfiles" +default_mode = "symlink" + +[bootstrap.hooks.pre-dotfiles] +run = """ +mkdir -p ~/.local/bin +mkdir -p ~/{bin,ghe,github,github_hpeprod,work,docker,namespace} +mkdir -p ~/ghe/{hpe,yoshio-sugiyama} +mkdir -p ~/github/{HPE-TA,IMOKURI,others} +mkdir -p ~/github_hpeprod/yoshio-sugiyama_hpeprod +""" + +[dotfiles] +"~/.vimrc" = {} +"~/.config/*" = {} + [settings.npm] package_manager = "bun" diff --git a/config/nvim/after/ftplugin/astro.lua b/.config/nvim/after/ftplugin/astro.lua similarity index 100% rename from config/nvim/after/ftplugin/astro.lua rename to .config/nvim/after/ftplugin/astro.lua diff --git a/config/nvim/after/ftplugin/gitcommit.lua b/.config/nvim/after/ftplugin/gitcommit.lua similarity index 100% rename from config/nvim/after/ftplugin/gitcommit.lua rename to .config/nvim/after/ftplugin/gitcommit.lua diff --git a/config/nvim/after/ftplugin/javascript.lua b/.config/nvim/after/ftplugin/javascript.lua similarity index 100% rename from config/nvim/after/ftplugin/javascript.lua rename to .config/nvim/after/ftplugin/javascript.lua diff --git a/config/nvim/after/ftplugin/json.lua b/.config/nvim/after/ftplugin/json.lua similarity index 100% rename from config/nvim/after/ftplugin/json.lua rename to .config/nvim/after/ftplugin/json.lua diff --git a/config/nvim/after/ftplugin/markdown.lua b/.config/nvim/after/ftplugin/markdown.lua similarity index 100% rename from config/nvim/after/ftplugin/markdown.lua rename to .config/nvim/after/ftplugin/markdown.lua diff --git a/config/nvim/after/ftplugin/toml.lua b/.config/nvim/after/ftplugin/toml.lua similarity index 100% rename from config/nvim/after/ftplugin/toml.lua rename to .config/nvim/after/ftplugin/toml.lua diff --git a/config/nvim/after/ftplugin/yaml.lua b/.config/nvim/after/ftplugin/yaml.lua similarity index 100% rename from config/nvim/after/ftplugin/yaml.lua rename to .config/nvim/after/ftplugin/yaml.lua diff --git a/config/nvim/filetype.lua b/.config/nvim/filetype.lua similarity index 100% rename from config/nvim/filetype.lua rename to .config/nvim/filetype.lua diff --git a/config/nvim/init.lua b/.config/nvim/init.lua similarity index 100% rename from config/nvim/init.lua rename to .config/nvim/init.lua diff --git a/config/nvim/lua/ftplugin/gitcommit.lua b/.config/nvim/lua/ftplugin/gitcommit.lua similarity index 100% rename from config/nvim/lua/ftplugin/gitcommit.lua rename to .config/nvim/lua/ftplugin/gitcommit.lua diff --git a/config/nvim/lua/imokuri/lazy.lua b/.config/nvim/lua/imokuri/lazy.lua similarity index 100% rename from config/nvim/lua/imokuri/lazy.lua rename to .config/nvim/lua/imokuri/lazy.lua diff --git a/config/nvim/lua/imokuri/plugin/completion.lua b/.config/nvim/lua/imokuri/plugin/completion.lua similarity index 100% rename from config/nvim/lua/imokuri/plugin/completion.lua rename to .config/nvim/lua/imokuri/plugin/completion.lua diff --git a/config/nvim/lua/imokuri/plugin/edit.lua b/.config/nvim/lua/imokuri/plugin/edit.lua similarity index 100% rename from config/nvim/lua/imokuri/plugin/edit.lua rename to .config/nvim/lua/imokuri/plugin/edit.lua diff --git a/config/nvim/lua/imokuri/plugin/filetype.lua b/.config/nvim/lua/imokuri/plugin/filetype.lua similarity index 100% rename from config/nvim/lua/imokuri/plugin/filetype.lua rename to .config/nvim/lua/imokuri/plugin/filetype.lua diff --git a/config/nvim/lua/imokuri/plugin/lsp.lua b/.config/nvim/lua/imokuri/plugin/lsp.lua similarity index 100% rename from config/nvim/lua/imokuri/plugin/lsp.lua rename to .config/nvim/lua/imokuri/plugin/lsp.lua diff --git a/config/nvim/lua/imokuri/plugin/snacks.lua b/.config/nvim/lua/imokuri/plugin/snacks.lua similarity index 100% rename from config/nvim/lua/imokuri/plugin/snacks.lua rename to .config/nvim/lua/imokuri/plugin/snacks.lua diff --git a/config/nvim/lua/imokuri/plugin/terminal.lua b/.config/nvim/lua/imokuri/plugin/terminal.lua similarity index 100% rename from config/nvim/lua/imokuri/plugin/terminal.lua rename to .config/nvim/lua/imokuri/plugin/terminal.lua diff --git a/config/nvim/lua/imokuri/plugin/treesitter.lua b/.config/nvim/lua/imokuri/plugin/treesitter.lua similarity index 100% rename from config/nvim/lua/imokuri/plugin/treesitter.lua rename to .config/nvim/lua/imokuri/plugin/treesitter.lua diff --git a/config/nvim/lua/imokuri/plugin/ui.lua b/.config/nvim/lua/imokuri/plugin/ui.lua similarity index 100% rename from config/nvim/lua/imokuri/plugin/ui.lua rename to .config/nvim/lua/imokuri/plugin/ui.lua diff --git a/config/nvim/lua/imokuri/rc/autocmd.lua b/.config/nvim/lua/imokuri/rc/autocmd.lua similarity index 100% rename from config/nvim/lua/imokuri/rc/autocmd.lua rename to .config/nvim/lua/imokuri/rc/autocmd.lua diff --git a/config/nvim/lua/imokuri/rc/mapping.lua b/.config/nvim/lua/imokuri/rc/mapping.lua similarity index 100% rename from config/nvim/lua/imokuri/rc/mapping.lua rename to .config/nvim/lua/imokuri/rc/mapping.lua diff --git a/config/nvim/lua/imokuri/rc/option.lua b/.config/nvim/lua/imokuri/rc/option.lua similarity index 100% rename from config/nvim/lua/imokuri/rc/option.lua rename to .config/nvim/lua/imokuri/rc/option.lua diff --git a/config/nvim/lua/imokuri/util.lua b/.config/nvim/lua/imokuri/util.lua similarity index 100% rename from config/nvim/lua/imokuri/util.lua rename to .config/nvim/lua/imokuri/util.lua diff --git a/config/nvim/snippets/_.snippets b/.config/nvim/snippets/_.snippets similarity index 100% rename from config/nvim/snippets/_.snippets rename to .config/nvim/snippets/_.snippets diff --git a/config/nvim/snippets/codecompanion.snippets b/.config/nvim/snippets/codecompanion.snippets similarity index 100% rename from config/nvim/snippets/codecompanion.snippets rename to .config/nvim/snippets/codecompanion.snippets diff --git a/config/nvim/snippets/make.snippets b/.config/nvim/snippets/make.snippets similarity index 100% rename from config/nvim/snippets/make.snippets rename to .config/nvim/snippets/make.snippets diff --git a/config/nvim/snippets/markdown.snippets b/.config/nvim/snippets/markdown.snippets similarity index 100% rename from config/nvim/snippets/markdown.snippets rename to .config/nvim/snippets/markdown.snippets diff --git a/config/nvim/templates/make/base-commands.make b/.config/nvim/templates/make/base-commands.make similarity index 100% rename from config/nvim/templates/make/base-commands.make rename to .config/nvim/templates/make/base-commands.make diff --git a/config/nvim/templates/make/snip-docker-compose.make b/.config/nvim/templates/make/snip-docker-compose.make similarity index 100% rename from config/nvim/templates/make/snip-docker-compose.make rename to .config/nvim/templates/make/snip-docker-compose.make diff --git a/config/nvim/templates/make/snip-docker.make b/.config/nvim/templates/make/snip-docker.make similarity index 100% rename from config/nvim/templates/make/snip-docker.make rename to .config/nvim/templates/make/snip-docker.make diff --git a/config/nvim/templates/make/snip-helm.make b/.config/nvim/templates/make/snip-helm.make similarity index 100% rename from config/nvim/templates/make/snip-helm.make rename to .config/nvim/templates/make/snip-helm.make diff --git a/config/nvim/templates/markdown/base-post.md b/.config/nvim/templates/markdown/base-post.md similarity index 100% rename from config/nvim/templates/markdown/base-post.md rename to .config/nvim/templates/markdown/base-post.md diff --git a/config/nvim/templates/markdown/base-readme.md b/.config/nvim/templates/markdown/base-readme.md similarity index 100% rename from config/nvim/templates/markdown/base-readme.md rename to .config/nvim/templates/markdown/base-readme.md diff --git a/config/nvim/templates/python/base-kaggle-run.py b/.config/nvim/templates/python/base-kaggle-run.py similarity index 100% rename from config/nvim/templates/python/base-kaggle-run.py rename to .config/nvim/templates/python/base-kaggle-run.py diff --git a/config/nvim/templates/python/snip-arg.py b/.config/nvim/templates/python/snip-arg.py similarity index 100% rename from config/nvim/templates/python/snip-arg.py rename to .config/nvim/templates/python/snip-arg.py diff --git a/config/ssh/github.conf b/.config/ssh/github.conf similarity index 100% rename from config/ssh/github.conf rename to .config/ssh/github.conf diff --git a/config/starship.toml b/.config/starship.toml similarity index 100% rename from config/starship.toml rename to .config/starship.toml diff --git a/config/uv/uv.toml b/.config/uv/uv.toml similarity index 100% rename from config/uv/uv.toml rename to .config/uv/uv.toml diff --git a/vimrc b/.vimrc similarity index 100% rename from vimrc rename to .vimrc diff --git a/Makefile b/Makefile index c461608a..0e255d20 100644 --- a/Makefile +++ b/Makefile @@ -8,9 +8,6 @@ COL := 120 BANNER := \033[38;2;101;178;255m CLEAR_COLOR := \033[0m -# List up dotfiles -DOTFILES_XDG_CONFIG := $(shell ls config) - # Define path DOTPATH := $(HOME)/.dotfiles BASHMARKS := $(HOME)/src/bashmarks @@ -29,19 +26,15 @@ define repo fi endef -list: ## Show file/directory list for deployment - @$(foreach val, $(DOTFILES_XDG_CONFIG), ls -dF config/$(val);) +list: ## List all dotfiles + @mise dotfiles status install: link shell-setup mise bashmarks bat-theme ## Do installation process link: ## Create symlink $(call banner,Create symlinks...) - @mkdir -p $(HOME)/.local/bin - @mkdir -p $(HOME)/{bin,.config,ghe,github,github_hpeprod,work,docker,namespace} - @mkdir -p $(HOME)/ghe/{hpe,yoshio-sugiyama} - @mkdir -p $(HOME)/github/{HPE-TA,IMOKURI,others} - @mkdir -p $(HOME)/github_hpeprod/yoshio-sugiyama_hpeprod - @$(foreach val, $(DOTFILES_XDG_CONFIG), ln -sfnv $(abspath config/$(val)) $(HOME)/.config/$(val);) + @mkdir -p $(HOME)/.config + @ln -sfnv $(abspath config/mise) $(HOME)/.config/mise shell-setup: ## Setup shell and SSH settings $(call banner,Setup shell and SSH settings...) @@ -60,12 +53,12 @@ shell-setup: ## Setup shell and SSH settings mise: ## Setup Mise $(call banner,Setup Mise...) @if [[ -f $(HOME)/.local/bin/mise ]]; then \ - mise self-update -y; \ + mise self-update --yes; \ mise upgrade; \ - mise prune -y; \ + mise prune --yes; \ else \ curl https://mise.run | sh; \ - mise install; \ + mise bootstrap --yes; \ fi bashmarks: ## Setup Bashmarks From ddc0f3609012f2db5c99df7f7b515de7cc274eef Mon Sep 17 00:00:00 2001 From: Yoshio Sugiyama Date: Fri, 10 Jul 2026 10:52:07 +0900 Subject: [PATCH 2/9] feat: migrate repo Signed-off-by: Yoshio Sugiyama --- .config/mise/config.toml | 5 ++++- Makefile | 20 -------------------- 2 files changed, 4 insertions(+), 21 deletions(-) diff --git a/.config/mise/config.toml b/.config/mise/config.toml index 9604bbd1..b502811c 100644 --- a/.config/mise/config.toml +++ b/.config/mise/config.toml @@ -8,7 +8,6 @@ default_mode = "symlink" [bootstrap.hooks.pre-dotfiles] run = """ -mkdir -p ~/.local/bin mkdir -p ~/{bin,ghe,github,github_hpeprod,work,docker,namespace} mkdir -p ~/ghe/{hpe,yoshio-sugiyama} mkdir -p ~/github/{HPE-TA,IMOKURI,others} @@ -19,6 +18,10 @@ mkdir -p ~/github_hpeprod/yoshio-sugiyama_hpeprod "~/.vimrc" = {} "~/.config/*" = {} +[bootstrap.repos] +"~/src/bashmarks" = { url = "https://github.com/huyng/bashmarks.git" } +"~/src/cat-bat" = { url = "https://github.com/catppuccin/bat.git" } + [settings.npm] package_manager = "bun" diff --git a/Makefile b/Makefile index 0e255d20..e034e891 100644 --- a/Makefile +++ b/Makefile @@ -18,14 +18,6 @@ define banner printf "\n$(BANNER)%s %s$(CLEAR_COLOR)\n\n" "$(1)" "$${sep:$${#1}}" endef -define repo - @if [[ -d "$1" ]]; then \ - cd $1 && git pull && git submodule update --init --recursive; \ - else \ - git clone --depth 1 --recursive https://github.com/$2 "$1"; \ - fi -endef - list: ## List all dotfiles @mise dotfiles status @@ -63,24 +55,12 @@ mise: ## Setup Mise bashmarks: ## Setup Bashmarks $(call banner,Setup Bashmarks...) - @$(MAKE) update-bashmarks build-bashmarks - -update-bashmarks: ## Update Bashmarks repository - $(call repo,$(BASHMARKS),huyng/bashmarks) - -build-bashmarks: ## Build Bashmarks @cd $(BASHMARKS) && \ make install && \ sed -i 's/^alias l=/# &/' $(HOME)/.bashrc bat-theme: ## Setup Bat theme $(call banner,Setup Bat theme...) - @$(MAKE) update-bat-theme build-bat-theme - -update-bat-theme: ## Update Bat theme repository - $(call repo,$(CAT_BAT),catppuccin/bat) - -build-bat-theme: ## Build Bat theme @cd $(CAT_BAT) && \ mkdir -p "$(shell bat --config-dir)/themes" && \ cp -f themes/*.tmTheme "$(shell bat --config-dir)/themes" && \ From c353490c01da98a8bf18b6073a4c8b108d608ed2 Mon Sep 17 00:00:00 2001 From: Yoshio Sugiyama Date: Fri, 10 Jul 2026 11:05:22 +0900 Subject: [PATCH 3/9] feat: migrate bashmark build task Signed-off-by: Yoshio Sugiyama --- .config/mise/config.toml | 7 +++++++ Makefile | 9 +-------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.config/mise/config.toml b/.config/mise/config.toml index b502811c..de4990a0 100644 --- a/.config/mise/config.toml +++ b/.config/mise/config.toml @@ -22,6 +22,13 @@ mkdir -p ~/github_hpeprod/yoshio-sugiyama_hpeprod "~/src/bashmarks" = { url = "https://github.com/huyng/bashmarks.git" } "~/src/cat-bat" = { url = "https://github.com/catppuccin/bat.git" } +[tasks.bootstrap] +run = """ +cd ~/src/bashmarks && make install +sed -i 's/^alias l=/# &/' ${HOME}/.bashrc +cd ${MISE_ORIGINAL_CWD} && pwd +""" + [settings.npm] package_manager = "bun" diff --git a/Makefile b/Makefile index e034e891..48826c8d 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,6 @@ CLEAR_COLOR := \033[0m # Define path DOTPATH := $(HOME)/.dotfiles -BASHMARKS := $(HOME)/src/bashmarks CAT_BAT := $(HOME)/src/cat-bat define banner @@ -21,7 +20,7 @@ endef list: ## List all dotfiles @mise dotfiles status -install: link shell-setup mise bashmarks bat-theme ## Do installation process +install: link shell-setup mise bat-theme ## Do installation process link: ## Create symlink $(call banner,Create symlinks...) @@ -53,12 +52,6 @@ mise: ## Setup Mise mise bootstrap --yes; \ fi -bashmarks: ## Setup Bashmarks - $(call banner,Setup Bashmarks...) - @cd $(BASHMARKS) && \ - make install && \ - sed -i 's/^alias l=/# &/' $(HOME)/.bashrc - bat-theme: ## Setup Bat theme $(call banner,Setup Bat theme...) @cd $(CAT_BAT) && \ From c189ebd70102ddf1d7e7186056ce4e7fd3ceca64 Mon Sep 17 00:00:00 2001 From: Yoshio Sugiyama Date: Fri, 10 Jul 2026 14:09:56 +0900 Subject: [PATCH 4/9] feat: migrate bat build command Signed-off-by: Yoshio Sugiyama --- .config/mise/config.toml | 14 +++++++++++++- Makefile | 10 +--------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/.config/mise/config.toml b/.config/mise/config.toml index de4990a0..192f6c8d 100644 --- a/.config/mise/config.toml +++ b/.config/mise/config.toml @@ -23,10 +23,22 @@ mkdir -p ~/github_hpeprod/yoshio-sugiyama_hpeprod "~/src/cat-bat" = { url = "https://github.com/catppuccin/bat.git" } [tasks.bootstrap] +depends = ["bashmarks", "bat-themes"] +run = """ +echo "Bootstrap tasks completed." +""" + +[tasks.bashmarks] run = """ cd ~/src/bashmarks && make install sed -i 's/^alias l=/# &/' ${HOME}/.bashrc -cd ${MISE_ORIGINAL_CWD} && pwd +""" + +[tasks.bat-themes] +run = """ +mkdir -p "$(bat --config-dir)/themes" +cp -f themes/*.tmTheme "$(bat --config-dir)/themes" +bat cache --build """ [settings.npm] diff --git a/Makefile b/Makefile index 48826c8d..73973c01 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,6 @@ CLEAR_COLOR := \033[0m # Define path DOTPATH := $(HOME)/.dotfiles -CAT_BAT := $(HOME)/src/cat-bat define banner @sep="$$(for ((i = 1; i < $(COL); i++)); do printf '='; done)"; \ @@ -20,7 +19,7 @@ endef list: ## List all dotfiles @mise dotfiles status -install: link shell-setup mise bat-theme ## Do installation process +install: link shell-setup mise ## Do installation process link: ## Create symlink $(call banner,Create symlinks...) @@ -52,13 +51,6 @@ mise: ## Setup Mise mise bootstrap --yes; \ fi -bat-theme: ## Setup Bat theme - $(call banner,Setup Bat theme...) - @cd $(CAT_BAT) && \ - mkdir -p "$(shell bat --config-dir)/themes" && \ - cp -f themes/*.tmTheme "$(shell bat --config-dir)/themes" && \ - bat cache --build - help: ## Show this help @awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / \ {printf "\033[38;2;98;209;150m%-20s\033[0m %s\n", $$1, $$2}' \ From d4dec1222c23fe7aee8d14881e95ab48b9445c39 Mon Sep 17 00:00:00 2001 From: Yoshio Sugiyama Date: Fri, 10 Jul 2026 15:16:03 +0900 Subject: [PATCH 5/9] feat: shell setup migration Signed-off-by: Yoshio Sugiyama --- .config/mise/config.toml | 24 +++++++++++++++++++- Makefile | 48 +++++----------------------------------- install | 6 ++--- 3 files changed, 32 insertions(+), 46 deletions(-) diff --git a/.config/mise/config.toml b/.config/mise/config.toml index 192f6c8d..e783f129 100644 --- a/.config/mise/config.toml +++ b/.config/mise/config.toml @@ -1,3 +1,5 @@ +redactions = ["MISE_GITHUB_TOKEN"] + [settings] color_theme = "catppuccin" install_before = "7d" @@ -8,6 +10,7 @@ default_mode = "symlink" [bootstrap.hooks.pre-dotfiles] run = """ +mkdir -p -m 700 ~/.ssh mkdir -p ~/{bin,ghe,github,github_hpeprod,work,docker,namespace} mkdir -p ~/ghe/{hpe,yoshio-sugiyama} mkdir -p ~/github/{HPE-TA,IMOKURI,others} @@ -23,11 +26,30 @@ mkdir -p ~/github_hpeprod/yoshio-sugiyama_hpeprod "~/src/cat-bat" = { url = "https://github.com/catppuccin/bat.git" } [tasks.bootstrap] -depends = ["bashmarks", "bat-themes"] +depends = ["bashrc", "mise-token", "ssh", "bashmarks", "bat-themes"] run = """ echo "Bootstrap tasks completed." """ +[tasks.bashrc] +run = """ +#!/usr/bin/env bash +if ! grep -q '.config/bashrc' "${HOME}/.bashrc"; then echo -e "\nif [[ -f ~/.config/bashrc ]]; then\n . ~/.config/bashrc\nfi" >> "${HOME}/.bashrc"; fi +""" + +[tasks.mise-token] +run = """ +#!/usr/bin/env bash +if ! grep -q 'export MISE_GITHUB_TOKEN=' "${HOME}/.bashrc"; then echo 'export MISE_GITHUB_TOKEN="{{env.MISE_GITHUB_TOKEN}}"' >> "${HOME}/.bashrc"; fi +""" + +[tasks.ssh] +run = """ +#!/usr/bin/env bash +touch ~/.ssh/config +if ! grep -q 'Include ~/.config/ssh/' "${HOME}/.ssh/config"; then echo -e "\nInclude ~/.config/ssh/*.conf" >> "${HOME}/.ssh/config"; fi +""" + [tasks.bashmarks] run = """ cd ~/src/bashmarks && make install diff --git a/Makefile b/Makefile index 73973c01..4f473e72 100644 --- a/Makefile +++ b/Makefile @@ -1,56 +1,20 @@ -.PHONY: install -.DEFAULT_GOAL := help - SHELL := /bin/bash +.DEFAULT_GOAL := help -# Define banner style -COL := 120 -BANNER := \033[38;2;101;178;255m -CLEAR_COLOR := \033[0m - -# Define path -DOTPATH := $(HOME)/.dotfiles - -define banner - @sep="$$(for ((i = 1; i < $(COL); i++)); do printf '='; done)"; \ - printf "\n$(BANNER)%s %s$(CLEAR_COLOR)\n\n" "$(1)" "$${sep:$${#1}}" -endef - -list: ## List all dotfiles - @mise dotfiles status - -install: link shell-setup mise ## Do installation process - -link: ## Create symlink - $(call banner,Create symlinks...) - @mkdir -p $(HOME)/.config - @ln -sfnv $(abspath config/mise) $(HOME)/.config/mise - -shell-setup: ## Setup shell and SSH settings - $(call banner,Setup shell and SSH settings...) - @if ! grep -q '.config/bashrc' "$(HOME)/.bashrc"; then \ - echo -e "\nif [[ -f ~/.config/bashrc ]]; then\n . ~/.config/bashrc\nfi" >>"$(HOME)/.bashrc"; \ - fi - @if ! grep -q 'export MISE_GITHUB_TOKEN=' "$(HOME)/.bashrc"; then \ - echo 'export MISE_GITHUB_TOKEN="$(MISE_GITHUB_TOKEN)"' >> "$(HOME)/.bashrc"; \ - fi - @mkdir -p -m 700 ~/.ssh - @touch ~/.ssh/config - @if ! grep -q 'Include ~/.config/ssh/' "$(HOME)/.ssh/config"; then \ - echo -e "\nInclude ~/.config/ssh/*.conf" >>"$(HOME)/.ssh/config"; \ - fi - -mise: ## Setup Mise - $(call banner,Setup Mise...) +.PHONY: mise +mise: ## Bootstrap @if [[ -f $(HOME)/.local/bin/mise ]]; then \ mise self-update --yes; \ mise upgrade; \ mise prune --yes; \ else \ + mkdir -p $(HOME)/.config; \ + ln -sfnv $(abspath config/mise) $(HOME)/.config/mise; \ curl https://mise.run | sh; \ mise bootstrap --yes; \ fi +.PHONY: help help: ## Show this help @awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / \ {printf "\033[38;2;98;209;150m%-20s\033[0m %s\n", $$1, $$2}' \ diff --git a/install b/install index 495e5b03..a0b3a81e 100755 --- a/install +++ b/install @@ -30,13 +30,13 @@ if [[ ! -d "${DOTPATH}" ]]; then git clone --recursive https://github.com/IMOKURI/dotfiles.git "${DOTPATH}" fi -##### Setup dotfiles ######################################################### +##### Bootstrap ############################################################## -_banner "Setup dotfiles..." +_banner "Bootstrap..." pushd "$(pwd)" cd "${DOTPATH}" -make install +make mise popd ##### Instruct next steps ##################################################### From 112553fd779c07341e605f6881b72b01556011c3 Mon Sep 17 00:00:00 2001 From: Yoshio Sugiyama Date: Fri, 10 Jul 2026 15:23:58 +0900 Subject: [PATCH 6/9] fix: path Signed-off-by: Yoshio Sugiyama --- .config/mise/config.toml | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.config/mise/config.toml b/.config/mise/config.toml index e783f129..a644d5e5 100644 --- a/.config/mise/config.toml +++ b/.config/mise/config.toml @@ -59,7 +59,7 @@ sed -i 's/^alias l=/# &/' ${HOME}/.bashrc [tasks.bat-themes] run = """ mkdir -p "$(bat --config-dir)/themes" -cp -f themes/*.tmTheme "$(bat --config-dir)/themes" +cp -f ~/src/cat-bat/themes/*.tmTheme "$(bat --config-dir)/themes" bat cache --build """ diff --git a/README.md b/README.md index 2ce37e16..0df6e6cc 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Dotfiles that can be installed by one command - Clone dotfiles repository. - Create symbolic links to dotfile. -- Install Neovim and development tools via Mise. +- Install Neovim and development tools. ## Platforms From 0366951c285994a54285402ca3a90463376e4e09 Mon Sep 17 00:00:00 2001 From: Yoshio Sugiyama Date: Fri, 10 Jul 2026 15:42:16 +0900 Subject: [PATCH 7/9] refactor: makefile Signed-off-by: Yoshio Sugiyama --- Makefile | 17 +++++------------ install | 11 ++++++----- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/Makefile b/Makefile index 4f473e72..1f6d1c79 100644 --- a/Makefile +++ b/Makefile @@ -1,18 +1,11 @@ SHELL := /bin/bash .DEFAULT_GOAL := help -.PHONY: mise -mise: ## Bootstrap - @if [[ -f $(HOME)/.local/bin/mise ]]; then \ - mise self-update --yes; \ - mise upgrade; \ - mise prune --yes; \ - else \ - mkdir -p $(HOME)/.config; \ - ln -sfnv $(abspath config/mise) $(HOME)/.config/mise; \ - curl https://mise.run | sh; \ - mise bootstrap --yes; \ - fi +.PHONY: update +update: ## Bootstrap + mise self-update --yes + mise upgrade + mise prune --yes .PHONY: help help: ## Show this help diff --git a/install b/install index a0b3a81e..682b92cf 100755 --- a/install +++ b/install @@ -28,16 +28,17 @@ _banner "Download Dotfiles..." if [[ ! -d "${DOTPATH}" ]]; then git clone --recursive https://github.com/IMOKURI/dotfiles.git "${DOTPATH}" + mkdir -p $(HOME)/.config + ln -sfnv "${DOTPATH}/.config/mise" "${HOME}/.config/mise" fi ##### Bootstrap ############################################################## -_banner "Bootstrap..." +_banner "Install mise..." +curl https://mise.run | sh -pushd "$(pwd)" -cd "${DOTPATH}" -make mise -popd +_banner "Install mise..." +mise bootstrap --yes ##### Instruct next steps ##################################################### From 11578c0d146c99de4a0862d4dfeab5fc60024ea0 Mon Sep 17 00:00:00 2001 From: Yoshio Sugiyama Date: Fri, 10 Jul 2026 15:55:38 +0900 Subject: [PATCH 8/9] feat: add package installation Signed-off-by: Yoshio Sugiyama --- .config/mise/config.toml | 6 ++++++ .github/workflows/e2e_test.yml | 2 +- README.md | 2 +- install | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.config/mise/config.toml b/.config/mise/config.toml index a644d5e5..feecaa2a 100644 --- a/.config/mise/config.toml +++ b/.config/mise/config.toml @@ -4,6 +4,12 @@ redactions = ["MISE_GITHUB_TOKEN"] color_theme = "catppuccin" install_before = "7d" +[bootstrap.packages] +"apt:build-essential" = "latest" +"apt:git" = "latest" +"apt:gnupg" = "latest" +"apt:tar" = "latest" + [settings.dotfiles] root = "~/.dotfiles" default_mode = "symlink" diff --git a/.github/workflows/e2e_test.yml b/.github/workflows/e2e_test.yml index 255d5c58..a58dae36 100644 --- a/.github/workflows/e2e_test.yml +++ b/.github/workflows/e2e_test.yml @@ -24,7 +24,7 @@ jobs: - name: Install requirements run: | apt-get update - apt-get install -y curl gcc git gnupg make tar + apt-get install -y curl - uses: actions/checkout@v6 diff --git a/README.md b/README.md index 0df6e6cc..3ad64cd7 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Dotfiles that can be installed by one command ## Requirements ```bash -sudo apt install -y curl gcc git gnupg make tar +sudo apt install -y curl ``` Create a GitHub token without any scope from [here](https://github.com/settings/tokens). diff --git a/install b/install index 682b92cf..83da2785 100755 --- a/install +++ b/install @@ -37,7 +37,7 @@ fi _banner "Install mise..." curl https://mise.run | sh -_banner "Install mise..." +_banner "Bootstrap..." mise bootstrap --yes ##### Instruct next steps ##################################################### From 08b15f45a0392502d9d901efa7f978c59d6ce1d6 Mon Sep 17 00:00:00 2001 From: Yoshio Sugiyama Date: Fri, 10 Jul 2026 16:29:22 +0900 Subject: [PATCH 9/9] docs: update readme Signed-off-by: Yoshio Sugiyama --- README.md | 26 +++++++++++++++++++++++++- install | 2 +- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3ad64cd7..a691e597 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ sudo apt install -y curl Create a GitHub token without any scope from [here](https://github.com/settings/tokens). ```bash -export MISE_GITHUB_TOKEN="your_github_token" +export MISE_GITHUB_TOKEN="" ``` ## Installation @@ -35,3 +35,27 @@ export MISE_GITHUB_TOKEN="your_github_token" ```bash bash -c "$(curl -fsSL https://git.io/imokuri)" ``` + +## Testing + +
+Test in Docker + +```bash +docker run -it --rm ubuntu:24.04 bash + +apt update +apt install curl git -y + +export MISE_GITHUB_TOKEN="" + +git clone https://github.com/IMOKURI/dotfiles.git ~/.dotfiles +cd ~/.dotfiles + +# Optional: Change the branch to test +git checkout + +bash install +``` + +
diff --git a/install b/install index 83da2785..e44d549f 100755 --- a/install +++ b/install @@ -28,7 +28,7 @@ _banner "Download Dotfiles..." if [[ ! -d "${DOTPATH}" ]]; then git clone --recursive https://github.com/IMOKURI/dotfiles.git "${DOTPATH}" - mkdir -p $(HOME)/.config + mkdir -p ${HOME}/.config ln -sfnv "${DOTPATH}/.config/mise" "${HOME}/.config/mise" fi