Compare commits
5
Commits
0c992880b7
...
d600ce7e98
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d600ce7e98 | ||
|
|
3cf8fd289a | ||
|
|
1f3976a77f | ||
|
|
983710aa37 | ||
|
|
def528d538 |
No files matched your search
Generated
+3
-3
@@ -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"
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
config = lib.mkIf config.k8s.crossplane.enable {
|
||||
home.packages = [ pkgs.upbound ];
|
||||
};
|
||||
}
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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" } })
|
||||
@@ -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;
|
||||
|
||||
@@ -55,6 +55,7 @@ in
|
||||
};
|
||||
desktop.ly.enable = true;
|
||||
docker.enable = true;
|
||||
k8s.enable = true;
|
||||
hcloud.enable = true;
|
||||
networking = {
|
||||
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