try out kubernetes

This commit is contained in:
Kopatz
2024-04-25 18:14:02 +02:00
parent 04a7e27ede
commit 23cfa51d6c
7 changed files with 50 additions and 11 deletions

View File

@@ -109,17 +109,15 @@
nixosConfigurations."vm" = nixpkgs-unstable.lib.nixosSystem {
inherit system;
specialArgs = {
vars = import ./systems/userdata-default.nix // import ./systems/pc/userdata.nix;
vars = import ./systems/userdata-default.nix;
pkgsVersion = nixpkgs-unstable;
inherit inputs outputs;
};
modules = [
./modules
./users/vm
./modules/collections/desktop.nix
./systems/pc/configuration.nix
./systems/vm/configuration.nix
({ config, pkgs, ... }: { nixpkgs.overlays = with outputs.overlays; [additions modifications unstable-packages nur.overlay]; })
agenix.nixosModules.default
home-manager-unstable.nixosModules.home-manager
];
};

View File

@@ -25,7 +25,7 @@ in
spacing = 4;
modules-left = [
"hyprland/workspaces"
"hyprland/window"
#"hyprland/window"
];
modules-center = [];
modules-right = [

View File

@@ -1,4 +1,4 @@
{ config, pkgs, lib, inputs, ... }:
{config, pkgs, lib, inputs, ... }:
with lib;
let
cfg = config.custom.graphical.hyprland;

View File

@@ -1,6 +1,6 @@
{ pkgs, config, ...}:
{
imports = [
./kubernetes.nix
];
}

View File

@@ -0,0 +1,43 @@
{ pkgs, config, lib, ...}:
# idk, dont need this
with lib;
let
cfg = config.custom.services.kubernetes;
in
{
options.custom.services.kubernetes = {
enable = mkEnableOption "Enables kubernetes";
};
config = let
kubeMasterIP = "localhost";
kubeMasterHostname = "localhost";
in lib.mkIf cfg.enable {
networking.firewall.allowedTCPPorts = [
6443 # k3s: required so that pods can reach the API server (running on port 6443 by default)
# 2379 # k3s, etcd clients: required if using a "High Availability Embedded etcd" configuration
# 2380 # k3s, etcd peers: required if using a "High Availability Embedded etcd" configuration
];
networking.firewall.allowedUDPPorts = [
# 8472 # k3s, flannel: required if using multi-node for inter-node networking
];
services.k3s.enable = true;
services.k3s.role = "server";
services.k3s.extraFlags = toString [
# "--kubelet-arg=v=4" # Optionally add additional args to k3s
];
environment.systemPackages = with pkgs; [
k3s
];
#services.kubernetes = {
# roles = ["master" "node"];
# masterAddress = "localhost";
# apiserverAddress = "https://localhost:6443";
# apiserver = {
# advertiseAddress = "127.0.0.1";
# securePort = 6443;
# allowPrivileged = true;
# };
#};
};
}

View File

@@ -15,9 +15,8 @@
ld.enable = true;
settings.enable = true;
};
graphical = {
hyprland.enable = true;
shared.enable = true;
services = {
kubernetes.enable = true;
};
};
}

View File

@@ -7,7 +7,6 @@
imports = [
../../home-manager/nvim.nix
../../home-manager/zsh.nix
../../home-manager/hyprland-settings.nix
inputs.nix-colors.homeManagerModule
];
}