Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Discussion & Documentation Documentation, Tips & Tricks
  • Search

Hyprland - Quickshell based dotfiles howto

Unofficial documentation for various parts of Gentoo Linux. Note: This is not a support forum.
Post Reply
Advanced search
15 posts • Page 1 of 1
Author
Message
CooSee
Veteran
Veteran
User avatar
Posts: 1617
Joined: Sat Nov 20, 2004 10:38 pm
Location: right here !

Hyprland - Quickshell based dotfiles howto

  • Quote

Post by CooSee » Sat Sep 20, 2025 11:04 pm

greetings, programs !

i tried some quickshell based dotfiles for a while now - my favorite is Noctalia Shell - almost everyday updates.

the following is an example - this will work with almost every quickshell based dotfiles !

emerge gui-wm/hyprland via hyproverlay <<< https://wiki.gentoo.org/wiki/Hyprland#Emerge and https://github.com/noctalia-dev/noctalia-qs << look at last post << using *.9999 live version is maybe a better approach.

i use stable with some live ebuilds, without Xwayland - works great for me.

look at https://docs.noctalia.dev >>> Installation >>> Dependencies Explained - or use the *.ebuild from GURU overlay https://gpo.zugaina.org/gui-apps/noctalia-shell <<< thx, to the creator.

i'll stay with manual method, because it's easier to update or go back without waiting for the release - i always make a copy of the noctalia folder before using git pull as user!

go to https://gpo.zugaina.org - here, you can find all needed ebuilds >>> read https://wiki.gentoo.org/wiki/Ebuild_rep ... positories <<< to not mess up portage.

or create a local overlay >> https://wiki.gentoo.org/wiki/Creating_a ... repository - copy and use only needed ebuilds from multiple overlays.

create a new user via - useradd -m -G users,wheel,audio,video,input,portage,seat,plugdev -s /bin/bash your_user_name >>> create a password via passwd your_user_name

login with your new created user on TTY >> create quickshell folder via mkdir quickshell inside .config folder >> cd into quickshell folder and sync via git clone -b main https://github.com/noctalia-dev/noctalia-shell.git noctalia-shell

using git is the best practice - makes updates of the dotfiles easier, e.g. via git pull inside noctalia-shell folder - works even while running the shell, but logging out or restart is definitely better option after git pull update.

also create a hypr folder inside .config, e.g. mkdir hypr and copy my hyprland.conf to it http://0x0.st/KvBI.conf <<< this is just an example - change the hyprland.conf to your liking - read https://wiki.hypr.land for other additional options.

restart your device - login and enjoy quickshell/hyprland - open Settings and configure it to your liking.

" thanks to outfoxxed https://git.outfoxxed.me/quickshell/quickshell - creator of quickshell

noctalia-dev https://github.com/noctalia-dev - creator of Noctalia Shell

and https://hypr.land - creator of Hyprland and all contributors."

8)

EDIT: my current OpenRC @world list of USE flags for comparison - http://0x0.st/Po_t.2026.txt (01.05.2026)

EDIT1: thanks to timasoft - a little tool for all those who's not familiar with some settings or difficulties understanding it clearly (<<< no offence) - it'll be sourced via hyprland.conf.

save it under /var/db/repos/name_of_your_local_overlay/gui-apps/hyprviz-9999.ebuild - need edit of /etc/portage/package.accept_keywords/hyprviz << gui-apps/hyprviz << NOT hyprland-0.52.* compatible atm.

Code: Select all

# Copyright 2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

# Autogenerated by pycargoebuild 0.15.0

EAPI=8

inherit cargo

DESCRIPTION="GUI for configuring Hyprland!"
HOMEPAGE="https://github.com/timasoft/hyprviz"

inherit git-r3

        EGIT_REPO_URI="https://github.com/timasoft/hyprviz.git"

src_unpack() {
    git-r3_src_unpack
    cargo_live_src_unpack
}

LICENSE="GPL-2"
# Dependent crate licenses
LICENSE+="
        Apache-2.0 Apache-2.0-with-LLVM-exceptions GPL-2 ISC MIT MPL-2.0
        Unicode-3.0
"
SLOT="0"
KEYWORDS="~amd64"
copy https://github.com/timasoft/hyprviz/blo ... iz.desktop to /usr/share/applications
--
EDIT2: using OpenRC without X in make.conf - but, some ebuilds are in need of X anyway, e.g.

eix --installed-with-use --only-names X

Code: Select all

dev-cpp/cairomm
dev-python/pycairo
dev-qt/qtbase
gui-apps/quickshell
media-libs/libepoxy
media-libs/libglvnd
media-libs/mesa
virtual/opengl
x11-libs/cairo
x11-libs/gtk+
x11-libs/libxkbcommon
x11-libs/pango
EDIT3: ddcutil and brightnessctl are NOT needed to emerge.

EDIT4: hyprland.conf >>> Version 0.53.x only https://0x0.st/Po_W.conf
Last edited by CooSee on Sun Mar 01, 2026 7:51 pm, edited 5 times in total.
" Die Realität ist eine Illusion, die durch Mangel an ehrlicher Kommunikation entsteht "
---
" Der Mensch ist von Natur aus neugierig, was am Ende übrig bleibt ist die Gier "
Top
fedeliallalinea
Administrator
Administrator
User avatar
Posts: 31985
Joined: Sat Mar 08, 2003 11:15 pm
Location: here
Contact:
Contact fedeliallalinea
Website

  • Quote

Post by fedeliallalinea » Wed Jan 14, 2026 1:44 pm

I tried Noctalia Shell (with hyprland) and I have to say that for my use it seems optimal.
The only problem I have is that I can’t make the workspaces appear in the bar (with waybar everything works).
Did you have this problem too? Do you know what I could check?
If I start noctalia in debug mode the only message related to the widget workspace is the following:

Code: Select all

 DEBUG qml: [20260114-143735] BarWidgetLoade Loading widget Workspace on screen: HDMI-A-1
 DEBUG qml: [20260114-143735]     BarService Registered widget: HDMI-A-1|center|Workspace|
and I don’t notice any errors.
Questions are guaranteed in life; Answers aren't.

"Those who would give up essential liberty to purchase a little temporary safety,
deserve neither liberty nor safety."
- Ben Franklin
https://www.news.admin.ch/it/nsb?id=103968
Top
CooSee
Veteran
Veteran
User avatar
Posts: 1617
Joined: Sat Nov 20, 2004 10:38 pm
Location: right here !

  • Quote

Post by CooSee » Mon Jan 19, 2026 4:40 pm

my apologies for the late response.

no problems here - using *-9999 versions, noctalia (<< git clone as user), quickshell and all hyprland stuff.

please ask the creator - they'll know immediately, i assume.

good luck.

8)

EDIT: i even finished a clean CLANG/LLVM install on a separate disk yesterday, using the same quickshell/hyprland setup/config files as described, without any kind of issues.
" Die Realität ist eine Illusion, die durch Mangel an ehrlicher Kommunikation entsteht "
---
" Der Mensch ist von Natur aus neugierig, was am Ende übrig bleibt ist die Gier "
Top
CooSee
Veteran
Veteran
User avatar
Posts: 1617
Joined: Sat Nov 20, 2004 10:38 pm
Location: right here !

  • Quote

Post by CooSee » Thu Feb 19, 2026 10:44 pm

i switched to LLVM/Clang (no-multilib) permanently, because everything is working great, combined with Noctalia and Hyprland.

using my own binary packages from test LLVM/Clang profile install helped a lot of course, thanks to all Gentoo Developers.

no hickups or failed emerges <<< except sys-boot/grub >>> using patch from https://github.com/StormBytePP/StormByt ... ry.Patches,

which was removed from above mentioned Repo, but it's here too >>> https://bugs.gentoo.org/965424

only 793 Packages entirely - enough for me.

make.conf - nothing special https://0x0.st/PukN.conf and @world list https://0x0.st/PQTX.2026.txt

8)
Last edited by CooSee on Wed Feb 25, 2026 2:14 pm, edited 3 times in total.
" Die Realität ist eine Illusion, die durch Mangel an ehrlicher Kommunikation entsteht "
---
" Der Mensch ist von Natur aus neugierig, was am Ende übrig bleibt ist die Gier "
Top
flexibeast
l33t
l33t
Posts: 682
Joined: Mon Apr 04, 2022 4:15 am
Location: Naarm/Melbourne, Australia
Contact:
Contact flexibeast
Website

  • Quote

Post by flexibeast » Fri Feb 20, 2026 1:39 am

CooSee,

You might like to consider putting this info on the wiki, as a perhaps more accessible location for it, e.g. via:
  • additions to the "Hyprland" page, or e.g. a new "Noctalia" page which can be linked from the "Hyprland" page; and/or
  • a page in a personal space on the wiki - cf. e.g. pietinger's pages.
That might reduce the likelihood of your work disappearing into the depths of the forums. :)

(If you don't already have an account on the wiki, here's the "CreateAccount" page.)
https://wiki.gentoo.org/wiki/User:Flexibeast
My most recent wiki contributions
Top
sicr0
Apprentice
Apprentice
Posts: 194
Joined: Wed Mar 23, 2022 12:09 pm

  • Quote

Post by sicr0 » Mon Feb 23, 2026 2:29 pm

Hey fedeliallalinea,

Did you end up finding a solution for the Hyprland workspaces problem?
I am facing the same issue
Top
fedeliallalinea
Administrator
Administrator
User avatar
Posts: 31985
Joined: Sat Mar 08, 2003 11:15 pm
Location: here
Contact:
Contact fedeliallalinea
Website

  • Quote

Post by fedeliallalinea » Tue Feb 24, 2026 7:30 am

sicr0 wrote:Hey fedeliallalinea,

Did you end up finding a solution for the Hyprland workspaces problem?
Unfortunately, no.
I’m trying to debug the code but I don’t have much time and I’m basically at 0 with qml knowledge.
It would be helpful to have the output of the hyprctl workspaces command for both a system that works and one that has the problem.
Questions are guaranteed in life; Answers aren't.

"Those who would give up essential liberty to purchase a little temporary safety,
deserve neither liberty nor safety."
- Ben Franklin
https://www.news.admin.ch/it/nsb?id=103968
Top
CooSee
Veteran
Veteran
User avatar
Posts: 1617
Joined: Sat Nov 20, 2004 10:38 pm
Location: right here !

  • Quote

Post by CooSee » Wed Feb 25, 2026 1:04 pm

You might like to consider putting this info on the wiki, as a perhaps more accessible location for it, e.g. via:
will consider it of course if i got the time.
It would be helpful to have the output of the hyprctl workspaces command for both a system that works and one that has the problem.
hyprctl workspaces

Code: Select all

workspace ID 1 (1) on monitor HDMI-A-1:
	monitorID: 0
	windows: 1
	hasfullscreen: 0
	lastwindow: 0x6284cefa7780
	lastwindowtitle: noctees@genlees ~
	ispersistent: 0

workspace ID 2 (2) on monitor HDMI-A-2:
	monitorID: 1
	windows: 1
	hasfullscreen: 1
	lastwindow: 0x6284cdd41970
	lastwindowtitle: HBO Max - Chromium
	ispersistent: 0

workspace ID 3 (3) on monitor HDMI-A-1:
	monitorID: 0
	windows: 1
	hasfullscreen: 0
	lastwindow: 0x6284ceff5f70
	lastwindowtitle: Gentoo Forums :: Post a reply — Mozilla Firefox
	ispersistent: 0
my apologies for not being supportive !

do you have Workspace category in panel settings ?

need more Infos about your config.

will create an additional gentoo install on a separate disk just for this purpose, to help you better.

as mentioned before, i use git clone setup regarding Noctalia - i'am not sure if this is a noctalia-*.ebuild install issue.

8)
" Die Realität ist eine Illusion, die durch Mangel an ehrlicher Kommunikation entsteht "
---
" Der Mensch ist von Natur aus neugierig, was am Ende übrig bleibt ist die Gier "
Top
fedeliallalinea
Administrator
Administrator
User avatar
Posts: 31985
Joined: Sat Mar 08, 2003 11:15 pm
Location: here
Contact:
Contact fedeliallalinea
Website

  • Quote

Post by fedeliallalinea » Wed Feb 25, 2026 2:26 pm

CooSee wrote:my apologies for not being supportive !
You don’t have to apologize, you made me discover noctalia! :D
CooSee wrote:do you have Workspace category in panel settings ?

need more Infos about your config.

will create an additional gentoo install on a separate disk just for this purpose, to help you better.

as mentioned before, i use git clone setup regarding Noctalia - i'am not sure if this is a noctalia-*.ebuild install issue.

8)
sicr0 wrote:Did you end up finding a solution for the Hyprland workspaces problem?
Looking at the source code, I realized that it only works if I activate the 'Follow focused screen’ option in the 'Worspace Settings'.
Like CooSee, I also use the git version of noctalia where I do a checkout to the latest release.
Questions are guaranteed in life; Answers aren't.

"Those who would give up essential liberty to purchase a little temporary safety,
deserve neither liberty nor safety."
- Ben Franklin
https://www.news.admin.ch/it/nsb?id=103968
Top
CooSee
Veteran
Veteran
User avatar
Posts: 1617
Joined: Sat Nov 20, 2004 10:38 pm
Location: right here !

  • Quote

Post by CooSee » Wed Feb 25, 2026 7:47 pm

You don’t have to apologize, you made me discover noctalia!
thank you - now my nightmares are over :D

yes, it's fun to discover some settings of the code.
I also use the git version of noctalia where I do a checkout to the latest release.
are you using via *-9999.ebuild ? >> emerge -va @smart-live-rebuild ?

if even so, you can try out current via noctalia-shell folder in users ~/.config/quickshell/noctalia-shell and start it via:

Code: Select all

qs -c ~/.config/quickshell/noctalia-shell/shell.qml
or and

Code: Select all

qs -vv -c ~/.config/quickshell/noctalia-shell/shell.qml
debug output.

from your hyprland.conf.
---

Code: Select all

2026-02-25 19:53:43.727  INFO: Launching config: "/home/noctees/.config/quickshell/noctalia-shell/shell.qml"
above showing a snippet from my quickshell log.

sometimes, quickshell or hyprland needs a real restart, because of big changes or if some categories have changed in noctalia Code.

i only git pull to current, if there's a bug !

i hope i didn't confuse you.

8)
" Die Realität ist eine Illusion, die durch Mangel an ehrlicher Kommunikation entsteht "
---
" Der Mensch ist von Natur aus neugierig, was am Ende übrig bleibt ist die Gier "
Top
sicr0
Apprentice
Apprentice
Posts: 194
Joined: Wed Mar 23, 2022 12:09 pm

  • Quote

Post by sicr0 » Fri Feb 27, 2026 6:40 pm

Yes, I confirm. Activating "Follow focused screen" shows the number in workspace number in the bar.

What I did realize is that the audio part isn't working: https://imgur.com/a/2ARw3dc

The volume commands don't work, and the devices are shown as blanks. It could be because I use Pipewire/Wireplumber instead of Pulseaudio.

The only relevant thing I found in the output are these lines:

Code: Select all

  WARN scene: @Services/Media/AudioService.qml[17:3]: Unable to assign null to qs::service::pipewire::PwNodeIface*
  WARN scene: @Services/Media/AudioService.qml[102:3]: Unable to assign null to qs::service::pipewire::PwNodeIface*
Am I the only one with this configuration and issue?
Top
flexibeast
l33t
l33t
Posts: 682
Joined: Mon Apr 04, 2022 4:15 am
Location: Naarm/Melbourne, Australia
Contact:
Contact flexibeast
Website

  • Quote

Post by flexibeast » Sat Feb 28, 2026 3:11 am

sicr0 wrote:The volume commands don't work, and the devices are shown as blanks. It could be because I use Pipewire/Wireplumber instead of Pulseaudio.
Are you running an instance of PipeWire that uses pipewire-pulse.conf to act as a Pulse server, in addition to the main PipeWire instance (which has its own API)? Are you using OpenRC or systemd?
https://wiki.gentoo.org/wiki/User:Flexibeast
My most recent wiki contributions
Top
CooSee
Veteran
Veteran
User avatar
Posts: 1617
Joined: Sat Nov 20, 2004 10:38 pm
Location: right here !

  • Quote

Post by CooSee » Sat Feb 28, 2026 8:27 pm

Heads up !

Release Notes https://github.com/noctalia-dev/noctalia-shell/releases v4.6.0 >>> Action Required: Migrate to noctalia-qs >>> https://github.com/noctalia-dev/noctalia-qs <<< modified Quickshell fork.

8)

EDIT: just tried live-ebuild by changing to noctalia-qs REPO_URI etc. - NO GUARANTEE!

save it under /var/db/repos/name_of_your_local_overlay/gui-apps/noctalia-qs/noctalia-qs-9999.ebuild or noctalia-qs-0.0.4.ebuild https://bpa.st/raw/DEVQ

EDIT1: after using noctalia-qs for couple of hours, i can confirm that everythings working great in combination with current hyprland.
" Die Realität ist eine Illusion, die durch Mangel an ehrlicher Kommunikation entsteht "
---
" Der Mensch ist von Natur aus neugierig, was am Ende übrig bleibt ist die Gier "
Top
sicr0
Apprentice
Apprentice
Posts: 194
Joined: Wed Mar 23, 2022 12:09 pm

  • Quote

Post by sicr0 » Mon Mar 02, 2026 4:17 am

Are you running an instance of PipeWire that uses pipewire-pulse.conf to act as a Pulse server, in addition to the main PipeWire instance (which has its own API)? Are you using OpenRC or systemd?
I am on OpenRC and using Pipewire as a Pulse server

Code: Select all

❯ ps aux | grep pipewire-pulse
sicro       4983  0.1  0.2 452556 60036 tty1     SLl+ Mar01   0:22 /usr/bin/pipewire -c pipewire-pulse.conf
❯ pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 1717
Tile Size: 65472
User Name: sicro
Host Name: localhost
Server Name: PulseAudio (on PipeWire 1.6.0)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: bluez_output.70:5A:6F:6B:4F:F9
Default Source: bluez_output.70:5A:6F:6B:4F:F9.monitor
Cookie: cdbd:c0d5
(Previously I was using Pipewire with ALSA, but it gave me a ton of problems with Firefox and OBS)

UPDATE: neverming, updating to the latest Noctalia fixed it. Sorry for the inconvenience
Top
fedeliallalinea
Administrator
Administrator
User avatar
Posts: 31985
Joined: Sat Mar 08, 2003 11:15 pm
Location: here
Contact:
Contact fedeliallalinea
Website

  • Quote

Post by fedeliallalinea » Mon Mar 02, 2026 10:52 am

CooSee wrote:Heads up !

Release Notes https://github.com/noctalia-dev/noctalia-shell/releases v4.6.0 >>> Action Required: Migrate to noctalia-qs >>> https://github.com/noctalia-dev/noctalia-qs <<< modified Quickshell fork.
Thanks for the information.

The noctalia-qs ebuild is present in guru overlay.
Questions are guaranteed in life; Answers aren't.

"Those who would give up essential liberty to purchase a little temporary safety,
deserve neither liberty nor safety."
- Ben Franklin
https://www.news.admin.ch/it/nsb?id=103968
Top
Post Reply

15 posts • Page 1 of 1

Return to “Documentation, Tips & Tricks”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic