Compare commits
4 Commits
4a65c68f9b
...
9aee1a2b37
| Author | SHA1 | Date | |
|---|---|---|---|
|
9aee1a2b37
|
|||
|
a75a7fea79
|
|||
|
5b12250fd5
|
|||
|
b8c88cae25
|
@@ -20,6 +20,7 @@ in {
|
||||
package = pkgs.nordic;
|
||||
name = "Nordic";
|
||||
};
|
||||
gtk4.theme = config.gtk.theme;
|
||||
};
|
||||
home.pointerCursor = {
|
||||
enable = true;
|
||||
|
||||
@@ -6,16 +6,23 @@
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.home.dev.ai.claude;
|
||||
jsonFormat = pkgs.formats.json {};
|
||||
in {
|
||||
options.home.dev.ai.claude.enable = mkEnableOption "Enables Claude-related packages";
|
||||
options.home.dev.ai.claude = {
|
||||
enable = mkEnableOption "Enables Claude-related packages";
|
||||
mcpServers = mkOption {
|
||||
inherit (jsonFormat) type;
|
||||
default = {};
|
||||
};
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = let
|
||||
claude-jj = pkgs.writeShellScriptBin "claude-jj" ''
|
||||
${pkgs.claude-code}/bin/claude --append-system-prompt 'CRITICAL: This repository uses Jujutsu (jj), NOT git. Never use git commands. Use jj equivalents. See CLAUDE.md.' "$@"
|
||||
${pkgs.claude-code}/bin/claude --append-system-prompt 'CRITICAL: This repository uses Jujutsu (jj), NOT git. Never use git commands. Use jj equivalents.' "$@"
|
||||
'';
|
||||
in [claude-jj];
|
||||
in [claude-jj pkgs.sox];
|
||||
programs.claude-code = {
|
||||
inherit (cfg) enable;
|
||||
inherit (cfg) enable mcpServers;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -6,18 +6,34 @@
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.home.dev.ai;
|
||||
jsonFormat = pkgs.formats.json {};
|
||||
in {
|
||||
imports = [
|
||||
./claude.nix
|
||||
./ollama.nix
|
||||
];
|
||||
|
||||
options.home.dev.ai.enable = mkEnableOption "Enables AI features";
|
||||
config.home = mkIf cfg.enable {
|
||||
options.home.dev.ai = {
|
||||
enable = mkEnableOption "Enables AI features";
|
||||
mcpServers = mkOption {
|
||||
inherit (jsonFormat) type;
|
||||
default = {};
|
||||
};
|
||||
};
|
||||
config = {
|
||||
home = mkIf cfg.enable {
|
||||
dev.ai = {
|
||||
claude.enable = mkDefault cfg.enable;
|
||||
claude = {
|
||||
enable = mkDefault cfg.enable;
|
||||
mcpServers = mkDefault cfg.mcpServers;
|
||||
};
|
||||
ollama.enable = mkDefault cfg.enable;
|
||||
};
|
||||
packages = [pkgs.lmstudio];
|
||||
};
|
||||
programs.mcp = mkIf (cfg.mcpServers != {}) {
|
||||
enable = true;
|
||||
servers = cfg.mcpServers;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -127,6 +127,11 @@ in {
|
||||
|
||||
"dist/"
|
||||
];
|
||||
signing = {
|
||||
format = if cfg.publicKeyFile != null then "ssh" else "openpgp";
|
||||
key = cfg.publicKeyFile;
|
||||
signByDefault = true;
|
||||
};
|
||||
settings = {
|
||||
user = {
|
||||
inherit (cfg) name email;
|
||||
@@ -151,8 +156,6 @@ in {
|
||||
renames = "copy";
|
||||
interHunkContext = 10;
|
||||
};
|
||||
commit.gpgsign = cfg.publicKeyFile != null;
|
||||
gpg.format = "ssh";
|
||||
gpg.ssh.allowedSignersFile = "${config.home.homeDirectory}/.ssh/allowed_signers";
|
||||
init.defaultBranch = "main";
|
||||
pull.rebase = true;
|
||||
@@ -168,7 +171,6 @@ in {
|
||||
updateRefs = true;
|
||||
};
|
||||
help.autocorrect = "prompt";
|
||||
user.signingkey = mkIf (cfg.publicKeyFile != null) cfg.publicKeyFile;
|
||||
web.browser = mkIf (cfg.browser != null) cfg.browser;
|
||||
sendemail = mkIf cfg.sendmail.enable {
|
||||
smtpserver = cfg.sendmail.server;
|
||||
|
||||
Reference in New Issue
Block a user