lots of stuff

This commit is contained in:
gwg313 2026-01-04 10:27:19 -05:00
parent ccf213f488
commit 49cca73363
Signed by: gwg313
GPG key ID: 60FF63B4826B7400
29 changed files with 471 additions and 235 deletions

View file

@ -19,6 +19,7 @@
./zoxide.nix
./zsh.nix
./fzf.nix
./zk.nix
./nushell/default.nix
];
nixpkgs.config.allowUnfree = true;

View file

@ -24,7 +24,7 @@ let
position = config.theme.bar.position; # "top" ou "bottom"
notificationOpacity = 90;
homeDir = "/home/gwg313";
location = config.var.location;
in
{
@ -34,28 +34,26 @@ in
enable = true;
settings = {
layout = {
bar.layouts = {
"*" = {
"left" = [
"dashboard"
"workspaces"
"windowtitle"
];
"middle" = [
"media"
"cava"
];
"right" = [
"systray"
"volume"
"bluetooth"
"battery"
"network"
"clock"
"notifications"
];
};
bar.layouts = {
"*" = {
left = [
"dashboard"
"workspaces"
"windowtitle"
];
middle = [
"media"
"cava"
];
right = [
"systray"
"volume"
"bluetooth"
"battery"
"network"
"clock"
"notifications"
];
};
};
@ -143,72 +141,32 @@ in
menus.dashboard.shortcuts.right.shortcut1.icon = "";
menus.dashboard.shortcuts.right.shortcut1.command = "hyprpicker -a";
menus.dashboard.shortcuts.right.shortcut1.tooltip = "Color Picker";
menus.dashboard.shortcuts.right.shortcut3.icon = "󰄀";
menus.dashboard.shortcuts.right.shortcut3.command = "screenshot region swappy";
menus.dashboard.shortcuts.right.shortcut3.tooltip = "Screenshot";
menus.dashboard.directories.left.directory1.label = " Home";
menus.dashboard.directories.left.directory1.command = "xdg-open ${homeDir}";
menus.dashboard.directories.left.directory2.label = "󰲂 Documents";
menus.dashboard.directories.left.directory2.command = "xdg-open ${homeDir}/Documents";
menus.dashboard.directories.left.directory3.label = "󰉍 Downloads";
menus.dashboard.directories.left.directory3.command = "xdg-open ${homeDir}/Downloads";
menus.dashboard.directories.right.directory1.label = " Desktop";
menus.dashboard.directories.right.directory1.command = "xdg-open ${homeDir}/Desktop";
menus.dashboard.directories.right.directory2.label = " Videos";
menus.dashboard.directories.right.directory2.command = "xdg-open ${homeDir}/Videos";
menus.dashboard.directories.right.directory3.label = "󰉏 Pictures";
menus.dashboard.directories.right.directory3.command = "xdg-open ${homeDir}/Pictures";
menus.power.lowBatteryNotification = true;
wallpaper.enable = false;
theme.bar.buttons.workspaces.hover = accent-alt;
theme.bar.buttons.workspaces.active = accent;
theme.bar.buttons.workspaces.available = accent-alt;
theme.bar.buttons.workspaces.occupied = accent-alt;
theme.bar.menus.background = background;
theme.bar.menus.cards = background-alt;
theme.bar.menus.label = foreground;
theme.bar.menus.text = foreground;
theme.bar.menus.border.color = accent;
theme.bar.menus.popover.text = foreground;
theme.bar.menus.popover.background = background-alt;
theme.bar.menus.listitems.active = accent;
theme.bar.menus.icons.active = accent;
theme.bar.menus.switch.enabled = accent;
theme.bar.menus.check_radio_button.active = accent;
theme.bar.menus.buttons.default = accent;
theme.bar.menus.buttons.active = accent;
theme.bar.menus.iconbuttons.active = accent;
theme.bar.menus.progressbar.foreground = accent;
theme.bar.menus.slider.primary = accent;
theme.bar.menus.tooltip.background = background-alt;
theme.bar.menus.tooltip.text = foreground;
theme.bar.menus.dropdownmenu.background = background-alt;
theme.bar.menus.dropdownmenu.text = foreground;
theme.bar.background = background + (if transparentButtons && transparent then "00" else "");
theme.bar.buttons.text =
if transparent && transparentButtons then foregroundOnWallpaper else foreground;
theme.bar.buttons.background =
(if transparent then background else background-alt) + (if transparentButtons then "00" else "");
theme.bar.buttons.icon = accent;
theme.bar.buttons.notifications.background = background-alt;
theme.bar.buttons.hover = background;
theme.bar.buttons.notifications.hover = background;
theme.bar.buttons.notifications.total = accent;
theme.bar.buttons.notifications.icon = accent;
theme.osd.bar_color = accent;
theme.osd.bar_overflow_color = accent-alt;
theme.osd.icon = background;
theme.osd.icon_container = accent;
theme.osd.label = accent;
theme.osd.bar_container = background-alt;
theme.bar.menus.menu.media.background.color = background-alt;
theme.bar.menus.menu.media.card.color = background-alt;
theme.notification.background = background-alt;
theme.notification.actions.background = accent;
theme.notification.actions.text = foreground;
theme.notification.label = accent;
theme.notification.border = background-alt;
theme.notification.text = foreground;
theme.notification.labelicon = accent;
theme.notification.close_button.background = background-alt;
theme.notification.close_button.label = "#f38ba8";
};
};
}

View file

@ -29,5 +29,6 @@
feishin
picard
postman
figma-linux
];
}

View file

@ -1,6 +1,7 @@
{
inputs,
pkgs,
lib,
...
}:
{
@ -22,7 +23,37 @@
# pkgs.vimPlugins.vim-kitty-navigator
vimPlugins.grug-far-nvim
vimPlugins.image-nvim
oasis-nvim
vimPlugins.vim-hoogle
vimPlugins.telescope_hoogle
vimPlugins.zk-nvim
];
luaConfigRC.colorscheme = ''
vim.cmd.colorscheme("oasis-day")
'';
luaConfigRC.zk_nvim = ''
local ok, zk = pcall(require, "zk")
if not ok then
return
end
zk.setup({
-- use "telescope", "fzf", etc. if you prefer
picker = "select",
lsp = {
config = {
name = "zk",
cmd = { "zk", "lsp" },
filetypes = { "markdown" },
-- you can put on_attach = function(client, bufnr) ... end here if you want
},
auto_attach = {
enabled = true,
},
},
})
'';
};
};
}

View file

@ -31,6 +31,13 @@
action = "<cmd>bnext<cr>";
desc = "Next Buffer";
}
{
key = "<leader>bd";
mode = "n";
silent = true;
action = "<cmd>bd<cr>";
desc = "Close current buffer";
}
# Disable Arrow Keys in Normal Mode
# {

View file

@ -108,6 +108,8 @@
ocaml.enable = true;
haskell.enable = true;
haskell.lsp.enable = true;
haskell.treesitter.enable = true;
haskell.dap.enable = false;
html.enable = true;
bash.enable = true;
nix.enable = true;

View file

@ -9,5 +9,6 @@
pairs.enable = true;
diff.enable = true;
git.enable = true;
# snippets.enable = true;
};
}

View file

@ -6,12 +6,13 @@
{
programs.nvf.settings.vim = {
undoFile.enable = true;
theme = lib.mkForce {
enable = true;
name = "catppuccin";
style = "latte";
transparent = false;
};
# theme = lib.mkForce {
# enable = true;
# name = "catppuccin";
# style = "latte";
# transparent = false;
# };
navigation = {
harpoon.enable = true;
};
@ -30,10 +31,6 @@
# cmp.enable = true;
# };
statusline.lualine.enable = true;
# autocomplete.blink-cmp = {
# enable = true;
# friendly-snippets.enable = true;
# };
autocomplete = {
nvim-cmp = {
enable = true;
@ -48,6 +45,55 @@
};
};
snippets.luasnip.enable = true;
snippets.luasnip.customSnippets.snipmate = {
all = [
{
trigger = "if";
body = "if $1 else $2";
}
];
nix = [
{
trigger = "mkOption";
body = ''
mkOption {
type = $1;
default = $2;
description = $3;
example = $4;
}
'';
}
];
haskell = [
{
trigger = "zzis";
body = ''
insert :: (Ord a) => a -> [a] -> [a]
insert x [] = [x]
insert x (y:ys)
| x <= y = x : y : ys
| otherwise = y : insert x ys
insertionSort :: (Ord a) => [a] -> [a]
insertionSort [] = []
insertionSort (x:xs) = insert x (insertionSort xs)
'';
}
{
trigger = "zzso";
body = ''
sortOn :: Ord b => (a -> b) -> [a] -> [a]
sortOn f = foldr insert []
where
insert x [] = [x]
insert x (y:ys)
| f x <= f y = x : y : ys
| otherwise = y : insert x ys
'';
}
];
};
ui = {
noice.enable = true;
colorizer.enable = true;

View file

@ -20,7 +20,8 @@
extraConfig = ''
bind -n M-r source-file ~/.config/tmux/tmux.conf
set -ag terminal-overrides ",xterm-256color:RGB"
set -g default-terminal "screen-256color"
set -sa terminal-overrides ",xterm-256color:RGB"

View file

@ -0,0 +1,99 @@
{ config, ... }:
{
home.sessionVariables = {
ZK_NOTEBOOK_DIR = "/home/gwg313/my-notes";
};
programs.zk = {
enable = true;
settings = {
notebook = {
dir = "~/my-notes";
};
note = {
language = "en";
default-title = "Untitled";
filename = "{{id}}-{{slug title}}";
extension = "md";
template = "inbox.md";
id-charset = "alphanum";
id-length = 4;
id-case = "lower";
};
format.markdown = {
multiword-tags = true;
hashtags = true;
};
tool = {
editor = "nvim";
fzf-preview = "bat -p --color always {-1}";
};
extra = {
author = "gwg313";
};
group = {
inbox = {
paths = [ "inbox" ];
note.template = "inbox.md";
};
projects = {
paths = [ "projects" ];
note.template = "project.md";
};
literature = {
paths = [ "literature" ];
note.template = "literature.md";
};
note = {
paths = [ "notes" ];
note.template = "permanent.md";
};
seed = {
paths = [ "notes" ];
note.template = "seed.md";
};
daily = {
paths = [ "journal" ];
note.filename = "{{format-date now}}";
note.template = "daily.md";
};
};
filter = {
# Notes created in last 2 weeks
recents = "--sort created- --created-after 'last two weeks'";
# Only permanent notes
permanent = "--group notes";
# Orphans (useful for cleaning up disconnected notes)
orphans = "--orphan";
seeds = "--tag seed --sort created-";
};
alias = {
ls = "zk list --interactive $@";
edit = "zk edit --interactive $@";
inbox = ''zk new --no-input "$ZK_NOTEBOOK_DIR/inbox" --group inbox --title "$@"'';
seed = ''zk new --no-input "$ZK_NOTEBOOK_DIR/inbox" --group seed --title "$@"'';
proj = ''zk new --no-input "$ZK_NOTEBOOK_DIR/projects/" --group projects --title "$@"'';
lit = ''zk new --no-input "$ZK_NOTEBOOK_DIR/literature" --group literature --title "$@"'';
note = ''zk new --no-input "$ZK_NOTEBOOK_DIR/notes" --group notes --title "$@"'';
# Edit the last modified note.
edlast = "zk edit --limit 1 --sort modified- $@";
seeds = "zk list seeds --interactive";
# Edit the notes selected interactively among the notes created the last two weeks.
recent = "zk edit --sort created- --created-after 'last two weeks' --interactive";
# Show a random note.
lucky = "zk list --quiet --format full --sort random --limit 1";
# Show backlinks to a given note
bl = "zk list --link-to $@";
# Orphans
orph = "zk list orphans --interactive";
};
};
};
}