Search Suggest

How to Install JaKooLit Hyprland on NixOS (2026)

Install JaKooLit Hyprland dotfiles on NixOS: host config, flake.nix, hardware setup, and fixes the official docs don't fully explain.
Install JaKooLit Hyprland Dotfiles on NixOS

Want the dynamic beauty of JaKooLit's setup with the unbreakable stability of a declarative OS? Here is the complete guide to installing and configuring JaKooLit Hyprland dotfiles on NixOS for a tiling, reproducible Wayland experience.

This guide is part of the MusaBase Linux and Hyprland Series. For a complete overview, see Best Hyprland Dotfiles 2026: HyDE vs JaKooLit vs ML4W vs Caelestia (Tested).

Hi all, and welcome back to MusaBase!. I have been tinkering with NixOS for over a month, but I was having difficulty learning the curve because of the whole declarative ecosystem. But then I thought I should try and install JaKooLit Hyprland dotfiles. The reason I chose to do this is one: even though it's officially supported, the documentation is missing some pieces, and second, the best way to learn something is to do what others say is difficult. And in today's guide, I will show you exactly how you can install and run JaKooLit Hyprland dotfiles on your NixOS system.

In this guide, we will cover how to:

  1. Prepare the NixOS system for JaKooLit Hyprland.
  2. Clone the JaKooLit dotfiles repository.
  3. Create our own host config.
  4. Edit flake.nix to match Host.
  5. Generate Nix's hardware config.
  6. Stage with git.
  7. Enable flakes and build.
  8. Install icons and GTK themes on NixOS for JaKooLit aesthetics.
  9. And finally, install the JaKooLit Hyprland dotfiles on NixOS and log into it.

By following this guide to the end, you will have fully functional JaKooLit Hyprland dotfiles on your NixOS system.

JaKooLit Hyprland dotfiles on NixOS up and running

⚡ TL;DR: Install JaKooLit Hyprland Dotfiles on NixOS

A quick reference for installing and configuring JaKooLit Hyprland dotfiles on a base NixOS system, including host config, flake.nix setup, building, GTK themes, and the interactive installer.

  1. Enter nix-shell and install temporary dependencies:
    nix-shell -p git curl pciutils
    (Stay inside this shell until Step 5 completes.)
  2. Clone the JaKooLit NixOS-Hyprland repo and enter it:
    git clone --depth 1 https://github.com/LinuxBeginnings/NixOS-Hyprland.git ~/NixOS-Hyprland
    cd ~/NixOS-Hyprland
    If you get "Could not resolve host" errors, add custom nameservers in /etc/nixos/configuration.nix and rebuild.
  3. Create your host config:
    cp -r hosts/default hosts/musabase  # replace musabase with your hostname
    (Optional) Edit config.nix, packages-fonts.nix, or users.nix as needed.
  4. Edit flake.nix to match your host and username:
    nano flake.nix
    Replace "jak-hl" and "dwilliams" with your actual hostname and username (e.g., "musabase").
  5. Generate hardware config:
    sudo nixos-generate-config --show-hardware-config > hosts/musabase/hardware.nix
    (Replace musabase with your hostname.)
  6. Stage, enable flakes, and build:
    git add -A
    NIX_CONFIG="experimental-features = nix-command flakes"
    sudo nixos-rebuild switch --flake .#musabase  # replace musabase with your hostname
    This downloads ~23GB of files (quickshell + dependencies) and takes 30-40+ minutes.
  7. Install GTK themes and icons:
    git clone --depth 1 https://github.com/LinuxBeginnings/GTK-themes-icons.git
    cd GTK-themes-icons
    chmod +x auto-extract.sh
    bash auto-extract.sh
    cd ..
    rm -rf GTK-themes-icons
  8. Install JaKooLit Hyprland dotfiles:
    git clone --depth 1 https://github.com/LinuxBeginnings/Hyprland-Dots ~/Hyprland-Dots
    cd ~/Hyprland-Dots
    chmod +x copy.sh
    bash copy.sh
    If you get "git: no such command", add git permanently in /etc/nixos/configuration.nix and rebuild.
  9. Follow the interactive installer prompts:
    • Select 1Install - Fresh copy
    • Confirm keyboard layout, default editor, monitor scaling, clock format, etc.
    • Choose whether to download additional wallpapers (~1GB).
  10. Reboot and log in:
    reboot
    Enter your password at the JaKooLit login screen and enjoy your new Hyprland desktop!

💡 The build process (Step 6) is the longest part – it downloads ~23GB and compiles packages on the spot. Plan for 25‑40+ minutes depending on your hardware. Keep your NixOS root partition at 60GB+ to avoid running out of space. After installation, you can still boot into your original desktop environment from the GRUB menu.





Prerequisites

To install JaKooLit Hyprland dotfiles, we only need a base NixOS system installed. I'm installing it on my NixOS with Budgie as its desktop environment. If you don't have NixOS installed, I would recommend you first follow my guide:

Install NixOS with Budgie or any desktop environment you want, then come back to this guide and continue. Make sure to give your root partition more than 60 GB of space, because some of the dependencies that are needed to run JaKooLit Hyprland dotfiles on NixOS consume a large amount of storage space.

System Requirement for JaKooLit Hyprland on NixOS:

  • Processor: Any x86-64 compatible
  • RAM: Minimum 8GB (but more RAM is better)
  • Storage: Minimum 55GB (it's only for NixOS system files and JaKooLit files); you will need more storage space for additional packages and files
  • GPU: Any 2015+ GPU
  • OS: Minimal/base NixOS
  • Stable internet connection


Step 1: Prepare NixOS for JaKooLit Hyprland Dotfiles

In this step, we will temporarily install required dependencies like git, curl, pciutils in the nix-shell and download the JaKooLit Hyprland NixOS base repo to set everything up.

1.1: Install Required Dependencies

  • Open terminal and run:
    nix-shell -p git curl pciutils

1.2: Clone Nix's System Layered JaKooLit Hyprland Dotfiles Repo

  • In the terminal, run these commands consecutively:
    git clone --depth 1 https://github.com/LinuxBeginnings/NixOS-Hyprland.git ~/NixOS-Hyprland
    cd ~/NixOS-Hyprland
    Cloning and cd into JaKooLit NixOS-Hyprland repo on NixOS

Fix "Could not resolve host" Error

If you hit any errors like Could not resolve hostname (X) Could not resolve host or 1 dependency failed while downloading packages or repos from GitHub, this usually happens because of the default nameserver provided by your ISP, which blocks your access to certain packages or GitHub altogether. This issue could only be related to my region; it could be different for you. Anyway, I fixed it by doing the following steps:

  1. Open terminal and run:
    sudo nano /etc/nixos/configuration.nix
  2. In configuration.nix, add these lines:
    networking.nameservers = [
       "1.1.1.1"
       "8.8.8.8."
    ];
    networking.networkmanager.dns = "none";
  3. After adding the nameservers, press CTRL + O to save the file, then press ENTER to apply the changes, then press CTRL + X to exit the file.
  4. Next, to actually apply the changes to the NixOS system, run:
    sudo nixos-rebuild switch


Step 2: Create Host Config

In this step, we will create our own host config file that flake.nix will use to build packages and dependencies in the next steps.

  • In the terminal, run:
    cp -r hosts/default hosts/musabase #replace musabase with your hostname
    Creating host config for JaKooLit to build

(Optional) Edit Additional Files

JaKooLit Hyprland dotfiles for NixOS gives us control over three customizable files to edit options according to what we prefer:

  • config.nix: This file contains system-wide settings and Hyprland itself, and other settings such as:
    • Bootloader choice (systemd-boot or GRUB)
    • Timezone
    • Networking
    • And other system-wide settings
  • packages-fonts.nix: This file is only for managing extra packages or font list.
  • users.nix: This file contains the NixOS user account definition, users.users.<name> = { isNormalUser = true; extraGroups = [ "wheel" "networkmanager" ... ]; ... };. This file determines which user or group has sudo privileges.

For my system, I'm leaving these files as they are and continuing.



Step 3: Edit flake.nix to Match Host

In this step, we will edit the flake.nix file to change the host and username values to our own.

  1. In the terminal, run:
    nano flake.nix
  2. In the flake.nix file, find these lines:
    host = "jak-hl";
    username = "dwilliams";
  3. Replace the "jak-hl" and "dwilliams" with your actual host and username, like for me, these are:
    host = "musabase";
    username = "musabase";
  4. After editing, press CTRL + O to save the changes, then press ENTER to apply the changes, then press CTRL + X to exit the file.


Step 4: Generate Hardware Config

In this step, we will generate NixOS hardware config and save it inside hosts/musabase.

  • In the terminal, run:
    sudo nixos-generate-config --show-hardware-config > hosts/musabase/hardware.nix #replace musabase with your hostname
    Generating Nix's Hardware Config for JaKooLit Hyprland Dotfiles


Step 5: Stage with Git, Enable Flakes, Build and Install Themes, Icons

In this step, all the core components such as quickshell and GTK themes and icons of installing JaKooLit Hyprland dotfiles on NixOS will take place. Make sure to follow each step closely.

5.1: Stage with Git and Enable Flakes and Build

  1. In the terminal, run the following commands consecutively:
    git add -A
    NIX_CONFIG="experimental-features = nix-command flakes"
    sudo nixos-rebuild switch --flake .#musabase #replace musabase with your hostname
    Staging with Git and Enabling Flakes and Building JaKooLit Hyprland dotfiles on NixOS
  2. After running the nixos-rebuild command, the system will start downloading dependencies, tools, and packages that are defined in the JaKooLit Hyprland NixOS-Hyprland files.
  3. It will also install quickshell, which is the core component for JaKooLit Hyprland, though it will download 23GB+ of files solely for quickshell, which roughly took more than 30 minutes on my PC.
  4. It will also build and compile the dependencies that need compiling on the spot; the whole process can take 25 to 40+ minutes.
  5. After the installation and extravaganza are done, the terminal will close automatically, so don't panic.

5.2: Install GTK Themes and Icons

  • Open terminal, run the following commands consecutively:
    git clone --depth 1 https://github.com/LinuxBeginnings/GTK-themes-icons.git
    cd GTK-themes-icons
    chmod +x auto-extract.sh
    bash auto-extract.sh
    cd ..
    rm -rf GTK-themes-icons


Step 6: Install JaKooLit Hyprland Dotfiles on NixOS

In this step, we will install the actual JaKooLit Hyprland dotfiles on the NixOS system and reboot to log back into JaKooLit Hyprland.

  1. Open terminal and run these commands consecutively:
    git clone --depth 1 https://github.com/LinuxBeginnings/Hyprland-Dots ~/Hyprland-Dots
    cd ~/Hyprland-Dots
    Cloning JaKooLit Hyprland Dotfiles and Install Script on NixOS
  2. Next, make the copy.sh script executable, which is the actual install script for JaKooLit Hyprland dotfiles on NixOS, and run it using Bash:
    chmod +x copy.sh
    bash copy.sh
    Making the JaKooLit Hyprland installer script executable and running it on NixOS
  3. After running the bash command, the JaKooLit Hyprland installer CLI interface will load with the options shown in the image below. Type the index number for the option that says Install - Fresh copy (currently option number 1) and press ENTER. JaKooLit Hyprland Dotfiles Installer CLI on NixOS
  4. After running the workflow and checking hardware and system information, the JaKooLit Hyprland installer will prompt for your keyboard layout, which it will pick from your NixOS system's default. If it's correct, type y and press ENTER. If not, enter your layout name and press ENTER.
  5. Next, the JaKooLit installer for NixOS will prompt you to make neovim the default editor. It's your preference; type y or n and press ENTER. I'm choosing to make neovim my default editor.
  6. Next, the JaKooLit installer for NixOS will prompt you to choose an Optional GUI editor for Quick Settings. Here, type the editor name you want (e.g., neovide, geany, codium) and press ENTER. I'm leaving this option empty and skipping to the next one.
  7. Next, the JaKooLit installer for NixOS will prompt you to select your monitor resolution for scaling, with these options:
    1. Less then 1440p (lower DPI; smaller displays)
    2. Greater then or equal to 1440p (default; 1440p/2k/4k)
    I have a 1080p monitor, so I'm choosing option 1. You should type your desired option and press ENTER.
  8. Next, the JaKooLit installer for NixOS will prompt: Do you want to change to a 12H (AM/PM) clock format? (y/n):. Type y or n according to your preference and press ENTER. I'm choosing the 12H format for my PC.
  9. Next, if kitty was installed during the building and installing packages section, the JaKooLit Hyprland installer for NixOS will prompt: Do you want to replace kitty config?. Type y and press ENTER to continue.
  10. Next, the JaKooLit Hyprland installer for NixOS will prompt: Use Fahrenheit (F) or Celsius (C)? [C]:. Type the format preference you want for your JaKooLit Hyprland NixOS system and press ENTER. I'm choosing C.
  11. Last but not least, the JaKooLit Hyprland dotfiles installer for NixOS will prompt: Would you like to download additional wallpaper? [WARN] This is 1GB in size (y/n):. If you want to download the additional wallpapers, type y and press ENTER. I'm downloading the additional wallpapers for my system.
  12. After downloading the wallpapers, the JaKooLit installer will symlink and apply the settings and configs for the dotfiles. The process will complete with the message: [ OK ] GREAT! KooL's Hyprland-Dots is now Loaded & Ready !!! JaKooLit Hyprland Dotfiles successfully installed on NixOS
  13. Next, reboot the PC with:
    reboot


Step 7: Log into JaKooLit Hyprland Dotfiles on NixOS

After the system reboots, we can see that the boot loader and loading splash screen are themed as an indicator that JaKooLit Hyprland dotfiles configs are applied correctly. In a few seconds, the JaKooLit login screen will appear:

JaKooLit Hyprland Login Screen on NixOS
  • Enter your password to login.

And we are in!



Frequently Asked Questions

What are the system requirements for JaKooLit Hyprland on NixOS?

You need a base NixOS installation with at least 8GB RAM, 55GB storage (60GB+ recommended), an x86-64 processor, and a 2015+ GPU. A stable internet connection is also required since the installation downloads over 23GB of dependencies.

Why do I need to run commands inside nix-shell?

The nix-shell environment temporarily installs packages like git, curl, and pciutils without permanently modifying your system. This keeps your base NixOS clean while allowing you to clone repositories and run the necessary build commands. However, the terminal session will close after the build completes, removing those temporary packages, which is why we later install git permanently.

Why do I get "Could not resolve host" errors during installation?

This usually happens because your ISP's default nameserver blocks access to GitHub or certain package repositories. The fix is to add custom nameservers like 1.1.1.1 and 8.8.8.8 in your /etc/nixos/configuration.nix file and set networking.networkmanager.dns = "none", then rebuild with sudo nixos-rebuild switch.

Why does the build process download 23GB+ of files and take so long?

The JaKooLit Hyprland dotfiles for NixOS install quickshell, which is a core component that bundles many dependencies including Qt libraries. The build also compiles packages on the spot, which can take 25 to 40+ minutes depending on your hardware. This is normal—the process ensures everything is optimized for your specific system.

What should I do if I get "git: no such command" when cloning the dotfiles?

This happens because git was installed temporarily inside nix-shell, and when that terminal session closed, git was removed. To fix it, permanently add git to your environment.systemPackages in /etc/nixos/configuration.nix, then run sudo nixos-rebuild switch to install it system-wide.

How do I set the correct hostname and username in flake.nix?

Edit the flake.nix file and replace the placeholder values "jak-hl" and "dwilliams" with your actual system hostname and username. For example, if your hostname is musabase and username is also musabase, set both to that. This ensures the build correctly finds your hosts/musabase/ folder.

Can I use JaKooLit Hyprland on NixOS with a different desktop environment?

Yes. The guide assumes you have a base NixOS installation with any desktop environment (like Budgie, GNOME, KDE, etc.). The JaKooLit Hyprland dotfiles will replace the desktop environment with Hyprland as a tiling Wayland compositor. Your existing DE will still be available in the boot menu if you want to switch back.

What is the purpose of generating the hardware config?

The nixos-generate-config --show-hardware-config command detects your system's hardware (CPU, GPU, storage, etc.) and generates a Nix configuration file (hardware.nix) that tells NixOS how to properly interact with your hardware. This file is essential for a successful build.

How can I verify that JaKooLit Hyprland is installed correctly?

After rebooting, you'll see a themed boot loader and splash screen. The JaKooLit login screen will appear. Enter your password, and you should see the Hyprland desktop with the JaKooLit configuration applied. The successful installation message "[ OK ] GREAT! KooL's Hyprland-Dots is now Loaded & Ready !!!" also confirms it.

Can I use this guide on other Linux distributions?

This guide is specifically written for NixOS due to its declarative configuration and flakes system. While JaKooLit Hyprland dotfiles can be installed on other distributions, the steps (especially using nix-shell, flake.nix, and nixos-rebuild) are NixOS-specific and won't work on Arch, Ubuntu, or other distros without significant modification.



🚀 JaKooLit Hyprland on NixOS: Fully Set Up!

You now have JaKooLit's retro‑inspired Hyprland environment running on a declarative NixOS base, blending the nostalgia of early computing with the rock‑solid reproducibility of Nix flakes. Between the themed bootloader, the curated GTK aesthetics, and the tiling Wayland workflow, your NixOS desktop is genuinely complete.

Explore More Hyprland Setups on Arch Linux

🐧 JaKooLit on Arch (Flatpak & Flathub): Prefer a traditional Arch base with Flatpak support and SDDM retro theming? Check outHow to Install JaKooLit Hyprland on Arch Linux.

🎨 HyDE: 70+ Themes: Want a polished, theme‑switching Hyprland experience with one‑keybind variety? ReadHyDE Dotfiles on Arch Linux.

🧑‍💻 ML4W: Beginner‑Friendly GUI: Looking for the most approachable Hyprland setup with a built‑in settings app? SeeHow to Install ML4W Hyprland Dotfiles on Arch.

End 4: AI‑Powered & Futuristic: Crave cutting‑edge AGS widgets, anime aesthetics, and Gemini/Ollama integration? Dive intoEnd 4 Dotfiles on Arch Linux.

🌌 Caelestia: Minimal & Focused: Prefer a calm, distraction‑free workspace with a dedicated CLI installer? ExploreCaelestia Dotfiles on Hyprland.

🛠️ Support & Troubleshooting: Hit a snag this guide didn't cover? Drop a comment below and I'll help you sort it out.

If this completed your NixOS Hyprland journey, stick around, MusaBase has plenty more Linux, BSD, and virtualization guides where this came from.
101 out, I'll see you in the next one! 🚀

Hello World

Post a Comment