mirror of
https://github.com/nix-community/home-manager.git
synced 2025-12-09 10:31:06 +01:00
gnome-shell: add module
This commit is contained in:
parent
2b87a11125
commit
6ebe7be2e6
6 changed files with 224 additions and 0 deletions
|
|
@ -193,6 +193,7 @@ in import nmtSrc {
|
|||
./modules/programs/freetube
|
||||
./modules/programs/fuzzel
|
||||
./modules/programs/getmail
|
||||
./modules/programs/gnome-shell
|
||||
./modules/programs/gnome-terminal
|
||||
./modules/programs/hexchat
|
||||
./modules/programs/i3blocks
|
||||
|
|
|
|||
1
tests/modules/programs/gnome-shell/default.nix
Normal file
1
tests/modules/programs/gnome-shell/default.nix
Normal file
|
|
@ -0,0 +1 @@
|
|||
{ gnome-shell = ./gnome-shell.nix; }
|
||||
94
tests/modules/programs/gnome-shell/gnome-shell.nix
Normal file
94
tests/modules/programs/gnome-shell/gnome-shell.nix
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
dummy-gnome-shell-extensions = pkgs.runCommand "dummy-package" { } ''
|
||||
mkdir -p $out/share/gnome-shell/extensions/dummy-package
|
||||
touch $out/share/gnome-shell/extensions/dummy-package/test
|
||||
'';
|
||||
|
||||
test-extension = pkgs.runCommand "test-extension" { } ''
|
||||
mkdir -p $out/share/gnome-shell/extensions/test-extension
|
||||
touch $out/share/gnome-shell/extensions/test-extension/test
|
||||
'';
|
||||
|
||||
test-extension-uuid = pkgs.runCommand "test-extension-uuid" {
|
||||
passthru.extensionUuid = "test-extension-uuid";
|
||||
} ''
|
||||
mkdir -p $out/share/gnome-shell/extensions/test-extension-uuid
|
||||
touch $out/share/gnome-shell/extensions/test-extension-uuid/test
|
||||
'';
|
||||
|
||||
test-theme = pkgs.runCommand "test-theme" { } ''
|
||||
mkdir -p $out/share/themes/Test/gnome-shell
|
||||
touch $out/share/themes/Test/gnome-shell/test
|
||||
'';
|
||||
|
||||
expectedEnabledExtensions = [
|
||||
"user-theme@gnome-shell-extensions.gcampax.github.com"
|
||||
"test-extension"
|
||||
"test-extension-uuid"
|
||||
];
|
||||
|
||||
actualEnabledExtensions = catAttrs "value"
|
||||
config.dconf.settings."org/gnome/shell".enabled-extensions.value;
|
||||
|
||||
in {
|
||||
nixpkgs.overlays = [
|
||||
(self: super: {
|
||||
gnome = super.gnome.overrideScope (gself: gsuper: {
|
||||
gnome-shell-extensions = dummy-gnome-shell-extensions;
|
||||
});
|
||||
})
|
||||
];
|
||||
|
||||
programs.gnome-shell.enable = true;
|
||||
|
||||
programs.gnome-shell.extensions = [
|
||||
{
|
||||
id = "test-extension";
|
||||
package = test-extension;
|
||||
}
|
||||
{ package = test-extension-uuid; }
|
||||
];
|
||||
|
||||
programs.gnome-shell.theme = {
|
||||
name = "Test";
|
||||
package = test-theme;
|
||||
};
|
||||
|
||||
assertions = [
|
||||
{
|
||||
assertion =
|
||||
config.dconf.settings."org/gnome/shell".disable-user-extensions
|
||||
== false;
|
||||
message = "Expected disable-user-extensions to be false.";
|
||||
}
|
||||
{
|
||||
assertion =
|
||||
all (e: elem e actualEnabledExtensions) expectedEnabledExtensions;
|
||||
message = ''
|
||||
Expected enabled-extensions to contain all of:
|
||||
${toString expectedEnabledExtensions}
|
||||
But it was:
|
||||
${toString actualEnabledExtensions}
|
||||
'';
|
||||
}
|
||||
{
|
||||
assertion =
|
||||
config.dconf.settings."org/gnome/shell/extensions/user-theme".name
|
||||
== "Test";
|
||||
message = "Expected extensions/user-theme/name to be 'Test'.";
|
||||
}
|
||||
];
|
||||
|
||||
test.stubs.dconf = { };
|
||||
|
||||
nmt.script = ''
|
||||
assertFileExists home-path/share/gnome-shell/extensions/dummy-package/test
|
||||
assertFileExists home-path/share/gnome-shell/extensions/test-extension/test
|
||||
assertFileExists home-path/share/gnome-shell/extensions/test-extension-uuid/test
|
||||
assertFileExists home-path/share/themes/Test/gnome-shell/test
|
||||
'';
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue