diff --git a/home.nix b/home.nix index a334e3b..ad1fb0f 100644 --- a/home.nix +++ b/home.nix @@ -167,7 +167,7 @@ let if [ -n "''${ZELLIJ:-}" ]; then exec ${pkgs.bashInteractive}/bin/bash -i fi - exit 0 + exit 1 fi dir="$(printf '%s\n' "$dirs" | ${pkgs.fzf}/bin/fzf \ @@ -183,8 +183,9 @@ let if [ -z "$dir" ]; then if [ -n "''${ZELLIJ:-}" ]; then ${pkgs.zellij}/bin/zellij action close-tab >/dev/null 2>&1 || true + exit 0 fi - exit 0 + exit 1 fi tab_name="$(${pkgs.coreutils}/bin/basename "$dir")" @@ -230,7 +231,15 @@ let text = '' set -euo pipefail - exec ${pkgs.zellij}/bin/zellij attach --create main --force-run-commands + while true; do + if ${pkgs.zellij}/bin/zellij attach --create main --force-run-commands; then + if ! ${zellijNewTabZoxide}/bin/zellij-new-tab-zoxide; then + exec ${pkgs.bashInteractive}/bin/bash -i + fi + else + exit $? + fi + done ''; }; zellijSyncTabName = pkgs.writeShellApplication { @@ -478,7 +487,7 @@ in settings = { # Default shell (using bash as configured in your system) default_shell = "bash"; - default_layout = "tabs-and-mode"; + default_layout = "zoxide-picker"; pane_frames = false; simplified_ui = true; @@ -558,8 +567,9 @@ in "da" = "direnv allow"; "nfu" = "nix flake update"; "c" = "claude"; - "o" = "opencode"; - "ou" = "OPENCODE_PERMISSION='\"allow\"' opencode"; + "o" = + "OPENCODE_PERMISSION='{\"*\":\"allow\",\"external_directory\":\"allow\",\"doom_loop\":\"allow\"}' opencode"; + "os" = "opencode"; ".." = "z .."; j = "jj"; jgf = "jj git fetch"; @@ -837,6 +847,17 @@ in ]; }; + home.file.".config/opencode/opencode.json".text = builtins.toJSON { + "$schema" = "https://opencode.ai/config.json"; + mcp = { + linear = { + type = "remote"; + url = "https://mcp.linear.app/mcp"; + enabled = true; + }; + }; + }; + xdg.userDirs = { enable = true; setSessionVariables = true;