Skip to content

JaKooLit/NixOS-Hyprland

Repository files navigation

💌 ** KooL's ❄️ NixOS-Hyprland Install Script ** 💌

GitHub Repo stars GitHub last commit GitHub repo size



👇 KOOL's Hyprland-Dots related Links 👇

Sparkles KooL Hyprland-Dotfiles Showcase Sparkles

showoff-dots.mp4

Caution

This is not purely written in Nix-Language. You should check ZaneyOS. Link below

Important

The install scripts assumes a clean installation of NixOS or the understanding that it will replace any existing configuration It will not merge into an existing NixOS configuration. You can use the code from this respository to do so on your own

By default, all packages set to install are from NixOS stable channel. Note Hyprland to be installed will be of OLD version

  • 25 Feb 2025 - I am really tired of baby sitting Unstable Channel. NixOS unstable d Most UNSTABLE Distro I have tried. If you are new to NixOS, stay on stable channel. However, if you wish to use unstable channel, you need to adjust flake.nix , hosts/host/packages-fonts.nix, hosts/host/config.nix before running the install.sh

  • Make sure to read Hyprland's WIKI

🪧🪧🪧 Click for important announcements 🪧🪧🪧
  • ** This Repo does not contain Hyprland Dots or configs! **
  • ** Configs are NOT written in NIX language **
  • Hyprland Dotfiles will be downloaded from KooL's Hyprland-Dots
  • The Hyprland-Dots used are constantly evolving / improving
  • You can check CHANGELOGS here Hyprland-Dots-Changelogs
  • GTK Themes and Icons will be pulled from LINK, including Bibata Cursor Modern Ice
  • The wallpapers offered to be downloaded towards the end are from this REPO

> [!IMPORTANT] > Take note of the requirements >
👋 👋 👋 Requirements
  • You must be running on NixOS 23.11+
  • 24.11+ recommended
  • Minimum space required is 64gb. 128gb is recommended as NixOS is a space-hungry distro
  • Must have installed NIXOS using **GPT partition ** & Boot UEFI
  • /boot must be at least 512MB.
  • Systemd-boot is configured as the default bootloader

[!TIP] if you use GRUB as bootloader you need to edit hosts/default/config.nix before install and flake.nix for additional grub themes

🖥️ Multi Host & User Configuration
  • You can now define separate settings for different host machines and users!
  • Easily specify extra packages for your users in the users.nix file.
  • Easy to understand file structure and simple, but encompassing, configuration.
📦 How To Install Packages?
  • You can search the Nix Packages
  • Options pages for what a package may be named or if it has options available that take care of configuration hurdles you may face.
  • By default, all the packages are in NixOS-Hyprland
  • You can safely move directories hosts modules flake.lock & flake.nix in different single directory.
  • If you have a set a different custom hostname, you can safely remove the default directory inside hosts.
  • Then edit hosts/<your-hostname>/configs.nix , hosts/<your-hostname>/packages-fonts.nix and/or hosts/<your-hostname>/user.nix depending on what you want.
  • The config.nix file is for system packages with options. ie pro grams.hyprland.enable=true,
  • The packages-fonts.nix file is for adding packages and changes made to user.nix are only available to the current user.
  • Once you are finished editing, run sudo nixos-rebuild switch --flake <path-where-you-move those directories above>/#"${hostName}"

** NOTE. omit < > and ensure you are in the directory where your flake.nix is. - For example: If you make the hostname nixos then your command should be sudo nixos-rebuild switch --flake .#nixos

  • If you decided NOT to move the directories stated above, then you can rebuild with
sudo nixos-rebuild switch --flake ~/NixOS-Hyprland/#<hostName>
🙋 Having Issues / Questions?
  • Please feel free to raise an issue on the repo, please label a feature request with the title beginning with [feature request], thank you!
  • If you have a question about KooL's Hyprland dots, see KooL's Dots WIKI. Contained within the wiki is an FAQ, along with other pages for tips, keybinds, and more!

⬇️ Installation

📽 Youtube video for using this script

📜 1. Using auto install Script: <
  • This is the easiest and recommended way of starting out.
  • This script is NOT meant to allow you to change every option that you can in the flake.
  • It won't help you install extra packages.
  • It is simply here so you can get my configuration installed with as little chance of breakages.
  • It is up to you to fiddle with to your heart's content!
  • Simply copy this and run it:
nix-shell -p git vim curl pciutils
sh <(curl -L https://github.com/JaKooLit/NixOS-Hyprland/raw/main/auto-install.sh)

[!NOTE] pciutils is necessary to detect if you have an Nvidia card. </div?

🦽 2. Manual:
  • Run this command to ensure git, curl, vim & pciutils are installed: Note: or nano if you prefer nano for editing
nix-shell -p git vim curl pciutils
  • Clone this repo & CD into it:
git clone --depth 1 https://github.com/JaKooLit/NixOS-Hyprland.git ~/NixOS-Hyprland
cd ~/NixOS-Hyprland
  • You should stay in this directory for the rest of the install
  • Create the host directory for your machine(s)
cp -r hosts/default hosts/<your-desired-hostname>
  • Edit as required the config.nix , packages-fonts.nix and/or users.nix in hosts/<your-desired-hostname>/
  • then generate your hardware.nix with:
sudo nixos-generate-config --show-hardware-config > hosts/<your-desired-hostname>/hardware.nix
  • Run this to enable flakes and install the flake replacing hostname with whatever you put as the hostname:
NIX_CONFIG="experimental-features = nix-command flakes" 
sudo nixos-rebuild switch --flake .#hostname

Once done, you can install the GTK Themes and Hyprland-Dots. Links are above

👉🏻 3. Alternative
  • auto install by running ./install.sh after cloning and CD into NixOS-Hyprland

[!NOTE] install.sh is a stripped version of auto-install.sh as it will not re-download repo

  • Run this command to ensure git, curl, vim & pciutils are installed: Note: or nano if you prefer nano for editing
nix-shell -p git curl pciutils
  • Clone this repo into your home directory & CD into it:
git clone --depth 1 https://github.com/JaKooLit/NixOS-Hyprland.git ~/NixOS-Hyprland
cd ~/NixOS-Hyprland

Important

need to download in your home directory as some part of the installer are going back again to ~/NixOS-Hyprland

  • You should stay in this directory for the rest of the install
  • edit hosts/default/config.nix to your liking. Once you are satisfied, ran ./install.sh Now when you want to rebuild the configuration, you have access to an alias called flake-rebuild that will rebuild the flake!

Hope you enjoy! 🎉

💔 known issues 💔 - GTK themes, icons, and the cursor, are not applied automatically. gsettings does not seem to work. - You can set GTK themes, icons, and the cursor, using nwg-look

🪤 My NixOS configs

🎞️ AGS Overview DEMO

  • in case you wonder, here is a short demo of AGS overview Youtube LINK

⌨ Keybinds

Tip

KooL's Dots v2.3.7 has a searchable keybind function via rofi. (SUPER SHIFT K) or right click the HINTS waybar button

⌚ Setting timezone
  • By default, your timezone is configured automatically using the internet.
  • To set your timezone manually, edit host/<your-hostname>/config.nix

🫥 Improving performance for Older Nvidia Cards using driver 470

🔙 Reverting back to your default configs
  • If you use flakes, you can just simply locate your default or previous configs. CD into it and execute sudo nixos-rebuild switch --flake .#<your-previous-flake-hostname>
  • If you didn't have flakes enabled previously, simply running sudo nixos-rebuild switch will revert you to your default configs contained in /etc/nixos/
  • ⚠️ just remember to clean up your nix/store to remove unnessary garbage from your system sudo nix-collect-garbage -d
  • OR, simply just revert into a previous generation of your system by choosing which generation to boot via your bootloader.

📒 Final Notes

  • join my discord channel Discord
  • Feel free to copy, re-distribute, and use this script however you want. Would appreciate if you give me some loves by crediting my work :)
✍️ Contributing
  • As stated above, these script does not contain actual config files. These are only the installer of packages
  • If you want to contribute and/or test the Hyprland-Dotfiles (development branch), Hyprland-Dots-Development
  • Want to contribute on KooL-Hyprland-Dots Click HERE for a guide how to contribute
  • Want to contribute on This Installer? Click HERE for a guide how to contribute

👍👍👍 Thanks and Credits!

  • Hyprland Of course to Hyprland and @vaxerski for this awesome Dynamic Tiling Manager.
  • ZaneyOS - template including auto installation script and idea. ZaneyOS is a NixOS-Hyprland with home-manager. Written in pure nix language
💖 Support
  • a Star on my Github repos would be nice 🌟

  • Subscribe to my Youtube Channel YouTube

  • you can also give support through coffee's or btc 😊

ko-fi

or

"Buy Me A Coffee"

Or you can donate cryto on my btc wallet :)

1N3MeV2dsX6gQB42HXU6MF2hAix1mqjo8i

Bitcoin

📹 Youtube videos (Click to view and watch the playlist) 📹 [![Youtube Playlist Thumbnail](https://raw.githubusercontent.com/JaKooLit/screenshots/main/Youtube.png)](https://youtube.com/playlist?list=PLDtGd5Fw5_GjXCznR0BzCJJDIQSZJRbxx&si=iaNjLulFdsZ6AV-t)

🥰🥰 💖💖 👍👍👍 Stargazers over time