<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.nixos.org/w/index.php?action=history&amp;feed=atom&amp;title=Helm_and_Helmfile</id>
	<title>Helm and Helmfile - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.nixos.org/w/index.php?action=history&amp;feed=atom&amp;title=Helm_and_Helmfile"/>
	<link rel="alternate" type="text/html" href="https://wiki.nixos.org/w/index.php?title=Helm_and_Helmfile&amp;action=history"/>
	<updated>2026-05-28T18:56:46Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.nixos.org/w/index.php?title=Helm_and_Helmfile&amp;diff=12306&amp;oldid=prev</id>
		<title>Klinger: Category:Applications Category:Server Category:Container</title>
		<link rel="alternate" type="text/html" href="https://wiki.nixos.org/w/index.php?title=Helm_and_Helmfile&amp;diff=12306&amp;oldid=prev"/>
		<updated>2024-04-19T21:03:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;/wiki/Category:Applications&quot; title=&quot;Category:Applications&quot;&gt;Category:Applications&lt;/a&gt; &lt;a href=&quot;/wiki/Category:Server&quot; title=&quot;Category:Server&quot;&gt;Category:Server&lt;/a&gt; &lt;a href=&quot;/wiki/Category:Container&quot; title=&quot;Category:Container&quot;&gt;Category:Container&lt;/a&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:03, 19 April 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l152&quot;&gt;Line 152:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 152:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Applications]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Applications]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;orchestration&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Server]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Container&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-10883:rev-12306:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Klinger</name></author>
	</entry>
	<entry>
		<id>https://wiki.nixos.org/w/index.php?title=Helm_and_Helmfile&amp;diff=10883&amp;oldid=prev</id>
		<title>imported&gt;Marcusramberg: Simplified helmfile example</title>
		<link rel="alternate" type="text/html" href="https://wiki.nixos.org/w/index.php?title=Helm_and_Helmfile&amp;diff=10883&amp;oldid=prev"/>
		<updated>2024-03-20T21:30:57Z</updated>

		<summary type="html">&lt;p&gt;Simplified helmfile example&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:30, 20 March 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l131&quot;&gt;Line 131:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 131:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   };&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   };&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   my-helmfile = &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;with &lt;/del&gt;pkgs&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; &lt;/del&gt;helmfile-wrapped.override {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   my-helmfile = pkgs&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.&lt;/ins&gt;helmfile-wrapped.override {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     inherit (my-kubernetes-helm&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.passthru&lt;/del&gt;) pluginsDir;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     inherit (my-kubernetes-helm) pluginsDir;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   };&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   };&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;in&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;in&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   environment.systemPackages = &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;with pkgs; &lt;/del&gt;[&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   environment.systemPackages = &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;[&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     my-kubernetes-helm&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     my-kubernetes-helm&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     my-helmfile&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     my-helmfile&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-10882:rev-10883:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;Marcusramberg</name></author>
	</entry>
	<entry>
		<id>https://wiki.nixos.org/w/index.php?title=Helm_and_Helmfile&amp;diff=10882&amp;oldid=prev</id>
		<title>imported&gt;Icodeforyou-dot-net: Created page with &quot;== HELM and HELMFILE ==  Using &#039;&#039;&#039;Helm&#039;&#039;&#039; and &#039;&#039;&#039;Helmfile&#039;&#039;&#039; on &#039;&#039;&#039;NixOS&#039;&#039;&#039; effectivly requires some minor setup.  == HELM ==  The derivation for &lt;code&gt;helm&lt;/code&gt; is in &lt;code...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.nixos.org/w/index.php?title=Helm_and_Helmfile&amp;diff=10882&amp;oldid=prev"/>
		<updated>2023-08-21T09:51:10Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;== HELM and HELMFILE ==  Using &amp;#039;&amp;#039;&amp;#039;Helm&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Helmfile&amp;#039;&amp;#039;&amp;#039; on &amp;#039;&amp;#039;&amp;#039;NixOS&amp;#039;&amp;#039;&amp;#039; effectivly requires some minor setup.  == HELM ==  The derivation for &amp;lt;code&amp;gt;helm&amp;lt;/code&amp;gt; is in &amp;lt;code...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== HELM and HELMFILE ==&lt;br /&gt;
&lt;br /&gt;
Using &amp;#039;&amp;#039;&amp;#039;Helm&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Helmfile&amp;#039;&amp;#039;&amp;#039; on &amp;#039;&amp;#039;&amp;#039;NixOS&amp;#039;&amp;#039;&amp;#039; effectivly requires some minor setup.&lt;br /&gt;
&lt;br /&gt;
== HELM ==&lt;br /&gt;
&lt;br /&gt;
The derivation for &amp;lt;code&amp;gt;helm&amp;lt;/code&amp;gt; is in &amp;lt;code&amp;gt;nixpkgs&amp;lt;/code&amp;gt; und the name &amp;lt;code&amp;gt;kubernetes-helm&amp;lt;/code&amp;gt;. However it does not include any plugins for helm.&lt;br /&gt;
&lt;br /&gt;
To see which plugins are avaiable in &amp;lt;code&amp;gt;nixpkgs&amp;lt;/code&amp;gt; do a &amp;lt;code&amp;gt;nix search nixpkgs kubernetes-helmPlugins&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In order to make any plugins available to &amp;lt;code&amp;gt;helm&amp;lt;/code&amp;gt; itself, &amp;lt;code&amp;gt;nixpkgs&amp;lt;/code&amp;gt; provides a helper function called &amp;lt;code&amp;gt;wrapHelm&amp;lt;/code&amp;gt;. This allows you to set an attribute called &amp;lt;code&amp;gt;plugins&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The following snippet will give you access to helm with four plugins via your list of system packages. It assumes that you are using &amp;lt;code&amp;gt;nixpkgs&amp;lt;/code&amp;gt; as &amp;lt;code&amp;gt;pkgs&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nix&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  environment.systemPackages = with pkgs; [&lt;br /&gt;
      (wrapHelm kubernetes-helm {&lt;br /&gt;
        plugins = with pkgs.kubernetes-helmPlugins; [&lt;br /&gt;
          helm-secrets&lt;br /&gt;
          helm-diff&lt;br /&gt;
          helm-s3&lt;br /&gt;
          helm-git&lt;br /&gt;
        ];&lt;br /&gt;
      }) &lt;br /&gt;
    ];&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively a self-contained flake for a development shell with helm and plugins available might look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nix&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  description = &amp;quot;Nix flake for Helm&amp;quot;;&lt;br /&gt;
  inputs.nixpkgs.url = &amp;quot;github:NixOS/nixpkgs/master&amp;quot;;&lt;br /&gt;
  inputs.flake-utils.url = &amp;quot;github:numtide/flake-utils&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  outputs = { self, nixpkgs, flake-utils }:&lt;br /&gt;
    flake-utils.lib.eachDefaultSystem (system:&lt;br /&gt;
      let pkgs = nixpkgs.legacyPackages.${system}; in&lt;br /&gt;
      {&lt;br /&gt;
        devShells.default = pkgs.mkShell {&lt;br /&gt;
          name = &amp;quot;helm devShell&amp;quot;;&lt;br /&gt;
          nativeBuildInputs = [ pkgs.bashInteractive ];&lt;br /&gt;
          buildInputs = with pkgs; [&lt;br /&gt;
            (wrapHelm kubernetes-helm {&lt;br /&gt;
              plugins = with pkgs.kubernetes-helmPlugins; [&lt;br /&gt;
                helm-diff&lt;br /&gt;
                helm-secrets&lt;br /&gt;
                helm-s3&lt;br /&gt;
              ];&lt;br /&gt;
            })&lt;br /&gt;
          ];&lt;br /&gt;
        };&lt;br /&gt;
      });&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a &amp;lt;code&amp;gt;flake.nix&amp;lt;/code&amp;gt; in some empty directory, paste the snippet above and run it with &amp;lt;code&amp;gt;nix develop&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will create a devShell with helm and listed plugins available. Check &amp;lt;code&amp;gt;helm plugin list&amp;lt;/code&amp;gt; to verify. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== HELMFILE ===&lt;br /&gt;
&lt;br /&gt;
Helmfile can be found in &amp;lt;code&amp;gt;nixpkgs&amp;lt;/code&amp;gt; as &amp;lt;code&amp;gt;helmfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In order to work properly, &amp;lt;code&amp;gt;helmfile&amp;lt;/code&amp;gt; requires access to a number of helm plugins aside from the helm binary itself. In version 0.146.0, helmfile has introduced a check for plugin versions which uses helm&amp;#039;s Go API directly instead of calling the helm binary. In order to make plugins avaiable after this change, the nix derivation &amp;lt;code&amp;gt;kubernetes-helm-wrapped&amp;lt;/code&amp;gt; exposes an attribute called &amp;lt;code&amp;gt;pluginsDir&amp;lt;/code&amp;gt; if helm is wrapped with plugins. The &amp;lt;code&amp;gt;helmfile&amp;lt;/code&amp;gt; binary needs to be wrapped in turn in order to have access to this attribute.&lt;br /&gt;
&lt;br /&gt;
There are several ways to achieve this. One is using an overlay inside a flake to populate the &amp;lt;code&amp;gt;pluginsDir&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nix&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  description = &amp;quot;Nix flake for Helm and Helmfile with plugins&amp;quot;;&lt;br /&gt;
  inputs.nixpkgs.url = &amp;quot;github:NixOS/nixpkgs/master&amp;quot;;&lt;br /&gt;
  inputs.flake-utils.url = &amp;quot;github:numtide/flake-utils&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  outputs = { self, nixpkgs, flake-utils }:&lt;br /&gt;
    flake-utils.lib.eachDefaultSystem (system:&lt;br /&gt;
      let&lt;br /&gt;
        pkgs = import nixpkgs {&lt;br /&gt;
          system = &amp;quot;x86_64-linux&amp;quot;;&lt;br /&gt;
          overlays = [&lt;br /&gt;
            (final: prev: rec {&lt;br /&gt;
              kubernetes-helm-wrapped = prev.wrapHelm prev.kubernetes-helm {&lt;br /&gt;
                plugins = with prev.kubernetes-helmPlugins; [&lt;br /&gt;
                  helm-diff&lt;br /&gt;
                  helm-secrets&lt;br /&gt;
                  helm-s3&lt;br /&gt;
                ];&lt;br /&gt;
              };&lt;br /&gt;
            })&lt;br /&gt;
          ];&lt;br /&gt;
        };&lt;br /&gt;
      in&lt;br /&gt;
      {&lt;br /&gt;
        devShells.default = pkgs.mkShell {&lt;br /&gt;
          name = &amp;quot;helmfile devShell&amp;quot;;&lt;br /&gt;
          nativeBuildInputs = with pkgs; [&lt;br /&gt;
            bashInteractive&lt;br /&gt;
          ];&lt;br /&gt;
          buildInputs = with pkgs; [&lt;br /&gt;
            kubernetes-helm-wrapped&lt;br /&gt;
            helmfile-wrapped&lt;br /&gt;
          ];&lt;br /&gt;
        };&lt;br /&gt;
      });&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here &amp;lt;code&amp;gt;helmfile-wrapped&amp;lt;/code&amp;gt; reads &amp;lt;code&amp;gt;kubernetes-helm-wrapped.passthru.pluginsDir&amp;lt;/code&amp;gt; and picks up the plugins correctly.&lt;br /&gt;
&lt;br /&gt;
Again, create a &amp;lt;code&amp;gt;flake.nix&amp;lt;/code&amp;gt; in some empty directory, paste the snippet above and run it with &amp;lt;code&amp;gt;nix develop&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This time it will create a devShell with helm and helmfile and listed plugins available. Check &amp;lt;code&amp;gt;helm plugin list&amp;lt;/code&amp;gt; to verify for helm. Likewise check &amp;lt;code&amp;gt;helmfile init&amp;lt;/code&amp;gt; to see if helmfile finds its helm plugin dependencies.&lt;br /&gt;
&lt;br /&gt;
-----------------&lt;br /&gt;
&lt;br /&gt;
Another approach is via a &amp;lt;code&amp;gt;let ... in&amp;lt;/code&amp;gt; block in your &amp;lt;code&amp;gt;configuration.nix&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nix&amp;quot;&amp;gt;&lt;br /&gt;
{ config, pkgs, ... }:&lt;br /&gt;
let&lt;br /&gt;
  my-kubernetes-helm = with pkgs; wrapHelm kubernetes-helm {&lt;br /&gt;
    plugins = with pkgs.kubernetes-helmPlugins; [&lt;br /&gt;
      helm-secrets&lt;br /&gt;
      helm-diff&lt;br /&gt;
      helm-s3&lt;br /&gt;
      helm-git&lt;br /&gt;
    ];&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  my-helmfile = with pkgs; helmfile-wrapped.override {&lt;br /&gt;
    inherit (my-kubernetes-helm.passthru) pluginsDir;&lt;br /&gt;
  };&lt;br /&gt;
in&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  environment.systemPackages = with pkgs; [&lt;br /&gt;
    my-kubernetes-helm&lt;br /&gt;
    my-helmfile&lt;br /&gt;
  ];&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a new &amp;lt;code&amp;gt;*.nix&amp;lt;/code&amp;gt; file for the code snippet and import it into your system &amp;lt;code&amp;gt;configuration.nix&amp;lt;/code&amp;gt;. In this case it  should make &amp;lt;code&amp;gt;helm&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;helmfile&amp;lt;/code&amp;gt; with plugins available to your system.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
[https://github.com/NixOS/nixpkgs/issues/217768 Issue #217768]: helmfile does not recognize helm plugins&lt;br /&gt;
[https://discourse.nixos.org/t/helm-plugin-install/20705/3 NixOS Discourse]: Helm plugin install&lt;br /&gt;
&lt;br /&gt;
[[Category:Applications]]&lt;br /&gt;
[[Category:orchestration]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Icodeforyou-dot-net</name></author>
	</entry>
</feed>