95 lines
2.2 KiB
Nix
Raw Normal View History

2025-01-28 09:57:26 +01:00
{
config,
lib,
pkgs,
...
}:
with lib; let
cfg = config.features.desktop.office;
in {
options.features.desktop.coding.enable =
mkEnableOption "install coding related stuff";
config = mkIf cfg.enable {
home.packages = with pkgs; [
bruno
insomnia
];
programs.zed-editor = {
enable = true;
userSettings = {
features = {
2025-03-04 14:54:59 +01:00
inline_prediction_provider = "zed";
2025-02-17 06:36:50 +01:00
inline_completion_provider = "zed";
2025-01-28 09:57:26 +01:00
copilot = false;
2025-01-24 14:54:19 +01:00
};
2025-01-28 09:57:26 +01:00
telemetry = {
metrics = false;
};
lsp = {
rust_analyzer = {
binary = {path_lookup = true;};
2025-01-24 14:54:19 +01:00
};
};
2025-01-28 09:57:26 +01:00
languages = {
Nix = {
language_servers = ["nixd"];
formatter = {
external = {
command = "alejandra";
arguments = ["-q" "-"];
};
};
};
Python = {
language_servers = ["pyright"];
formatter = {
external = {
command = "black";
arguments = ["-"];
};
2025-01-24 14:54:19 +01:00
};
};
};
2025-01-28 09:57:26 +01:00
assistant = {
version = "2";
default_model = {
provider = "zed.dev";
model = "claude-3-5-sonnet-latest";
};
2025-01-24 14:54:19 +01:00
};
2025-01-28 09:57:26 +01:00
language_models = {
anthropic = {
version = "1";
api_url = "https://api.anthropic.com";
};
openai = {
version = "1";
api_url = "https://api.openai.com/v1";
};
ollama = {
api_url = "http://localhost:11434";
};
2025-01-24 14:54:19 +01:00
};
2025-02-20 15:47:16 +01:00
ssh_connections = [
{
host = "152.53.85.162";
nickname = "m3-atlas";
args = ["-i" "~/.ssh/m3tam3re"];
}
];
2025-01-28 09:57:26 +01:00
auto_update = false;
format_on_save = "on";
vim_mode = true;
load_direnv = "shell_hook";
theme = "Dracula";
buffer_font_family = "FiraCode Nerd Font";
2025-03-04 14:54:59 +01:00
ui_font_size = 24;
buffer_font_size = 24;
2025-02-15 14:08:39 +01:00
show_edit_predictions = true;
2025-01-24 14:54:19 +01:00
};
};
};
2024-10-20 00:30:58 +02:00
}