diff --git a/README.md b/README.md index d343663..81a7f9e 100644 --- a/README.md +++ b/README.md @@ -26,9 +26,14 @@ -------- ### todo items -- config for: terminal (ghostty? foot? havoc?); shell; mpd, mpc, ncmpcpp; mpv -- hyprland config on linux +- 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 @@ -37,3 +42,4 @@ - 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 + diff --git a/box_setup.sh b/box_setup.sh index c06cfb6..56938ef 100755 --- a/box_setup.sh +++ b/box_setup.sh @@ -7,6 +7,8 @@ exit 0 } +echo "---- settings vars for system type -----" + # determine OS and, if linux, distro [[ "$OSTYPE" = *"darwin"* ]] && setup_os="macos" || { [[ "$OSTYPE" = *"linux"* ]] && setup_os="linux" && { diff --git a/copy_dotfiles.sh b/copy_dotfiles.sh index df7dc5c..45d3645 100755 --- a/copy_dotfiles.sh +++ b/copy_dotfiles.sh @@ -7,7 +7,7 @@ copy_file() { local to=$2 local filename=$(basename $from) [[ -e $to/$filename ]] && rm $to/$filename - echo_and_execute cp -p $from $to/$filename + echo_and_execute cp -RPp $from $to/$filename } copy_dir() { @@ -17,7 +17,7 @@ copy_dir() { local directories=(`find . -mindepth 1 -maxdepth 1 -type d`) for dir in $directories; do [[ -d $to/$dir ]] && rm -rf $to/$dir - echo_and_execute cp -rp $dir $to/$dir + echo_and_execute cp -RPp $dir $to/$dir done local files=(`find . -mindepth 1 -maxdepth 1 -type f`) for file in $files; do @@ -26,30 +26,34 @@ copy_dir() { popd > /dev/null } -link_dir() { - local src_dir=$1 - local link_dir=$2 - [[ -h "$link_dir" ]] && rm $link_dir - [[ -d "$link_dir" ]] && rm -rf $link_dir - echo_and_execute ln -s $src_dir $link_dir +sym_link() { + [[ ! -e "$1" ]] && echo "skipping link, target does not exist: $1" && return + [[ -h "$2" ]] && rm $2 + [[ -f "$2" || -d "$2" ]] && rm -rf $2 + echo_and_execute ln -s $1 $2 } -echo "---- copying dotfiles ------------------------------------------------" - -copy_file src_files/.config/zsh/.zshenv $HOME # duplicate, copy anyway, ensures $ZDOTDIR +echo "---- copying dotfiles ------------------" +source src_files/.config/zsh/.zshenv +copy_file src_files/.config/zsh/.zshenv $HOME # copy first, ensure $ZDOTDIR set +# configs/executables/scripts from .config and .local copy_dir src_files/.config $XDG_CONFIG_HOME copy_dir src_files/.local/bin $DIR_BIN -[[ "$OSTYPE" = *"darwin"* ]] && copy_dir src_files/bin_overrides_macos $DIR_BIN copy_dir src_files/.local/scripts $DIR_SCRIPTS +# macOS overrides as needed +[[ "$OSTYPE" = *"darwin"* ]] && copy_dir src_files/bin_overrides_macos $DIR_BIN + +# obsidian uses a per-vault config model, so copy to all target vaults/dirs for obs_dir in "${OBSIDIAN_WORKSPACES_TO_CONFIGURE[@]}"; do [[ ! -d "$obs_dir/.obsidian" ]] && mkdir "$obs_dir/.obsidian" copy_dir $XDG_CONFIG_HOME/obsidian "$obs_dir/.obsidian" done +# TODO: get reaper config set up # [[ $1 = "studio-music" ]] { # [[ "$OSTYPE" = *"darwin"* ]] && -# link_dir "$XDG_CONFIG_HOME/REAPER" "$HOME/Library/Application Support/REAPER" # TODO: get reaper config set up +# sym_link "$XDG_CONFIG_HOME/REAPER" "$HOME/Library/Application Support/REAPER" # } diff --git a/install_programs.sh b/install_programs.sh index 9b6bee2..77af424 100755 --- a/install_programs.sh +++ b/install_programs.sh @@ -28,7 +28,7 @@ scripts_from_dir=($(find_scripts_in_dir "./installs_and_builds")) scripts_from_dir+=($(find_scripts_in_dir "./installs_and_builds/work_placeholder")) } -echo "---- installing programs ---------------------------------------------" +echo "---- installing programs ---------------" echo "-------- for system types: $system_types_list" install_scripts_from_list "${scripts_from_dir[@]}" diff --git a/installs_and_builds/s02_utils b/installs_and_builds/s02_utils index 1c693f2..203ac04 100755 --- a/installs_and_builds/s02_utils +++ b/installs_and_builds/s02_utils @@ -12,7 +12,7 @@ ${=BOX_SETUP_INSTALL_COMMAND} \ make \ cmake \ gettext \ - btop + htop utils_package_name_pandoc="pandoc" case $BOX_SETUP_DISTRO in diff --git a/make_dirs.sh b/make_dirs.sh index 2790119..bceccbe 100755 --- a/make_dirs.sh +++ b/make_dirs.sh @@ -1,5 +1,6 @@ #!/bin/zsh +echo "---- making system dirs ----------------" source ./src_files/.config/zsh/.zshenv # ensure env vars set for use below # some standard/common directories, some overlap/use in XDG directories diff --git a/ref/post-run.md b/ref/post-run.md index 6bd389c..f52b7a5 100644 --- a/ref/post-run.md +++ b/ref/post-run.md @@ -1,3 +1,12 @@ # Manual steps needed after dotfile copy and/or installs -currently none, wooooo +## macOS + +- skhd + - run `skhd --start-service` + - grant skhd permission in accessibility settings + - run `skhd --restart-service` +- aerospace + - grant aerospace permission in accessibility settings + - likely need system reboot before aerospace works + diff --git a/src_files/.config/aerospace/aerospace.toml b/src_files/.config/aerospace/aerospace.toml index dce080e..07f4ce9 100644 --- a/src_files/.config/aerospace/aerospace.toml +++ b/src_files/.config/aerospace/aerospace.toml @@ -1,91 +1,47 @@ -# options commands : https://nikitabobko.github.io/AeroSpace/commands -after-startup-command = [] -start-at-login = true # start aerospace at login +# ref: https://nikitabobko.github.io/AeroSpace/commands +# ref: https://nikitabobko.github.io/AeroSpace/guide + +after-startup-command = [] +start-at-login = true -# ref: https://nikitabobko.github.io/AeroSpace/guide#normalization enable-normalization-flatten-containers = true enable-normalization-opposite-orientation-for-nested-containers = true - -accordion-padding = 0 # ref: https://nikitabobko.github.io/AeroSpace/guide#layouts - -default-root-container-layout = 'accordion' # tiles|accordion -default-root-container-orientation = 'vertical' # horizontal|vertical|auto - -# refs: https://nikitabobko.github.io/AeroSpace/guide#on-focus-changed-callbacks -# https://nikitabobko.github.io/AeroSpace/commands#move-mouse on-focused-monitor-changed = ['move-mouse monitor-lazy-center'] - -# ref: https://nikitabobko.github.io/AeroSpace/goodies#disable-hide-app automatically-unhide-macos-hidden-apps = true -# See https://nikitabobko.github.io/AeroSpace/guide#key-mapping -[key-mapping] - preset = 'qwerty' # qwerty|dvorak|colemak +accordion-padding = 0 +default-root-container-layout = 'accordion' # opts: tiles accordion +default-root-container-orientation = 'vertical' # opts: horizontal vertical auto + +[key-mapping] + preset = 'qwerty' # opts: qwerty dvorak colemak -# ref: https://nikitabobko.github.io/AeroSpace/guide#assign-workspaces-to-monitors -# gaps between windows (inner-*) and between monitor edges (outer-*). [gaps] - inner.horizontal = 0 + inner.horizontal = 0 # inner* - between windows and other windows inner.vertical = 0 - outer.left = 0 + outer.left = 0 # outer* - between windows and monitor edges outer.bottom = 0 outer.top = 0 outer.right = 0 -# 'main' binding mode; ref: https://nikitabobko.github.io/AeroSpace/guide#binding-modes -[mode.main.binding] # 'main' binding mode must be always presented - # All possible keys: - # - Letters. a, b, c, ..., z - # - Numbers. 0, 1, 2, ..., 9 - # - Keypad numbers. keypad0, keypad1, keypad2, ..., keypad9 - # - F-keys. f1, f2, ..., f20 - # - Special keys. minus, equal, period, comma, slash, backslash, quote, semicolon, - # backtick, leftSquareBracket, rightSquareBracket, space, enter, esc, - # backspace, tab, pageUp, pageDown, home, end, forwardDelete, - # sectionSign (ISO keyboards only, european keyboards only) - # - Keypad special. keypadClear, keypadDecimalMark, keypadDivide, keypadEnter, keypadEqual, - # keypadMinus, keypadMultiply, keypadPlus - # - Arrows. left, down, up, right - - # All possible modifiers: cmd, alt, ctrl, shift - # All possible commands: https://nikitabobko.github.io/AeroSpace/commands - - # See: https://nikitabobko.github.io/AeroSpace/commands#exec-and-forget - # You can uncomment the following lines to open up terminal with alt + enter shortcut - # (like in i3) - # alt-enter = '''exec-and-forget osascript -e ' - # tell application "Terminal" - # do script - # activate - # end tell' - # ''' - - # See: https://nikitabobko.github.io/AeroSpace/commands#layout +[mode.main.binding] alt-comma = 'layout v_accordion' alt-period = 'layout h_tiles' alt-slash = 'layout horizontal vertical' - # See: https://nikitabobko.github.io/AeroSpace/commands#focus - # new windows are added to the stack "below" the current, so swap up and down + alt-minus = 'resize smart -50' + alt-equal = 'resize smart +50' + + # in stack mode, new windows are added "below" the current, so swap up and down alt-j = 'focus up' alt-k = 'focus down' - # bindings: alt-l -> ctrl-tab, alt-h -> ctrl-shift-tab - # alt-l = "exec-and-forget osascript -e 'tell application \"System Events\" to key code 48 using control down'" - # alt-h = "exec-and-forget osascript -e 'tell application \"System Events\" to key code 48 using {control down, shift down}'" - - - # See: https://nikitabobko.github.io/AeroSpace/commands#move - # new windows are added to the stack "below" the current, so swap up and down + alt-l = 'focus right' + alt-h = 'focus left' alt-shift-j = 'move up' alt-shift-k = 'move down' alt-shift-h = 'move left' alt-shift-l = 'move right' - # See: https://nikitabobko.github.io/AeroSpace/commands#resize - alt-minus = 'resize smart -50' - alt-equal = 'resize smart +50' - - # See: https://nikitabobko.github.io/AeroSpace/commands#workspace alt-1 = 'workspace 1' alt-2 = 'workspace 2' alt-3 = 'workspace 3' @@ -96,8 +52,6 @@ automatically-unhide-macos-hidden-apps = true alt-8 = 'workspace 8' alt-9 = 'workspace 9' alt-0 = 'workspace 0' - - # See: https://nikitabobko.github.io/AeroSpace/commands#move-node-to-workspace alt-shift-1 = 'move-node-to-workspace 1' alt-shift-2 = 'move-node-to-workspace 2' alt-shift-3 = 'move-node-to-workspace 3' @@ -109,25 +63,13 @@ automatically-unhide-macos-hidden-apps = true alt-shift-9 = 'move-node-to-workspace 9' alt-shift-0 = 'move-node-to-workspace 0' - # See: https://nikitabobko.github.io/AeroSpace/commands#mode alt-shift-semicolon = 'mode service' -# 'service' binding mode declaration. -# See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes [mode.service.binding] - esc = ['reload-config', 'mode main'] - backspace = ['close-all-windows-but-current', 'mode main'] - - r = ['flatten-workspace-tree', 'mode main'] # reset layout + r = ['reload-config', 'flatten-workspace-tree', 'mode main'] # reset layout f = ['flatten-workspace-tree', 'layout floating', 'mode main'] - s = ['flatten-workspace-tree', 'layout v_accordion', 'mode main'] - g = ['flatten-workspace-tree', 'layout h_tiles', 'mode main'] + alt-h = ['join-with left', 'mode main'] + alt-j = ['join-with down', 'mode main'] + alt-k = ['join-with up', 'mode main'] + alt-l = ['join-with right', 'mode main'] - alt-shift-h = ['join-with left', 'mode main'] - alt-shift-j = ['join-with down', 'mode main'] - alt-shift-k = ['join-with up', 'mode main'] - alt-shift-l = ['join-with right', 'mode main'] - - down = 'volume down' - up = 'volume up' - shift-down = ['volume set 0', 'mode main'] diff --git a/src_files/.config/btop/btop.conf b/src_files/.config/btop/btop.conf index 10bca93..795f739 100644 --- a/src_files/.config/btop/btop.conf +++ b/src_files/.config/btop/btop.conf @@ -9,7 +9,7 @@ show_battery = True selected_battery = "Auto" show_battery_watts = True -color_theme = "$DIR_THEME_SETTINGS/.current-theme/btop.theme" +color_theme = "~/.config/btop/themes/theme.theme" theme_background = False #* True: show theme background, False: needed for transparency truecolor = True rounded_corners = False diff --git a/src_files/.config/gimp/gimprc b/src_files/.config/gimp/gimprc index cf795a1..81c5360 100644 --- a/src_files/.config/gimp/gimprc +++ b/src_files/.config/gimp/gimprc @@ -47,6 +47,48 @@ (dash-offset 0) (dash-info 0) (emulate-brush-dynamics no)) +(default-view + (show-menubar yes) + (show-statusbar no) + (show-rulers yes) + (show-scrollbars yes) + (show-selection no) + (show-layer-boundary no) + (show-canvas-boundary yes) + (show-guides yes) + (show-grid no) + (show-sample-points yes) + (snap-to-guides yes) + (snap-to-grid no) + (snap-to-canvas no) + (snap-to-path no) + (snap-to-bbox no) + (snap-to-equidistance no) + (padding-mode default) + (padding-color + (color "R'G'B'A float" 16 "\1\0\200\77\1\0\200\77\1\0\200\77\0\0\200\77" 0)) + (padding-in-show-all no)) +(default-fullscreen-view + (show-menubar yes) + (show-statusbar no) + (show-rulers yes) + (show-scrollbars yes) + (show-selection no) + (show-layer-boundary no) + (show-canvas-boundary yes) + (show-guides yes) + (show-grid no) + (show-sample-points yes) + (snap-to-guides yes) + (snap-to-grid no) + (snap-to-canvas no) + (snap-to-path no) + (snap-to-bbox no) + (snap-to-equidistance no) + (padding-mode default) + (padding-color + (color "R'G'B'A float" 16 "\1\0\200\77\1\0\200\77\1\0\200\77\0\0\200\77" 0)) + (padding-in-show-all no)) # end of gimprc diff --git a/src_files/.config/gimp/shortcutsrc b/src_files/.config/gimp/shortcutsrc index 4b06500..b171304 100644 --- a/src_files/.config/gimp/shortcutsrc +++ b/src_files/.config/gimp/shortcutsrc @@ -1,3 +1,4 @@ (file-version 1) -(action "windows-hide-docks" "d") +(action "view-show-rulers" "r") (action "view-zoom-fit-in" "f") +(action "windows-hide-docks" "d") diff --git a/src_files/.config/nvim/lua/key_mappings.lua b/src_files/.config/nvim/lua/key_mappings.lua index e5881fb..d8879a2 100644 --- a/src_files/.config/nvim/lua/key_mappings.lua +++ b/src_files/.config/nvim/lua/key_mappings.lua @@ -64,7 +64,7 @@ kmgAutocmd('FileType', { }) ------------------------------------------------------------------------------------------ --- quickfix TODO: learn about quickfix (:help quickfix), then maybe use these +-- quickfix TODO: learn about quickfix (:help quickfix), then set mappings -- vim.keymap.set("n", "", "cnextzz") -- vim.keymap.set("n", "", "cprevzz") diff --git a/src_files/.config/obsidian/appearance.json b/src_files/.config/obsidian/appearance.json index 8326fc5..0fe3f3b 100644 --- a/src_files/.config/obsidian/appearance.json +++ b/src_files/.config/obsidian/appearance.json @@ -1,5 +1,9 @@ { "theme": "obsidian", "accentColor": "#2f930e", - "baseFontSize": 18 -} \ No newline at end of file + "baseFontSize": 18, + "enabledCssSnippets": [ + "theme-transparency" + ], + "translucency": false +} diff --git a/src_files/.config/obsidian/hotkeys.json b/src_files/.config/obsidian/hotkeys.json index d0c186b..460081d 100644 --- a/src_files/.config/obsidian/hotkeys.json +++ b/src_files/.config/obsidian/hotkeys.json @@ -2,7 +2,8 @@ "markdown:toggle-preview": [ { "modifiers": [ - "Alt" + "Ctrl", + "Shift" ], "key": "R" } @@ -14,5 +15,23 @@ ], "key": "F" } + ], + "app:toggle-left-sidebar": [ + { + "modifiers": [ + "Ctrl", + "Shift" + ], + "key": "D" + } + ], + "app:toggle-right-sidebar": [ + { + "modifiers": [ + "Ctrl", + "Shift" + ], + "key": "F" + } ] -} \ No newline at end of file +} diff --git a/src_files/.config/skhd/skhdrc b/src_files/.config/skhd/skhdrc index db78c0d..20b458a 100755 --- a/src_files/.config/skhd/skhdrc +++ b/src_files/.config/skhd/skhdrc @@ -5,6 +5,6 @@ ########################################################################################## # key bindings for general use -alt - h : $(which skhd) -k "ctrl + shift - tab" -alt - l : $(which skhd) -k "ctrl - tab" +ctrl - h : $(which skhd) -k "ctrl + shift - tab" +ctrl - l : $(which skhd) -k "ctrl - tab"