diff --git a/.config/wezterm/plugins/sessionizer.lua b/.config/wezterm/plugins/sessionizer.lua index 6b6e904..1324a15 100644 --- a/.config/wezterm/plugins/sessionizer.lua +++ b/.config/wezterm/plugins/sessionizer.lua @@ -9,20 +9,45 @@ local sessionizer = wezterm.plugin.require("https://github.com/mikkasendke/sessi local module = {} -local my_schema = { +local edu_schema = { + options = { + prompt = "Select a project: ", + }, "default", - " EDU", wezterm.home_dir .. "/Polybox_ETH/", wezterm.home_dir .. "/Nextcloud/Vault/edu/ETH/hs25/analysis_I", wezterm.home_dir .. "/Nextcloud/Vault/edu/ETH/hs25/einfuehrung_mikrooekonomie", wezterm.home_dir .. "/Nextcloud/Vault/edu/ETH/hs25/information_systems_for_engineers", wezterm.home_dir .. "/Nextcloud/Vault/edu/ETH/hs25/manufacturing_of_electronic_devices", wezterm.home_dir .. "/Nextcloud/Vault/edu/ETH/hs25/startups_und_recht", - "󱂒 Makerspace", - wezterm.home_dir .. "/kicad", + sessionizer.FdSearch({ fd_path = "/opt/homebrew/bin/fd", wezterm.home_dir .. "/Projects/EDU" }), +} + +local sw_schema = { + options = { + prompt = "Select a project: ", + }, + "default", + { label = "JirR02", id = wezterm.home_dir .. "/Projects/JirR02" }, + { label = "blogwiki", id = wezterm.home_dir .. "/Projects/JR/blogwiki" }, + sessionizer.FdSearch({ fd_path = "/opt/homebrew/bin/fd", wezterm.home_dir .. "/Projects/JR/sw" }), + sessionizer.FdSearch({ fd_path = "/opt/homebrew/bin/fd", wezterm.home_dir .. "/Projects/Private" }), + sessionizer.FdSearch({ fd_path = "/opt/homebrew/bin/fd", wezterm.home_dir .. "~/Projects/Public" }), +} + +local hw_schema = { + options = { + prompt = "Select a project: ", + }, + "default", wezterm.home_dir .. "/Nextcloud/Vault/maker_space", - " DEV", - sessionizer.FdSearch({ fd_path = "/opt/homebrew/bin/fd", wezterm.home_dir .. "/Projects" }), + sessionizer.FdSearch({ fd_path = "/opt/homebrew/bin/fd", wezterm.home_dir .. "/Projects/JR/hw" }), +} + +local choice = { + { label = "EDU", id = "edu" }, + { label = "JR Software", id = "sw" }, + { label = "JR Hardware", id = "hw" }, } -- key map @@ -31,7 +56,34 @@ module.keys = { { key = "s", mods = "LEADER", - action = sessionizer.show(my_schema), + action = wezterm.action_callback(function(window, pane) + window:perform_action( + wezterm.action.InputSelector({ + title = "Choose Session Category", + choices = choice, + action = wezterm.action_callback(function(inner_window, inner_pane, id, label) + -- If the user escapes/cancels, do nothing + if not id then + return + end + + -- Select the schema based on the ID chosen + local selected_schema + if id == "edu" then + selected_schema = edu_schema + elseif id == "sw" then + selected_schema = sw_schema + elseif id == "hw" then + selected_schema = hw_schema + end + + -- Now trigger the actual sessionizer with the sub-schema + inner_window:perform_action(sessionizer.show(selected_schema), inner_pane) + end), + }), + pane + ) + end), }, } diff --git a/.stow-local-ignore b/.stow-local-ignore index b575276..f0ea798 100644 --- a/.stow-local-ignore +++ b/.stow-local-ignore @@ -1,3 +1,6 @@ +.git +.gitignore +.gitmodules desktop.png -LISENCE README.md +LICENSE diff --git a/Brewfile b/Brewfile new file mode 100644 index 0000000..2cfaf77 --- /dev/null +++ b/Brewfile @@ -0,0 +1,63 @@ +tap "felixkratz/formulae" +tap "homebrew/bundle" +tap "homebrew/services" +tap "jstkdng/programs" +tap "mhaeuser/mhaeuser" +tap "nikitabobko/tap" +tap "zegervdv/zathura" +brew "bat" +brew "docker-compose" +brew "eza" +brew "fastfetch" +brew "fd" +brew "gcc" +brew "fzf" +brew "git" +brew "gitleaks" +brew "go" +brew "hugo" +brew "lazygit" +brew "mas" +brew "neovim" +brew "openssh" +brew "starship" +brew "stow" +brew "tailscale", restart_service: :changed +brew "tree" +brew "unzip" +brew "wget" +brew "zip" +brew "zoxide" +brew "felixkratz/formulae/sketchybar" +brew "zegervdv/zathura/zathura" +brew "zegervdv/zathura/zathura-pdf-mupdf" +cask "aerospace" +cask "battery" +cask "blender" +cask "discord" +cask "docker-desktop" +cask "eurkey" +cask "font-jetbrains-mono" +cask "font-jetbrains-mono-nerd-font" +cask "freecad" +cask "gimp" +cask "inkscape" +cask "kicad" +cask "ltspice" +cask "mactex-no-gui" +cask "mixxx" +cask "nextcloud" +cask "raycast" +cask "signal" +cask "sioyek" +cask "spotify" +cask "ultimaker-cura" +cask "wezterm" +cask "whatsapp" +cask "zen" +cask "zoom" +mas "Bitwarden", id: 1352778147 +mas "Goodnotes", id: 1444383602 +mas "Microsoft Excel", id: 462058435 +mas "Microsoft PowerPoint", id: 462062816 +mas "Microsoft Word", id: 462054704