Aaishika S Bhattacharya

Developer Relations at Qualcomm. making complex developer tools approachable, observable, and human

Currently using

keyboard
Nuphy Kick 75: High
camera
Canon EOS Rebel T6
editor
VS Code
terminal
macOS Terminal
shell
zsh w/ Oh My Zsh
os
macOS Golden Gate 27.0 Beta

Updated

Desk

The physical setup for shipping pages like this amidst hardware experiments.

Desk photo
The place where code, content, and experiments overlap.
  • UPLIFT V3 Standing Desk

    Large enough for irresponsible amounts of hardware.

    Desk

  • MacBook M3 Pro 14-inch

    18GB Memory, 512GB Storage

    Laptop

  • iPad Pro 11-inch (4th generation)

    M2 Chip, 1TB Storage, with Apple Pencil (2nd generation)

    Tablet

  • Monitor

  • BenQ ErgoArm BSL01

    Attached: Monitor Mount Reinforcement Plate

    Monitor Arm

  • Amazon Echo Show 8

    With Alexa+, integrated with the Govee Ecosystem

    Home Assistant

  • Control Pad

  • Logitech Brio 4K

    Attached: Cold Shoe Mount

    Webcam

  • Mouse

  • Desk lighting

    Govee RGBIC light bars with smart controller + PHOTOOLEX Tofu Light with cold-shoe mounts.

    Lighting

  • Desk accessories

    VIVO Black Clamp-on 50 inch Desktop Shelving System, 16 inch VESA Monitor Mount Shelf, Monitor Stand Riser

    Miscellaneous

EDC

What comes with me when I am working somewhere that is not home.

Workflow

The setup people ask about most after a demo.

VS Code workspace
How this page looks while I am working on it.
  • settings.json
    settings.json
    {
      "workbench.iconTheme": "material-icon-theme",
      "workbench.colorTheme": "Tokyo Night",
    
      "workbench.editor.labelFormat": "short",
      "workbench.editor.tabSizing": "shrink",
      "workbench.editor.enablePreview": false,
    
      "workbench.editor.customLabels.patterns": {
        "**/page.tsx": "${dirname}/page",
        "**/layout.tsx": "${dirname}/layout",
        "**/route.ts": "${dirname}/route",
      },
    
      "workbench.colorCustomizations": {
        "editor.background": "#080B10",
        "sideBar.background": "#080B10",
        "activityBar.background": "#080B10",
        "titleBar.activeBackground": "#080B10",
        "titleBar.inactiveBackground": "#080B10",
    
        "tab.activeBackground": "#0F131A",
        "tab.inactiveBackground": "#080B10",
        "tab.activeBorderTop": "#7AA2F7",
        "tab.activeBorder": "#00000000",
    
        "statusBar.background": "#161B22",
        "statusBar.foreground": "#C0CAF5",
    
        "focusBorder": "#7AA2F7",
      },
    
      "workbench.layoutControl.enabled": false,
      "window.commandCenter": false,
      "breadcrumbs.enabled": false,
    
      "editor.fontFamily": "'CommitMono', monospace",
      "editor.fontWeight": "500",
      "editor.letterSpacing": 0.2,
    
      "editor.wordWrap": "on",
      "editor.rulers": [100],
      "editor.scrollBeyondLastLine": false,
    
      "editor.cursorSmoothCaretAnimation": "on",
      "editor.cursorBlinking": "smooth",
      "editor.smoothScrolling": true,
    
      "editor.scrollbar.vertical": "hidden",
      "editor.scrollbar.horizontal": "hidden",
    
      "editor.minimap.enabled": false,
      "editor.renderWhitespace": "none",
    
      "editor.bracketPairColorization.enabled": true,
      "editor.guides.bracketPairs": "active",
      "editor.guides.indentation": false,
    
      "editor.stickyScroll.enabled": true,
      "editor.stickyScroll.maxLineCount": 3,
    
      "editor.formatOnSave": true,
      "editor.formatOnPaste": true,
      "editor.linkedEditing": true,
    
      "files.autoSave": "afterDelay",
      "files.autoSaveDelay": 10000,
    
      "files.exclude": {
        "**/.DS_Store": false,
        "**/.git": false,
      },
    
      "terminal.integrated.fontFamily": "'IntoneMono Nerd Font', 'MesloLGS NF'",
      "terminal.integrated.fontSize": 14,
      "terminal.integrated.fontWeight": "400",
      "terminal.integrated.fontWeightBold": "500",
      "terminal.integrated.fontLigatures.enabled": true,
      "terminal.integrated.lineHeight": 1.15,
    
      "terminal.integrated.cursorStyle": "line",
      "terminal.integrated.cursorBlinking": true,
    
      "terminal.integrated.smoothScrolling": true,
      "terminal.integrated.enablePersistentSessions": true,
      "terminal.integrated.tabs.enabled": true,
      "terminal.integrated.shellIntegration.enabled": true,
      "terminal.integrated.rightClickBehavior": "default",
    
      "git.autofetch": true,
      "git.ignoreRebaseWarning": true,
      "git.confirmSync": false,
      "git.openRepositoryInParentFolders": "always",
    
      "js/ts.updateImportsOnFileMove.enabled": "always",
    
      "[typescript]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode",
      },
    
      "[typescriptreact]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode",
      },
    
      "[javascript]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode",
      },
    
      "[javascriptreact]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode",
      },
    
      "[json]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode",
      },
    
      "[jsonc]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode",
      },
    
      "[markdown]": {
        "editor.defaultFormatter": "yzhang.markdown-all-in-one",
      },
    
      "extensions.ignoreRecommendations": true,
    }
  • .zshrc
    .zshrc
    # Powerlevel10k instant prompt
    if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
      source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
    fi
    
    # Oh My Zsh
    export ZSH="$HOME/.oh-my-zsh"
    ZSH_THEME="powerlevel10k/powerlevel10k"
    
    plugins=(
      git
    )
    
    source "$ZSH/oh-my-zsh.sh"
    
    # Powerlevel10k
    [[ -r "$HOME/.p10k.zsh" ]] && source "$HOME/.p10k.zsh"
    
    # PATH
    typeset -U path PATH
    
    path=(
      "$HOME/.local/bin"
      "$HOME/.antigravity/antigravity/bin"
      /opt/homebrew/bin
      /opt/homebrew/sbin
      /usr/local/bin
      /usr/local/sbin
      $path
    )
    
    # Ruby
    if [[ -d /opt/homebrew/opt/ruby/bin ]]; then
      path=(
        /opt/homebrew/opt/ruby/bin
        /opt/homebrew/lib/ruby/gems/*/bin(N)
        $path
      )
    fi
    
    # Android SDK
    export ANDROID_HOME="$HOME/Library/Android/sdk"
    export ANDROID_SDK_ROOT="$ANDROID_HOME"
    
    path=(
      "$ANDROID_HOME/platform-tools"
      "$ANDROID_HOME/cmdline-tools/latest/bin"
      "$ANDROID_HOME/emulator"
      $path
    )
    
    # History
    HISTSIZE=50000
    SAVEHIST=50000
    
    setopt HIST_IGNORE_ALL_DUPS
    setopt HIST_SAVE_NO_DUPS
    setopt SHARE_HISTORY
    setopt INC_APPEND_HISTORY
    
    # Zsh autosuggestions
    HOMEBREW_PREFIX="${HOMEBREW_PREFIX:-/opt/homebrew}"
    
    [[ -r "$HOMEBREW_PREFIX/share/zsh-autosuggestions/zsh-autosuggestions.zsh" ]] &&
      source "$HOMEBREW_PREFIX/share/zsh-autosuggestions/zsh-autosuggestions.zsh"
    
    # Zsh syntax highlighting
    [[ -r "$HOMEBREW_PREFIX/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" ]] &&
      source "$HOMEBREW_PREFIX/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
  • .p10k.zsh
    .p10k.zsh
    # Minimal Powerlevel10k configuration
    # Run `p10k configure` if you ever want to regenerate from scratch.
    
    'builtin' 'local' '-a' 'p10k_config_opts'
    [[ ! -o 'aliases'         ]] || p10k_config_opts+=('aliases')
    [[ ! -o 'sh_glob'         ]] || p10k_config_opts+=('sh_glob')
    [[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand')
    
    'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand'
    
    () {
      emulate -L zsh -o extended_glob
    
      # Reset Powerlevel10k options.
      unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR'
    
      [[ $ZSH_VERSION == (5.<1->*|<6->.*) ]] || return
    
      #
      # Colors
      #
    
      # Soft, high-contrast palette for VS Code's GitHub Dark terminal.
      local grey='245'
      local red='203'
      local yellow='221'
      local blue='75'
      local magenta='177'
      local cyan='80'
      local green='114'
      local white='252'
    
      #
      # Prompt layout
      #
    
      typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(
        dir
        vcs
        newline
        prompt_char
      )
    
      typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(
        disk_usage
        load
        wifi
        newline
      )
    
      #
      # General appearance
      #
    
      typeset -g POWERLEVEL9K_BACKGROUND=
    
      typeset -g POWERLEVEL9K_{LEFT,RIGHT}_{LEFT,RIGHT}_WHITESPACE=
    
      # Two spaces between prompt segments.
      typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SUBSEGMENT_SEPARATOR='  '
    
      typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SEGMENT_SEPARATOR=
    
      typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=false
    
      #
      # Prompt character
      #
    
      typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS}_FOREGROUND=$magenta
      typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS}_FOREGROUND=$red
    
      typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='❯'
      typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='❮'
      typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='❮'
    
      typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=false
    
      #
      # Directory
      #
    
      typeset -g POWERLEVEL9K_DIR_FOREGROUND=$blue
    
      typeset -g POWERLEVEL9K_DIR_VISUAL_IDENTIFIER_EXPANSION=''
    
      # Only show current folder.
      typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_last
      typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1
    
      #
      # Git
      #
    
      typeset -g POWERLEVEL9K_VCS_FOREGROUND=$grey
    
      typeset -g POWERLEVEL9K_VCS_CLEAN_FOREGROUND=$green
      typeset -g POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND=$yellow
      typeset -g POWERLEVEL9K_VCS_MODIFIED_FOREGROUND=$yellow
      typeset -g POWERLEVEL9K_VCS_CONFLICTED_FOREGROUND=$red
    
      typeset -g POWERLEVEL9K_VCS_LOADING_TEXT=
    
      typeset -g POWERLEVEL9K_VCS_MAX_SYNC_LATENCY_SECONDS=0
    
      typeset -g POWERLEVEL9K_VCS_{INCOMING,OUTGOING}_CHANGESFORMAT_FOREGROUND=$cyan
    
      typeset -g POWERLEVEL9K_VCS_GIT_HOOKS=(
        vcs-detect-changes
        git-untracked
        git-aheadbehind
      )
    
      # Branch icon with deliberate trailing space.
      typeset -g POWERLEVEL9K_VCS_BRANCH_ICON=' '
    
      typeset -g POWERLEVEL9K_VCS_COMMIT_ICON='@'
    
      # Hide individual staged/unstaged/untracked icons.
      typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED}_ICON=
    
      # Simple dirty indicator.
      typeset -g POWERLEVEL9K_VCS_DIRTY_ICON=' *'
    
      # Ahead / behind remote.
      typeset -g POWERLEVEL9K_VCS_INCOMING_CHANGES_ICON=' ⇣'
      typeset -g POWERLEVEL9K_VCS_OUTGOING_CHANGES_ICON=' ⇡'
    
      typeset -g POWERLEVEL9K_VCS_{COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=1
    
      #
      # System metrics
      #
    
      typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=$green
      typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_FOREGROUND=$yellow
      typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_FOREGROUND=$red
      typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL=80
      typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_LEVEL=90
      typeset -g POWERLEVEL9K_DISK_USAGE_ONLY_WARNING=false
    
      # One-minute load average: green normally, yellow when busy, red when saturated.
      typeset -g POWERLEVEL9K_LOAD_WHICH=1
      typeset -g POWERLEVEL9K_LOAD_NORMAL_FOREGROUND=$green
      typeset -g POWERLEVEL9K_LOAD_WARNING_FOREGROUND=$yellow
      typeset -g POWERLEVEL9K_LOAD_CRITICAL_FOREGROUND=$red
    
      typeset -g POWERLEVEL9K_WIFI_FOREGROUND=$cyan
    
      #
      # Context
      #
    
      typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE="%F{$white}%n%f%F{$grey}@%m%f"
      typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE="%F{$grey}%n@%m%f"
      typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_CONTENT_EXPANSION=
    
      #
      # Python virtualenv
      #
    
      typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=$grey
      typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false
      typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER=
    
      #
      # Command execution time
      #
    
      typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=5
      typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0
      typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s'
      typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=$yellow
    
      #
      # Time
      #
    
      typeset -g POWERLEVEL9K_TIME_FOREGROUND=$grey
      typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M:%S}'
      typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false
    
      #
      # Prompt behavior
      #
    
      typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=always
    
      typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet
    
      #
      # Performance
      #
    
      typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true
    
      (( ! $+functions[p10k] )) || p10k reload
    }
    
    typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a}
    
    (( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]}
    
    'builtin' 'unset' 'p10k_config_opts'

Keyboards

An entirely reasonable number of them by the way.

Keyboard photo
There is no such thing as too many keyboards.

Nuphy Kick 75: High Profile

Current

Blush (Silent Linear)Stock

Work Louder Codex Micro

Current

SilentStock

Keychron K2 V2 Hot Swappable

Favorite

Outemu Lime (Silent Tactile)Custom

Nuphy Halo 75 v2 (White)

Rotation

TTC Light Cloud (Silent Linear)Cherry Milkshake

Nuphy Halo 75 v2 (Blue)

Custom

Durock L3 (Linear)Stock

Keychron V1 Max (Cursor Edition) 75%

Custom

Silent K Pro (Silent Linear)Cursor

Glorious GMMK Pro 75%

Custom

Nuphy Mint (Tactile)KAM Superuser

Hardware lab

Development boards, and whatever else is currently being over-engineered.

Audio

The gear I use to listen, record, and shape the sound around me.