updates :3
This commit is contained in:
parent
5eec7f512f
commit
b61ff7e2f4
15 changed files with 488 additions and 456 deletions
174
modules/home/apps/helpers/waybar/default.nix
Normal file
174
modules/home/apps/helpers/waybar/default.nix
Normal file
|
|
@ -0,0 +1,174 @@
|
|||
{
|
||||
options,
|
||||
config,
|
||||
lib,
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with lib.custom; let
|
||||
cfg = config.apps.helpers.waybar;
|
||||
in {
|
||||
options.apps.helpers.waybar = with types; {
|
||||
enable = mkBoolOpt false "Enable WayBar";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
style = ''
|
||||
* {
|
||||
color: @text;
|
||||
font-family: Iosevka Nerd Font;
|
||||
font-weight: bold;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background-color: rgba(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
#waybar > box {
|
||||
margin: 10px 15px 0px;
|
||||
background-color: @base;
|
||||
border: 2px solid @mauve;
|
||||
}
|
||||
|
||||
#workspaces,
|
||||
#window,
|
||||
#idle_inhibitor,
|
||||
#wireplumber,
|
||||
#network,
|
||||
#cpu,
|
||||
#memory,
|
||||
#battery,
|
||||
#clock,
|
||||
#power-profiles-daemon,
|
||||
#tray,
|
||||
#waybar > box {
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
#workspaces * {
|
||||
color: @red;
|
||||
}
|
||||
|
||||
#idle_inhibitor {
|
||||
color: @peach;
|
||||
}
|
||||
|
||||
#window * {
|
||||
color: @mauve;
|
||||
}
|
||||
|
||||
#wireplumber {
|
||||
color: @yellow;
|
||||
}
|
||||
|
||||
#network {
|
||||
color: @green;
|
||||
}
|
||||
|
||||
#power-profiles-daemon {
|
||||
color: @teal;
|
||||
}
|
||||
|
||||
#battery {
|
||||
color: @blue;
|
||||
}
|
||||
|
||||
#clock {
|
||||
color: @lavender;
|
||||
}
|
||||
|
||||
#tray {
|
||||
color: @text;
|
||||
}
|
||||
|
||||
#idle_inhibitor,
|
||||
#wireplumber,
|
||||
#network,
|
||||
#cpu,
|
||||
#memory,
|
||||
#battery,
|
||||
#clock,
|
||||
#power-profiles-daemon,
|
||||
#tray {
|
||||
padding: 0 5px;
|
||||
}
|
||||
'';
|
||||
|
||||
settings = {
|
||||
mainBar = {
|
||||
layer = "top";
|
||||
position = "top";
|
||||
spacing = 4;
|
||||
modules-left = [
|
||||
"hyprland/workspaces"
|
||||
"hyprland/window"
|
||||
];
|
||||
modules-center = [
|
||||
];
|
||||
modules-right = [
|
||||
"idle_inhibitor"
|
||||
"wireplumber"
|
||||
"network"
|
||||
"power-profiles-daemon"
|
||||
"battery"
|
||||
"clock"
|
||||
"tray"
|
||||
];
|
||||
|
||||
"hyprland/workspaces" = {
|
||||
disable-scroll = true;
|
||||
all-outputs = true;
|
||||
warp-on-scroll = false;
|
||||
format = "{name}: {icon}";
|
||||
format-icons = {
|
||||
"urgent" = "";
|
||||
"active" = "";
|
||||
"default" = "";
|
||||
};
|
||||
};
|
||||
|
||||
#cava = {
|
||||
# cava_config = "$HOME/.config/cava/config";
|
||||
# framerate = 60;
|
||||
# bars = 16;
|
||||
# method = "pipewire";
|
||||
# format-icons = ["▁" "▂" "▃" "▄" "▅" "▆" "▇" "█" ];
|
||||
# bar_delimiter = 0;
|
||||
#};
|
||||
|
||||
idle_inhibitor = {
|
||||
format = "Idle: {icon} ";
|
||||
format-icons = {
|
||||
"deactivated" = "";
|
||||
"activated" = "";
|
||||
};
|
||||
};
|
||||
|
||||
wireplumber = {
|
||||
format = "Volume: {icon} {volume}% ";
|
||||
format-icons = ["" "" ""];
|
||||
format-muted = "Muted ";
|
||||
};
|
||||
|
||||
clock = {
|
||||
format = " {:%H:%M}";
|
||||
};
|
||||
|
||||
network = {
|
||||
format = " {essid} {signalStrength}";
|
||||
};
|
||||
|
||||
battery = {
|
||||
format-icons = ["" "" "" "" ""];
|
||||
format = "{icon} {capacity}%";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -12,14 +12,14 @@ in {
|
|||
enable = mkBoolOpt false "Enable Kitty Term";
|
||||
|
||||
fonts = {
|
||||
# normal = mkStringOpt "ZedMono Nerd Font Mono Bold" "Normal Font";
|
||||
# bold = mkStringOpt "ZedMono Nerd Font Mono ExtraBold" "Bold Font";
|
||||
# italic = mkStringOpt "ZedMono Nerd Font Mono Bold Italic" "Italic Font";
|
||||
# bold_italic = mkStringOpt "ZedMono Nerd Font Mono ExtraBold Italic" "Bold Italic Font";
|
||||
normal = mkStringOpt "Iosevka Bold" "Normal Font";
|
||||
bold = mkStringOpt "Iosevka ExtraBold" "Bold Font";
|
||||
italic = mkStringOpt "Iosevka Bold Italic" "Italic Font";
|
||||
bold_italic = mkStringOpt "Iosevka ExtraBold Italic" "Bold Italic Font";
|
||||
normal = mkStringOpt "JetBrainsMonoNL Nerd Font Mono Bold" "Normal Font";
|
||||
bold = mkStringOpt "JetBrainsMonoNL Nerd Font Mono ExtraBold" "Bold Font";
|
||||
italic = mkStringOpt "JetBrainsMonoNL Nerd Font Mono Bold Italic" "Italic Font";
|
||||
bold_italic = mkStringOpt "JetBrainsMonoNL Nerd Font Mono ExtraBold Italic" "Bold Italic Font";
|
||||
# normal = mkStringOpt "Iosevka Bold" "Normal Font";
|
||||
# bold = mkStringOpt "Iosevka ExtraBold" "Bold Font";
|
||||
# italic = mkStringOpt "Iosevka Bold Italic" "Italic Font";
|
||||
# bold_italic = mkStringOpt "Iosevka ExtraBold Italic" "Bold Italic Font";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 66 KiB |
|
|
@ -25,7 +25,8 @@
|
|||
"lazyvim.plugins.extras.test.core",
|
||||
"lazyvim.plugins.extras.util.dot",
|
||||
"lazyvim.plugins.extras.util.mini-hipatterns",
|
||||
"lazyvim.plugins.extras.coding.luasnip"
|
||||
"lazyvim.plugins.extras.coding.luasnip",
|
||||
"lazyvim.plugins.extras.coding.blink"
|
||||
],
|
||||
"news": {
|
||||
"NEWS.md": "6520"
|
||||
|
|
|
|||
|
|
@ -119,3 +119,4 @@ end
|
|||
|
||||
-- Set up the keybinding (you can modify this to your preferred key combination)
|
||||
vim.keymap.set("n", "<leader>zc", create_gist, { noremap = true, silent = true, expr = true })
|
||||
vim.keymap.set("n", "<leader>T", "<cmd>TimerlyToggle<CR>", { noremap = true })
|
||||
|
|
|
|||
|
|
@ -7,97 +7,7 @@ return {
|
|||
},
|
||||
},
|
||||
"f-person/git-blame.nvim",
|
||||
{
|
||||
"3rd/image.nvim",
|
||||
build = false,
|
||||
lazy = false,
|
||||
config = function()
|
||||
require("image").setup({
|
||||
backend = "kitty",
|
||||
kitty_method = "normal",
|
||||
processor = "magick_cli",
|
||||
integrations = {
|
||||
markdown = {
|
||||
enabled = true,
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"nvimdev/dashboard-nvim",
|
||||
event = "VimEnter",
|
||||
lazy = true,
|
||||
opts = function()
|
||||
local logo = ""
|
||||
logo = string.rep("\n", 12) .. logo .. "\n\n"
|
||||
local opts = {
|
||||
theme = "hyper",
|
||||
hide = {
|
||||
statusline = true,
|
||||
},
|
||||
config = {
|
||||
header = vim.split(logo, "\n"),
|
||||
shortcut = {
|
||||
{
|
||||
desc = "Find File",
|
||||
action = "lua LazyVim.pick()()",
|
||||
key = "f",
|
||||
},
|
||||
{
|
||||
desc = "New File",
|
||||
action = "ene | startinsert",
|
||||
key = "n",
|
||||
},
|
||||
{
|
||||
desc = "Lazy",
|
||||
action = "Lazy",
|
||||
icon = " ",
|
||||
key = "l",
|
||||
},
|
||||
{
|
||||
desc = "Quit",
|
||||
action = function()
|
||||
vim.api.nvim_input("<cmd>qa<cr>")
|
||||
end,
|
||||
key = "q",
|
||||
},
|
||||
},
|
||||
packages = { enable = true }, -- show how many plugins neovim loaded
|
||||
project = { enable = true, limit = 8 },
|
||||
mru = { limit = 10 },
|
||||
},
|
||||
}
|
||||
|
||||
-- Handle reopening dashboard after closing lazy
|
||||
if vim.o.filetype == "lazy" then
|
||||
vim.api.nvim_create_autocmd("WinClosed", {
|
||||
pattern = tostring(vim.api.nvim_get_current_win()),
|
||||
once = true,
|
||||
callback = function()
|
||||
vim.schedule(function()
|
||||
vim.api.nvim_exec_autocmds("UIEnter", { group = "dashboard" })
|
||||
end)
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
return opts
|
||||
end,
|
||||
},
|
||||
{ "nvim-lualine/lualine.nvim", enabled = false },
|
||||
-- {
|
||||
-- "nvim-neorg/neorg",
|
||||
-- lazy = false, -- Disable lazy loading as some `lazy.nvim` distributions set `lazy = true` by default
|
||||
-- version = "*", -- Pin Neorg to the latest stable release
|
||||
-- config = true,
|
||||
-- opts = {
|
||||
-- load = {
|
||||
-- ["core.defaults"] = {},
|
||||
-- ["core.concealer"] = {},
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
{ "echasnovski/mini.statusline", opts = {} },
|
||||
{
|
||||
"stevearc/conform.nvim",
|
||||
|
|
@ -108,10 +18,16 @@ return {
|
|||
typescriptreact = { "prettierd" },
|
||||
javascriptreact = { "prettierd" },
|
||||
javascript = { "prettierd" },
|
||||
htmlangular = { "prettierd" },
|
||||
},
|
||||
},
|
||||
},
|
||||
{ "hrsh7th/nvim-cmp", enabled = false },
|
||||
{
|
||||
"saghen/blink.cmp",
|
||||
opts = {
|
||||
nerd_font_variant = "normal",
|
||||
},
|
||||
},
|
||||
{
|
||||
"lukas-reineke/indent-blankline.nvim",
|
||||
main = "ibl",
|
||||
|
|
@ -137,76 +53,10 @@ return {
|
|||
require("force-cul").setup()
|
||||
end,
|
||||
},
|
||||
{
|
||||
"saghen/blink.cmp",
|
||||
lazy = false, -- lazy loading handled internally
|
||||
-- optional: provides snippets for the snippet source
|
||||
dependencies = { "rafamadriz/friendly-snippets", "saghen/blink.compat" },
|
||||
|
||||
build = "cargo build --release",
|
||||
|
||||
sources = {
|
||||
completion = {
|
||||
enabled_providers = { "lsp", "path", "snippets", "buffer", "dadbod", "crates" },
|
||||
},
|
||||
|
||||
providers = {
|
||||
dadbod = {
|
||||
name = "vim-dadbod-completion",
|
||||
module = "blink.compat",
|
||||
opts = {},
|
||||
},
|
||||
crates = {
|
||||
name = "crates",
|
||||
module = "blink.compat",
|
||||
opts = {},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
---@module 'blink.cmp'
|
||||
---@type blink.cmp.Config
|
||||
opts = {
|
||||
keymap = {
|
||||
["<C-b>"] = { "scroll_documentation_down", "fallback" },
|
||||
["<C-f>"] = { "scroll_documentation_up", "fallback" },
|
||||
["<C-p>"] = { "select_prev", "fallback" },
|
||||
["<C-n>"] = { "select_next", "fallback" },
|
||||
["<C-space>"] = { "show", "show_documentation", "hide_documentation" },
|
||||
["<CR>"] = {
|
||||
function(cmp)
|
||||
if cmp.is_in_snippet() then
|
||||
return cmp.accept()
|
||||
else
|
||||
return cmp.select_and_accept()
|
||||
end
|
||||
end,
|
||||
"snippet_forward",
|
||||
"fallback",
|
||||
},
|
||||
},
|
||||
|
||||
windows = {
|
||||
documentation = {
|
||||
auto_show = true,
|
||||
},
|
||||
},
|
||||
|
||||
highlight = {
|
||||
-- sets the fallback highlight groups to nvim-cmp's highlight groups
|
||||
-- useful for when your theme doesn't support blink.cmp
|
||||
-- will be removed in a future release, assuming themes add support
|
||||
use_nvim_cmp_as_default = true,
|
||||
},
|
||||
-- set to 'mono' for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
|
||||
-- adjusts spacing to ensure icons are aligned
|
||||
nerd_font_variant = "normal",
|
||||
|
||||
-- experimental auto-brackets support
|
||||
-- accept = { auto_brackets = { enabled = true } }
|
||||
|
||||
-- experimental signature help support
|
||||
-- trigger = { signature_help = { enabled = true } }
|
||||
},
|
||||
},
|
||||
-- {
|
||||
-- "supermaven-inc/supermaven-nvim",
|
||||
-- config = function()
|
||||
-- require("supermaven-nvim").setup({})
|
||||
-- end,
|
||||
-- },
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,5 @@
|
|||
return {
|
||||
"nvzone/volt",
|
||||
{ "nvzone/timerly", cmd = "TimerlyToggle" },
|
||||
{ "nvzone/showkeys", cmd = "ShowkeysToggle" },
|
||||
}
|
||||
|
|
@ -139,89 +139,6 @@ in {
|
|||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
require('config.lazy')
|
||||
|
||||
local dashboardImage = vim.api.nvim_create_augroup("DashboardImage", { clear = true })
|
||||
local img = require("image").from_file("${./NeoVim.png}")
|
||||
local is_visible = false
|
||||
|
||||
-- Known image dimensions
|
||||
local IMG_WIDTH = 50 -- characters
|
||||
local IMG_HEIGHT = 14 -- lines
|
||||
|
||||
-- Debug notification function
|
||||
local function debug_notify(message)
|
||||
-- vim.notify(message, vim.log.levels.INFO)
|
||||
end
|
||||
|
||||
-- Function to calculate centered position
|
||||
local function center_image()
|
||||
local win_width = vim.o.columns
|
||||
local win_height = vim.o.lines
|
||||
|
||||
local x = math.floor((win_width - IMG_WIDTH) / 2)
|
||||
local y = math.floor((win_height - IMG_HEIGHT) / 6)
|
||||
|
||||
return math.max(0, x), math.max(0, y)
|
||||
end
|
||||
|
||||
-- Function to update image position
|
||||
local function update_image()
|
||||
debug_notify("Attempting to update image. is_visible = " .. tostring(is_visible))
|
||||
if is_visible then
|
||||
local x, y = center_image()
|
||||
debug_notify("Positioning image at x=" .. x .. ", y=" .. y)
|
||||
img:clear()
|
||||
img:render()
|
||||
img:move(x, y)
|
||||
end
|
||||
end
|
||||
|
||||
-- Show image on both VimEnter and when dashboard buffer is created
|
||||
vim.api.nvim_create_autocmd({ "VimEnter", "BufWinEnter", "BufEnter" }, {
|
||||
group = dashboardImage,
|
||||
callback = function(ev)
|
||||
local filetype = vim.api.nvim_buf_get_option(ev.buf, "filetype")
|
||||
debug_notify("Event triggered: " .. ev.event .. ", filetype: " .. filetype)
|
||||
if filetype == "dashboard" then
|
||||
debug_notify("Dashboard detected, setting visible")
|
||||
is_visible = true
|
||||
vim.schedule(update_image)
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- Handle window resize
|
||||
vim.api.nvim_create_autocmd("VimResized", {
|
||||
group = dashboardImage,
|
||||
callback = function()
|
||||
debug_notify("Window resized")
|
||||
update_image()
|
||||
end,
|
||||
})
|
||||
|
||||
-- Clear image when leaving dashboard
|
||||
vim.api.nvim_create_autocmd("BufLeave", {
|
||||
group = dashboardImage,
|
||||
callback = function()
|
||||
debug_notify("Leaving buffer")
|
||||
is_visible = false
|
||||
img:clear()
|
||||
end,
|
||||
})
|
||||
|
||||
-- Catch when returning to dashboard
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
group = dashboardImage,
|
||||
pattern = "dashboard",
|
||||
callback = function()
|
||||
debug_notify("FileType dashboard detected")
|
||||
is_visible = true
|
||||
vim.schedule(update_image)
|
||||
end,
|
||||
})
|
||||
|
||||
-- Initial debug message
|
||||
debug_notify("Dashboard image setup loaded")
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ in {
|
|||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
||||
|
||||
# systemd = {
|
||||
# enable = true;
|
||||
|
|
@ -150,11 +151,13 @@ in {
|
|||
brightness = 1;
|
||||
};
|
||||
|
||||
# shadow config
|
||||
drop_shadow = "yes";
|
||||
shadow_range = 60;
|
||||
shadow_render_power = 5;
|
||||
"col.shadow" = "rgba(07061f29)";
|
||||
shadow = {
|
||||
# shadow config
|
||||
enabled = true;
|
||||
range = 60;
|
||||
render_power = 5;
|
||||
color = "rgba(07061f29)";
|
||||
};
|
||||
};
|
||||
|
||||
misc = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue