mirror of
https://codeberg.org/tmayoff/.dotfiles.git
synced 2025-12-06 08:48:34 -05:00
185 lines
4.4 KiB
Nix
185 lines
4.4 KiB
Nix
{pkgs, ...}: {
|
|
imports = [
|
|
../../home/common.nix
|
|
../../home/helide
|
|
../../modules/home/ghostty.nix
|
|
../../modules/darwin/PaperWM.spoon
|
|
];
|
|
|
|
# Hinge-specific Helix configuration with lsp-ai
|
|
programs.helix.languages = {
|
|
language-server.lsp_ai = {
|
|
command = "lsp-ai";
|
|
args = [
|
|
"--use-seperate-log-file"
|
|
"--stdio"
|
|
];
|
|
config = {
|
|
memory = {
|
|
file_store = {};
|
|
};
|
|
models = {
|
|
model1 = {
|
|
type = "anthropic";
|
|
chat_endpoint = "https://api.anthropic.com/v1/messages";
|
|
model = "claude-3-5-haiku-20241022";
|
|
auth_token_env_var_name = "ANTHROPIC_API_KEY";
|
|
};
|
|
};
|
|
completion = {
|
|
model = "model1";
|
|
parameters = {
|
|
max_context = 2048;
|
|
max_tokens = 50;
|
|
system = "You are a code completion assistant. Complete the code at <CURSOR>. Only output the completion itself, nothing else. Be concise.";
|
|
messages = [
|
|
{
|
|
role = "user";
|
|
content = "def greet(name):\n print(f\"Hello, {<CURSOR>}\")";
|
|
}
|
|
{
|
|
role = "assistant";
|
|
content = "name";
|
|
}
|
|
{
|
|
role = "user";
|
|
content = "function sum(a, b) {\n return a + <CURSOR>;\n}";
|
|
}
|
|
{
|
|
role = "assistant";
|
|
content = "b";
|
|
}
|
|
{
|
|
role = "user";
|
|
content = "fn multiply(a: i32, b: i32) -> i32 {\n a * <CURSOR>\n}";
|
|
}
|
|
{
|
|
role = "assistant";
|
|
content = "b";
|
|
}
|
|
{
|
|
role = "user";
|
|
content = "# <CURSOR>\ndef add(a, b):\n return a + b";
|
|
}
|
|
{
|
|
role = "assistant";
|
|
content = "Adds two numbers";
|
|
}
|
|
{
|
|
role = "user";
|
|
content = "# This function checks if a number is even\n<CURSOR>";
|
|
}
|
|
{
|
|
role = "assistant";
|
|
content = "def is_even(n):\n return n % 2 == 0";
|
|
}
|
|
{
|
|
role = "user";
|
|
content = "{CODE}";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
language = [
|
|
{
|
|
name = "cpp";
|
|
language-servers = ["clangd" "lsp_ai"];
|
|
}
|
|
{
|
|
name = "python";
|
|
language-servers = ["ruff" "basedpyright" "lsp_ai"];
|
|
}
|
|
{
|
|
name = "typescript";
|
|
language-servers = ["typescript-language-server" "lsp_ai"];
|
|
}
|
|
{
|
|
name = "bash";
|
|
language-servers = ["bash-language-server" "lsp_ai"];
|
|
}
|
|
{
|
|
name = "toml";
|
|
language-servers = ["taplo" "lsp_ai"];
|
|
}
|
|
];
|
|
};
|
|
|
|
targets.darwin.linkApps.enable = false;
|
|
targets.darwin.copyApps.enable = true;
|
|
|
|
programs.git = {
|
|
lfs.enable = true;
|
|
|
|
signing = {
|
|
key = "~/.ssh/id_ed25519.pub";
|
|
format = "ssh";
|
|
signByDefault = true;
|
|
};
|
|
|
|
settings = {
|
|
author = {
|
|
email = "tyler.mayoff@hingehealth.com";
|
|
name = "Tyler Mayoff";
|
|
};
|
|
|
|
user = {
|
|
email = "tyler.mayoff@hingehealth.com";
|
|
name = "Tyle Mayoff";
|
|
};
|
|
};
|
|
};
|
|
|
|
home = {
|
|
username = "tyler.mayoff";
|
|
# homeDirectory = /Users/tyler.mayoff;
|
|
|
|
packages = with pkgs; [
|
|
bazelisk
|
|
cmake
|
|
conan
|
|
|
|
pre-commit
|
|
|
|
black
|
|
ruff
|
|
|
|
unstable.copilot-language-server
|
|
|
|
swiftlint
|
|
unstable.helix-gpt
|
|
unstable.lsp-ai
|
|
python312Packages.python-lsp-server
|
|
unstable.openscad-lsp
|
|
typescript-language-server
|
|
cmake-language-server
|
|
jdt-language-server
|
|
unstable.biome
|
|
uv
|
|
|
|
unstable.jiratui
|
|
unstable.opencode
|
|
|
|
ffmpeg
|
|
sccache
|
|
just
|
|
nodejs_24
|
|
yarn
|
|
cocoapods
|
|
];
|
|
|
|
sessionVariables = {
|
|
ANDROID_HOME = "/Users/tyler.mayoff/Library/Android/sdk";
|
|
PATH = "/opt/homebrew/opt/llvm@20/bin:$PATH::/Users/tyler.mayoff/Library/Android/sdk/platform-tools";
|
|
};
|
|
|
|
file.".gnupg/gpg-agent.conf".text = ''
|
|
pinentry-program ${pkgs.pinentry_mac}/Applications/pinentry-mac.app/Contents/MacOS/pinentry-mac
|
|
'';
|
|
};
|
|
|
|
programs.home-manager.enable = true;
|
|
home.stateVersion = "24.11";
|
|
}
|