Skip to content

skttlock/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

config stuf

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published