Files
dotfiles-and-setup/README.md

85 lines
3.7 KiB
Markdown

# dotfiles, plus scripts for box setup
## prereqs
- zsh and git installed
- git clone this repo
### specific prereqs, linux distros
- sudo access is configured for current user
### specific prereqs, macos
- install the package manager, [homebrew](https://brew.sh/)
- for aerospace window manager, have only 1 workspace/desktop
- manual settings, refer to [ref/macos-system-settings](ref/macos-system-settings.md)
--------
## script run
- to do the full setup, from git root dir, run: `./box_setup.sh`
- to copy dotfiles only, from git root dir, run: `./copy_dotfiles.sh`
--------
## after script run
- complete manual actions specified in [ref/post-run](ref/post-run.md)
--------
## todo items
- config for: terminal (kitty? havoc?); shell; mpd, mpc, ncmpcpp; mpv
- hyprland config and install on linux
- web browsers config and install
- get find, xargs, awk (use nawk) as unified as i can across system types
- decide on docker? or alternatives like podman? any license concerns?
- pick rss reader; newsboat? others? option with inbox and separate queues?
- decide if i even want a filemanager; if yes, pick one and configure
- decide what i'm doing for music streaming; spotify official? web? tui option?
- switch installation approach, use csv file with programs to install, install types,
any extra flags/opts, comments
- regarding the system-types idea i'd started to build in already, maybe have a
column for filtering in the csv file, or just have multiple csv files corresponding
to a base/core install, a music-studio install, a employer/work machine, etc.
- alternate idea: columns for "include_in_systems" and/or "excluded_from_systems"
- if both, likely apply the include column first, then the exclude (priority)
- add command in tmux to perform cd to a given dir in all windows of the current session
--------
## attribution
### Original pattern/approach and some key config logic
The original pattern and approach for this project, and particularly the installation of
programs, the copying of config files and scripts, the "tmux sessionizer" (tmux session
init logic), my original neovim config, and my workflow/workspace strategy, were derived
from several of ThePrimeagen's projects and videos (listed below). I was unable to locate
any licenses or copyrights for the code contained within these sources, but I wanted to
give attribution nonetheless.
- [dev/setup/config repo](https://github.com/ThePrimeagen/dev)
- [neovim config](https://github.com/ThePrimeagen/init.lua)
- [tmux sessionizer](https://github.com/ThePrimeagen/tmux-sessionizer)
- [YouTube video - neovim config video](https://www.youtube.com/watch?v=w7i4amO_zaE)
- [FrontEnd Masters course - dev productivity v2](https://frontendmasters.com/courses/developer-productivity-v2/)
Author: ThePrimeagen (Michael Paulson)
### Some themes and theme-swtiching/setting logic
The theme configuration files in this repository under
`src_files/imports/themes-omarchy-core` are copied from, and much of the
"theme-switching" or "theme-setting" logic and scripts are derived from,
[Omarchy](https://github.com/basecamp/omarchy), which is licensed under the
[MIT License](https://github.com/basecamp/omarchy/blob/master/LICENSE).
Copyright (c) David Heinemeier Hansson
### Additional/extra themes (Omarchy extra themes)
Additional theme configuration files in this repository under
`src_files/imports/themes-omarchy-extra` are copied or derived from projects of additional
conrtibutors to the Omarchy community/ecosystem. For any information about
authors/licenses/copyrights for each, refer to any LICENSE and/or ATTRIBUTION.md files in
each theme's respective directory under `src_files/imports/themes-omarchy-extra`.