lots of stuff
This commit is contained in:
parent
ccf213f488
commit
49cca73363
29 changed files with 471 additions and 235 deletions
|
|
@ -19,6 +19,7 @@
|
|||
./zoxide.nix
|
||||
./zsh.nix
|
||||
./fzf.nix
|
||||
./zk.nix
|
||||
./nushell/default.nix
|
||||
];
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,5 +29,6 @@
|
|||
feishin
|
||||
picard
|
||||
postman
|
||||
figma-linux
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
},
|
||||
},
|
||||
})
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
# {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -9,5 +9,6 @@
|
|||
pairs.enable = true;
|
||||
diff.enable = true;
|
||||
git.enable = true;
|
||||
# snippets.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
99
home-manager/modules/zk.nix
Normal file
99
home-manager/modules/zk.nix
Normal 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";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue