From 960e957833666b916f101a2461cee2e8c501b101 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 30 Apr 2026 15:14:56 +0000 Subject: [PATCH 01/30] Switch fastfetch logo to NixOS builtin --- home/fastfetch/config.jsonc | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/home/fastfetch/config.jsonc b/home/fastfetch/config.jsonc index 9d3e6a8..5f38d11 100644 --- a/home/fastfetch/config.jsonc +++ b/home/fastfetch/config.jsonc @@ -1,12 +1,8 @@ { "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/master/doc/json_schema.json", "logo": { - "source": "~/.config/fastfetch/clawd.txt", - "type": "file", - "color": { - // Claude Code's clawd_body: rgb(215,119,87) - "1": "38;2;215;119;87" - }, + "source": "nixos_small", + "type": "builtin", "padding": { "top": 1, "right": 3 From 2492ff21252de62cdb12d36caa0d03df4638db8a Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 30 Apr 2026 15:28:54 +0000 Subject: [PATCH 02/30] Add NixOS logo to fastfetch random rotation --- home/fastfetch/config.jsonc | 8 ++++++-- home/zsh/.zshrc | 3 ++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/home/fastfetch/config.jsonc b/home/fastfetch/config.jsonc index 5f38d11..9d3e6a8 100644 --- a/home/fastfetch/config.jsonc +++ b/home/fastfetch/config.jsonc @@ -1,8 +1,12 @@ { "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/master/doc/json_schema.json", "logo": { - "source": "nixos_small", - "type": "builtin", + "source": "~/.config/fastfetch/clawd.txt", + "type": "file", + "color": { + // Claude Code's clawd_body: rgb(215,119,87) + "1": "38;2;215;119;87" + }, "padding": { "top": 1, "right": 3 diff --git a/home/zsh/.zshrc b/home/zsh/.zshrc index 276a91a..353da6e 100644 --- a/home/zsh/.zshrc +++ b/home/zsh/.zshrc @@ -67,9 +67,10 @@ fi # fastfetch if command -v fastfetch &>/dev/null; then - case $((RANDOM % 2)) in + case $((RANDOM % 3)) in 0) fastfetch ;; 1) fastfetch --logo auto ;; + 2) fastfetch --logo nixos_small ;; esac fi From 771b184a2392903f74f4998db223e34475ef5735 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 30 Apr 2026 15:29:53 +0000 Subject: [PATCH 03/30] Make Apple logo explicit in fastfetch rotation --- home/zsh/.zshrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/zsh/.zshrc b/home/zsh/.zshrc index 353da6e..7ea02f3 100644 --- a/home/zsh/.zshrc +++ b/home/zsh/.zshrc @@ -69,7 +69,7 @@ fi if command -v fastfetch &>/dev/null; then case $((RANDOM % 3)) in 0) fastfetch ;; - 1) fastfetch --logo auto ;; + 1) fastfetch --logo apple ;; 2) fastfetch --logo nixos_small ;; esac fi From 171bd73801fb45990735cc1970658f2ee2a488bc Mon Sep 17 00:00:00 2001 From: Rinrin <88963450+rin2yh@users.noreply.github.com> Date: Fri, 8 May 2026 14:04:50 +0900 Subject: [PATCH 04/30] Set package ecosystem to 'nix' in dependabot config --- .github/dependabot.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..abfe08b --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,11 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file + +version: 2 +updates: + - package-ecosystem: "nix" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "weekly" From c7f0b9e1d3a1c0c5b84f7e95eb8d6cb63b26ff27 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 May 2026 05:06:10 +0000 Subject: [PATCH 05/30] chore(deps): bump nixpkgs from `6368eda` to `68a8af9` Bumps [nixpkgs](https://github.com/nixos/nixpkgs) from `6368eda` to `68a8af9`. - [Commits](https://github.com/nixos/nixpkgs/compare/6368eda62c9775c38ef7f714b2555a741c20c72d...68a8af93ff4297686cb68880845e61e5e2e41d92) --- updated-dependencies: - dependency-name: nixpkgs dependency-version: 68a8af93ff4297686cb68880845e61e5e2e41d92 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index f44a389..a00f3a6 100644 --- a/flake.lock +++ b/flake.lock @@ -109,11 +109,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1777270315, - "narHash": "sha256-yKB4G6cKsQsWN7M6rZGk6gkJPDNPIzT05y4qzRyCDlI=", + "lastModified": 1778124196, + "narHash": "sha256-pYEytCNic/czazbV9r3tbQ6BZzqRBg/41x2dIC5ymOo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6368eda62c9775c38ef7f714b2555a741c20c72d", + "rev": "68a8af93ff4297686cb68880845e61e5e2e41d92", "type": "github" }, "original": { From 67389d157731977f8483a261812f188784aadcd2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 May 2026 17:12:59 +0000 Subject: [PATCH 06/30] chore(deps): bump homebrew-core from `7deee96` to `458fc34` Bumps [homebrew-core](https://github.com/homebrew/homebrew-core) from `7deee96` to `458fc34`. - [Commits](https://github.com/homebrew/homebrew-core/compare/7deee96fc8b54120fa3af8b9e221805f533c3210...458fc34e680f3049f36f11478c27ac73b8b146bf) --- updated-dependencies: - dependency-name: homebrew-core dependency-version: 458fc34e680f3049f36f11478c27ac73b8b146bf dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index f44a389..8162181 100644 --- a/flake.lock +++ b/flake.lock @@ -56,11 +56,11 @@ "homebrew-core": { "flake": false, "locked": { - "lastModified": 1777471357, - "narHash": "sha256-i+7HTA8whNmwOUi8rip662plelxH+Yw4TTniRceZBcA=", + "lastModified": 1778259077, + "narHash": "sha256-G4PTVqzmwtF9K0mtnM7w2QEB2ta2v0UeKqf9uHeF71M=", "owner": "homebrew", "repo": "homebrew-core", - "rev": "7deee96fc8b54120fa3af8b9e221805f533c3210", + "rev": "458fc34e680f3049f36f11478c27ac73b8b146bf", "type": "github" }, "original": { From 3b673d7babf6e2288429d706427fdd438379c8af Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 May 2026 17:13:06 +0000 Subject: [PATCH 07/30] chore(deps): bump homebrew-cask from `4ae120b` to `2a6d45e` Bumps [homebrew-cask](https://github.com/homebrew/homebrew-cask) from `4ae120b` to `2a6d45e`. - [Release notes](https://github.com/homebrew/homebrew-cask/releases) - [Commits](https://github.com/homebrew/homebrew-cask/compare/4ae120babe62d6be7543a6eae47491ca6e3891d6...2a6d45ee3fbc2694a12efbb19860b9b1803f31d1) --- updated-dependencies: - dependency-name: homebrew-cask dependency-version: 2a6d45ee3fbc2694a12efbb19860b9b1803f31d1 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index f44a389..aaa5540 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ "homebrew-cask": { "flake": false, "locked": { - "lastModified": 1777472270, - "narHash": "sha256-+6zmB2VBaYIuT1DCbzGe0b9QX4UkdscB8jxX/yWcmHA=", + "lastModified": 1778259240, + "narHash": "sha256-rBzxFpjkE8qqmlYymbKOwkbv+AxRRKdAFQRuDJp9RFw=", "owner": "homebrew", "repo": "homebrew-cask", - "rev": "4ae120babe62d6be7543a6eae47491ca6e3891d6", + "rev": "2a6d45ee3fbc2694a12efbb19860b9b1803f31d1", "type": "github" }, "original": { From 50c0a515507b10c0d7df6c2a451a9f0c05e4cee3 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 4 Jun 2026 07:20:47 +0000 Subject: [PATCH 08/30] Use 'default' as darwinConfiguration name for host-agnostic switch Rename the darwinConfiguration output from the hardcoded hostname to 'default' and set networking.hostName to match. This decouples the flake from a specific machine name so 'darwin-rebuild switch --flake .#default' works on any host, surviving PC migrations without edits. Drop the DARWIN_HOST variable and its 'scutil --get LocalHostName' shell-out from the Makefile, which is no longer needed. --- Makefile | 5 ++--- flake.nix | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index d891862..8b7e291 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,5 @@ MISE := $(HOME)/.local/bin/mise NIX := /nix/var/nix/profiles/default/bin/nix -DARWIN_HOST ?= $(shell scutil --get LocalHostName) DOTFILES_DIR := $(CURDIR) export PATH := $(HOME)/.local/bin:$(PATH) @@ -27,9 +26,9 @@ nix-install: ## Install Nix via official installer (if not installed) darwin-switch: ## Apply nix-darwin + home-manager configuration (flake) @if command -v darwin-rebuild >/dev/null 2>&1; then \ - sudo darwin-rebuild switch --flake $(DOTFILES_DIR)#$(DARWIN_HOST); \ + sudo darwin-rebuild switch --flake $(DOTFILES_DIR)#default; \ else \ - sudo nix run nix-darwin/master#darwin-rebuild -- switch --flake $(DOTFILES_DIR)#$(DARWIN_HOST); \ + sudo nix run nix-darwin/master#darwin-rebuild -- switch --flake $(DOTFILES_DIR)#default; \ fi @echo "" @echo "==> Run 'exec zsh -l' to reload the shell with the new configuration." diff --git a/flake.nix b/flake.nix index d91565e..c3326bb 100644 --- a/flake.nix +++ b/flake.nix @@ -35,7 +35,7 @@ ... }: { - darwinConfigurations."hayashiyuuseis-MacBook-Air" = nix-darwin.lib.darwinSystem { + darwinConfigurations."default" = nix-darwin.lib.darwinSystem { specialArgs = { inherit self @@ -48,7 +48,7 @@ modules = [ ./darwin/configuration.nix home-manager.darwinModules.home-manager - { networking.hostName = "hayashiyuuseis-MacBook-Air"; } + { networking.hostName = "default"; } nix-homebrew.darwinModules.nix-homebrew ]; }; From b977a04f473e103a6cc6be9e8e161d3bc1861226 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 4 Jun 2026 07:37:17 +0000 Subject: [PATCH 09/30] chore(deps): bump home-manager from `8ec5a71` to `4c5c1e8` Bumps [home-manager](https://github.com/nix-community/home-manager) from `8ec5a71` to `4c5c1e8`. - [Commits](https://github.com/nix-community/home-manager/compare/8ec5a714dbbeb3fda00bd9758175555ebbad4d07...4c5c1e8ba14f1c7475fa31ff11bc1c19cd220974) --- updated-dependencies: - dependency-name: home-manager dependency-version: fdb2ccba9d5e1238d32e0c4a3ec1a277efa80c1d dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index f44a389..6700496 100644 --- a/flake.lock +++ b/flake.lock @@ -24,11 +24,11 @@ ] }, "locked": { - "lastModified": 1777389590, - "narHash": "sha256-HWbn7WASXsXGADiBDt6/k9U/HpGBEmoeqIOzrf+z2HE=", + "lastModified": 1780515920, + "narHash": "sha256-8KX2hEeOX6KP3hBBJJI8dGWVrzbOOf1rBPmg/GUG24U=", "owner": "nix-community", "repo": "home-manager", - "rev": "8ec5a714dbbeb3fda00bd9758175555ebbad4d07", + "rev": "4c5c1e8ba14f1c7475fa31ff11bc1c19cd220974", "type": "github" }, "original": { From ab759c76189f70b3715140c40109bd3a53890bab Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 4 Jun 2026 07:37:18 +0000 Subject: [PATCH 10/30] chore(deps): bump nix-darwin from `06648f4` to `56c666e` Bumps [nix-darwin](https://github.com/nix-darwin/nix-darwin) from `06648f4` to `56c666e`. - [Commits](https://github.com/nix-darwin/nix-darwin/compare/06648f4902343228ce2de79f291dd5a58ee12146...56c666e108467d87d13508936aade6d567f2a501) --- updated-dependencies: - dependency-name: nix-darwin dependency-version: 8c62fba0854ba15c8917aed18894dbccb48a3777 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index f44a389..925b927 100644 --- a/flake.lock +++ b/flake.lock @@ -76,11 +76,11 @@ ] }, "locked": { - "lastModified": 1775037210, - "narHash": "sha256-KM2WYj6EA7M/FVZVCl3rqWY+TFV5QzSyyGE2gQxeODU=", + "lastModified": 1779036909, + "narHash": "sha256-zXcwYQGCT6pzinK+1dBB2ekTVtfxGZAapb3Evdcu4fY=", "owner": "nix-darwin", "repo": "nix-darwin", - "rev": "06648f4902343228ce2de79f291dd5a58ee12146", + "rev": "56c666e108467d87d13508936aade6d567f2a501", "type": "github" }, "original": { From 33327c1ae03d4b3565d0dcdf77add61d0e8c031d Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 26 Jun 2026 15:22:41 +0000 Subject: [PATCH 11/30] Migrate terminal from Ghostty to WezTerm Replace the Ghostty configuration with an equivalent WezTerm setup, preserving behavior where WezTerm supports it: - background opacity/blur, option-as-alt, inactive pane dimming - keybinds: reload config, cmd+opt tab nav, cmd+shift pane resize, cmd+l clear - shell integration (built into WezTerm) Swap the Homebrew cask ghostty -> wezterm and update the home-manager symlink. Remove the ghostty-shaders submodule since WezTerm has no custom GLSL shader support (the CRT cursor shader does not migrate). Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01SBm1GA28B7MzHWDxwcm5oe --- .gitmodules | 3 --- darwin/homebrew.nix | 2 +- home/ghostty/config | 34 --------------------------------- home/ghostty/shaders | 1 - home/home.nix | 3 ++- home/wezterm/wezterm.lua | 41 ++++++++++++++++++++++++++++++++++++++++ 6 files changed, 44 insertions(+), 40 deletions(-) delete mode 100644 .gitmodules delete mode 100644 home/ghostty/config delete mode 160000 home/ghostty/shaders create mode 100644 home/wezterm/wezterm.lua diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 963746b..0000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "config/ghostty/shaders"] - path = home/ghostty/shaders - url = https://github.com/0xhckr/ghostty-shaders.git diff --git a/darwin/homebrew.nix b/darwin/homebrew.nix index 4155f53..f67f611 100644 --- a/darwin/homebrew.nix +++ b/darwin/homebrew.nix @@ -29,12 +29,12 @@ "claude" "discord" "fuwari" - "ghostty" "homerow" "notion" "orbstack" "raycast" "slack" + "wezterm" ]; }; } diff --git a/home/ghostty/config b/home/ghostty/config deleted file mode 100644 index 0a0b36a..0000000 --- a/home/ghostty/config +++ /dev/null @@ -1,34 +0,0 @@ -macos-option-as-alt = true - -background-opacity = 0.85 -background-blur-radius = 20 -unfocused-split-opacity = 0.85 - -shell-integration = zsh - -# cmd+rで設定を再度読み込み -keybind = super+r=reload_config - -# ブラウザライクにウィンドウをcmd+opt+矢印で移動 -keybind = super+alt+right=next_tab -keybind = super+alt+left=previous_tab - -# resize split tab -keybind = super+shift+up=resize_split:up,10 -keybind = super+shift+down=resize_split:down,10 -keybind = super+shift+left=resize_split:left,10 -keybind = super+shift+right=resize_split:right,10 - -keybind = super+l=clear_screen - -# Custom shader -# custom-shader = shaders/mnoise.glsl -# custom-shader = shaders/starfield.glsl -custom-shader = shaders/in-game-crt-cursor.glsl -# custom-shader = shaders/cursor_blaze.glsl -# custom-shader = shaders/matrix-hallway.glsl -# custom-shader = shaders/inside-the-matrix.glsl -# custom-shader = shaders/in-game-crt.glsl -# custom-shader = shaders/tft.glsl -# custom-shader = shaders/cubes.glsl -# custom-shader = shaders/spotlight.glsl diff --git a/home/ghostty/shaders b/home/ghostty/shaders deleted file mode 160000 index aa6121b..0000000 --- a/home/ghostty/shaders +++ /dev/null @@ -1 +0,0 @@ -Subproject commit aa6121ba2ddd5251ac75b92729c758fe41256e55 diff --git a/home/home.nix b/home/home.nix index e6fbd42..67595ce 100644 --- a/home/home.nix +++ b/home/home.nix @@ -75,7 +75,8 @@ in "nvim".source = config.lib.file.mkOutOfStoreSymlink "${dotfiles}/nvim"; "starship.toml".source = config.lib.file.mkOutOfStoreSymlink "${dotfiles}/starship/starship.toml"; "fastfetch".source = config.lib.file.mkOutOfStoreSymlink "${dotfiles}/fastfetch"; - "ghostty".source = config.lib.file.mkOutOfStoreSymlink "${dotfiles}/ghostty"; + "wezterm/wezterm.lua".source = + config.lib.file.mkOutOfStoreSymlink "${dotfiles}/wezterm/wezterm.lua"; }; # Home Manager can also manage your environment variables through diff --git a/home/wezterm/wezterm.lua b/home/wezterm/wezterm.lua new file mode 100644 index 0000000..95eafc9 --- /dev/null +++ b/home/wezterm/wezterm.lua @@ -0,0 +1,41 @@ +local wezterm = require("wezterm") +local act = wezterm.action + +local config = wezterm.config_builder() + +-- macOSのoptionキーをAlt(Meta)として扱う (ghostty: macos-option-as-alt = true) +config.send_composed_key_when_left_alt_is_pressed = false +config.send_composed_key_when_right_alt_is_pressed = false + +-- 背景の透過とブラー (ghostty: background-opacity / background-blur-radius) +config.window_background_opacity = 0.85 +config.macos_window_background_blur = 20 + +-- 非アクティブなsplitを少し暗くする (ghostty: unfocused-split-opacity = 0.85) +-- weztermに透過指定はないため明度で近似する +config.inactive_pane_hsb = { + saturation = 1.0, + brightness = 0.85, +} + +-- shell integration はweztermに組み込みのため設定不要 (ghostty: shell-integration = zsh) + +config.keys = { + -- cmd+rで設定を再読み込み (ghostty: super+r=reload_config) + { key = "r", mods = "CMD", action = act.ReloadConfiguration }, + + -- ブラウザライクにcmd+opt+矢印でタブ移動 + { key = "RightArrow", mods = "CMD|ALT", action = act.ActivateTabRelative(1) }, + { key = "LeftArrow", mods = "CMD|ALT", action = act.ActivateTabRelative(-1) }, + + -- splitのリサイズ (ghostty: super+shift+矢印=resize_split:...,10) + { key = "UpArrow", mods = "CMD|SHIFT", action = act.AdjustPaneSize({ "Up", 10 }) }, + { key = "DownArrow", mods = "CMD|SHIFT", action = act.AdjustPaneSize({ "Down", 10 }) }, + { key = "LeftArrow", mods = "CMD|SHIFT", action = act.AdjustPaneSize({ "Left", 10 }) }, + { key = "RightArrow", mods = "CMD|SHIFT", action = act.AdjustPaneSize({ "Right", 10 }) }, + + -- 画面とスクロールバックをクリア (ghostty: super+l=clear_screen) + { key = "l", mods = "CMD", action = act.ClearScrollback("ScrollbackAndViewport") }, +} + +return config From a636c9b217e0418225d8f6f08e90c847d8acd686 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 26 Jun 2026 15:46:38 +0000 Subject: [PATCH 12/30] Add cmd+e keybind to rename the current WezTerm tab WezTerm has no default tab-rename shortcut; bind cmd+e to a PromptInputLine that sets the active tab title. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01SBm1GA28B7MzHWDxwcm5oe --- home/wezterm/wezterm.lua | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/home/wezterm/wezterm.lua b/home/wezterm/wezterm.lua index 95eafc9..719e272 100644 --- a/home/wezterm/wezterm.lua +++ b/home/wezterm/wezterm.lua @@ -36,6 +36,20 @@ config.keys = { -- 画面とスクロールバックをクリア (ghostty: super+l=clear_screen) { key = "l", mods = "CMD", action = act.ClearScrollback("ScrollbackAndViewport") }, + + -- タブ名を変更 (cmd+eで入力プロンプトを表示) + { + key = "e", + mods = "CMD", + action = act.PromptInputLine({ + description = "Enter new name for tab", + action = wezterm.action_callback(function(window, _, line) + if line then + window:active_tab():set_title(line) + end + end), + }), + }, } return config From 8c947a0c76d10c716ef4456b97f2a4a11fb5b61f Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 26 Jun 2026 17:18:43 +0000 Subject: [PATCH 13/30] Keep Ghostty alongside WezTerm instead of replacing it Restore the Ghostty config, cask, and shaders submodule so both terminals are installed and configured side by side. WezTerm is added as an additional option rather than a drop-in replacement. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01SBm1GA28B7MzHWDxwcm5oe --- .gitmodules | 3 +++ darwin/homebrew.nix | 1 + home/ghostty/config | 34 ++++++++++++++++++++++++++++++++++ home/ghostty/shaders | 1 + home/home.nix | 1 + 5 files changed, 40 insertions(+) create mode 100644 .gitmodules create mode 100644 home/ghostty/config create mode 160000 home/ghostty/shaders diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..963746b --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "config/ghostty/shaders"] + path = home/ghostty/shaders + url = https://github.com/0xhckr/ghostty-shaders.git diff --git a/darwin/homebrew.nix b/darwin/homebrew.nix index f67f611..8e228fc 100644 --- a/darwin/homebrew.nix +++ b/darwin/homebrew.nix @@ -29,6 +29,7 @@ "claude" "discord" "fuwari" + "ghostty" "homerow" "notion" "orbstack" diff --git a/home/ghostty/config b/home/ghostty/config new file mode 100644 index 0000000..0a0b36a --- /dev/null +++ b/home/ghostty/config @@ -0,0 +1,34 @@ +macos-option-as-alt = true + +background-opacity = 0.85 +background-blur-radius = 20 +unfocused-split-opacity = 0.85 + +shell-integration = zsh + +# cmd+rで設定を再度読み込み +keybind = super+r=reload_config + +# ブラウザライクにウィンドウをcmd+opt+矢印で移動 +keybind = super+alt+right=next_tab +keybind = super+alt+left=previous_tab + +# resize split tab +keybind = super+shift+up=resize_split:up,10 +keybind = super+shift+down=resize_split:down,10 +keybind = super+shift+left=resize_split:left,10 +keybind = super+shift+right=resize_split:right,10 + +keybind = super+l=clear_screen + +# Custom shader +# custom-shader = shaders/mnoise.glsl +# custom-shader = shaders/starfield.glsl +custom-shader = shaders/in-game-crt-cursor.glsl +# custom-shader = shaders/cursor_blaze.glsl +# custom-shader = shaders/matrix-hallway.glsl +# custom-shader = shaders/inside-the-matrix.glsl +# custom-shader = shaders/in-game-crt.glsl +# custom-shader = shaders/tft.glsl +# custom-shader = shaders/cubes.glsl +# custom-shader = shaders/spotlight.glsl diff --git a/home/ghostty/shaders b/home/ghostty/shaders new file mode 160000 index 0000000..aa6121b --- /dev/null +++ b/home/ghostty/shaders @@ -0,0 +1 @@ +Subproject commit aa6121ba2ddd5251ac75b92729c758fe41256e55 diff --git a/home/home.nix b/home/home.nix index 67595ce..281c310 100644 --- a/home/home.nix +++ b/home/home.nix @@ -75,6 +75,7 @@ in "nvim".source = config.lib.file.mkOutOfStoreSymlink "${dotfiles}/nvim"; "starship.toml".source = config.lib.file.mkOutOfStoreSymlink "${dotfiles}/starship/starship.toml"; "fastfetch".source = config.lib.file.mkOutOfStoreSymlink "${dotfiles}/fastfetch"; + "ghostty".source = config.lib.file.mkOutOfStoreSymlink "${dotfiles}/ghostty"; "wezterm/wezterm.lua".source = config.lib.file.mkOutOfStoreSymlink "${dotfiles}/wezterm/wezterm.lua"; }; From 5fbd3d3f7c96f13b61607d12b9f2ca39efb5c9ca Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 27 Jun 2026 10:37:48 +0000 Subject: [PATCH 14/30] Drop WezTerm keybinds that duplicate the defaults cmd+opt+arrow tab navigation and cmd+shift+arrow pane resize already match WezTerm's built-in bindings (ALT|SUPER arrows, SHIFT|SUPER arrows at size 10), so remove the redundant explicit definitions and leave a note. Keep the genuine additions: cmd+r reload, cmd+l clear, cmd+e rename tab. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01SBm1GA28B7MzHWDxwcm5oe --- home/wezterm/wezterm.lua | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/home/wezterm/wezterm.lua b/home/wezterm/wezterm.lua index 719e272..ea97e18 100644 --- a/home/wezterm/wezterm.lua +++ b/home/wezterm/wezterm.lua @@ -24,15 +24,10 @@ config.keys = { -- cmd+rで設定を再読み込み (ghostty: super+r=reload_config) { key = "r", mods = "CMD", action = act.ReloadConfiguration }, - -- ブラウザライクにcmd+opt+矢印でタブ移動 - { key = "RightArrow", mods = "CMD|ALT", action = act.ActivateTabRelative(1) }, - { key = "LeftArrow", mods = "CMD|ALT", action = act.ActivateTabRelative(-1) }, - - -- splitのリサイズ (ghostty: super+shift+矢印=resize_split:...,10) - { key = "UpArrow", mods = "CMD|SHIFT", action = act.AdjustPaneSize({ "Up", 10 }) }, - { key = "DownArrow", mods = "CMD|SHIFT", action = act.AdjustPaneSize({ "Down", 10 }) }, - { key = "LeftArrow", mods = "CMD|SHIFT", action = act.AdjustPaneSize({ "Left", 10 }) }, - { key = "RightArrow", mods = "CMD|SHIFT", action = act.AdjustPaneSize({ "Right", 10 }) }, + -- cmd+opt+矢印でタブ移動 / cmd+shift+矢印でsplitリサイズ は + -- weztermのデフォルトと同一のため定義不要: + -- ALT|SUPER 矢印 -> ActivateTabRelative + -- SHIFT|SUPER 矢印 -> AdjustPaneSize(..., 10) -- 画面とスクロールバックをクリア (ghostty: super+l=clear_screen) { key = "l", mods = "CMD", action = act.ClearScrollback("ScrollbackAndViewport") }, From 0d59588dd3f7e757b8d8ea7e920d4fb9a4965097 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 27 Jun 2026 10:54:57 +0000 Subject: [PATCH 15/30] Hide WezTerm title bar and integrate window buttons Set window_decorations to INTEGRATED_BUTTONS|RESIZE so the macOS title bar (showing the active program name like "zsh") is removed and the traffic-light buttons move into the tab bar. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01SBm1GA28B7MzHWDxwcm5oe --- home/wezterm/wezterm.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home/wezterm/wezterm.lua b/home/wezterm/wezterm.lua index ea97e18..bf379bc 100644 --- a/home/wezterm/wezterm.lua +++ b/home/wezterm/wezterm.lua @@ -18,6 +18,10 @@ config.inactive_pane_hsb = { brightness = 0.85, } +-- タイトルバーを消し、信号機ボタンをタブバーに統合する +-- ("zsh" などのウィンドウタイトル表示をなくす) +config.window_decorations = "INTEGRATED_BUTTONS|RESIZE" + -- shell integration はweztermに組み込みのため設定不要 (ghostty: shell-integration = zsh) config.keys = { From 669c478e3f51586dde79128494f86feef4c488ee Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 27 Jun 2026 10:56:46 +0000 Subject: [PATCH 16/30] Skip WezTerm close/quit confirmation prompt Set window_close_confirmation = "NeverPrompt" so quitting (cmd+q) or closing a tab/window with a running process no longer shows the "really close?" dialog. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01SBm1GA28B7MzHWDxwcm5oe --- home/wezterm/wezterm.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/home/wezterm/wezterm.lua b/home/wezterm/wezterm.lua index bf379bc..74b53d0 100644 --- a/home/wezterm/wezterm.lua +++ b/home/wezterm/wezterm.lua @@ -22,6 +22,9 @@ config.inactive_pane_hsb = { -- ("zsh" などのウィンドウタイトル表示をなくす) config.window_decorations = "INTEGRATED_BUTTONS|RESIZE" +-- 終了/タブを閉じるときの確認ダイアログを出さない +config.window_close_confirmation = "NeverPrompt" + -- shell integration はweztermに組み込みのため設定不要 (ghostty: shell-integration = zsh) config.keys = { From 4daa383d0a364e5394a7582a326dc0a8f32e2f0a Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 27 Jun 2026 11:06:53 +0000 Subject: [PATCH 17/30] Fix WezTerm transparency lost with integrated title-bar buttons INTEGRATED_BUTTONS moves the window buttons into the fancy tab bar, whose titlebar background is opaque by default, making the window look non-transparent on macOS (wezterm#5239). Set the active/inactive titlebar backgrounds to "none" so transparency works on a normal launch while keeping the title bar hidden. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01SBm1GA28B7MzHWDxwcm5oe --- home/wezterm/wezterm.lua | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/home/wezterm/wezterm.lua b/home/wezterm/wezterm.lua index 74b53d0..bbda6d6 100644 --- a/home/wezterm/wezterm.lua +++ b/home/wezterm/wezterm.lua @@ -22,6 +22,13 @@ config.inactive_pane_hsb = { -- ("zsh" などのウィンドウタイトル表示をなくす) config.window_decorations = "INTEGRATED_BUTTONS|RESIZE" +-- INTEGRATED_BUTTONS にすると統合先のタブバー背景が不透明になり +-- 透過が効かなくなる (wezterm#5239)。フレーム背景を透明にして回避する +config.window_frame = { + active_titlebar_bg = "none", + inactive_titlebar_bg = "none", +} + -- 終了/タブを閉じるときの確認ダイアログを出さない config.window_close_confirmation = "NeverPrompt" From 81425d8a4b12fbfda3a146cba7f2473f37ed110e Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 27 Jun 2026 11:09:17 +0000 Subject: [PATCH 18/30] Use RESIZE-only decorations so the window body stays transparent INTEGRATED_BUTTONS keeps the tab-bar strip transparent but renders the terminal body opaque on macOS (wezterm#5239). Switch to "RESIZE" only, which removes the title bar and keeps full window transparency at the cost of the integrated window buttons. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01SBm1GA28B7MzHWDxwcm5oe --- home/wezterm/wezterm.lua | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/home/wezterm/wezterm.lua b/home/wezterm/wezterm.lua index bbda6d6..909cd8f 100644 --- a/home/wezterm/wezterm.lua +++ b/home/wezterm/wezterm.lua @@ -18,12 +18,12 @@ config.inactive_pane_hsb = { brightness = 0.85, } --- タイトルバーを消し、信号機ボタンをタブバーに統合する --- ("zsh" などのウィンドウタイトル表示をなくす) -config.window_decorations = "INTEGRATED_BUTTONS|RESIZE" +-- タイトルバーを消す ("zsh" などのウィンドウタイトル表示をなくす) +-- INTEGRATED_BUTTONS は本体の透過を壊すため (wezterm#5239)、RESIZE のみにする。 +-- これで「タイトルバーなし + 透過」が両立する (信号機ボタンは非表示)。 +config.window_decorations = "RESIZE" --- INTEGRATED_BUTTONS にすると統合先のタブバー背景が不透明になり --- 透過が効かなくなる (wezterm#5239)。フレーム背景を透明にして回避する +-- タブバー(フレーム)の背景も透明にして本体の透過と揃える config.window_frame = { active_titlebar_bg = "none", inactive_titlebar_bg = "none", From eea0acc1965edf79764a29cd9a464f0a6a7e57d7 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 27 Jun 2026 11:12:05 +0000 Subject: [PATCH 19/30] Revert WezTerm title-bar experiments, restore transparent config The window_decorations/window_frame changes broke window-body transparency on macOS. Roll the config back to the clean Ghostty-equivalent state: opacity + blur + option-as-alt + keybinds, with the default (native) title bar. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01SBm1GA28B7MzHWDxwcm5oe --- home/wezterm/wezterm.lua | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/home/wezterm/wezterm.lua b/home/wezterm/wezterm.lua index 909cd8f..ea97e18 100644 --- a/home/wezterm/wezterm.lua +++ b/home/wezterm/wezterm.lua @@ -18,20 +18,6 @@ config.inactive_pane_hsb = { brightness = 0.85, } --- タイトルバーを消す ("zsh" などのウィンドウタイトル表示をなくす) --- INTEGRATED_BUTTONS は本体の透過を壊すため (wezterm#5239)、RESIZE のみにする。 --- これで「タイトルバーなし + 透過」が両立する (信号機ボタンは非表示)。 -config.window_decorations = "RESIZE" - --- タブバー(フレーム)の背景も透明にして本体の透過と揃える -config.window_frame = { - active_titlebar_bg = "none", - inactive_titlebar_bg = "none", -} - --- 終了/タブを閉じるときの確認ダイアログを出さない -config.window_close_confirmation = "NeverPrompt" - -- shell integration はweztermに組み込みのため設定不要 (ghostty: shell-integration = zsh) config.keys = { From 7c21dc7e636e01b63ef255afa5e860fb1028e614 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 27 Jun 2026 11:20:16 +0000 Subject: [PATCH 20/30] Force WezTerm OpenGL front end so transparency works on Dock launch The WebGpu front end can fail to apply window_background_opacity/blur on macOS when launched from the Dock (launchd) rather than a terminal, leaving the window opaque. Pin front_end = "OpenGL" for consistent transparency regardless of how WezTerm is started. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01SBm1GA28B7MzHWDxwcm5oe --- home/wezterm/wezterm.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home/wezterm/wezterm.lua b/home/wezterm/wezterm.lua index ea97e18..4d5f2fb 100644 --- a/home/wezterm/wezterm.lua +++ b/home/wezterm/wezterm.lua @@ -11,6 +11,10 @@ config.send_composed_key_when_right_alt_is_pressed = false config.window_background_opacity = 0.85 config.macos_window_background_blur = 20 +-- WebGpuだとDock(launchd)起動時にGPUコンテキスト初期化に失敗して +-- 透過が効かないことがあるため、描画をOpenGLに固定する +config.front_end = "OpenGL" + -- 非アクティブなsplitを少し暗くする (ghostty: unfocused-split-opacity = 0.85) -- weztermに透過指定はないため明度で近似する config.inactive_pane_hsb = { From 6a0ea2e103caccb7444334318af3611b62e80433 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 27 Jun 2026 11:22:28 +0000 Subject: [PATCH 21/30] Increase WezTerm transparency (opacity 0.85 -> 0.75) Bump the see-through level a bit now that transparency renders correctly via the OpenGL front end. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01SBm1GA28B7MzHWDxwcm5oe --- home/wezterm/wezterm.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/wezterm/wezterm.lua b/home/wezterm/wezterm.lua index 4d5f2fb..f2b2fad 100644 --- a/home/wezterm/wezterm.lua +++ b/home/wezterm/wezterm.lua @@ -8,7 +8,7 @@ config.send_composed_key_when_left_alt_is_pressed = false config.send_composed_key_when_right_alt_is_pressed = false -- 背景の透過とブラー (ghostty: background-opacity / background-blur-radius) -config.window_background_opacity = 0.85 +config.window_background_opacity = 0.75 config.macos_window_background_blur = 20 -- WebGpuだとDock(launchd)起動時にGPUコンテキスト初期化に失敗して From fec8fa0670385a3a26ca4308c6c848d7f3df7c8e Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 27 Jun 2026 11:24:24 +0000 Subject: [PATCH 22/30] Increase WezTerm transparency further (opacity 0.75 -> 0.65) Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01SBm1GA28B7MzHWDxwcm5oe --- home/wezterm/wezterm.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/wezterm/wezterm.lua b/home/wezterm/wezterm.lua index f2b2fad..4f74788 100644 --- a/home/wezterm/wezterm.lua +++ b/home/wezterm/wezterm.lua @@ -8,7 +8,7 @@ config.send_composed_key_when_left_alt_is_pressed = false config.send_composed_key_when_right_alt_is_pressed = false -- 背景の透過とブラー (ghostty: background-opacity / background-blur-radius) -config.window_background_opacity = 0.75 +config.window_background_opacity = 0.65 config.macos_window_background_blur = 20 -- WebGpuだとDock(launchd)起動時にGPUコンテキスト初期化に失敗して From 8f0743bb1bd7b1e7260594a6244abe2db5266f42 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 27 Jun 2026 11:27:20 +0000 Subject: [PATCH 23/30] Match Ghostty background color and opacity WezTerm's default background is pure black (#000000), which looks much darker than Ghostty at the same opacity. Set the background to Ghostty's default (#292c33) and restore opacity to 0.85 so the translucent window matches the Ghostty look. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01SBm1GA28B7MzHWDxwcm5oe --- home/wezterm/wezterm.lua | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/home/wezterm/wezterm.lua b/home/wezterm/wezterm.lua index 4f74788..024ffaf 100644 --- a/home/wezterm/wezterm.lua +++ b/home/wezterm/wezterm.lua @@ -8,9 +8,15 @@ config.send_composed_key_when_left_alt_is_pressed = false config.send_composed_key_when_right_alt_is_pressed = false -- 背景の透過とブラー (ghostty: background-opacity / background-blur-radius) -config.window_background_opacity = 0.65 +config.window_background_opacity = 0.85 config.macos_window_background_blur = 20 +-- weztermのデフォルト背景は真っ黒(#000000)でghosttyより暗く沈むため、 +-- ghosttyのデフォルト背景色(#292c33)に合わせる +config.colors = { + background = "#292c33", +} + -- WebGpuだとDock(launchd)起動時にGPUコンテキスト初期化に失敗して -- 透過が効かないことがあるため、描画をOpenGLに固定する config.front_end = "OpenGL" From de1f97cec45de8f13200f22927dd756680fad240 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 27 Jun 2026 11:35:16 +0000 Subject: [PATCH 24/30] Match Ghostty font: JetBrainsMono Nerd Font 13pt Ghostty uses JetBrainsMono Nerd Font at 13pt; WezTerm bundles only the plain JetBrains Mono, so set the font explicitly to the Nerd Font variant and size 13 to match. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01SBm1GA28B7MzHWDxwcm5oe --- home/wezterm/wezterm.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home/wezterm/wezterm.lua b/home/wezterm/wezterm.lua index 024ffaf..bc75335 100644 --- a/home/wezterm/wezterm.lua +++ b/home/wezterm/wezterm.lua @@ -3,6 +3,10 @@ local act = wezterm.action local config = wezterm.config_builder() +-- フォント (ghostty: JetBrainsMono Nerd Font 13pt に合わせる) +config.font = wezterm.font("JetBrainsMono Nerd Font") +config.font_size = 13.0 + -- macOSのoptionキーをAlt(Meta)として扱う (ghostty: macos-option-as-alt = true) config.send_composed_key_when_left_alt_is_pressed = false config.send_composed_key_when_right_alt_is_pressed = false From d1d59a0924c37348975a33084e240e75da691848 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 27 Jun 2026 11:39:16 +0000 Subject: [PATCH 25/30] Install JetBrainsMono Nerd Font cask for WezTerm Ghostty ships the Nerd Font internally, but WezTerm needs it installed on the system. Add the font-jetbrains-mono-nerd-font cask so the font WezTerm is configured to use is actually available. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01SBm1GA28B7MzHWDxwcm5oe --- darwin/homebrew.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/darwin/homebrew.nix b/darwin/homebrew.nix index 8e228fc..fadff58 100644 --- a/darwin/homebrew.nix +++ b/darwin/homebrew.nix @@ -28,6 +28,7 @@ casks = [ "claude" "discord" + "font-jetbrains-mono-nerd-font" "fuwari" "ghostty" "homerow" From d131e3abc988f2f1556b9114d32a5be3e7c145fa Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 27 Jun 2026 11:40:54 +0000 Subject: [PATCH 26/30] Use WezTerm's bundled JetBrains Mono instead of installing a font The user prefers not to install a font. WezTerm bundles "JetBrains Mono" and Nerd Font symbols, so use the built-in font (same letterforms as Ghostty's JetBrainsMono Nerd Font, icons covered by the bundled symbols) and drop the font cask. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01SBm1GA28B7MzHWDxwcm5oe --- darwin/homebrew.nix | 1 - home/wezterm/wezterm.lua | 6 ++++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/darwin/homebrew.nix b/darwin/homebrew.nix index fadff58..8e228fc 100644 --- a/darwin/homebrew.nix +++ b/darwin/homebrew.nix @@ -28,7 +28,6 @@ casks = [ "claude" "discord" - "font-jetbrains-mono-nerd-font" "fuwari" "ghostty" "homerow" diff --git a/home/wezterm/wezterm.lua b/home/wezterm/wezterm.lua index bc75335..464777e 100644 --- a/home/wezterm/wezterm.lua +++ b/home/wezterm/wezterm.lua @@ -3,8 +3,10 @@ local act = wezterm.action local config = wezterm.config_builder() --- フォント (ghostty: JetBrainsMono Nerd Font 13pt に合わせる) -config.font = wezterm.font("JetBrainsMono Nerd Font") +-- フォント (ghostty: JetBrainsMono Nerd Font 13pt) +-- フォント未インストールを避けるため、wezterm内蔵の "JetBrains Mono" を使う。 +-- 字形はghosttyと同じで、Nerd Fontアイコンもwezterm内蔵のシンボルで補完される。 +config.font = wezterm.font("JetBrains Mono") config.font_size = 13.0 -- macOSのoptionキーをAlt(Meta)として扱う (ghostty: macos-option-as-alt = true) From 563df1bbf4ff20fd05e00ef2334e57b9d92b9edf Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 27 Jun 2026 11:50:16 +0000 Subject: [PATCH 27/30] Make WezTerm tab bar more Ghostty-like Hide the tab bar when only one tab is open (matching Ghostty), keep the fancy rounded tabs, and strip the "1:" index prefix via format-tab-title so tabs show just the title. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01SBm1GA28B7MzHWDxwcm5oe --- home/wezterm/wezterm.lua | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/home/wezterm/wezterm.lua b/home/wezterm/wezterm.lua index 464777e..70d2567 100644 --- a/home/wezterm/wezterm.lua +++ b/home/wezterm/wezterm.lua @@ -36,6 +36,21 @@ config.inactive_pane_hsb = { -- shell integration はweztermに組み込みのため設定不要 (ghostty: shell-integration = zsh) +-- タブバーをghostty風に寄せる +-- ・ファンシータブ(角丸)はデフォルトのまま +-- ・タブが1つのときはタブバーごと隠す (ghosttyと同じ挙動) +config.use_fancy_tab_bar = true +config.hide_tab_bar_if_only_one_tab = true + +-- "1:" のインデックスを消して、タブ名(無ければプログラム名)だけ表示する +wezterm.on("format-tab-title", function(tab) + local title = tab.tab_title + if not title or #title == 0 then + title = tab.active_pane.title + end + return " " .. title .. " " +end) + config.keys = { -- cmd+rで設定を再読み込み (ghostty: super+r=reload_config) { key = "r", mods = "CMD", action = act.ReloadConfiguration }, From 445dfa585f806c4c500edf3498b15b93708cfedd Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 27 Jun 2026 13:16:51 +0000 Subject: [PATCH 28/30] ci: add flake build + nixfmt checks on PRs Adds a GitHub Actions workflow that runs on pull requests to main (and via manual dispatch): - lint: verify all .nix files match nixfmt-rfc-style formatting - build: build the aarch64-darwin darwinConfiguration on a macOS runner to catch flake evaluation/build breakage (e.g. from dependabot dependency bumps) Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_017zhEKbHFbFbZ8TQfEgkSdF --- .github/workflows/ci.yml | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..7366c7e --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,35 @@ +name: CI + +on: + pull_request: + branches: [main] + workflow_dispatch: + +concurrency: + group: ci-${{ github.ref }} + cancel-in-progress: true + +jobs: + lint: + name: nixfmt + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Install Nix + uses: DeterminateSystems/nix-installer-action@main + + - name: Check formatting + run: nix run nixpkgs#nixfmt-rfc-style -- --check $(git ls-files '*.nix') + + build: + name: build darwinConfiguration + runs-on: macos-latest + steps: + - uses: actions/checkout@v4 + + - name: Install Nix + uses: DeterminateSystems/nix-installer-action@main + + - name: Build darwin system + run: nix build --print-build-logs '.#darwinConfigurations.default.system' From 355ac164ee064cd52b9b88bef6989a32a20e6e82 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 27 Jun 2026 13:28:14 +0000 Subject: [PATCH 29/30] ci: pin actions to SHA, build on macos-26, drop workflow_dispatch - Pin actions to commit SHAs at their latest releases: actions/checkout v7.0.0, DeterminateSystems/nix-installer-action v22 - Build on macos-26 (latest GA macOS runner, arm64) to stay close to the local machine - Remove workflow_dispatch trigger (PR-only) Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_017zhEKbHFbFbZ8TQfEgkSdF --- .github/workflows/ci.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7366c7e..004d5f5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,7 +3,6 @@ name: CI on: pull_request: branches: [main] - workflow_dispatch: concurrency: group: ci-${{ github.ref }} @@ -14,22 +13,22 @@ jobs: name: nixfmt runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install Nix - uses: DeterminateSystems/nix-installer-action@main + uses: DeterminateSystems/nix-installer-action@ef8a148080ab6020fd15196c2084a2eea5ff2d25 # v22 - name: Check formatting run: nix run nixpkgs#nixfmt-rfc-style -- --check $(git ls-files '*.nix') build: name: build darwinConfiguration - runs-on: macos-latest + runs-on: macos-26 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install Nix - uses: DeterminateSystems/nix-installer-action@main + uses: DeterminateSystems/nix-installer-action@ef8a148080ab6020fd15196c2084a2eea5ff2d25 # v22 - name: Build darwin system run: nix build --print-build-logs '.#darwinConfigurations.default.system' From 60e71d3fb20d7f3e1a417c35525147fcd3b05539 Mon Sep 17 00:00:00 2001 From: rin2yh Date: Sun, 28 Jun 2026 00:05:25 +0900 Subject: [PATCH 30/30] chore(deps): bump nixpkgs to align with home-manager (26.11) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit home-manager は 26.11 系に進行済だったが nixpkgs lock が 26.05 系で取り残されており、darwin-rebuild 時に Home Manager / Nixpkgs version mismatch 警告が発生していた。nixpkgs lock のみを更新して両者を 26.11 系で揃える。 --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 4c959f4..cbac198 100644 --- a/flake.lock +++ b/flake.lock @@ -109,11 +109,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1778124196, - "narHash": "sha256-pYEytCNic/czazbV9r3tbQ6BZzqRBg/41x2dIC5ymOo=", + "lastModified": 1782175435, + "narHash": "sha256-EMzXKmnOtBQ2MnvpiNOm7E+kOMvdPrIKaeg52Tip2Uk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "68a8af93ff4297686cb68880845e61e5e2e41d92", + "rev": "89570f24e97e614aa34aa9ab1c927b6578a43775", "type": "github" }, "original": {