107 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			107 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{ pkgs, lib, config, ... }:
 | 
						|
 | 
						|
let
 | 
						|
  jackify = {
 | 
						|
    appimageTools,
 | 
						|
      fetchurl,
 | 
						|
      lib,
 | 
						|
  }:
 | 
						|
    let
 | 
						|
      version = "0.1.6.4";
 | 
						|
      pname = "Jackify";
 | 
						|
      id = "com.jackify.app";
 | 
						|
 | 
						|
      src = fetchurl {
 | 
						|
        url = "https://github.com/Omni-guides/Jackify/releases/download/v${version}/${pname}.AppImage";
 | 
						|
        hash = "sha256-TzdeRJGjhJOLkAZ+STWYJbeVoKddSxY5uE6g5AGzzNU=";
 | 
						|
      };
 | 
						|
 | 
						|
      appimageContents = appimageTools.extract { inherit pname version src; };
 | 
						|
    in
 | 
						|
      appimageTools.wrapType2 {
 | 
						|
        inherit pname version src;
 | 
						|
 | 
						|
        extraPkgs =
 | 
						|
          pkgs:
 | 
						|
          (with pkgs; [
 | 
						|
            icu
 | 
						|
            zstd
 | 
						|
          ]);
 | 
						|
 | 
						|
        extraInstallCommands = ''
 | 
						|
    install -Dm444 ${appimageContents}/${id}.desktop -t $out/share/applications
 | 
						|
    install -Dm444 ${appimageContents}/${id}.png -t $out/share/pixmaps
 | 
						|
  '';
 | 
						|
 | 
						|
        meta = {
 | 
						|
          description = "A modlist installation and configuration tool for Wabbajack modlists on Linux";
 | 
						|
          homepage = "https://github.com/Omni-guides/Jackify";
 | 
						|
          license = lib.licenses.gpl3Plus;
 | 
						|
          maintainers = with lib.maintainers; [ merrkry ];
 | 
						|
          platforms = lib.platforms.linux;
 | 
						|
        };
 | 
						|
      };
 | 
						|
in 
 | 
						|
with lib;
 | 
						|
{
 | 
						|
  hardware.graphics = {
 | 
						|
    # driSupport = true;
 | 
						|
    enable32Bit = true;
 | 
						|
  };
 | 
						|
  programs.nix-ld.libraries = with pkgs;
 | 
						|
        (steam-run.args.multiPkgs pkgs)
 | 
						|
        ++ (heroic.args.multiPkgs pkgs)
 | 
						|
        ++ (lutris.args.multiPkgs pkgs)
 | 
						|
        ++ [
 | 
						|
          alsa-lib
 | 
						|
          dbus
 | 
						|
          glibc
 | 
						|
          gst_all_1.gstreamer
 | 
						|
          gst_all_1.gst-libav
 | 
						|
          gst_all_1.gst-plugins-base
 | 
						|
          gst_all_1.gst-plugins-good
 | 
						|
          gst_all_1.gst-plugins-bad
 | 
						|
          gst_all_1.gst-plugins-ugly
 | 
						|
          gst_all_1.gst-vaapi
 | 
						|
          gtk3
 | 
						|
          icu
 | 
						|
          libcap
 | 
						|
          libxcrypt
 | 
						|
          libGL
 | 
						|
          libdrm
 | 
						|
          libudev0-shim
 | 
						|
          libva
 | 
						|
          mesa
 | 
						|
          networkmanager
 | 
						|
          pkg-config
 | 
						|
          xorg.libX11
 | 
						|
          xorg.libXext
 | 
						|
          udev
 | 
						|
          vulkan-loader
 | 
						|
          zstd
 | 
						|
        ];
 | 
						|
  programs.steam = {
 | 
						|
    enable = true;
 | 
						|
    gamescopeSession.enable = true;
 | 
						|
  };
 | 
						|
  programs.gamemode.enable = true;
 | 
						|
  environment.systemPackages = with pkgs; [
 | 
						|
    airshipper
 | 
						|
    lutris
 | 
						|
    heroic
 | 
						|
    protonup-qt
 | 
						|
    winePackages.waylandFull
 | 
						|
    winetricks
 | 
						|
    protontricks
 | 
						|
    zstd
 | 
						|
    (pkgs.callPackage jackify {})
 | 
						|
    # gamescope
 | 
						|
    # cemu
 | 
						|
    # yuzu
 | 
						|
    mangohud
 | 
						|
    openmw
 | 
						|
    dwarfs
 | 
						|
    fuse-overlayfs
 | 
						|
    steam-run
 | 
						|
  ];
 | 
						|
}
 |