Did you know that you can navigate the posts by swiping left and right?

Installing NixOS (UEFI)

01 Apr 2015 . category: . Comments
#nixos #haskell #install nixos

NixOS has been a really good adventure. I have to say that it was not that hard as I thought it would be. It is not really easy to install, but it seems before it was harder. This tutorial pretends to detail my experience installing NixOS.

1. Download NixOS (Graphical installation LiveCD if you want to do things fast)


2. Copy NixOS to a CD or USB.

3. Restart your computer and load from your CD/DVD(blue-ray) drive or from your USB stick.

4. You will see a menu. Select the UEFI option. After that NixOS will have load without in a text-based mode. You need to follow the instructions.

login: root

The password is nothing, so it means you just press enter. After that type

start display-manager

KDE desktop environment will load.

5. Open GParted. Remember that with UEFI you can have more than 4 primary partitions (I’ve heard you can have even 100 partitions). Now you need these partitions: an EXT4 parition (let’s imagine it is /dev/sda10) and a FAT32 partition (with EF00 code) if you don’t have already one (let’s imagine it is located at /dev/sda2). You can alternatively create a SWAP partition. 

6. Remember we are following the case of /dev/sda10 as our target partition to install NixOS. 

Open the konsole

mkfs.ext4 -L nixos /dev/sda10
mount /dev/sda10 /mnt
mount /dev/sda /mnt/boot
nixos-generate-config –root /mnt

7. What I like of NixOS is that you can say NixOS what to do from a text file. You are free of installing a desktop environment or not. Now we are going to tell NixOS to install KDE and enbale the X server. We want a graphical environment.

nano /etc/nixos/configuration.nix

I’m not a KDE fan, but I always prefer to have the desktop environment which the distribution supports better. I do not know if this is true, but NixOS Live CD has KDE4 as the default desktop, so it makes me think that it would be better to install KDE. You may want to install Firefox, Chromium or Haskell, too. So we will add these lines:

environment.systemPackages = [
 # KDE
    pkgs.kde4.kdemultimedia pkgs.kde4.kdegraphics
    pkgs.kde4.applications pkgs.kde4.kdegames pkgs.kde4.kdeedu pkgs.kde4.kdebindings
    pkgs.kde4.kdeaccessibility pkgs.kde4.kde_baseapps pkgs.kde4.kactivities
    pkgs.kde4.kdeadmin pkgs.kde4.kdeartwork pkgs.kde4.kde_base_artwork
    pkgs.kde4.kdenetwork pkgs.kde4.kdepim pkgs.kde4.kdepimlibs pkgs.kde4.kdeplasma_addons
    pkgs.kde4.kdesdk pkgs.kde4.kdetoys pkgs.kde4.kde_wallpapers pkgs.kde4.kdewebdev
    pkgs.kde4.oxygen_icons pkgs.kde4.kdebase_workspace pkgs.kde4.kdelibs
    pkgs.kde4.kdevelop pkgs.kde4.kdevplatform
 # Web-Browsers
    pkgs.firefoxWrapper pkgs.chromium
 # Haskell
    pkgs.haskellPackages.ghc pkgs.haskellPackages.cabalInstall

As you can see these packages are added to this sort of list. If you don’t want to install something here just don’t add this item to the list. 

To add graphical support you also will need to uncomment these lines:

 # Enable the X11 windowing system.
 services.xserver.enable = true;
 services.xserver.layout = “us”;
 services.xserver.xkbOptions = “eurosign:e”;
 services.xserver.displayManager.kdm.enable = true;
 services.xserver.desktopManager.kde4.enable = true;
 # Enable the KDE Desktop Environment.

You also may want to have connection to Internet. So you will uncomment this lines

 # networking.hostName = “nixos”; # Define your hostname.
 networking.hostId = “15a17672”;
 networking.wireless.enable = true;  # Enables wireless.

8. Install NixOS


You did it!


9. Now create a new user

useradd -c “Your Name” -m your_user_name
passwd your_user_name

10. In order to connect to Internet via wi-fi you need to follow these instructions listed in the following link


That’s all, folks!


Fabián Orccón is an awesome person. He lives in Perú, the land of the Incas.