Skip to content

To Automate Installation of Hyprland on NixOS using flakes. NOTE: Dot configs are not written in Nix.

Notifications You must be signed in to change notification settings

JaKooLit/NixOS-Hyprland

Repository files navigation


πŸ’Œ ** JaKooLit'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

Show.Case.mp4

Caution

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

Note

The Hyprland that is installed will be from the development branch, otherwise known as -git version

πŸͺ§πŸͺ§πŸͺ§ ANNOUNCEMENT πŸͺ§πŸͺ§πŸͺ§

  • This Repo does not contain Hyprland Dots or configs! Configs are NOT written in Nix. 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.
  • Minimum space required is 40gb. 60gb is recommended as NixOS is a space-hungry distro
  • Must have installed NIXOS using GPT & UEFI. Systemd-boot is configured as the default bootloader, for GRUB users, you need to edit hosts/default/config.nix before installing
  • Manually edit your host specific files. The host is the specific computer you're installing onto.

πŸ–₯️ 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.
  • Then edit hosts/<your-hostname>/config.nix and/or hosts/<your-hostname>/user.nix . Config.nix is for system-wide changes / system packages, while changes made to user.nix are only available to the user(s).
  • Once you are finished editing, run sudo nixos-rebuild switch --flake .#<your-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)

πŸ™‹ 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!

⬇️ Installations

πŸ“½ 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 or help you install extra packages. It is simply here so you can get my configuration installed with as little chance of breakages and then 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.

🦽 2. Manual:

Click here πŸ‘‰πŸ» Manual Installation
  • 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 folder for the rest of the install
  • Create the host folder for your machine(s)
cp -r hosts/default hosts/<your-desired-hostname>
  • Edit as required the config.nix in hosts/<your-desired-hostname>/
  • Generate your hardware.nix like so:
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 folder as some part of the installer are going back again to ~/NixOS-Hyprland

  • You should stay in this folder 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

⌨ 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

πŸ«₯ 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, this script does not contain actual config files. The only objective of this repository is to get my configuration working with as few issues as possible.
  • If you want to contribute and/or test the Hyprland-Dotfiles (development branch), Hyprland-Dots-Development

πŸ‘πŸ‘πŸ‘ 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 buy me Coffee Through ko-fi.com or Coffee.com 🀩

Buy Me a Coffee at ko-fi.com

"Buy Me A Coffee"

πŸ“Ή Youtube videos (Click to view and watch the playlist) πŸ“Ή

Youtube Playlist Thumbnail

πŸ₯°πŸ₯° πŸ’–πŸ’– πŸ‘πŸ‘πŸ‘

Stargazers over time