aboutsummaryrefslogblamecommitdiff
path: root/default.nix
blob: ae3b2b76bedaade975f60b7e8e961af533b3846b (plain) (tree)
1
2
3
4
5
6
7

                                                          
   
              
 
                                                            
                                      








                                                                                                          
                                                                                       
                                         
                                                                                         


     


                                                              




                                                                                                         



                                                                                     

     
                                              





                                                                           
                                                                 

     
                                                                               


                                      
                                                                                   
                                       
                                                                      

     
 
                                          


                                       

                                                                  

     
                                     

                                            

                                                                 

                                                                      
             



          
                                                   
                                                                         





                                               
                                           



                                                                               
                                           


                                                                                                           



                                                                                                     



                                                         

                                                                     




                                                                                          
 
                                                                                                           


                                                                                    











                                                                     







                                                          










                                                                      
                                             
 
 







                                                                    



                                                               
 





                                             




                                                                           

                                                                           
  
             
                                 
                                   
                        
                


                    
                      



                     
                   
                  


                             
                          










                            


                        
                
                    
               
                                
                   
                   

                             
                 
                              
                   
                                       
                    



                                     
                   


                                          



                       
                     


                          
                   
                           
   
with import <nixpkgs> {};
with import ./libs.nix { nixpkgs = import <nixpkgs> {}; };
let
  mypkgs = {};

  mypkgs.taskwarrior = taskwarrior.overrideAttrs (old: rec {
    postInstall = ''${old.postInstall}
      mkdir -p "$out/share/vim/vimfiles/ftdetect"
      mkdir -p "$out/share/vim/vimfiles/syntax"
      ln -s "../../../../share/doc/task/scripts/vim/ftdetect/task.vim" "$out/share/vim/vimfiles/ftdetect/"
      ln -s "../../../../share/doc/task/scripts/vim/syntax/taskrc.vim" "$out/share/vim/vimfiles/syntax/"
      ln -s "../../../../share/doc/task/scripts/vim/syntax/taskdata.vim" "$out/share/vim/vimfiles/syntax/"
      ln -s "../../../../share/doc/task/scripts/vim/syntax/taskedit.vim" "$out/share/vim/vimfiles/syntax/"
    '';
  });

  mypkgs.vit = (vit.override { taskwarrior = mypkgs.taskwarrior; }).overrideAttrs (old:
    fetchedGithub ./fetched/vit.json // {
      buildInputs = old.buildInputs ++ [perlPackages.TryTiny perlPackages.TextCharWidth];
    }
  );

  mypkgs.weboob = (pythonPackages.weboob.overridePythonAttrs {
      setupPyBuildFlags = [ "--no-qt" "--xdg" ];
    }).overrideAttrs (old: rec {
      version = "1.5";
      src = fetchurl {
        url = "https://git.weboob.org/weboob/weboob/-/archive/${version}/${old.pname}-${version}.tar.gz";
        sha256 = "0l6q5nm5g0zn6gmf809059kddrbds27wgygxsfkqja9blks5vq7z";
      };
      postInstall = ''${old.postInstall or ""}
        mkdir -p $out/share/bash-completion/completions/
        cp tools/weboob_bash_completion $out/share/bash-completion/completions/weboob
      '';
  });

  mypkgs.slrn = slrn.overrideAttrs (old: rec {
    version = "1.0.3a";
    name = "slrn-${version}";
    src = fetchurl {
      url = "http://www.jedsoft.org/releases/slrn/slrn-${version}.tar.bz2";
      sha256 = "1b1d9iikr60w0vq86y9a0l4gjl0jxhdznlrdp3r405i097as9a1v";
    };
    configureFlags = old.configureFlags ++ [ "--with-slrnpull" ];
  });

  mypkgs.ldapvi = ldapvi.overrideAttrs (old: fetchedGit ./fetched/ldapvi.json);

  nixos = import ./nixos_tools.nix {};

  mypkgs.pass = (pass.withExtensions (exts: [ exts.pass-otp ])).overrideAttrs (old:
    fetchedGit ./fetched/pass.json // {
      patches = old.patches ++ [ ./patches/pass-fix-pass-init.patch ];
    }
  );

  mypkgs.profanity = (profanity.override {
    notifySupport = true;
    inherit libnotify gpgme gdk_pixbuf;
    python = python3;
  }).overrideAttrs (old: rec {
    configureFlags = old.configureFlags ++ [ "--enable-plugins" ];
  });

  mypkgs.weechat = weechat.override {
    configure = { availablePlugins, ... }: {
      plugins = with availablePlugins; [
          # Make sure websocket_client is not 0.55.0, it provokes
          # regular crashes
         (python.withPackages (ps: with ps; [websocket_client emoji]))
         perl
         ruby
        ];
    };
  };

  mypkgs.boinctui = callPackage ./pkgs/boinctui {};
  mypkgs.cnagios = callPackage ./pkgs/cnagios { inherit fetchedGithub; };
  mypkgs.duply = callPackage ./pkgs/duply {};
  mypkgs.flrn = callPackage ./pkgs/flrn {
    slang = callPackage ./pkgs/slang_1 {};
    inherit fetchedGithub;
  };
  mypkgs.genius = callPackage ./pkgs/genius {};
  mypkgs.mtop = callPackage ./pkgs/mtop {};
  mypkgs.muttprint = callPackage ./pkgs/muttprint {};
  mypkgs.mutt-ics = callPackage ./pkgs/mutt-ics { inherit fetchedGithub; };
  mypkgs.nagios-cli = callPackage ./pkgs/nagios-cli { inherit fetchedGithub; };
  #mypkgs.nagnu = callPackage ./pkgs/nagnu { inherit fetchedGithub; };
  mypkgs.note = callPackage ./pkgs/note {};
  mypkgs.notmuch-python2 = callPackage ./pkgs/notmuch/notmuch-python { pythonPackages = python2Packages; };
  mypkgs.notmuch-python3 = callPackage ./pkgs/notmuch/notmuch-python { pythonPackages = python3Packages; };
  mypkgs.notmuch-vim = callPackage ./pkgs/notmuch/notmuch-vim {};
  mypkgs.pg_activity = callPackage ./pkgs/pg_activity { inherit fetchedGithub; };
  mypkgs.pgloader = callPackage ./pkgs/pgloader { inherit fetchedGithub; };
  mypkgs.telegram-cli = callPackage ./pkgs/telegram-cli { inherit fetchedGithub; };
  mypkgs.telegram-history-dump = callPackage ./pkgs/telegram-history-dump { inherit fetchedGithub; };
  mypkgs.telegramircd = callPackage ./pkgs/telegramircd {
    telethon = callPackage ./pkgs/telethon_sync {};
    inherit fetchedGithub;
  };
  mypkgs.terminal-velocity = callPackage ./pkgs/terminal-velocity {};
  mypkgs.tiv = callPackage ./pkgs/tiv {};
  mypkgs.unicode = callPackage ./pkgs/unicode {};

  mypkgs.cardano = callPackage ./pkgs/crypto/cardano { inherit fetchedGithub; };
  mypkgs.iota-cli-app = callPackage ./pkgs/crypto/iota-cli-app { inherit fetchedGithub; };
  mypkgs.sia = callPackage ./pkgs/crypto/sia {};

  mypkgs.pelican = python3Packages.pelican.overrideAttrs(old: fetchedGithub ./fetched/pelican.json // rec {
    propagatedBuildInputs = old.propagatedBuildInputs ++ [ python3Packages.pyyaml ];
  });

  mypkgs.elinks = elinks.overrideAttrs (old:
    fetchedGithub ./fetched/elinks.json // rec {
      preConfigure = ''sh autogen.sh'';
      buildInputs = old.buildInputs ++ [ gettext automake autoconf ];
      configureFlags = [
        "--disable-smb" "--without-x" "--enable-cgi"
        "--enable-leds" "--enable-256-colors"
        "--enable-html-highlight" "--with-zlib"
        ];
      patches = [];
    }
  );

  mypkgs.neomutt = neomutt.overrideAttrs (old:
    rec {
      buildInputs = old.buildInputs ++ [ gdbm ];
      configureFlags = old.configureFlags ++ [ "--gdbm" ];
    }
  );

  mypkgs.goaccess = goaccess.overrideAttrs(old: rec {
    name = "goaccess-${version}";
    version = "1.3";
    src = fetchurl {
      url = "https://tar.goaccess.io/${name}.tar.gz";
      sha256 = "16vv3pj7pbraq173wlxa89jjsd279004j4kgzlrsk1dz4if5qxwc";
    };
    configureFlags = old.configureFlags ++ [ "--enable-tcb=btree" ];
    buildInputs = old.buildInputs ++ [ tokyocabinet bzip2 ];
  });

  mypkgs.yarn2nix = yarn2nixPackage.yarn2nix;


  mypkgs.sc-im = sc-im.overrideAttrs (old: {
    buildPhase = ''
      cd src
      sed -i Makefile -e 's@\...name.info@.local/state/$(name)info@'
      cd ..
      '' + old.buildPhase;
  });

  mypkgs.lesspipe = lesspipe.overrideAttrs(old: {
    configureFlags = (old.configureFlags or []) ++ [ "--yes" ];
  });


  mypkgs.dwm = dwm.overrideAttrs(old: rec {
    postPatch = ''
      cp ${./patches/dwm_config.h} ./config.h
      '';
  });

  mypkgs.nixops = nixops.overrideAttrs (old: {
    preConfigure = (old.preConfigure or "") + ''
      sed -i -e "/'keyFile'/s/'path'/'string'/" nixops/backends/__init__.py
      '';
  });
# https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh
# https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks
in
  mypkgs // {
    inherit nix-prefetch-scripts;
    inherit nix-generate-from-cpan;
    inherit timewarrior;
    inherit pal;
    inherit pdftk;
    inherit googler;
    inherit jrnl;
    inherit apg pwgen;
    inherit newsboat;
    inherit vcsh;
    inherit xmr-stak;
    inherit urlwatch;
    inherit ranger;
    inherit irssi;
    inherit abook khard khal;
    inherit graphicsmagick;
    inherit youtube-dl;
    inherit ncmpc ncmpcpp;
    inherit cadaver;
    inherit mairix notmuch;
    inherit ctags;
    inherit s3cmd;
    inherit solc; # solidity
    inherit rtorrent;
    inherit strace;
    inherit vdirsyncer;
    inherit w3m lynx links;
    inherit gitRepo;
    inherit valgrind;
    inherit iotop iperf;
    inherit keybase;
    inherit bogofilter;
    inherit mtr;
    inherit urlview;
    inherit rr;
    inherit nix-zsh-completions;
    inherit browsh;
    inherit monero;
    inherit nextcloud-client;
    inherit feh imagemagick;
    inherit lftp;
    stgit = gitAndTools.stgit;
    inherit bundix;
    bower2nix = nodePackages.bower2nix;
    inherit firefox;
    inherit jq;
    inherit lzo unzip bzip2 p7zip xz;
    # unrar is unfree
    inherit tig;
    #inherit nixos;
    inherit emacs26-nox;
    inherit highlight sourceHighlight;
    pygmentize = python3Packages.pygments;
    inherit iftop htop;
    inherit fetchmail;
    inherit bc;
    inherit cpulimit;
    inherit dmenu st;
    inherit poppler_utils;
    inherit tmux;
    inherit netcat-gnu;
    inherit ledger;
    inherit ffmpeg libxslt;
  }