Compare commits
5
Commits
main
...
d600ce7e98
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d600ce7e98 | ||
|
|
3cf8fd289a | ||
|
|
1f3976a77f | ||
|
|
983710aa37 | ||
|
|
def528d538 |
No files matched your search
Generated
+3
-3
@@ -361,10 +361,10 @@
|
|||||||
"hecuba-services": {
|
"hecuba-services": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1793221190,
|
"lastModified": 1793449124,
|
||||||
"narHash": "sha256-wgjx3quu+r5amn3wfBw5Ok8DNRuI/kun3QSDF5Ml38g=",
|
"narHash": "sha256-UhSOQiSxPY/i3Xm+5yqQAKQ4N8QikT3uY+RqIDLdeh0=",
|
||||||
"ref": "main",
|
"ref": "main",
|
||||||
"rev": "6ff879500362ebe66765fad86c565f35f2a72f3d",
|
"rev": "18d0202e8747b0528722c3f1ffc553bfe1b82a83",
|
||||||
"shallow": true,
|
"shallow": true,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "ssh://git@github.com/hektor/hecuba-services"
|
"url": "ssh://git@github.com/hektor/hecuba-services"
|
||||||
|
|||||||
@@ -40,7 +40,12 @@
|
|||||||
gitea.enable = true;
|
gitea.enable = true;
|
||||||
github.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;
|
keepassxc.enable = true;
|
||||||
music.enable = true;
|
music.enable = true;
|
||||||
newsboat.enable = true;
|
newsboat.enable = true;
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
config = lib.mkIf config.k8s.crossplane.enable {
|
||||||
|
home.packages = [ pkgs.upbound ];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -18,11 +18,25 @@ in
|
|||||||
k9s = {
|
k9s = {
|
||||||
enable = lib.mkEnableOption "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 = [
|
imports = [
|
||||||
|
./crossplane.nix
|
||||||
./helm.nix
|
./helm.nix
|
||||||
./k9s.nix
|
./k9s.nix
|
||||||
|
./talos.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
@@ -36,7 +50,6 @@ in
|
|||||||
kubectl
|
kubectl
|
||||||
kustomize
|
kustomize
|
||||||
opentofu
|
opentofu
|
||||||
upbound
|
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.kubecolor = {
|
programs.kubecolor = {
|
||||||
|
|||||||
@@ -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>",
|
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" } })
|
require("luasnip.loaders.from_vscode").lazy_load({ paths = { "~/.config/Code - Insiders/User/snippets" } })
|
||||||
@@ -86,7 +86,6 @@ in
|
|||||||
lib.optional (!sops.available)
|
lib.optional (!sops.available)
|
||||||
"taskwarrior is enabled, but sops templates are not available. taskwarrior sync will not be configured.";
|
"taskwarrior is enabled, but sops templates are not available. taskwarrior sync will not be configured.";
|
||||||
|
|
||||||
home.packages = [ pkgs.taskopen ];
|
|
||||||
home.file = {
|
home.file = {
|
||||||
".local/share/task/hooks/on-exit.sync.py".source = syncHook;
|
".local/share/task/hooks/on-exit.sync.py".source = syncHook;
|
||||||
".local/share/task/scripts/sync-and-notify.sh".source = lib.getExe syncAndNotify;
|
".local/share/task/scripts/sync-and-notify.sh".source = lib.getExe syncAndNotify;
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ in
|
|||||||
};
|
};
|
||||||
desktop.ly.enable = true;
|
desktop.ly.enable = true;
|
||||||
docker.enable = true;
|
docker.enable = true;
|
||||||
|
k8s.enable = true;
|
||||||
hcloud.enable = true;
|
hcloud.enable = true;
|
||||||
networking = {
|
networking = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{ config, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
options.k8s.crossplane.enable = lib.mkOption {
|
||||||
|
default = false;
|
||||||
|
type = lib.types.bool;
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.k8s.crossplane.enable {
|
||||||
|
nixpkgs.allowedUnfree = [ "upbound" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
{ config, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./crossplane.nix
|
||||||
|
./talos.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
options.k8s.enable = lib.mkOption {
|
||||||
|
default = false;
|
||||||
|
type = lib.types.bool;
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.k8s.enable {
|
||||||
|
k8s.talos.enable = lib.mkDefault true;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (config.host) username;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.k8s.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.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 ];
|
||||||
|
})
|
||||||
|
]
|
||||||
|
);
|
||||||
|
}
|
||||||
Reference in new issue
Block a user