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