feat: Added aichat module

This commit is contained in:
uttarayan21
2024-11-25 14:24:01 +05:30
parent 1b400d7899
commit 90ecf809ff
3 changed files with 63 additions and 3 deletions

View File

@@ -36,15 +36,14 @@ in {
[ [
inputs.nix-index-database.hmModules.nix-index inputs.nix-index-database.hmModules.nix-index
# ./wezterm.nix # ./wezterm.nix
# ./goread.nix
# ./zellij.nix
./kitty.nix ./kitty.nix
./gui.nix ./gui.nix
./auth.nix ./auth.nix
./tmux.nix ./tmux.nix
./nvim.nix ./nvim.nix
# ./goread.nix
./ncmpcpp.nix ./ncmpcpp.nix
# ./zellij.nix
../modules ../modules
] ]
++ lib.optionals device.isLinux [../linux] ++ lib.optionals device.isLinux [../linux]
@@ -352,6 +351,24 @@ in {
}; };
home-manager = {enable = true;}; home-manager = {enable = true;};
aichat = {
enable = true;
settings = {
clients = [
{
type = "openai-compatible";
name = "llama";
api_base = "https://llama.darksailor.dev/v1";
models = [
{
name = "minstral";
}
];
}
];
model = "llama:minstral";
};
};
}; };
fonts.fontconfig.enable = true; fonts.fontconfig.enable = true;

42
modules/aichat.nix Normal file
View File

@@ -0,0 +1,42 @@
{
pkgs,
config,
lib,
...
}:
with lib; let
cfg = config.programs.aichat;
yamlFormat = pkgs.formats.yaml {};
# configDir =
# if pkgs.stdenv.isDarwin then
# "${config.home.homeDirectory}Library/Application Support/aichat"
# else
# "${config.xdg.configHome}/aichat";
in {
options = {
programs.aichat = {
enable = mkEnableOption "aichat";
package = mkOption {
type = types.package;
default = pkgs.aichat;
defaultText = literalExpression "pkgs.aichat";
description = "The aichat package to install.";
};
settings = lib.mkOption {
type = yamlFormat.type;
description = "Options";
};
};
};
config = {
home.packages = mkIf cfg.enable [cfg.package];
xdg.configFile."aichat/config.yaml".source =
yamlFormat.generate "config.yaml" cfg.settings;
# xdg.configFile = mkIf cfg.enable {
# # "aichat/config.yaml".text = generators.toYAML {} cfg.settings;
# };
};
}

View File

@@ -6,6 +6,7 @@
imports = [ imports = [
./goread.nix ./goread.nix
./hyprpaper.nix ./hyprpaper.nix
./aichat.nix
# ./sketchybar.nix # ./sketchybar.nix
]; ];
} }