Add support for extra themes, other small changes, drop btop

This commit is contained in:
2025-10-30 13:23:09 -05:00
parent bd5cb81499
commit d0d7c38e14
37 changed files with 334 additions and 146 deletions

View File

@@ -1,31 +1,31 @@
# dotfiles, plus scripts for box setup
### prereqs
## prereqs
- zsh and git installed
- git clone this repo
#### specific prereqs, linux distros
### specific prereqs, linux distros
- sudo access is configured for current user
#### specific prereqs, macos
### 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
### 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
### after script run
- complete manual actions specified in [ref/post-run](ref/post-run.md)
--------
## todo items
### todo items
- config for: terminal (kitty? havoc?); shell; mpd, mpc, ncmpcpp; mpv
- hyprland config and install on linux
- web browsers config and install
@@ -42,4 +42,42 @@
- 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
- in pina theme, cursor (cursorline) and comments (rendered in neovim) are same color, fix
## 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`.

View File

@@ -1,83 +0,0 @@
#? Config file for btop v. 1.4.5
vim_keys = True # shift+h help, shift+k kill
log_level = "WARNING" #* opt: ERROR, WARNING, INFO, DEBUG
update_ms = 4000
show_battery = True
selected_battery = "Auto"
show_battery_watts = True
color_theme = "~/.config/btop/themes/theme.theme"
theme_background = False #* True: show theme background, False: needed for transparency
truecolor = True
rounded_corners = False
force_tty = False
#* graph options: default, block, tty, braille
graph_symbol = "braille"
graph_symbol_cpu = "default"
graph_symbol_mem = "default"
graph_symbol_net = "default"
graph_symbol_proc = "default"
#* presets boxname:pos:graph - pos (0, 1), graph (default, block, tty, braille)
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
shown_boxes = "proc mem net cpu" # opt: cpu mem net proc gpu0 gpu1 gpu2 gpu3 gpu4 gpu5
proc_sorting = "cpu lazy"
proc_reversed = False
proc_left = True
proc_tree = False
proc_colors = True #* cpu graph colors in proc list
proc_gradient = False
proc_per_core = False
proc_mem_bytes = True
proc_cpu_graphs = False
proc_info_smaps = False #* /proc/[pid]/smaps for proc memory info, accurate but slow
proc_filter_kernel = False
proc_aggregate = False #* aggregate child procs under parent in tree view
cpu_graph_upper = "user" #* opt: Auto, total, idle, system, user (maybe others per system)
cpu_graph_lower = "total"
cpu_invert_lower = False
cpu_single_graph = False
cpu_bottom = False
show_uptime = True
show_cpu_watts = True #* requires `make setcap`, `make setuid`, or sudo
check_temp = True
cpu_sensor = "Auto"
show_coretemp = True
cpu_core_map = "" #* form x:y x:y, x is core with wrong temp, y is core with correct temp
temp_scale = "celsius" #* opt: celsius, fahrenheit, kelvin, rankine
base_10_sizes = False #* False to use KiB = 1024, True to use KB = 1000
show_cpu_freq = True
clock_format = "%H /host"
background_update = True #* set False if menu flicker
custom_cpu_name = ""
#* disks_filter: mountpoint full paths; can prepend exclude= to show all non-matches
disks_filter = ""
mem_graphs = True #* True for graphs, False for meters
mem_below_net = False #* mem box below net box
zfs_arc_cached = True #* cached and available mem include ZFS ARC
show_swap = True
swap_disk = True #* swap as a disk, overrides show_swap setting
show_disks = True
only_physical = True #* True for physical disks only, False includes network/RAM/etc
use_fstab = True #* disks from /etc/fstab, overrides only_physical value
zfs_hide_datasets = False #* hide datasets and show zfs pools instead
disk_free_priv = False #* show free space for privileged users
show_io_stat = True
io_mode = False #* show big graphs for disk read/write
io_graph_combined = False #* graph shows combined read/write
io_graph_speeds = "" #* graph top speed in MiB/s (default 100), format "mountpoint:speed"
net_download = 100 #* network graph fixed values, Mebibits, only used if net_auto False
net_upload = 100
net_auto = True #* graph auto rescaling mode, ignores net_download and net_upload values
net_sync = True #* sync download/upload, auto scale to highest
net_iface = "" #* start with this interface
base_10_bitrate = "Auto"

View File

@@ -1 +0,0 @@
placeholder, will be replaced with symlink during copy_dotfiles.sh

View File

@@ -28,15 +28,15 @@ show_cpu_frequency=0
show_cached_memory=1
update_process_names=0
account_guest_in_cpu_meter=0
color_scheme=1
color_scheme=5
enable_mouse=1
delay=40
hide_function_bar=0
header_layout=two_50_50
column_meters_0=Battery DateTime Hostname System Uptime Blank AllCPUs2 AllCPUs8 Blank
column_meter_modes_0=1 2 2 2 2 2 1 3 2
column_meters_1=Tasks LoadAverage Blank Memory Swap MemorySwap Blank DiskIO FileDescriptors Blank NetworkIO NetworkIO
column_meter_modes_1=2 2 2 1 1 3 2 2 2 2 2 3
column_meters_0=LeftCPUs2 LeftCPUs4 Blank MemorySwap MemorySwap Blank NetworkIO NetworkIO
column_meter_modes_0=1 3 2 1 3 2 2 3
column_meters_1=RightCPUs2 RightCPUs4 Blank LoadAverage Tasks Blank DiskIO FileDescriptors Blank Hostname System Uptime DateTime Battery
column_meter_modes_1=1 3 2 2 2 2 2 2 2 2 2 2 2 1
tree_view=0
sort_key=47
tree_sort_key=0

View File

@@ -67,4 +67,8 @@ return {
require('bamboo').load()
end,
},
{
dir = vim.fn.stdpath("config") .. "/themes/pina",
name = "pina",
},
}

View File

@@ -0,0 +1,5 @@
set -g status-style 'bg=#111111 fg=#22cc00'
# transparency
set-window-option -g window-style bg=default
# set-option -g status-style bg=default

View File

@@ -0,0 +1,3 @@
return {
colorscheme_name = 'pina'
}

View File

@@ -0,0 +1,5 @@
set -g status-style 'bg=#111111 fg=#22cc00'
# transparency
set-window-option -g window-style bg=default
# set-option -g status-style bg=default

View File

@@ -26,9 +26,8 @@ theme-update-neovim &
# theme-update-obsidian # TODO: implement
# theme-update-browser # TODO: implement
# theme-update-reaper # TODO: implement
theme-update-system-monitor # TODO: do i actually want this? or just use htop monochrome mode and let it use terminal colors
# theme-update-gimp # TODO: possible and actually desired? my main use case is just a blackboard, maybe let it be
# theme-update-mutt # TODO: possible and actually desired?
# theme-update-irc # TODO: possible and actually desired?
theme-update-wallpaper &
theme-update-wallpaper "zz-default-for-theme" &

View File

@@ -1,7 +0,0 @@
#!/bin/zsh
# TODO: htop even possible? maybe can change what colors it sees from terminal itself
# pkill -SIGUSR1 htop
# pkill -SIGUSR2 htop
pkill -SIGUSR2 btop

View File

@@ -15,11 +15,11 @@ NESTED_SWIFT_BLOCK
)
}
# TODO: decide if and how to make this work for cycling through wallpapers per theme
wallpaper_dir=$DIR_THEME_SETTINGS/.current-theme/wallpaper
image_paths=($(find $wallpaper_dir -type f | sort)) 2> /dev/null
target_wallpaper=${image_paths[@]:0:1}
[[ $1 = "zz-default-for-theme" ]] && target_wallpaper=${image_paths[@]:0:1} ||
target_wallpaper=$(printf '%s\n' ${image_paths[@]} | fzf)
[[ -z $target_wallpaper ]] && exit 0
[[ "$OSTYPE" = *"darwin"* ]] && set_wallpaper_macos $target_wallpaper ||

View File

@@ -0,0 +1 @@
40,40,40

View File

@@ -4,7 +4,7 @@
## license: MIT
## upstream: https://github.com/basecamp/omarchy/blob/master/themes/gruvbox/hyprland.conf
# # This file is copied from a theme from Omarchy (https://github.com/basecamp/omarchy).
# This file is copied from a theme from Omarchy (https://github.com/basecamp/omarchy).
# Licensed under the MIT License. See the original LICENSE file for details at:
# https://github.com/basecamp/omarchy/blob/master/LICENSE

View File

@@ -4,7 +4,7 @@
## license: MIT
## upstream: https://github.com/basecamp/omarchy/blob/master/themes/gruvbox/hyprlock.conf
# # This file is copied from a theme from Omarchy (https://github.com/basecamp/omarchy).
# This file is copied from a theme from Omarchy (https://github.com/basecamp/omarchy).
# Licensed under the MIT License. See the original LICENSE file for details at:
# https://github.com/basecamp/omarchy/blob/master/LICENSE

View File

@@ -0,0 +1 @@
17,34,28

View File

@@ -4,7 +4,7 @@
## license: MIT
## upstream: https://github.com/basecamp/omarchy/blob/master/themes/osaka-jade/hyprland.conf
# # This file is copied from a theme from Omarchy (https://github.com/basecamp/omarchy).
# This file is copied from a theme from Omarchy (https://github.com/basecamp/omarchy).
# Licensed under the MIT License. See the original LICENSE file for details at:
# https://github.com/basecamp/omarchy/blob/master/LICENSE

View File

@@ -4,7 +4,7 @@
## license: MIT
## upstream: https://github.com/basecamp/omarchy/blob/master/themes/osaka-jade/hyprlock.conf
# # This file is copied from a theme from Omarchy (https://github.com/basecamp/omarchy).
# This file is copied from a theme from Omarchy (https://github.com/basecamp/omarchy).
# Licensed under the MIT License. See the original LICENSE file for details at:
# https://github.com/basecamp/omarchy/blob/master/LICENSE

View File

@@ -4,7 +4,7 @@
## license: MIT
## upstream: https://github.com/basecamp/omarchy/blob/master/themes/osaka-jade/kitty.conf
# # This file is copied from a theme from Omarchy (https://github.com/basecamp/omarchy).
# This file is copied from a theme from Omarchy (https://github.com/basecamp/omarchy).
# Licensed under the MIT License. See the original LICENSE file for details at:
# https://github.com/basecamp/omarchy/blob/master/LICENSE

View File

@@ -0,0 +1,14 @@
# Pina - omarchy-pina-theme
- Author: bjarneo (aka: iamdothash)
- Upstream repo: https://github.com/bjarneo/omarchy-pina-theme
All files within this `pina` directory are copied or derived from the repo above.
**NOTE:** As of 2025-10-30, no license is currently indicated for this repo/project
overall. However, there is a brief reference to the MIT license in the
`pina.nvim/colors/pina.vim` file in its original state, which I have also left in the
copy/derivative of that file. This said, I wonder if the intent may have been to license
the whole repo/project under an MIT license, but I hesitate to explicitly add a LICENSE
file in this theme's directory since no LICENSE file was in the original/upstream repo.

Binary file not shown.

After

Width:  |  Height:  |  Size: 549 KiB

View File

@@ -0,0 +1 @@
224,212,128

View File

@@ -0,0 +1,7 @@
# This file is not a full hyprland configuration.
# It is intended to be included in your main hyprland.conf.
general {
col.active_border = rgba(b5c9a4ee) rgba(b8c082ee) 45deg
col.inactive_border = rgba(171a1888)
}

View File

@@ -0,0 +1,6 @@
$color = rgba(23, 26, 24, 1.0)
$inner_color = rgba(23, 26, 24, 0.8)
$outer_color = rgba(181, 201, 164, 1.0)
$font_color = rgba(212, 213, 213, 1.0)
$placeholder_color = rgba(212, 213, 213, 0.7)
$check_color = rgba(125, 210, 184, 1.0)

View File

@@ -0,0 +1,53 @@
## original name ghostty.conf
## author: bjarneo (aka: iamdothash)
## license: (no license was specified)
## upstream: https://github.com/bjarneo/omarchy-pina-theme/blob/main/ghostty.conf
# This file is adapted from the ghostty.conf theme file from omarchy-pina-theme
# (https://github.com/bjarneo/omarchy-pina-theme).
##########################################################################################
foreground #D4D5D5
background #171A18
selection_foreground #171A18
selection_background #D4D5D5
cursor #E4DAD9
cursor_text_color #070A08
active_tab_foreground #171A18
active_tab_background #D4D5D5
inactive_tab_foreground #D4D5D5
inactive_tab_background #171A18
# black
color0 #171A18
color8 #6B8071
# red
color1 #7DB085
color9 #8CC098
# green
color2 #B8C082
color10 #CDD590
# yellow
color3 #E0D480
color11 #F2E590
# blue
color4 #7DD2B8
color12 #92E2C8
# magenta
color5 #B5C9A4
color13 #C8DAB8
# cyan
color6 #C5E8C5
color14 #D8F5D8
# white
color7 #D4D5D5
color15 #E2E3E3

View File

@@ -0,0 +1,147 @@
" Pina colorscheme for Vim/Neovim
" Author: bjarneo (aka: iamdothash)
" License: MIT
" Upstream: https://github.com/bjarneo/omarchy-pina-theme/blob/main/pina.nvim/colors/pina.vim
" This file has been modified slightly by removing some of the "hi" commands
" related to neovim plugins which I do not use.
" NOTE: The name, maintainer, and license lines from the original are copied
" below in their original state. However, I suspect these were inaccurate names
" which were copied from the Frost Theme which bjarneo also owns, so I have
" updated the name above to reflect Pina and have listed bjarneo as the author.
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Frost colorscheme for Vim/Neovim
" Maintainer: Frost Theme
" License: MIT
set background=dark
hi clear
if exists("syntax_on")
syntax reset
endif
let g:colors_name = "pina"
" Color definitions
let background = "#171a18"
let foreground = "#d4d5d5"
let cursor = "#d4d5d5"
" Colors
let color0 = "#171a18"
let color1 = "#7db085"
let color2 = "#b8c082"
let color3 = "#e0d480"
let color4 = "#7dd2b8"
let color5 = "#b5c9a4"
let color6 = "#c5e8c5"
let color7 = "#d4d5d5"
let color8 = "#6b8071"
let color9 = "#8cc098"
let color10 = "#cdd590"
let color11 = "#f2e590"
let color12 = "#92e2c8"
let color13 = "#c8dab8"
let color14 = "#d8f5d8"
let color15 = "#e2e3e3"
" Terminal colors
if has('nvim')
let g:terminal_color_0 = color0
let g:terminal_color_1 = color1
let g:terminal_color_2 = color2
let g:terminal_color_3 = color3
let g:terminal_color_4 = color4
let g:terminal_color_5 = color5
let g:terminal_color_6 = color6
let g:terminal_color_7 = color7
let g:terminal_color_8 = color8
let g:terminal_color_9 = color9
let g:terminal_color_10 = color10
let g:terminal_color_11 = color11
let g:terminal_color_12 = color12
let g:terminal_color_13 = color13
let g:terminal_color_14 = color14
let g:terminal_color_15 = color15
elseif has('terminal')
let g:terminal_ansi_colors = [
\ color0, color1, color2, color3,
\ color4, color5, color6, color7,
\ color8, color9, color10, color11,
\ color12, color13, color14, color15
\ ]
endif
" Basic highlight groups
exe "hi Normal guifg=" . foreground . " guibg=" . background . " ctermfg=7 ctermbg=0"
exe "hi Cursor guifg=" . background . " guibg=" . cursor . " ctermfg=0 ctermbg=7"
exe "hi CursorLine guibg=" . color8 . " ctermbg=8"
exe "hi CursorColumn guibg=" . color8 . " ctermbg=8"
exe "hi LineNr guifg=" . color8 . " ctermfg=8"
exe "hi CursorLineNr guifg=" . color7 . " ctermfg=7"
" Syntax highlighting
exe "hi Comment guifg=" . color8 . " ctermfg=8"
exe "hi String guifg=" . color2 . " ctermfg=2"
exe "hi Number guifg=" . color4 . " ctermfg=4"
exe "hi Constant guifg=" . color5 . " ctermfg=5"
exe "hi Identifier guifg=" . color7 . " ctermfg=7"
exe "hi Function guifg=" . color1 . " ctermfg=1"
exe "hi Statement guifg=" . color1 . " ctermfg=1"
exe "hi PreProc guifg=" . color5 . " ctermfg=5"
exe "hi Type guifg=" . color4 . " ctermfg=4"
exe "hi Special guifg=" . color5 . " ctermfg=5"
exe "hi Keyword guifg=" . color1 . " ctermfg=1"
exe "hi Operator guifg=" . color7 . " ctermfg=7"
" UI elements
exe "hi Visual guibg=" . color8 . " ctermbg=8"
exe "hi Search guifg=" . background . " guibg=" . color11 . " ctermfg=0 ctermbg=11"
exe "hi IncSearch guifg=" . background . " guibg=" . color3 . " ctermfg=0 ctermbg=3"
exe "hi StatusLine guifg=" . foreground . " guibg=" . color8 . " ctermfg=7 ctermbg=8"
exe "hi StatusLineNC guifg=" . color8 . " guibg=" . background . " ctermfg=8 ctermbg=0"
exe "hi VertSplit guifg=" . color8 . " ctermfg=8"
exe "hi Pmenu guifg=" . foreground . " guibg=" . color8 . " ctermfg=7 ctermbg=8"
exe "hi PmenuSel guifg=" . background . " guibg=" . color4 . " ctermfg=0 ctermbg=4"
exe "hi TabLine guifg=" . color8 . " guibg=" . background . " ctermfg=8 ctermbg=0"
exe "hi TabLineFill guibg=" . background . " ctermbg=0"
exe "hi TabLineSel guifg=" . foreground . " guibg=" . color8 . " ctermfg=7 ctermbg=8"
" Diff highlighting
exe "hi DiffAdd guifg=" . color2 . " guibg=" . background . " ctermfg=2 ctermbg=0"
exe "hi DiffChange guifg=" . color3 . " guibg=" . background . " ctermfg=3 ctermbg=0"
exe "hi DiffDelete guifg=" . color1 . " guibg=" . background . " ctermfg=1 ctermbg=0"
exe "hi DiffText guifg=" . color11 . " guibg=" . background . " ctermfg=11 ctermbg=0"
" Error and warning
exe "hi Error guifg=" . color1 . " guibg=" . background . " ctermfg=1 ctermbg=0"
exe "hi Warning guifg=" . color3 . " guibg=" . background . " ctermfg=3 ctermbg=0"
exe "hi ErrorMsg guifg=" . color1 . " ctermfg=1"
exe "hi WarningMsg guifg=" . color3 . " ctermfg=3"
" Folding
exe "hi Folded guifg=" . color8 . " guibg=" . background . " ctermfg=8 ctermbg=0"
exe "hi FoldColumn guifg=" . color8 . " guibg=" . background . " ctermfg=8 ctermbg=0"
" File explorer and tree colors
exe "hi Directory guifg=" . color4 . " ctermfg=4"
" Telescope colors
exe "hi TelescopeSelection guifg=" . color7 . " guibg=" . color8 . " ctermfg=7 ctermbg=8"
exe "hi TelescopeSelectionCaret guifg=" . color1 . " ctermfg=1"
exe "hi TelescopeMultiSelection guifg=" . color2 . " ctermfg=2"
exe "hi TelescopeNormal guifg=" . color7 . " ctermfg=7"
exe "hi TelescopeBorder guifg=" . color8 . " ctermfg=8"
exe "hi TelescopePromptBorder guifg=" . color4 . " ctermfg=4"
exe "hi TelescopeResultsBorder guifg=" . color8 . " ctermfg=8"
exe "hi TelescopePreviewBorder guifg=" . color8 . " ctermfg=8"
" LSP and diagnostic colors
exe "hi DiagnosticError guifg=" . color1 . " ctermfg=1"
exe "hi DiagnosticWarn guifg=" . color3 . " ctermfg=3"
exe "hi DiagnosticInfo guifg=" . color4 . " ctermfg=4"
exe "hi DiagnosticHint guifg=" . color8 . " ctermfg=8"

View File

@@ -0,0 +1,11 @@
@define-color background #171a18;
@define-color foreground #d4d5d5;
@define-color black #171a18;
@define-color red #7db085;
@define-color green #b8c082;
@define-color yellow #e0d480;
@define-color blue #7dd2b8;
@define-color magenta #b5c9a4;
@define-color cyan #c5e8c5;
@define-color white #d4d5d5;
@define-color bright-black #6b8071;

View File

@@ -1,13 +0,0 @@
## original name chromium.theme (under gruvbox theme directory)
## author: David Heinemeier Hansson
## copyright: David Heinemeier Hansson
## license: MIT
## upstream: https://github.com/basecamp/omarchy/blob/master/themes/gruvbox/chromium.theme
# # This file is copied from a theme from Omarchy (https://github.com/basecamp/omarchy).
# Licensed under the MIT License. See the original LICENSE file for details at:
# https://github.com/basecamp/omarchy/blob/master/LICENSE
##########################################################################################
40,40,40

View File

@@ -1,13 +0,0 @@
## original name chromium.theme (under osaka-jade theme directory)
## author: David Heinemeier Hansson
## copyright: David Heinemeier Hansson
## license: MIT
## upstream: https://github.com/basecamp/omarchy/blob/master/themes/osaka-jade/chromium.theme
# # This file is copied from a theme from Omarchy (https://github.com/basecamp/omarchy).
# Licensed under the MIT License. See the original LICENSE file for details at:
# https://github.com/basecamp/omarchy/blob/master/LICENSE
##########################################################################################
17,34,28

View File

@@ -10,23 +10,33 @@ sym_link() {
echo "---- configuring themes ----------------"
source src_files/.config/zsh/.zshenv
# merge in the theme-files from Omarchy which i want to use
omarchy_themes=(`find src_files/imports/themes-omarchy -mindepth 1 -maxdepth 1 -type d`)
# bring in the theme-files from Omarchy which i want to use
omarchy_themes=(`find src_files/imports/themes-omarchy-* -mindepth 1 -maxdepth 1 -type d`)
for dir in $omarchy_themes; do
target_theme_dir="$DIR_THEME_SETTINGS/$(basename $dir)"
[[ ! -d "$target_theme_dir/wallpaper" ]] && mkdir -p "$target_theme_dir/wallpaper"
dir_theme_files=(`find $dir -mindepth 1 -maxdepth 1 -type f`)
for f in $dir_theme_files; do cp -RPp $f $target_theme_dir/; done
[[ -d "$dir/backgrounds" ]] && cp -RPp $dir/backgrounds/* $target_theme_dir/wallpaper/
for f in $dir_theme_files; do cp -RPp $f $target_theme_dir/; done
done
# set links for theme-switching and set default theme
# rename imported chromium.theme files
chromium_filenames=(`find $DIR_THEME_SETTINGS -mindepth 2 -maxdepth 2 -name "chromium.theme"`)
for f in $chromium_filenames; do mv $f $(dirname $f)/brave.theme; done
# copy over custom neovim themes
nvim_themes_dir=$XDG_CONFIG_HOME/nvim/themes
[[ ! -d "$nvim_themes_dir/pina/colors" ]] && mkdir -p "$nvim_themes_dir/pina/colors"
cp -p src_files/imports/themes-omarchy-extra/pina/pina.nvim/colors/pina.vim $nvim_themes_dir/pina/colors/
# set links for theme-switching
default_theme="tokyodark"
sym_link $DIR_THEME_SETTINGS/$default_theme $DIR_THEME_SETTINGS/.current-theme
sym_link $DIR_THEME_SETTINGS/.current-theme/kitty.conf $XDG_CONFIG_HOME/kitty/theme.conf
sym_link $DIR_THEME_SETTINGS/.current-theme/tmux.conf $XDG_CONFIG_HOME/tmux/theme.conf
sym_link $DIR_THEME_SETTINGS/.current-theme/neovim.lua $XDG_CONFIG_HOME/nvim/current-theme
sym_link $DIR_THEME_SETTINGS/.current-theme/btop.theme $XDG_CONFIG_HOME/btop/themes/theme.theme
# TODO: finish theme work, set needed links per theme-set script
# once everything is in place, run theme-set with the default_theme
$DIR_SCRIPTS/theme-set $default_theme