<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Infrastructure on Digital Garden &amp; Workshop</title><link>https://lab.artkov-info.ru/en/categories/infrastructure/</link><description>Recent content in Infrastructure on Digital Garden &amp; Workshop</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Thu, 16 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://lab.artkov-info.ru/en/categories/infrastructure/index.xml" rel="self" type="application/rss+xml"/><item><title>Proxmox VE 9: What is it and is it worth switching from ESXi?</title><link>https://lab.artkov-info.ru/en/2026/07/proxmox-vs-esxi/</link><pubDate>Thu, 16 Jul 2026 00:00:00 +0000</pubDate><guid>https://lab.artkov-info.ru/en/2026/07/proxmox-vs-esxi/</guid><description>&lt;img src="https://lab.artkov-info.ru/2026/07/proxmox-vs-esxi/proxmox-vs-esxi-cover.webp" alt="Featured image of post Proxmox VE 9: What is it and is it worth switching from ESXi?" /&gt;&lt;h1 id="proxmox-ve-9-my-view-on-an-alternative-to-vmware"&gt;Proxmox VE 9: my view on an alternative to VMware
&lt;/h1&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;📌 Note Type:&lt;/strong&gt; Guide / Review
&lt;strong&gt;🗂️ Category:&lt;/strong&gt; &lt;a class="link" href="https://www.google.com/search?q=/categories/virtualization" target="_blank" rel="noopener"
 &gt;Virtualization&lt;/a&gt; | &lt;a class="link" href="https://www.google.com/search?q=/categories/os" target="_blank" rel="noopener"
 &gt;Operating Systems&lt;/a&gt;
&lt;strong&gt;🏷️ Tags:&lt;/strong&gt; #proxmox #virtualization #kvm #lxc #ceph #esxi&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;h3 id="what-is-proxmox-ve"&gt;What is Proxmox VE?
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Proxmox VE&lt;/strong&gt; is an open-source Type 1 virtualization platform that installs directly on bare metal. It combines two technologies in one convenient web interface:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;KVM&lt;/strong&gt; - full-fledged virtual machines with hardware virtualization.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LXC&lt;/strong&gt; - lightweight Linux containers.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Plus built-in functionality: clustering, High Availability, backups, Ceph, SDN and much more.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="why-i-started-to-consider-migrating-from-esxi"&gt;Why I started to consider migrating from ESXi
&lt;/h3&gt;&lt;p&gt;Currently, the working infrastructure is based on the classic VMware ESXi stack, which provides the usual stability. However, my experience using Proxmox in home labs and test environments has shown that the platform provides functionality comparable to ESXi without the strict licensing restrictions.&lt;/p&gt;
&lt;p&gt;The decisive factor was not the technical choice in favor of Proxmox, but the natural fit of its architecture to our tasks: in scenarios where support for a massive vendor stack is not required, Proxmox provides the same level of functionality without unnecessary complexity. The transition is due to the following reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Optimization of licensing policy: Changes in the Broadcom model after the company&amp;rsquo;s acquisition made the platform less attractive in the long term. Proxmox is completely free, with no hidden fees or limits on the number of sockets, cores or virtual machines.&lt;/li&gt;
&lt;li&gt;Technological independence: The transition to Proxmox provides complete transparency and control over the infrastructure without being tied to proprietary solutions and vendor lock-in.&lt;/li&gt;
&lt;li&gt;Ecosystem flexibility: The open nature of Proxmox allows you to build more flexible and manageable systems for projects where independence and ease of administration are important. The platform offers a modern web interface, a built-in backup system, clustering, live-migration, as well as support for both full-fledged virtual machines (KVM) and lightweight containers (LXC).&lt;/li&gt;
&lt;li&gt;Transparency and predictable costs: No dependence on vendor policies and sudden changes in licensing conditions.&lt;/li&gt;
&lt;li&gt;Active development: Regular updates, a rich ecosystem and the possibility of deep customization for specific tasks.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When maintaining the “vendor stack” remains justified&lt;/p&gt;
&lt;p&gt;At the same time, it is important to soberly assess the limits of applicability of both platforms. VMware continues to be the benchmark in large enterprise environments where Proxmox may face limitations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Certification and support: Business-critical systems (for example, SAP or Oracle) often require official vendor support with a strict SLA and hardware certification.&lt;/li&gt;
&lt;li&gt;Deep integration with hardware: VMware&amp;rsquo;s long-term partnerships with hardware manufacturers (Dell, HPE, Lenovo) provide deeper integration of drivers and monitoring at the BIOS/Firmware level.&lt;/li&gt;
&lt;li&gt;Managing huge scale: vCenter remains a more convenient tool for managing hundreds of servers distributed across different data centers. In Proxmox, such tasks require more manual automation efforts through Ansible or Terraform.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bottom line&lt;/p&gt;
&lt;p&gt;For projects where transparency, control and the absence of a rigid connection to changing vendor policies are important, Proxmox becomes a logical and economically sound choice. This is a transition from a “boxed” enterprise product to a flexible, open system in which the administrator truly owns his infrastructure.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="real-tests-in-a-laboratory-environment"&gt;Real tests in a laboratory environment
&lt;/h3&gt;&lt;p&gt;I deployed Proxmox VE 9 in a test environment and ran typical tasks that I regularly solve on ESXi:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Start Windows Server + MSSQL&lt;/strong&gt;
Works stably. After installing VirtIO drivers, disk and network performance is good.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Live Migration of a running VM&lt;/strong&gt;
Without shared storage, migration occurs over the network. The result is tolerable.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Clustering&lt;/strong&gt;
I assembled a cluster of two nodes. I checked HA - when one node is turned off, the VMs are automatically restarted on the second.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Storage&lt;/strong&gt;
I used local disks with ZFS. For fully synchronous shared storage, I plan to raise &lt;strong&gt;Ceph&lt;/strong&gt; in the future.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Backups&lt;/strong&gt;
Built-in &lt;code&gt;vzdump&lt;/code&gt; + Proxmox Backup Server with deduplication and encryption. Significantly more convenient and economical compared to Veeam.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h3 id="key-differences-from-esxi"&gt;Key differences from ESXi
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;LXC containers out of the box&lt;/strong&gt; are what I always lacked in VMware.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Everything in one interface&lt;/strong&gt; - hypervisor, storage, backups, cluster, network.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open ecosystem&lt;/strong&gt; - the server runs on Debian, you can install any packages and freely script.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Flexibility&lt;/strong&gt; - easily scales from a small homelab to a full-fledged cluster.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id="what-difficulties-did-i-encounter"&gt;What difficulties did I encounter?
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ZFS and memory&lt;/strong&gt; - if you enable deduplication, RAM is consumed very actively. I had to switch to compression.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Network&lt;/strong&gt; - built-in SDN is powerful, but sometimes it&amp;rsquo;s easier to configure VLANs through standard Debian tools.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Support&lt;/strong&gt; - in case of serious problems in production, rely mainly on yourself and the community.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id="who-i-recommend-to-switch-to-proxmox"&gt;Who I recommend to switch to Proxmox
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Yes, it’s worth it&lt;/strong&gt; if:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You want to get away from vendor dependence.&lt;/li&gt;
&lt;li&gt;Build infrastructure from scratch or update the old one.&lt;/li&gt;
&lt;li&gt;LXC containers and maximum flexibility are needed.&lt;/li&gt;
&lt;li&gt;Transparency and control over the system are important.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Stay with VMware&lt;/strong&gt; if:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You have a large corporate environment with strict requirements for certification and vendor support.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id="my-immediate-plans"&gt;My immediate plans
&lt;/h3&gt;&lt;p&gt;I would like to prepare a series of practical materials:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Setting up a cluster of 2–3 nodes&lt;/li&gt;
&lt;li&gt;Organization of reliable backups&lt;/li&gt;
&lt;li&gt;Migration of VMs from ESXi to Proxmox (P2V)&lt;/li&gt;
&lt;li&gt;Real scenarios for using LXC in production&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Everything written is from personal practical experience. If you are already working with Proxmox or are just planning a transition, I will be glad to hear your opinion in the comments.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Chezmoi: Elegant Dotfile Management Across Linux and Windows</title><link>https://lab.artkov-info.ru/en/2026/02/chezmoi-dotfiles-management/</link><pubDate>Wed, 25 Feb 2026 00:00:00 +0000</pubDate><guid>https://lab.artkov-info.ru/en/2026/02/chezmoi-dotfiles-management/</guid><description>&lt;img src="https://lab.artkov-info.ru/2026/02/chezmoi-dotfiles-management/chezmoi-dotfiles-management-cover.webp" alt="Featured image of post Chezmoi: Elegant Dotfile Management Across Linux and Windows" /&gt;&lt;p&gt;Managing configuration files (&lt;code&gt;dotfiles&lt;/code&gt;) across multiple machines inevitably turns into chaos over time. A standard Git repository in your home directory quickly gets cluttered, symlinks often break on Windows, and storing secrets like API tokens or plain-text usernames publicly is extremely unsafe.&lt;/p&gt;
&lt;p&gt;The solution to this problem is &lt;strong&gt;chezmoi&lt;/strong&gt; — a modern, Go-based dotfile manager. It allows you to manage settings across Linux, WSL, and Windows securely and systematically.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="-why-choose-chezmoi"&gt;🚀 Why Choose Chezmoi?
&lt;/h3&gt;&lt;p&gt;Unlike traditional symlink-based approaches, &lt;strong&gt;chezmoi&lt;/strong&gt; stores target configurations in a dedicated directory (by default &lt;code&gt;~/.local/share/chezmoi&lt;/code&gt;) and applies changes to your live system only when explicitly instructed.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cross-Platform&lt;/strong&gt;: Works seamlessly on Unix-like systems, WSL, and Windows.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Go Template Support&lt;/strong&gt;: Dynamically substitutes variables (such as username, hostname, or email) based on the target host.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Built-in Security&lt;/strong&gt;: Native encryption support for sensitive data using &lt;code&gt;age&lt;/code&gt; or &lt;code&gt;GnuPG&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Automated Provisioning&lt;/strong&gt;: Supports &lt;code&gt;run_once_&lt;/code&gt; scripts to install packages during initial system setup.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id="-repository-layout-and-structure"&gt;📦 Repository Layout and Structure
&lt;/h3&gt;&lt;p&gt;Here is an example structure of a chezmoi-managed dotfile repository:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;dotfiles/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── .chezmoi.toml.tmpl # Chezmoi configuration template
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── .chezmoiignore # Files and directories to ignore
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── dot_bashrc # Becomes ~/.bashrc
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── dot_gitconfig.tmpl # Template for ~/.gitconfig with variables
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── private_dot_config/ # Becomes ~/.config/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ ├── helix/ # Helix editor configuration
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ ├── starship/ # Starship prompt setup
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ └── wezterm/ # Cross-platform WezTerm terminal
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── run_once_after_10-base-packages.sh.tmpl # Base CLI package installer (Linux/WSL)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;└── run_once_after_20-windows-packages.ps1.tmpl # Package installer (Windows)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;div class="admonition note"&gt;
 &lt;div class="admonition-header"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"&gt;&lt;path d="M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 125.7-86.8 86.8c-10.3 10.3-17.5 23.1-21 37.2l-18.7 74.9c-2.3 9.2-1.8 18.8 1.3 27.5L64 512c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128zM549.8 235.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM311.9 417L441.1 287.8l71 71L382.9 487.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z"/&gt;&lt;/svg&gt;
 &lt;span&gt;Naming Conventions&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="admonition-content"&gt;
 &lt;p&gt;Prefixes in chezmoi filenames define their target attributes: &lt;code&gt;dot_&lt;/code&gt; transforms into a leading dot (&lt;code&gt;.bashrc&lt;/code&gt;), &lt;code&gt;private_&lt;/code&gt; creates a restricted folder (&lt;code&gt;chmod 700&lt;/code&gt;), and &lt;code&gt;.tmpl&lt;/code&gt; enables the Go template engine.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;&lt;hr&gt;
&lt;h3 id="-quickstart-and-initialization"&gt;⚡ Quickstart and Initialization
&lt;/h3&gt;&lt;h4 id="linux--wsl"&gt;Linux / WSL
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Install the utility:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sh -c &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;curl -fsLS get.chezmoi.io&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; -- -b ~/.local/bin
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;PATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$HOME&lt;/span&gt;&lt;span class="s2"&gt;/.local/bin:&lt;/span&gt;&lt;span class="nv"&gt;$PATH&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Initialize from a GitHub repository:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;chezmoi init --apply &amp;lt;your-username&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="windows"&gt;Windows
&lt;/h4&gt;&lt;p&gt;On Windows, the easiest way to install chezmoi is via the &lt;strong&gt;Scoop&lt;/strong&gt; package manager:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Set-ExecutionPolicy&lt;/span&gt; &lt;span class="n"&gt;-Scope&lt;/span&gt; &lt;span class="n"&gt;CurrentUser&lt;/span&gt; &lt;span class="n"&gt;-ExecutionPolicy&lt;/span&gt; &lt;span class="n"&gt;RemoteSigned&lt;/span&gt; &lt;span class="n"&gt;-Force&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;iwr &lt;/span&gt;&lt;span class="n"&gt;-useb&lt;/span&gt; &lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;scoop&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;sh&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="nb"&gt;iex
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;scoop&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;&lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="n"&gt;chezmoi&lt;/span&gt; &lt;span class="n"&gt;git&lt;/span&gt; &lt;span class="n"&gt;gh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# Initialize configuration inside Git Bash:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;chezmoi&lt;/span&gt; &lt;span class="n"&gt;init&lt;/span&gt; &lt;span class="p"&gt;-&lt;/span&gt;&lt;span class="n"&gt;-apply&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nb"&gt;your-username&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;hr&gt;
&lt;h3 id="-daily-command-cheatsheet"&gt;🔄 Daily Command Cheatsheet
&lt;/h3&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th style="text-align: left"&gt;Command&lt;/th&gt;
					&lt;th style="text-align: left"&gt;Description&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;chezmoi edit ~/.bashrc&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;Open a file in your default editor.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;chezmoi diff&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;Show differences between repository state and &lt;code&gt;$HOME&lt;/code&gt;.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;chezmoi apply -v&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;Apply changes from source state to the living system.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;chezmoi update&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;Pull changes from Git repository and apply them immediately.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;chezmoi add ~/.config/helix/&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;Add a new directory under chezmoi tracking.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style="text-align: left"&gt;&lt;code&gt;chezmoi cd&lt;/code&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;Navigate into chezmoi&amp;rsquo;s local source directory.&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h3 id="-leveraging-templates"&gt;📊 Leveraging Templates
&lt;/h3&gt;&lt;p&gt;Go templates allow you to maintain a single &lt;code&gt;dot_gitconfig.tmpl&lt;/code&gt; across all your devices:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[user]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; name = {{ .name }}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; email = {{ .email }}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Variables are read from your personal &lt;code&gt;.chezmoi.toml&lt;/code&gt; file or requested via interactive prompts during initialization.&lt;/p&gt;

 &lt;div class="admonition warning"&gt;
 &lt;div class="admonition-header"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"&gt;&lt;path d="M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"/&gt;&lt;/svg&gt;
 &lt;span&gt;Caution with Provisioning Scripts&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="admonition-content"&gt;
 &lt;p&gt;Scripts prefixed with &lt;code&gt;run_once_&lt;/code&gt; execute automatically only once. Always verify generated script output prior to running using &lt;code&gt;chezmoi execute-template &amp;lt; &amp;lt;file&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;On Windows systems, to prevent accidental execution of Bash scripts, it is recommended to apply changes using:
&lt;code&gt;chezmoi apply --exclude=scripts&lt;/code&gt;.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/div&gt;&lt;hr&gt;
&lt;h3 id="-resources-and-links"&gt;📚 Resources and Links
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;🌐 &lt;a class="link" href="https://www.chezmoi.io/" target="_blank" rel="noopener"
 &gt;Official Chezmoi Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;🛠 &lt;a class="link" href="https://github.com/The-Old-Cat/dotfiles" target="_blank" rel="noopener"
 &gt;Sample Dotfiles Repository on GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>