Skip to content

Instantly share code, notes, and snippets.

CodingCellist /
Last active February 17, 2024 05:12
A detailed overview of how I installed Arch Linux on my Lenovo ThinkPad X1 Extreme (Gen 1), having never installed Arch before.


I am not responsible for any damages, loss of data, system corruption, or any other mishap you may somehow cause by following this guide.

This is mainly a step-by-step reminder/log for myself of how I installed Arch on my laptop. I am putting this out there in case it is useful for someone else, it is not intended to be an official guide. As a result, you may find that this guide is very tedious or lists a lot of unnecessary/intuitive steps or just straight up does things in a way that is considered bad practice. Apart from the latter, this is intentional, as I did not find these steps intuitive at all when

CodingCellist /
Last active May 26, 2024 10:42
A step-by-step guide to dualbooting encrypted Windows and Arch Linux, using the rEFInd boot mananger.


ENCRYPTING YOUR DRIVE(S) CAN RESULT IN PERMANENT DATA LOSS IF YOU DON'T KNOW WHAT YOU ARE DOING OR YOU FORGET THE PASSWORD. IT IS YOUR (THE READER'S) RESPONSIBILITY TO HAVE BACKUPS SHOULD ANYTHING GO WRONG. Additionally, I am not responsible for any damage you cause to your system by following this guide. You are completely and solely responsible for any changes made and potential damage caused.

I am not an expert on this topic in any way! I just read some wiki pages, had done a dual-boot Arch install before, got inspired by

CodingCellist / TestChan.idr
Created June 11, 2021 09:56
Idris2 channels under the Chez-Scheme CG might not be working correctly...
import System.Concurrency
import Data.List
data Msg = Continue
| Stop
receiver : Channel Msg -> Bool -> IO ()
receiver c first =
do Continue <- channelGet c
| Stop => putStrLn "Thread done."