diff --git a/devices/server/configuration.nix b/devices/server/configuration.nix index 4da0468..03552fb 100644 --- a/devices/server/configuration.nix +++ b/devices/server/configuration.nix @@ -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; [ diff --git a/devices/server/luna-documents/AGENTS.md b/devices/server/luna-documents/AGENTS.md deleted file mode 100644 index 4673ad7..0000000 --- a/devices/server/luna-documents/AGENTS.md +++ /dev/null @@ -1,3 +0,0 @@ -# Luna Agent - -Luna is a homelab assistant. diff --git a/devices/server/luna-documents/SOUL.md b/devices/server/luna-documents/SOUL.md deleted file mode 100644 index a392e27..0000000 --- a/devices/server/luna-documents/SOUL.md +++ /dev/null @@ -1 +0,0 @@ -# Soul diff --git a/devices/server/luna-documents/TOOLS.md b/devices/server/luna-documents/TOOLS.md deleted file mode 100644 index e2e6fbb..0000000 --- a/devices/server/luna-documents/TOOLS.md +++ /dev/null @@ -1,3 +0,0 @@ -# Tools - -Luna can help answer questions about the homelab infrastructure. diff --git a/devices/server/luna.nix b/devices/server/luna.nix deleted file mode 100644 index ce84935..0000000 --- a/devices/server/luna.nix +++ /dev/null @@ -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; -} diff --git a/devices/xps13/configuration.nix b/devices/xps13/configuration.nix index 65bab79..d32ee14 100644 --- a/devices/xps13/configuration.nix +++ b/devices/xps13/configuration.nix @@ -116,6 +116,12 @@ withUWSM = true; }; + programs.weylus = { + enable = true; + users = [ "polen" ]; + openFirewall= true; + }; + services.gvfs.enable = true; # to make pass work diff --git a/flake.lock b/flake.lock index 0ab50e3..46dc4b4 100644 --- a/flake.lock +++ b/flake.lock @@ -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": { diff --git a/flake.nix b/flake.nix index c0dfe2a..782ff0d 100644 --- a/flake.nix +++ b/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 ];