File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11{
22 config ,
3+ lib ,
34 pkgs ,
45 pkgs-latest ,
56 pkgs-stable ,
1213 hyprland ,
1314 ...
1415} :
16+ let
17+ cfgGnomeWayland = config . modules . desktop . gnome-wayland ;
18+ in
1519{
1620 home . packages =
1721 (
180184 ] ) ;
181185
182186 services = {
183- kdeconnect . enable = true ;
184- kdeconnect . indicator = true ;
185- # kdeconnect.package = pkgs.kdePackages.kdeconnect-kde;
187+ kdeconnect = lib . mkIf ( ! cfgGnomeWayland . enable ) {
188+ enable = true ;
189+ indicator = true ;
190+ # kdeconnect.package = pkgs.kdePackages.kdeconnect-kde;
191+ } ;
186192 } ;
187193}
Original file line number Diff line number Diff line change 11{
22 pkgs ,
33 lib ,
4+ config ,
45 nur-ryan4yin ,
56 ...
67} :
1314 gsconnect
1415 kimpanel
1516 clipboard-indicator
17+
18+ # dconf-editor
19+ pkgs . dconf-editor
1620 ] ;
1721 dconf = {
1822 enable = true ;
121125 binding = "<Ctrl><Shift>Escape" ;
122126 } ;
123127 } ;
128+ # https://github.com/jz8132543/flakes/blob/3225d8f726da9a8980a7becc949f3f634927f926/home-manager/modules/desktop/gnome.nix#L293-L321
129+ # NOTE: make sure dumpped gsconnect.dconf is persistent if you are using tmpfs as root
130+ systemd . user . services . gsconnect-dconf = {
131+ Unit = {
132+ Description = "gsconnect-dconf" ;
133+ Wants = [ "graphical-session.target" ] ;
134+ After = [ "graphical-session.target" ] ;
135+ } ;
136+ Install = {
137+ WantedBy = [ "graphical-session.target" ] ;
138+ } ;
139+ Service = {
140+ Type = "simple" ;
141+ ExecStart = toString (
142+ pkgs . writeScript "gsconnect-dconf-start" ''
143+ #! ${ pkgs . runtimeShell } -el
144+ ${ pkgs . dconf } /bin/dconf load /org/gnome/shell/extensions/gsconnect/ < ${ config . home . homeDirectory } /.config/gsconnect/gsconnect.dconf || true
145+ ''
146+ ) ;
147+ ExecStop = toString (
148+ pkgs . writeScript "gsconnect-dconf-stop" ''
149+ #! ${ pkgs . runtimeShell } -el
150+ ${ pkgs . dconf } /bin/dconf dump /org/gnome/shell/extensions/gsconnect/ > ${ config . home . homeDirectory } /.config/gsconnect/gsconnect.dconf
151+ ''
152+ ) ;
153+ Restart = "on-failure" ;
154+ RestartSec = 1 ;
155+ TimeoutStopSec = 10 ;
156+ RemainAfterExit = "yes" ;
157+ } ;
158+ } ;
124159}
Original file line number Diff line number Diff line change 402402 ".cache/clipboard-indicator@tudmotu.com"
403403
404404 # persist paired device data for gsconnect
405- ".cache/gsconnect"
405+ # cert and key
406+ ".config/gsconnect"
406407
407408 # nix-index
408409 ".cache/nix-index"
You can’t perform that action at this time.
0 commit comments