A new job comes with a new laptop. As such, I got one Framework Laptop DIY Edition with the goal of installing and configuring it completely with NixOS. I will share my first impressions after receiving and opening the box and share my personal feedback about the hardware. Then I'll go through the various pitfalls I ran into while installing NixOS on a Framework Laptop DIY Edition so you can be up and running in no time.
If you are not familiar with Framework computers, that's okay. The Framework laptop is relatively new in the market as it was introduced in 2019. What does it do Framework laptops unique is the fact that its parts are easy to upgrade, repairable and customizable by the end user. On order, the DIY edition provides different options for configuring your machine, choosing between operating system, processor, memory and disk types. The configuration can be further expanded with pluggable expansion cards that provide a wide range of connectivity options as well as additional storage. This flexibility is not only about customization, it also extends the life of your machine as it can be upgraded with needs, requirements and expectations over time.
Once your order arrives, it's hard not to notice how light the box is. When you open it, you can appreciate the laptop, parts, manual, a very compact charger, 4 separately packaged expansion cards and a handy screwdriver that makes assembly easy. How appropriate!
The aluminum frame looks nice and sturdy. Come to think of it, with my MacBook Pro sitting next to it on the desk, it looks very good. As good as MacBook Pro!
Inside the frame, each part has a barcode that can be scanned with your phone so you can see the instructions in your browser. That said, here are the components to install in no particular order:
- NVMe™ storage device, low effort level.
- RAM memory card, low effort level.
- Expansion card, low effort level.
- Wi-Fi card, effort level medium because the white and black cables must be properly secured with the card.
In addition to the expansion cards, installation requires opening the frame with the screwdriver that came with the laptop or any small Phillips screwdriver at your disposal.
In the latest DIY edition, the Wi-Fi card comes pre-installed.
As you can see, the hardware installation is a simple process. Now yours Framework Laptop DIY Edition is ready for NixOS. As an optional test, you can quickly install another operating system such as Ubuntu to ensure that all hardware components are working properly: monitor, keyboard, sound, Blue tooth, Wi-Fi, fingerprint reader and the expansion cards. This extra step gives you the assurance that the hardware is working properly if you have to troubleshoot anything while installing NixOS.
For an installation NixOSsee the article written by my colleague Florent Mouaffo which covers the NixOS installation. Although he used one Dell laptop, it is a complete guide for the installation process. I strongly encourage you to read it.
Before we get into the details of the OS installation, here are my hardware specs:
- Intel® Core™ i7-1185G7
- Graphics: Intel Iris Xe Graphics (embedded in the motherboard)
- Wi-Fi: Intel® Wi-Fi 6E AX210 vPro®
- Storage: 1 TB – WD_BLACK™ SN750 NVMe™
- Memory: 64GB (2 x 32GB) DDR4-3200
- 3 USB-C and 1 HDMI expansion card
NixOS installation on the Framework laptop is not as easy as with other hardware. In my case the WI-FI adapter driver is missing which prevented me from running the installation via Wi-FI.
These are the steps to follow:
- Download the NixOS ISO image from here link. Note that the graphical ISO image has two options:
- GNOME: The website shows that this is the recommended option, I confirm that it was the only stable option.
- Plasma Desktop: Although this option does not use as much RAM as GNOME, the configuration of services such as Bluetooth, audio, Wi-Fi, external displays is more complex, and these services may stop working even after a successful initial installation. This option is NOT recommended.
- Load the ISO image to a USB drive (minimum “3GB”) through a program such as balenaEtcher, although you can select the application to perform this step. Once done, connect the USB drive to the Framework laptop.
- Start the computer and press F2 to access the Setup Utility program. Once there:
Security > Enforce Secure Boot: disable
Boot > EFI Boot Order: uncheck all options except the USB drive with the ISO image
- Save and restart
- When the computer detects the USB device, it will run and display a menu showing the installation options. The first option, in my case “NixOS 21.11.334247.573095944e7 Installer”, is OK.
- A Gnome operating system is running but remember it works from the USB drive. The next step is to install the operating system on the laptop's hard drive.
- NixOS manual describes the process in Chapter 2. However, here are the observations about the installation process:
2.1.1 Networking in the installer: This section is useful because the installation requires an Internet connection. It didn't work though Framework laptop so this step can be omitted.
2.2 Partitioning and formatting: With Framework laptops the ‘2.2.1 UEFI (GPT)' option is the correct one, 2.2.2 instructions should be skipped.
2.2.1 UEFI (GPT) - Steps 2 & 3: These steps determine the space for SWAP partition. Here is a reference to estimate the appropriate SWAP partition based on the RAM of the laptop.
2.2.3 Formatting: toutes les étapes doivent être suivies. Thanks to this process, it is important to identify the name of your hard drive. La commande
lsblkrépertorie le nom du disque dur, y includes toutes les partitions.
2.3 Installing: all steps must be followed until step 4 which requires the “configuration.nix” file. This is a critical step because it defines the services and packages that will be available on the computer. For reference, I posted Nix configuration repository which was used.
- After the “configuration.nix” file is ready, a working internet connection is mandatory. Since step 2.1.1 didn't work, the only option left is a wired connection.
- Depending on the number of packages and the internet connection, the installation process can take between 15 and 20 minutes. At the end of the installation, you need to set the root password.
Finally, here are some observations you may want to be aware of:
- After restarting the computer, Wi-Fi may not work. If so, follow these steps:
- Enable Wi-Fi: ‘nmcli radio wifi on‘
- Connecting to a network: ‘sudo nmcli device wifi connect “SSID name” password “password”‘
- Although Blue tooth is enabled and working, and it is possible to easily pair a keyboard and mouse, it is not possible to connect audio devices such as Bluetooth headphones (nor with PulseAudio nor tube wire)
- If the external display does not work well, the refresh rate must be selected manually
What works very well:
The laptop is very light and compact, easy to carry around on the hands or on a backpack very comfortably.
The frame is made of aluminum. It feels strong and is beautifully designed.
The laptop is very easy to assemble and access the motherboard. It comes with a screwdriver so you have all the tools you need in the box.
The keyboard is definitely one of the highlights of this computer, very comfortable to type on for hours. An additional feature is the keyboard's backlight, perfect for working at night.
The available space for the trackpad is plenty to use it with multiple fingers. In addition, it has a great feel and is very responsive.
This depends entirely on the configuration you choose. In my case and based on my hardware specifications, the computer performs very well at various workload levels.
One of the most infamous features is the ability to switch expansion card. HDMI, DisplayPort, MicroSD, USB-A and USB-C expansion cards are suggested. 4 seats are available to choose any combination.
- fingerprint reader
It works flawlessly and it will save you time by avoiding entering the password every time.
In the latest versions, brightness and contrast are very satisfactory.
What doesn't work so well:
The sound quality is OK for watching videos and joining conference calls. However, the sound quality of the speakers is not the best, not really designed to enjoy listening to music or watching your favorite movie.
The webcam works OK with the 1080p resolution and 60fps but it's probably not the best option to take a picture with especially in low light conditions.
- Battery life
Depending on the brightness of the screen and the applications used, the battery life will run out. However, it is clear that battery life is not one of the strengths of this laptop as it can last for 4 to 5 hours before needing to be recharged. On the other hand, the battery can be easily replaced at a very reasonable price.
The computer can be noisy at times when the fans are running at full speed. It is recommended to always use it on a flat surface to allow air flow.
The screen quality has changed around January 2022. The brightness and contrast of previous screens can be greatly improved.
- Screen size
The 3:2 screen ratio with 2256 x 1504 resolution is ok but the size is too small for my taste, a 15″ inches is highly anticipated.
- Graphics card
There is no option to choose a different graphics card. If your requirements require the use of a more advanced graphics card for, say, Deep Learning training or video rendering, an external graphics card may be an option to overcome this challenge.
The Framework laptop is an excellent computer that provides performance, flexibility and lots of configuration options to the end user. It is an excellent working laptop that can satisfy the demands of a regular office computer to a high-performance machine for software developers. The shortcomings listed here can easily be dealt with by using an external monitor, headset or webcam as many do anyway. My main, if not only, feature request is the availability of a 15-inch laptop. Finally, I have been using this computer for 6 months and I am very happy with it, I highly recommend it!
#Framework #laptop #NixOS #user #feedback