The Perfect System Configuration
Tags: linux, nix, systemconfiguration, windows
Published: 2024-03-10 10:04:13

Hey there, I'm Yukendhiran, and I'm excited to walk you through my journey from a typical Windows user to the unveiling of what I believe is the perfect system configuration.

**TLDR:** The Perfect System Configuration
	Achieved the ideal setup with 200 GB for Windows 10 (AME Wizard and Revi Playbook), 300 GB for Clear Linux with Nix packages, and a shared 450 GB extFAT data partition for seamless compatibility between Windows and Linux.

Four years ago, I tried dipping my toes into Linux, only to face installation challenges. Fast forward a year, driven by a newfound interest in game development and armed with a low-spec laptop, I managed to successfully install Linux. Despite facing setbacks in game development, Linux emerged as my silver lining.

The subsequent journey led me into the world of distro hopping – Debian, Fedora, Arch variants, openSUSE, Vanilla OS, NixOS, Clear Linux – each contributing to my Linux education. Finally, after a series of trials and errors, I've arrived at what I consider the perfect system configuration.

In this article, I'll walk you through my perfect system configuration.

User, brace yourself for a dual-boot adventure where both Windows and Linux coexist, each serving a distinct purpose in my digital world. Before we dive in, a quick disclaimer: Windows is reserved for certain, let's call them "(piracy!?)" "Kidding, just for placement! matters ", while Linux handles everything else.

To my Windows counterparts, please spare me the "Windows can do everything" rhetoric. When it comes to performance and workflow, let's be real, Windows can be a bit of a nightmare. And for those suggesting WSL, I've tried it, but Windows remains, well, Windows.

Now, to my Linux comrades, I appreciate the brilliance of Wine, Proton, or bottling up Windows applications with their amazing system call translations. However, in my case, efficiency is a bit elusive.

Armed with a 1 TB HDD, i5 7200U processor, and 16 GB of RAM, my machine is ready for the perfect system setup.

For any operating system, optimize your setup by creating a new exFAT partition and migrating files to it (Reason: can be accessed from both Windows and Linux by default). Always prioritize safeguarding critical files with cloud backups (Google Photos for personal pics, Drive for documents, Git for code, and Telegram for additional cloud backup).

Boost flexibility by installing Ventoy on your system. Format your pendrive and use Ventoy to craft a bootable drive. Download Windows 10 ISO and Clear Linux ISO( Fastest Linux Ever Created ), then transfer both ISOs to the pendrive. This streamlined process ensures a seamless transition and convenient access for future installations.

https://www.clearlinux.org/
https://www.ventoy.net/en/index.html

In my case, I created a new 400 GB exFAT partition and moved my 20 GB files to it.

Let's access the boot menu and choose our pendrive. Firstly, opt for Windows 10 on the Ventoy screen to initiate the installation process.

In the Windows installer, delete all partitions except the exFAT partition. Utilize the unallocated space to create a new partition, and select that partition to complete the Windows 10 installation. In my case, allocate 200 GB for Windows, leaving the remaining 300 GB unallocated, while preserving the 450 GB exFAT partition untouched.

Before transitioning to Linux, let's complete the Windows customization. Update Windows to its latest version and install all necessary drivers. Consider using popular tools for debloating Windows, such as Chris Titus's Win Utility. In my case, I prefer AME Wizard and Revision Playbook. Install AME Wizard, run it, select the downloaded Revision Playbook, and follow the process. 

https://ameliorated.io/

Absolutely! Let's return to the boot menu and, this time, choose Clear Linux. In the installer, select a safe install, utilizing continuous unallocated space for installation. Complete the Clear Linux installation. If you boot directly into the system, it will default to Windows. To finalize the dual-boot process, boot into the Clear Linux installer again, and follow the dual-boot instructions provided in the official Clear Linux documentation.

https://www.clearlinux.org/clear-linux-documentation/tutorials/multi-boot/dual-boot-win.html

We chose Clear Linux for its exceptional speed, crafted by Intel, the original creator of the x86 architecture. Although it doesn't boast an extensive native package repository, we'll leverage the Nix package manager for a comprehensive selection.

Now, boot into Clear Linux. Installing Nix on Clear Linux may present some challenges, but follow these instructions for a smoother process. In contrast, on other distros, the installation should be relatively straightforward.

Execute the following commands one after another:

sudo mkdir /etc/tmpfiles.d

sh <(curl -L https://nixos.org/nix/install) --daemon

sudo mkdir -p /etc/profile.d

sudo cp /etc/bashrc /etc/profile.d/nix

For a detailed understanding, refer to this GitHub issue: Nix Issue #7990.
https://github.com/NixOS/nix/issues/7990

https://nixos.org/

Now, head over to the NixOS package page and search for the desired packages. Copy the installation commands provided under 'nix-env' for non-NixOS environments.

To streamline the process, consider creating a script to install multiple packages at once, like the example below:
nix-env -iA \
    nixpkgs.ventoy-full \
    nixpkgs.anydesk \
    nixpkgs.stacer \
    nixpkgs.microsoft-edge \
    nixpkgs.chromium \
    nixpkgs.motrix \
    nixpkgs.floorp \
    nixpkgs.conda

If you encounter errors related to unfree licenses, resolve this by creating a 'config.nix' file in '~/.config/nixpkgs' (create the directory if it's not present) and add the following line to 'config.nix':

{ allowUnfree = true; }

This configuration permits the use of packages with unfree licenses. You can effortlessly create a fully portable development environment with Nix, and this same configuration can be used across WSL, Linux, and macOS.

Linux offers a plethora of options for desktop environments and window managers. Personally, I use the KDE desktop environment. While KDE  may not generate much initial excitement, it becomes a powerhouse once you delve into learning how to use and customize it. Understanding the nuances of KDE can transform it into your ideal workflow.

Absolutely, let's check the exFAT partition we created. Access it from both Windows and Linux to ensure seamless compatibility.

Now that the foundational setup is complete, it's time to add your personal touch. Choose any two or three operating systems and follow a similar flow. Debloat and customize each operating system to cater to your specific needs, enhancing your overall computing experience. The flexibility provided by this setup allows you to tailor each environment to your liking, providing a versatile and efficient computing platform.