DistroWatch Weekly, Issue 712, 15 May 2017

Feature Story (by Ivan Sanders)

NixOS 17.03 "Gorilla" Have you heard of NixOS? If not, it may be time to pay attention. NixOS is an independently developed distro from the Netherlands. If you have heard of NixOS you already know - this distro is different. And it is a good type of different. It is slick, compartmentalized, and very forgiving (unlike some distros). It is lightweight out of the box, and it gives you the ability to configure everything and anything just the way you want. Let's take a deeper look.



Installing NixOS



Installing NixOS is not too difficult. The installation media from their website is 791MB. When you boot it up it offers you a live environment. This live environment is initially presented through a command line interface (tty), but it prompts you to start the display and gives you directions.



NixOS automatically boots into KDE Plasma 5. It is a very nice live environment, clean, and there are no bugs out of the box. Presented in the live environment on the desktop are GParted and the NixOS manual, pre-downloaded for you. The manual gives you directions on how to install the distro. It is pretty easy to follow, with one exception. The manual does not tell you until much later on that you need to mount your EFI partition to /mnt/boot (for me that was accomplish with "mount /dev/sda2 /mnt/boot"). It does explain this in the UEFI portion of the manual, but that is right after the installation portion. Consider reading the UEFI portion before you conduct the installation process.





NixOS 17.03 -- Running the KDE Plasma desktop

(full image size: 552kB, resolution: 1920x1080 pixels)



There is currently no installation GUI. This is fine, but I think it will turn off some newer users. I did not have any problems getting NixOS to install after the small EFI mounting issue. Just follow the manual and there should be no problems.



Most of the NixOS review could actually revolve around this installation portion. The most fascinating piece of NixOS is the configuration file for this installation, known as configuration.nix. The user puts all of the settings and specific needs for their system in this file. You can pre-pick packages, what drivers you want to use, desktop environment, display manager, network management options, boot loader, time zone, display server, users, touchpad options, etc. You can take this configuration and basically deploy the same NixOS system on any computer easily. It is very customizable and very useful.





NixOS 17.03 -- Installing the system using the Nix configuration file

(full image size: 894kB, resolution: 1920x1080 pixels)



Using NixOS



Installing packages (or building them, however you want to see it) is done with the nix-env command. A very interesting thing about using this command is that it allows the user to have packages installed, but they are not installed throughout the system. If you enable the packages in the configuration.nix file, they are usable by any user. If you install the packages using sudo nix-env, they will be available to all users too. But if you're just a little lonely user and you want to use Chromium in place of Firefox, you can install it without sudo, using nix-env without elevated privileges, and it will be yours. No other users will have access to Chromium and you can just have it all to yourself.



This being said: if another user also wants to use Chromium, she has to install it too. This leads to having, essentially, multiple versions of the same program on a hard drive, and could be seen as a waste of space. But I like it. I don't think that with modern hard drive capacities there is as much of a problem.





NixOS 17.03 -- Running desktop applications

(full image size: 843kB, resolution: 1920x1080 pixels)



The NixOS website says: " Nix builds packages in isolation from each other. This ensures that they are reproducible and don't have undeclared dependencies, so if a package works on one machine, it will also work on another. " This compartmentalization is beautiful and it works well. I was a little nervous going into this distro, but I had no issues with their high level of separation.



Most things I tried in NixOS just worked. Netflix, Amazon Video, my favorite games on Steam, LibreOffice, etc. There were some problems with installing GNOME extensions, but the work around is to find the extension's zip file and install it with the GNOME Tweak Tool. I think that this is a good contender for a daily Linux distro.



The default desktop environment is Plasma and SDDM is the default display manager, but that doesn't have to be the case because it is easy to switch software in the configuration.nix file. So your first build can have whatever you want. I installed using these presets, but I prefer GNOME and LightDM. After first boot I changed those parameters in the configuration.nix file and, voila, I had my preferred setup. All it takes is a quick rebuild of the system using nixos-rebuild and my system was recreated. Let's add something else, say, NVIDIA drivers to the Nix configuration file. Again, run nixos-rebuild and voila! But wait…



Assume the system rebuild broke during the rebuild. Well this is the third version of my system. On the boot manager (I'm currently using systemd because it is the default) you have the option of NixOS Generation 1, 2, or now 3. (I'm currently on NixOS Generation 20, that's how much I have enjoyed playing with the configuration file.) If your system breaks, you can go back to the second build you did from the boot menu and load that snapshot. It is that easy. And from there you can fix whatever problems you were having in your configuration file. This allows for some fun and easy ways to play with a system without worrying about breaking it. Not all distros are created equally, and this is a huge bonus. You don't have to worry that you broke it when you can easily go back. Essentially, you have an unlimited number of versions of the same distro at your fingertips.



Let's take a look at the networking portion of the configuration.nix file (here is mine): networking.hostName = "nixos"; # Define your hostname.

# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.

networking.networkmanager.enable = true;

You can see that my hostname is "nixos". Also, I have disabled the default, wpa_supplicant, using the hash (#) symbol, but the user can also remove the line altogether if they are looking for a cleaner configuration.nix file. I prefer to use Network Manager and have enabled it in the third line. Now let's look at creating a user in the configuration.nix file (ivan is my account name in this example). # Define a user account. Don't forget to set a password with ‘passwd'.

users.extraUsers.ivan = {

isNormalUser = true;

home = "/home/ivan";

description = "ivan";

extraGroups = [ "wheel" "networkmanager" ];

uid = 1000;

}; In this example I created the user ivan. I set his home directory as /home/ivan and assigned him to the groups wheel and networkmanager. Placing ivan in the wheel group enables the user to use sudo and perform administrator tasks, so ensure you do this if you intend to give the user sudo access. Also, ensure each user identification number (UID) is different. Upon first boot you will need to use the root account to login. Simply use the command passwd ivan to change the password of the user and then you can login with that username.



Issues



I think that the biggest issue with NixOS is the complete disregard for the standard file system hierarchy. I don't mind it, because I find the file system hierarchy standard confusing at times, but it is an issue for some users. It is also an issue when building a package from its source code, but there is a way to make source builds into .nix packages to use with the Nix package manager, so that's not really an issue either.



There are a lot of Nix features in NixOS. It is very well developed and highly complex. Obviously some very smart people have designed this distro, and it is all well above my head. This makes some things about NixOS seem way too complicated for me, some may describe this as too abstract (because it is misunderstood).



Community



NixOS is not a huge distro right now (but it is growing fast), so there is not as much information available on-line as there may be for Ubuntu or Fedora. That being said, I must give a huge thank you to the community around NixOS. Their IRC group and the issue page on GitHub were both incredible. They are a very friendly group of users and developers, and that is saying a lot when you look at some of the other, perhaps more mainstream, distros. They don't use a forum but their GitHub Issues page is outstanding. They are fast to give support and they don't talk down to you. I think their user base will be growing a lot in the coming years if they keep that type of attitude.



Conclusion



NixOS is a viable daily distro for average users who are willing to put a small amount of work into it. Since it is a little strange, knowledge about NixOS may not translate well to other distros. NixOS is very lightweight and usable. I think that it is probably a very good distro for a more advanced user. Like I said, I was able to do everything I wanted on NixOS (except get my NVIDIA drivers working, but I think that's my fault). The Nix package manager is also available for most other distros, so if you want to use the Nix package manager and all the Nix glory associated with it (like isolation of packages) you can. I probably won't keep NixOS on my machine, but I think I will start using the Nix package manager on whatever distro I settle on for this week. * * * * * Hardware used for this review: ASUS GL551VW-DS71

Intel Core i7-6700HQ Mobile Processor (4x 2.6GHz/6MB L3 Cache)

256GB SanDisk X400 SSD - Read: 540MB/s, Write: 340MB/s

Integrated Intel HD Graphics 530

NVIDIA GeForce GTX 960M - 4GB

16GB [8GB x 2] 2133MHz DDR4 SO-DIMM Laptop Memory

RAM used at boot: 367MB (Plasma) and 535MB (GNOME). * * * * * Visitor supplied rating



NixOS has a visitor supplied average rating of: 8.5/10 from 35 review(s).

Have you used NixOS? You can leave your own review of the project on our ratings page.





Miscellaneous News (by Jesse Smith)

Canonical eyes going public, Haiku launches Summer of Code projects, Solus improves Bluetooth support Last month we shared news that Canonical, the company behind the Ubuntu distribution, was ceasing development of its Unity desktop environment and Ubuntu Touch mobile operating system. Part of the reason for Canonical dropping these desktop and mobile technologies was maintaining them was expensive and a drain on the company's resources. Also, according to a recent ZDNet article, Canonical may be transitioning from a private company to a publicly traded company. Canonical's founder, Mark Shuttleworth, has expressed an interest in focusing on the cloud and server technologies which make Canonical money in order to make the organization more appealing to potential investors. The article shares some quotes from Shuttleworth discussing taking Canonical public: " This move also means Canonical will devote more of its time to 'putting the company on the path to an IPO. We must figure out what steps we need to take moving forward.' That means focusing on Canonical's most profitable lines. Specifically, 'Ubuntu will never die. Ubuntu is the default platform on cloud computing. Juju, MaaS, and OpenStack are nearly unstoppable. We need to work out more of our IoT path. At the same time, we had to cut out those parts that couldn't meet investors' needs. The immediate work is to get all parts of the company profitable.' " * * * * * The Haiku project, which continues on the legacy of the classic BeOS platform, has had several Summer of Code students join the development team. The new Haiku developers have a number of interesting projects planned, including 3-D hardware acceleration support and the ability to write data to Btrfs volumes. Another promising sub-project aims to add a calendar application to Haiku. A full list of the Haiku Summer of Code projects can be found on the Haiku blog. * * * * * The Solus project develops an independent desktop distribution and the Budgie desktop environment. According to the latest Solus newsletter, the developers are polishing features and fixing bugs. The newsletter mentions new fixes for Google on-line account integration, a revamped website for Solus and a more natural organization of the distribution's Help Centre. The newsletter also mentions fixes for Bluetooth support: " Thanks to our Patrons and donors on PayPal for their continued support of the project, Ikey was able to sponsor my purchase of some Bluetooth speakers, specifically the Creative T3250 wireless speakers and an Asus USB-BT400 Bluetooth USB adapter. This was done as we had received reports of non-functionality Bluetooth A2DP audio on some systems and needed hardware to test and validate solutions in a more rapid fashion than what have may otherwise been possible through conversing and testing via IRC. The issue was a result of GDM starting its own instance of PulseAudio, something I addressed in our GDM 3.20.1 rel 22. Furthermore, I did enablement of bluez, namely enabling a stateless config and shipping our vendor-provided configuration with AutoEnable set to true, so Bluetooth controllers are automatically enabled. " These and other updates to the Solus distribution can be found in the project's newsletter. * * * * * These and other news stories can be found on our Headlines page.





Hardware Review (by Jesse Smith)

The Alpha Litebook Despite desktop Linux becoming more popular over the years and the GNU/Linux family of operating systems gaining more mainstream support from software and hardware creators, there still are not a lot of big name hardware companies selling Linux computers. Even those which do, such as Dell, tend to tuck their Linux options into a back corner, shinning the spotlight on their computers that ship with Windows pre-installed.



This has left the Linux hardware market relatively open for smaller players. Many smaller shops have appeared over the years, specializing in selling computers with Linux pre-installed. One of the most recent arrivals in the Linux market is the Alpha Litebook. The Litebook, which was launched in early 2017, is a $249-$269 USD notebook computer which ships with elementary OS. elementary is based on Ubuntu and the distribution uses the Pantheon desktop environment by default.



Happy with the price-to-specifications ratio featured by the Litebook and curious to see how the device would perform, I ordered one of the laptops at the start of March. This review of the Alpha Litebook will consist of four sections: acquiring the Litebook and dealing with Alpha's customer support; the hardware of the Litebook; my thoughts on elementary OS as a default distribution; and the process of installing another Linux distribution on the Litebook.



Acquiring a Litebook



My adventure with the Litebook started off simply enough. I went to the company's website, selected the Litebook, opted to purchase the model with two disks (one model has a traditional spinning disk while the other has a hard drive and an SSD for improved performance). I paid and I waited. As (bad) luck would have it, I was late to the Litebook party and the company was dealing with a backlog of orders. Regular e-mail notifications let me know new orders were coming in from Hong Kong, then the order was put together, the Litebook tested and my device shipped. This process took about two weeks from my placing the order to the time when my Litebook left Alpha. Sadly, packages cross the American/Canadian border slowly these days and it was another four weeks before my Litebook arrived in the mail. Unfortunately, customs agents or a mail carrier or just bad luck had not been kind to the Litebook model I received and the display was badly damaged. The device would boot, but I was able to make out virtually nothing on the streaked and lined screen.



I got in touch with the company's customer support and, after exploring some options to make sure the screen itself was damaged and this wasn't a configuration or loose wiring problem, the company sent me a replacement device via FedEx and offered to pay return shipping on the original, damaged unit. The new unit arrived almost exactly two months after I placed the original order and I got to work exploring the device.





elementary OS 0.4 -- The About screen

(full image size: 1.4MB, resolution: 1920x1080 pixels)



There were a few small differences between the first package I received and the second. The first package I received had an all white notebook computer, power cord and adapter, a device driver CD (odd for a computer with no optical drive), a warranty card and a manual written in Chinese. The manual, judging by the pictures, covered identifying the hardware parts and how to access the laptop's BIOS screen. The second package contained just the Litebook and its power cord with no optical disc or documentation. The latter device had black lettering on its lid while the former was plain white.



Hardware



The Litebook is, as its name implies, unusually lightweight (about 1kg), weighing roughly half of what my HP laptop weighs, though their sizes are similar. The Litebook's case is white plastic and it features a compact keyboard (without number pad). The keys are raised fairly high, giving an above average amount of travel when typing. Most of the time this was not a big issue, but I noticed the spacebar was unusually stiff. I spent a lot of time correcting space-related typos this week. The trackpad features two physical mouse buttons. The screen is 14.1 inches and has a resolution of 1920x1080 pixels. Down the left size of the unit we find an Ethernet port, two USB 3.0 ports, a micro HDMI port, a micro SD card slot, a headphone jack port and a place to plug in the power adapter. The device has a 720p webcam and can play audio without the aid of external speakers.



Internally, the Litebook features a quad core CPU. The company's website claims the CPU has a maximum speed of 1.6GHz (and this is reflected in the elementary OS About screen), but Linux's lscpu utility reports the CPU has an upper speed of 2.1GHz. Another point where the website and Linux differ is battery life. The Litebook website claims the device should have a battery life of approximately 9 hours. During my trial with the unit, my battery life estimates ranged from about 5 to 5.5 hours, depending on what I was doing. The Litebook features 4GB of RAM and a 512GB hard drive. My model also contained a 25GB SSD for the operating system.



I feel it worth mentioning the Litebook is almost perfectly silent. The drive and cooling are very quiet and usually cannot be heard from just a foot or two away. However, the far-travel keys and stiff keyboard mean the silence is broken whenever the user types and the click of the keys can be heard across my modest sized house.



elementary OS



The first time I powered on the Litebook the system brought up a configuration wizard which got me to select my preferred language from a list, connect to a wi-fi network and select my time zone from a map of the world. I was also asked to choose my keyboard's layout from a list and then select a username and password for myself. We are then brought to a graphical login screen where we can sign in as the user we just created or we can sign into a guest account. The guest account has no password and is wiped clean after each use.



The elementary distribution uses Pantheon as the default desktop environment. Pantheon borrows a bit from classic desktop environments and a bit from mobile interfaces. The application menu displays a grid of application icons. Instead of showing us a notification message when software updates are available, a red dot appears next to the software manager in the application menu. Pantheon places its main panel at the top of the screen and there is a quick launch bar at the bottom of the display.





elementary OS 0.4 -- Browsing the software manager

(full image size: 589kB, resolution: 1920x1080 pixels)



The layout of the Pantheon desktop has a certain appeal to it, especially if you like the layout of the Android or iOS interfaces. I think the developers have struck a nice balance, finding a sweet spot between the classic desktop model and mobile layouts. However, I found Pantheon to be buggy. The software centre tended to lock up and components would sometimes crash or become unresponsive. I also found fonts to be unusually small. The Litebook has a 1920-pixel wide screen and the default font size is just 9pt. I found it much more comfortable to raise the font size to about 12pt.



However, I ran into more serious issues than the occasional desktop glitch. Right away I noticed that, despite Network Manager telling me I was connected over wi-fi, I was unable to get on-line. I rebooted the Litebook and, after I had signed into my account again, I had an active connection to the Internet. There were a few software updates waiting for me and I installed these. When I rebooted the laptop to test the new updates, my system could no longer connect over the wireless network. The system was unable to even detect its wireless card.





elementary OS 0.4 -- Wireless card detected but not working prior to software update

(full image size: 933kB, resolution: 1920x1080 pixels)



As it turned out, this is a well known issue on the Litebook forums, updating the kernel kills the wireless interface and, from what I've read, the touchpad may cease to work too. There are workarounds on the forums. These basically involve downloading Debian packages (one for the touchpad and one for the wireless card) to another computer and transferring them to the Litebook and installing them. The Litebook is one of the few laptops I have encountered in the past decade with a wireless card incompatible with the mainline Linux kernel and I am puzzled what led the Alpha team to go with a Realtek card when there are plenty of others which work well with Linux.





elementary OS 0.4 -- After software update, wireless card no longer detected

(full image size: 1.4MB, resolution: 1920x1080 pixels)



Suspend and resume work with elementary OS, as do the web cam, audio and USB ports. The Pantheon desktop is responsive and the Litebook boots quickly. I was pleased to note the function keys for adjusting screen brightness, audio volume and enabling sleep mode all worked in elementary OS. The wireless network issue was my only hardware concern while running elementary.



Earlier I mentioned the Litebook has two hard drives, one 25GB SSD card and a spinning disk which is about 512GB. What I found odd about the way elementary is set up is the operating system, swap and /home directory are all placed on the SSD. This means, by default, our user has access to less than 18GB of storage space (25GB - 4GB of swap - 3GB for the OS). The spinning 512GB disk has an NTFS partition that is unused. We can format the second drive and move our home directory to this second disk, but it seems odd the larger disk was not used at all in the default configuration.



Alternative distributions



In my mind, one of the more important issues when purchasing a Linux laptop is knowing whether the device will work with other distributions. Does the unit only work with its default distribution due to some secret sauce, or can I install any distribution I want?



The Litebook mostly falls into the former camp. I tried installing Ubuntu 16.04.2 (the distribution the default version of elementary OS is based on) as well as the slightly more conservative Linux Mint Debian Edition 2. The results were virtually identical. Both LMDE and Ubuntu could boot and their interfaces were responsive. Audio worked and both distributions were stable. However, neither Ubuntu nor LMDE could work with the Litebook's touchpad or wireless card without the extra drivers I mentioned before being installed. This meant to install either distribution, I needed a spare USB thumb drive containing the drivers and an external USB mouse. I'd use the mouse for the initial installation and then add the necessary drivers so I could unplug the mouse and connect to the Internet over my wireless network.



Another problem I faced was when I tried to install these alternative distributions I found out the GPT partition table on the SSD drive was corrupted. In addition, the disk reported one sector size, while the Linux kernel reported another. This meant partitioning tools like GParted regularly showed me errors and refused to cleanly write new GPT partitions. To install an alternative operating system, I had to wipe the SSD and replace its GPT partition table.



Under the alternative distributions, suspend would work, but resume did not. In other words putting the machine to sleep was the same as a hard reset. The function keys for working with screen brightness and volume did not work. LMDE did not play well with the Litebook's video card which caused the Cinnamon desktop to crash each time I logged in.



In short, getting alternative operating systems to run on the Litebook is an uphill battle and requires installing third-party drivers. It may also require wiping and reformatting the disk. Even then, additional tweaking is required to get suspend/resume working properly.



Conclusions



The main reason I divided my experience into four parts is I have some good things to say about the Litebook, but I also ran into several frustrations from the time I placed the order to the time I got my device to run an alternative distribution. And some of these frustrations were just poor luck. The Alpha team cannot help how long it takes packages to cross the border or which ones will be damaged during shipment. What is important is how customer support dealt with the issues, which was to apologize and courier a replacement unit to me. Likewise, the Alpha team is not responsible if I want to try installing alternative distributions on my equipment. While it would have been nice had they shipped with components which worked better across distributions, I cannot blame them for not supporting whatever software I decide to throw at the Litebook.





elementary OS 0.4 -- The Pantheon settings panel

(full image size: 1.5MB, resolution: 1920x1080 pixels)



For the most part I want to focus on the Litebook's hardware and how it works with elementary OS. On the positive side of things the Litebook has a decent battery life (around 5.5 hours when I'm writing and browsing the web, nearly 5 when listening to music). The machine is silent and has a suitable selection of ports and equipment (such as a web cam). Apart from the kernel upgrade disabling my wireless card, elementary OS works well with the Litebook's hardware. The wireless issue was annoying and I hope future Litebooks ship with a workaround in place to ensure wireless networking survives a software upgrade.



On the whole I'm not a fan of the keyboard. This is a personal preference issue rather than a technical one. I don't mind a little extra travel in the keys, but I find them a bit stiff and noisy compared to my other devices.



I like that the Litebook has two drives. Having a fast SSD for quicker boot times and application launching feels great. The Litebook loads programs much faster than my HP laptop with its spinning disk. However, the default set up does not use the Litebook's larger 512GB spinning disk at all. This seems like strange decision and I hope the Litebook team uses this second disk for the /home partition in future releases.



On the whole, the Litebook is inexpensive, quiet and (with some caveats) works well with elementary OS. Though I do feel this laptop is specifically an elementary OS laptop, rather than a general purpose Linux laptop, based on my experience thus far. This is a pretty good devices for people who want a low-spec, low-cost laptop that runs elementary. However, I would not recommend it for distro hoppers.





Released Last Week

Torrent Corner

Upcoming Releases and Announcements

Opinion Poll

Future computer purchases with Linux pre-installed



This week we talked about the Alpha Litebook one of the many available options for people who wish to purchase a computer with Linux pre-installed. In this poll we would like to find out how many of our readers plan to purchase their next computer with a Linux distribution pre-installed on the hardware.



You can see the results of our previous poll on disk fragmentation last week's edition. All previous poll results can be found in our poll archives.



Future computer purchases with Linux pre-installed



My next computer will have Linux pre-installed: 544 (27%) My next computer will not have Linux pre-installed: 782 (39%) Unsure: 655 (33%)

DistroWatch.com News