diff --git a/homeManagerModules/apps/zed/default.nix b/homeManagerModules/apps/zed/default.nix index a4fd6a8c..8d4b47a7 100644 --- a/homeManagerModules/apps/zed/default.nix +++ b/homeManagerModules/apps/zed/default.nix @@ -13,6 +13,311 @@ in { ]; xdg.configFile = { + "zed/themes/stylix.json".text = let + theme = { + "$schema" = "https://zed.dev/schema/themes/v0.1.0.json"; + author = "Aly Raffauf"; + name = "stylix"; + themes = [ + { + appearance = config.stylix.polarity; + name = "Stylix"; + style = { + background = config.lib.stylix.colors.withHashtag.base00; + border = config.lib.stylix.colors.withHashtag.base02; + "border.disabled" = null; + "border.focused" = null; + "border.selected" = null; + "border.transparent" = null; + "border.variant" = config.lib.stylix.colors.withHashtag.base02; + conflict = config.lib.stylix.colors.withHashtag.base0A; + "conflict.background" = config.lib.stylix.colors.withHashtag.base00; + "conflict.border" = config.lib.stylix.colors.withHashtag.base0A; + created = config.lib.stylix.colors.withHashtag.base0B; + "created.background" = config.lib.stylix.colors.withHashtag.base00; + "created.border" = config.lib.stylix.colors.withHashtag.base0B; + deleted = config.lib.stylix.colors.withHashtag.base08; + "deleted.background" = config.lib.stylix.colors.withHashtag.base00; + "deleted.border" = config.lib.stylix.colors.withHashtag.base08; + "drop_target.background" = config.lib.stylix.colors.withHashtag.base02; + "editor.active_line.background" = config.lib.stylix.colors.withHashtag.base01; + "editor.active_line_number" = config.lib.stylix.colors.withHashtag.base05; + "editor.active_wrap_guide" = config.lib.stylix.colors.withHashtag.base03; + "editor.background" = config.lib.stylix.colors.withHashtag.base00; + "editor.document_highlight.read_background" = config.lib.stylix.colors.withHashtag.base01; + "editor.document_highlight.write_background" = config.lib.stylix.colors.withHashtag.base01; + "editor.foreground" = config.lib.stylix.colors.withHashtag.base05; + "editor.gutter.background" = config.lib.stylix.colors.withHashtag.base00; + "editor.highlighted_line.background" = null; + "editor.invisible" = null; + "editor.line_number" = config.lib.stylix.colors.withHashtag.base03; + "editor.subheader.background" = config.lib.stylix.colors.withHashtag.base00; + "editor.wrap_guide" = config.lib.stylix.colors.withHashtag.base01; + "element.active" = null; + "element.background" = config.lib.stylix.colors.withHashtag.base01; + "element.disabled" = null; + "element.hover" = config.lib.stylix.colors.withHashtag.base02; + "element.selected" = config.lib.stylix.colors.withHashtag.base02; + "elevated_surface.background" = config.lib.stylix.colors.withHashtag.base00; + error = config.lib.stylix.colors.withHashtag.base08; + "error.background" = config.lib.stylix.colors.withHashtag.base00; + "error.border" = config.lib.stylix.colors.withHashtag.base08; + "ghost_element.active" = null; + "ghost_element.background" = null; + "ghost_element.disabled" = null; + "ghost_element.hover" = config.lib.stylix.colors.withHashtag.base01; + "ghost_element.selected" = config.lib.stylix.colors.withHashtag.base02; + hidden = config.lib.stylix.colors.withHashtag.base03; + "hidden.background" = config.lib.stylix.colors.withHashtag.base00; + "hidden.border" = config.lib.stylix.colors.withHashtag.base03; + hint = config.lib.stylix.colors.withHashtag.base05; + "hint.background" = config.lib.stylix.colors.withHashtag.base00; + "hint.border" = config.lib.stylix.colors.withHashtag.base0C; + icon = null; + "icon.accent" = null; + "icon.disabled" = null; + "icon.muted" = null; + "icon.placeholder" = null; + ignored = config.lib.stylix.colors.withHashtag.base03; + "ignored.background" = config.lib.stylix.colors.withHashtag.base00; + "ignored.border" = config.lib.stylix.colors.withHashtag.base03; + info = config.lib.stylix.colors.withHashtag.base0C; + "info.background" = config.lib.stylix.colors.withHashtag.base00; + "info.border" = config.lib.stylix.colors.withHashtag.base0C; + "link_text.hover" = config.lib.stylix.colors.withHashtag.base0C; + modified = config.lib.stylix.colors.withHashtag.base0D; + "modified.background" = config.lib.stylix.colors.withHashtag.base00; + "modified.border" = config.lib.stylix.colors.withHashtag.base0D; + "pane.focused_border" = null; + "panel.background" = config.lib.stylix.colors.withHashtag.base00; + "panel.focused_border" = config.lib.stylix.colors.withHashtag.base02; + players = [ + { + background = null; + cursor = config.lib.stylix.colors.withHashtag.base05; + selection = config.lib.stylix.colors.withHashtag.base02; + } + ]; + predictive = config.lib.stylix.colors.withHashtag.base03; + "predictive.background" = config.lib.stylix.colors.withHashtag.base01; + "predictive.border" = config.lib.stylix.colors.withHashtag.base02; + renamed = config.lib.stylix.colors.withHashtag.base0A; + "renamed.background" = config.lib.stylix.colors.withHashtag.base00; + "renamed.border" = config.lib.stylix.colors.withHashtag.base0A; + "scrollbar.thumb.border" = config.lib.stylix.colors.withHashtag.base02; + "scrollbar.thumb.hover_background" = config.lib.stylix.colors.withHashtag.base03; + "scrollbar.track.background" = config.lib.stylix.colors.withHashtag.base00; + "scrollbar.track.border" = null; + "scrollbar_thumb.background" = config.lib.stylix.colors.withHashtag.base02; + "search.match_background" = config.lib.stylix.colors.withHashtag.base02; + "status_bar.background" = config.lib.stylix.colors.withHashtag.base00; + success = config.lib.stylix.colors.withHashtag.base0B; + "success.background" = config.lib.stylix.colors.withHashtag.base00; + "success.border" = config.lib.stylix.colors.withHashtag.base0B; + "surface.background" = config.lib.stylix.colors.withHashtag.base00; + syntax = { + attribute = { + color = config.lib.stylix.colors.withHashtag.base0D; + font_style = null; + font_weight = null; + }; + boolean = { + color = config.lib.stylix.colors.withHashtag.base09; + font_style = null; + font_weight = null; + }; + comment = { + color = config.lib.stylix.colors.withHashtag.base03; + font_style = "italic"; + font_weight = null; + }; + "comment.doc" = { + color = config.lib.stylix.colors.withHashtag.base03; + font_style = "italic"; + font_weight = null; + }; + constant = { + color = config.lib.stylix.colors.withHashtag.base09; + font_style = null; + font_weight = null; + }; + constructor = { + color = config.lib.stylix.colors.withHashtag.base08; + font_style = null; + font_weight = null; + }; + emphasis = { + color = config.lib.stylix.colors.withHashtag.base08; + font_style = "italic"; + font_weight = null; + }; + "emphasis.strong" = { + color = config.lib.stylix.colors.withHashtag.base08; + font_style = null; + font_weight = 700; + }; + function = { + color = config.lib.stylix.colors.withHashtag.base0D; + font_style = null; + font_weight = null; + }; + keyword = { + color = config.lib.stylix.colors.withHashtag.base09; + font_style = null; + font_weight = null; + }; + label = { + color = config.lib.stylix.colors.withHashtag.base0A; + font_style = null; + font_weight = null; + }; + link_text = { + color = config.lib.stylix.colors.withHashtag.base08; + font_style = null; + font_weight = null; + }; + link_uri = { + color = config.lib.stylix.colors.withHashtag.base08; + font_style = null; + font_weight = null; + }; + number = { + color = config.lib.stylix.colors.withHashtag.base09; + font_style = null; + font_weight = null; + }; + punctuation = { + color = config.lib.stylix.colors.withHashtag.base05; + font_style = null; + font_weight = null; + }; + "punctuation.bracket" = { + color = config.lib.stylix.colors.withHashtag.base05; + font_style = null; + font_weight = null; + }; + "punctuation.delimiter" = { + color = config.lib.stylix.colors.withHashtag.base05; + font_style = null; + font_weight = null; + }; + "punctuation.list_marker" = { + color = config.lib.stylix.colors.withHashtag.base05; + font_style = null; + font_weight = null; + }; + "punctuation.special" = { + color = config.lib.stylix.colors.withHashtag.base05; + font_style = null; + font_weight = null; + }; + string = { + color = config.lib.stylix.colors.withHashtag.base0B; + font_style = null; + font_weight = null; + }; + "string.escape" = { + color = config.lib.stylix.colors.withHashtag.base09; + font_style = null; + font_weight = null; + }; + "string.regex" = { + color = config.lib.stylix.colors.withHashtag.base0B; + font_style = null; + font_weight = null; + }; + "string.special" = { + color = config.lib.stylix.colors.withHashtag.base0B; + font_style = null; + font_weight = null; + }; + "string.special.symbol" = { + color = config.lib.stylix.colors.withHashtag.base0B; + font_style = null; + font_weight = null; + }; + tag = { + color = config.lib.stylix.colors.withHashtag.base08; + font_style = null; + font_weight = null; + }; + "text.literal" = { + color = config.lib.stylix.colors.withHashtag.base0B; + font_style = null; + font_weight = null; + }; + title = { + color = config.lib.stylix.colors.withHashtag.base0A; + font_style = null; + font_weight = null; + }; + type = { + color = config.lib.stylix.colors.withHashtag.base0A; + font_style = null; + font_weight = null; + }; + variable = { + color = config.lib.stylix.colors.withHashtag.base06; + font_style = null; + font_weight = null; + }; + "variable.special" = { + color = config.lib.stylix.colors.withHashtag.base08; + font_style = "italic"; + font_weight = null; + }; + }; + "tab.active_background" = config.lib.stylix.colors.withHashtag.base00; + "tab.inactive_background" = config.lib.stylix.colors.withHashtag.base01; + "tab_bar.background" = config.lib.stylix.colors.withHashtag.base00; + "terminal.ansi.black" = config.lib.stylix.colors.withHashtag.base00; + "terminal.ansi.blue" = config.lib.stylix.colors.withHashtag.base0D; + "terminal.ansi.bright_black" = config.lib.stylix.colors.withHashtag.base03; + "terminal.ansi.bright_blue" = config.lib.stylix.colors.withHashtag.base0D; + "terminal.ansi.bright_cyan" = config.lib.stylix.colors.withHashtag.base0C; + "terminal.ansi.bright_green" = config.lib.stylix.colors.withHashtag.base0B; + "terminal.ansi.bright_magenta" = config.lib.stylix.colors.withHashtag.base09; + "terminal.ansi.bright_red" = config.lib.stylix.colors.withHashtag.base08; + "terminal.ansi.bright_white" = config.lib.stylix.colors.withHashtag.base0F; + "terminal.ansi.bright_yellow" = config.lib.stylix.colors.withHashtag.base0A; + "terminal.ansi.cyan" = config.lib.stylix.colors.withHashtag.base0C; + "terminal.ansi.dim_black" = null; + "terminal.ansi.dim_blue" = null; + "terminal.ansi.dim_cyan" = null; + "terminal.ansi.dim_green" = null; + "terminal.ansi.dim_magenta" = null; + "terminal.ansi.dim_red" = null; + "terminal.ansi.dim_white" = null; + "terminal.ansi.dim_yellow" = null; + "terminal.ansi.green" = config.lib.stylix.colors.withHashtag.base0B; + "terminal.ansi.magenta" = config.lib.stylix.colors.withHashtag.base09; + "terminal.ansi.red" = config.lib.stylix.colors.withHashtag.base08; + "terminal.ansi.white" = config.lib.stylix.colors.withHashtag.base05; + "terminal.ansi.yellow" = config.lib.stylix.colors.withHashtag.base0A; + "terminal.background" = config.lib.stylix.colors.withHashtag.base00; + "terminal.bright_foreground" = null; + "terminal.dim_foreground" = null; + "terminal.foreground" = null; + text = config.lib.stylix.colors.withHashtag.base05; + "text.accent" = config.lib.stylix.colors.withHashtag.base0C; + "text.disabled" = config.lib.stylix.colors.withHashtag.base02; + "text.muted" = config.lib.stylix.colors.withHashtag.base04; + "text.placeholder" = config.lib.stylix.colors.withHashtag.base0F; + "title_bar.background" = config.lib.stylix.colors.withHashtag.base00; + "toolbar.background" = config.lib.stylix.colors.withHashtag.base00; + unreachable = config.lib.stylix.colors.withHashtag.base0A; + "unreachable.background" = config.lib.stylix.colors.withHashtag.base00; + "unreachable.border" = config.lib.stylix.colors.withHashtag.base0A; + warning = config.lib.stylix.colors.withHashtag.base0A; + "warning.background" = config.lib.stylix.colors.withHashtag.base00; + "warning.border" = config.lib.stylix.colors.withHashtag.base0A; + }; + } + ]; + }; + in + lib.generators.toJSON {} theme; + "zed/keymap.json".text = let defaults = [ { @@ -92,8 +397,8 @@ in { terminal.font_size = config.stylix.fonts.sizes.terminal + 2; theme = { - dark = "Adwaita Pastel Dark"; - light = "Adwaita Pastel Light"; + dark = "Stylix"; + light = "Stylix"; mode = "system"; }; diff --git a/homes/aly/default.nix b/homes/aly/default.nix index 000a4b82..8678c849 100644 --- a/homes/aly/default.nix +++ b/homes/aly/default.nix @@ -91,15 +91,7 @@ self: { vsCodium.enable = true; yazi.enable = true; - zed = { - enable = true; - - settings.theme = { - dark = "Rosé Pine Moon"; - light = "Rosé Pine Dawn"; - mode = "system"; - }; - }; + zed. enable = true; }; defaultApps = {