about summary refs log blame commit diff
path: root/third_party/default.nix
blob: 4a9363c49f767df76c87dcbbe941058c37642c33 (plain) (tree)
1
2
3
4
5
6
7
8
9



                                                              
        
 
   

                                                      

                                                                               
                                                                    
    
                               







                                                                        
         
              
                     
         
                   
                    
           
            

            
           
          

             
               
                 
            
                 
             
                 

                      
                     
              
              


               
             
           

            
                      
          
          
             
              
                    
        
                 
         
                 
                  
            

                   
                 
            
                

               
           
         
             
             

                 
            
              
               
            
              
                     
               
          
             

                
                    
                  
           
          
            
           
                 
             
           
                    
             
            
          
                      
                         
               
                   
        

           



                                                    
 

                                                                      
                     


                             
                                  
                                 
    


                                       





                                                                     
 
# This file controls the import of external dependencies (i.e.
# third-party code) into my package tree.
#
# This includes *all packages needed from nixpkgs*.
{ ... }:

let
  # Tracking nixos-20.03 as of 2020-04-04.
  commit = "b0c285807d6a9f1b7562ec417c24fa1a30ecc31a";
  nixpkgsSrc = fetchTarball {
    url = "https://github.com/NixOS/nixpkgs-channels/archive/${commit}.tar.gz";
    sha256 = "0waapr7aqz0h1fy1fqlx981ygllh91qx9sz1l2j2h59s46cdircl";
  };
  nixpkgs = import nixpkgsSrc {
    config.allowUnfree = true;
    config.allowBroken = true;
  };

  exposed = {
    # Inherit the packages from nixpkgs that should be available inside
    # of the repo. They become available under `pkgs.third_party.<name>`
    inherit (nixpkgs)
      age
      autoconf
      bashInteractive
      bat
      buildGoModule
      buildGoPackage
      bzip2
      c-ares
      cacert
      cachix
      cargo
      cgit
      clang_9
      cmake
      coreutils
      cudatoolkit
      darwin
      dockerTools
      emacs26
      emacs26-nox
      emacsPackages
      emacsPackagesGen
      fetchFromGitHub
      fetchurl
      fetchzip
      fira
      fira-code
      fira-mono
      gettext
      glibc
      gnutar
      go
      google-cloud-sdk
      grpc
      gzip
      haskell
      iana-etc
      imagemagickBig
      jq
      kontemplate
      lib
      libredirect
      llvmPackages
      luajit
      luatex
      makeFontsConf
      makeWrapper
      mdbook
      mime-types
      moreutils
      nano
      nginx
      nix
      openssh
      openssl
      overrideCC
      overrideCCC
      pandoc
      parallel
      pkgconfig
      pounce
      protobuf
      python3Packages
      remarshal
      rink
      ripgrep
      rsync
      runCommand
      runCommandNoCC
      rustPlatform
      rustc
      sbcl
      stdenv
      stern
      symlinkJoin
      systemd
      tdlib
      terraform_0_12
      texlive
      thttpd
      tree
      writeShellScript
      writeShellScriptBin
      writeText
      writeTextFile
      xz
      zlib
      zstd;
  };

in exposed // {
  callPackage = nixpkgs.lib.callPackageWith exposed;

  # Provide the source code of nixpkgs, but do not provide an imported
  # version of it.
  inherit nixpkgsSrc;

  # Packages to be overridden
  originals = {
    inherit (nixpkgs) git notmuch;
    ffmpeg = nixpkgs.ffmpeg-full;
  };

  # Make NixOS available
  nixos = import "${nixpkgsSrc}/nixos";

  # Build a Chromium with VAAPI (hardware-accelerated video decoding)
  # enabled. This is useful for Stadia on desktop.
  chromiumVaapi = nixpkgs.chromium.override {
    useVaapi = true;
  };
}