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

Note

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

Note

hyprland to be installed will be from development branch or known as -git version

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

  • This Repo does not contain Hyprland Dots or configs! Nor Configs are NOT written in Nix. Hyprland Dotfiles will be downloaded from KooL's Hyprland-Dots .

  • Hyprland-Dots use 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 wallpaper 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 is 40gb. 60gb recommended as NixOS is a space hungry distro
  • Must have installed using GPT & UEFI. Systemd-boot is configured as default bootloader, for GRUB users, you need to edit hosts/default/config.nix
  • Manually edit your host specific files. The host is the specific computer your installing on.

πŸ–₯️ 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, configuratiion.

πŸ“¦ 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 system-wide changes / packages and user.nix is only available to that user.
  • Once you edit, ran sudo nixos-rebuild switch --flake .#<your-hostname> NOTE. omit < > and ensure you are in directory where your flake.nix is.

πŸ™‹ 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 . In that wiki are some tips, keybinds, some collective FAQ etc.

⬇️ 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 chances of breakages and then fiddle to your hearts 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 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 and Icons including cursor not applied automatically. gsettings does not seem to work
  • You can set the GTK Themes, icons and cursor using nwg-look

πŸͺ€ My NixOS configs

πŸ«₯ 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 dont have flakes enabled previous, simply running sudo nixos-rebuild switch will revert you to your default configs from /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 your previous snapshot of your system by choosing which snapshot to boot via your bootloaders.

πŸ“’ 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

πŸ‘πŸ‘πŸ‘ 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