diff --git a/README.md b/README.md index 81a7f9e..a29a618 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ #### 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.txt) +- manual settings, refer to [ref/macos-system-settings](ref/macos-system-settings.md) -------- diff --git a/copy_dotfiles.sh b/copy_dotfiles.sh index 45d3645..eb772fa 100755 --- a/copy_dotfiles.sh +++ b/copy_dotfiles.sh @@ -57,3 +57,5 @@ done # sym_link "$XDG_CONFIG_HOME/REAPER" "$HOME/Library/Application Support/REAPER" # } +# set up themes and theme-switcher +./theme_config.sh diff --git a/installs_and_builds/s06_window_manager b/installs_and_builds/s06_window_manager index b62e367..82c6310 100755 --- a/installs_and_builds/s06_window_manager +++ b/installs_and_builds/s06_window_manager @@ -2,7 +2,7 @@ linux_wm_and_utils() { # TODO: pick wm for linux; options: dwm, i3, others? - echo "linux_wm_and_utils not yet implemented" + echo "TODO: linux_wm_and_utils not yet implemented" } macos_wm_and_utils() { diff --git a/ref/macos-system-settings.md b/ref/macos-system-settings.md new file mode 100644 index 0000000..a7588e7 --- /dev/null +++ b/ref/macos-system-settings.md @@ -0,0 +1,24 @@ +# macOS system settings + +settings for manual configuration in macOS system settings app + +**NOTE:** some of these could be scripted, but for now i'm okay with this manual list + +- desktop & dock + - `click wallpaper to reveal desktop`: set to "only in stage manager" + - all `drag windows to corner/edge/place` types of options: disabled + - `rearrange spaces based on recent use`: disabled + - `when switch to app... switch to space with open windows of app`: disabled + - `displays have separate spaces`: disabled + - `show files on desktop`: enabled + - `group windows by application`: enabled + - smallest possible dock size + - dock on right side of screen + - automatically hide and show the dock: enabled +- accessibility + - display + - reduce motion: enabled + - reduce transparency: enabled + +and in general, just go through most pages/options and set them as desired + diff --git a/ref/macos-system-settings.txt b/ref/macos-system-settings.txt deleted file mode 100644 index 27bf6b3..0000000 --- a/ref/macos-system-settings.txt +++ /dev/null @@ -1,14 +0,0 @@ -// settings for manual configuration in macOS system settings app -// NOTE: some of these could be scripted, but for now i'm okay with this manual list - -- desktop/dock/mission-control: - - `click wallpaper to reveal desktop`: set to "only in stage manager" - - all `drag windows to corner/edge/place` types of options: disabled - - `rearrange spaces based on recent use`: disabled - - `when switch to app... switch to space with open windows of app`: disabled - - `displays have separate spaces`: disabled - - `show files on desktop`: enabled - - `group windows by application`: enabled - -- in general, just go through most pages/options and set them as desired - diff --git a/src_files/.config/btop/themes/theme.theme b/src_files/.config/btop/themes/theme.theme new file mode 100644 index 0000000..d790778 --- /dev/null +++ b/src_files/.config/btop/themes/theme.theme @@ -0,0 +1 @@ +placeholder, will be replaced with symlink during copy_dotfiles.sh diff --git a/src_files/.config/ghostty/config b/src_files/.config/ghostty/config index d27a2cc..2b6b67d 100644 --- a/src_files/.config/ghostty/config +++ b/src_files/.config/ghostty/config @@ -1,8 +1,17 @@ +# font stuff +font-style = Regular font-feature = -calt, -liga, -dlig +# window stuff macos-titlebar-proxy-icon = hidden +title = " " window-decoration = none -title = "" -# theme opts: tokyonight_night_manual, bamboo -theme = tokyonight_night_manual +# cursor stuff +cursor-style = "block" +cursor-style-blink = false +shell-integration-features = no-cursor + +# theme stuff +config-file = ?"~/.config/zz-this-box/themes/.current-theme/ghostty" + diff --git a/src_files/.config/ghostty/themes/bamboo b/src_files/.config/ghostty/themes/bamboo deleted file mode 100644 index f26aa99..0000000 --- a/src_files/.config/ghostty/themes/bamboo +++ /dev/null @@ -1,25 +0,0 @@ -# primary -background = #111c18 -foreground = #C1C497 -cursor-color = #D7C995 -cursor-text = #000000 - -# normal colors -palette = 0=#23372B -palette = 1=#FF5345 -palette = 2=#549e6a -palette = 3=#459451 -palette = 4=#509475 -palette = 5=#D2689C -palette = 6=#2DD5B7 -palette = 7=#F6F5DD - -# bright colors -palette = 8=#53685B -palette = 9=#db9f9c -palette = 10=#143614 -palette = 11=#E5C736 -palette = 12=#ACD4CF -palette = 13=#75bbb3 -palette = 14=#8CD3CB -palette = 15=#9eebb3 diff --git a/src_files/.config/htop/htoprc b/src_files/.config/htop/htoprc new file mode 100644 index 0000000..9ad7bf3 --- /dev/null +++ b/src_files/.config/htop/htoprc @@ -0,0 +1,54 @@ +# Beware! This file is rewritten by htop when settings are changed in the interface. +# The parser is also very primitive, and not human-friendly. +htop_version=3.4.1 +config_reader_min_version=3 +fields=0 48 17 18 38 39 2 46 47 49 1 +hide_kernel_threads=1 +hide_userland_threads=0 +hide_running_in_container=0 +shadow_other_users=0 +show_thread_names=0 +show_program_path=1 +highlight_base_name=0 +highlight_deleted_exe=1 +shadow_distribution_path_prefix=0 +highlight_megabytes=1 +highlight_threads=1 +highlight_changes=0 +highlight_changes_delay_secs=5 +find_comm_in_cmdline=1 +strip_exe_from_cmdline=1 +show_merged_command=0 +header_margin=1 +screen_tabs=1 +detailed_cpu_time=0 +cpu_count_from_one=0 +show_cpu_usage=1 +show_cpu_frequency=0 +show_cached_memory=1 +update_process_names=0 +account_guest_in_cpu_meter=0 +color_scheme=1 +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 +tree_view=0 +sort_key=47 +tree_sort_key=0 +sort_direction=-1 +tree_sort_direction=1 +tree_view_always_by_pid=0 +all_branches_collapsed=0 +screen:Main=PID USER PRIORITY NICE M_VIRT M_RESIDENT STATE PERCENT_CPU PERCENT_MEM TIME Command +.sort_key=PERCENT_MEM +.tree_sort_key=PID +.tree_view_always_by_pid=0 +.tree_view=0 +.sort_direction=-1 +.tree_sort_direction=1 +.all_branches_collapsed=0 diff --git a/src_files/.config/kitty/kitty.conf b/src_files/.config/kitty/kitty.conf new file mode 100644 index 0000000..4746cdb --- /dev/null +++ b/src_files/.config/kitty/kitty.conf @@ -0,0 +1,27 @@ +# font stuff +# font_family Regular # Average Mono, maybe? +font_size 16 +disable_ligatures always # no ligatures +symbol_map U+E000-U+F8FF none # no ligatures + +# window stuff +hide_window_decorations yes +macos_hide_window_titlebar yes +window_title_format " " +window_margin_width 0 +confirm_os_window_close 0 +show_window_resize_notification no + +# cursor stuff +cursor_shape block +cursor_blink_interval 0 +macos_custom_beam_cursor yes + +# theme stuff +# NOTE: on linux, may want background_opacity at 1.0 and let hyprland handle transparency +include ~/.config/kitty/theme.conf +background_opacity 0.95 + +# etc +enable_audio_bell no + diff --git a/src_files/.config/nvim/init.lua b/src_files/.config/nvim/init.lua index 2281c9e..714bb0a 100644 --- a/src_files/.config/nvim/init.lua +++ b/src_files/.config/nvim/init.lua @@ -4,10 +4,13 @@ local csgAutocmd = vim.api.nvim_create_autocmd require("settings") require("plugin_manager") require("key_mappings") -require("colorscheme_settings") +require("util_functions") csgAutocmd({"BufWritePre"}, { group = csGroup, pattern = "*", command = [[%s/\s\+$//e]], }) + +ThemeUpdate() + diff --git a/src_files/.config/nvim/lua/colorscheme_settings.lua b/src_files/.config/nvim/lua/colorscheme_settings.lua deleted file mode 100644 index 7d3503d..0000000 --- a/src_files/.config/nvim/lua/colorscheme_settings.lua +++ /dev/null @@ -1,17 +0,0 @@ -local defaultColorScheme = "tokyodark" - -function SetColorSchemeWrapper(scheme) - scheme = scheme or defaultColorScheme - vim.cmd.colorscheme(scheme) -end - -SetColorSchemeWrapper(defaultColorScheme) --- --- SetColorSchemeWrapper("tokyodark") --- SetColorSchemeWrapper("tokyonight-night") --- SetColorSchemeWrapper("bamboo-vulgaris") --- SetColorSchemeWrapper("rose-pine-main") --- SetColorSchemeWrapper("gruvbox") --- SetColorSchemeWrapper("slate") --- SetColorSchemeWrapper("sorbet") - diff --git a/src_files/.config/nvim/lua/key_mappings.lua b/src_files/.config/nvim/lua/key_mappings.lua index d8879a2..fb8058c 100644 --- a/src_files/.config/nvim/lua/key_mappings.lua +++ b/src_files/.config/nvim/lua/key_mappings.lua @@ -34,18 +34,15 @@ vim.keymap.set("n", "p", [["+p]]) -- search-and-replace shortcuts vim.keymap.set("n", "rw", [[:%s/\<\>//gI]]) -vim.keymap.set("n", "ra", [[:%s//g]]) +vim.keymap.set("n", "ra", [[:%s//gc]]) -- toggle expandtab and show message -vim.keymap.set("n", "tab", function() - if vim.opt.expandtab:get() then - vim.opt.expandtab = false - print("using actual tabs") - else - vim.opt.expandtab = true - print("using spaces in place of tabs") - end -end) +vim.keymap.set("n", "tab", function() ToggleTabsSpaces() end) + +-- open scratch/tmp buffers which won't prompt for file-save +vim.keymap.set("n", "ss", function() TmpBuff("enew") end) +vim.keymap.set("n", "sl", function() TmpBuff("vnew") end) +vim.keymap.set("n", "sj", function() TmpBuff("new") end) -- quicker switching between panes/splits vim.keymap.set("n", "", [[h]]) @@ -64,12 +61,16 @@ kmgAutocmd('FileType', { }) ------------------------------------------------------------------------------------------ --- quickfix TODO: learn about quickfix (:help quickfix), then set mappings +-- quickfix and location lists +-- ref: :h quickfix or :h location-list +-- NOTE: look at :h setqflist and :h vim.diagnostic.setqflist() --- vim.keymap.set("n", "", "cnextzz") --- vim.keymap.set("n", "", "cprevzz") --- vim.keymap.set("n", "k", "lnextzz") --- vim.keymap.set("n", "j", "lprevzz") +vim.keymap.set("n", "qo", "copen") +vim.keymap.set("n", "qc", "cclose") +vim.keymap.set("n", "qn", "cnext") +vim.keymap.set("n", "qp", "cprev") +vim.keymap.set("n", "ln", "lnext") +vim.keymap.set("n", "lp", "lprev") ------------------------------------------------------------------------------------------ -- debugger and debugging ui @@ -112,18 +113,29 @@ kmgAutocmd('LspAttach', { callback = function(e) local opts = { buffer = e.buf } vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts) - vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts) + vim.keymap.set("n", "h", function() vim.lsp.buf.hover() end, opts) vim.keymap.set("i", "", function() vim.lsp.buf.signature_help() end, opts) - vim.keymap.set("n", "vdv", function() vim.diagnostic.open_float() end, opts) - vim.keymap.set("n", "vdn", function() vim.diagnostic.goto_next() end, opts) - vim.keymap.set("n", "vdp", function() vim.diagnostic.goto_prev() end, opts) - vim.keymap.set("n", "vws", function() vim.lsp.buf.workspace_symbol() end, opts) - vim.keymap.set("n", "vca", function() vim.lsp.buf.code_action() end, opts) - vim.keymap.set("n", "vrl", function() vim.lsp.buf.references() end, opts) - vim.keymap.set("n", "vrn", function() vim.lsp.buf.rename() end, opts) + vim.keymap.set("n", "lv", function() vim.diagnostic.open_float() end, opts) + vim.keymap.set("n", "lq", function() vim.diagnostic.setqflist() end, opts) + -- TODO: learn what the below commands are and if i want to set keymaps for them + -- vim.keymap.set("n", "vws", function() vim.lsp.buf.workspace_symbol() end, opts) + -- vim.keymap.set("n", "vca", function() vim.lsp.buf.code_action() end, opts) + -- vim.keymap.set("n", "vrl", function() vim.lsp.buf.references() end, opts) + -- vim.keymap.set("n", "vrn", function() vim.lsp.buf.rename() end, opts) end }) +------------------------------------------------------------------------------------------ +-- git stuff + +vim.keymap.set("n", "ga", function() vim.cmd("silent !git add %") end) +vim.keymap.set("n", "gs", function() TmpBuff("new"); ReadShellCmd('git status') end) +vim.keymap.set("n", "gl", function() TmpBuff("vnew"); ReadShellCmd('git log') end) +vim.keymap.set("n", "gg", function() + TmpBuff() + ReadShellCmd('git ' .. vim.fn.input('git ')) +end) + ------------------------------------------------------------------------------------------ -- plugins @@ -138,6 +150,10 @@ vim.keymap.set('n', 'ff', tscBuiltin.find_files, { desc = 'tscope find f vim.keymap.set('n', 'fg', tscBuiltin.git_files, { desc = 'tscope find git-tracked files' }) vim.keymap.set('n', 'fb', tscBuiltin.buffers, { desc = 'tscope buffers' }) vim.keymap.set('n', 'fh', tscBuiltin.help_tags, { desc = 'tscope help tags' }) +-- TODO: maybe add commands: +-- - find files including git-ignored (have a yes and no option) +-- - grep files including git-ignored (have a yes and no option) +-- - grep which supports fuzzy-find, unless performance is horrendous -- harpoon local harpoon = require("harpoon") @@ -146,18 +162,10 @@ vim.keymap.set("n", "ha", function() harpoon:list():add() end) vim.keymap.set("n", "hA", function() harpoon:list():prepend() end) vim.keymap.set("n", "hn", function() harpoon:list():next() end) vim.keymap.set("n", "hp", function() harpoon:list():prev() end) - -vim.keymap.set("n", "hz", function() harpoon:list():select(1) end) -vim.keymap.set("n", "hx", function() harpoon:list():select(2) end) -vim.keymap.set("n", "hc", function() harpoon:list():select(3) end) -vim.keymap.set("n", "hv", function() harpoon:list():select(4) end) -vim.keymap.set("n", "hb", function() harpoon:list():select(5) end) - -vim.keymap.set("n", "hZ", function() harpoon:list():replace_at(1) end) -vim.keymap.set("n", "hX", function() harpoon:list():replace_at(2) end) -vim.keymap.set("n", "hC", function() harpoon:list():replace_at(3) end) -vim.keymap.set("n", "hV", function() harpoon:list():replace_at(4) end) -vim.keymap.set("n", "hB", function() harpoon:list():replace_at(5) end) +for i = 1, 10, 1 do + vim.keymap.set("n", "" .. (i % 10), function() harpoon:list():select(i) end) + vim.keymap.set("n", "h" .. (i % 10), function() harpoon:list():replace_at(i) end) +end -- undotree vim.keymap.set("n", "u", vim.cmd.UndotreeToggle) @@ -165,13 +173,6 @@ vim.keymap.set("n", "u", vim.cmd.UndotreeToggle) -- treesitter and treesitter-context vim.keymap.set("n", "tc", function() vim.cmd.TSContext({ "toggle" }) end) --- fugitive (git integration) -vim.keymap.set("n", "gG", vim.cmd.Git) -vim.keymap.set("n", "gg", ":Git ") -- shortcut, arbitrary git commands -vim.keymap.set("n", "ga", function() vim.cmd.Git({ "add %"}) end) -vim.keymap.set("n", "gs", function() vim.cmd.Git({ "-p status" }) end) -vim.keymap.set("n", "gc", function() vim.cmd.Git({ "commit -a" }) end) - -- conform (formatter) vim.keymap.set("n", "fmt", function() require("conform").format({ bufnr = 0 }) diff --git a/src_files/.config/nvim/lua/plugins_lazy/harpoon.lua b/src_files/.config/nvim/lua/plugins_lazy/harpoon.lua index ed152dc..ed3b58b 100644 --- a/src_files/.config/nvim/lua/plugins_lazy/harpoon.lua +++ b/src_files/.config/nvim/lua/plugins_lazy/harpoon.lua @@ -4,8 +4,12 @@ return { branch = "harpoon2", -- https://github.com/ThePrimeagen/harpoon/tree/harpoon2 dependencies = { "nvim-lua/plenary.nvim" }, config = function() - local harpoon = require("harpoon") - harpoon:setup() + require("harpoon"):setup({ + settings = { + save_on_toggle = true, + sync_on_ui_close = true, + } + }) end, }, } diff --git a/src_files/.config/nvim/lua/plugins_lazy/colorschemes.lua b/src_files/.config/nvim/lua/plugins_lazy/themes.lua similarity index 86% rename from src_files/.config/nvim/lua/plugins_lazy/colorschemes.lua rename to src_files/.config/nvim/lua/plugins_lazy/themes.lua index b549cb9..c1b3d89 100644 --- a/src_files/.config/nvim/lua/plugins_lazy/colorschemes.lua +++ b/src_files/.config/nvim/lua/plugins_lazy/themes.lua @@ -1,10 +1,7 @@ return { - -- TODO: decide which of these i won't be using, then remove from this file { "ellisonleao/gruvbox.nvim", name = "gruvbox", - -- lazy = false, - -- priority = 1000, opts = { terminal_colors = true, -- add neovim terminal colors undercurl = true, @@ -30,13 +27,13 @@ return { }, }, { + -- TODO: decide if i want rose-pine, remove from file if not "rose-pine/neovim", name = "rose-pine", }, { + -- TODO: decide if i want tokyonight, remove from file if not "folke/tokyonight.nvim", - lazy = false, - priority = 1000, opts = { style = "night", -- "night", "storm", "moon", "day" styles = { @@ -70,8 +67,4 @@ return { require('bamboo').load() end, }, - { - dir = os.getenv('DIR_GIT_PROJECTS') .. "/other/omarchy-pina-theme/pina.nvim", - name = "pina", - }, } diff --git a/src_files/.config/nvim/lua/plugins_lazy/treesitter.lua b/src_files/.config/nvim/lua/plugins_lazy/treesitter.lua index 6a35b8f..482f652 100644 --- a/src_files/.config/nvim/lua/plugins_lazy/treesitter.lua +++ b/src_files/.config/nvim/lua/plugins_lazy/treesitter.lua @@ -40,7 +40,7 @@ return { }, }) - -- TODO: decide if needed/wanted + -- TODO: decide if needed/wanted -- local treesitter_parser_config = require("nvim-treesitter.parsers").get_parser_configs() -- treesitter_parser_config.templ = { -- install_info = { @@ -53,21 +53,22 @@ return { -- vim.treesitter.language.register("templ", "templ") end }, - { - "nvim-treesitter/nvim-treesitter-context", - after = "nvim-treesitter", - opts = { - enable = false, -- can enable/disable via manual command - multiwindow = false, - max_lines = 0, -- lines the window should span; x <= 0 means no limit - min_window_height = 10, -- min window height to enable; x <= 0 means no limit - line_numbers = true, - multiline_threshold = 40, -- max lines to show for a single context - trim_scope = 'outer', -- 'inner', 'outer'; discard lines if max_lines exceeded - mode = 'cursor', -- 'cursor', 'topline'; line used to calculate context - separator = "-", -- 1 char, like '-'; only shown when >= 2 lines above - zindex = 20, -- z-index of the context window - on_attach = nil, -- (fun(buf: integer): boolean); return false to disable attaching - }, - }, + -- { + -- -- TODO: decide if needed/wanted + -- "nvim-treesitter/nvim-treesitter-context", + -- after = "nvim-treesitter", + -- opts = { + -- enable = false, -- can enable/disable via manual command + -- multiwindow = false, + -- max_lines = 0, -- lines the window should span; x <= 0 means no limit + -- min_window_height = 10, -- min window height to enable; x <= 0 means no limit + -- line_numbers = true, + -- multiline_threshold = 40, -- max lines to show for a single context + -- trim_scope = 'outer', -- 'inner', 'outer'; discard lines if max_lines exceeded + -- mode = 'cursor', -- 'cursor', 'topline'; line used to calculate context + -- separator = "-", -- 1 char, like '-'; only shown when >= 2 lines above + -- zindex = 20, -- z-index of the context window + -- on_attach = nil, -- (fun(buf: integer): boolean); return false to disable attaching + -- }, + -- }, } diff --git a/src_files/.config/nvim/lua/theme_transparency.lua b/src_files/.config/nvim/lua/theme_transparency.lua new file mode 100644 index 0000000..e7d089c --- /dev/null +++ b/src_files/.config/nvim/lua/theme_transparency.lua @@ -0,0 +1,14 @@ +local hl_properties = { + "Normal", "NormalFloat", "FloatBorder", "Pmenu", "Terminal", "EndOfBuffer", + "FoldColumn", "Folded", "SignColumn", "NormalNC", "WhichKeyFloat", "TelescopeBorder", + "TelescopeNormal", "TelescopePromptBorder", "TelescopePromptTitle", "NotifyINFOBody", + "NotifyERRORBody", "NotifyWARNBody", "NotifyTRACEBody", "NotifyDEBUGBody", + "NotifyINFOTitle", "NotifyERRORTitle", "NotifyWARNTitle", "NotifyTRACETitle", + "NotifyDEBUGTitle", "NotifyINFOBorder", "NotifyERRORBorder", "NotifyWARNBorder", + "NotifyTRACEBorder", "NotifyDEBUGBorder", +} + +for _, v in ipairs(hl_properties) do + vim.api.nvim_set_hl(0, v, { bg = "none" }) +end + diff --git a/src_files/.config/nvim/lua/util_functions.lua b/src_files/.config/nvim/lua/util_functions.lua new file mode 100644 index 0000000..774374d --- /dev/null +++ b/src_files/.config/nvim/lua/util_functions.lua @@ -0,0 +1,34 @@ +function ThemeUpdate() + local scheme_name = "tokyodark" -- default if unable to parse from file + local current_theme_file = vim.fn.stdpath("config") .. "/current-theme" + local ok, theme = pcall(dofile, current_theme_file) + if ok then + scheme_name = theme.colorscheme_name + end + vim.cmd.colorscheme(scheme_name) + pcall(dofile, vim.fn.stdpath('config') .. '/lua/theme_transparency.lua') +end + +function TmpBuff(split_opt) + local new_cmd = split_opt or "enew" + vim.cmd(new_cmd) + vim.opt_local.buftype = "nofile" + vim.opt_local.bufhidden = "hide" + vim.opt_local.swapfile = false + vim.cmd("file tmp_" .. os.date("%Y%m%d_%H%M%S")) +end + +function ReadShellCmd(command) + vim.cmd("read !" .. command) +end + +function ToggleTabsSpaces() + if vim.opt.expandtab:get() then + vim.opt.expandtab = false + print("using actual tabs") + else + vim.opt.expandtab = true + print("using spaces in place of tabs") + end +end + diff --git a/src_files/.config/obsidian/app.json b/src_files/.config/obsidian/app.json index 28bef47..33fe40d 100644 --- a/src_files/.config/obsidian/app.json +++ b/src_files/.config/obsidian/app.json @@ -13,6 +13,7 @@ "showUnsupportedFiles": true, "attachmentFolderPath": "inbox", "showInlineTitle": false, - "readableLineLength": false, + "readableLineLength": true, + "strictLineBreaks": true, "livePreview": false -} \ No newline at end of file +} diff --git a/src_files/.config/obsidian/appearance.json b/src_files/.config/obsidian/appearance.json index 0fe3f3b..86d2c20 100644 --- a/src_files/.config/obsidian/appearance.json +++ b/src_files/.config/obsidian/appearance.json @@ -2,8 +2,7 @@ "theme": "obsidian", "accentColor": "#2f930e", "baseFontSize": 18, - "enabledCssSnippets": [ - "theme-transparency" - ], - "translucency": false + "enabledCssSnippets": [], + "translucency": false, + "cssTheme": "Obsidian gruvbox" } diff --git a/src_files/.config/obsidian/hotkeys.json b/src_files/.config/obsidian/hotkeys.json index 460081d..379229b 100644 --- a/src_files/.config/obsidian/hotkeys.json +++ b/src_files/.config/obsidian/hotkeys.json @@ -1,37 +1,17 @@ { "markdown:toggle-preview": [ - { - "modifiers": [ - "Ctrl", - "Shift" - ], - "key": "R" - } + { "modifiers": [ "Ctrl", "Shift" ], "key": "R" } ], "switcher:open": [ - { - "modifiers": [ - "Ctrl" - ], - "key": "F" - } + { "modifiers": [ "Ctrl" ], "key": "F" } ], "app:toggle-left-sidebar": [ - { - "modifiers": [ - "Ctrl", - "Shift" - ], - "key": "D" - } + { "modifiers": [ "Ctrl", "Shift" ], "key": "D" } ], "app:toggle-right-sidebar": [ - { - "modifiers": [ - "Ctrl", - "Shift" - ], - "key": "F" - } + { "modifiers": [ "Ctrl", "Shift" ], "key": "F" } + ], + "file-explorer:reveal-active-file": [ + { "modifiers": [ "Ctrl", "Shift" ], "key": "N" } ] } diff --git a/src_files/.config/skhd/skhdrc b/src_files/.config/skhd/skhdrc index 20b458a..01c4642 100755 --- a/src_files/.config/skhd/skhdrc +++ b/src_files/.config/skhd/skhdrc @@ -1,10 +1,5 @@ -# list of built-in keywords at https://github.com/koekeishiya/skhd/issues/1 -# staring file was at /opt/homebrew/opt/yabai/share/yabai/examples -# notes, stacks: https://github.com/koekeishiya/yabai/issues/203#issuecomment-650642142 +# ref: built-in keywords, https://github.com/koekeishiya/skhd/issues/1 -########################################################################################## -# key bindings for general use - -ctrl - h : $(which skhd) -k "ctrl + shift - tab" -ctrl - l : $(which skhd) -k "ctrl - tab" +ctrl + shift - h : $(which skhd) -k "ctrl + shift - tab" +ctrl + shift - l : $(which skhd) -k "ctrl - tab" diff --git a/src_files/.config/tmux/theme.conf b/src_files/.config/tmux/theme.conf new file mode 120000 index 0000000..1d70802 --- /dev/null +++ b/src_files/.config/tmux/theme.conf @@ -0,0 +1 @@ +/Users/david/.config/z-this-box/themes/.current-theme/tmux.conf \ No newline at end of file diff --git a/src_files/.config/tmux/tmux.conf b/src_files/.config/tmux/tmux.conf index c07ec66..f2dcc47 100644 --- a/src_files/.config/tmux/tmux.conf +++ b/src_files/.config/tmux/tmux.conf @@ -4,7 +4,7 @@ set -s escape-time 0 unbind C-b set-option -g prefix C-Space bind-key C-Space send-prefix -set -g status-style 'bg=#111111 fg=#22cc00' +source-file "$XDG_CONFIG_HOME/tmux/theme.conf" set -g base-index 0 # unbind keys diff --git a/src_files/.config/zsh/.zshenv b/src_files/.config/zsh/.zshenv index f30cc3f..788fd1a 100644 --- a/src_files/.config/zsh/.zshenv +++ b/src_files/.config/zsh/.zshenv @@ -1,7 +1,7 @@ # default programs export BROWSER='brave' export EDITOR='nvim' -export TERMINAL='ghostty' +export TERMINAL='kitty' # env vars used for my organization structure export DIR_HOME_BOX="$HOME/dbox" @@ -27,7 +27,7 @@ export XDG_DATA_DIRS="/usr/local/share:/usr/share" #export XDG_CONFIG_DIRS="/etc/xdg" # TODO: does this work on macOS? # directory for theme/style stuff -export DIR_THEME_SETTINGS="$XDG_CONFIG_HOME/this-box-theme" +export DIR_THEME_SETTINGS="$XDG_CONFIG_HOME/zz-this-box/themes" # zsh export ZDOTDIR="$XDG_CONFIG_HOME/zsh" # may already be set, set anyway @@ -39,10 +39,10 @@ export GIT_EDITOR="$EDITOR" export OBSIDIAN_WORKSPACES_TO_CONFIGURE=("$DIR_NOTES") # reaper -DIR_REAPER_PORTABLE_SHARED="$DIR_USER_OPT/reaper-portable/shared" -DIR_REAPER_PORTABLE_LINUX="$DIR_USER_OPT/reaper-portable/linux" -DIR_REAPER_PORTABLE_MACOS="$DIR_USER_OPT/reaper-portable/macos" +export DIR_REAPER_PORTABLE_SHARED="$DIR_USER_OPT/reaper-portable/shared" +export DIR_REAPER_PORTABLE_LINUX="$DIR_USER_OPT/reaper-portable/linux" +export DIR_REAPER_PORTABLE_MACOS="$DIR_USER_OPT/reaper-portable/macos" # clean-up of home dir -export __CF_USER_TEXT_ENCODING="0x0:0x0" +export __CF_USER_TEXT_ENCODING="0x0:0x0" # TODO: does this actually accomplish anything? diff --git a/src_files/.config/zsh/.zshrc b/src_files/.config/zsh/.zshrc index f298b07..0ea0647 100644 --- a/src_files/.config/zsh/.zshrc +++ b/src_files/.config/zsh/.zshrc @@ -12,8 +12,9 @@ alias cl='clear; ' alias cls='clear;ls' # shortcuts for executables -alias nv='nvim' alias n='nvim' +alias nv='nvim' +alias ths='theme-set' alias tms='tmux-session-init' # executable overrides diff --git a/src_files/.config/zz-this-box/themes/gruvbox/neovim.lua b/src_files/.config/zz-this-box/themes/gruvbox/neovim.lua new file mode 100644 index 0000000..98eceea --- /dev/null +++ b/src_files/.config/zz-this-box/themes/gruvbox/neovim.lua @@ -0,0 +1,3 @@ +return { + colorscheme_name = 'gruvbox' +} diff --git a/src_files/.config/zz-this-box/themes/osaka-jade/neovim.lua b/src_files/.config/zz-this-box/themes/osaka-jade/neovim.lua new file mode 100644 index 0000000..05d707e --- /dev/null +++ b/src_files/.config/zz-this-box/themes/osaka-jade/neovim.lua @@ -0,0 +1,3 @@ +return { + colorscheme_name = 'bamboo' +} diff --git a/src_files/.config/zz-this-box/themes/osaka-jade/tmux.conf b/src_files/.config/zz-this-box/themes/osaka-jade/tmux.conf new file mode 100644 index 0000000..478b537 --- /dev/null +++ b/src_files/.config/zz-this-box/themes/osaka-jade/tmux.conf @@ -0,0 +1,5 @@ +set -g status-style 'bg=#549E6A fg=#000000' + +# transparency +set-window-option -g window-style bg=default +# set-option -g status-style bg=default diff --git a/src_files/.config/zz-this-box/themes/tokyodark/btop.theme b/src_files/.config/zz-this-box/themes/tokyodark/btop.theme new file mode 100644 index 0000000..e69de29 diff --git a/src_files/.config/zz-this-box/themes/tokyodark/kitty.conf b/src_files/.config/zz-this-box/themes/tokyodark/kitty.conf new file mode 100644 index 0000000..0486599 --- /dev/null +++ b/src_files/.config/zz-this-box/themes/tokyodark/kitty.conf @@ -0,0 +1,48 @@ +# TODO: this is currently just a copy of tokyonight, switch over to tokyodark +## name: Tokyo Night +## license: MIT +## author: Folke Lemaitre +## upstream: https://github.com/folke/tokyonight.nvim/raw/main/extras/kitty/tokyonight_night.conf + +background #1a1b26 +foreground #c0caf5 +selection_background #283457 +selection_foreground #c0caf5 +url_color #73daca +cursor #c0caf5 +cursor_text_color #1a1b26 + +# Tabs +active_tab_background #7aa2f7 +active_tab_foreground #16161e +inactive_tab_background #292e42 +inactive_tab_foreground #545c7e +#tab_bar_background #15161e + +# Windows +active_border_color #7aa2f7 +inactive_border_color #292e42 + +# normal +color0 #15161e +color1 #f7768e +color2 #9ece6a +color3 #e0af68 +color4 #7aa2f7 +color5 #bb9af7 +color6 #7dcfff +color7 #a9b1d6 + +# bright +color8 #414868 +color9 #f7768e +color10 #9ece6a +color11 #e0af68 +color12 #7aa2f7 +color13 #bb9af7 +color14 #7dcfff +color15 #c0caf5 + +# extended colors +color16 #ff9e64 +color17 #db4b4b diff --git a/src_files/.config/zz-this-box/themes/tokyodark/neovim.lua b/src_files/.config/zz-this-box/themes/tokyodark/neovim.lua new file mode 100644 index 0000000..a238835 --- /dev/null +++ b/src_files/.config/zz-this-box/themes/tokyodark/neovim.lua @@ -0,0 +1,3 @@ +return { + colorscheme_name = 'tokyodark' +} diff --git a/src_files/.config/zz-this-box/themes/tokyodark/tmux.conf b/src_files/.config/zz-this-box/themes/tokyodark/tmux.conf new file mode 100644 index 0000000..8b039e1 --- /dev/null +++ b/src_files/.config/zz-this-box/themes/tokyodark/tmux.conf @@ -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 diff --git a/src_files/.config/zz-this-box/themes/tokyodark/wallpaper/01-sky-harbor-studios.jpg b/src_files/.config/zz-this-box/themes/tokyodark/wallpaper/01-sky-harbor-studios.jpg new file mode 100644 index 0000000..731165f Binary files /dev/null and b/src_files/.config/zz-this-box/themes/tokyodark/wallpaper/01-sky-harbor-studios.jpg differ diff --git a/src_files/.local/scripts/theme-set b/src_files/.local/scripts/theme-set new file mode 100755 index 0000000..3ba2dcb --- /dev/null +++ b/src_files/.local/scripts/theme-set @@ -0,0 +1,34 @@ +#!/bin/zsh + +# This script is modeled after Omarchy's omarchy-theme-set script and my theme-switching +# approach is modeled after Omarchy's theme-switching approach. +# (See: https://github.com/basecamp/omarchy) +# Omarchy is licensed under the MIT License. See the original LICENSE file for details at: +# https://github.com/basecamp/omarchy/blob/master/LICENSE +# Copyright (c) David Heinemeier Hansson + +########################################################################################## + +[[ ! -z $1 ]] && raw_target="$1" || + raw_target=$( + find $DIR_THEME_SETTINGS -mindepth 1 -maxdepth 1 -type d -exec basename -- {} \; | + fzf + ) + +target_theme="$DIR_THEME_SETTINGS/$(echo $raw_target | tr ' ' '-' | tr '[:upper:]' '[:lower:]')" +[[ ! -d "$target_theme" ]] && echo "theme not found: $target_theme" && exit 1 + +ln -sF "$target_theme" $DIR_THEME_SETTINGS/.current-theme + +theme-update-terminal +theme-update-tmux +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 & diff --git a/src_files/.local/scripts/theme-update-neovim b/src_files/.local/scripts/theme-update-neovim new file mode 100755 index 0000000..f0302b9 --- /dev/null +++ b/src_files/.local/scripts/theme-update-neovim @@ -0,0 +1,10 @@ +#!/bin/zsh + +nvim_stdpath_run=$(dirname $(nvim -l <(echo "vim.cmd.echo('stdpath(\"run\")')") > /dev/stdout 2>&1)) +find "$nvim_stdpath_run" -type s -name "nvim*" 2> /dev/null | +while IFS= read -r nvim_server; do + timeout 2s nvim --server "$nvim_server" \ + --remote-expr "execute('lua ThemeUpdate()')" \ + > /dev/null 2>&1 +done + diff --git a/src_files/.local/scripts/theme-update-system-monitor b/src_files/.local/scripts/theme-update-system-monitor new file mode 100755 index 0000000..ba4ef30 --- /dev/null +++ b/src_files/.local/scripts/theme-update-system-monitor @@ -0,0 +1,7 @@ +#!/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 diff --git a/src_files/.local/scripts/theme-update-terminal b/src_files/.local/scripts/theme-update-terminal new file mode 100755 index 0000000..e9135cf --- /dev/null +++ b/src_files/.local/scripts/theme-update-terminal @@ -0,0 +1,18 @@ +#!/bin/zsh + +theme_update_havoc() { + echo "TODO: theme_update_havoc not yet implemented" +} + +theme_update_kitty() { + killall -SIGUSR1 kitty +} + +case "$TERMINAL" in + ("havoc") + theme_update_havoc + ;; + ("kitty") + theme_update_kitty + ;; +esac diff --git a/src_files/.local/scripts/theme-update-tmux b/src_files/.local/scripts/theme-update-tmux new file mode 100755 index 0000000..02045c9 --- /dev/null +++ b/src_files/.local/scripts/theme-update-tmux @@ -0,0 +1,3 @@ +#!/bin/zsh + +tmux source-file $DIR_THEME_SETTINGS/.current-theme/tmux.conf diff --git a/src_files/.local/scripts/theme-update-wallpaper b/src_files/.local/scripts/theme-update-wallpaper new file mode 100755 index 0000000..a0f79bb --- /dev/null +++ b/src_files/.local/scripts/theme-update-wallpaper @@ -0,0 +1,26 @@ +#!/bin/zsh + + +set_wallpaper_linux() { + echo "TODO: theme_update_wallpaper_linux not yet implemented" +} + +set_wallpaper_macos() { + # after back and forth with gpt and failing approaches, landing on this swift snippet + swift <(cat << NESTED_SWIFT_BLOCK + import AppKit + let url = URL(fileURLWithPath: "$1") + try NSWorkspace.shared.setDesktopImageURL(url, for: NSScreen.main!, options: [:]) +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} +[[ -z $target_wallpaper ]] && exit 0 + +[[ "$OSTYPE" = *"darwin"* ]] && set_wallpaper_macos $target_wallpaper || + set_wallpaper_linux $target_wallpaper diff --git a/src_files/imports/themes-omarchy/LICENSE b/src_files/imports/themes-omarchy/LICENSE new file mode 100644 index 0000000..7be9ac6 --- /dev/null +++ b/src_files/imports/themes-omarchy/LICENSE @@ -0,0 +1,21 @@ +Copyright (c) David Heinemeier Hansson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/src_files/imports/themes-omarchy/gruvbox/backgrounds/01-grubox-bg.jpg b/src_files/imports/themes-omarchy/gruvbox/backgrounds/01-grubox-bg.jpg new file mode 100644 index 0000000..fd31869 Binary files /dev/null and b/src_files/imports/themes-omarchy/gruvbox/backgrounds/01-grubox-bg.jpg differ diff --git a/src_files/imports/themes-omarchy/gruvbox/brave.theme b/src_files/imports/themes-omarchy/gruvbox/brave.theme new file mode 100644 index 0000000..d002f5f --- /dev/null +++ b/src_files/imports/themes-omarchy/gruvbox/brave.theme @@ -0,0 +1,13 @@ +## 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 diff --git a/src_files/imports/themes-omarchy/gruvbox/hyprland.conf b/src_files/imports/themes-omarchy/gruvbox/hyprland.conf new file mode 100644 index 0000000..ce5e603 --- /dev/null +++ b/src_files/imports/themes-omarchy/gruvbox/hyprland.conf @@ -0,0 +1,21 @@ +## name hyprland.conf (under gruvbox theme directory) +## author: David Heinemeier Hansson +## copyright: David Heinemeier Hansson +## 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). +# Licensed under the MIT License. See the original LICENSE file for details at: +# https://github.com/basecamp/omarchy/blob/master/LICENSE + +########################################################################################## + +$activeBorderColor = rgb(a89984) + +general { + col.active_border = $activeBorderColor +} + +group { + col.border_active = $activeBorderColor +} diff --git a/src_files/imports/themes-omarchy/gruvbox/hyprlock.conf b/src_files/imports/themes-omarchy/gruvbox/hyprlock.conf new file mode 100644 index 0000000..4234d53 --- /dev/null +++ b/src_files/imports/themes-omarchy/gruvbox/hyprlock.conf @@ -0,0 +1,17 @@ +## name hyprlock.conf (under gruvbox theme directory) +## authors: David Heinemeier Hansson, Naparajith T L (github: DrInfinite) +## copyright: David Heinemeier Hansson +## 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). +# Licensed under the MIT License. See the original LICENSE file for details at: +# https://github.com/basecamp/omarchy/blob/master/LICENSE + +########################################################################################## + +$color = rgba(40,40,40,1.0) +$inner_color = rgba(40,40,40,0.8) +$outer_color = rgba(212,190,152,1.0) +$font_color = rgba(212,190,152,1.0) +$check_color = rgba(214, 153, 92, 1.0) diff --git a/src_files/imports/themes-omarchy/gruvbox/kitty.conf b/src_files/imports/themes-omarchy/gruvbox/kitty.conf new file mode 100644 index 0000000..415a26a --- /dev/null +++ b/src_files/imports/themes-omarchy/gruvbox/kitty.conf @@ -0,0 +1,42 @@ +## name: Gruvbox Dark +## author: Pavel Pertsev +## license: MIT/X11 +## upstream: https://raw.githubusercontent.com/gruvbox-community/gruvbox-contrib/master/kitty/gruvbox-dark.conf + +########################################################################################## + +selection_foreground #ebdbb2 +selection_background #d65d0e + +background #282828 +foreground #ebdbb2 + +color0 #3c3836 +color1 #cc241d +color2 #98971a +color3 #d79921 +color4 #458588 +color5 #b16286 +color6 #689d6a +color7 #a89984 +color8 #928374 +color9 #fb4934 +color10 #b8bb26 +color11 #fabd2f +color12 #83a598 +color13 #d3869b +color14 #8ec07c +color15 #fbf1c7 + +cursor #bdae93 +cursor_text_color #665c54 + +url_color #458588 + +# START_AUTOGENERATED_TAB_STYLE +# Feel free to update these colors manually and remove these comments. +active_tab_foreground #eeeeee +active_tab_background #d65d0e +inactive_tab_foreground #ebdbb2 +inactive_tab_background #202020 +# END_AUTOGENERATED_TAB_STYLE diff --git a/src_files/imports/themes-omarchy/gruvbox/waybar.css b/src_files/imports/themes-omarchy/gruvbox/waybar.css new file mode 100644 index 0000000..804840f --- /dev/null +++ b/src_files/imports/themes-omarchy/gruvbox/waybar.css @@ -0,0 +1,14 @@ +/* + name hyprlock.conf (under gruvbox theme directory) + authors: David Heinemeier Hansson, Naparajith T L (github: DrInfinite), and Ryan Hughes + copyright: David Heinemeier Hansson + license: MIT + upstream: https://github.com/basecamp/omarchy/blob/master/themes/gruvbox/waybar.css + + 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 +*/ + +@define-color foreground #d4be98; +@define-color background #282828; diff --git a/src_files/imports/themes-omarchy/osaka-jade/backgrounds/01-osaka-jade-bg.jpg b/src_files/imports/themes-omarchy/osaka-jade/backgrounds/01-osaka-jade-bg.jpg new file mode 100644 index 0000000..be7d857 Binary files /dev/null and b/src_files/imports/themes-omarchy/osaka-jade/backgrounds/01-osaka-jade-bg.jpg differ diff --git a/src_files/imports/themes-omarchy/osaka-jade/backgrounds/02-osaka-jade-bg.jpg b/src_files/imports/themes-omarchy/osaka-jade/backgrounds/02-osaka-jade-bg.jpg new file mode 100644 index 0000000..9b97956 Binary files /dev/null and b/src_files/imports/themes-omarchy/osaka-jade/backgrounds/02-osaka-jade-bg.jpg differ diff --git a/src_files/imports/themes-omarchy/osaka-jade/brave.theme b/src_files/imports/themes-omarchy/osaka-jade/brave.theme new file mode 100644 index 0000000..3f99665 --- /dev/null +++ b/src_files/imports/themes-omarchy/osaka-jade/brave.theme @@ -0,0 +1,13 @@ +## 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 diff --git a/src_files/imports/themes-omarchy/osaka-jade/hyprland.conf b/src_files/imports/themes-omarchy/osaka-jade/hyprland.conf new file mode 100644 index 0000000..24a236a --- /dev/null +++ b/src_files/imports/themes-omarchy/osaka-jade/hyprland.conf @@ -0,0 +1,21 @@ +## name hyprland.conf (under osaka-jade theme directory) +## authors: David Heinemeier Hansson and Justin Lowry +## copyright: David Heinemeier Hansson +## 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). +# Licensed under the MIT License. See the original LICENSE file for details at: +# https://github.com/basecamp/omarchy/blob/master/LICENSE + +########################################################################################## + +$activeBorderColor = rgb(71CEAD) + +general { + col.active_border = $activeBorderColor +} + +group { + col.border_active = $activeBorderColor +} diff --git a/src_files/imports/themes-omarchy/osaka-jade/hyprlock.conf b/src_files/imports/themes-omarchy/osaka-jade/hyprlock.conf new file mode 100644 index 0000000..840ae94 --- /dev/null +++ b/src_files/imports/themes-omarchy/osaka-jade/hyprlock.conf @@ -0,0 +1,17 @@ +## name hyprlock.conf (under osaka-jade theme directory) +## authors: David Heinemeier Hansson and Justin Lowry +## copyright: David Heinemeier Hansson +## 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). +# Licensed under the MIT License. See the original LICENSE file for details at: +# https://github.com/basecamp/omarchy/blob/master/LICENSE + +########################################################################################## + +$color = rgb(7, 40, 32) +$inner_color = rgb(7, 40, 32) +$outer_color = rgb(167, 172, 132) +$font_color = rgb(167, 172, 132) +$check_color = rgb(131, 162, 152) diff --git a/src_files/imports/themes-omarchy/osaka-jade/kitty.conf b/src_files/imports/themes-omarchy/osaka-jade/kitty.conf new file mode 100644 index 0000000..044378d --- /dev/null +++ b/src_files/imports/themes-omarchy/osaka-jade/kitty.conf @@ -0,0 +1,55 @@ +## name :osaka-jade (kitty.conf file under osaka-jade theme dir) +## authors: David Heinemeier Hansson, Amit (github: vyrx-dev), and Justin Lowry +## copyright: David Heinemeier Hansson +## 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). +# Licensed under the MIT License. See the original LICENSE file for details at: +# https://github.com/basecamp/omarchy/blob/master/LICENSE + +########################################################################################## + +foreground #C1C497 +background #111C18 +selection_foreground #111C18 +selection_background #C1C497 +cursor #D7C995 +cursor_text_color #000000 +active_tab_foreground #111C18 +active_tab_background #C1C497 +inactive_tab_foreground #C1C497 +inactive_tab_background #111C18 + +# black +color0 #23372B +color8 #53685B + +# red +color1 #FF5345 +color9 #DB9F9C + +# green +color2 #549E6A +color10 #63b07a + +# yellow +color3 #459451 +color11 #E5C736 + +# blue +color4 #509475 +color12 #ACD4CF + +# magenta +color5 #D2689C +color13 #75BBB3 + +# cyan +color6 #2DD5B7 +color14 #8CD3CB + +# white +color7 #F6F5DD +color15 #9EEBB3 + diff --git a/src_files/imports/themes-omarchy/osaka-jade/waybar.css b/src_files/imports/themes-omarchy/osaka-jade/waybar.css new file mode 100644 index 0000000..220cfd6 --- /dev/null +++ b/src_files/imports/themes-omarchy/osaka-jade/waybar.css @@ -0,0 +1,15 @@ +/* + name hyprlock.conf (under osaka-jade theme directory) + authors: David Heinemeier Hansson and Justin Lowry + copyright: David Heinemeier Hansson + license: MIT + upstream: https://github.com/basecamp/omarchy/blob/master/themes/osaka-jade/waybar.css + + 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 +*/ + + +@define-color foreground #e6d8ba; +@define-color background #11221C; diff --git a/theme_config.sh b/theme_config.sh new file mode 100755 index 0000000..bb8829b --- /dev/null +++ b/theme_config.sh @@ -0,0 +1,32 @@ +#!/bin/zsh + +sym_link() { + [[ ! -e "$1" ]] && echo "skipping link, target does not exist: $1" && return + [[ -h "$2" ]] && rm $2 + [[ -f "$2" || -d "$2" ]] && rm -rf $2 + ln -s $1 $2 +} + +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`) +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/ +done + +# set links for theme-switching and set default theme +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 +$DIR_SCRIPTS/theme-set $default_theme +