config_guide_05-priority.md.f64e8a7d.js
1 import{_ as n,y as s,x as a,W as t}from"./plugin-vue_export-helper.f07d1dea.js";const h='{"title":"Scopes","description":"","frontmatter":{},"headers":[{"level":2,"title":"Examples","slug":"examples"},{"level":3,"title":"Dropin","slug":"dropin"},{"level":3,"title":"App","slug":"app"},{"level":3,"title":"General","slug":"general"}],"relativePath":"config/guide/05-priority.md","lastUpdated":1692639959838}',e={},o=t(`<h1 id="scopes" tabindex="-1">Scopes <a class="header-anchor" href="#scopes" aria-hidden="true">#</a></h1><p>A group's <a href="/config/key-references.html#scope"><code>scope</code></a> decides the priority of its items. When multiple groups contain a same item, only the group with the highest priority will do sync that specific item. This mechanism minimizes total number of filesystem I/O operations, which makes <code>dt-cli</code> to appear faster, and achieves finer control over what to sync with <code>dt-cli</code> without having to picking out each application's config files from your dotfile library.</p><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>This feature is meant to be used with <code>dt-cli</code>'s <a href="/#usage">command-line argument</a>, see the <a href="/features/02-scope.html">Background</a> subsection of this feature's introduction for more details.</p></div><h2 id="examples" tabindex="-1">Examples <a class="header-anchor" href="#examples" aria-hidden="true">#</a></h2><h3 id="dropin" tabindex="-1"><code>Dropin</code> <a class="header-anchor" href="#dropin" aria-hidden="true">#</a></h3><p>On <a href="https://archlinux.org" target="_blank" rel="noopener noreferrer">Arch Linux</a>, package <a href="https://archlinux.org/packages/extra/x86_64/fontconfig/" target="_blank" rel="noopener noreferrer"><code>fontconfig</code></a> provides a file <code>/usr/share/fontconfig/conf.avail/10-sub-pixel-rgb.conf</code>, which <a href="http://www.lagom.nl/lcd-test/subpixel.php" target="_blank" rel="noopener noreferrer">works for most monitors</a>. A drop-in group can be defined as:</p><div class="language-toml"><pre><code><span class="token punctuation">[</span><span class="token punctuation">[</span><span class="token table class-name">local</span><span class="token punctuation">]</span><span class="token punctuation">]</span> 2 <span class="token key property">scope</span> <span class="token punctuation">=</span> <span class="token string">"Dropin"</span> 3 <span class="token key property">name</span> <span class="token punctuation">=</span> <span class="token string">"fontconfig-system"</span> 4 <span class="token key property">base</span> <span class="token punctuation">=</span> <span class="token string">"/usr/share/fontconfig/conf.avail/"</span> 5 <span class="token key property">sources</span> <span class="token punctuation">=</span> <span class="token punctuation">[</span> 6 <span class="token comment"># Pixel Alignment. Test monitor's subpixel layout at</span> 7 <span class="token comment"># <http://www.lagom.nl/lcd-test/subpixel.php>, reference:</span> 8 <span class="token comment"># <https://wiki.archlinux.org/title/Font_configuration#Pixel_alignment></span> 9 <span class="token string">"10-sub-pixel-rgb.conf"</span><span class="token punctuation">,</span> 10 <span class="token comment"># Enable lcdfilter. Reference:</span> 11 <span class="token comment"># <https://forum.endeavouros.com/t/faq-bad-font-rendering-in-firefox-and-other-programs/13430/3></span> 12 <span class="token string">"11-lcdfilter-default.conf"</span><span class="token punctuation">,</span> 13 <span class="token punctuation">]</span> 14 <span class="token key property">target</span> <span class="token punctuation">=</span> <span class="token string">"~/.config/fontconfig/conf.d"</span> 15 </code></pre></div><h3 id="app" tabindex="-1"><code>App</code> <a class="header-anchor" href="#app" aria-hidden="true">#</a></h3><p>For example, a group of GUI applications under the <a href="https://wayland.freedesktop.org" target="_blank" rel="noopener noreferrer">wayland protocol</a> could be defined as:</p><div class="language-toml"><pre><code><span class="token punctuation">[</span><span class="token punctuation">[</span><span class="token table class-name">local</span><span class="token punctuation">]</span><span class="token punctuation">]</span> 16 <span class="token key property">scope</span> <span class="token punctuation">=</span> <span class="token string">"General"</span> 17 <span class="token key property">name</span> <span class="token punctuation">=</span> <span class="token string">"gui"</span> 18 <span class="token key property">base</span> <span class="token punctuation">=</span> <span class="token string">"/path/to/your/dotfiles/library/root"</span> 19 <span class="token key property">sources</span> <span class="token punctuation">=</span> <span class="token punctuation">[</span> 20 <span class="token string">".gtkrc-2.0"</span><span class="token punctuation">,</span> 21 <span class="token string">".local/share/icons"</span><span class="token punctuation">,</span> 22 <span class="token string">".local/share/fcitx5"</span><span class="token punctuation">,</span> 23 <span class="token string">".config/sway"</span><span class="token punctuation">,</span> 24 <span class="token string">".config/swaylock"</span><span class="token punctuation">,</span> 25 <span class="token string">".config/waybar"</span><span class="token punctuation">,</span> 26 <span class="token string">".config/dunst"</span><span class="token punctuation">,</span> 27 <span class="token string">".config/gtk-*.0"</span><span class="token punctuation">,</span> 28 <span class="token punctuation">]</span> 29 <span class="token key property">target</span> <span class="token punctuation">=</span> <span class="token string">"~"</span> 30 </code></pre></div><h3 id="general" tabindex="-1"><code>General</code> <a class="header-anchor" href="#general" aria-hidden="true">#</a></h3><p>This scope is mostly used in the fallback groups, for example:</p><div class="language-toml"><pre><code><span class="token punctuation">[</span><span class="token punctuation">[</span><span class="token table class-name">local</span><span class="token punctuation">]</span><span class="token punctuation">]</span> 31 <span class="token key property">scope</span> <span class="token punctuation">=</span> <span class="token string">"General"</span> 32 <span class="token key property">name</span> <span class="token punctuation">=</span> <span class="token string">"xdg_config_home"</span> 33 <span class="token key property">base</span> <span class="token punctuation">=</span> <span class="token string">"/path/to/your/dotfiles/library/root/.config"</span> 34 <span class="token key property">sources</span> <span class="token punctuation">=</span> <span class="token punctuation">[</span> 35 <span class="token string">"*"</span><span class="token punctuation">,</span> 36 <span class="token punctuation">]</span> 37 <span class="token key property">target</span> <span class="token punctuation">=</span> <span class="token string">"~/.config"</span> 38 <span class="token punctuation">[</span><span class="token punctuation">[</span><span class="token table class-name">local</span><span class="token punctuation">]</span><span class="token punctuation">]</span> 39 <span class="token key property">scope</span> <span class="token punctuation">=</span> <span class="token string">"General"</span> 40 <span class="token key property">name</span> <span class="token punctuation">=</span> <span class="token string">"misc"</span> 41 <span class="token key property">base</span> <span class="token punctuation">=</span> <span class="token string">"/path/to/your/dotfiles/library/root"</span> 42 <span class="token key property">sources</span> <span class="token punctuation">=</span> <span class="token punctuation">[</span> 43 <span class="token string">".[!.]*"</span><span class="token punctuation">,</span> 44 <span class="token string">"..?*"</span><span class="token punctuation">,</span> 45 <span class="token punctuation">]</span> 46 <span class="token key property">target</span> <span class="token punctuation">=</span> <span class="token string">"~"</span> 47 </code></pre></div>`,13),p=[o];function c(l,r,i,u,k,d){return a(),s("div",null,p)}var f=n(e,[["render",c]]);export{h as __pageData,f as default};