Skip to content

Latest commit

 

History

History
377 lines (359 loc) · 10.8 KB

README.markdown

File metadata and controls

377 lines (359 loc) · 10.8 KB

My dotfiles

This directory contains the dotfiles for my system and an install script to get started. This script was written in and for Fedora 39/40 on GNOME DE.

Getting Started

Prerequisites

Ensure you have the following installed on your system

Installation

  1. Clone the repo to your $HOME path, that's it!

Usage

  1. Backup your .bashrc and .bash_profile files.
  2. Navigate to the repo
  3. stow . in your shell
  4. Navigate to /first_time_setup/.
  5. Utilize the install.sh script.
  6. Test & Debug

Whats Included?

here's a handy lil list of all the things!

  • these things are actually saved inside this repo
    • configs
  • these things are downloaded from elsewhere, like applications

Appearance

  • Fonts patched with Nerds Font Patcher
    • Liberation Fonts
    • Geist Fonts (manual install)
  • Wallpapers patched to have Light/Dark mode versions in GNOME.
  • Starship
  • Catppuccin color scheme for WezTerm, NeoVIM, Starship,

Applications

Tools I Use
GNOME Extensions
  • User Extensions
    • App Hider
    • Applications Overview Tooltip
    • Auto Move Applications
    • Bedtime Mode
    • Clipboard History
    • Display Scale Switcher
    • Gravatar
    • GSConnect
    • Just Perfection
    • Notification Banner Reloaded
    • Open Bar (disabled for performance)
    • Quick Setting Tweaker
    • Quick Settings Audio Devices Renamer
    • Removable Drive Menu
    • spotify-tray
    • Status Area Horizontal Spacing
    • Tactile
    • User Avater in Quick Settings
    • Vitals
  • System Extensions
    • Appindicator and KStatusNotifierItem Support
    • Background Logo
General Productivity
  • GUI
    • Backups (provided by deja-dup) for Home Directory backups
    • Firefox (Web Browser)
      • Extensions:
        • ProtonPass
        • ProtonVPN
        • UBlock Origin
        • Privacy Badger
        • Dark Reader
        • Flagfox
        • Tree Style Tab
    • Obsidian (Note Taking) - config occurs via Sync plugin
      • Theme: Minimal
      • (Community) Plugins:
        • Highightr
        • Calendar
        • Periodic Notes
        • Folder Notes
        • Waypoint
        • Hider
        • Style Settings
        • Minimal Theme Settings
    • Synfig (Animation Software)
    • Godot (Game Egnine)
    • Google Chrome (Keyboard Training via zsa.io) - not included. download urself
    • LibreOffice Suite (Office Productivity Suite)
    • Audacity (Audio Editing Software)
    • Reaper (Digital Audio Workstation) - not included. download urself
    • ProtonMail (Mail & Calendar) - not included. download urself
    • ProtonPass (Password Manager) - not included. download urself
    • ProtonVPN (VPN Client) - not included. download urself
Development Tools
  • WezTerm (terminal emulator)
  • Bash (CLI)
    • Git
    • GNU Stow
    • Bat (cat improvement)
    • Bats (Bash test framework)
    • LSD (prettier ls)
    • rsync for Obsidian Vault backup to local folder.
    • Starship (nice prompt)
    • TLDR
    • NeoVIM
      • Plugins:
        • Colorschemes:
          • Catppuccin
        • Kickstart defaults:
          • Autopairs
          • Cmp
          • Conform
          • Debug
          • Git Signs
          • Indent Line
          • Lint
          • LSP Config
          • Mini
          • NeoTree
          • Telescope
          • Todo Comments
          • Treesitter
          • WhichKey
        • User plugins:
          • Auto Dark Mode
          • Vim-Bundler
          • Vim-Commentary
          • Vim-Endwise
          • Vim-Fugitive
          • Vim-Rails
          • Vim-Tmux
          • Neoscroll (remove?)
          • wezterm/nvim interaction plugin (tbd & added)
  • Tmux (to be removed as WezTerm becomes main)
    • Plugins:
      • TPM (plugin manager)
      • Tmux-Sensible
      • Tmux-Which-Key
  • Programming Languages
    • elm
    • javascript
    • julia
    • python
    • ruby
    • rust
    • vala
    • zig

Keybinds (WIP)

Notes:

  • design keybinds to be easy on laptop keyboard
  • Voyager keyboard to have macros to handle keybinds.
  • See shortcuts.json

Leader Keys

  • GNOME = SUPER
    • SWITCHER = SUPER + E
    • TACTILE = SUPER + W... change?
  • WEZTERM = SUPER + ... ?
  • NEOVIM = SPACE... add SUPER?
  • ...

Defaults

  • Open a new window
  • Close current window
  • Open a new tab
  • Close current tab
  • Prev/Next Workspace
  • Prev/Next Application = (SHIFT) + SUPER/ALT + TAB
  • Prev/Next Application in Workspace
  • Prev/Next Window
  • Prev/Next Window of Application
  • Prev/Next Tab = (SHIFT) CTRL + TAB
OS-Wide
  • (SHIFT) + SUPER/ALT + TAB = (Reverse) Switch Application
  • = Switch Window
  • SUPER + ESC = Switch Window of Application Directly
  • SUPER + Num = Open or Switch Directly to Favorite Application
Instancing
  • Close/Open Workspace
  • Close/Open Application
  • Close/Open Window = (SHIFT) CTRL + W
  • Close/Open Tab = (SHIFT) CTRL + T
Gnome: Switching
  • Window Switcher = SUPER + E
  • Prev/Next Workspace
  • Prev/Next Application
  • Prev/Next Window
  • Prev/Next Tab = (SHIFT) CTRL + TAB
  • Switch Focus = SUPER + H/J/K/L
Tactile: Sizing/Positioning
  • Prev/Next Monitor = TACTILE -> (SHIFT) + SPACE
  • Maximize = SUPER + UP or TACTILE ->
  • Minimize
  • Grid-based Split = TACTILE + Point 1 + Point 2
WezTerm: Terminal
NeoVIM: Text Editor
  • Fold Commands: z
  • Switch Active Window (split) = CTRL + H/J/K/L
  • hint: gsettings list-recursively | grep -i "keybinding"

NeoVIM:

  • LEADER = SPACE
  • U (normal mode) = Undo
  • CTRL + R (normal mode) = Redo
  • NeoScroll:
    • CTRL + U = Scroll Up
    • CTRL + D = Scroll Down

use window macros for panes?

  • LEADER =
    • Searching:
      • SHIFT + CTRL + F = enter scrollback search mode
    • Spawning:
      • LEADER + N
      • LEADER + T
      • SHIFT + CTRL + N = spawn window
      • SHIFT + CTRL + T = spawn tab
    • Navigating:
      • LEADER + ARROW_KEY
      • SHIFT + CTRL + ARROW_KEY = activate pane relative to current pane
      • LEADER +
      • CTRL + TAB = next tab
      • SHIFT + SUPER + [ or ] = activate next or previous tab relative to current tab
    • Sizing:
      • LEADER +
    • Other:
      • SHIFT + CONTROL + P = activate command palette

/new/ To-Dos (072024)

  • readme (v2)
    • clean-up read me
      • merge-clean old todos into new
      • simplify readme; less is more
        • better "whats included" section
        • "keybinds" to its own md file
      • hyperlinks
    • general file management outline/instruction
      • obsidian vault explanation + where to find it + backups
    • applications list
  • dotfiles (v2)
    • uhhhhuhuhuh
  • research & test
    • [/] pop-os/shell
    • [/] cosmic-settings, how are keybinds handled->pull 376
    • dotfiles on ubuntu, install.sh on ubuntu
    • standard keybind adoption
  • reinstall
    • pre-reqs
      • clean
      • document
      • test on vm
        • test 1: manual install (ubuntu & fedora)
        • test 2: script install (ubuntu & fedora)
        • compare
        • document
      • simplify
    • [ ]

TODO(s) /old/

Repo Stuff

  • [/] link external github repos, i.e. rbenv, plugins, bash scripts, etc.

Config Stuff

  • Voyager keybinds
    • ctrl + a macro lol? - double tap a?
    • application specific macros:
      • prev/next tab macros
      • wezterm tab management...
  • keybinds:
    • Make Reliable/Sensible Defaults
    • WezTerm
      • delete all keybinds, then:
      • leader key(bind)
      • pane: create, delete, size, selection
      • tab: create, delete, selection
  • determine:
    • wezterm functionality to keep or remove
      • command palette?
    • use starship + wezterm to name tabs as "process: filename:" ?
  • test i3, other WMs
  • find a better way to manage keybinds
    • test:
      • xbindkeys

"User" Friendliness

  • semantic ANSI text styling variables

Install Scripts

  • install scripts
    • test install scripts
    • retest install scripts
    • rewrite with mise
    • retest
    • fix errors
    • finalize functionality
      • put installs into individual functions
      • put status printing into individual functions?
      • options?
        • standard
          • --help
          • --all (install all)
          • --list
          • -o (output log filename)
          • --quiet
          • --verbose
          • --assume-yes
          • --noexec
          • --debug
      • select menu (when no --all)
      • uninstall?
      • finish distro-agnostism
      • impl shell-agnostism?
    • retest install scripts
    • implement BATS
    • fix new errors
    • add firefox-dev setup~ connection with nvim
    • test on Ubuntu

Other Scripts

  • common-use scripts...?
    • update all?
    • backup...?
      • humble bundle documents
      • GNOME settings? (dconf)
      • gsettings?
    • compression
      • individually compress directories in this directory

Miscellaneous

  • obsidian -> standard notes?, wait to see proton offering

  • prune unneccessary stuff

  • stuff to add to dotfiles

    • gnome extensions + extension settings
    • gnome tweaks + settings
    • kdenlive
    • audactity
    • starship
    • discord desktop
    • vencord (does this break discord rules?)
    • fastfetch
    • vibreoffice
  • might rice

    • to test/add:
      • fastfetch
      • pitvi vs kdenlive
      • kdenlive
      • vibreoffice
      • fzf
      • atuin?
      • chezmoi?
      • powertop
      • discord desktop
      • vencord (does this break discord rules?)
      • pomotroid
    • to remove
  • to config

    • sway
      • keybinds
      • workspaces
      • disable follow mouse focus