mirror of
https://github.com/lhns/steam-frame-nix.git
synced 2026-10-06 07:00:27 +02:00
Applications menu for KDE apps in the Steam session
SteamOS only ships /etc/xdg/menus/plasma-applications.menu; the nested desktop sets XDG_MENU_PREFIX=plasma-, the Steam session doesn't, so KDE apps started there (Dolphin from the "+" menu) built an empty app database: "no installed application can open" every file. session.applicationsMenu (module applications-menu, on by default) links ~/.config/menus/applications.menu to Plasma's menu. Flake check: the link is generated by default and absent when disabled.
This commit is contained in:
1 parent
0d9a238e5a
commit
59513bcbb1
7 files changed
+103
-13
No files matched your search
@@ -0,0 +1,27 @@
|
||||
# Workaround (SteamOS 0.3.0, build 20260922): KDE apps build their app
|
||||
# database (ksycoca) from "applications.menu", but SteamOS only ships
|
||||
# /etc/xdg/menus/plasma-applications.menu. The nested desktop sets
|
||||
# XDG_MENU_PREFIX=plasma-, the Steam session doesn't, so KDE apps started
|
||||
# there (Dolphin from the "+" menu) know no apps. We link the user's
|
||||
# applications.menu to Plasma's. A missing host file leaves a dangling link,
|
||||
# which KDE treats like no file. Remove once the Steam session sets the prefix.
|
||||
{ config, lib, ... }:
|
||||
let
|
||||
sys = "/etc/xdg/menus/plasma-applications.menu";
|
||||
in {
|
||||
imports = [ ./cleanup.nix ];
|
||||
|
||||
options.steamFrame.session.applicationsMenu.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Link `~/.config/menus/applications.menu` to Plasma's menu, so KDE apps
|
||||
in the Steam session find the installed apps.
|
||||
'';
|
||||
};
|
||||
|
||||
config = lib.mkIf config.steamFrame.session.applicationsMenu.enable {
|
||||
xdg.configFile."menus/applications.menu".source =
|
||||
config.lib.file.mkOutOfStoreSymlink sys;
|
||||
};
|
||||
}
|
||||
Reference in new issue
Block a user