Compare commits

...
5 Commits
Author SHA1 Message Date
hecuba-services-bot 0c992880b7 chore(hecuba): update services lock to 18d0202
check / lint (push) Successful in 15s
2026-10-31 15:37:11 +01:00
hektor ea5309eff1 feat(k8s): declare 'talos' modules 2026-10-31 15:37:11 +01:00
hektor 48360e49c4 feat(k8s): declare 'crossplane' module 2026-10-31 15:35:49 +01:00
hektor e92c98fa04 fix(nvim): load snippets from nixCats config dir 2026-10-31 15:35:48 +01:00
hektor 2d2776f119 fix(taskwarrior): drop unused 'taskopen' 2026-10-31 15:35:47 +01:00
11 changed files with 121 additions and 7 deletions

No files matched your search

Generated
+3 -3
View File
@@ -361,10 +361,10 @@
"hecuba-services": {
"flake": false,
"locked": {
"lastModified": 1793221190,
"narHash": "sha256-wgjx3quu+r5amn3wfBw5Ok8DNRuI/kun3QSDF5Ml38g=",
"lastModified": 1793449124,
"narHash": "sha256-UhSOQiSxPY/i3Xm+5yqQAKQ4N8QikT3uY+RqIDLdeh0=",
"ref": "main",
"rev": "6ff879500362ebe66765fad86c565f35f2a72f3d",
"rev": "18d0202e8747b0528722c3f1ffc553bfe1b82a83",
"shallow": true,
"type": "git",
"url": "ssh://git@github.com/hektor/hecuba-services"
+6 -1
View File
@@ -40,7 +40,12 @@
gitea.enable = true;
github.enable = true;
};
k8s.k9s.enable = true;
k8s = {
enable = true;
k9s.enable = true;
talos.enable = true;
};
keyboard.vortexCore.enable = true;
keepassxc.enable = true;
music.enable = true;
newsboat.enable = true;
+12
View File
@@ -0,0 +1,12 @@
{
config,
lib,
pkgs,
...
}:
{
config = lib.mkIf config.k8s.crossplane.enable {
home.packages = [ pkgs.upbound ];
};
}
+14 -1
View File
@@ -18,11 +18,25 @@ in
k9s = {
enable = lib.mkEnableOption "k9s";
};
crossplane = {
enable = lib.mkOption {
default = false;
type = lib.types.bool;
};
};
talos = {
enable = lib.mkOption {
default = false;
type = lib.types.bool;
};
};
};
imports = [
./crossplane.nix
./helm.nix
./k9s.nix
./talos.nix
];
config = lib.mkIf cfg.enable {
@@ -36,7 +50,6 @@ in
kubectl
kustomize
opentofu
upbound
];
programs.kubecolor = {
+12
View File
@@ -0,0 +1,12 @@
{
config,
lib,
pkgs,
...
}:
{
config = lib.mkIf config.k8s.talos.enable {
home.packages = [ pkgs.talosctl ];
};
}
@@ -9,5 +9,5 @@ ls.config.set_config({
store_selection_keys = "<Tab>",
})
require("luasnip.loaders.from_lua").lazy_load({ paths = { "~/.config/nvim/snips" } })
require("luasnip.loaders.from_lua").lazy_load({ paths = { require("nixCats").configDir .. "/snips" } })
require("luasnip.loaders.from_vscode").lazy_load({ paths = { "~/.config/Code - Insiders/User/snippets" } })
-1
View File
@@ -86,7 +86,6 @@ in
lib.optional (!sops.available)
"taskwarrior is enabled, but sops templates are not available. taskwarrior sync will not be configured.";
home.packages = [ pkgs.taskopen ];
home.file = {
".local/share/task/hooks/on-exit.sync.py".source = syncHook;
".local/share/task/scripts/sync-and-notify.sh".source = lib.getExe syncAndNotify;
+1
View File
@@ -55,6 +55,7 @@ in
};
desktop.ly.enable = true;
docker.enable = true;
k8s.enable = true;
hcloud.enable = true;
networking = {
enable = true;
+7
View File
@@ -0,0 +1,7 @@
{ config, lib, ... }:
{
config = lib.mkIf config.k8s.crossplane.enable {
nixpkgs.allowedUnfree = [ "upbound" ];
};
}
+36
View File
@@ -0,0 +1,36 @@
{ config, lib, ... }:
{
imports = [
./crossplane.nix
./talos.nix
];
options.k8s = {
enable = lib.mkOption {
default = false;
type = lib.types.bool;
};
crossplane.enable = lib.mkOption {
default = false;
type = lib.types.bool;
};
talos = {
enable = lib.mkOption {
default = false;
type = lib.types.bool;
};
platform = lib.mkOption {
default = "qemu";
type = lib.types.enum [
"docker"
"qemu"
];
};
};
};
config = lib.mkIf config.k8s.enable {
k8s.talos.enable = lib.mkDefault true;
};
}
+29
View File
@@ -0,0 +1,29 @@
{
config,
lib,
pkgs,
...
}:
let
inherit (config.host) username;
in
{
config = lib.mkIf config.k8s.talos.enable (
lib.mkMerge [
(lib.mkIf (config.k8s.talos.platform == "docker") {
docker.enable = true;
assertions = [
{
assertion = !config.docker.rootless;
message = "talos in docker needs 'docker.rootless = false;'";
}
];
})
(lib.mkIf (config.k8s.talos.platform == "qemu") {
users.users.${username}.extraGroups = [ "kvm" ];
environment.systemPackages = [ pkgs.qemu ];
})
]
);
}