Subject: Re: [bug#77352] [PATCH] home: services: define hyprland home service

From: Andrew Wong <[email-masked]>
Date: Sat, 29 Mar 2025 22:06:26 -0400

On 3/29/25 1:39p, Carmine Margiotta wrote:
> First of all, I apologize in advance for my mistakes, but this 
> workflow is completely new to me!

No worries! Everyone starts somewhere.

> This is a really interesting idea! I am not  very familiar with 
> Hyprland plugins - is there currently a declarative way to manage 
> them? The only method I know is using hyprctl.

I've been managing them declaratively by making `exec-once` calls to
`hyprctl plugin load`, so maybe the service could use those. Another 
possiblity is fabricating hyprpm's state.[1]

> This does not interact with session managers at all, it only 
> generates a configuration without starting the process itself. For 
> services that should run only while Hyprland is active, would this 
> require managing Hyprland itself via shepherd? (I am still new to 
> Guix, I might be mistaken here!)

That's what I was wondering myself. Maybe it's possible to modify or
wrap hyprland's .desktop entry to encapsulate the whole thing in a
service? Like a hyprland.desktop that actually starts a service that
runs the REAL hyprland.desktop session. That way you could construct
your DE out of services configured in guix itself.

> Could you recommend any additional linting tools that could help 
> verify style compliance more thoroughly? I will be more careful next 
> time, thank you!

Are you editing using emacs? If so, you can use display-fill-column-mode
to see the column limit. Otherwise, just skim through the style guide
linked by the manual. A motion I do often after some heavy editing is
typing C-M-u a few times to move a few scopes up, C-M-space to select
the while s-expression, and then C-M-q to re-indent the region.

  [1] https://wiki.hyprland.org/Plugins/Using-Plugins/#hyprpm