diff --git a/lib/boot.nix b/lib/boot.nix index 851ae5c..8e3254f 100644 --- a/lib/boot.nix +++ b/lib/boot.nix @@ -7,6 +7,6 @@ canTouchEfiVariables = true; }; }; - kernelPackages = pkgs.linuxPackages_latest; + kernelPackages = if (config.fndx.hardware.vbox.enable) then pkgs.linuxPackages_6_12 else pkgs.linuxPackages_latest; }; } diff --git a/modules/hardware/default.nix b/modules/hardware/default.nix index b122f26..8268fa3 100644 --- a/modules/hardware/default.nix +++ b/modules/hardware/default.nix @@ -6,5 +6,6 @@ ./nvidia.nix ./pulseaudio.nix ./touchpad.nix + ./vm.nix ]; } diff --git a/modules/hardware/vm.nix b/modules/hardware/vm.nix new file mode 100644 index 0000000..8b9b018 --- /dev/null +++ b/modules/hardware/vm.nix @@ -0,0 +1,9 @@ +{config, lib, pkgs, ...}: +with lib; +{ + options.fndx.hardware.vbox.enable = mkEnableOption "virtual box support in case ctOS runs in a vm"; + + config = mkIf config.fndx.hardware.vbox.enable { + virtualisation.virtualbox.guest.enable = true; + }; +} diff --git a/modules/services/mailserver.nix b/modules/services/mailserver.nix index c65ba55..2bb379a 100644 --- a/modules/services/mailserver.nix +++ b/modules/services/mailserver.nix @@ -8,7 +8,7 @@ with lib; # Importing nixos mailserver (builtins.fetchTarball { url = "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/archive/nixos-25.11/nixos-mailserver-nixos-25.11.tar.gz"; - sha256 = "0pqc7bay9v360x2b7irqaz4ly63gp4z859cgg5c04imknv0pwjqw"; + sha256 = "1w7kinbjpk678dgi3jxw6j24rgrm3fjmjvkxi3rp5v14w28byy9m"; }) ]; options = { diff --git a/pkgs/default.nix b/pkgs/default.nix index bb5a5a9..f33c023 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -9,6 +9,7 @@ ./gtk/nix-gtk.nix ./i3/nix-i3.nix ./javakit/nix-javakit.nix + ./k8s/nix-k8s.nix ./lix/nix-lix.nix ./nautilus/nix-nautilus.nix ./picom/nix-picom.nix diff --git a/pkgs/k8s/nix-k8s.nix b/pkgs/k8s/nix-k8s.nix new file mode 100644 index 0000000..e7d481c --- /dev/null +++ b/pkgs/k8s/nix-k8s.nix @@ -0,0 +1,29 @@ +{config, lib, pkgs, ...}: +with lib; +let + my-kubernetes-helm = with pkgs; wrapHelm kubernetes-helm { + plugins = with pkgs.kubernetes-helmPlugins; [ + helm-secrets + helm-diff + helm-s3 + helm-git + ]; + }; + + my-helmfile = pkgs.helmfile-wrapped.override { + inherit (my-kubernetes-helm) pluginsDir; + }; +in +{ + options = { + fndx.packages.k8s.enable = mkEnableOption "K8s clients"; + }; + + config = mkIf config.fndx.packages.k8s.enable { + environment.systemPackages = with pkgs; [ + my-kubernetes-helm + my-helmfile + kubectl + ]; + }; +}