mirror of
https://github.com/nix-community/home-manager
synced 2024-12-25 19:29:47 +01:00
426ab2cf11
Based on nixpkgs commit c4b3aa62608d592d8a983be685f7e82000f4de30 stringBool is not needed because makeDesktopItem handles converting boolean parameters to string, and noDisplay and prefersNonDefaultGPU parameters have been added.
60 lines
1.5 KiB
Nix
60 lines
1.5 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
|
|
{
|
|
config = {
|
|
xdg.desktopEntries = {
|
|
full = { # full definition
|
|
type = "Application";
|
|
exec = "test --option";
|
|
icon = "test";
|
|
comment = "My Application";
|
|
terminal = true;
|
|
name = "Test";
|
|
genericName = "Web Browser";
|
|
mimeType = [ "text/html" "text/xml" ];
|
|
categories = [ "Network" "WebBrowser" ];
|
|
startupNotify = false;
|
|
noDisplay = false;
|
|
prefersNonDefaultGPU = false;
|
|
extraConfig = ''
|
|
[X-ExtraSection]
|
|
Exec=foo -o
|
|
'';
|
|
settings = {
|
|
Keywords = "calc;math";
|
|
DBusActivatable = "false";
|
|
};
|
|
fileValidation = true;
|
|
};
|
|
min = { # minimal definition
|
|
exec = "test --option";
|
|
name = "Test";
|
|
};
|
|
};
|
|
|
|
#testing that preexisting entries in the store are overridden
|
|
home.packages = [
|
|
(pkgs.makeDesktopItem {
|
|
name = "full";
|
|
desktopName = "We don't want this";
|
|
exec = "no";
|
|
})
|
|
(pkgs.makeDesktopItem {
|
|
name = "min";
|
|
desktopName = "We don't want this";
|
|
exec = "no";
|
|
})
|
|
];
|
|
|
|
nmt.script = ''
|
|
assertFileExists home-path/share/applications/full.desktop
|
|
assertFileExists home-path/share/applications/min.desktop
|
|
assertFileContent home-path/share/applications/full.desktop \
|
|
${./desktop-full-expected.desktop}
|
|
assertFileContent home-path/share/applications/min.desktop \
|
|
${./desktop-min-expected.desktop}
|
|
'';
|
|
};
|
|
}
|