mirror of
https://git.sr.ht/~azikx/wyswort
synced 2024-10-30 05:36:19 +00:00
update
This commit is contained in:
parent
4ac822706f
commit
3fa37ddc73
12
flake.nix
12
flake.nix
|
@ -1,17 +1,21 @@
|
|||
{
|
||||
outputs = { nixpkgs, home-manager, ... }@inputs:
|
||||
let system = "x86_64-linux"; in
|
||||
let
|
||||
nxsys = nixpkgs.lib.nixosSystem;
|
||||
hmsys = home-manager.lib.homeManagerConfiguration;
|
||||
system = "x86_64-linux";
|
||||
in
|
||||
{
|
||||
nixosConfigurations = {
|
||||
wysvort = nixpkgs.lib.nixosSystem {
|
||||
wysvort = nxsys {
|
||||
specialArgs = { inherit system inputs; };
|
||||
modules = [ ./host ];
|
||||
};
|
||||
};
|
||||
|
||||
homeConfigurations = {
|
||||
megamozg = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||
megamozg = hmsys {
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
extraSpecialArgs = { inherit inputs; };
|
||||
modules = [ ./home ];
|
||||
};
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
{
|
||||
programs.fzf = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
# defaultOptions = [
|
||||
# "--margin 1"
|
||||
# ];
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
{
|
||||
name = "nix";
|
||||
language-servers = [ "nixd" "nil" ];
|
||||
indent = { tab-width = 4; unit = " "; };
|
||||
indent = { tab-width = 2; unit = " "; };
|
||||
}
|
||||
];
|
||||
language-server = {
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
"diagnostic.error" = { underline = { style = "curl"; }; };
|
||||
|
||||
"ui.background" = { bg = BASE00; };
|
||||
"ui.bufferline.active" = { fg = BASE00; bg = BASE03; modifiers = [ "bold" ]; };
|
||||
"ui.bufferline.active" = { fg = BASE00; bg = BASE0E; modifiers = [ "bold" ]; };
|
||||
"ui.bufferline" = { fg = BASE04; bg = BASE00; };
|
||||
"ui.cursor" = { fg = BASE0A; modifiers = [ "reversed" ]; };
|
||||
"ui.cursor.insert" = { fg = BASE0A; modifiers = [ "reversed" ]; };
|
||||
|
|
|
@ -1,150 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
programs.joshuto.keymap = {
|
||||
default_view = {
|
||||
keymap = [
|
||||
{ keys = ["escape"]; commands = ["escape"] };
|
||||
{ keys = ["t"; "a"]; commands = ["new_tab"] };
|
||||
{ keys = ["t"; "c"]; commands = ["new_tab --cursor"] };
|
||||
{ keys = ["t"; "A"]; commands = ["new_tab --current"] };
|
||||
{ keys = ["t"; "q"]; commands = ["close_tab"] };
|
||||
{ keys = ["q"]; commands = ["close_tab"] };
|
||||
{ keys = ["ctrl+c"]; commands = ["quit"] };
|
||||
{ keys = ["Q"]; commands = ["quit --output-current-directory"] };
|
||||
|
||||
{ keys = ["R"]; commands = ["reload_dirlist"] };
|
||||
{ keys = ["z"; "r"]; commands = ["reload_dirlist"] };
|
||||
{ keys = ["z"; "z"]; commands = ["zi"] };
|
||||
{ keys = ["z"; "h"]; commands = ["toggle_hidden"] };
|
||||
{ keys = ["z"; "f"]; commands = ["flat 2"] };
|
||||
{ keys = ["z"; "F"]; commands = ["flat 0"] };
|
||||
{ keys = ["backspace"]; commands = ["toggle_hidden"] };
|
||||
{ keys = ["t"; "s"]; commands = ["tab_switch 1"] };
|
||||
{ keys = ["t"; "S"]; commands = ["tab_switch -1"] };
|
||||
{ keys = ["\t"]; commands = ["tab_switch 1"] };
|
||||
{ keys = ["backtab"]; commands = ["tab_switch -1"] };
|
||||
|
||||
{ keys = ["alt+1"]; commands = ["tab_switch_index 1"] };
|
||||
{ keys = ["alt+2"]; commands = ["tab_switch_index 2"] };
|
||||
{ keys = ["alt+3"]; commands = ["tab_switch_index 3"] };
|
||||
{ keys = ["alt+4"]; commands = ["tab_switch_index 4"] };
|
||||
{ keys = ["alt+5"]; commands = ["tab_switch_index 5"] };
|
||||
|
||||
{ keys = ["1"]; commands = ["numbered_command 1"] };
|
||||
{ keys = ["2"]; commands = ["numbered_command 2"] };
|
||||
{ keys = ["3"]; commands = ["numbered_command 3"] };
|
||||
{ keys = ["4"]; commands = ["numbered_command 4"] };
|
||||
{ keys = ["5"]; commands = ["numbered_command 5"] };
|
||||
{ keys = ["6"]; commands = ["numbered_command 6"] };
|
||||
{ keys = ["7"]; commands = ["numbered_command 7"] };
|
||||
{ keys = ["8"]; commands = ["numbered_command 8"] };
|
||||
{ keys = ["9"]; commands = ["numbered_command 9"] };
|
||||
|
||||
# arrow keys
|
||||
{ keys = ["arrow_up"]; commands = ["cursor_move_up"] };
|
||||
{ keys = ["arrow_down"]; commands = ["cursor_move_down"] };
|
||||
{ keys = ["arrow_left"]; commands = ["cd .."] };
|
||||
{ keys = ["arrow_right"]; commands = ["open"] };
|
||||
{ keys = ["\n"]; commands = ["open"] };
|
||||
{ keys = ["home"]; commands = ["cursor_move_home"] };
|
||||
{ keys = ["end"]; commands = ["cursor_move_end"] };
|
||||
{ keys = ["page_up"]; commands = ["cursor_move_page_up"] };
|
||||
{ keys = ["page_down"]; commands = ["cursor_move_page_down"] };
|
||||
{ keys = ["ctrl+u"]; commands = ["cursor_move_page_up 0.5"] };
|
||||
{ keys = ["ctrl+d"]; commands = ["cursor_move_page_down 0.5"] };
|
||||
{ keys = ["ctrl+b"]; commands = ["cursor_move_page_up"] };
|
||||
{ keys = ["ctrl+f"]; commands = ["cursor_move_page_down"] };
|
||||
|
||||
# vim-like keybindings
|
||||
{ keys = ["j"]; commands = ["cursor_move_down"] };
|
||||
{ keys = ["k"]; commands = ["cursor_move_up"] };
|
||||
{ keys = ["h"]; commands = ["z"] };
|
||||
{ keys = ["l"]; commands = ["open"] };
|
||||
{ keys = ["g"; "g"]; commands = ["cursor_move_home"] };
|
||||
{ keys = ["G"]; commands = ["cursor_move_end"] };
|
||||
{ keys = ["e"]; commands = ["open_with"] };
|
||||
|
||||
{ keys = ["H"]; commands = ["cursor_move_page_home"] };
|
||||
{ keys = ["L"]; commands = ["cursor_move_page_middle"] };
|
||||
{ keys = ["M"]; commands = ["cursor_move_page_end"] };
|
||||
|
||||
{ keys = ["["]; commands = ["parent_cursor_move_up"] };
|
||||
{ keys = ["]"]; commands = ["parent_cursor_move_down"] };
|
||||
|
||||
{ keys = ["c"; "d"]; commands = [":cd "] };
|
||||
{ keys = ["x"; "x"]; commands = ["cut_files"] };
|
||||
{ keys = ["c"; "c"]; commands = ["copy_files"] };
|
||||
{ keys = ["c"; "n"]; commands = ["copy_filename"] };
|
||||
{ keys = ["c"; "e"]; commands = ["copy_filename_without_extension"] };
|
||||
{ keys = ["c"; "f"]; commands = ["copy_filepath"] };
|
||||
{ keys = ["c"; "F"]; commands = ["copy_filepath --all-selected=true"] };
|
||||
{ keys = ["c"; "p"]; commands = ["copy_dirpath"] };
|
||||
|
||||
{ keys = ["p"; "l"]; commands = ["symlink_files --relative=false"] };
|
||||
{ keys = ["p"; "L"]; commands = ["symlink_files --relative=true"] };
|
||||
|
||||
{ keys = ["delete"]; commands = ["delete_files"] };
|
||||
{ keys = ["d"; "d"]; commands = ["delete_files --noconfirm"] };
|
||||
{ keys = ["d"; "D"]; commands = ["delete_files --noconfirm --permanently"] };
|
||||
|
||||
{ keys = ["v"; "v"]; commands = ["paste_files"] };
|
||||
{ keys = ["v"; "V"]; commands = ["paste_files --overwrite=true"] };
|
||||
|
||||
{ keys = ["r"; "r"]; commands = ["rename_append"] };
|
||||
{ keys = ["r"; "R"]; commands = ["rename_prepend"] };
|
||||
{ keys = ["r"; "c"]; commands = [":rename "] };
|
||||
|
||||
{ keys = ["m"; "f"]; commands = [":touch "] };
|
||||
{ keys = ["m"; "d"]; commands = [":mkdir "] };
|
||||
|
||||
{ keys = [" "]; commands = ["select --toggle=true"] };
|
||||
{ keys = ["v"; "a"]; commands = ["select --all=true --toggle=true"] };
|
||||
{ keys = ["v"; "i"]; commands = ["toggle_visual"] };
|
||||
|
||||
{ keys = ["w"]; commands = ["show_tasks --exit-key=w"] };
|
||||
{ keys = ["r"; "b"]; commands = ["bulk_rename"] };
|
||||
{ keys = ["="]; commands = ["set_mode"] };
|
||||
|
||||
{ keys = [":"]; commands = [":"] };
|
||||
{ keys = [";"]; commands = [":"] };
|
||||
|
||||
{ keys = ["'"]; commands = [":shell "] };
|
||||
|
||||
{ keys = ["/"]; commands = [":search "] };
|
||||
{ keys = ["|"]; commands = [":search_inc "] };
|
||||
{ keys = ["\\"]; commands = [":search_glob "] };
|
||||
{ keys = ["f"; "s"]; commands = ["search_fzf"] };
|
||||
{ keys = ["f"; "d"]; commands = ["subdir_fzf"] };
|
||||
|
||||
{ keys = ["n"]; commands = ["search_next"] };
|
||||
{ keys = ["N"]; commands = ["search_prev"] };
|
||||
|
||||
{ keys = ["s"; "r"]; commands = ["sort reverse"] };
|
||||
{ keys = ["s"; "l"]; commands = ["sort lexical"] };
|
||||
{ keys = ["s"; "L"]; commands = ["sort lexical --reverse=true"] };
|
||||
{ keys = ["s"; "m"]; commands = ["sort mtime"] };
|
||||
{ keys = ["s"; "M"]; commands = ["sort mtime --reverse=true"] };
|
||||
{ keys = ["s"; "n"]; commands = ["sort natural"] };
|
||||
{ keys = ["s"; "N"]; commands = ["sort natural --reverse=true"] };
|
||||
{ keys = ["s"; "s"]; commands = ["sort size"] };
|
||||
{ keys = ["s"; "S"]; commands = ["sort size --reverse=true"] };
|
||||
{ keys = ["s"; "e"]; commands = ["sort ext"] };
|
||||
{ keys = ["s"; "E"]; commands = ["sort ext --reverse=true"] };
|
||||
|
||||
{ keys = ["m"; "s"]; commands = ["linemode size"] };
|
||||
{ keys = ["m"; "m"]; commands = ["linemode mtime"] };
|
||||
{ keys = ["m"; "M"]; commands = ["linemode size | mtime"] };
|
||||
{ keys = ["m"; "u"]; commands = ["linemode user"] };
|
||||
{ keys = ["m"; "U"]; commands = ["linemode user | group"] };
|
||||
{ keys = ["m"; "p"]; commands = ["linemode perm"] };
|
||||
|
||||
{ keys = ["g"; "r"]; commands = ["cd /"] };
|
||||
{ keys = ["g"; "c"]; commands = ["cd ~/.config"] };
|
||||
{ keys = ["g"; "w"]; commands = ["cd ~/.walls"] };
|
||||
{ keys = ["g"; "d"]; commands = ["cd ~/Загрузки"] };
|
||||
{ keys = ["g"; "h"]; commands = ["cd ~/"] };
|
||||
{ keys = ["?"]; commands = ["help"] };
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,43 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [ ./mime.nix ./theme.nix ./binds.nix ];
|
||||
programs.joshuto = {
|
||||
enable = true;
|
||||
settings = {
|
||||
numbered_command = false;
|
||||
mouse_support = true;
|
||||
focus_on_create = true;
|
||||
use_trash = true;
|
||||
watch_files = true;
|
||||
xdg_open = true;
|
||||
xdg_open_fork = true;
|
||||
# case_insensitive_ext = false;
|
||||
zoxide_update = true;
|
||||
display = {
|
||||
mode = "default";
|
||||
automatically_count_files = true;
|
||||
collapse_preview = true;
|
||||
column_ratio = [1 4 4];
|
||||
scroll_offset = 6;
|
||||
show_borders = false;
|
||||
show_hidden = false;
|
||||
show_icons = true;
|
||||
# line_number_style = "relative";
|
||||
tilde_in_titlebar = false;
|
||||
linemode = "size";
|
||||
sort = {
|
||||
sort_method = "natural";
|
||||
case_sensitive = false;
|
||||
directories_first = true;
|
||||
reverse = false;
|
||||
};
|
||||
};
|
||||
preview = {
|
||||
max_preview_size = 100000000;
|
||||
use_xdg_thumbs = true;
|
||||
xdg_thumb_size = "xlarge";
|
||||
};
|
||||
tab.home_page = "inherit";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,265 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
programs.joshuto.mimetype = {
|
||||
class = {
|
||||
audio_default = [
|
||||
{ command = "mpv"; args = [ "--" ]; }
|
||||
{ command = "mediainfo"; confirm_exit = true; }
|
||||
];
|
||||
image_default = [
|
||||
{ command = "swayimg"; args = [ "-f" ]; fork = true; silent = true; }
|
||||
];
|
||||
video_default = [
|
||||
{ command = "mpv"; args = [ "--" ]; fork = true; silent = true; }
|
||||
{ command = "mediainfo"; confirm_exit = true; }
|
||||
];
|
||||
text_default = [
|
||||
{ command = "hx"; }
|
||||
{ command = "bat"; args = [ "--paging=always" ]; }
|
||||
];
|
||||
|
||||
blender_default = [
|
||||
{ command = "blender"; fork = true; silent = true; }
|
||||
];
|
||||
|
||||
reader_default = [
|
||||
{ command = "libreoffice"; fork = true; silent = true; }
|
||||
];
|
||||
|
||||
libreoffice_default = [
|
||||
{ command = "libreoffice"; fork = true; silent = true; }
|
||||
];
|
||||
};
|
||||
|
||||
extension = {
|
||||
## image formats
|
||||
avif."inherit" = "image_default";
|
||||
bmp."inherit" = "image_default";
|
||||
gif."inherit" = "image_default";
|
||||
heic."inherit" = "image_default";
|
||||
jpeg."inherit" = "image_default";
|
||||
jpe."inherit" = "image_default";
|
||||
jpg."inherit" = "image_default";
|
||||
jxl."inherit" = "image_default";
|
||||
pgm."inherit" = "image_default";
|
||||
png."inherit" = "image_default";
|
||||
ppm."inherit" = "image_default";
|
||||
webp."inherit" = "image_default";
|
||||
|
||||
eps.app_list = [
|
||||
{ command = "inkview"; fork = true; silent = true; }
|
||||
{ command = "inkscape"; fork = true; silent = true; }
|
||||
];
|
||||
svg.app_list = [
|
||||
{ command = "inkview"; fork = true; silent = true; }
|
||||
{ command = "inkscape"; fork = true; silent = true; }
|
||||
];
|
||||
tiff.app_list = [
|
||||
{ command = "qimgv"; fork = true; silent = true; }
|
||||
{ command = "krita"; fork = true; silent = true; }
|
||||
];
|
||||
|
||||
## audio formats
|
||||
aac."inherit" = "audio_default";
|
||||
ac3."inherit" = "audio_default";
|
||||
aiff."inherit" = "audio_default";
|
||||
ape."inherit" = "audio_default";
|
||||
dts."inherit" = "audio_default";
|
||||
flac."inherit" = "audio_default";
|
||||
m4a."inherit" = "audio_default";
|
||||
mp3."inherit" = "audio_default";
|
||||
oga."inherit" = "audio_default";
|
||||
ogg."inherit" = "audio_default";
|
||||
opus."inherit" = "audio_default";
|
||||
wav."inherit" = "audio_default";
|
||||
wv."inherit" = "audio_default";
|
||||
|
||||
## video formats
|
||||
avi."inherit" = "video_default";
|
||||
av1."inherit" = "video_default";
|
||||
flv."inherit" = "video_default";
|
||||
mkv."inherit" = "video_default";
|
||||
m4v."inherit" = "video_default";
|
||||
mov."inherit" = "video_default";
|
||||
mp4."inherit" = "video_default";
|
||||
ts."inherit" = "video_default";
|
||||
webm."inherit" = "video_default";
|
||||
wmv."inherit" = "video_default";
|
||||
|
||||
## text formats
|
||||
bib."inherit" = "text_default";
|
||||
build."inherit" = "text_default";
|
||||
c."inherit" = "text_default";
|
||||
cfg."inherit" = "text_default";
|
||||
cmake."inherit" = "text_default";
|
||||
conf."inherit" = "text_default";
|
||||
cpp."inherit" = "text_default";
|
||||
css."inherit" = "text_default";
|
||||
csv."inherit" = "text_default";
|
||||
cu."inherit" = "text_default";
|
||||
desktop."inherit" = "text_default";
|
||||
ebuild."inherit" = "text_default";
|
||||
eex."inherit" = "text_default";
|
||||
env."inherit" = "text_default";
|
||||
ex."inherit" = "text_default";
|
||||
exs."inherit" = "text_default";
|
||||
go."inherit" = "text_default";
|
||||
gpl."inherit" = "text_default";
|
||||
h."inherit" = "text_default";
|
||||
hpp."inherit" = "text_default";
|
||||
hs."inherit" = "text_default";
|
||||
ini."inherit" = "text_default";
|
||||
ipynb."inherit" = "text_default";
|
||||
java."inherit" = "text_default";
|
||||
jl."inherit" = "text_default";
|
||||
js."inherit" = "text_default";
|
||||
json."inherit" = "text_default";
|
||||
jsonc."inherit" = "text_default";
|
||||
kdl."inherit" = "text_default";
|
||||
kt."inherit" = "text_default";
|
||||
kvconfig."inherit" = "text_default";
|
||||
lock."inherit" = "text_default";
|
||||
log."inherit" = "text_default";
|
||||
lua."inherit" = "text_default";
|
||||
md."inherit" = "text_default";
|
||||
micro."inherit" = "text_default";
|
||||
ninja."inherit" = "text_default";
|
||||
nix."inherit" = "text_default";
|
||||
norg."inherit" = "text_default";
|
||||
org."inherit" = "text_default";
|
||||
po."inherit" = "text_default";
|
||||
pot."inherit" = "text_default";
|
||||
py."inherit" = "text_default";
|
||||
qmd."inherit" = "text_default";
|
||||
rasi."inherit" = "text_default";
|
||||
rkt."inherit" = "text_default";
|
||||
rktd."inherit" = "text_default";
|
||||
rproj."inherit" = "text_default";
|
||||
rs."inherit" = "text_default";
|
||||
rstheme."inherit" = "text_default";
|
||||
scm."inherit" = "text_default";
|
||||
scss."inherit" = "text_default";
|
||||
service."inherit" = "text_default";
|
||||
sh."inherit" = "text_default";
|
||||
socket."inherit" = "text_default";
|
||||
sql."inherit" = "text_default";
|
||||
srt."inherit" = "text_default";
|
||||
svelte."inherit" = "text_default";
|
||||
toml."inherit" = "text_default";
|
||||
tsx."inherit" = "text_default";
|
||||
txt."inherit" = "text_default";
|
||||
vim."inherit" = "text_default";
|
||||
xml."inherit" = "text_default";
|
||||
yaml."inherit" = "text_default";
|
||||
yml."inherit" = "text_default";
|
||||
|
||||
## web formats
|
||||
html.app_list = [
|
||||
{ command = "qutebrowser"; fork = true; silent = true; }
|
||||
{ command = "hx"; }
|
||||
{ command = "bat"; args = [ "--paging=always" ]; }
|
||||
];
|
||||
|
||||
## archive formats
|
||||
"7z".app_list = [
|
||||
{ command = "7z"; args = [ "x" ]; confirm_exit = true; }
|
||||
{ command = "file-roller"; fork = true; silent = true; }
|
||||
];
|
||||
bz2.app_list = [
|
||||
{ command = "tar"; args = [ "-xvjf" ]; confirm_exit = true; }
|
||||
{ command = "file-roller"; fork = true; silent = true; }
|
||||
];
|
||||
gz.app_list = [
|
||||
{ command = "tar"; args = [ "-xvzf" ]; confirm_exit = true; }
|
||||
{ command = "file-roller"; fork = true; silent = true; }
|
||||
];
|
||||
tar.app_list = [
|
||||
{ command = "tar"; args = [ "-xvf" ]; confirm_exit = true; }
|
||||
{ command = "file-roller"; fork = true; silent = true; }
|
||||
];
|
||||
tgz.app_list = [
|
||||
{ command = "tar"; args = [ "-xvzf" ]; confirm_exit = true; }
|
||||
{ command = "file-roller"; fork = true; silent = true; }
|
||||
];
|
||||
rar.app_list = [
|
||||
{ command = "unrar"; args = [ "x" ]; confirm_exit = true; }
|
||||
{ command = "file-roller"; fork = true; silent = true; }
|
||||
];
|
||||
xz.app_list = [
|
||||
{ command = "tar"; args = [ "-xvJf" ]; confirm_exit = true; }
|
||||
{ command = "file-roller"; fork = true; silent = true; }
|
||||
];
|
||||
zip.app_list = [
|
||||
{ command = "unzip"; confirm_exit = true; }
|
||||
{ command = "file-roller"; fork = true; silent = true; }
|
||||
];
|
||||
|
||||
## misc formats
|
||||
aup.app_list = [
|
||||
{ command = "audacity"; fork = true; silent = true; }
|
||||
];
|
||||
|
||||
m3u.app_list = [
|
||||
{ command = "hx"; }
|
||||
{ command = "mpv"; silent = true; }
|
||||
{ command = "bat"; confirm_exit = true; }
|
||||
];
|
||||
|
||||
## document
|
||||
odt."inherit" = "libreoffice_default";
|
||||
odf."inherit" = "libreoffice_default";
|
||||
ods."inherit" = "libreoffice_default";
|
||||
odp."inherit" = "libreoffice_default";
|
||||
|
||||
doc."inherit" = "libreoffice_default";
|
||||
docx."inherit" = "libreoffice_default";
|
||||
xls."inherit" = "libreoffice_default";
|
||||
xlsx."inherit" = "libreoffice_default";
|
||||
ppt."inherit" = "libreoffice_default";
|
||||
pptx."inherit" = "libreoffice_default";
|
||||
|
||||
epub."inherit" = "reader_default";
|
||||
pdf."inherit" = "reader_default";
|
||||
|
||||
## 3d files
|
||||
blend."inherit" = "blender_default";
|
||||
fbx."inherit" = "blender_default";
|
||||
glb."inherit" = "blender_default";
|
||||
gltf."inherit" = "blender_default";
|
||||
obj."inherit" = "blender_default";
|
||||
stl."inherit" = "blender_default";
|
||||
|
||||
kra.app_list = [
|
||||
{ command = "krita"; fork = true; silent = true; }
|
||||
];
|
||||
|
||||
kdenlive.app_list = [
|
||||
{ command = "kdenlive"; fork = true; silent = true; }
|
||||
];
|
||||
|
||||
tex.app_list = [
|
||||
{ command = "hx"; }
|
||||
{ command = "bat"; confirm_exit = true; }
|
||||
{ command = "pdflatex"; silent = true; }
|
||||
];
|
||||
|
||||
torrent.app_list = [
|
||||
{ command = "transmission-gtk"; fork = true; silent = true; }
|
||||
];
|
||||
};
|
||||
|
||||
## application/octet-stream
|
||||
application.subtype.octet-stream = {
|
||||
"inherit" = "video_default";
|
||||
};
|
||||
## text/*
|
||||
text = {
|
||||
"inherit" = "text_default";
|
||||
};
|
||||
video = {
|
||||
"inherit" = "video_default";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -1,76 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
programs.joshuto.theme = {
|
||||
tabs.styles = {
|
||||
active = {
|
||||
bg = "none";
|
||||
fg = "blue";
|
||||
bold = true;
|
||||
};
|
||||
inactive = {
|
||||
bg = "none";
|
||||
fg = "gray";
|
||||
bold = true;
|
||||
};
|
||||
scroll_front = {
|
||||
fg = "yellow";
|
||||
bold = true;
|
||||
};
|
||||
scroll_back = {
|
||||
fg = "yellow";
|
||||
bold = true;
|
||||
};
|
||||
};
|
||||
selection = {
|
||||
fg = "yellow";
|
||||
bold = true;
|
||||
prefix = " ";
|
||||
};
|
||||
visual_mode_selection = {
|
||||
fg = "light_red";
|
||||
bold = true;
|
||||
prefix = "v ";
|
||||
};
|
||||
regular = {
|
||||
fg = "white";
|
||||
};
|
||||
directory = {
|
||||
fg = "light_blue";
|
||||
bold = true;
|
||||
};
|
||||
link = {
|
||||
fg = "cyan";
|
||||
bold = true;
|
||||
};
|
||||
socket = {
|
||||
fg = "light_magenta";
|
||||
bold = true;
|
||||
};
|
||||
executable = {
|
||||
fg = "light_green";
|
||||
bold = true;
|
||||
};
|
||||
link_invalid = {
|
||||
fg = "red";
|
||||
bold = true;
|
||||
};
|
||||
tabs.chars = {
|
||||
active_prefix = "[";
|
||||
active_postfix = "]";
|
||||
inactive_prefix = " ";
|
||||
inactive_postfix = "";
|
||||
divider = " | ";
|
||||
scroll_front_prefix = "";
|
||||
scroll_front_postfix = "";
|
||||
scroll_front_prestring = "« ";
|
||||
scroll_front_poststring = " ";
|
||||
scroll_back_prefix = "";
|
||||
scroll_back_postfix = "";
|
||||
scroll_back_prestring = " ";
|
||||
scroll_back_poststring = " »";
|
||||
padding_prefix = " ";
|
||||
padding_postfix = " ";
|
||||
padding_fill = " ";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,43 +0,0 @@
|
|||
{ nixvim, inputs, ... }:
|
||||
{
|
||||
imports = [ inputs.nixvim.homeManagerModules.nixvim ./plugins ];
|
||||
programs.nixvim = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
vimdiffAlias = true;
|
||||
globals = {
|
||||
mapleader = " ";
|
||||
maplocalleader = " ";
|
||||
have_nerd_font = true;
|
||||
};
|
||||
opts = {
|
||||
number = true;
|
||||
relativenumber = true;
|
||||
mouse = "a";
|
||||
clipboard = {
|
||||
providers.wl-copy.enable = true;
|
||||
register = "unnamedplus";
|
||||
};
|
||||
breakindent = true;
|
||||
smarttab = true;
|
||||
tabstop = 4;
|
||||
shiftwidth = 4;
|
||||
softtabstop = 4;
|
||||
autoindent = true;
|
||||
undofile = true;
|
||||
ignorecase = true;
|
||||
smartcase = true;
|
||||
signcolumn = "yes";
|
||||
updatetime = 250;
|
||||
timeoutlen = 300;
|
||||
splitright = true;
|
||||
splitbelow = true;
|
||||
list = true;
|
||||
listchars.__raw = "{ tab = '» ', trail = '·', nbsp = '␣' }";
|
||||
inccommand = "split";
|
||||
cursorline = true;
|
||||
scrolloff = 10;
|
||||
hlsearch = true;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
# Inserts matching pairs of parens, brackets, etc.
|
||||
# https://nix-community.github.io/nixvim/plugins/nvim-autopairs/index.html
|
||||
programs.nixvim = {
|
||||
plugins.nvim-autopairs = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
# If you want to automatically add `(` after selecting a function or method
|
||||
# https://nix-community.github.io/nixvim/NeovimOptions/index.html?highlight=extraconfiglua#extraconfiglua
|
||||
extraConfigLua = ''
|
||||
require('cmp').event:on('confirm_done', require('nvim-autopairs.completion.cmp').on_confirm_done())
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -1,57 +0,0 @@
|
|||
{pkgs, ...}: {
|
||||
programs.nixvim = {
|
||||
# Dependencies
|
||||
#
|
||||
# https://nix-community.github.io/nixvim/NeovimOptions/index.html?highlight=extraplugins#extrapackages
|
||||
extraPackages = with pkgs; [
|
||||
# Used to format Lua code
|
||||
stylua
|
||||
];
|
||||
|
||||
# Autoformat
|
||||
# https://nix-community.github.io/nixvim/plugins/conform-nvim.html
|
||||
plugins.conform-nvim = {
|
||||
enable = true;
|
||||
settings= {
|
||||
notify_on_error = false;
|
||||
format_on_save = ''
|
||||
function(bufnr)
|
||||
-- Disable "format_on_save lsp_fallback" for lanuages that don't
|
||||
-- have a well standardized coding style. You can add additional
|
||||
-- lanuages here or re-enable it for the disabled ones.
|
||||
local disable_filetypes = { c = true, cpp = true }
|
||||
return {
|
||||
timeout_ms = 500,
|
||||
lsp_fallback = not disable_filetypes[vim.bo[bufnr].filetype]
|
||||
}
|
||||
end
|
||||
'';
|
||||
formatters_by_ft = {
|
||||
lua = ["stylua"];
|
||||
# Conform can also run multiple formatters sequentially
|
||||
# python = [ "isort "black" ];
|
||||
#
|
||||
# You can use a sublist to tell conform to run *until* a formatter
|
||||
# is found
|
||||
# javascript = [ [ "prettierd" "prettier" ] ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# https://nix-community.github.io/nixvim/keymaps/index.html
|
||||
keymaps = [
|
||||
{
|
||||
mode = "";
|
||||
key = "<leader>f";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('conform').format { async = true, lsp_fallback = true }
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "[F]ormat buffer";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
|
@ -1,145 +0,0 @@
|
|||
{
|
||||
programs.nixvim = {
|
||||
# Shows how to use the DAP plugin to debug your code.
|
||||
#
|
||||
# Primarily focused on configuring the debugger for Go, but can
|
||||
# be extended to other languages as well. That's why it's called
|
||||
# kickstart.nixvim and not ktichen-sink.nixvim ;)
|
||||
# https://nix-community.github.io/nixvim/plugins/dap/index.html
|
||||
plugins.dap = {
|
||||
enable = true;
|
||||
|
||||
extensions = {
|
||||
# Creates a beautiful debugger UI
|
||||
dap-ui = {
|
||||
enable = true;
|
||||
|
||||
# Set icons to characters that are more likely to work in every terminal.
|
||||
# Feel free to remove or use ones that you like more! :)
|
||||
# Don't feel like these are good choices.
|
||||
icons = {
|
||||
expanded = "▾";
|
||||
collapsed = "▸";
|
||||
current_frame = "*";
|
||||
};
|
||||
|
||||
controls = {
|
||||
icons = {
|
||||
pause = "⏸";
|
||||
play = "▶";
|
||||
step_into = "⏎";
|
||||
step_over = "⏭";
|
||||
step_out = "⏮";
|
||||
step_back = "b";
|
||||
run_last = "▶▶";
|
||||
terminate = "⏹";
|
||||
disconnect = "⏏";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Add your own debuggers here
|
||||
dap-go = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# https://nix-community.github.io/nixvim/keymaps/index.html
|
||||
keymaps = [
|
||||
{
|
||||
mode = "n";
|
||||
key = "<F5>";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('dap').continue()
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "Debug: Start/Continue";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<F1>";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('dap').step_into()
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "Debug: Step Into";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<F2>";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('dap').step_over()
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "Debug: Step Over";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<F3>";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('dap').step_out()
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "Debug: Step Out";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>b";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('dap').toggle_breakpoint()
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "Debug: Toggle Breakpoint";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>B";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('dap').set_breakpoint(vim.fn.input 'Breakpoint condition: ')
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "Debug: Set Breakpoint";
|
||||
};
|
||||
}
|
||||
# Toggle to see last session result. Without this, you can't see session output
|
||||
# in case of unhandled exception.
|
||||
{
|
||||
mode = "n";
|
||||
key = "<F7>";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('dapui').toggle()
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "Debug: See last session result.";
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
# https://nix-community.github.io/nixvim/NeovimOptions/index.html?highlight=extraconfiglua#extraconfiglua
|
||||
extraConfigLua = ''
|
||||
require('dap').listeners.after.event_initialized['dapui_config'] = require('dapui').open
|
||||
require('dap').listeners.before.event_terminated['dapui_config'] = require('dapui').close
|
||||
require('dap').listeners.before.event_exited['dapui_config'] = require('dapui').close
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -1,29 +0,0 @@
|
|||
{ nixvim, ... }:
|
||||
{
|
||||
imports = [
|
||||
./gitsigns.nix
|
||||
./which-key.nix
|
||||
./telescope.nix
|
||||
./conform.nix
|
||||
./lsp.nix
|
||||
./nvim-cmp.nix
|
||||
./mini.nix
|
||||
./treesitter.nix
|
||||
./indent-blankline.nix
|
||||
./autopairs.nix
|
||||
./neo-tree.nix
|
||||
];
|
||||
programs.nixvim = {
|
||||
plugins = {
|
||||
sleuth = {
|
||||
enable = true;
|
||||
};
|
||||
todo-comments = {
|
||||
enable = true;
|
||||
settings = {
|
||||
signs = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,219 +0,0 @@
|
|||
{
|
||||
programs.nixvim = {
|
||||
# Adds git related signs to the gutter, as well as utilities for managing changes
|
||||
# See `:help gitsigns` to understand what the configuration keys do
|
||||
# https://nix-community.github.io/nixvim/plugins/gitsigns/index.html
|
||||
plugins.gitsigns = {
|
||||
enable = true;
|
||||
settings = {
|
||||
signs = {
|
||||
add = {text = "+";};
|
||||
change = {text = "~";};
|
||||
delete = {text = "_";};
|
||||
topdelete = {text = "‾";};
|
||||
changedelete = {text = "~";};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# NOTE: add gitsigns recommended keymaps if you are interested
|
||||
/*
|
||||
# https://nix-community.github.io/nixvim/keymaps/index.html
|
||||
keymaps = [
|
||||
# Navigation
|
||||
{
|
||||
mode = "n";
|
||||
key = "]c";
|
||||
action.__raw = ''
|
||||
function()
|
||||
if vim.wo.diff then
|
||||
vim.cmd.normal { ']c', bang = true }
|
||||
else
|
||||
require('gitsigns').nav_hunk 'next'
|
||||
end
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "Jump to next git [C]hange";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "[c";
|
||||
action.__raw = ''
|
||||
function()
|
||||
if vim.wo.diff then
|
||||
vim.cmd.normal { '[c', bang = true }
|
||||
else
|
||||
require('gitsigns').nav_hunk 'prev'
|
||||
end
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "Jump to previous git [C]hange";
|
||||
};
|
||||
}
|
||||
# Actions
|
||||
# visual mode
|
||||
{
|
||||
mode = "v";
|
||||
key = "<leader>hs";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('gitsigns').stage_hunk { vim.fn.line '.', vim.fn.line 'v' }
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "stage git hunk";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "v";
|
||||
key = "<leader>hr";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('gitsigns').reset_hunk { vim.fn.line '.', vim.fn.line 'v' }
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "reset git hunk";
|
||||
};
|
||||
}
|
||||
# normal mode
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>hs";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('gitsigns').stage_hunk()
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "git [s]tage hunk";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>hr";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('gitsigns').reset_hunk()
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "git [r]eset hunk";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>hS";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('gitsigns').stage_buffer()
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "git [S]tage buffer";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>hu";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('gitsigns').undo_stage_hunk()
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "git [u]ndo stage hunk";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>hR";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('gitsigns').reset_buffer()
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "git [R]eset buffer";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>hp";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('gitsigns').preview_hunk()
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "git [p]review hunk";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>hb";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('gitsigns').blame_line()
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "git [b]lame line";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>hd";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('gitsigns').diffthis()
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "git [d]iff against index";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>hD";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('gitsigns').diffthis '@'
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "git [D]iff against last commit";
|
||||
};
|
||||
}
|
||||
# Toggles
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>tb";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('gitsigns').toggle_current_line_blame()
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "[T]oggle git show [b]lame line";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>tD";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('gitsigns').toggle_deleted()
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "[T]oggle git show [D]eleted";
|
||||
};
|
||||
}
|
||||
];
|
||||
*/
|
||||
};
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
programs.nixvim = {
|
||||
# Add indentation guides even on blank lines
|
||||
# For configuration see `:help ibl`
|
||||
# https://nix-community.github.io/nixvim/plugins/indent-blankline/index.html
|
||||
plugins.indent-blankline = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,50 +0,0 @@
|
|||
{
|
||||
programs.nixvim = {
|
||||
# Linting
|
||||
# https://nix-community.github.io/nixvim/plugins/lint/index.html
|
||||
plugins.lint = {
|
||||
enable = true;
|
||||
|
||||
# NOTE: Enabling these will cause errors unless these tools are installed
|
||||
lintersByFt = {
|
||||
nix = ["nix"];
|
||||
markdown = [
|
||||
"markdownlint"
|
||||
#vale
|
||||
];
|
||||
#clojure = ["clj-kondo"];
|
||||
#dockerfile = ["hadolint"];
|
||||
#inko = ["inko"];
|
||||
#janet = ["janet"];
|
||||
#json = ["jsonlint"];
|
||||
#rst = ["vale"];
|
||||
#ruby = ["ruby"];
|
||||
#terraform = ["tflint"];
|
||||
#text = ["vale"];
|
||||
};
|
||||
|
||||
# Create autocommand which carries out the actual linting
|
||||
# on the specified events.
|
||||
autoCmd = {
|
||||
callback.__raw = ''
|
||||
function()
|
||||
require('lint').try_lint()
|
||||
end
|
||||
'';
|
||||
group = "lint";
|
||||
event = [
|
||||
"BufEnter"
|
||||
"BufWritePost"
|
||||
"InsertLeave"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# https://nix-community.github.io/nixvim/NeovimOptions/autoGroups/index.html
|
||||
autoGroups = {
|
||||
lint = {
|
||||
clear = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,274 +0,0 @@
|
|||
{pkgs, ...}: {
|
||||
programs.nixvim = {
|
||||
# Dependencies
|
||||
# { 'Bilal2453/luvit-meta', lazy = true },
|
||||
#
|
||||
#
|
||||
# Allows extra capabilities providied by nvim-cmp
|
||||
# https://nix-community.github.io/nixvim/plugins/cmp-nvim-lsp.html
|
||||
plugins.cmp-nvim-lsp = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
# Useful status updates for LSP.
|
||||
# https://nix-community.github.io/nixvim/plugins/fidget/index.html
|
||||
plugins.fidget = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
# https://nix-community.github.io/nixvim/NeovimOptions/index.html?highlight=extraplugi#extraplugins
|
||||
extraPlugins = with pkgs.vimPlugins; [
|
||||
# NOTE: This is where you would add a vim plugin that is not implemented in Nixvim, also see extraConfigLuaPre below
|
||||
#
|
||||
# TODO: Add luvit-meta when Nixos package is added
|
||||
];
|
||||
|
||||
# https://nix-community.github.io/nixvim/NeovimOptions/autoGroups/index.html
|
||||
autoGroups = {
|
||||
"kickstart-lsp-attach" = {
|
||||
clear = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Brief aside: **What is LSP?**
|
||||
#
|
||||
# LSP is an initialism you've probably heard, but might not understand what it is.
|
||||
#
|
||||
# LSP stands for Language Server Protocol. It's a protocol that helps editors
|
||||
# and language tooling communicate in a standardized fashion.
|
||||
#
|
||||
# In general, you have a "server" which is some tool built to understand a particular
|
||||
# language (such as `gopls`, `lua_ls`, `rust_analyzer`, etc.). These Language Servers
|
||||
# (sometimes called LSP servers, but that's kind of like ATM Machine) are standalone
|
||||
# processes that communicate with some "client" - in this case, Neovim!
|
||||
#
|
||||
# LSP provides Neovim with features like:
|
||||
# - Go to definition
|
||||
# - Find references
|
||||
# - Autocompletion
|
||||
# - Symbol Search
|
||||
# - and more!
|
||||
#
|
||||
# Thus, Language Servers are external tools that must be installed separately from
|
||||
# Neovim which are configured below in the `server` section.
|
||||
#
|
||||
# If you're wondering about lsp vs treesitter, you can check out the wonderfully
|
||||
# and elegantly composed help section, `:help lsp-vs-treesitter`
|
||||
#
|
||||
# https://nix-community.github.io/nixvim/plugins/lsp/index.html
|
||||
plugins.lsp = {
|
||||
enable = true;
|
||||
|
||||
# Enable the following language servers
|
||||
# Feel free to add/remove any LSPs that you want here. They will automatically be installed.
|
||||
#
|
||||
# Add any additional override configuration in the following tables. Available keys are:
|
||||
# - cmd: Override the default command used to start the server
|
||||
# - filetypes: Override the default list of associated filetypes for the server
|
||||
# - capabilities: Override fields in capabilities. Can be used to disable certain LSP features.
|
||||
# - settings: Override the default settings passed when initializing the server.
|
||||
# For example, to see the options for `lua_ls`, you could go to: https://luals.github.io/wiki/settings/
|
||||
servers = {
|
||||
# clangd = {
|
||||
# enable = true;
|
||||
#}
|
||||
# gopls = {
|
||||
# enable = true;
|
||||
#}
|
||||
# pyright = {
|
||||
# enable = true;
|
||||
#}
|
||||
# rust_analyzer = {
|
||||
# enable = true;
|
||||
#}
|
||||
# ...etc. See `https://nix-community.github.io/nixvim/plugins/lsp` for a list of pre-configured LSPs
|
||||
#
|
||||
# Some languages (like typscript) have entire language plugins that can be useful:
|
||||
# `https://nix-community.github.io/nixvim/plugins/typescript-tools/index.html?highlight=typescript-tools#pluginstypescript-toolspackage`
|
||||
#
|
||||
# But for many setups the LSP (`tsserver`) will work just fine
|
||||
# tsserver = {
|
||||
# enable = true;
|
||||
#}
|
||||
|
||||
lua-ls = {
|
||||
enable = true;
|
||||
|
||||
# cmd = {
|
||||
#};
|
||||
# filetypes = {
|
||||
#};
|
||||
settings = {
|
||||
completion = {
|
||||
callSnippet = "Replace";
|
||||
};
|
||||
#diagnostics = {
|
||||
# disable = {
|
||||
# "missing-fields";
|
||||
#};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
keymaps = {
|
||||
# Diagnostic keymaps
|
||||
diagnostic = {
|
||||
"<leader>q" = {
|
||||
#mode = "n";
|
||||
action = "setloclist";
|
||||
desc = "Open diagnostic [Q]uickfix list";
|
||||
};
|
||||
};
|
||||
|
||||
extra = [
|
||||
# Jump to the definition of the word under your cusor.
|
||||
# This is where a variable was first declared, or where a function is defined, etc.
|
||||
# To jump back, press <C-t>.
|
||||
{
|
||||
mode = "n";
|
||||
key = "gd";
|
||||
action.__raw = "require('telescope.builtin').lsp_definitions";
|
||||
options = {
|
||||
desc = "LSP: [G]oto [D]efinition";
|
||||
};
|
||||
}
|
||||
# Find references for the word under your cursor.
|
||||
{
|
||||
mode = "n";
|
||||
key = "gr";
|
||||
action.__raw = "require('telescope.builtin').lsp_references";
|
||||
options = {
|
||||
desc = "LSP: [G]oto [R]eferences";
|
||||
};
|
||||
}
|
||||
# Jump to the implementation of the word under your cursor.
|
||||
# Useful when your language has ways of declaring types without an actual implementation.
|
||||
{
|
||||
mode = "n";
|
||||
key = "gI";
|
||||
action.__raw = "require('telescope.builtin').lsp_implementations";
|
||||
options = {
|
||||
desc = "LSP: [G]oto [I]mplementation";
|
||||
};
|
||||
}
|
||||
# Jump to the type of the word under your cursor.
|
||||
# Useful when you're not sure what type a variable is and you want to see
|
||||
# the definition of its *type*, not where it was *defined*.
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>D";
|
||||
action.__raw = "require('telescope.builtin').lsp_type_definitions";
|
||||
options = {
|
||||
desc = "LSP: Type [D]efinition";
|
||||
};
|
||||
}
|
||||
# Fuzzy find all the symbols in your current document.
|
||||
# Symbols are things like variables, functions, types, etc.
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>ds";
|
||||
action.__raw = "require('telescope.builtin').lsp_document_symbols";
|
||||
options = {
|
||||
desc = "LSP: [D]ocument [S]ymbols";
|
||||
};
|
||||
}
|
||||
# Fuzzy find all the symbols in your current workspace.
|
||||
# Similar to document symbols, except searches over your entire project.
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>ws";
|
||||
action.__raw = "require('telescope.builtin').lsp_dynamic_workspace_symbols";
|
||||
options = {
|
||||
desc = "LSP: [W]orkspace [S]ymbols";
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
lspBuf = {
|
||||
# Rename the variable under your cursor.
|
||||
# Most Language Servers support renaming across files, etc.
|
||||
"<leader>rn" = {
|
||||
action = "rename";
|
||||
desc = "LSP: [R]e[n]ame";
|
||||
};
|
||||
# Execute a code action, usually your cursor needs to be on top of an error
|
||||
# or a suggestion from your LSP for this to activate.
|
||||
"<leader>ca" = {
|
||||
#mode = "n";
|
||||
action = "code_action";
|
||||
desc = "LSP: [C]ode [A]ction";
|
||||
};
|
||||
# WARN: This is not Goto Definition, this is Goto Declaration.
|
||||
# For example, in C this would take you to the header.
|
||||
"gD" = {
|
||||
action = "declaration";
|
||||
desc = "LSP: [G]oto [D]eclaration";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# LSP servers and clients are able to communicate to each other what features they support.
|
||||
# By default, Neovim doesn't support everything that is in the LSP specification.
|
||||
# When you add nvim-cmp, luasnip, etc. Neovim now has *more* capabilities.
|
||||
# So, we create new capabilities with nvim cmp, and then broadcast that to the servers.
|
||||
# NOTE: This is done automatically by Nixvim when enabling cmp-nvim-lsp below is an example if you did want to add new capabilities
|
||||
#capabilities = ''
|
||||
# capabilities = vim.tbl_deep_extend('force', capabilities, require('cmp_nvim_lsp').default_capabilities())
|
||||
#'';
|
||||
|
||||
# This function gets run when an LSP attaches to a particular buffer.
|
||||
# That is to say, every time a new file is opened that is associated with
|
||||
# an lsp (for example, opening `main.rs` is associated with `rust_analyzer`) this
|
||||
# function will be executred to configure the current buffer
|
||||
# NOTE: This is an example of an attribute that takes raw lua
|
||||
onAttach = ''
|
||||
-- NOTE: Remember that Lua is a real programming language, and as such it is possible
|
||||
-- to define small helper and utility functions so you don't have to repeat yourself.
|
||||
--
|
||||
-- In this case, we create a function that lets us more easily define mappings specific
|
||||
-- for LSP related items. It sets the mode, buffer and description for us each time.
|
||||
local map = function(keys, func, desc)
|
||||
vim.keymap.set('n', keys, func, { buffer = bufnr, desc = 'LSP: ' .. desc })
|
||||
end
|
||||
|
||||
-- The following two autocommands are used to highlight references of the
|
||||
-- word under the cursor when your cursor rests there for a little while.
|
||||
-- See `:help CursorHold` for information about when this is executed
|
||||
--
|
||||
-- When you move your cursor, the highlights will be cleared (the second autocommand).
|
||||
if client and client.supports_method(vim.lsp.protocol.Methods.textDocument_documentHighlight) then
|
||||
local highlight_augroup = vim.api.nvim_create_augroup('kickstart-lsp-highlight', { clear = false })
|
||||
vim.api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, {
|
||||
buffer = bufnr,
|
||||
group = highlight_augroup,
|
||||
callback = vim.lsp.buf.document_highlight,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd({ 'CursorMoved', 'CursorMovedI' }, {
|
||||
buffer = bufnr,
|
||||
group = highlight_augroup,
|
||||
callback = vim.lsp.buf.clear_references,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd('LspDetach', {
|
||||
group = vim.api.nvim_create_augroup('kickstart-lsp-detach', { clear = true }),
|
||||
callback = function(event2)
|
||||
vim.lsp.buf.clear_references()
|
||||
vim.api.nvim_clear_autocmds { group = 'kickstart-lsp-highlight', buffer = event2.buf }
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
-- The following autocommand is used to enable inlay hints in your
|
||||
-- code, if the language server you are using supports them
|
||||
--
|
||||
-- This may be unwanted, since they displace some of your code
|
||||
if client and client.supports_method(vim.lsp.protocol.Methods.textDocument_inlayHint) then
|
||||
map('<leader>th', function()
|
||||
vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled { bufnr = event.buf })
|
||||
end, '[T]oggle Inlay [H]ints')
|
||||
end
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,50 +0,0 @@
|
|||
{
|
||||
programs.nixvim = {
|
||||
# Collection of various small independent plugins/modules
|
||||
# https://nix-community.github.io/nixvim/plugins/mini.html
|
||||
plugins.mini = {
|
||||
enable = true;
|
||||
|
||||
modules = {
|
||||
# Better Around/Inside textobjects
|
||||
#
|
||||
# Examples:
|
||||
# - va) - [V]isually select [A]round [)]paren
|
||||
# - yinq - [Y]ank [I]nside [N]ext [Q]uote
|
||||
# - ci' - [C]hange [I]nside [']quote
|
||||
ai = {
|
||||
n_lines = 500;
|
||||
};
|
||||
|
||||
# Add/delete/replace surroundings (brackets, quotes, etc.)
|
||||
#
|
||||
# Examples:
|
||||
# - saiw) - [S]urround [A]dd [I]nner [W]ord [)]Paren
|
||||
# - sd' - [S]urround [D]elete [']quotes
|
||||
# - sr)' - [S]urround [R]eplace [)] [']
|
||||
surround = {
|
||||
};
|
||||
|
||||
# Simple and easy statusline.
|
||||
# You could remove this setup call if you don't like it,
|
||||
# and try some other statusline plugin
|
||||
statusline = {
|
||||
use_icons.__raw = "vim.g.have_nerd_font";
|
||||
};
|
||||
|
||||
# ... and there is more!
|
||||
# Check out: https://github.com/echasnovski/mini.nvim
|
||||
};
|
||||
};
|
||||
|
||||
# You can configure sections in the statusline by overriding their
|
||||
# default behavior. For example, here we set the section for
|
||||
# cursor location to LINE:COLUMN
|
||||
# https://nix-community.github.io/nixvim/NeovimOptions/index.html?highlight=extraconfiglu#extraconfiglua
|
||||
extraConfigLua = ''
|
||||
require('mini.statusline').section_location = function()
|
||||
return '%2l:%-2v'
|
||||
end
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
{
|
||||
programs.nixvim = {
|
||||
# Neo-tree is a Neovim plugin to browse the file system
|
||||
# https://nix-community.github.io/nixvim/plugins/neo-tree/index.html?highlight=neo-tree#pluginsneo-treepackage
|
||||
plugins.neo-tree = {
|
||||
enable = true;
|
||||
|
||||
filesystem = {
|
||||
window = {
|
||||
mappings = {
|
||||
"\\" = "close_window";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# https://nix-community.github.io/nixvim/keymaps/index.html
|
||||
keymaps = [
|
||||
{
|
||||
key = "\\";
|
||||
action = "<cmd>Neotree reveal<cr>";
|
||||
options = {
|
||||
desc = "NeoTree reveal";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
|
@ -1,130 +0,0 @@
|
|||
{
|
||||
programs.nixvim = {
|
||||
# Dependencies
|
||||
#
|
||||
# Snippet Engine & its associated nvim-cmp source
|
||||
# https://nix-community.github.io/nixvim/plugins/luasnip/index.html
|
||||
plugins.luasnip = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
# https://nix-community.github.io/nixvim/plugins/cmp-nvim-lsp.html
|
||||
plugins.cmp-nvim-lsp = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
# https://nix-community.github.io/nixvim/plugins/cmp-path.html
|
||||
plugins.cmp-path = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
# `friendly-snippets` contains a variety of premade snippets
|
||||
# See the README about individual language/framework/plugin snippets:
|
||||
# https://github.com/rafamadriz/friendly-snippets
|
||||
# https://nix-community.github.io/nixvim/plugins/friendly-snippets.html
|
||||
# plugins.friendly-snippets = {
|
||||
# enable = true;
|
||||
# };
|
||||
|
||||
# TODO: Waiting on this bug to be fixed https://github.com/NixOS/nixpkgs/issues/306367
|
||||
# https://nix-community.github.io/nixvim/NeovimOptions/index.html?highlight=extralua#extraluapackages
|
||||
extraLuaPackages = ps: [
|
||||
# Required by luasnip
|
||||
ps.jsregexp
|
||||
];
|
||||
|
||||
# Autocompletion
|
||||
# See `:help cmp`
|
||||
# https://nix-community.github.io/nixvim/plugins/cmp/index.html
|
||||
plugins.cmp = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
snippet = {
|
||||
expand = ''
|
||||
function(args)
|
||||
require('luasnip').lsp_expand(args.body)
|
||||
end
|
||||
'';
|
||||
};
|
||||
|
||||
completion = {
|
||||
completeopt = "menu,menuone,noinsert";
|
||||
};
|
||||
|
||||
# For an understanding of why these mappings were
|
||||
# chosen, you will need to read `:help ins-completion`
|
||||
#
|
||||
# No, but seriously, Please read `:help ins-completion`, it is really good!
|
||||
mapping = {
|
||||
# Select the [n]ext item
|
||||
"<C-n>" = "cmp.mapping.select_next_item()";
|
||||
# Select the [p]revious item
|
||||
"<C-p>" = "cmp.mapping.select_prev_item()";
|
||||
# Scroll the documentation window [b]ack / [f]orward
|
||||
"<C-b>" = "cmp.mapping.scroll_docs(-4)";
|
||||
"<C-f>" = "cmp.mapping.scroll_docs(4)";
|
||||
# Accept ([y]es) the completion.
|
||||
# This will auto-import if your LSP supports it.
|
||||
# This will expand snippets if the LSP sent a snippet.
|
||||
"<C-y>" = "cmp.mapping.confirm { select = true }";
|
||||
# If you prefer more traditional completion keymaps,
|
||||
# you can uncomment the following lines.
|
||||
# "<CR>" = "cmp.mapping.confirm { select = true }";
|
||||
# "<Tab>" = "cmp.mapping.select_next_item()";
|
||||
# "<S-Tab>" = "cmp.mapping.select_prev_item()";
|
||||
|
||||
# Manually trigger a completion from nvim-cmp.
|
||||
# Generally you don't need this, because nvim-cmp will display
|
||||
# completions whenever it has completion options available.
|
||||
"<C-Space>" = "cmp.mapping.complete {}";
|
||||
|
||||
# Think of <c-l> as moving to the right of your snippet expansion.
|
||||
# So if you have a snippet that's like:
|
||||
# function $name($args)
|
||||
# $body
|
||||
# end
|
||||
#
|
||||
# <c-l> will move you to the right of the expansion locations.
|
||||
# <c-h> is similar, except moving you backwards.
|
||||
"<C-l>" = ''
|
||||
cmp.mapping(function()
|
||||
if luasnip.expand_or_locally_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
end
|
||||
end, { 'i', 's' })
|
||||
'';
|
||||
"<C-h>" = ''
|
||||
cmp.mapping(function()
|
||||
if luasnip.locally_jumpable(-1) then
|
||||
luasnip.jump(-1)
|
||||
end
|
||||
end, { 'i', 's' })
|
||||
'';
|
||||
|
||||
# For more advanced Luasnip keymaps (e.g. selecting choice nodes, expansion) see:
|
||||
# https://github.com/L3MON4D3/LuaSnip?tab=readme-ov-file#keymaps
|
||||
};
|
||||
|
||||
# WARNING: If plugins.cmp.autoEnableSources Nixivm will automatically enable the
|
||||
# corresponding source plugins. This will work only when this option is set to a list.
|
||||
# If you use a raw lua string, you will need to explicitly enable the relevant source
|
||||
# plugins in your nixvim configuration.
|
||||
sources = [
|
||||
{
|
||||
name = "luasnip";
|
||||
}
|
||||
# Adds other completion capabilites.
|
||||
# nvim-cmp does not ship with all sources by default. They are split
|
||||
# into multiple repos for maintenance purposes.
|
||||
{
|
||||
name = "nvim_lsp";
|
||||
}
|
||||
{
|
||||
name = "path";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,169 +0,0 @@
|
|||
{
|
||||
programs.nixvim = {
|
||||
# Fuzzy Finder (files, lsp, etc)
|
||||
# https://nix-community.github.io/nixvim/plugins/telescope/index.html
|
||||
plugins.telescope = {
|
||||
# Telescope is a fuzzy finder that comes with a lot of different things that
|
||||
# it can fuzzy find! It's more than just a "file finder", it can search
|
||||
# many different aspects of Neovim, your workspace, LSP, and more!
|
||||
#
|
||||
# The easiest way to use Telescope, is to start by doing something like:
|
||||
# :Telescope help_tags
|
||||
#
|
||||
# After running this command, a window will open up and you're able to
|
||||
# type in the prompt window. You'll see a list of `help_tags` options and
|
||||
# a corresponding preview of the help.
|
||||
#
|
||||
# Two important keymaps to use while in Telescope are:
|
||||
# - Insert mode: <c-/>
|
||||
# - Normal mode: ?
|
||||
#
|
||||
# This opens a window that shows you all of the keymaps for the current
|
||||
# Telescope picker. This is really useful to discover what Telescope can
|
||||
# do as well as how to actually do it!
|
||||
#
|
||||
# [[ Configure Telescope ]]
|
||||
# See `:help telescope` and `:help telescope.setup()`
|
||||
enable = true;
|
||||
|
||||
# Enable Telescope extensions
|
||||
extensions = {
|
||||
fzf-native.enable = true;
|
||||
ui-select.enable = true;
|
||||
};
|
||||
|
||||
# You can put your default mappings / updates / etc. in here
|
||||
# See `:help telescope.builtin`
|
||||
keymaps = {
|
||||
"<leader>sh" = {
|
||||
mode = "n";
|
||||
action = "help_tags";
|
||||
options = {
|
||||
desc = "[S]earch [H]elp";
|
||||
};
|
||||
};
|
||||
"<leader>sk" = {
|
||||
mode = "n";
|
||||
action = "keymaps";
|
||||
options = {
|
||||
desc = "[S]earch [K]eymaps";
|
||||
};
|
||||
};
|
||||
"<leader>sf" = {
|
||||
mode = "n";
|
||||
action = "find_files";
|
||||
options = {
|
||||
desc = "[S]earch [F]iles";
|
||||
};
|
||||
};
|
||||
"<leader>ss" = {
|
||||
mode = "n";
|
||||
action = "builtin";
|
||||
options = {
|
||||
desc = "[S]earch [S]elect Telescope";
|
||||
};
|
||||
};
|
||||
"<leader>sw" = {
|
||||
mode = "n";
|
||||
action = "grep_string";
|
||||
options = {
|
||||
desc = "[S]earch current [W]ord";
|
||||
};
|
||||
};
|
||||
"<leader>sg" = {
|
||||
mode = "n";
|
||||
action = "live_grep";
|
||||
options = {
|
||||
desc = "[S]earch by [G]rep";
|
||||
};
|
||||
};
|
||||
"<leader>sd" = {
|
||||
mode = "n";
|
||||
action = "diagnostics";
|
||||
options = {
|
||||
desc = "[S]earch [D]iagnostics";
|
||||
};
|
||||
};
|
||||
"<leader>sr" = {
|
||||
mode = "n";
|
||||
action = "resume";
|
||||
options = {
|
||||
desc = "[S]earch [R]esume";
|
||||
};
|
||||
};
|
||||
"<leader>s" = {
|
||||
mode = "n";
|
||||
action = "oldfiles";
|
||||
options = {
|
||||
desc = "[S]earch Recent Files ('.' for repeat)";
|
||||
};
|
||||
};
|
||||
"<leader><leader>" = {
|
||||
mode = "n";
|
||||
action = "buffers";
|
||||
options = {
|
||||
desc = "[ ] Find existing buffers";
|
||||
};
|
||||
};
|
||||
};
|
||||
settings = {
|
||||
extensions.__raw = "{ ['ui-select'] = { require('telescope.themes').get_dropdown() } }";
|
||||
};
|
||||
};
|
||||
|
||||
# https://nix-community.github.io/nixvim/keymaps/index.html
|
||||
keymaps = [
|
||||
# Slightly advanced example of overriding default behavior and theme
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>/";
|
||||
# You can pass additional configuration to Telescope to change the theme, layout, etc.
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('telescope.builtin').current_buffer_fuzzy_find(
|
||||
require('telescope.themes').get_dropdown {
|
||||
winblend = 10,
|
||||
previewer = false
|
||||
}
|
||||
)
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "[/] Fuzzily search in current buffer";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>s/";
|
||||
# It's also possible to pass additional configuration options.
|
||||
# See `:help telescope.builtin.live_grep()` for information about particular keys
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('telescope.builtin').live_grep {
|
||||
grep_open_files = true,
|
||||
prompt_title = 'Live Grep in Open Files'
|
||||
}
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "[S]earch [/] in Open Files";
|
||||
};
|
||||
}
|
||||
# Shortcut for searching your Neovim configuration files
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>sn";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('telescope.builtin').find_files {
|
||||
cwd = vim.fn.stdpath 'config'
|
||||
}
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "[S]earch [N]eovim files";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
|
@ -1,47 +0,0 @@
|
|||
{
|
||||
programs.nixvim = {
|
||||
# Highlight, edit, and navigate code
|
||||
# https://nix-community.github.io/nixvim/plugins/treesitter/index.html
|
||||
plugins.treesitter = {
|
||||
enable = true;
|
||||
|
||||
# TODO: Don't think I need this as nixGrammars is true which should auto install these???
|
||||
settings = {
|
||||
ensureInstalled = [
|
||||
"bash"
|
||||
"c"
|
||||
"diff"
|
||||
"html"
|
||||
"lua"
|
||||
"luadoc"
|
||||
"markdown"
|
||||
"markdown_inline"
|
||||
"query"
|
||||
"vim"
|
||||
"vimdoc"
|
||||
];
|
||||
|
||||
highlight = {
|
||||
enable = true;
|
||||
|
||||
# Some languages depend on vim's regex highlighting system (such as Ruby) for indent rules.
|
||||
additional_vim_regex_highlighting = true;
|
||||
};
|
||||
|
||||
indent = {
|
||||
enable = true;
|
||||
disable = [
|
||||
"ruby"
|
||||
];
|
||||
};
|
||||
|
||||
# There are additional nvim-treesitter modules that you can use to interact
|
||||
# with nvim-treesitter. You should go explore a few and see what interests you:
|
||||
#
|
||||
# - Incremental selection: Included, see `:help nvim-treesitter-incremental-selection-mod`
|
||||
# - Show your current context: https://nix-community.github.io/nixvim/plugins/treesitter-context/index.html
|
||||
# - Treesitter + textobjects: https://nix-community.github.io/nixvim/plugins/treesitter-textobjects/index.html
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,47 +0,0 @@
|
|||
{
|
||||
programs.nixvim = {
|
||||
# Useful plugin to show you pending keybinds.
|
||||
# https://nix-community.github.io/nixvim/plugins/which-key/index.html
|
||||
plugins.which-key = {
|
||||
enable = true;
|
||||
|
||||
# Document existing key chains
|
||||
settings = {
|
||||
spec = [
|
||||
{
|
||||
__unkeyed-1 = "<leader>c";
|
||||
group = "[C]ode";
|
||||
}
|
||||
{
|
||||
__unkeyed-1 = "<leader>d";
|
||||
group = "[D]ocument";
|
||||
}
|
||||
{
|
||||
__unkeyed-1 = "<leader>r";
|
||||
group = "[R]ename";
|
||||
}
|
||||
{
|
||||
__unkeyed-1 = "<leader>s";
|
||||
group = "[S]earch";
|
||||
}
|
||||
{
|
||||
__unkeyed-1 = "<leader>w";
|
||||
group = "[W]orkspace";
|
||||
}
|
||||
{
|
||||
__unkeyed-1 = "<leader>t";
|
||||
group = "[T]oggle";
|
||||
}
|
||||
{
|
||||
__unkeyed-1 = "<leader>h";
|
||||
group = "Git [H]unk";
|
||||
mode = [
|
||||
"n"
|
||||
"v"
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -2,7 +2,6 @@
|
|||
{
|
||||
home.packages = with pkgs; [
|
||||
fff
|
||||
joshuto
|
||||
|
||||
bat
|
||||
fzf
|
||||
|
@ -11,7 +10,6 @@
|
|||
lutgen
|
||||
|
||||
micro
|
||||
helix
|
||||
|
||||
inxi
|
||||
zoxide
|
||||
|
|
|
@ -3,9 +3,14 @@
|
|||
programs.yazi.keymap = {
|
||||
manager = {
|
||||
prepend_keymap = [
|
||||
# NAVIGATE
|
||||
# MAIN
|
||||
{ on = "q"; run = "close"; }
|
||||
{ on = "l"; run = "plugin --sync smart-enter"; }
|
||||
{ on = "Enter"; run = "plugin --sync smart-enter"; }
|
||||
{ on = "!"; run = "shell '$SHELL' --block --confirm"; }
|
||||
|
||||
{ on = "<Esc>"; run = "close"; }
|
||||
{ on = "<Right>"; run = "plugin --sync smart-enter"; }
|
||||
{ on = "<Enter>"; run = "plugin --sync smart-enter"; }
|
||||
|
||||
# VISUAL
|
||||
{ on = [ "v" "m" ]; run = "plugin --sync max-preview"; }
|
||||
|
@ -41,8 +46,8 @@
|
|||
};
|
||||
completion = {
|
||||
prepend_keymap = [
|
||||
{ on = "C-j"; run = "arrow 1"; }
|
||||
{ on = "C-k"; run = "arrow -1"; }
|
||||
{ on = "<C-j>"; run = "arrow 1"; }
|
||||
{ on = "<C-k>"; run = "arrow -1"; }
|
||||
# { on = "C-l"; run = "lose --submit" "close_input --submit" ; }
|
||||
];
|
||||
};
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
{ pkgs, inputs, ... }:
|
||||
let
|
||||
ypkg = inputs.yazi.packages.${pkgs.system}.default;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./binds.nix
|
||||
|
@ -9,7 +12,7 @@
|
|||
];
|
||||
programs.yazi = {
|
||||
enable = true;
|
||||
package = inputs.yazi.packages.${pkgs.system}.default;
|
||||
package = ypkg;
|
||||
settings = {
|
||||
manager = {
|
||||
ratio = [ 1 4 4 ];
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
hovered = { fg = "#${base00}"; bg = "#${base0D}"; bold = true; };
|
||||
preview_hovered = { underline = false; };
|
||||
|
||||
tab_active = { fg = "#${base01}"; bg = "#${base06}"; };
|
||||
tab_inactive = { fg = "#${base00}"; bg = "#${base04}"; };
|
||||
tab_active = { fg = "#${base01}"; bg = "#${base0E}"; };
|
||||
tab_inactive = { fg = "#${base06}"; bg = "#${base00}"; };
|
||||
tab_width = 1;
|
||||
|
||||
border_style = { fg = "#${base00}"; };
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, fetchPypi, python3Packages }:
|
||||
{ lib, pkgs, fetchPypi, python3Packages }:
|
||||
|
||||
python3Packages.buildPythonApplication rec{
|
||||
pname = "eggella";
|
||||
|
|
|
@ -3,6 +3,5 @@
|
|||
home.packages = with pkgs; [
|
||||
(callPackage ./anicliru/anicli-ru.nix { })
|
||||
(callPackage ./torrserver/default.nix { })
|
||||
# (callPackage ./tgt/default.nix { })
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
{ lib, fetchFromGitHub, rustPlatform }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "tgt";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FedericoBruzzone";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-8Fcki7gkQNUMvMoi1amBf/am1p018keCWc9iNkDqYRA=";
|
||||
};
|
||||
|
||||
cargoHash = lib.fakeHash;
|
||||
|
||||
meta = {
|
||||
description = "A fast line-oriented regex search tool, similar to ag and ack";
|
||||
homepage = "https://github.com/BurntSushi/ripgrep";
|
||||
license = lib.licenses.unlicense;
|
||||
maintainers = [ "azikx" ];
|
||||
};
|
||||
}
|
|
@ -22,7 +22,7 @@ stdenv.mkDerivation {
|
|||
|
||||
meta = with lib; {
|
||||
description = "Torrserver";
|
||||
homepage = "https://github.com/yt-dlp/yt-dlp";
|
||||
homepage = "https://github.com/YouROK/TorrServer";
|
||||
license = licenses.unlicense;
|
||||
meta.platforms = platforms.all;
|
||||
mainProgram = "torrserver";
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
./spotify
|
||||
./obs-studio
|
||||
./ayugram
|
||||
./firefox
|
||||
# ./firefox
|
||||
./floorp
|
||||
./qbittorrent
|
||||
./qutebrowser
|
||||
|
|
|
@ -4,8 +4,6 @@
|
|||
#TabsToolbar { display: none !important; }
|
||||
#nav-bar { width: 100vw !important; }
|
||||
|
||||
|
||||
|
||||
#browser { position: relative; }
|
||||
#sidebar-box[sidebarcommand*="tabcenter"] #sidebar-header { display: none; }
|
||||
|
||||
|
@ -21,7 +19,7 @@
|
|||
|
||||
border-right: none;
|
||||
|
||||
transition: all 0.2s ease;
|
||||
transition: all 0.8s ease;
|
||||
|
||||
overflow: hidden;
|
||||
|
||||
|
|
|
@ -6,6 +6,9 @@
|
|||
home.packages = with pkgs; [
|
||||
home-manager
|
||||
|
||||
# (vivaldi.override {
|
||||
# isSnapshot = true;
|
||||
# })
|
||||
vieb
|
||||
qutebrowser
|
||||
vesktop
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
{ pkgs, config, lib, ... }:
|
||||
{
|
||||
xdg.configFile = {
|
||||
xdg.configFile = with config.lib.stylix.colors; {
|
||||
"nwg-drawer/drawer.css".text = ''
|
||||
window {
|
||||
background-color: #${config.lib.stylix.colors.base00};
|
||||
background-color: #${base00};
|
||||
color: #eeeeee;
|
||||
}
|
||||
|
||||
button {
|
||||
color: #${config.lib.stylix.colors.base04};
|
||||
background-color: #${config.lib.stylix.colors.base00};
|
||||
color: #${base04};
|
||||
background-color: #${base00};
|
||||
}
|
||||
|
||||
button:hover {
|
||||
color: #${config.lib.stylix.colors.base04};
|
||||
background-color: #${config.lib.stylix.colors.base01};
|
||||
color: #${base04};
|
||||
background-color: #${base01};
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
{ pkgs, config, ... }:
|
||||
let
|
||||
hmdir = config.home.homeDirectory;
|
||||
in
|
||||
{
|
||||
xdg = {
|
||||
portal = {
|
||||
enable = true;
|
||||
# xdgOpenUsePortal = true;
|
||||
config.common.default = "gtk";
|
||||
extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-hyprland
|
||||
|
@ -13,20 +15,27 @@
|
|||
mime = {
|
||||
enable = true;
|
||||
};
|
||||
mimeApps = {
|
||||
# defaultApplications = {
|
||||
# "default-web-browser" = [ "floorp.desktop" ];
|
||||
# "text/html" = [ "floorp.desktop" ];
|
||||
# "x-scheme-handler/http" = [ "floorp.desktop" ];
|
||||
# "x-scheme-handler/https" = [ "floorp.desktop" ];
|
||||
# "x-scheme-handler/about" = [ "floorp.desktop" ];
|
||||
# "x-scheme-handler/unknown" = [ "floorp.desktop" ];
|
||||
# };
|
||||
};
|
||||
userDirs = {
|
||||
enable = true;
|
||||
createDirectories = true;
|
||||
desktop = "${config.home.homeDirectory}/Desktop";
|
||||
documents = "${config.home.homeDirectory}/Documents";
|
||||
download = "${config.home.homeDirectory}/Downloads";
|
||||
music = "${config.home.homeDirectory}/Music";
|
||||
pictures = "${config.home.homeDirectory}/Pictures";
|
||||
publicShare = "${config.home.homeDirectory}/";
|
||||
templates = "${config.home.homeDirectory}/";
|
||||
videos = "${config.home.homeDirectory}/Videos";
|
||||
};
|
||||
mimeApps = {
|
||||
|
||||
desktop = "${hmdir}/Desktop";
|
||||
documents = "${hmdir}/Documents";
|
||||
download = "${hmdir}/Downloads";
|
||||
music = "${hmdir}/Music";
|
||||
pictures = "${hmdir}/Pictures";
|
||||
publicShare = "${hmdir}/";
|
||||
templates = "${hmdir}/";
|
||||
videos = "${hmdir}/Videos";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,8 +2,6 @@
|
|||
{
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
enableZshIntegration = true;
|
||||
settings = {
|
||||
add_newline = true;
|
||||
format = lib.concatStrings [
|
||||
|
|
|
@ -1,26 +1,21 @@
|
|||
{ pkgs, lib, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
adw-gtk3
|
||||
google-cursor
|
||||
(papirus-icon-theme.override {
|
||||
color = "yaru";
|
||||
withElementary = false;
|
||||
})
|
||||
|
||||
noto-fonts
|
||||
noto-fonts-cjk
|
||||
openmoji-color
|
||||
|
||||
monaspace
|
||||
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
|
||||
(nerdfonts.override { fonts = [ "FiraCode" "JetBrainsMono" ]; })
|
||||
];
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.papirus-icon-theme;
|
||||
};
|
||||
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.papirus-icon-theme.override { color = "yaru"; };
|
||||
};
|
||||
font = lib.mkForce {
|
||||
name = "JetBrainsMono NerdFont";
|
||||
package = pkgs.nerdfonts.override { fonts = [ "FiraCode" "JetBrainsMono" ]; };
|
||||
size = 12;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,8 +2,5 @@
|
|||
qt = {
|
||||
enable = true;
|
||||
platformTheme.name = "qtct";
|
||||
# style = {
|
||||
# name = "kvantum";
|
||||
# };
|
||||
};
|
||||
}
|
||||
|
|
|
@ -35,12 +35,9 @@
|
|||
nushell.enable = true;
|
||||
hyprland.enable = true;
|
||||
sway.enable = true;
|
||||
# waybar = { enable = true; enableCenterBackColors = true; enableLeftBackColors = true; enableRightBackColors = true; };
|
||||
foot.enable = true;
|
||||
kitty = { enable = true; variant256Colors = false; };
|
||||
kitty.enable = true;
|
||||
gtk.enable = true;
|
||||
# kde.enable = true;
|
||||
# helix.enable = true;
|
||||
nixvim.enable = true;
|
||||
yazi.enable = true;
|
||||
fzf.enable = true;
|
||||
|
@ -49,7 +46,7 @@
|
|||
mangohud.enable = true;
|
||||
vesktop.enable = true;
|
||||
qutebrowser.enable = true;
|
||||
firefox = { enable = true; };
|
||||
firefox.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -8,23 +8,12 @@
|
|||
];
|
||||
home.packages = with pkgs; [
|
||||
hyprcursor
|
||||
|
||||
kitty
|
||||
|
||||
swaybg
|
||||
swaynotificationcenter
|
||||
mako
|
||||
|
||||
nwg-drawer
|
||||
inputs.anyrun.packages."x86_64-linux".anyrun
|
||||
|
||||
grimblast
|
||||
# sway-contrib.grimshot
|
||||
wf-recorder
|
||||
|
||||
light
|
||||
# swaylock
|
||||
fprintd
|
||||
wl-clipboard
|
||||
hyprpicker
|
||||
];
|
||||
|
|
|
@ -10,6 +10,4 @@ in
|
|||
xwayland.enable = true;
|
||||
systemd.enable = true;
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./swaylock
|
||||
./mako
|
||||
./waybar
|
||||
./swaync
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, config, lib, ...}:
|
||||
{ config, lib, ...}:
|
||||
{
|
||||
services.mako = with config.lib.stylix.colors; {
|
||||
enable = true;
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
programs.swaylock = {
|
||||
enable = false;
|
||||
package = pkgs.swaylock-effects;
|
||||
settings = {
|
||||
image = "~/.walls/wp.png";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,107 +0,0 @@
|
|||
{ config, ... }:
|
||||
{
|
||||
imports = [ ./style.nix ];
|
||||
programs.waybar = with config.lib.stylix.colors; {
|
||||
enable = true;
|
||||
settings = {
|
||||
mainBar = {
|
||||
layer = "top";
|
||||
position = "bottom";
|
||||
height = 1;
|
||||
modules-left = [
|
||||
"custom/launcher"
|
||||
"custom/separator"
|
||||
"pulseaudio"
|
||||
"backlight"
|
||||
"hyprland/language"
|
||||
];
|
||||
modules-center = [
|
||||
"hyprland/workspaces"
|
||||
];
|
||||
modules-right = [
|
||||
"custom/date"
|
||||
"clock#time"
|
||||
"battery"
|
||||
];
|
||||
|
||||
# LEFT MODULES
|
||||
"custom/launcher" = {
|
||||
format = "<span color='#${base0C}' font='17'></span> {}";
|
||||
tooltip = false;
|
||||
};
|
||||
"custom/separator" = {
|
||||
format = "/";
|
||||
interval = 1;
|
||||
tooltip = false;
|
||||
};
|
||||
"pulseaudio" = {
|
||||
format = "{icon} {volume}%";
|
||||
format-icons = {
|
||||
default = [ "" " " " " ];
|
||||
headphone = [ " " ];
|
||||
};
|
||||
format-muted = [ " " ];
|
||||
scroll-step = 3;
|
||||
on-click = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||
tooltip = false;
|
||||
};
|
||||
"backlight" = {
|
||||
device = "intel_backlight";
|
||||
format = "{icon} {percent}%";
|
||||
format-icons = [ " " " " " " " " " " " " " " " " " " " " ];
|
||||
scroll-step = 1;
|
||||
tooltip = false;
|
||||
};
|
||||
"hyprland/language" = {
|
||||
format = " {}";
|
||||
format-en = "EN";
|
||||
format-ru = "RU";
|
||||
keyboard-name = "at-translated-set-2-keyboard";
|
||||
tooltip = false;
|
||||
};
|
||||
|
||||
# CENTER MODULES
|
||||
"hyprland/workspaces" = {
|
||||
on-click = "activate";
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
"1" = "一";
|
||||
"2" = "二";
|
||||
"3" = "三";
|
||||
"4" = "四";
|
||||
"5" = "五";
|
||||
"6" = "六";
|
||||
"7" = "七";
|
||||
"8" = "八";
|
||||
"9" = "九";
|
||||
};
|
||||
persistent-workspaces = {
|
||||
"*" = [ 1 2 3 4 5 6 7 8 9 ];
|
||||
};
|
||||
};
|
||||
|
||||
# RIGHT MODULES
|
||||
"custom/date" = {
|
||||
exec = ''date +\" %e %b\"'';
|
||||
interval = 1;
|
||||
tooltip = false;
|
||||
};
|
||||
"clock#time" = {
|
||||
format = " {:%H:%M}";
|
||||
interval = 1;
|
||||
tooltip = false;
|
||||
};
|
||||
"battery" = {
|
||||
format = "{icon} {capacity}%";
|
||||
format-alt = "{icon} {time}";
|
||||
format-charging = "#${base0D}'></span> {capacity}%";
|
||||
format-icons = [ "" "" "" "" "" "" "" "" "" "" ];
|
||||
states = {
|
||||
critical = 15;
|
||||
warning = 30;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,163 +0,0 @@
|
|||
{ config, ... }:
|
||||
{
|
||||
xdg.configFile = with config.lib.stylix.colors; {
|
||||
"waybar/style.css".text = ''
|
||||
* {
|
||||
font-family: JetBrainsMono NerdFont, SourceHanSansJP;
|
||||
font-weight: bold;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background-color: transparent;
|
||||
color: #${base06};
|
||||
}
|
||||
|
||||
window#waybar > box {
|
||||
margin: 5px 0px 0px 0px;
|
||||
background-color: #${base00};
|
||||
border-top: 0px;
|
||||
border-bottom: 0;
|
||||
border-style: solid;
|
||||
border-color: #3C3836;
|
||||
box-shadow: 1 1 3 1px #101010;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
background-color: #${base03};
|
||||
border-radius: 20px;
|
||||
margin: 2px;
|
||||
padding: 0px;
|
||||
padding-right: 6px;
|
||||
padding-left: 6px;
|
||||
color: #${base06};
|
||||
min-height: 25px;
|
||||
transition: all 0.4s ease-in-out;
|
||||
}
|
||||
|
||||
#workspaces button label{
|
||||
color: #${base06};
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
#workspaces button.empty{
|
||||
background: #${base02};
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
background: radial-gradient(circle, #${base06} 0%, #${base0D} 50%, #${base0B} 100%);
|
||||
background-size: 400% 400%;
|
||||
animation: gradient 5s linear infinite;
|
||||
transition: all 0.3s ease-in-out;
|
||||
border-color: #45475a;
|
||||
}
|
||||
|
||||
#workspaces button.active label {
|
||||
color: #${base02};
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
@keyframes gradient {
|
||||
0% {
|
||||
background-position: 0px 50px;
|
||||
}
|
||||
50% {
|
||||
background-position: 100px 30px;
|
||||
}
|
||||
100% {
|
||||
background-position: 0px 50px;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes gradient_f {
|
||||
0% {
|
||||
background-position: 0px 200px;
|
||||
}
|
||||
50% {
|
||||
background-position: 200px 0px;
|
||||
}
|
||||
100% {
|
||||
background-position: 400px 200px;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes gradient_f_nh {
|
||||
0% {
|
||||
background-position: 0px 200px;
|
||||
}
|
||||
100% {
|
||||
background-position: 200px 200px;
|
||||
}
|
||||
}
|
||||
|
||||
#custom-date,
|
||||
#battery,
|
||||
#backlight
|
||||
#clock,
|
||||
#pulseaudio,
|
||||
#workspaces,
|
||||
#window,
|
||||
#language,
|
||||
#text,
|
||||
#custom-launcher,
|
||||
#custom-separator,
|
||||
|
||||
#tray {
|
||||
color: #${base06};
|
||||
background: #${base00};
|
||||
padding: 0 0.4em;
|
||||
padding-top: 0px;
|
||||
padding-bottom: 2px;
|
||||
border-style: solid;
|
||||
min-height: 30px;
|
||||
}
|
||||
|
||||
#battery {
|
||||
margin: 3 4 3 4px;
|
||||
padding: 0 0.4em;
|
||||
}
|
||||
|
||||
#backlight {
|
||||
margin: 3 4 3 4px;
|
||||
padding: 0 0.4em;
|
||||
}
|
||||
|
||||
#custom-date {
|
||||
margin: 3 4 3 4px;
|
||||
padding: 0 0.4em;
|
||||
}
|
||||
|
||||
#clock {
|
||||
margin: 3 4 3 4px;
|
||||
padding: 0 0.4em;
|
||||
}
|
||||
|
||||
#language {
|
||||
margin: 3 4 3 4px;
|
||||
padding: 0 0.4em;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
margin: 3 4 3 4px;
|
||||
padding: 0 0.4em;
|
||||
}
|
||||
|
||||
#custom-separator {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
#custom-launcher {
|
||||
margin-left: 0px;
|
||||
margin-right: 0px;
|
||||
padding-right: 0.6em;
|
||||
border-radius: 0 20 20 0px;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
margin: 3 0 3 0px;
|
||||
border-radius: 14 14 14 14px;
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -1,150 +0,0 @@
|
|||
{ config, ... }:
|
||||
{
|
||||
programs.waybar.style = with config.lib.stylix.colors; ''
|
||||
/* BAR ITSELF */
|
||||
* {
|
||||
font-family: "JetBrainsMono Nerd Font";
|
||||
font-weight: bold;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background-color: transparent;
|
||||
color: #${base06};
|
||||
}
|
||||
|
||||
window#waybar > box {
|
||||
margin: 5px 0px 0px 0px;
|
||||
background-color: #${base00};
|
||||
border-top: 0px;
|
||||
border-bottom: 0;
|
||||
border-style: solid;
|
||||
border-color: #3C3836;
|
||||
box-shadow: 1 1 3 1px #101010;
|
||||
}
|
||||
|
||||
/* WORKSPACES */
|
||||
#workspaces button {
|
||||
background-color: #${base03};
|
||||
border-radius: 20px;
|
||||
margin: 2px;
|
||||
padding: 0px;
|
||||
padding-right: 6px;
|
||||
padding-left: 6px;
|
||||
color: #${base06};
|
||||
min-height: 25px;
|
||||
transition: all 0.4s ease-in-out;
|
||||
}
|
||||
|
||||
#workspaces button label {
|
||||
color: #${base06};
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
#workspaces button.empty {
|
||||
background: #${base02};
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
background: radial-gradient(circle, #${base06} 0%, #${base0D} 50%, #${base0B} 100%);
|
||||
background-size: 400% 400%;
|
||||
animation: gradient 5s linear infinite;
|
||||
transition: all 0.3s ease-in-out;
|
||||
border-color: #${base00};
|
||||
}
|
||||
|
||||
#workspaces button.active label {
|
||||
color: #${base02};
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
@keyframes gradient {
|
||||
0% { background-position: 0px 50px; }
|
||||
50% { background-position: 100px 30px; }
|
||||
100% { background-position: 0px 50px; }
|
||||
}
|
||||
|
||||
@keyframes gradient_f {
|
||||
0% { background-position: 0px 200px; }
|
||||
50% { background-position: 200px 0px; }
|
||||
100% { background-position: 400px 200px; }
|
||||
}
|
||||
|
||||
@keyframes gradient_f_nh {
|
||||
0% { background-position: 0px 200px; }
|
||||
100% { background-position: 200px 200px; }
|
||||
}
|
||||
|
||||
/* MODULES */
|
||||
#custom-date,
|
||||
#battery,
|
||||
#backlight
|
||||
#clock,
|
||||
#pulseaudio,
|
||||
#workspaces,
|
||||
#window,
|
||||
#language,
|
||||
#text,
|
||||
#custom-launcher,
|
||||
#custom-separator
|
||||
|
||||
#tray {
|
||||
color: #${base06};
|
||||
background: #${base00};
|
||||
padding: 0 0.4em;
|
||||
padding-top: 0px;
|
||||
padding-bottom: 2px;
|
||||
border-style: solid;
|
||||
min-height: 30px;
|
||||
}
|
||||
|
||||
#battery {
|
||||
background-color: transparent;
|
||||
color: #${base06};
|
||||
}
|
||||
|
||||
#backlight {
|
||||
background-color: transparent;
|
||||
color: #${base06};
|
||||
}
|
||||
|
||||
#custom-date {
|
||||
background-color: transparent;
|
||||
color: #${base06};
|
||||
}
|
||||
|
||||
#clock {
|
||||
background-color: transparent;
|
||||
color: #${base06};
|
||||
}
|
||||
|
||||
#language {
|
||||
background-color: transparent;
|
||||
color: #${base06};
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
margin: 3 4 3 4px;
|
||||
padding: 0 0.4em;
|
||||
background-color: transparent;
|
||||
color: #${base06};
|
||||
}
|
||||
|
||||
#custom-separator {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
#custom-launcher {
|
||||
margin-left: 0px;
|
||||
margin-right: 0px;
|
||||
padding-right: 0.6em;
|
||||
border-radius: 0 20 20 0px;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
margin: 3 0 3 0px;
|
||||
border-radius: 14 14 14 14px;
|
||||
}
|
||||
'';
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, config, lib, ... }:
|
||||
{ lib, ... }:
|
||||
let
|
||||
# MODIFIERS
|
||||
m = "Mod4";
|
||||
|
|
|
@ -6,6 +6,6 @@
|
|||
xwayland = true;
|
||||
systemd.enable = true;
|
||||
|
||||
# package = pkgs.swayfx;
|
||||
package = pkgs.swayfx;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, config, lib, ... }:
|
||||
{ config, lib, ... }:
|
||||
let
|
||||
m = "Mod4";
|
||||
s = "Shift";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, lib, ... }:
|
||||
{ lib, ... }:
|
||||
{
|
||||
programs.foot = {
|
||||
enable = true;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ pkgs, config, ...}:
|
||||
{ ... }:
|
||||
{
|
||||
programs.kitty.keybindings = with config.lib.stylix.colors; {
|
||||
programs.kitty.keybindings = {
|
||||
"ctrl+shift+c" = "copy_to_clipboard";
|
||||
"ctrl+shift+v" = "paste_from_clipboard";
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, config, lib, ...}:
|
||||
{ config, ... }:
|
||||
{
|
||||
programs.kitty.settings = with config.lib.stylix.colors; {
|
||||
foreground = "#${base05}";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ config, ...}:
|
||||
{ config, ... }:
|
||||
{
|
||||
imports = [ ./binds.nix ./colors.nix ];
|
||||
programs.kitty = with config.lib.stylix.colors; {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
# BOOT PARAMETERS
|
||||
boot = { # ITSELF LOL
|
||||
kernelPackages = pkgs.linuxPackages_xanmod_latest;
|
||||
kernelPackages = pkgs.linuxPackages_zen;
|
||||
kernelModules = [ "kvm-amd" ];
|
||||
consoleLogLevel = 0;
|
||||
kernelParams = [
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
useRoutingFeatures = "both";
|
||||
};
|
||||
system76-scheduler = { # PERFORMANCEE
|
||||
enable = true;
|
||||
enable = false;
|
||||
settings = {
|
||||
cfsProfiles.enable = true;
|
||||
processScheduler.pipewireBoost.enable = true;
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
{ pkgs, config, ...}:
|
||||
{
|
||||
qt = {
|
||||
enable = true;
|
||||
style = kvantum;
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue