-
-
Notifications
You must be signed in to change notification settings - Fork 14k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Lomiri shell package, modules & tests: init #292872
Conversation
c833afb
to
2853fa2
Compare
FYI #291913 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Already looking pretty solid
nixos/modules/programs/lomiri.nix
Outdated
hardware.opengl.enable = lib.mkDefault true; | ||
fonts.enableDefaultPackages = lib.mkDefault true; | ||
programs.dconf.enable = lib.mkDefault true; | ||
programs.xwayland.enable = lib.mkDefault true; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think those should become part of a shared module between xserver and wayland envs. After splitting out xserver this is on my todo
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree, will keep them copy-pasted here until then.
d8cabf5
to
17b5133
Compare
@ofborg build nixosTests.morph-browser nixosTests.lomiri |
17b5133
to
4a5ae00
Compare
c7a9358
to
efdd774
Compare
Hoping this is ready now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Didn't try myself but LGTM
}; | ||
}; | ||
|
||
config = lib.mkIf (ldmcfg.enable && cfg.enable) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note to self: I think this module is highly likely to be missing some stuff in case services.xserver.displayManager.lightdm.greeters.lomiri.enable && (!services.desktopManager.lomiri.enable)
, basically requiring some code duplication (since the shell is also the greeter).
IMO that's prolly not worth blocking this on? I'm fine with a DE-specific DM being abit broken when not using said DE, will just put it on my TODO list.
Because Lomiri App Launch parses it on Lomiri startup, and having a relative Icon entry somehow corrupts the search paths.
…path The only part this really affects for us is Lomiri's First-Time-Launch Wizard, which uses the found & filtered locale identifiers for a language selection & gets stuck unless at least 1 valid language has been found. This makes the wizard process completable, in case we ever re-enable it.
The UserMetrics service expects AppArmor to be available, and its database access breaks when that's not the case. Details: https://gitlab.com/ubports/development/core/libusermetrics/-/issues/8 We need to set an envvar for it to work AppArmor-less, but that requires system config knowledge. Solve this by telling the D-Bus service to look for & launch a systemd service, which we will later create in the Lomiri module.
Not *great*, but a start. MessagingMenu has a function for mapping an app to desktop file data. This relies on GLib to parse the desktop file, which needs the binary from the 'Exec=' entry on PATH, otherwise it bails. messaging_menu_app_set_desktop_id calls g_desktop_app_info_new: https://github.com/AyatanaIndicators/ayatana-indicator-messages/blob/334668ad5ad33c6bd342f34b159dbcbed8c65df1/libmessaging-menu/messaging-menu-app.c#L245-L252 Which, after some jumps inbetween, ends up in g_desktop_app_info_load_from_keyfile and calls g_find_program_for_path: https://github.com/GNOME/glib/blob/204a76669bd46c5eb656946e21bd746685c67174/gio/gdesktopappinfo.c#L1920-L1951 Which uses PATH: https://github.com/GNOME/glib/blob/204a76669bd46c5eb656946e21bd746685c67174/glib/gutils.c#L371
efdd774
to
d59720a
Compare
Description of changes
Working towards #99090.
Inits:
lomiri.lomiri
, the Lomiri Shelllomiri.lomiri-session
, scripts & data files for starting a Lomiri sessionAnd various fixes to Lomiri components, now that a test can be run for them.
Some pictures, after installing it on spare hardware
Checklist:
services.xserver
: nixos/plasma6: move out of x11 #292141)Decision: For now,services.xserver.desktopManager.lomiri
is prolly fine. If there's any developments on the linked PR, then I might change it toservices.desktopManager.lomiri
(although we'd also need a display technology agnosticservices.displayManager.lightdm
for the Waylandservices.displayManager.lightdm.greeters.lomiri
).services.desktopManager.lomiri
(no longer implying X11) andservices.xserver.displayManager.lightdm.greeter.lomiri
(lightdm
is yet to be moved out ofservices.xserver
)Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.