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

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

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

View file

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