Skip to content

View Customization

Mikhail Chuprynski edited this page Apr 12, 2026 · 1 revision

View Customization

a9s auto-creates per-resource view config files in ~/.a9s/views/ on first launch. These control which columns appear in list views and which fields show in detail views.

  • Edit any file to customize — a9s never overwrites user-edited files
  • Delete a file to restore its defaults on next launch
  • Use --reset-views to delete all configs and regenerate from scratch

File Location

Path Purpose
~/.a9s/views/*.yaml Global defaults (auto-created)
.a9s/views/*.yaml (CWD) Per-project overrides
~/.a9s/views_reference.yaml Field reference (auto-updated each launch)

Per-project files overlay global ones on a per-resource basis.

File Structure

Each file (e.g., ec2.yaml) has two optional sections:

list:
  Name:
    width: 24
  State:
    path: State.Name
    width: 12
  Lifecycle:
    key: lifecycle
    width: 12

detail:
  - InstanceId
  - State
  - InstanceType
  - LaunchTime
  - Tags

list: section

An ordered map of columns. Each column has:

Key Description
path: Dot-separated field path into the AWS SDK struct (e.g., State.Name)
key: Special computed key (e.g., lifecycle, age, status) — use instead of path for derived values
width: Column width in characters

If neither path nor key is specified, the column title is used as the field name.

detail: section

A list of field paths shown in the detail view (press Enter on a resource).

Finding Available Fields

~/.a9s/views_reference.yaml lists every available field path for each resource type, generated from AWS SDK struct definitions. It is automatically updated on each launch so new fields from binary upgrades appear immediately.

ec2:  # ec2types.Instance
  - Architecture
  - BlockDeviceMappings[].DeviceName
  - BlockDeviceMappings[].Ebs.VolumeId
  - InstanceId
  - InstanceType
  - State.Code
  - State.Name
  ...

Copy paths from this file into your view configs.

Examples

Hide a column

Remove it from the list: section.

Reorder columns

Reorder the entries under list: — YAML map order is preserved.

Add a new column

list:
  AZ:
    path: Placement.AvailabilityZone
    width: 16

Change column width

list:
  Name:
    width: 40

Show nested fields in detail

detail:
  - InstanceId
  - State.Name
  - Placement.AvailabilityZone
  - NetworkInterfaces[].PrivateIpAddress
  - Tags

Per-project override

Create .a9s/views/ec2.yaml in your project directory to override just the EC2 view for that project. Other resource types fall through to global defaults.

Resetting to Defaults

a9s --reset-views   # delete all view configs, regenerate on next launch
a9s --reset-themes  # delete all theme files, regenerate on next launch

Both flags prompt for confirmation before deleting.

Clone this wiki locally