From 41f569f38e2736722910bd715a925ceb333c7cde Mon Sep 17 00:00:00 2001 From: Stephan Date: Fri, 28 Nov 2025 14:01:17 -0800 Subject: [PATCH] added rofi theme to waybar; added rofi; added nvim --- nvim/colors/theme.lua | 148 ++++++++++++++++++++++++++++++++++++++++++ nvim/init.lua | 2 +- rofi/config.rasi | 135 ++++++++++++++++++++++++++++++++++++++ rofi/theme.rasi | 80 +++++++++++------------ 4 files changed, 322 insertions(+), 43 deletions(-) create mode 100644 nvim/colors/theme.lua create mode 100644 rofi/config.rasi diff --git a/nvim/colors/theme.lua b/nvim/colors/theme.lua new file mode 100644 index 0000000..a8ddcb3 --- /dev/null +++ b/nvim/colors/theme.lua @@ -0,0 +1,148 @@ +-- Waybar Theme - Warm Muted with Orange Accents +-- Save this as: ~/.config/nvim/colors/waybar.lua + +local colors = { + bg0_h = "#1c1c1f", + bg0 = "#1c1c1f", + bg1 = "#252529", + bg2 = "#2d2d33", + bg3 = "#35353d", + bg4 = "#3d3d47", + gray = "#6d6860", + fg4 = "#7d7972", + fg3 = "#8a8580", + fg2 = "#ff9100", + fg1 = "#b39a76", + fg0 = "#c9b08a", + red = "#ff0000", + orange = "#ff9100", + white = "#ffffff", + black = "#000000", +} + +-- Clear existing highlights +vim.cmd("highlight clear") +if vim.fn.exists("syntax_on") then + vim.cmd("syntax reset") +end + +vim.o.background = "dark" +vim.g.colors_name = "theme" + +local function hi(group, opts) + local cmd = "highlight " .. group + if opts.fg then cmd = cmd .. " guifg=" .. opts.fg end + if opts.bg then cmd = cmd .. " guibg=" .. opts.bg end + if opts.style then cmd = cmd .. " gui=" .. opts.style end + if opts.sp then cmd = cmd .. " guisp=" .. opts.sp end + vim.cmd(cmd) +end + +-- Editor +hi("Normal", { fg = colors.fg1, bg = colors.bg0_h }) +hi("NormalFloat", { fg = colors.fg1, bg = colors.bg1 }) +hi("ColorColumn", { bg = colors.bg1 }) +hi("Cursor", { fg = colors.bg0, bg = colors.fg1 }) +hi("CursorLine", { bg = colors.bg1 }) +hi("CursorColumn", { bg = colors.bg1 }) +hi("LineNr", { fg = colors.fg4, bg = colors.bg0_h }) +hi("CursorLineNr", { fg = colors.orange, bg = colors.bg1, style = "bold" }) +hi("SignColumn", { fg = colors.fg4, bg = colors.bg0_h }) +hi("VertSplit", { fg = colors.bg4, bg = colors.bg0 }) +hi("Folded", { fg = colors.gray, bg = colors.bg1 }) +hi("FoldColumn", { fg = colors.gray, bg = colors.bg0_h }) + +-- Statusline +hi("StatusLine", { fg = colors.fg2, bg = colors.bg2, style = "bold" }) +hi("StatusLineNC", { fg = colors.fg4, bg = colors.bg1 }) + +-- Search +hi("Search", { fg = colors.black, bg = colors.orange }) +hi("IncSearch", { fg = colors.black, bg = colors.orange, style = "bold" }) +hi("Visual", { bg = colors.bg3 }) +hi("VisualNOS", { bg = colors.bg3 }) + +-- Pmenu (popup menu) +hi("Pmenu", { fg = colors.fg1, bg = colors.bg1 }) +hi("PmenuSel", { fg = colors.black, bg = colors.orange, style = "bold" }) +hi("PmenuSbar", { bg = colors.bg2 }) +hi("PmenuThumb", { bg = colors.fg4 }) + +-- Tabs +hi("TabLine", { fg = colors.fg4, bg = colors.bg2 }) +hi("TabLineFill", { fg = colors.fg4, bg = colors.bg1 }) +hi("TabLineSel", { fg = colors.orange, bg = colors.bg3, style = "bold" }) + +-- Syntax +hi("Comment", { fg = colors.gray, style = "italic" }) +hi("Constant", { fg = colors.fg0 }) +hi("String", { fg = colors.fg1 }) +hi("Character", { fg = colors.fg1 }) +hi("Number", { fg = colors.fg0 }) +hi("Boolean", { fg = colors.fg0 }) +hi("Float", { fg = colors.fg0 }) + +hi("Identifier", { fg = colors.fg1 }) +hi("Function", { fg = colors.orange, style = "bold" }) + +hi("Statement", { fg = colors.orange, style = "bold" }) +hi("Conditional", { fg = colors.orange }) +hi("Repeat", { fg = colors.orange }) +hi("Label", { fg = colors.orange }) +hi("Operator", { fg = colors.fg2 }) +hi("Keyword", { fg = colors.orange }) +hi("Exception", { fg = colors.orange }) + +hi("PreProc", { fg = colors.fg2 }) +hi("Include", { fg = colors.fg2 }) +hi("Define", { fg = colors.fg2 }) +hi("Macro", { fg = colors.fg2 }) +hi("PreCondit", { fg = colors.fg2 }) + +hi("Type", { fg = colors.fg2 }) +hi("StorageClass", { fg = colors.orange }) +hi("Structure", { fg = colors.fg2 }) +hi("Typedef", { fg = colors.fg2 }) + +hi("Special", { fg = colors.orange }) +hi("SpecialChar", { fg = colors.orange }) +hi("Tag", { fg = colors.orange }) +hi("Delimiter", { fg = colors.fg3 }) +hi("SpecialComment", { fg = colors.gray, style = "italic" }) +hi("Debug", { fg = colors.red }) + +hi("Underlined", { fg = colors.fg2, style = "underline" }) +hi("Error", { fg = colors.red, bg = colors.bg0, style = "bold" }) +hi("Todo", { fg = colors.orange, bg = colors.bg0, style = "bold" }) + +-- Diagnostics +hi("DiagnosticError", { fg = colors.red }) +hi("DiagnosticWarn", { fg = colors.orange }) +hi("DiagnosticInfo", { fg = colors.fg2 }) +hi("DiagnosticHint", { fg = colors.fg1 }) + +-- Git signs +hi("DiffAdd", { fg = colors.fg1, bg = colors.bg2 }) +hi("DiffChange", { fg = colors.orange, bg = colors.bg2 }) +hi("DiffDelete", { fg = colors.red, bg = colors.bg2 }) +hi("DiffText", { fg = colors.orange, bg = colors.bg3, style = "bold" }) + +-- Telescope (if installed) +hi("TelescopeBorder", { fg = colors.fg2, bg = colors.bg0 }) +hi("TelescopePromptBorder", { fg = colors.orange, bg = colors.bg0 }) +hi("TelescopePromptTitle", { fg = colors.black, bg = colors.orange, style = "bold" }) +hi("TelescopeSelection", { fg = colors.fg1, bg = colors.bg2, style = "bold" }) +hi("TelescopeMatching", { fg = colors.orange, style = "bold" }) + +-- NvimTree (if installed) +hi("NvimTreeFolderName", { fg = colors.fg1 }) +hi("NvimTreeFolderIcon", { fg = colors.orange }) +hi("NvimTreeOpenedFolderName", { fg = colors.orange, style = "bold" }) +hi("NvimTreeRootFolder", { fg = colors.orange, style = "bold" }) +hi("NvimTreeSpecialFile", { fg = colors.orange }) +hi("NvimTreeNormal", { fg = colors.fg1, bg = colors.bg0 }) + +-- LSP +hi("LspReferenceText", { bg = colors.bg2 }) +hi("LspReferenceRead", { bg = colors.bg2 }) +hi("LspReferenceWrite", { bg = colors.bg2 }) diff --git a/nvim/init.lua b/nvim/init.lua index 9e9cba2..11087e4 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -13,4 +13,4 @@ vim.opt.rtp:prepend(lazypath) require("vim-options") require("lazy").setup("plugins") - +vim.cmd('colorscheme theme') diff --git a/rofi/config.rasi b/rofi/config.rasi new file mode 100644 index 0000000..9118622 --- /dev/null +++ b/rofi/config.rasi @@ -0,0 +1,135 @@ +configuration { + modi: "drun"; + show-icons: true; + icon-theme: "Papirus-Dark"; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + hide-scrollbar: true; + sidebar-mode: false; + terminal: "kitty"; + font: "CaskaydiaCove Nerd Font Mono 11"; +} + +* { + background: rgba(0, 0, 0, 0); + background-alt: rgba(0, 0, 0, 0); + foreground: rgba(255, 255, 255, 0.97); + selected: rgba(255, 255, 255, 0.10); + active: rgba(255, 255, 255, 0.10); + urgent: rgba(255, 85, 85, 0.67); + + border-colour: rgba(255, 255, 255, 0.10); + separatorcolor: transparent; + background-color: transparent; + text-color: @foreground; +} + +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 400px; + border-radius: 10px; + cursor: "default"; + background-color: rgba(20, 20, 20, 0.70); + border: 1px solid; + border-color: rgba(255, 255, 255, 0.10); +} + +mainbox { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 16px; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +inputbar { + enabled: true; + spacing: 10px; + margin: 0px 0px 12px 0px; + padding: 10px 14px; + border-radius: 8px; + background-color: rgba(255, 255, 255, 0.10); + border: 1px solid; + border-color: rgba(255, 255, 255, 0.15); + text-color: @foreground; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: transparent; + text-color: inherit; +} + +entry { + enabled: true; + background-color: transparent; + text-color: inherit; + cursor: text; + placeholder: "Search apps..."; + placeholder-color: rgba(255, 255, 255, 0.50); +} + +listview { + enabled: true; + columns: 1; + lines: 5; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + spacing: 3px; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} + +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 8px 10px; + border-radius: 6px; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} + +element normal.normal { + background-color: transparent; + text-color: @foreground; +} + +element selected.normal { + background-color: rgba(255, 255, 255, 0.15); + text-color: @foreground; +} + +element alternate.normal { + background-color: transparent; + text-color: @foreground; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 28px; + cursor: inherit; +} + +element-text { + background-color: transparent; + text-color: inherit; + highlight: bold; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} diff --git a/rofi/theme.rasi b/rofi/theme.rasi index 044f436..b1314c0 100644 --- a/rofi/theme.rasi +++ b/rofi/theme.rasi @@ -1,45 +1,41 @@ -/* Catppuccin Macchiato */ +/* Custom Theme - Warm Muted with Orange Accents */ * { - rosewater: #f4dbd6; - flamingo: #f0c6c6; - pink: #f5bde6; - mauve: #c6a0f6; - red: #ed8796; - maroon: #ee99a0; - peach: #f5a97f; - yellow: #eed49f; - green: #a6da95; - teal: #8bd5ca; - sky: #91d7e3; - sapphire: #7dc4e4; - blue: #8aadf4; - lavender: #b7bdf8; - text: #cad3f5; - subtext1: #b8c0e0; - subtext0: #a5adcb; - overlay2: #939ab7; - overlay1: #8087a2; - overlay0: #6e738d; - surface2: #5b6078; - surface1: #494d64; - surface0: #363a4f; - base: #24273a; - mantle: #1e2030; - crust: #181926; -} - -/* - bg - background - fg - foreground - br - border -*/ - -* { - main-bg: @crust; - main-fg: @text; - main-br: @overlay2; - input-bg: @mantle; - select-bg: @overlay2; - select-fg: @crust; + /* Base colors from Waybar */ + bg0-h: #1c1c1f; + bg0: #1c1c1f; + bg1: #252529; + bg2: #2d2d33; + bg3: #35353d; + bg4: #3d3d47; + gray: #6d6860; + fg4: #7d7972; + fg3: #8a8580; + fg2: #ff9100; + fg1: #b39a76; + fg0: #c9b08a; + red: #ff0000; + bright-red: #ff0000; + green: #ff9100; + bright-green: #b39a76; + yellow: #ff9100; + bright-yellow: #ff9100; + blue: #ff9100; + bright-blue: #b39a76; + purple: #ff9100; + bright-purple: #b39a76; + aqua: #ff9100; + bright-aqua: #b39a76; + orange: #ff9100; + bright-orange: #ff9100; + white: #ffffff; + black: #000000; + + /* Main theme mappings */ + main-bg: @bg0-h; + main-fg: @fg2; + main-br: @fg2; + input-bg: @bg1; + select-bg: @orange; + select-fg: @black; }