94 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| { pkgs ? import <nixpkgs> {} }:
 | |
| 
 | |
| let
 | |
|   pySmartDL = pkgs.callPackage ./development/python/pySmartDL {};
 | |
|   cfscrape = pkgs.callPackage ./development/python/cfscrape {};
 | |
|   system_hotkey = pkgs.callPackage ./development/python/system_hotkey {};
 | |
|   discord-system-electron = pkgs.callPackage ./applications/networking/instant-messengers/discord {
 | |
|     # Wayland
 | |
|     # NOTE: electron under Wayland has no window titlebars
 | |
|     #extraStartupArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland";
 | |
|     #extraStartupArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-features=WebRTCPipeWireCapturer";
 | |
|     #extraStartupArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-features=WebRTCPipeWireCapturer";
 | |
|   };
 | |
|   wrapInSandbox = pkgs.callPackage ./sandbox.nix {};
 | |
| in { 
 | |
|   gamemode = pkgs.callPackage ./tools/games/gamemode { };
 | |
|   key-mapper = pkgs.callPackage ./tools/games/key-mapper {};
 | |
|   vfio-isolate = pkgs.callPackage ./tools/virtualisation/vfio-isolate {};
 | |
|   mopidy-funkwhale = pkgs.callPackage ./applications/audio/mopidy/funkwhale.nix {};
 | |
|   # Not as clean as I hoped, but it works
 | |
|   gnomeExtensions = pkgs.gnomeExtensions // {
 | |
|     notification-timeout = pkgs.callPackage ./desktop/gnome/extensions/notification-timeout {};
 | |
|     windowisready-remover = pkgs.callPackage ./desktop/gnome/extensions/windowisready-remover {};
 | |
|   };
 | |
|   python3Packages = pkgs.python3Packages // {
 | |
|     pySmartDL = pySmartDL;
 | |
|     cfscrape = cfscrape;
 | |
|     system_hotkey = system_hotkey;
 | |
|   };
 | |
|   replaysorcery = pkgs.callPackage ./tools/games/replaysorcery {};
 | |
|   evdev-proxy = pkgs.callPackage ./tools/virtualisation/evdev-proxy {};
 | |
|   anime4k = pkgs.callPackage ./misc/video/anime4k {};
 | |
|   anime-dl = pkgs.callPackage ./tools/video/animedl {
 | |
|     pySmartDL = pySmartDL;
 | |
|     cfscrape = cfscrape;
 | |
|   };
 | |
|   superpaper = pkgs.callPackage ./applications/desktop/superpaper {
 | |
|     system_hotkey = system_hotkey;
 | |
|   };
 | |
|   discord-system-electron-wrapped = wrapInSandbox {
 | |
|     name = "discord";
 | |
|     package = discord-system-electron;
 | |
|     binaryName = "discord";
 | |
|     mountInHome = [ ".config/discord" ".config/BetterDiscord" ];
 | |
|     additionalBlacklist = [ "/mnt" ];
 | |
|     chdirTo = "/home/$USER";
 | |
| 
 | |
|     version = "1.0.1";
 | |
|     copyIntoSandbox = [ "share/pixmaps" ];
 | |
|     desktopFileArgs = {
 | |
|       name = "Discord (wrapped)";
 | |
|       #exec = "discord";
 | |
|       icon = "discord";
 | |
|       desktopName = "Discord (wrapped)";
 | |
|       genericName = "Instant Messenger";
 | |
|       categories = "Network;InstantMessaging;";
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   sddm-sugar-dark = pkgs.callPackage ./sddm-sugar-dark {};
 | |
|   
 | |
|   iptsd = pkgs.callPackage ./tools/daemons/iptsd {};
 | |
|   surface-control = pkgs.callPackage ./tools/system/surface-control {};
 | |
| 
 | |
|   trackma = pkgs.callPackage ./tools/video/trackma {};
 | |
| 
 | |
|   multimc-wrapped = wrapInSandbox {
 | |
|     name = "multimc";
 | |
|     package = pkgs.multimc;
 | |
|     binaryName = "multimc";
 | |
|     mountInHome = [ ".local/share/multimc" ];
 | |
|     additionalBlacklist = [ "/mnt" ];
 | |
|     chdirTo = "/home/$USER";
 | |
|     extraEnv = {
 | |
|       DRI_PRIME = "1";
 | |
|     };
 | |
|   };
 | |
|   
 | |
|   steam-wrapped = wrapInSandbox {
 | |
|     name = "steam";
 | |
|     package = pkgs.steam;
 | |
|     binaryName = "steam";
 | |
|     mountInHome = [ ".steam" ".local/share/Steam" ];
 | |
|     additionalBlacklist = [ "/mnt" ];
 | |
|     additionalMounts = [ "/mnt/Storage/Games/SteamLibrary" ];
 | |
|     chdirTo = "/home/$USER";
 | |
|     extraEnv = {
 | |
|       DRI_PRIME = "1";
 | |
|     };
 | |
| 
 | |
|     copyIntoSandbox = [ "/share" ];
 | |
|   };
 | |
| }
 |