changes to mako, nvim, fastfetch, and niri + add an awk script to

local/bin
This commit is contained in:
coast 2025-11-03 10:11:37 +03:30
parent 3c3f332f83
commit 78a08017cd
12 changed files with 346 additions and 52 deletions

View file

@ -1,11 +1,11 @@
default-timeout=5000
ignore-timeout=1
background-color=#1e1e2e
text-color=#cdd6f4
border-color=#b4befe
progress-color=over #313244
background-color=#282828
text-color=#ebdbb2
border-color=#3c3836
progress-color=over #3c3836
[urgency=low]
border-color=#0b0b22
border-color=#458588
[urgency=high]
border-color=#fab387
border-color=#fb4934

View file

@ -10,13 +10,18 @@ input {
natural-scroll
}
mouse {
}
focus-follows-mouse
trackpoint {
}
}
gestures {
hot-corners {
off
}
}
cursor {
xcursor-theme "Adwaita"
xcursor-size 24
@ -45,11 +50,13 @@ layout {
proportion 0.66667
}
default-column-width { proportion 0.5; }
default-column-width {
proportion 0.5;
}
focus-ring {
width 4
active-color "#313244"
active-color "#3c3836"
inactive-color "#505050"
}
@ -76,11 +83,9 @@ prefer-no-csd
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
animations {
}
spawn-at-startup "waybar"
spawn-at-startup "swaybg -i /home/coast/Downloads/wall1.png/ -m fill"
spawn-at-startup "swww-daemon"
spawn-at-startup "swww img --outputs HDMI-A-1 ~/Downloads/wall4.png"
window-rule {
match app-id=r#"^org\.wezfurlong\.wezterm$"#
@ -92,6 +97,11 @@ window-rule {
open-floating true
}
window-rule {
match app-id=r#"waydroid$"#
open-fullscreen true
}
window-rule {
geometry-corner-radius 7
clip-to-geometry true
@ -100,7 +110,7 @@ window-rule {
binds {
Mod+Shift+Slash { show-hotkey-overlay; }
Mod+Return hotkey-overlay-title="Open a Terminal: wezterm" { spawn "wezterm"; }
Mod+R hotkey-overlay-title="Run an Application: rofi" { spawn-sh "rofi -show drun"; }
Mod+R hotkey-overlay-title="Run an Application: rofi" { spawn-sh "rofi -show drun -config ~/.config/rofi/gruvbox.rasi"; }
Super+Alt+L hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock"; }
Super+Alt+S allow-when-locked=true hotkey-overlay-title=null { spawn-sh "pkill orca || exec orca"; }
@ -158,8 +168,8 @@ binds {
Mod+Page_Down { focus-workspace-down; }
Mod+Page_Up { focus-workspace-up; }
Mod+U { focus-workspace-down; }
Mod+I { focus-workspace-up; }
Mod+N { focus-workspace-down; }
Mod+M { focus-workspace-up; }
Mod+Ctrl+Page_Down { move-column-to-workspace-down; }
Mod+Ctrl+Page_Up { move-column-to-workspace-up; }
Mod+Ctrl+U { move-column-to-workspace-down; }
@ -167,8 +177,8 @@ binds {
Mod+Shift+Page_Down { move-workspace-down; }
Mod+Shift+Page_Up { move-workspace-up; }
Mod+Shift+U { move-workspace-down; }
Mod+Shift+I { move-workspace-up; }
Mod+Shift+M { move-workspace-down; }
Mod+Shift+N { move-workspace-up; }
Mod+1 { focus-workspace 1; }
Mod+2 { focus-workspace 2; }
@ -226,8 +236,6 @@ binds {
Mod+Shift+E { quit; }
Ctrl+Alt+Delete { quit; }
Mod+Shift+P { power-off-monitors; }
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; }
@ -244,8 +252,4 @@ binds {
Mod+Ctrl+Shift+WheelScrollUp { move-column-left; }
}
gestures {
hot-corners {
off
}
}

View file

@ -7,3 +7,4 @@ require("plugins/telescope")
require("plugins/treesitter")
--require("plugins/whichkey")
require("config")
require("plugins/render-markdown")

View file

@ -6,13 +6,14 @@
"cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" },
"cmp-spell": { "branch": "master", "commit": "694a4e50809d6d645c1ea29015dad0c293f019d6" },
"cmp-vsnip": { "branch": "main", "commit": "989a8a73c44e926199bfd05fa7a516d51f2d2752" },
"gruvbox.nvim": { "branch": "main", "commit": "5e0a460d8e0f7f669c158dedd5f9ae2bcac31437" },
"lazy.nvim": { "branch": "main", "commit": "db067881fff0fd4be8c00e5bde7492e0e1c77a2f" },
"lsp_signature.nvim": { "branch": "master", "commit": "d50e40b3bf9324128e71b0b7e589765ce89466d2" },
"lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" },
"mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" },
"mini.nvim": { "branch": "main", "commit": "429e5f9dc9cd59bf76cd98b687300f0a384a7f52" },
"none-ls-extras.nvim": { "branch": "main", "commit": "924fe88a9983c7d90dbb31fc4e3129a583ea0a90" },
"none-ls.nvim": { "branch": "main", "commit": "db2a48b79cfcdab8baa5d3f37f21c78b6705c62e" },
"nvim": { "branch": "main", "commit": "fa42eb5e26819ef58884257d5ae95dd0552b9a66" },
"nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" },
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
"nvim-cursorline": { "branch": "main", "commit": "804f0023692653b2b2368462d67d2a87056947f9" },
@ -22,6 +23,7 @@
"nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" },
"render-markdown.nvim": { "branch": "main", "commit": "10126effbafb74541b69219711dfb2c631e7ebf8" },
"telescope-undo.nvim": { "branch": "main", "commit": "928d0c2dc9606e01e2cc547196f48d2eaecf58e5" },
"telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" },
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },

View file

@ -13,9 +13,9 @@ cfg.smartindent = true
cfg.number = true
cfg.relativenumber = true
cfg.fillchars = "eob: "
cfg.conceallevel = 2
cfg.clipboard = "unnamedplus"
cfg.fillchars = "eob: "
g.loaded_netrw = 1
g.loaded_netrwPlugin = 1
@ -31,7 +31,7 @@ else
cfg.shell = "/run/current-system/sw/bin/zsh"
end
vim.cmd([[colorscheme catppuccin-mocha]])
vim.cmd([[colorscheme gruvbox]])
vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, {
border = "single",

View file

@ -1,7 +1,7 @@
return {
{
"andweeb/presence.nvim",
"catppuccin/nvim",
"ellisonleao/gruvbox.nvim",
"neovim/nvim-lspconfig",
"williamboman/mason.nvim",
{
@ -67,5 +67,13 @@ return {
version = "1.*",
opts = {},
},
{
"MeanderingProgrammer/render-markdown.nvim",
dependencies = {
"nvim-treesitter/nvim-treesitter",
"nvim-mini/mini.nvim",
},
opts = {},
},
},
}

View file

@ -0,0 +1,141 @@
-- Credits to https://raw.githubusercontent.com/BreadOnPenguins/nvim/refs/heads/master/lua/plugins/render-markdown.lua
require("render-markdown").setup({
link = {
-- Turn on / off inline link icon rendering.
enabled = true,
-- Additional modes to render links.
render_modes = false,
-- How to handle footnote links, start with a '^'.
footnote = {
-- Turn on / off footnote rendering.
enabled = true,
-- Replace value with superscript equivalent.
superscript = true,
-- Added before link content.
prefix = "",
-- Added after link content.
suffix = "",
},
-- Inlined with 'image' elements.
image = "󰥶 ",
-- Inlined with 'email_autolink' elements.
email = "󰀓 ",
-- Fallback icon for 'inline_link' and 'uri_autolink' elements.
hyperlink = "󰌹 ",
-- Applies to the inlined icon as a fallback.
highlight = "RenderMarkdownLink",
-- Applies to WikiLink elements.
wiki = {
icon = "󱗖 ",
body = function()
return nil
end,
highlight = "RenderMarkdownWikiLink",
},
-- Define custom destination patterns so icons can quickly inform you of what a link
-- contains. Applies to 'inline_link', 'uri_autolink', and wikilink nodes. When multiple
-- patterns match a link the one with the longer pattern is used.
-- The key is for healthcheck and to allow users to change its values, value type below.
-- | pattern | matched against the destination text |
-- | icon | gets inlined before the link text |
-- | kind | optional determines how pattern is checked |
-- | | pattern | @see :h lua-patterns, is the default if not set |
-- | | suffix | @see :h vim.endswith() |
-- | priority | optional used when multiple match, uses pattern length if empty |
-- | highlight | optional highlight for 'icon', uses fallback highlight if empty |
custom = {
web = { pattern = "^http", icon = "󰖟 " },
github = { pattern = "github%.com", icon = "󰊤 " },
gitlab = { pattern = "gitlab%.com", icon = "󰮠 " },
stackoverflow = { pattern = "stackoverflow%.com", icon = "󰓌 " },
wikipedia = { pattern = "wikipedia%.org", icon = "󰖬 " },
youtube = { pattern = "youtube%.com", icon = "󰗃 " },
},
},
callout = {
-- Callouts are a special instance of a 'block_quote' that start with a 'shortcut_link'.
-- The key is for healthcheck and to allow users to change its values, value type below.
-- | raw | matched against the raw text of a 'shortcut_link', case insensitive |
-- | rendered | replaces the 'raw' value when rendering |
-- | highlight | highlight for the 'rendered' text and quote markers |
-- | quote_icon | optional override for quote.icon value for individual callout |
-- | category | optional metadata useful for filtering |
note = { raw = "[!NOTE]", rendered = "󰋽 Note", highlight = "RenderMarkdownInfo" },
tip = { raw = "[!TIP]", rendered = "󰌶 Tip", highlight = "RenderMarkdownSuccess" },
important = { raw = "[!IMPORTANT]", rendered = "󰅾 Important", highlight = "RenderMarkdownHint" },
warning = { raw = "[!WARNING]", rendered = "󰀪 Warning", highlight = "RenderMarkdownWarn" },
caution = { raw = "[!CAUTION]", rendered = "󰳦 Caution", highlight = "RenderMarkdownError" },
abstract = { raw = "[!ABSTRACT]", rendered = "󰨸 Abstract", highlight = "RenderMarkdownInfo" },
summary = { raw = "[!SUMMARY]", rendered = "󰨸 Summary", highlight = "RenderMarkdownInfo" },
tldr = { raw = "[!TLDR]", rendered = "󰨸 Tldr", highlight = "RenderMarkdownInfo" },
info = { raw = "[!INFO]", rendered = "󰋽 Info", highlight = "RenderMarkdownInfo" },
todo = { raw = "[!TODO]", rendered = "󰗡 Todo", highlight = "RenderMarkdownInfo" },
hint = { raw = "[!HINT]", rendered = "󰌶 Hint", highlight = "RenderMarkdownSuccess" },
success = { raw = "[!SUCCESS]", rendered = "󰄬 Success", highlight = "RenderMarkdownSuccess" },
check = { raw = "[!CHECK]", rendered = "󰄬 Check", highlight = "RenderMarkdownSuccess" },
done = { raw = "[!DONE]", rendered = "󰄬 Done", highlight = "RenderMarkdownSuccess" },
question = { raw = "[!QUESTION]", rendered = "󰘥 Question", highlight = "RenderMarkdownWarn" },
help = { raw = "[!HELP]", rendered = "󰘥 Help", highlight = "RenderMarkdownWarn" },
faq = { raw = "[!FAQ]", rendered = "󰘥 Faq", highlight = "RenderMarkdownWarn" },
attention = { raw = "[!ATTENTION]", rendered = "󰀪 Attention", highlight = "RenderMarkdownWarn" },
failure = { raw = "[!FAILURE]", rendered = "󰅖 Failure", highlight = "RenderMarkdownError" },
fail = { raw = "[!FAIL]", rendered = "󰅖 Fail", highlight = "RenderMarkdownError" },
missing = { raw = "[!MISSING]", rendered = "󰅖 Missing", highlight = "RenderMarkdownError" },
danger = { raw = "[!DANGER]", rendered = "󱐌 Danger", highlight = "RenderMarkdownError" },
error = { raw = "[!ERROR]", rendered = "󱐌 Error", highlight = "RenderMarkdownError" },
bug = { raw = "[!BUG]", rendered = "󰨰 Bug", highlight = "RenderMarkdownError" },
example = { raw = "[!EXAMPLE]", rendered = "󰉹 Example", highlight = "RenderMarkdownHint" },
quote = { raw = "[!QUOTE]", rendered = "󱆨 Quote", highlight = "RenderMarkdownQuote" },
cite = { raw = "[!CITE]", rendered = "󱆨 Cite", highlight = "RenderMarkdownQuote" },
},
checkbox = {
enabled = true,
render_modes = false,
bullet = false,
right_pad = 1,
unchecked = {
icon = "󰄱 ",
highlight = "RenderMarkdownUnchecked",
scope_highlight = nil,
},
checked = {
icon = "󰱒 ",
highlight = "RenderMarkdownChecked",
scope_highlight = nil,
},
custom = {
todo = { raw = "[-]", rendered = "󰥔 ", highlight = "RenderMarkdownTodo", scope_highlight = nil },
},
},
bullet = {
enabled = true,
render_modes = false,
icons = { "", "", "", "" },
ordered_icons = function(ctx)
local value = vim.trim(ctx.value)
local index = tonumber(value:sub(1, #value - 1))
return ("%d."):format(index > 1 and index or ctx.index)
end,
left_pad = 0,
right_pad = 0,
highlight = "RenderMarkdownBullet",
scope_highlight = {},
},
quote = { icon = "" },
anti_conceal = {
enabled = true,
-- Which elements to always show, ignoring anti conceal behavior. Values can either be
-- booleans to fix the behavior or string lists representing modes where anti conceal
-- behavior will be ignored. Valid values are:
-- head_icon, head_background, head_border, code_language, code_background, code_border,
-- dash, bullet, check_icon, check_scope, quote, table_border, callout, link, sign
ignore = {
code_background = true,
sign = true,
},
above = 0,
below = 0,
},
})

View file

@ -1 +1 @@
/nix/store/88wrm111ys2gr576swa3isl80y217gaq-home-manager-files/.config/nvim
/nix/store/jpb55c1pi5jlxhsgrvakbq4abf1pcldl-home-manager-files/.config/nvim

5
config/rofi/config.rasi Normal file
View file

@ -0,0 +1,5 @@
//@theme "/nix/store/r6by463p9aqp6rk0rd23ljzwjrxs1dzd-rofi-2.0.0/share/rofi/themes/dmenu.rasi"
//@theme "/nix/store/r6by463p9aqp6rk0rd23ljzwjrxs1dzd-rofi-2.0.0/share/rofi/themes/gruvbox-dark.rasi"
@theme "/home/coast/.config/rofi/gruvbox.rasi"

58
config/rofi/gruvbox.rasi Normal file
View file

@ -0,0 +1,58 @@
/* Custom Gruvbox Dark theme */
* {
highlight: bold italic;
scrollbar: true;
/* Base palette (Gruvbox Dark) */
base-bg: #1d2021; /* background */
base-bg-soft: #32302f; /* dark gray */
base-bg-alt: #3c3836; /* medium gray */
base-fg: #ebdbb2; /* foreground */
base-fg-dim: #a89984; /* gray */
accent: #fabd2f; /* yellow */
accent-light: #fe8019; /* orange */
accent-dark: #ebdbb2; /* red */
border-gray: #504945; /* dark gray border */
background: @base-bg;
background-color: @background;
foreground: @base-fg;
border-color: @border-gray;
separatorcolor: @border-color;
scrollbar-handle: @border-color;
normal-background: @background;
normal-foreground: @foreground;
alternate-normal-background: @base-bg-soft;
alternate-normal-foreground: @foreground;
selected-normal-background: @accent-dark;
selected-normal-foreground: @base-bg;
active-background: @accent;
active-foreground: @base-bg;
alternate-active-background: @accent;
alternate-active-foreground: @active-foreground;
selected-active-background: @accent-light;
selected-active-foreground: @active-foreground;
urgent-background: @accent-dark;
urgent-foreground: @base-bg;
alternate-urgent-background: @accent-dark;
alternate-urgent-foreground: @urgent-foreground;
selected-urgent-background: @accent-light;
selected-urgent-foreground: @urgent-foreground;
padding: 6px 6px;
}
configuration {
font: "MapleMono 13";
show-icons: true;
}
element-icon {
size: 20px;
}

View file

@ -1,18 +1,18 @@
@define-color border #0b0b22;
@define-color background #1e1e2e;
@define-color surface0 #302d41;
@define-color overlay0 #393552;
@define-color text #cdd6f4;
@define-color text_dim #a6adc8;
@define-color blue #89b4fa;
@define-color green #a6e3a1;
@define-color yellow #f9e2af;
@define-color peach #fab387;
@define-color maroon #eba0ac;
@define-color lavender #b4befe;
@define-color pink #f5c2e7;
@define-color teal #94e2d5;
@define-color grey #454545;
@define-color border #3c3836;
@define-color background #282828;
@define-color surface0 #3c3836;
@define-color overlay0 #504945;
@define-color text #ebdbb2;
@define-color text_dim #a89984;
@define-color blue #458588;
@define-color green #b8bb26;
@define-color yellow #d79921;
@define-color peach #fe8019;
@define-color maroon #fb4934;
@define-color lavender #b16286;
@define-color pink #d3869b;
@define-color teal #689d6a;
@define-color grey #928374;
* {
border: none;
@ -60,28 +60,28 @@ window#waybar.empty #window {
#network {
margin: 8px 12px 8px 12px;
color: @lavender;
color: @text;
}
#pulseaudio,
#clock {
color: @lavender;
color: @text;
}
#workspaces {
margin-left: 12px;
color: @lavender;
color: @text;
}
#workspaces button {
margin: 0;
padding: 1px 3px;
color: @lavender;
color: @text;
transition: none;
}
#workspaces button.empty {
color: @lavender;
color: @text;
}
#workspaces button.active {

75
local/bin/uwuify.awk Executable file
View file

@ -0,0 +1,75 @@
#!/run/current-system/sw/bin/awk -f
function uwuify(s, o) {
o = s
# r/l -> w/W
o = gensub(/[rl]/, "w", "g", o)
o = gensub(/[RL]/, "W", "g", o)
# n + vowel -> ny
o = gensub(/N([AEIOU])/, "NY\\1", "g", o)
o = gensub(/([nN])([aeiouAEIOU])/, "\\1y\\2", "g", o)
# soft c before e/i
o = gensub(/c([ie])/, "sh\\1", "g", o)
o = gensub(/C([ie])/, "Sh\\1", "g", o)
o = gensub(/C([IE])/, "SH\\1", "g", o)
# th -> d
o = gensub(/th/, "d", "g", o)
o = gensub(/Th/, "D", "g", o)
o = gensub(/TH/, "D", "g", o)
# ove -> uv
o = gensub(/ove/, "uv", "g", o)
o = gensub(/OVE/, "UV", "g", o)
# ing -> in
o = gensub(/ing\b/, "in", "g", o)
o = gensub(/ING\b/, "IN", "g", o)
# punctuation uwuifier
o = gensub(/!+/, " owo~ ", "g", o)
o = gensub(/\?+/, " uwu?", "g", o)
o = gensub(/\.{3}/, "… >w< ", "g", o)
return o
}
function uwuify_line(line, pre, post, uw_pre, diff, fullseq, num, newnum, newseq) {
if (match(line, /^(.*:)/)) {
pre = substr(line, 1, RLENGTH)
post = substr(line, RLENGTH + 1)
uw_pre = uwuify(pre)
diff = length(uw_pre) - length(pre)
if (match(uw_pre, /\033\[[0-9]+C/)) {
fullseq = substr(uw_pre, RSTART, RLENGTH)
if (match(fullseq, /\033\[([0-9]+)C/, m)) {
num = m[1]
newnum = num - diff
if (newnum < 0) newnum = 0
newseq = "\033[" newnum "C"
uw_pre = substr(uw_pre, 1, RSTART - 1) newseq substr(uw_pre, RSTART + RLENGTH)
}
}
return uw_pre uwuify(post)
}
return uwuify(line)
}
{
# Kitty image protocol lines stay raw
if ($0 ~ /\033_G/) {
print $0
} else if ($0 ~ /\033\[[0-9]+C/) {
out = uwuify_line($0)
print out
} else {
out = uwuify($0)
print out
}
}