bye bye openclaw

This commit is contained in:
Polen 2026-03-09 08:44:44 -04:00
parent 36c73a41ff
commit 4b13eb5832
8 changed files with 18 additions and 283 deletions

View file

@ -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; [

View file

@ -1,3 +0,0 @@
# Luna Agent
Luna is a homelab assistant.

View file

@ -1 +0,0 @@
# Soul

View file

@ -1,3 +0,0 @@
# Tools
Luna can help answer questions about the homelab infrastructure.

View file

@ -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;
}

View file

@ -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
View file

@ -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": {

View file

@ -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
];