diff --git a/modules/default/default.nix b/modules/default/default.nix index e6acc186..1fc2ec60 100644 --- a/modules/default/default.nix +++ b/modules/default/default.nix @@ -24,6 +24,7 @@ ./nix-disk-manager.nix ./glfos-environment-selection.nix ./glfos-mangohud-configuration.nix + ./glfos-welcome-screen.nix ./fanatec.nix ./new-lg4ff.nix ]; diff --git a/modules/default/glfos-welcome-screen.nix b/modules/default/glfos-welcome-screen.nix new file mode 100644 index 00000000..4c779d44 --- /dev/null +++ b/modules/default/glfos-welcome-screen.nix @@ -0,0 +1,16 @@ +{ + lib, + config, + pkgs, + ... +}: + +let + glfos-welcome-screen = pkgs.callPackage ../../pkgs/glfos-welcome-screen {}; +in + +{ + environment.systemPackages = with pkgs; [ + glfos-welcome-screen + ]; +} diff --git a/pkgs/glfos-welcome-screen/default.nix b/pkgs/glfos-welcome-screen/default.nix new file mode 100644 index 00000000..d690e788 --- /dev/null +++ b/pkgs/glfos-welcome-screen/default.nix @@ -0,0 +1,92 @@ +{ + lib, + stdenvNoCC, + makeDesktopItem, + makeWrapper, + fetchzip, + glib, + nss, + nspr, + at-spi2-atk, + cups, + dbus, + libdrm, + gdk-pixbuf, + gtk3, + pango, + cairo, + fontconfig, + xorg, + mesa, + expat, + libxkbcommon, + harfbuzz, + libepoxy, + alsa-lib +}: + +let + desktopFile = makeDesktopItem { + name = "glfos-welcome-screen"; + desktopName = "Welcome Screen"; + exec = "glfos-welcome-screen"; + icon = "glfos-welcome-screen"; + }; +in +stdenvNoCC.mkDerivation rec { + pname = "glfos-welcome-screen"; + version = "1.1.0"; + + nativeBuildInputs = [makeWrapper]; + buildInputs = [ + glib # libgobject-2.0.so.0, libglib-2.0.so.0, libgio-2.0.so.0 + nss # libnss3.so, libnssutil3.so, libsmime3.so + nspr # libnspr4.so + at-spi2-atk # libatk-1.0.so.0, libatk-bridge-2.0.so.0 + cups + dbus + fontconfig + harfbuzz + libepoxy + libdrm # libdrm.so.2 + gdk-pixbuf # libgdk_pixbuf-2.0.so.0 + gtk3 # libgtk-3.so.0 + pango # libpango-1.0.so.0 + cairo # libcairo.so.2 + xorg.libX11 # libX11.so.6 + xorg.libXcomposite # libXcomposite.so.1 + xorg.libXdamage # libXdamage.so.1 + xorg.libXext # libXext.so.6 + xorg.libXfixes # libXfixes.so.3 + xorg.libXrandr # libXrandr.so.2 + mesa # libgbm.so.1 + expat # libexpat.so.1 + xorg.libxcb # libxcb.so.1 + libxkbcommon # libxkbcommon.so.0 + alsa-lib # libasound.so.2 + ]; + + src = fetchzip { + url = "https://github.com/imikado/glfos-welcome-screen/releases/download/${version}/bundle.zip"; + hash = "sha256-Rami2K8LHmcZwGRwE3TIepXJMwnAyiQSOMrzVFsu/Xk="; + }; + + buildPhase = '' + mkdir -p $out/bin + + cp -r . $out/ + + makeWrapper $out/glfos_welcome_screen $out/bin/glfos-welcome-screen \ + --set LD_LIBRARY_PATH "${lib.makeLibraryPath buildInputs}:$out/lib" + + mkdir -p $out/etc/xdg/autostart + cp ${desktopFile}/share/applications/glfos-welcome-screen.desktop $out/etc/xdg/autostart/glfos-welcome-screen.desktop + ''; + + meta = { + description = "GLF-OS branding"; + homepage = "https://github.com/Gaming-Linux-FR/GLF-OS"; + license = lib.licenses.agpl3Plus; + }; + +}