<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
	<title>ThirtySix&#39;s Website</title>
	<link>https://thirtysix.pw/</link>
	<description>Recent content on ThirtySix&#39;s Website</description>
	<generator>Hugo -- gohugo.io</generator>
	<language>en-us</language>
	<lastBuildDate>Thu, 24 Aug 2023 23:47:07 +0300</lastBuildDate>
    
        <atom:link href="https://thirtysix.pw/index.xml" rel="self" type="application/rss+xml" />
	
	
	<item>
		<title>Spring Cleaning $HOME</title>
		<link>https://thirtysix.pw/posts/spring-cleaning-home/</link>
		<pubDate>Thu, 31 Aug 2023 16:37:49 +0300</pubDate>
		
		<guid>https://thirtysix.pw/posts/spring-cleaning-home/</guid>
		<description>
&lt;figure class=&#34;titleimg&#34;&gt;&lt;img src=&#34;https://thirtysix.pw/pix/clean-home.png&#34; title=&#34;My clean $HOME&#34;&gt;&lt;/figure&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Files, which name begins with a dot are called &amp;lsquo;dotfiles&amp;rsquo; or &amp;lsquo;hidden
files&amp;rsquo; and usually are used for programs configuration. The fun fact is
that they never meant to exist and originally
&lt;a href=&#34;https://web.archive.org/web/20180827160401/https://plus.google.com/+RobPikeTheHuman/posts/R58WgWwN9jp&#34;&gt;was a bug&lt;/a&gt;,
which was introduced in &lt;code&gt;ls&lt;/code&gt; rewrite from Assembly to C. There was a feature to
hide &lt;code&gt;.&lt;/code&gt; and &lt;code&gt;..&lt;/code&gt; dirs, because they are current and up ones and are in every dir
anyway. But this was done with poor check if filename starts with a dot or not,
making a dozen of other files &amp;ldquo;hidden&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Later this started tendency of every program dumping hidden (or sometimes not!) files
in users home dirs without a way to remove them, which is very messy way to do configuration.
This post will demonstrate how I got rid of the &lt;em&gt;most&lt;/em&gt; dotfiles in my &lt;code&gt;$HOME&lt;/code&gt; dir.&lt;/p&gt;
&lt;h2 id=&#34;clean-up&#34;&gt;Clean-up&lt;/h2&gt;
&lt;p&gt;First step is to (re)move all files and dirs, which does not need to be in home to
respective &lt;a href=&#34;https://wiki.archlinux.org/title/XDG_user_directories&#34;&gt;xdg locations&lt;/a&gt;
such as documents or pictures. I prefer to have only
documents, pictures and music dirs, because it&amp;rsquo;s all I need. Aside from that I keep
all source code in &lt;code&gt;~/.local/src/&lt;/code&gt; and scripts in &lt;code&gt;~/.local/bin/&lt;/code&gt;. Also I have &lt;code&gt;~/&lt;/code&gt; set
as downloads dir, which helps with putting files to appropriate places (or delete them)
instead of having them laying forever in a place where they don&amp;rsquo;t belong.&lt;/p&gt;
&lt;p&gt;Next step is moving dotfiles. Some programs support xdg out of the box and their configs
simply can be moved, others have support via environmental variables, and for others you
will have to create alias to start them with config in xdg location.
Very useful resources for that are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://wiki.archlinux.org/title/XDG_Base_Directory&#34;&gt;ArchWiki&lt;/a&gt;&amp;rsquo;s xdg specification page&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/b3nj5m1n/xdg-ninja&#34;&gt;xdg-ninja&lt;/a&gt; (&lt;a href=&#34;https://aur.archlinux.org/packages/xdg-ninja&#34;&gt;aur&lt;/a&gt;) which will automatically detect unwanted dotfiles and give instructions to move them&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;After all of this, you will still have some dotfiles, that are hardcoded and &amp;lsquo;won&amp;rsquo;t get fixed&amp;rsquo;.
It probably will be browser dir be it &lt;code&gt;.mozilla&lt;/code&gt; or &lt;code&gt;.librewolf&lt;/code&gt; for gecko-based or &lt;code&gt;.pki&lt;/code&gt; for
chromium-based ones. Ssh and dbus dirs are also hardcoded but this is not a big deal, because
I cleaned all that was possible and at the end I have 9 directories and 0 files in my &lt;code&gt;~/&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;unusual-tips&#34;&gt;Unusual tips&lt;/h2&gt;
&lt;p&gt;I use zsh as my shell and it allows to set &lt;code&gt;$ZDOTDIR&lt;/code&gt; to move all it&amp;rsquo;s files to that dir,
but these variable need to be set either in &lt;code&gt;~/.zshenv&lt;/code&gt; or &lt;code&gt;~/.zprofile&lt;/code&gt; or system-wide.
I have it set in &lt;code&gt;~/.config/shell/profile&lt;/code&gt; and sourced from &lt;code&gt;/etc/zsh/zprofile&lt;/code&gt; line that:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -f &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;XDG_CONFIG_HOME&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;$HOME/.config&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;/shell/profile&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	. &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;XDG_CONFIG_HOME&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;$HOME/.config&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;/shell/profile&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Another annoyance with zsh is interactive helper, which rans on every shell startup if there
is no &lt;code&gt;~/.z*&lt;/code&gt; file(s) in &lt;code&gt;~/&lt;/code&gt; (even if &lt;code&gt;$ZDOTDIR&lt;/code&gt; is set). To disable it you will
need to redefine it in &lt;code&gt;/etc/zsh/zshenv&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;zsh-newuser-install&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; :; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Another one that needed some work was &lt;code&gt;~/.git/&lt;/code&gt;. I have it, because I use git to track
my dotfiles, but this method has some pitfalls, so I killed two birds with one stone.
I moved &lt;code&gt;~/.git/&lt;/code&gt; to &lt;code&gt;~/.local/src/dotfiles/&lt;/code&gt; and wrote git wrapper to have all my
git aliases work with normal repos and dotfiles one.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	command git rev-parse --is-inside-work-tree &amp;gt;/dev/null 2&amp;gt;&amp;amp;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;||&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		set -- --git-dir&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$HOME&lt;span style=&#34;color:#e6db74&#34;&gt;/.local/src/dotfiles&amp;#34;&lt;/span&gt; --work-tree&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$HOME&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$@&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	command git &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$@&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
	</item>
	
	<item>
		<title>Artix Install Guide</title>
		<link>https://thirtysix.pw/posts/artix-install-guide/</link>
		<pubDate>Sun, 20 Aug 2023 16:57:55 +0300</pubDate>
		
		<guid>https://thirtysix.pw/posts/artix-install-guide/</guid>
		<description>
&lt;figure class=&#34;titleimg lowmargin&#34;&gt;&lt;img src=&#34;https://thirtysix.pw/pix/artix-colorfull.svg&#34; title=&#34;Artix Linux&#34;&gt;&lt;/figure&gt;

&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;
&lt;p&gt;Quick installation guide (not really) of &lt;a href=&#34;https://artixlinux.org&#34;&gt;Artix Linux&lt;/a&gt; with runit
init system, which will also work for &lt;a href=&#34;https://archlinux.org&#34;&gt;Arch&lt;/a&gt;. I wrote
this as a reference for myself in the future and others and also to
proof that installation is very easy and usually takes about 10 minutes.&lt;/p&gt;
&lt;h2 id=&#34;encryption&#34;&gt;Encryption&lt;/h2&gt;
&lt;p&gt;I prefer installing system on an encrypted partition, because
as of time of writing this I keep my main system on an external ssd for
portability. Encryption is also &lt;em&gt;necessary&lt;/em&gt; on laptops because anyone can
load to it from live usb of any linux distro and do whatever they want
with filesystem. Which can be done for windows to, but getting encryption
on that is hard and pointless, because microsoyft will put your key on
their servers.&lt;/p&gt;
&lt;p&gt;One unconvinience that comes with using encryption is the need to put two
passwords to unlock your system: one for disk and one for user, so I will
show you how to setup autologin to user account and enter only encryption
password.&lt;/p&gt;
&lt;h2 id=&#34;disk-preparation&#34;&gt;Disk preparation&lt;/h2&gt;
&lt;p&gt;Use &lt;code&gt;lsblk&lt;/code&gt; to view available partitions and disks. Find one that you will
be installing on by it&#39;s size. Later it will be called &lt;code&gt;/dev/sdX&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Partition disk with &lt;code&gt;fdisk&lt;/code&gt;. Use &lt;code&gt;p&lt;/code&gt;, &lt;code&gt;d&lt;/code&gt;, &lt;code&gt;n&lt;/code&gt;, &lt;code&gt;w&lt;/code&gt;, to print current
partition table, delete partition, create partition, write changes to disk respectively.
I usually create 1G boot partition, 8G swap partition and use the rest space
for an actual system.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# boot&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mkfs.fat -F32 /dev/sdX1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# swap&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mkswap /dev/sdX2
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;swapon /dev/sdX2
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# encrypted root&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cryptsetup luksFormat /dev/sdX3
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cryptsetup open /dev/sdX3 root
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mkfs.btrfs /dev/mapper/root
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# mount&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mount --mkdir /dev/sdX1 /mnt/boot
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mount /dev/mapper/root /mnt
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# actual intall (use `pacstrap` on arch)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;basestrap /mnt linux linux-firmware base base-devel runit elogind-runit &lt;span style=&#34;color:#ae81ff&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;&lt;/span&gt;	networkmanager networkmanager-runit cryptsetup lvm2 lvm2-runit grub vim
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;basic-settings&#34;&gt;Basic settings&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# fstab&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fstabgen -U /mnt &amp;gt;&amp;gt;/mnt/etc/fstab
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# chroot (use `arch-chroot` on arch)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;artix-chroot /mnt bash
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# timezone&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ln -s /usr/share/zoneinfo/&amp;lt;Region&amp;gt;/&amp;lt;City&amp;gt; /etc/localtime
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;hwclock --systohc
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# locale&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;en_US.UTF-8 UTF-8&amp;#34;&lt;/span&gt; &amp;gt;/etc/locale.gen
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;locale-gen
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;LANG=en_US.UTF-8&amp;#34;&lt;/span&gt; &amp;gt;/etc/locale.conf
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# hostname and hosts&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;artix&amp;#34;&lt;/span&gt; &amp;gt;/etc/hostname
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 127.0.0.1		localhost&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# ::1			localhost&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 127.0.1.1		artix.localdomain artix&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vim /etc/hosts
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# NetworkManager&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ln -s /etc/runit/sv/NetworkManager /etc/runit/runsvdir/current
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# root password&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;passwd
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# create your user&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;useradd -G wheel -m thsx
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;passwd thsx
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# uncomment &amp;#39;%wheel ALL=(ALL:ALL) ALL&amp;#39; to enable root access&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;visudo
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;grub-encryption&#34;&gt;Grub encryption&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# add &amp;#39;--autologin thsx&amp;#39; to GETTY_ARGS variable&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vim /etc/runit/sv/agetty-tty1/conf
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# add &amp;#39;encrypt lvm2&amp;#39; after &amp;#39;block&amp;#39; to HOOKS array&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vim /etc/mkinitcpio.conf
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mkinitcpio -p linux
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;exit
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lsblk -f &amp;gt;&amp;gt;/mnt/etc/default/grub
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;artix-chroot /mnt bash &lt;span style=&#34;color:#75715e&#34;&gt;# use `arch-chroot` on arch&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vim /etc/default/grub
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Change &lt;code&gt;GRUB_TIMEOUT&lt;/code&gt; to 0.
After that go to the end of the file and delete all output from
&lt;code&gt;lsblk -f&lt;/code&gt; but the two lines with &lt;strong&gt;luksCrypt (1)&lt;/strong&gt; and &lt;strong&gt;btrfs (2)&lt;/strong&gt; filesystems.
Add their UUIDs in the next format to &lt;code&gt;GRUB_CMDLINE_LINUX_DEFAULT&lt;/code&gt; variable:&lt;/p&gt;
&lt;p&gt;`&lt;code&gt;cryptdevice=UUID=&lt;/code&gt;&lt;strong&gt;&amp;lt;uuid of (1)&amp;gt;&lt;/strong&gt;&lt;code&gt;:cryptlvm root=UUID=&lt;/code&gt;&lt;strong&gt;&amp;lt;uuid of (2)&amp;gt;&lt;/strong&gt;`&lt;/p&gt;
&lt;p&gt;After thar remove all &lt;code&gt;lsblk -f&lt;/code&gt; output or it will mess up your grub config.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# install grub and reboot into new system&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;grub-install /dev/sdX
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;grub-mkconfig -o /boot/grub/grub.cfg
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;exit
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;reboot
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Done! After following instructions above you will be able
to install one of the best arch-based distro.&lt;/p&gt;
</description>
	</item>
	
	</channel>
</rss>
