diff --git a/modules/features/ops/ops-k8s.nix b/modules/features/ops/ops-k8s.nix index 9d45ec9..a9c3f1a 100644 --- a/modules/features/ops/ops-k8s.nix +++ b/modules/features/ops/ops-k8s.nix @@ -16,6 +16,7 @@ kubernetes-helm # Package manager for Kubernetes applications, simplifying deployment and management. minikube # Local Kubernetes cluster for easy testing and development. stern # Multi-container log tailing and streaming for Kubernetes. + lfk ]; } ) diff --git a/overlays/default.nix b/overlays/default.nix index 1e73ea4..c8463ca 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -1,3 +1,4 @@ final: prev: { repeater = prev.callPackage ../pkgs/repeater/package.nix { }; + lfk = prev.callPackage ../pkgs/lfk/package.nix { }; } diff --git a/pkgs/lfk/package.nix b/pkgs/lfk/package.nix new file mode 100644 index 0000000..3e17b48 --- /dev/null +++ b/pkgs/lfk/package.nix @@ -0,0 +1,32 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, +}: + +buildGoModule (finalAttrs: { + pname = "lfk"; + version = "0.9.36"; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "janosmiko"; + repo = "lfk"; + tag = "v${finalAttrs.version}"; + hash = "sha256-aIWqZ90Mz6Oc554wLB4691JsX68VG0pD3+AuAOkqNis="; + }; + + vendorHash = "sha256-2YhpOg5asUYaMQxorwTt1gkyiA165wjBxDoIUJ74sro="; + + ldflags = [ "-s" ]; + + meta = { + description = "Lightning Fast Kubernetes navigator"; + longDescription = "LFK is a lightning-fast, keyboard-focused, yazi-inspired terminal user interface for navigating and managing Kubernetes clusters. Built for speed and efficiency, it brings a three-column Miller columns layout with an owner-based resource hierarchy to your terminal"; + homepage = "https://github.com/janosmiko/lfk"; + changelog = "https://github.com/janosmiko/lfk/blob/${finalAttrs.src.tag}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ gwg313 ]; + mainProgram = "lfk"; + }; +})