Compare commits
3 Commits
9aee1a2b37
...
4a65c68f9b
| Author | SHA1 | Date | |
|---|---|---|---|
|
4a65c68f9b
|
|||
|
43118be4b8
|
|||
|
0299411093
|
@@ -20,7 +20,6 @@ in {
|
||||
package = pkgs.nordic;
|
||||
name = "Nordic";
|
||||
};
|
||||
gtk4.theme = config.gtk.theme;
|
||||
};
|
||||
home.pointerCursor = {
|
||||
enable = true;
|
||||
|
||||
@@ -6,23 +6,16 @@
|
||||
}:
|
||||
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";
|
||||
mcpServers = mkOption {
|
||||
inherit (jsonFormat) type;
|
||||
default = {};
|
||||
};
|
||||
};
|
||||
options.home.dev.ai.claude.enable = mkEnableOption "Enables Claude-related packages";
|
||||
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.' "$@"
|
||||
${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.' "$@"
|
||||
'';
|
||||
in [claude-jj pkgs.sox];
|
||||
in [claude-jj];
|
||||
programs.claude-code = {
|
||||
inherit (cfg) enable mcpServers;
|
||||
inherit (cfg) enable;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -6,34 +6,18 @@
|
||||
}:
|
||||
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";
|
||||
mcpServers = mkOption {
|
||||
inherit (jsonFormat) type;
|
||||
default = {};
|
||||
};
|
||||
};
|
||||
config = {
|
||||
home = mkIf cfg.enable {
|
||||
options.home.dev.ai.enable = mkEnableOption "Enables AI features";
|
||||
config.home = mkIf cfg.enable {
|
||||
dev.ai = {
|
||||
claude = {
|
||||
enable = mkDefault cfg.enable;
|
||||
mcpServers = mkDefault cfg.mcpServers;
|
||||
};
|
||||
claude.enable = mkDefault cfg.enable;
|
||||
ollama.enable = mkDefault cfg.enable;
|
||||
};
|
||||
packages = [pkgs.lmstudio];
|
||||
};
|
||||
programs.mcp = mkIf (cfg.mcpServers != {}) {
|
||||
enable = true;
|
||||
servers = cfg.mcpServers;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -127,11 +127,6 @@ in {
|
||||
|
||||
"dist/"
|
||||
];
|
||||
signing = {
|
||||
format = if cfg.publicKeyFile != null then "ssh" else "openpgp";
|
||||
key = cfg.publicKeyFile;
|
||||
signByDefault = true;
|
||||
};
|
||||
settings = {
|
||||
user = {
|
||||
inherit (cfg) name email;
|
||||
@@ -156,6 +151,8 @@ 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;
|
||||
@@ -171,6 +168,7 @@ 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