bye bye openclaw
This commit is contained in:
parent
36c73a41ff
commit
4b13eb5832
8 changed files with 18 additions and 283 deletions
|
|
@ -65,7 +65,7 @@ in {
|
||||||
host = "0.0.0.0";
|
host = "0.0.0.0";
|
||||||
syncModels = true;
|
syncModels = true;
|
||||||
loadModels =
|
loadModels =
|
||||||
[ "qwen3:4b" "lfm2.5-thinking:1.2b" "ministral-3:8b" "ministral-3:3b" ];
|
[ "qwen3-embedding:8b" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -162,7 +162,6 @@ in {
|
||||||
9000 # mealie
|
9000 # mealie
|
||||||
8989 # sonarr
|
8989 # sonarr
|
||||||
10222 # taskchampion-sync-server
|
10222 # taskchampion-sync-server
|
||||||
18789 # openclaw
|
|
||||||
];
|
];
|
||||||
firewall.allowedUDPPorts = [
|
firewall.allowedUDPPorts = [
|
||||||
5353 # mDNS
|
5353 # mDNS
|
||||||
|
|
@ -182,35 +181,11 @@ in {
|
||||||
};
|
};
|
||||||
users.groups.polen = { };
|
users.groups.polen = { };
|
||||||
|
|
||||||
# Luna user for OpenClaw AI assistant
|
# SOPS secrets
|
||||||
users.users.luna = {
|
|
||||||
isSystemUser = true;
|
|
||||||
group = "luna";
|
|
||||||
home = "/var/lib/luna";
|
|
||||||
createHome = true;
|
|
||||||
shell = pkgs.bash;
|
|
||||||
};
|
|
||||||
users.groups.luna = { };
|
|
||||||
|
|
||||||
# Enable lingering for luna's systemd user services (runs at boot without login)
|
|
||||||
system.activationScripts.enableLingeringLuna = ''
|
|
||||||
${pkgs.systemd}/bin/loginctl enable-linger luna || true
|
|
||||||
'';
|
|
||||||
|
|
||||||
# SOPS secrets for Luna (OpenClaw)
|
|
||||||
sops = {
|
sops = {
|
||||||
defaultSopsFile = ../../secrets/secrets.yaml;
|
defaultSopsFile = ../../secrets/secrets.yaml;
|
||||||
age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||||
secrets = {
|
secrets = { };
|
||||||
luna_telegram_token = {
|
|
||||||
owner = "luna";
|
|
||||||
group = "luna";
|
|
||||||
};
|
|
||||||
luna_gateway_token = {
|
|
||||||
owner = "luna";
|
|
||||||
group = "luna";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
# Luna Agent
|
|
||||||
|
|
||||||
Luna is a homelab assistant.
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
# Soul
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
# Tools
|
|
||||||
|
|
||||||
Luna can help answer questions about the homelab infrastructure.
|
|
||||||
|
|
@ -1,113 +0,0 @@
|
||||||
{ inputs, config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [ inputs.nix-openclaw.homeManagerModules.openclaw ];
|
|
||||||
|
|
||||||
home.username = "luna";
|
|
||||||
home.homeDirectory = "/var/lib/luna";
|
|
||||||
home.stateVersion = "25.05";
|
|
||||||
|
|
||||||
home.packages = with pkgs; [ xmlstarlet ];
|
|
||||||
|
|
||||||
programs.openclaw = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
config = {
|
|
||||||
models = {
|
|
||||||
providers = {
|
|
||||||
ollama = {
|
|
||||||
baseUrl = "http://127.0.0.1:11434/v1";
|
|
||||||
apiKey = "ollama-local";
|
|
||||||
api = "openai-completions";
|
|
||||||
models = [ ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
agents = {
|
|
||||||
defaults = {
|
|
||||||
model = { primary = "github-copilot/gpt-5-mini"; };
|
|
||||||
workspace = "/var/lib/luna/.openclaw/workspace";
|
|
||||||
maxConcurrent = 4;
|
|
||||||
subagents = { maxConcurrent = 8; };
|
|
||||||
models = { "github-copilot/gpt-5-mini" = { }; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
commands = {
|
|
||||||
native = "auto";
|
|
||||||
nativeSkills = "auto";
|
|
||||||
};
|
|
||||||
|
|
||||||
channels = {
|
|
||||||
telegram = {
|
|
||||||
dmPolicy = "pairing";
|
|
||||||
tokenFile = "/run/secrets/luna_telegram_token";
|
|
||||||
groups = { "*" = { requireMention = true; }; };
|
|
||||||
allowFrom = [ 1268580775 ];
|
|
||||||
groupPolicy = "allowlist";
|
|
||||||
streamMode = "partial";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
gateway = {
|
|
||||||
mode = "local";
|
|
||||||
auth = {
|
|
||||||
token =
|
|
||||||
"14db7eaede5f363bce5f5efd23baea45fd8c7984fd3d9234d9b98e1d52c88db7";
|
|
||||||
mode = "token";
|
|
||||||
};
|
|
||||||
port = 18789;
|
|
||||||
bind = "loopback";
|
|
||||||
tailscale = {
|
|
||||||
mode = "off";
|
|
||||||
resetOnExit = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
plugins = { entries = { telegram = { enabled = true; }; }; };
|
|
||||||
|
|
||||||
messages = { ackReactionScope = "group-mentions"; };
|
|
||||||
|
|
||||||
auth = {
|
|
||||||
profiles = {
|
|
||||||
"github-copilot:github" = {
|
|
||||||
provider = "github-copilot";
|
|
||||||
mode = "token";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
hooks = {
|
|
||||||
internal = {
|
|
||||||
enabled = true;
|
|
||||||
entries = {
|
|
||||||
"boot-md" = { enabled = true; };
|
|
||||||
"command-logger" = { enabled = true; };
|
|
||||||
"session-memory" = { enabled = true; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
wizard = {
|
|
||||||
lastRunAt = "2026-02-10T18:36:29.457Z";
|
|
||||||
lastRunVersion = "2026.2.6-3";
|
|
||||||
lastRunCommand = "onboard";
|
|
||||||
lastRunMode = "local";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
lastTouchedVersion = "2026.2.6-3";
|
|
||||||
lastTouchedAt = "2026-02-10T18:36:29.472Z";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Plugins useful for homelab Q&A
|
|
||||||
bundledPlugins = {
|
|
||||||
summarize.enable = true; # Summarize docs/web pages
|
|
||||||
oracle.enable = false; # Web search
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
}
|
|
||||||
|
|
@ -116,6 +116,12 @@
|
||||||
withUWSM = true;
|
withUWSM = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs.weylus = {
|
||||||
|
enable = true;
|
||||||
|
users = [ "polen" ];
|
||||||
|
openFirewall= true;
|
||||||
|
};
|
||||||
|
|
||||||
services.gvfs.enable = true;
|
services.gvfs.enable = true;
|
||||||
|
|
||||||
# to make pass work
|
# to make pass work
|
||||||
|
|
|
||||||
128
flake.lock
generated
128
flake.lock
generated
|
|
@ -76,24 +76,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": "systems"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1731533236,
|
|
||||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|
@ -114,27 +96,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"home-manager_2": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nix-openclaw",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1767909183,
|
|
||||||
"narHash": "sha256-u/bcU0xePi5bgNoRsiqSIwaGBwDilKKFTz3g0hqOBAo=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"rev": "cd6e96d56ed4b2a779ac73a1227e0bb1519b3509",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"mnw": {
|
"mnw": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767030222,
|
"lastModified": 1767030222,
|
||||||
|
|
@ -191,47 +152,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nix-openclaw": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-utils": "flake-utils",
|
|
||||||
"home-manager": "home-manager_2",
|
|
||||||
"nix-steipete-tools": "nix-steipete-tools",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1770607161,
|
|
||||||
"narHash": "sha256-D9axajTuNJq1EckiMNfAOEir7z8lbLUGpMmf/UMZvwM=",
|
|
||||||
"owner": "openclaw",
|
|
||||||
"repo": "nix-openclaw",
|
|
||||||
"rev": "4d01743f028500544e814712949e1a658196d27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "openclaw",
|
|
||||||
"repo": "nix-openclaw",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nix-steipete-tools": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": "nixpkgs_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1770240566,
|
|
||||||
"narHash": "sha256-fY8t41kMSHu2ovf89mIdvC7vkceroCwKxw/MKVn4rsE=",
|
|
||||||
"owner": "openclaw",
|
|
||||||
"repo": "nix-steipete-tools",
|
|
||||||
"rev": "983210e3b6e9285780e87f48ce9354b51a270e95",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "openclaw",
|
|
||||||
"repo": "nix-steipete-tools",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765934234,
|
"lastModified": 1765934234,
|
||||||
|
|
@ -264,22 +184,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
|
||||||
"lastModified": 1767364772,
|
|
||||||
"narHash": "sha256-fFUnEYMla8b7UKjijLnMe+oVFOz6HjijGGNS1l7dYaQ=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "16c7794d0a28b5a37904d55bcca36003b9109aaa",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixpkgs-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_3": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770562336,
|
"lastModified": 1770562336,
|
||||||
"narHash": "sha256-ub1gpAONMFsT/GU2hV6ZWJjur8rJ6kKxdm9IlCT0j84=",
|
"narHash": "sha256-ub1gpAONMFsT/GU2hV6ZWJjur8rJ6kKxdm9IlCT0j84=",
|
||||||
|
|
@ -295,7 +199,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770380644,
|
"lastModified": 1770380644,
|
||||||
"narHash": "sha256-P7dWMHRUWG5m4G+06jDyThXO7kwSk46C1kgjEWcybkE=",
|
"narHash": "sha256-P7dWMHRUWG5m4G+06jDyThXO7kwSk46C1kgjEWcybkE=",
|
||||||
|
|
@ -311,7 +215,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768564909,
|
"lastModified": 1768564909,
|
||||||
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
|
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
|
||||||
|
|
@ -327,7 +231,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_6": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768395095,
|
"lastModified": 1768395095,
|
||||||
"narHash": "sha256-ZhuYJbwbZT32QA95tSkXd9zXHcdZj90EzHpEXBMabaw=",
|
"narHash": "sha256-ZhuYJbwbZT32QA95tSkXd9zXHcdZj90EzHpEXBMabaw=",
|
||||||
|
|
@ -369,8 +273,8 @@
|
||||||
"flake-parts": "flake-parts_2",
|
"flake-parts": "flake-parts_2",
|
||||||
"mnw": "mnw",
|
"mnw": "mnw",
|
||||||
"ndg": "ndg",
|
"ndg": "ndg",
|
||||||
"nixpkgs": "nixpkgs_6",
|
"nixpkgs": "nixpkgs_5",
|
||||||
"systems": "systems_2"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768464392,
|
"lastModified": 1768464392,
|
||||||
|
|
@ -391,8 +295,7 @@
|
||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nix-darwin": "nix-darwin",
|
"nix-darwin": "nix-darwin",
|
||||||
"nix-openclaw": "nix-openclaw",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nixpkgs": "nixpkgs_3",
|
|
||||||
"noctalia": "noctalia",
|
"noctalia": "noctalia",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"vimix": "vimix"
|
"vimix": "vimix"
|
||||||
|
|
@ -400,7 +303,7 @@
|
||||||
},
|
},
|
||||||
"sops-nix": {
|
"sops-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_4"
|
"nixpkgs": "nixpkgs_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770526836,
|
"lastModified": 1770526836,
|
||||||
|
|
@ -431,25 +334,10 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"vimix": {
|
"vimix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"nixpkgs": "nixpkgs_5",
|
"nixpkgs": "nixpkgs_4",
|
||||||
"nvf": "nvf"
|
"nvf": "nvf"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
|
|
|
||||||
16
flake.nix
16
flake.nix
|
|
@ -18,13 +18,9 @@
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
nix-openclaw = {
|
|
||||||
url = "github:openclaw/nix-openclaw";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { nixpkgs, nix-darwin, sops-nix, disko, home-manager, nix-openclaw
|
outputs = { nixpkgs, nix-darwin, sops-nix, disko, home-manager
|
||||||
, ... }@inputs: {
|
, ... }@inputs: {
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
default = nixpkgs.lib.nixosSystem {
|
default = nixpkgs.lib.nixosSystem {
|
||||||
|
|
@ -46,18 +42,8 @@
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = { inherit inputs; };
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
{ nixpkgs.overlays = [ nix-openclaw.overlays.default ]; }
|
|
||||||
|
|
||||||
disko.nixosModules.disko
|
disko.nixosModules.disko
|
||||||
sops-nix.nixosModules.sops
|
sops-nix.nixosModules.sops
|
||||||
home-manager.nixosModules.home-manager
|
|
||||||
{
|
|
||||||
home-manager.useGlobalPkgs = true;
|
|
||||||
home-manager.useUserPackages = true;
|
|
||||||
home-manager.backupFileExtension = "backup";
|
|
||||||
home-manager.extraSpecialArgs = { inherit inputs; };
|
|
||||||
home-manager.users.luna = import ./devices/server/luna.nix;
|
|
||||||
}
|
|
||||||
./devices/server/configuration.nix
|
./devices/server/configuration.nix
|
||||||
./modules
|
./modules
|
||||||
];
|
];
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue