Skip to content
View eth-p's full-sized avatar


  • Pro
Block or Report

Block or report eth-p

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse

Hi, I'm Ethan!

I'm a software developer with a focus on tooling, automation, and cloud infrastructure.

My Fish Plugins

Your flexible and highly-customizable Fish shell prompt.

  • Customize your prompt without doing everything from scratch.
  • Add your own prompt components without worrying about updates.
  • Have a prompt that's both stylish and fast (<50ms).

A fish function for on-demand retrieval of sensitive environment variables.

  • Keep sensitive environment variables encrypted on disk.
  • Load them only when needed!
  • Wrap commands to load them only for the wrapped commands.

A kubectx/kubens replacement for fish.

  • Change the config file, context, and namespace.
  • Only applies to the current shell! (no outdated prompts)

Fish completions for kubectl with support for kubectl plugins.

  • Uses kubectl's built-in completion provider.
  • Supports argo rollouts

A better version of cd (and pushd) for your Fish shell.

  • cd relative to git repo root.
  • Jump to paths with z.
  • Fuzzily change directories with fzf.

Ranger integration for fish shell.

  • Hotkey to change the directory to a ranger bookmark.
  • cd-ranger command to change the directory with ranger.

Upgrade your fish_greeting experience with greetings that only show up under certain contexts.

  • Custom greetings for:
    • SSH
    • Tmux
    • IDE terminals

My Obsidian Plugins & Developer Resources


Callout Manager
Easily create and customize callouts.

  • Customize callout icons & colors.
  • Create custom callouts.
  • Supports mobile Obsidian.
  • API for integration with other plugins.


Definitions for undocumented/private APIs.

Safe abstractions over obsidian-undocumented.


obsidian-dev-helper A Bash-based helper script that makes it easy to test Obsidian plugins while you develop them.

Pinned Loading

  1. bat-extras bat-extras Public

    Bash scripts that integrate bat with various command line tools.

    Shell 1.2k 78

  2. best best Public

    A Bash unit and snapshot testing framework.

    Shell 13 3

  3. sharkdp/bat sharkdp/bat Public

    A cat(1) clone with wings.

    Rust 47.9k 1.2k

  4. my-dotfiles my-dotfiles Public

    A collection of dotfiles that I use to configure my terminal programs.

    Shell 2

  5. obsidian-callout-manager obsidian-callout-manager Public

    An plugin that makes creating and configuring callouts easy.

    TypeScript 117 4