From 30491735141924b4afa8dfd75298b440f0136944 Mon Sep 17 00:00:00 2001 From: DACHXY Date: Sat, 25 Jan 2025 21:09:16 +0800 Subject: [PATCH] feat: add yazi integration with fish --- home/config/fish/functions/fish_prompt.fish | 7 + home/config/nvim/lua/plugins/hover.lua | 71 + .../catppuccin-macchiato.yazi/flavor.toml | 173 ++ .../catppuccin-macchiato.yazi/tmtheme.xml | 2081 +++++++++++++++++ home/config/yazi/theme.toml | 3 + home/user/config.nix | 6 +- home/user/nvim.nix | 3 + home/user/packages.nix | 3 + home/user/programs.nix | 13 +- home/user/shell.nix | 10 + system/dev/dn-pre7780/boot.nix | 17 + system/modules/packages.nix | 2 +- 12 files changed, 2386 insertions(+), 3 deletions(-) create mode 100644 home/config/fish/functions/fish_prompt.fish create mode 100644 home/config/nvim/lua/plugins/hover.lua create mode 100644 home/config/yazi/flavors/catppuccin-macchiato.yazi/flavor.toml create mode 100644 home/config/yazi/flavors/catppuccin-macchiato.yazi/tmtheme.xml create mode 100644 home/config/yazi/theme.toml diff --git a/home/config/fish/functions/fish_prompt.fish b/home/config/fish/functions/fish_prompt.fish new file mode 100644 index 0000000..1b65c3b --- /dev/null +++ b/home/config/fish/functions/fish_prompt.fish @@ -0,0 +1,7 @@ +set -l nix_shell_info ( + if test -n "$IN_NIX_SHELL" + echo -n " " + end +) + +echo -n -s "$nix_shell_info ~>" diff --git a/home/config/nvim/lua/plugins/hover.lua b/home/config/nvim/lua/plugins/hover.lua new file mode 100644 index 0000000..18a17f4 --- /dev/null +++ b/home/config/nvim/lua/plugins/hover.lua @@ -0,0 +1,71 @@ +return { + { + "lewis6991/hover.nvim", + opts = { + init = function() + -- Require providers + require("hover.providers.lsp") + -- require('hover.providers.gh') + -- require('hover.providers.gh_user') + -- require('hover.providers.jira') + -- require('hover.providers.dap') + -- require("hover.providers.fold_preview") + require("hover.providers.diagnostic") + -- require('hover.providers.man') + -- require('hover.providers.dictionary') + end, + preview_opts = { + border = "single", + }, + -- Whether the contents of a currently open hover window should be moved + -- to a :h preview-window when pressing the hover keymap. + preview_window = false, + title = true, + mouse_providers = { + "LSP", + }, + mouse_delay = 1000, + }, + keys = { + { + "K", + mode = { "n" }, + function() + require("hover").hover() + end, + desc = "hover.nvim", + }, + { + "gK", + mode = { "n" }, + function() + require("hover").hover_select() + end, + desc = "hover.nvim (select)", + }, + { + "", + mode = { "n" }, + function() + require("hover").hover_switch("previous") + end, + desc = "hover.nvim (previous source)", + }, + { + "", + mode = { "n" }, + function() + require("hover").hover_switch("next") + end, + desc = "hover.nvim (next source)", + }, + { + "", + function() + require("hover").hover_mouse() + end, + desc = "hover.nvim (mouse)", + }, + }, + }, +} diff --git a/home/config/yazi/flavors/catppuccin-macchiato.yazi/flavor.toml b/home/config/yazi/flavors/catppuccin-macchiato.yazi/flavor.toml new file mode 100644 index 0000000..f43d113 --- /dev/null +++ b/home/config/yazi/flavors/catppuccin-macchiato.yazi/flavor.toml @@ -0,0 +1,173 @@ +# vim:fileencoding=utf-8:foldmethod=marker + +# : Manager {{{ + +[manager] +cwd = { fg = "#8bd5ca" } + +# Hovered +hovered = { reversed = true } +preview_hovered = { underline = true } + +# Find +find_keyword = { fg = "#eed49f", bold = true, italic = true, underline = true } +find_position = { fg = "#f5bde6", bg = "reset", bold = true, italic = true } + +# Marker +marker_copied = { fg = "#a6da95", bg = "#a6da95" } +marker_cut = { fg = "#ed8796", bg = "#ed8796" } +marker_marked = { fg = "#8bd5ca", bg = "#8bd5ca" } +marker_selected = { fg = "#eed49f", bg = "#eed49f" } + +# Tab +tab_active = { reversed = true } +tab_inactive = {} +tab_width = 1 + +# Count +count_copied = { fg = "#24273a", bg = "#a6da95" } +count_cut = { fg = "#24273a", bg = "#ed8796" } +count_selected = { fg = "#24273a", bg = "#eed49f" } + +# Border +border_symbol = "│" +border_style = { fg = "#8087a2" } + +# : }}} + + +# : Mode {{{ + +[mode] + +normal_main = { fg = "#24273a", bg = "#8aadf4", bold = true } +normal_alt = { fg = "#8aadf4", bg = "#363a4f" } + +# Select mode +select_main = { fg = "#24273a", bg = "#8bd5ca", bold = true } +select_alt = { fg = "#8bd5ca", bg = "#363a4f" } + +# Unset mode +unset_main = { fg = "#24273a", bg = "#f0c6c6", bold = true } +unset_alt = { fg = "#f0c6c6", bg = "#363a4f" } + +# : }}} + + +# : Status bar {{{ + +[status] +separator_open = "" +separator_close = "" + +# Progress +progress_label = { fg = "#ffffff", bold = true } +progress_normal = { fg = "#8aadf4", bg = "#494d64" } +progress_error = { fg = "#ed8796", bg = "#494d64" } + +# Permissions +perm_sep = { fg = "#8087a2" } +perm_type = { fg = "#8aadf4" } +perm_read = { fg = "#eed49f" } +perm_write = { fg = "#ed8796" } +perm_exec = { fg = "#a6da95" } + +# : }}} + + +# : Pick {{{ + +[pick] +border = { fg = "#8aadf4" } +active = { fg = "#f5bde6", bold = true } +inactive = {} + +# : }}} + + +# : Input {{{ + +[input] +border = { fg = "#8aadf4" } +title = {} +value = {} +selected = { reversed = true } + +# : }}} + + +# : Completion {{{ + +[completion] +border = { fg = "#8aadf4" } + +# : }}} + + +# : Tasks {{{ + +[tasks] +border = { fg = "#8aadf4" } +title = {} +hovered = { fg = "#f5bde6", underline = true } + +# : }}} + + +# : Which {{{ + +[which] +mask = { bg = "#363a4f" } +cand = { fg = "#8bd5ca" } +rest = { fg = "#939ab7" } +desc = { fg = "#f5bde6" } +separator = "  " +separator_style = { fg = "#5b6078" } + +# : }}} + + +# : Help {{{ + +[help] +on = { fg = "#8bd5ca" } +run = { fg = "#f5bde6" } +hovered = { reversed = true, bold = true } +footer = { fg = "#363a4f", bg = "#cad3f5" } + +# : }}} + + +# : Notify {{{ + +[notify] +title_info = { fg = "#a6da95" } +title_warn = { fg = "#eed49f" } +title_error = { fg = "#ed8796" } + +# : }}} + + +# : File-specific styles {{{ + +[filetype] + +rules = [ + # Images + { mime = "image/*", fg = "#8bd5ca" }, + + # Media + { mime = "{audio,video}/*", fg = "#eed49f" }, + + # Archives + { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "#f5bde6" }, + + # Documents + { mime = "application/{pdf,doc,rtf}", fg = "#a6da95" }, + + # Fallback + { name = "*", fg = "#cad3f5" }, + { name = "*/", fg = "#8aadf4" } +] + +# : }}} diff --git a/home/config/yazi/flavors/catppuccin-macchiato.yazi/tmtheme.xml b/home/config/yazi/flavors/catppuccin-macchiato.yazi/tmtheme.xml new file mode 100644 index 0000000..a3c0eaa --- /dev/null +++ b/home/config/yazi/flavors/catppuccin-macchiato.yazi/tmtheme.xml @@ -0,0 +1,2081 @@ + + + + + name + Catppuccin Macchiato + semanticClass + theme.dark.catppuccin-macchiato + uuid + 02b2bdf3-9eb7-4396-bf04-f17f1468f99f + author + Catppuccin Org + colorSpaceName + sRGB + settings + + + settings + + background + #24273a + foreground + #cad3f5 + caret + #f4dbd6 + lineHighlight + #363a4f + misspelling + #ed8796 + accent + #c6a0f6 + selection + #939ab740 + activeGuide + #494d64 + findHighlight + #455c6d + gutterForeground + #8087a2 + + + + name + Basic text & variable names (incl. leading punctuation) + scope + text, source, variable.other.readwrite, punctuation.definition.variable + settings + + foreground + #cad3f5 + + + + name + Parentheses, Brackets, Braces + scope + punctuation + settings + + foreground + #939ab7 + fontStyle + + + + + name + Comments + scope + comment, punctuation.definition.comment + settings + + foreground + #6e738d + fontStyle + italic + + + + scope + string, punctuation.definition.string + settings + + foreground + #a6da95 + + + + scope + constant.character.escape + settings + + foreground + #f5bde6 + + + + name + Booleans, constants, numbers + scope + constant.numeric, variable.other.constant, entity.name.constant, constant.language.boolean, constant.language.false, constant.language.true, keyword.other.unit.user-defined, keyword.other.unit.suffix.floating-point + settings + + foreground + #f5a97f + + + + scope + keyword, keyword.operator.word, keyword.operator.new, variable.language.super, support.type.primitive, storage.type, storage.modifier, punctuation.definition.keyword + settings + + foreground + #c6a0f6 + fontStyle + + + + + scope + entity.name.tag.documentation + settings + + foreground + #c6a0f6 + + + + name + Punctuation + scope + keyword.operator, punctuation.accessor, punctuation.definition.generic, meta.function.closure punctuation.section.parameters, punctuation.definition.tag, punctuation.separator.key-value + settings + + foreground + #8bd5ca + + + + scope + entity.name.function, meta.function-call.method, support.function, support.function.misc, variable.function + settings + + foreground + #8aadf4 + fontStyle + italic + + + + name + Classes + scope + entity.name.class, entity.other.inherited-class, support.class, meta.function-call.constructor, entity.name.struct + settings + + foreground + #eed49f + fontStyle + italic + + + + name + Enum + scope + entity.name.enum + settings + + foreground + #eed49f + fontStyle + italic + + + + name + Enum member + scope + meta.enum variable.other.readwrite, variable.other.enummember + settings + + foreground + #8bd5ca + + + + name + Object properties + scope + meta.property.object + settings + + foreground + #8bd5ca + + + + name + Types + scope + meta.type, meta.type-alias, support.type, entity.name.type + settings + + foreground + #eed49f + fontStyle + italic + + + + name + Decorators + scope + meta.annotation variable.function, meta.annotation variable.annotation.function, meta.annotation punctuation.definition.annotation, meta.decorator, punctuation.decorator + settings + + foreground + #f5a97f + + + + scope + variable.parameter, meta.function.parameters + settings + + foreground + #ee99a0 + fontStyle + italic + + + + name + Built-ins + scope + constant.language, support.function.builtin + settings + + foreground + #ed8796 + + + + scope + entity.other.attribute-name.documentation + settings + + foreground + #ed8796 + + + + name + Preprocessor directives + scope + keyword.control.directive, punctuation.definition.directive + settings + + foreground + #eed49f + + + + name + Type parameters + scope + punctuation.definition.typeparameters + settings + + foreground + #91d7e3 + + + + name + Namespaces + scope + entity.name.namespace + settings + + foreground + #eed49f + + + + name + Property names (left hand assignments in json/yaml/css) + scope + support.type.property-name.css + settings + + foreground + #8aadf4 + fontStyle + + + + + name + This/Self keyword + scope + variable.language.this, variable.language.this punctuation.definition.variable + settings + + foreground + #ed8796 + + + + name + Object properties + scope + variable.object.property + settings + + foreground + #cad3f5 + + + + name + String template interpolation + scope + string.template variable, string variable + settings + + foreground + #cad3f5 + + + + name + `new` as bold + scope + keyword.operator.new + settings + + fontStyle + bold + + + + name + C++ extern keyword + scope + storage.modifier.specifier.extern.cpp + settings + + foreground + #c6a0f6 + + + + name + C++ scope resolution + scope + entity.name.scope-resolution.template.call.cpp, entity.name.scope-resolution.parameter.cpp, entity.name.scope-resolution.cpp, entity.name.scope-resolution.function.definition.cpp + settings + + foreground + #eed49f + + + + name + C++ doc keywords + scope + storage.type.class.doxygen + settings + + fontStyle + + + + + name + C++ operators + scope + storage.modifier.reference.cpp + settings + + foreground + #8bd5ca + + + + name + C# Interpolated Strings + scope + meta.interpolation.cs + settings + + foreground + #cad3f5 + + + + name + C# xml-style docs + scope + comment.block.documentation.cs + settings + + foreground + #cad3f5 + + + + name + Classes, reflecting the className color in JSX + scope + source.css entity.other.attribute-name.class.css, entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css + settings + + foreground + #eed49f + + + + name + Operators + scope + punctuation.separator.operator.css + settings + + foreground + #8bd5ca + + + + name + Pseudo classes + scope + source.css entity.other.attribute-name.pseudo-class + settings + + foreground + #8bd5ca + + + + scope + source.css constant.other.unicode-range + settings + + foreground + #f5a97f + + + + scope + source.css variable.parameter.url + settings + + foreground + #a6da95 + fontStyle + + + + + name + CSS vendored property names + scope + support.type.vendored.property-name + settings + + foreground + #91d7e3 + + + + name + Less/SCSS right-hand variables (@/$-prefixed) + scope + source.css meta.property-value variable, source.css meta.property-value variable.other.less, source.css meta.property-value variable.other.less punctuation.definition.variable.less, meta.definition.variable.scss + settings + + foreground + #ee99a0 + + + + name + CSS variables (--prefixed) + scope + source.css meta.property-list variable, meta.property-list variable.other.less, meta.property-list variable.other.less punctuation.definition.variable.less + settings + + foreground + #8aadf4 + + + + name + CSS Percentage values, styled the same as numbers + scope + keyword.other.unit.percentage.css + settings + + foreground + #f5a97f + + + + name + CSS Attribute selectors, styled the same as strings + scope + source.css meta.attribute-selector + settings + + foreground + #a6da95 + + + + name + JSON/YAML keys, other left-hand assignments + scope + keyword.other.definition.ini, punctuation.support.type.property-name.json, support.type.property-name.json, punctuation.support.type.property-name.toml, support.type.property-name.toml, entity.name.tag.yaml, punctuation.support.type.property-name.yaml, support.type.property-name.yaml + settings + + foreground + #8aadf4 + fontStyle + + + + + name + JSON/YAML constants + scope + constant.language.json, constant.language.yaml + settings + + foreground + #f5a97f + + + + name + YAML anchors + scope + entity.name.type.anchor.yaml, variable.other.alias.yaml + settings + + foreground + #eed49f + fontStyle + + + + + name + TOML tables / ini groups + scope + support.type.property-name.table, entity.name.section.group-title.ini + settings + + foreground + #eed49f + + + + name + TOML dates + scope + constant.other.time.datetime.offset.toml + settings + + foreground + #f5bde6 + + + + name + YAML anchor puctuation + scope + punctuation.definition.anchor.yaml, punctuation.definition.alias.yaml + settings + + foreground + #f5bde6 + + + + name + YAML triple dashes + scope + entity.other.document.begin.yaml + settings + + foreground + #f5bde6 + + + + name + Markup Diff + scope + markup.changed.diff + settings + + foreground + #f5a97f + + + + name + Diff + scope + meta.diff.header.from-file, meta.diff.header.to-file, punctuation.definition.from-file.diff, punctuation.definition.to-file.diff + settings + + foreground + #8aadf4 + + + + name + Diff Inserted + scope + markup.inserted.diff + settings + + foreground + #a6da95 + + + + name + Diff Deleted + scope + markup.deleted.diff + settings + + foreground + #ed8796 + + + + name + dotenv left-hand side assignments + scope + variable.other.env + settings + + foreground + #8aadf4 + + + + name + dotenv reference to existing env variable + scope + string.quoted variable.other.env + settings + + foreground + #cad3f5 + + + + name + GDScript functions + scope + support.function.builtin.gdscript + settings + + foreground + #8aadf4 + + + + name + GDScript constants + scope + constant.language.gdscript + settings + + foreground + #f5a97f + + + + name + Comment keywords + scope + comment meta.annotation.go + settings + + foreground + #ee99a0 + + + + name + go:embed, go:build, etc. + scope + comment meta.annotation.parameters.go + settings + + foreground + #f5a97f + + + + name + Go constants (nil, true, false) + scope + constant.language.go + settings + + foreground + #f5a97f + + + + name + GraphQL variables + scope + variable.graphql + settings + + foreground + #cad3f5 + + + + name + GraphQL aliases + scope + string.unquoted.alias.graphql + settings + + foreground + #f0c6c6 + + + + name + GraphQL enum members + scope + constant.character.enum.graphql + settings + + foreground + #8bd5ca + + + + name + GraphQL field in types + scope + meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql + settings + + foreground + #f0c6c6 + + + + name + HTML/XML DOCTYPE as keyword + scope + keyword.other.doctype, meta.tag.sgml.doctype punctuation.definition.tag, meta.tag.metadata.doctype entity.name.tag, meta.tag.metadata.doctype punctuation.definition.tag + settings + + foreground + #c6a0f6 + + + + name + HTML/XML-like <tags/> + scope + entity.name.tag + settings + + foreground + #8aadf4 + fontStyle + + + + + name + Special characters like &amp; + scope + text.html constant.character.entity, text.html constant.character.entity punctuation, constant.character.entity.xml, constant.character.entity.xml punctuation, constant.character.entity.js.jsx, constant.charactger.entity.js.jsx punctuation, constant.character.entity.tsx, constant.character.entity.tsx punctuation + settings + + foreground + #ed8796 + + + + name + HTML/XML tag attribute values + scope + entity.other.attribute-name + settings + + foreground + #eed49f + + + + name + Components + scope + support.class.component, support.class.component.jsx, support.class.component.tsx, support.class.component.vue + settings + + foreground + #f5bde6 + fontStyle + + + + + name + Annotations + scope + punctuation.definition.annotation, storage.type.annotation + settings + + foreground + #f5a97f + + + + name + Java enums + scope + constant.other.enum.java + settings + + foreground + #8bd5ca + + + + name + Java imports + scope + storage.modifier.import.java + settings + + foreground + #cad3f5 + + + + name + Javadoc + scope + comment.block.javadoc.java keyword.other.documentation.javadoc.java + settings + + fontStyle + + + + + name + Exported Variable + scope + meta.export variable.other.readwrite.js + settings + + foreground + #ee99a0 + + + + name + JS/TS constants & properties + scope + variable.other.constant.js, variable.other.constant.ts, variable.other.property.js, variable.other.property.ts + settings + + foreground + #cad3f5 + + + + name + JSDoc; these are mainly params, so styled as such + scope + variable.other.jsdoc, comment.block.documentation variable.other + settings + + foreground + #ee99a0 + fontStyle + + + + + name + JSDoc keywords + scope + storage.type.class.jsdoc + settings + + fontStyle + + + + + scope + support.type.object.console.js + settings + + foreground + #cad3f5 + + + + name + Node constants as keywords (module, etc.) + scope + support.constant.node, support.type.object.module.js + settings + + foreground + #c6a0f6 + + + + name + implements as keyword + scope + storage.modifier.implements + settings + + foreground + #c6a0f6 + + + + name + Builtin types + scope + constant.language.null.js, constant.language.null.ts, constant.language.undefined.js, constant.language.undefined.ts, support.type.builtin.ts + settings + + foreground + #c6a0f6 + + + + scope + variable.parameter.generic + settings + + foreground + #eed49f + + + + name + Arrow functions + scope + keyword.declaration.function.arrow.js, storage.type.function.arrow.ts + settings + + foreground + #8bd5ca + + + + name + Decorator punctuations (decorators inherit from blue functions, instead of styleguide peach) + scope + punctuation.decorator.ts + settings + + foreground + #8aadf4 + fontStyle + italic + + + + name + Extra JS/TS keywords + scope + keyword.operator.expression.in.js, keyword.operator.expression.in.ts, keyword.operator.expression.infer.ts, keyword.operator.expression.instanceof.js, keyword.operator.expression.instanceof.ts, keyword.operator.expression.is, keyword.operator.expression.keyof.ts, keyword.operator.expression.of.js, keyword.operator.expression.of.ts, keyword.operator.expression.typeof.ts + settings + + foreground + #c6a0f6 + + + + name + Julia macros + scope + support.function.macro.julia + settings + + foreground + #8bd5ca + fontStyle + italic + + + + name + Julia language constants (true, false) + scope + constant.language.julia + settings + + foreground + #f5a97f + + + + name + Julia other constants (these seem to be arguments inside arrays) + scope + constant.other.symbol.julia + settings + + foreground + #ee99a0 + + + + name + LaTeX preamble + scope + text.tex keyword.control.preamble + settings + + foreground + #8bd5ca + + + + name + LaTeX be functions + scope + text.tex support.function.be + settings + + foreground + #91d7e3 + + + + name + LaTeX math + scope + constant.other.general.math.tex + settings + + foreground + #f0c6c6 + + + + name + Lua docstring keywords + scope + comment.line.double-dash.documentation.lua storage.type.annotation.lua + settings + + foreground + #c6a0f6 + fontStyle + + + + + name + Lua docstring variables + scope + comment.line.double-dash.documentation.lua entity.name.variable.lua, comment.line.double-dash.documentation.lua variable.lua + settings + + foreground + #cad3f5 + + + + scope + heading.1.markdown punctuation.definition.heading.markdown, heading.1.markdown, markup.heading.atx.1.mdx, markup.heading.atx.1.mdx punctuation.definition.heading.mdx, markup.heading.setext.1.markdown, markup.heading.heading-0.asciidoc + settings + + foreground + #ed8796 + + + + scope + heading.2.markdown punctuation.definition.heading.markdown, heading.2.markdown, markup.heading.atx.2.mdx, markup.heading.atx.2.mdx punctuation.definition.heading.mdx, markup.heading.setext.2.markdown, markup.heading.heading-1.asciidoc + settings + + foreground + #f5a97f + + + + scope + heading.3.markdown punctuation.definition.heading.markdown, heading.3.markdown, markup.heading.atx.3.mdx, markup.heading.atx.3.mdx punctuation.definition.heading.mdx, markup.heading.heading-2.asciidoc + settings + + foreground + #eed49f + + + + scope + heading.4.markdown punctuation.definition.heading.markdown, heading.4.markdown, markup.heading.atx.4.mdx, markup.heading.atx.4.mdx punctuation.definition.heading.mdx, markup.heading.heading-3.asciidoc + settings + + foreground + #a6da95 + + + + scope + heading.5.markdown punctuation.definition.heading.markdown, heading.5.markdown, markup.heading.atx.5.mdx, markup.heading.atx.5.mdx punctuation.definition.heading.mdx, markup.heading.heading-4.asciidoc + settings + + foreground + #8aadf4 + + + + scope + heading.6.markdown punctuation.definition.heading.markdown, heading.6.markdown, markup.heading.atx.6.mdx, markup.heading.atx.6.mdx punctuation.definition.heading.mdx, markup.heading.heading-5.asciidoc + settings + + foreground + #c6a0f6 + + + + scope + markup.bold + settings + + foreground + #ed8796 + fontStyle + bold + + + + scope + markup.italic + settings + + foreground + #ed8796 + fontStyle + italic + + + + scope + markup.strikethrough + settings + + foreground + #a5adcb + fontStyle + strikethrough + + + + name + Markdown auto links + scope + punctuation.definition.link, markup.underline.link + settings + + foreground + #8aadf4 + + + + name + Markdown links + scope + text.html.markdown punctuation.definition.link.title, string.other.link.title.markdown, markup.link, punctuation.definition.constant.markdown, constant.other.reference.link.markdown, markup.substitution.attribute-reference + settings + + foreground + #b7bdf8 + + + + name + Markdown code spans + scope + punctuation.definition.raw.markdown, markup.inline.raw.string.markdown, markup.raw.block.markdown + settings + + foreground + #a6da95 + + + + name + Markdown triple backtick language identifier + scope + fenced_code.block.language + settings + + foreground + #91d7e3 + + + + name + Markdown triple backticks + scope + markup.fenced_code.block punctuation.definition, markup.raw support.asciidoc + settings + + foreground + #939ab7 + + + + name + Markdown quotes + scope + markup.quote, punctuation.definition.quote.begin + settings + + foreground + #f5bde6 + + + + name + Markdown separators + scope + meta.separator.markdown + settings + + foreground + #8bd5ca + + + + name + Markdown list bullets + scope + punctuation.definition.list.begin.markdown, markup.list.bullet + settings + + foreground + #8bd5ca + + + + name + Nix attribute names + scope + entity.other.attribute-name.multipart.nix, entity.other.attribute-name.single.nix + settings + + foreground + #8aadf4 + + + + name + Nix parameter names + scope + variable.parameter.name.nix + settings + + foreground + #cad3f5 + fontStyle + + + + + name + Nix interpolated parameter names + scope + meta.embedded variable.parameter.name.nix + settings + + foreground + #b7bdf8 + fontStyle + + + + + name + Nix paths + scope + string.unquoted.path.nix + settings + + foreground + #f5bde6 + fontStyle + + + + + name + PHP Attributes + scope + support.attribute.builtin, meta.attribute.php + settings + + foreground + #eed49f + + + + name + PHP Parameters (needed for the leading dollar sign) + scope + meta.function.parameters.php punctuation.definition.variable.php + settings + + foreground + #ee99a0 + + + + name + PHP Constants (null, __FILE__, etc.) + scope + constant.language.php + settings + + foreground + #c6a0f6 + + + + name + PHP functions + scope + text.html.php support.function + settings + + foreground + #91d7e3 + + + + name + PHPdoc keywords + scope + keyword.other.phpdoc.php + settings + + fontStyle + + + + + name + Python argument functions reset to text, otherwise they inherit blue from function-call + scope + support.variable.magic.python, meta.function-call.arguments.python + settings + + foreground + #cad3f5 + + + + name + Python double underscore functions + scope + support.function.magic.python + settings + + foreground + #91d7e3 + fontStyle + italic + + + + name + Python `self` keyword + scope + variable.parameter.function.language.special.self.python, variable.language.special.self.python + settings + + foreground + #ed8796 + fontStyle + italic + + + + name + python keyword flow/logical (for ... in) + scope + keyword.control.flow.python, keyword.operator.logical.python + settings + + foreground + #c6a0f6 + + + + name + python storage type + scope + storage.type.function.python + settings + + foreground + #c6a0f6 + + + + name + python function support + scope + support.token.decorator.python, meta.function.decorator.identifier.python + settings + + foreground + #91d7e3 + + + + name + python function calls + scope + meta.function-call.python + settings + + foreground + #8aadf4 + + + + name + python function decorators + scope + entity.name.function.decorator.python, punctuation.definition.decorator.python + settings + + foreground + #f5a97f + fontStyle + italic + + + + name + python placeholder reset to normal string + scope + constant.character.format.placeholder.other.python + settings + + foreground + #f5bde6 + + + + name + Python exception & builtins such as exit() + scope + support.type.exception.python, support.function.builtin.python + settings + + foreground + #f5a97f + + + + name + entity.name.type + scope + support.type.python + settings + + foreground + #f5a97f + + + + name + python constants (True/False) + scope + constant.language.python + settings + + foreground + #c6a0f6 + + + + name + Arguments accessed later in the function body + scope + meta.indexed-name.python, meta.item-access.python + settings + + foreground + #ee99a0 + fontStyle + italic + + + + name + Python f-strings/binary/unicode storage types + scope + storage.type.string.python + settings + + foreground + #a6da95 + fontStyle + italic + + + + name + Python type hints + scope + meta.function.parameters.python + settings + + fontStyle + + + + + name + Regex string begin/end in JS/TS + scope + string.regexp punctuation.definition.string.begin, string.regexp punctuation.definition.string.end + settings + + foreground + #f5bde6 + + + + name + Regex anchors (^, $) + scope + keyword.control.anchor.regexp + settings + + foreground + #c6a0f6 + + + + name + Regex regular string match + scope + string.regexp.ts + settings + + foreground + #cad3f5 + + + + name + Regex group parenthesis & backreference (\1, \2, \3, ...) + scope + punctuation.definition.group.regexp, keyword.other.back-reference.regexp + settings + + foreground + #a6da95 + + + + name + Regex character class [] + scope + punctuation.definition.character-class.regexp + settings + + foreground + #eed49f + + + + name + Regex character classes (\d, \w, \s) + scope + constant.other.character-class.regexp + settings + + foreground + #f5bde6 + + + + name + Regex range + scope + constant.other.character-class.range.regexp + settings + + foreground + #f4dbd6 + + + + name + Regex quantifier + scope + keyword.operator.quantifier.regexp + settings + + foreground + #8bd5ca + + + + name + Regex constant/numeric + scope + constant.character.numeric.regexp + settings + + foreground + #f5a97f + + + + name + Regex lookaheads, negative lookaheads, lookbehinds, negative lookbehinds + scope + punctuation.definition.group.no-capture.regexp, meta.assertion.look-ahead.regexp, meta.assertion.negative-look-ahead.regexp + settings + + foreground + #8aadf4 + + + + name + Rust attribute + scope + meta.annotation.rust, meta.annotation.rust punctuation, meta.attribute.rust, punctuation.definition.attribute.rust + settings + + foreground + #eed49f + fontStyle + italic + + + + name + Rust attribute strings + scope + meta.attribute.rust string.quoted.double.rust, meta.attribute.rust string.quoted.single.char.rust + settings + + fontStyle + + + + + name + Rust keyword + scope + entity.name.function.macro.rules.rust, storage.type.module.rust, storage.modifier.rust, storage.type.struct.rust, storage.type.enum.rust, storage.type.trait.rust, storage.type.union.rust, storage.type.impl.rust, storage.type.rust, storage.type.function.rust, storage.type.type.rust + settings + + foreground + #c6a0f6 + fontStyle + + + + + name + Rust u/i32, u/i64, etc. + scope + entity.name.type.numeric.rust + settings + + foreground + #c6a0f6 + fontStyle + + + + + name + Rust generic + scope + meta.generic.rust + settings + + foreground + #f5a97f + + + + name + Rust impl + scope + entity.name.impl.rust + settings + + foreground + #eed49f + fontStyle + italic + + + + name + Rust module + scope + entity.name.module.rust + settings + + foreground + #f5a97f + + + + name + Rust trait + scope + entity.name.trait.rust + settings + + foreground + #eed49f + fontStyle + italic + + + + name + Rust struct + scope + storage.type.source.rust + settings + + foreground + #eed49f + + + + name + Rust union + scope + entity.name.union.rust + settings + + foreground + #eed49f + + + + name + Rust enum member + scope + meta.enum.rust storage.type.source.rust + settings + + foreground + #8bd5ca + + + + name + Rust macro + scope + support.macro.rust, meta.macro.rust support.function.rust, entity.name.function.macro.rust + settings + + foreground + #8aadf4 + fontStyle + italic + + + + name + Rust lifetime + scope + storage.modifier.lifetime.rust, entity.name.type.lifetime + settings + + foreground + #8aadf4 + fontStyle + italic + + + + name + Rust string formatting + scope + string.quoted.double.rust constant.other.placeholder.rust + settings + + foreground + #f5bde6 + + + + name + Rust return type generic + scope + meta.function.return-type.rust meta.generic.rust storage.type.rust + settings + + foreground + #cad3f5 + + + + name + Rust functions + scope + meta.function.call.rust + settings + + foreground + #8aadf4 + + + + name + Rust angle brackets + scope + punctuation.brackets.angle.rust + settings + + foreground + #91d7e3 + + + + name + Rust constants + scope + constant.other.caps.rust + settings + + foreground + #f5a97f + + + + name + Rust function parameters + scope + meta.function.definition.rust variable.other.rust + settings + + foreground + #ee99a0 + + + + name + Rust closure variables + scope + meta.function.call.rust variable.other.rust + settings + + foreground + #cad3f5 + + + + name + Rust self + scope + variable.language.self.rust + settings + + foreground + #ed8796 + + + + name + Rust metavariable names + scope + variable.other.metavariable.name.rust, meta.macro.metavariable.rust keyword.operator.macro.dollar.rust + settings + + foreground + #f5bde6 + + + + name + Shell shebang + scope + comment.line.shebang, comment.line.shebang punctuation.definition.comment, comment.line.shebang, punctuation.definition.comment.shebang.shell, meta.shebang.shell + settings + + foreground + #f5bde6 + fontStyle + italic + + + + name + Shell shebang command + scope + comment.line.shebang constant.language + settings + + foreground + #8bd5ca + fontStyle + italic + + + + name + Shell interpolated command + scope + meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation, meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation + settings + + foreground + #ed8796 + + + + name + Shell interpolated command variable + scope + meta.string meta.interpolation.parameter.shell variable.other.readwrite + settings + + foreground + #f5a97f + fontStyle + italic + + + + scope + source.shell punctuation.section.interpolation, punctuation.definition.evaluation.backticks.shell + settings + + foreground + #8bd5ca + + + + name + Shell EOF + scope + entity.name.tag.heredoc.shell + settings + + foreground + #c6a0f6 + + + + name + Shell quoted variable + scope + string.quoted.double.shell variable.other.normal.shell + settings + + foreground + #cad3f5 + + + + name + JSON Keys + scope + source.json meta.mapping.key string + settings + + foreground + #8aadf4 + + + + name + JSON key surrounding quotes + scope + source.json meta.mapping.key punctuation.definition.string.begin, source.json meta.mapping.key punctuation.definition.string.end + settings + + foreground + #939ab7 + + + + scope + markup.heading.synopsis.man, markup.heading.title.man, markup.heading.other.man, markup.heading.env.man + settings + + foreground + #c6a0f6 + + + + scope + markup.heading.commands.man + settings + + foreground + #8aadf4 + + + + scope + markup.heading.env.man + settings + + foreground + #f5bde6 + + + + name + Man page options + scope + entity.name + settings + + foreground + #8bd5ca + + + + scope + markup.heading.1.markdown + settings + + foreground + #ed8796 + + + + scope + markup.heading.2.markdown + settings + + foreground + #f5a97f + + + + scope + markup.heading.markdown + settings + + foreground + #eed49f + + + + + diff --git a/home/config/yazi/theme.toml b/home/config/yazi/theme.toml new file mode 100644 index 0000000..ccc35d2 --- /dev/null +++ b/home/config/yazi/theme.toml @@ -0,0 +1,3 @@ +[flavor] +dark = "catppuccin-macchiato" +light = "catppuccin-macchiato" diff --git a/home/user/config.nix b/home/user/config.nix index d34dc2e..05f5bc6 100644 --- a/home/user/config.nix +++ b/home/user/config.nix @@ -33,6 +33,10 @@ in source = "${configDir}/ghostty"; }; ".face".source = "${configDir}/.face"; - ".hyprlock_bg.svg".source = "${configDir}/hyprlock_bg.vsg"; + ".config/fish/functions".source = "${configDir}/fish/functions"; + ".config/yazi" = { + recursive = true; + source = "${configDir}/yazi"; + }; }; } diff --git a/home/user/nvim.nix b/home/user/nvim.nix index be524b6..a90ea84 100644 --- a/home/user/nvim.nix +++ b/home/user/nvim.nix @@ -47,6 +47,7 @@ stylelint-lsp stylelint clang-tools + taplo ]; plugins = with pkgs.vimPlugins; [ @@ -110,6 +111,7 @@ markdown-preview-nvim render-markdown-nvim image-nvim + hover-nvim # Python neotest-python @@ -225,6 +227,7 @@ { import = "lazyvim.plugins.extras.util.dot" }, { import = "lazyvim.plugins.extras.util.mini-hipatterns" }, { import = "lazyvim.plugins.extras.editor.telescope" }, + { import = "lazyvim.plugins.extras.editor.refactoring" }, -- uncomment to import/override with your plugins { import = "plugins" }, diff --git a/home/user/packages.nix b/home/user/packages.nix index f4965b1..4701283 100644 --- a/home/user/packages.nix +++ b/home/user/packages.nix @@ -66,6 +66,9 @@ in cava papirus-folders inkscape + + # PDF Preview + poppler ]) ++ [ vesktopOverride # discord diff --git a/home/user/programs.nix b/home/user/programs.nix index 248b534..5c8fd2a 100644 --- a/home/user/programs.nix +++ b/home/user/programs.nix @@ -1,4 +1,9 @@ -{ pkgs, inputs, ... }: +{ + pkgs, + inputs, + system, + ... +}: let userChrome = builtins.readFile ../config/firefox/autohide_toolbox.css; profileSettings = { @@ -25,6 +30,12 @@ in package = pkgs.vscode; }; + yazi = { + enable = true; + package = inputs.yazi.packages.${system}.default; + enableFishIntegration = true; + }; + obs-studio = { enable = true; plugins = with pkgs.obs-studio-plugins; [ diff --git a/home/user/shell.nix b/home/user/shell.nix index ee8a924..72b18a8 100644 --- a/home/user/shell.nix +++ b/home/user/shell.nix @@ -8,6 +8,16 @@ in enable = true; interactiveShellInit = '' set fish_greeting # Disable greeting + + # Yazi + function y + set tmp (mktemp -t "yazi-cwd.XXXXXX") + yazi $argv --cwd-file="$tmp" + if set cwd (command cat -- "$tmp"); and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ] + builtin cd -- "$cwd" + end + rm -f -- "$tmp" + end ''; plugins = [ { diff --git a/system/dev/dn-pre7780/boot.nix b/system/dev/dn-pre7780/boot.nix index 451b8f3..20ef84b 100644 --- a/system/dev/dn-pre7780/boot.nix +++ b/system/dev/dn-pre7780/boot.nix @@ -3,6 +3,23 @@ { boot.kernelPackages = pkgs.linuxPackages_latest; + fileSystems."/mnt/ssd" = { + device = "/dev/disk/by-uuid/4E21-0000"; + fsType = "exfat"; + options = [ + "x-systemd.automount" + "noauto" + "x-systemd.idle-timeout=600" + "nofail" + "user" + "x-gvfs-show" + "gid=1000" + "uid=1000" + "dmask=000" + "fmask=000" + ]; + }; + fileSystems."/mnt/storage" = { device = "router.dn:/mnt/storage"; fsType = "nfs"; diff --git a/system/modules/packages.nix b/system/modules/packages.nix index 2ce41ee..f9fc6e4 100644 --- a/system/modules/packages.nix +++ b/system/modules/packages.nix @@ -47,6 +47,7 @@ gh # Github cli tool gnumake lm_sensors + temurin-jre-bin openssl openssl.dev pkg-config # Include Lib @@ -103,6 +104,5 @@ ]) ++ [ inputs.ghostty.packages.${system}.default - inputs.yazi.packages.${system}.default ]; }