refactor: make hosts declarative and consolidate shared config
- add my.username / my.gaming.enable / my.ai.local.enable options and gate optional app modules on them instead of per-host import lists - move vendor-neutral hardware.graphics into modules/graphical, leaving only NVIDIA-specific drivers and env vars in modules/hardware/nvidia - derive the primary user everywhere from my.username (users, getty, home-manager, tmpfiles) - de-duplicate Hyprland autostart down to a single system loginShellInit using the start-hyprland wrapper - consolidate all nixpkgs overlays into modules/core/nix.nix and use final.stdenv.hostPlatform.system - make the zsh rebuild helper target $(hostname) instead of hardcoded hades - add nixpkgs follows for nixos-hardware, pi and comfy-ui (single nixpkgs) - add .gitignore and a nixfmt flake formatter; format all nix files - remove empty browser.nix/display-configuration.nix and rename local_ai.nix -> local-ai.nix - document the my.* toggles in the README
This commit is contained in:
45
modules/apps/local-ai.nix
Normal file
45
modules/apps/local-ai.nix
Normal file
@@ -0,0 +1,45 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
inputs.comfy-ui.nixosModules.default
|
||||
];
|
||||
|
||||
config = lib.mkIf config.my.ai.local.enable {
|
||||
services = {
|
||||
comfyui = {
|
||||
enable = true;
|
||||
gpuSupport = "cuda";
|
||||
enableManager = true;
|
||||
port = 8188;
|
||||
listenAddress = "0.0.0.0";
|
||||
dataDir = "/var/lib/comfyui";
|
||||
user = "comfyui";
|
||||
group = "comfyui";
|
||||
createUser = true;
|
||||
};
|
||||
|
||||
ollama = {
|
||||
enable = true;
|
||||
package = pkgs.unstable.ollama-cuda;
|
||||
host = "0.0.0.0";
|
||||
port = 11434;
|
||||
user = "ollama";
|
||||
group = "ollama";
|
||||
home = "/var/lib/ollama";
|
||||
};
|
||||
|
||||
open-webui.enable = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
unstable.ollama-cuda
|
||||
];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user