Skip to content

Latest commit

 

History

History
95 lines (82 loc) · 4.27 KB

0.1.0-draft.md

File metadata and controls

95 lines (82 loc) · 4.27 KB

0.1.0

This standard specifies @ErichDonGubler's preferred desktop environment as a set of features and tiers. The remainder of this document will be written in first-person.

Why?

My particular flavor of neurodivergence (hello, fellow ADHDers!) makes lots of little detail-oriented tasks take significantly longer than even a normal person might need. I automate the setup of my desktop environments, but the requirements of what I'd like to keep between platforms can be hard to keep track of, esp. when automating a new platform. This document does that for me.

Tiers

  1. minimal: basically sufficient to use git to push changes to source control somewhere. Most useful for embedded devices or servers that I wouldn't benefit from setting up a desktop environment for. Production debugging and fixing, for example.
  2. productive: The majority of my environment, containing:
    1. Preferred input methods
    2. Screen capturing
    3. Web browsing ecosystem
    4. Software developer environment
  3. full: The final difficult-to-obtain window management behaviors that I prefers.

Features

Feature description minimal productive full
1: Installs git
2: Installs an ssh client
3: Auto-installs Erich's preferred binaries and applications and his config.
4: Enables focus-follows-mouse
5: Enables window dragging with the Alt key

Preferred binaries/applications

  1. firefox
  2. rescuetime
  3. espanso
  4. Visual Studio Code
  5. capisco -- for dotfiles management
  6. nushell, which implements preferred shell features with Erich's nushell dotfiles repo
  7. neovim, with Erich's neovim dotfiles repo
  8. fzf
  9. p4merge
  10. Cargo toolchain
    1. rust-analyzer
    2. rustup
  11. fd
  12. rg
  13. delta
  14. hexyl
  15. tokei
  16. watchexec
  17. zoxide
  18. atuin

Preferred shell features

  1. Vi mode.
    1. Typical motions:
      1. w/W
      2. b/B
      3. 0/^/Home
      4. $/End
      5. f/F + key
      6. t/T + key
    2. Fancier motions:
      1. Ctrl + arrow
    3. Typical operators:
      1. c/C
      2. d/D
      3. i/I
      4. a/A
    4. Basic text objects, {a,i} variants for:
      1. ]
      2. )
      3. }
      4. w/W.
      5. '/".
    5. Indication of editing mode via ANSI cursor shape manipulation.
  2. Command history traversal: preferred flow is to press Up or Down to search based on what was already typed, maintaining cursor position throughout the process.
  3. Cross-platform scripting support.