169 lines
4.3 KiB
Nix
Executable File
169 lines
4.3 KiB
Nix
Executable File
{ config, pkgs, namespace, ... }:
|
|
{
|
|
home = {
|
|
username = "admin";
|
|
packages =
|
|
with pkgs;
|
|
[
|
|
heroic
|
|
python3
|
|
python3Packages.requests
|
|
python3Packages.mcp
|
|
jq
|
|
]
|
|
++ (with pkgs.${namespace}; [
|
|
moondeck-buddy
|
|
]);
|
|
};
|
|
|
|
${namespace} = {
|
|
sops.enable = true;
|
|
};
|
|
|
|
sops = {
|
|
age.keyFile = "/home/admin/.config/sops/age/keys.txt";
|
|
defaultSopsFile = "/etc/nixos/secrets/secrets.yaml";
|
|
validateSopsFiles = false;
|
|
secrets = {
|
|
"ssh-keys-public/jallen-nas" = {
|
|
path = "/home/admin/.ssh/id_ed25519.pub";
|
|
mode = "0644";
|
|
};
|
|
"ssh-keys-private/jallen-nas" = {
|
|
path = "/home/admin/.ssh/id_ed25519";
|
|
mode = "0600";
|
|
};
|
|
"ssh-keys-public/desktop-nixos" = {
|
|
path = "/home/admin/.ssh/authorized_keys";
|
|
mode = "0600";
|
|
};
|
|
|
|
"ssh-keys-public/desktop-nixos-root" = {
|
|
path = "/home/admin/.ssh/authorized_keys2";
|
|
mode = "0600";
|
|
};
|
|
|
|
"ssh-keys-public/desktop-windows" = {
|
|
path = "/home/admin/.ssh/authorized_keys3";
|
|
mode = "0600";
|
|
};
|
|
|
|
"ssh-keys-public/macbook-macos" = {
|
|
path = "/home/admin/.ssh/authorized_keys4";
|
|
mode = "0600";
|
|
};
|
|
};
|
|
};
|
|
|
|
programs = {
|
|
bash = {
|
|
shellAliases = {
|
|
"llama-status" =
|
|
"curl -s http://localhost:8127/health 2>/dev/null && echo 'LLaMA.cpp server is running' || echo 'LLaMA.cpp server is not responding'";
|
|
};
|
|
};
|
|
|
|
neovim = {
|
|
enable = true;
|
|
viAlias = true;
|
|
vimAlias = true;
|
|
defaultEditor = true;
|
|
plugins = [
|
|
pkgs.vimPlugins.nvim-tree-lua
|
|
{
|
|
plugin = pkgs.vimPlugins.vim-startify;
|
|
config = "let g:startify_change_to_vcs_root = 0";
|
|
}
|
|
];
|
|
};
|
|
steam-rom-manager = {
|
|
enable = true;
|
|
steamUsername = "mjallen18";
|
|
|
|
# Optional: override default paths if needed
|
|
environmentVariables = {
|
|
romsDirectory = "/home/admin/Emulation/roms";
|
|
steamDirectory = "/home/admin/.local/share/Steam";
|
|
};
|
|
|
|
emulators = {
|
|
"Non-SRM Shortcuts" = {
|
|
enable = true;
|
|
parserType = "Non-SRM Shortcuts";
|
|
extraArgs = "";
|
|
};
|
|
};
|
|
};
|
|
|
|
opencode = {
|
|
enable = true;
|
|
enableMcpIntegration = true;
|
|
settings = {
|
|
provider = {
|
|
nas = {
|
|
npm = "@ai-sdk/openai-compatible";
|
|
name = "llama-server (local)";
|
|
options = {
|
|
baseURL = "http://jallen-nas.local:8127/v1";
|
|
};
|
|
models = {
|
|
Qwen3-Coder-Next-Q4_0 = {
|
|
name = "Qwen3 Coder (local)";
|
|
modalities = {
|
|
input = [
|
|
"image"
|
|
"text"
|
|
];
|
|
output = [ "text" ];
|
|
};
|
|
limit = {
|
|
context = 262144;
|
|
output = 262144;
|
|
};
|
|
};
|
|
# "GLM-4.7-Flash-REAP-23B-A3B-UD-Q3_K_XL": {
|
|
# "name": "GLM 4.7 Flash (local)",
|
|
# "modalities": { "input": ["image", "text"], "output": ["text"] },
|
|
# "limit": {
|
|
# "context": 262144,
|
|
# "output": 262144
|
|
# }
|
|
# };
|
|
# "Nemotron-3-Nano-30B-A3B-IQ4_XS": {
|
|
# "name": "Nemotron-3-Nano (local)",
|
|
# "modalities": { "input": ["image", "text"], "output": ["text"] },
|
|
# "limit": {
|
|
# "context": 262144,
|
|
# "output": 262144
|
|
# }
|
|
# };
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
mcp = {
|
|
enable = true;
|
|
servers = {
|
|
nixos = {
|
|
command = "nix";
|
|
args = [
|
|
"run"
|
|
"github:utensils/mcp-nixos"
|
|
"--"
|
|
];
|
|
};
|
|
hass-mcp = {
|
|
command = "uvx";
|
|
args = [ "hass-mcp" ];
|
|
env = {
|
|
HA_URL = "http://nuc-nixos.local:8123";
|
|
HA_TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiI1ZDM2MTliNWNjMGY0ZGI2OWQzOTQ4Mjk0ZDFmNjAxMCIsImlhdCI6MTc3MDc2MjA1NywiZXhwIjoyMDg2MTIyMDU3fQ.P52jeX8GQcdGdzpbU3NCWZMUjkJZHFnOeR8--jy9dF8";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|