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";
|
||||
syncModels = true;
|
||||
loadModels =
|
||||
[ "qwen3:4b" "lfm2.5-thinking:1.2b" "ministral-3:8b" "ministral-3:3b" ];
|
||||
[ "qwen3-embedding:8b" ];
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -162,7 +162,6 @@ in {
|
|||
9000 # mealie
|
||||
8989 # sonarr
|
||||
10222 # taskchampion-sync-server
|
||||
18789 # openclaw
|
||||
];
|
||||
firewall.allowedUDPPorts = [
|
||||
5353 # mDNS
|
||||
|
|
@ -182,35 +181,11 @@ in {
|
|||
};
|
||||
users.groups.polen = { };
|
||||
|
||||
# Luna user for OpenClaw AI assistant
|
||||
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 secrets
|
||||
sops = {
|
||||
defaultSopsFile = ../../secrets/secrets.yaml;
|
||||
age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||
secrets = {
|
||||
luna_telegram_token = {
|
||||
owner = "luna";
|
||||
group = "luna";
|
||||
};
|
||||
luna_gateway_token = {
|
||||
owner = "luna";
|
||||
group = "luna";
|
||||
};
|
||||
};
|
||||
secrets = { };
|
||||
};
|
||||
|
||||
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;
|
||||
};
|
||||
|
||||
programs.weylus = {
|
||||
enable = true;
|
||||
users = [ "polen" ];
|
||||
openFirewall= true;
|
||||
};
|
||||
|
||||
services.gvfs.enable = true;
|
||||
|
||||
# to make pass work
|
||||
|
|
|
|||
128
flake.lock
generated
128
flake.lock
generated
|
|
@ -76,24 +76,6 @@
|
|||
"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": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
|
@ -114,27 +96,6 @@
|
|||
"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": {
|
||||
"locked": {
|
||||
"lastModified": 1767030222,
|
||||
|
|
@ -191,47 +152,6 @@
|
|||
"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": {
|
||||
"locked": {
|
||||
"lastModified": 1765934234,
|
||||
|
|
@ -264,22 +184,6 @@
|
|||
}
|
||||
},
|
||||
"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": {
|
||||
"lastModified": 1770562336,
|
||||
"narHash": "sha256-ub1gpAONMFsT/GU2hV6ZWJjur8rJ6kKxdm9IlCT0j84=",
|
||||
|
|
@ -295,7 +199,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1770380644,
|
||||
"narHash": "sha256-P7dWMHRUWG5m4G+06jDyThXO7kwSk46C1kgjEWcybkE=",
|
||||
|
|
@ -311,7 +215,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1768564909,
|
||||
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
|
||||
|
|
@ -327,7 +231,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1768395095,
|
||||
"narHash": "sha256-ZhuYJbwbZT32QA95tSkXd9zXHcdZj90EzHpEXBMabaw=",
|
||||
|
|
@ -369,8 +273,8 @@
|
|||
"flake-parts": "flake-parts_2",
|
||||
"mnw": "mnw",
|
||||
"ndg": "ndg",
|
||||
"nixpkgs": "nixpkgs_6",
|
||||
"systems": "systems_2"
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1768464392,
|
||||
|
|
@ -391,8 +295,7 @@
|
|||
"disko": "disko",
|
||||
"home-manager": "home-manager",
|
||||
"nix-darwin": "nix-darwin",
|
||||
"nix-openclaw": "nix-openclaw",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"noctalia": "noctalia",
|
||||
"sops-nix": "sops-nix",
|
||||
"vimix": "vimix"
|
||||
|
|
@ -400,7 +303,7 @@
|
|||
},
|
||||
"sops-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1770526836,
|
||||
|
|
@ -431,25 +334,10 @@
|
|||
"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": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"nvf": "nvf"
|
||||
},
|
||||
"locked": {
|
||||
|
|
|
|||
16
flake.nix
16
flake.nix
|
|
@ -18,13 +18,9 @@
|
|||
url = "github:nix-community/home-manager";
|
||||
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: {
|
||||
nixosConfigurations = {
|
||||
default = nixpkgs.lib.nixosSystem {
|
||||
|
|
@ -46,18 +42,8 @@
|
|||
specialArgs = { inherit inputs; };
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
{ nixpkgs.overlays = [ nix-openclaw.overlays.default ]; }
|
||||
|
||||
disko.nixosModules.disko
|
||||
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
|
||||
./modules
|
||||
];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue