chore: init

This commit is contained in:
Nick 2025-10-01 19:51:55 -05:00
commit 1b2c1ea359
891 changed files with 37053 additions and 0 deletions

View file

@ -0,0 +1,18 @@
[
"catppuccin"
"catppuccin-blur"
"cargo-appraiser"
"cargo-tom"
"markdown-oxide"
"material-dark"
"rose-pine-theme"
"material-theme"
"just"
"elm"
"haskell"
"nix"
"typst"
"nu"
"toml"
"xml"
]

View file

@ -0,0 +1,26 @@
{
pkgs,
flake,
...
}:
builtins.attrValues {
inherit (pkgs)
nil
nixfmt-rfc-style
nixd
wl-clipboard-rs
xsel
package-version-server
;
inherit (flake.inputs.nixpkgs-stable.legacyPackages.${pkgs.system}.elmPackages)
elm-language-server
elm-review
elm-format
;
inherit (pkgs.haskellPackages)
cabal-fmt
hlint
haskell-language-server
ormolu
;
}

View file

@ -0,0 +1,25 @@
[
{
context = "Editor";
bindings = {
"ctrl-shift-d" = "editor::DeleteLine";
"ctrl-shift-f" = "editor::Format";
"ctrl-shift-c" = "editor::ToggleComments";
"ctrl-shift-w" = "editor::AddSelectionAbove";
"ctrl-shift-s" = "editor::AddSelectionBelow";
};
}
{
context = "Pane";
bindings = {
"alt-w" = "editor::MoveLineUp";
"alt-s" = "editor::MoveLineDown";
};
}
# {
# bindings = {
# context = "Workspace";
# "ctrl-s" = "workspace::SaveAll";
# };
# }
]

View file

@ -0,0 +1,35 @@
{
flake,
...
}:
let
inherit (flake.config.services.instances)
ollama
web
;
service = ollama;
localhost = web.localhost.address0;
in
{
agent = {
enabled = true;
default_model = {
provider = "zed.dev";
model = "claude-3-5-sonnet-latest";
};
version = "2";
};
assistant1 = {
enabled = true;
default_model = {
provider = "ollama";
model = "qwen2.5-coder:7b";
};
version = "2";
};
language_models = {
ollama = {
api_url = "http://${localhost}:${builtins.toString service.ports.port1}";
};
};
}

View file

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

View file

@ -0,0 +1,41 @@
{ flake, ... }:
let
inherit (flake.config.aesthetics.themes)
fonts
;
in
{
ui_font_family = fonts.name;
buffer_font_family = fonts.name;
hour_format = "hour12";
vim_mode = false;
show_whitespaces = "none";
ui_font_size = fonts.sizes.applications;
buffer_font_size = fonts.sizes.applications;
tab_size = 2;
cursor_blink = true;
theme = "Catppuccin Macchiato";
show_copilot_suggestions = true;
bracket_pairing = "always";
relative_line_numbers = false;
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;
auto_reveal_entries = false;
auto_fold_dirs = false;
};
indent_guides = {
enabled = true;
};
}

View file

@ -0,0 +1,59 @@
{
"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}"
"-"
];
};
};
};
"Elm" = {
language_servers = [ "elm-language-server" ];
format_on_save = {
external = {
command = "elm-format";
arguments = [ "--stdin" ];
};
};
};
"Haskell" = {
language_servers = [ "haskell-language-server" ];
formatter = {
external = {
command = "ormolu";
arguments = [
"--stdin-input-file"
"placeholder"
];
};
};
};
}

View file

@ -0,0 +1,58 @@
{
rust-analyzer = {
binary = {
path_lookup = true;
};
};
elm-language-server = {
initialization_options = {
disableElmLSDiagnostics = true;
onlyUpdateDiagnosticsOnSave = false;
elmReviewDiagnostics = "warning";
};
};
cargotom = {
initialization_options = {
offline = false;
stable = false;
per_page_web = 50;
};
};
haskell = {
binary = {
path_lookup = true;
};
};
haskell-language-server = {
initialization_options = {
haskell = {
formattingProvider = "ormolu";
};
};
};
nix = {
binary = {
path_lookup = true;
};
};
typst = {
binary = {
path_lookup = true;
};
};
elixir-ls = {
binary = {
path_lookup = true;
};
settings = {
dialyzerEnabled = true;
};
};
}

View file

@ -0,0 +1,20 @@
{
lib,
pkgs,
...
}:
{
node = {
path = lib.getExe pkgs.nodejs;
npm_path = lib.getExe' pkgs.nodejs "npm";
};
soft_wrap = "editor_width";
auto_update = false;
autosave = "on_focus_change";
load_direnv = "shell_hook";
base_keymap = "VSCode";
restore_on_startup = "last_session";
show_wrap_guides = true;
}

View file

@ -0,0 +1,39 @@
{ flake, ... }:
let
inherit (flake.config.aesthetics.themes)
fonts
;
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 = fonts.name;
font_features = null;
font_size = fonts.sizes.terminal;
line_height = "comfortable";
option_as_meta = false;
button = false;
shell = "system";
toolbar = {
title = false;
};
working_directory = "current_project_directory";
}

View file

@ -0,0 +1,26 @@
{
flake,
lib,
pkgs,
...
}:
let
configPath = ./config;
assistantPath = import (configPath + /assistant) { inherit flake; };
interfacePath = import (configPath + /interface) { inherit flake; };
languagesPath = import (configPath + /languages);
lspPath = import (configPath + /lsp);
terminalPath = import (configPath + /terminal) { inherit flake; };
gitPath = import (configPath + /git);
miscPath = import (configPath + /misc) { inherit lib pkgs; };
in
{
git = gitPath;
languages = languagesPath;
lsp = lspPath;
terminal = terminalPath;
}
// assistantPath
// interfacePath
// miscPath