feat: dank themes module

This commit is contained in:
Nick 2025-01-14 16:17:42 -06:00
parent 616ce7fbca
commit 87b2f7e687
62 changed files with 1589 additions and 201 deletions

View file

@ -0,0 +1,15 @@
[
"catppuccin"
"catppuccin-blur"
"material-dark"
"rose-pine-theme"
"material-theme"
"just"
"elm"
"haskell"
"nix"
"typst"
"nu"
"toml"
"xml"
]

View file

@ -0,0 +1,11 @@
{pkgs, ...}:
builtins.attrValues {
inherit
(pkgs)
nil
nixfmt-rfc-style
nixd
wl-clipboard-rs
xsel
;
}

View file

@ -1 +0,0 @@
{}

View file

@ -1 +0,0 @@
{}

View file

@ -0,0 +1,9 @@
{
enabled = true;
version = "2";
default_open_ai_model = null;
default_model = {
provider = "zed.dev";
model = "claude-3-5-sonnet-latest";
};
}

View file

@ -0,0 +1,7 @@
{
enabled = true;
autoFetch = true;
autoFetchInterval = 300;
git_status = true;
git_gutter = "tracked_files";
}

View file

@ -0,0 +1,38 @@
{flake, ...}: let
inherit
(flake.config.aesthetics.themes)
font
;
in {
ui_font_family = font;
buffer_font_family = font;
hour_format = "hour12";
vim_mode = false;
show_whitespaces = "none";
ui_font_size = 14;
buffer_font_size = 14;
tab_size = 2;
cursor_blink = true;
theme = "Rosé Pine";
show_copilot_suggestions = true;
bracket_pairing = "always";
relative_line_numbers = true;
tabs = {
file_icons = true;
git_status = true;
};
inlay_hints = {
enabled = true;
typeHints = true;
parameterHints = true;
chainingHints = true;
};
project_panel = {
file_icons = true;
folder_icons = true;
indent_size = 15;
};
indent_guides = {
enabled = true;
};
}

View file

@ -0,0 +1,38 @@
{
"Elixir" = {
language_servers = [
"!lexical"
"elixir-ls"
"!next-ls"
];
format_on_save = {
external = {
command = "mix";
arguments = [
"format"
"--stdin-filename"
"{buffer_path}"
"-"
];
};
};
};
"HEEX" = {
language_servers = [
"!lexical"
"elixir-ls"
"!next-ls"
];
format_on_save = {
external = {
command = "mix";
arguments = [
"format"
"--stdin-filename"
"{buffer_path}"
"-"
];
};
};
};
}

View file

@ -0,0 +1,38 @@
{
rust-analyzer = {
binary = {
path_lookup = true;
};
};
elm = {
binary = {
path_lookup = true;
};
};
haskell = {
path_lookup = true;
};
nix = {
binary = {
path_lookup = true;
};
};
typst = {
binary = {
path_lookup = true;
};
};
elixir-ls = {
binary = {
path_lookup = true;
};
settings = {
dialyzerEnabled = true;
};
};
}

View file

@ -0,0 +1,38 @@
{flake, ...}: let
inherit
(flake.config.aesthetics.themes)
font
;
in {
alternate_scroll = "off";
blinking = "off";
copy_on_select = true;
dock = "bottom";
detect_venv = {
on = {
directories = [
".env"
"env"
".venv"
"venv"
];
activate_script = "default";
};
};
env = {
TERM = "ghostty";
};
font_family = font;
font_features = null;
font_size = 12;
line_height = "comfortable";
option_as_meta = false;
button = false;
shell = "system";
toolbar = {
title = false;
};
working_directory = "current_project_directory";
}

View file

@ -0,0 +1,41 @@
{
flake,
lib,
pkgs,
...
}: let
configPath = ./config;
assistantPath = import (configPath + /assistant);
interfacePath = import (configPath + /interface) {
inherit
flake
;
};
languagesPath = import (configPath + /languages);
lspPath = import (configPath + /lsp);
terminalPath = import (configPath + /terminal) {
inherit
flake
;
};
gitPath = import (configPath + /git);
in
{
assistant = assistantPath;
git = gitPath;
languages = languagesPath;
lsp = lspPath;
terminal = terminalPath;
node = {
path = lib.getExe pkgs.nodejs;
npm_path = lib.getExe' pkgs.nodejs "npm";
};
auto_update = false;
autosave_after_delay = 20;
load_direnv = "shell_hook";
base_keymap = "VSCode";
restore_on_startup = "last_session";
}
// interfacePath

23
home/modules/zed/default.nix Normal file → Executable file
View file

@ -1,17 +1,30 @@
{
flake,
lib,
pkgs,
...
}: let
configPath = ./config;
extensionsPath = import (configPath + /extensions.nix);
userKeymapsPath = import (configPath + /userKeymaps.nix);
userSettingsPath = import (configPath + /userSettings.nix);
packagePath = flake.inputs.zed.packages.${pkgs.system}.zed;
extensionsPath = import (configPath + /extensions);
userKeymapsPath = import (configPath + /userKeymaps);
userSettingsPath = import (configPath + /userSettings) {
inherit
flake
lib
pkgs
;
};
extraPackagesPath = import (configPath + /extraPackages) {
inherit
pkgs
;
};
# packagePath = flake.inputs.zed.packages.${pkgs.system}.default;
in {
programs.zed-editor = {
enable = true;
package = packagePath;
# package = packagePath;
extraPackages = extraPackagesPath;
extensions = extensionsPath;
userKeymaps = userKeymapsPath;
userSettings = userSettingsPath;