<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Getting Started on nux</title><link>https://drew-daniels.github.io/nux/docs/getting-started/</link><description>Recent content in Getting Started on nux</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://drew-daniels.github.io/nux/docs/getting-started/index.xml" rel="self" type="application/rss+xml"/><item><title>Installation</title><link>https://drew-daniels.github.io/nux/docs/getting-started/installation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://drew-daniels.github.io/nux/docs/getting-started/installation/</guid><description>&lt;p&gt;Install nux using one of the methods below. You need &lt;strong&gt;tmux 3.0 or newer&lt;/strong&gt; on your PATH before using nux.&lt;/p&gt;
&lt;h2 id="homebrew"&gt;Homebrew&lt;a class="anchor" href="#homebrew"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew install Drew-Daniels/tap/nux&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To upgrade later:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew upgrade nux&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="go-install"&gt;Go install&lt;a class="anchor" href="#go-install"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Requires Go 1.26 or newer:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;go install github.com/Drew-Daniels/nux@latest&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Ensure &lt;code&gt;$(go env GOPATH)/bin&lt;/code&gt; is on your &lt;code&gt;PATH&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;To upgrade, run the same command again - it always installs the latest version.&lt;/p&gt;
&lt;h2 id="nix"&gt;Nix&lt;a class="anchor" href="#nix"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Install into your profile:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;nix profile install github:Drew-Daniels/nux&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Try without installing:&lt;/p&gt;</description></item><item><title>Quickstart</title><link>https://drew-daniels.github.io/nux/docs/getting-started/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://drew-daniels.github.io/nux/docs/getting-started/quickstart/</guid><description>&lt;p&gt;This walkthrough assumes nux is installed and tmux 3.0+ is available. See &lt;a href="https://drew-daniels.github.io/nux/docs/getting-started/installation/"&gt;Installation&lt;/a&gt; if you have not set that up yet.&lt;/p&gt;
&lt;h2 id="global-config"&gt;Global config&lt;a class="anchor" href="#global-config"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Create &lt;code&gt;~/.config/nux/config.yaml&lt;/code&gt; to configure defaults:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;project_dirs&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;~/projects&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;default_shell&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;/bin/zsh&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;pane_init&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;eval &amp;#34;$(direnv hook zsh)&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;default_session&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;windows&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;main&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;panes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;dev&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;project_dirs&lt;/code&gt; - base directory or list of directories for convention-based project discovery; a string or YAML list of strings (default: &lt;code&gt;~/projects&lt;/code&gt;). When multiple paths are set, nux scans all of them; the first entry is the base for relative &lt;code&gt;root&lt;/code&gt; in project configs.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;default_shell&lt;/code&gt; - shell used for new panes (optional, tmux default if omitted)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pane_init&lt;/code&gt; - commands run in each pane before pane-specific commands (optional)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;default_session&lt;/code&gt; - template for projects without a config file; an object with a &lt;code&gt;windows&lt;/code&gt; array (same shape as project config), for example one window with a single pane command&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you skip the global config entirely, nux uses built-in defaults (&lt;code&gt;project_dirs: ~/projects&lt;/code&gt;, &lt;code&gt;picker: fzf&lt;/code&gt;).&lt;/p&gt;</description></item><item><title>Migrating from tmuxinator</title><link>https://drew-daniels.github.io/nux/docs/getting-started/migrating-from-tmuxinator/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://drew-daniels.github.io/nux/docs/getting-started/migrating-from-tmuxinator/</guid><description>&lt;p&gt;nux replaces tmuxinator-style YAML with its own schema and CLI. This page maps concepts and highlights what does not carry over one-to-one.&lt;/p&gt;
&lt;h2 id="templating-and-variables"&gt;Templating and variables&lt;a class="anchor" href="#templating-and-variables"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;tmuxinator uses ERB (&lt;code&gt;&amp;lt;%= ... %&amp;gt;&lt;/code&gt;). nux does not embed Ruby.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Custom template variables&lt;/strong&gt; use &lt;code&gt;{{var}}&lt;/code&gt; syntax.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Environment variables&lt;/strong&gt; use &lt;code&gt;${VAR}&lt;/code&gt; syntax (shell-style).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="project-root"&gt;Project root&lt;a class="anchor" href="#project-root"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In tmuxinator, &lt;code&gt;root&lt;/code&gt; is often explicit. In nux, if you omit &lt;code&gt;root&lt;/code&gt;, it defaults to &lt;code&gt;&amp;lt;first_project_dirs&amp;gt;/&amp;lt;project_name&amp;gt;&lt;/code&gt;: the first &lt;code&gt;project_dirs&lt;/code&gt; entry when global config lists multiple paths, otherwise that single path (from global config and the project name).&lt;/p&gt;</description></item><item><title>Comparison with alternatives</title><link>https://drew-daniels.github.io/nux/docs/getting-started/comparison/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://drew-daniels.github.io/nux/docs/getting-started/comparison/</guid><description>&lt;p&gt;Several tools manage tmux sessions. This page compares nux with the most popular alternatives so you can decide which fits your workflow.&lt;/p&gt;
&lt;p&gt;All of these tools are good. They solve overlapping problems - starting, switching, and managing tmux sessions - and if one already works for you, there may be no reason to switch. This page focuses on where they differ.&lt;/p&gt;
&lt;h2 id="config-driven-session-managers"&gt;Config-driven session managers&lt;a class="anchor" href="#config-driven-session-managers"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;These tools build tmux sessions from declarative config files (YAML/JSON).&lt;/p&gt;</description></item></channel></rss>