nix-dots/pkgs/nvim/config/ui/alpha.nix

162 lines
4.2 KiB
Nix

{
plugins.alpha = {
enable = true;
theme = null;
layout = let
padding = val: {
type = "padding";
inherit val;
};
shortcutOpts = {
position = "center";
cursor = 3;
width = 50;
align_shortcut = "right";
};
in [
(padding 8)
{
opts = {
hl = "Structure";
position = "center";
};
type = "text";
val = [
" "
" "
" "
" "
" "
" "
];
}
(padding 3)
{
type = "button";
val = " Find File";
on_press.raw = "require('telescope.builtin').find_files";
opts =
shortcutOpts
// {
keymap = [
"n"
"f"
":Telescope find_files <CR>"
{
noremap = true;
silent = true;
nowait = true;
}
];
shortcut = "f";
};
}
(padding 1)
{
type = "button";
val = " New File";
on_press.__raw = "function() vim.cmd[[ene]] end";
opts =
shortcutOpts
// {
keymap = [
"n"
"n"
":ene <BAR> startinsert <CR>"
{
noremap = true;
silent = true;
nowait = true;
}
];
shortcut = "n";
};
}
(padding 1)
{
type = "button";
val = "󰈚 Recent Files";
on_press.raw = "require('telescope.builtin').oldfiles";
opts =
shortcutOpts
// {
keymap = [
"n"
"r"
":Telescope oldfiles <CR>"
{
noremap = true;
silent = true;
nowait = true;
}
];
shortcut = "r";
};
}
(padding 1)
{
type = "button";
val = "󰈭 Find Word";
on_press.raw = "require('telescope.builtin').live_grep";
opts =
shortcutOpts
// {
keymap = [
"n"
"g"
":Telescope live_grep <CR>"
{
noremap = true;
silent = true;
nowait = true;
}
];
shortcut = "g";
};
}
(padding 1)
{
type = "button";
val = " Restore Session";
on_press.raw = "require('persistence').load()";
opts =
shortcutOpts
// {
keymap = [
"n"
"s"
":lua require('persistence').load()<cr>"
{
noremap = true;
silent = true;
nowait = true;
}
];
shortcut = "s";
};
}
(padding 1)
{
type = "button";
val = " Quit";
on_press.__raw = "function() vim.cmd[[qa]] end";
opts =
shortcutOpts
// {
keymap = [
"n"
"q"
":qa<CR>"
{
noremap = true;
silent = true;
nowait = true;
}
];
shortcut = "q";
};
}
];
};
}