On 17-03-11 09:46pm, zimbatm wrote: > And finally, I don't want > nixpkgs to be much larger and slow down my `nix-channel --update` because > it's downloading all the haskell, ruby, python, ... library descriptions. > […]
Right now it’s a ~10Mb download (tar.xz); See bottom of the mail for full output of `du -ha | sort -hr`. 67M ./pkgs 30M ./pkgs/development 13M ./pkgs/applications 8.7M ./pkgs/development/libraries 8.3M ./pkgs/tools 8.2M ./pkgs/development/haskell-modules 7.5M ./pkgs/development/haskell-modules/hackage-packages.nix 5.6M ./nixos 5.0M ./pkgs/applications/editors 4.5M ./nixos/modules 4.4M ./pkgs/applications/editors/emacs-modes 3.7M ./programs.sqlite […] 480K ./nixos/doc 30.0M development packages, 7.5M of that generated haskell set. 13.0M application packages, 5.0M editors, 4.4M of that emacs modes (I think autogenerated) 5.6M nixos 0.5M nixos docs The schema seems to be around 1/3 autogenerated, though that might rise in the future (think pythonPackages). It’s probably okay to check in autogenerated derivations, but their code size needs to be as small as possible. So basically remove any kind of duplication. Not sure how much of that is already handled by xz though? Would be worth testing out the compression rate I think! > […] I created https://github.com/zimbatm/nix-rubygems […] > `du -sh. ` gives me > 3.5GB for 720312 gems, that's ~5KB per gem probably due > to all the inodes > and the .git repo. I think it's possible to bring it down to ~50MB using > binary packing There’s the other problem of nixpkgs git repo size. Not sure if anything about the current size (TODO GB), but keeping diffs small would help in the future. As your example shows also putting everything into one big generated file instead of one per package. Complete list of sizes: 67M ./pkgs 30M ./pkgs/development 13M ./pkgs/applications 8.7M ./pkgs/development/libraries 8.3M ./pkgs/tools 8.2M ./pkgs/development/haskell-modules 7.5M ./pkgs/development/haskell-modules/hackage-packages.nix 5.6M ./nixos 5.0M ./pkgs/applications/editors 4.5M ./nixos/modules 4.4M ./pkgs/applications/editors/emacs-modes 3.7M ./programs.sqlite 3.7M ./pkgs/top-level 3.0M ./pkgs/desktops 2.8M ./pkgs/applications/editors/emacs-modes/melpa-generated.nix 2.8M ./nixos/modules/services 2.7M ./pkgs/os-specific 2.4M ./pkgs/servers 2.2M ./pkgs/development/tools 2.1M ./pkgs/os-specific/linux 2.1M ./pkgs/development/node-packages 2.1M ./pkgs/applications/networking 1.9M ./pkgs/games 1.9M ./pkgs/development/r-modules 1.8M ./pkgs/development/compilers 1.6M ./pkgs/top-level/node-packages-generated.nix 1.6M ./pkgs/applications/misc 1.5M ./pkgs/tools/misc 1.4M ./pkgs/tools/networking 1.4M ./pkgs/development/r-modules/cran-packages.nix 1.3M ./pkgs/development/beam-modules 1.3M ./pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix 1.2M ./pkgs/tools/typesetting 1.2M ./pkgs/tools/security 1.2M ./pkgs/development/node-packages/node-packages-v4.nix 1.2M ./pkgs/development/beam-modules/hex-packages.nix 1.2M ./pkgs/applications/audio 1.1M ./pkgs/desktops/gnome-3/3.20 1.1M ./pkgs/desktops/gnome-3 1016K ./pkgs/tools/typesetting/tex 988K ./pkgs/build-support 924K ./pkgs/tools/typesetting/tex/texlive 876K ./pkgs/misc 852K ./pkgs/top-level/python-packages.nix 832K ./pkgs/development/node-packages/node-packages-v6.nix 820K ./pkgs/applications/science 812K ./pkgs/desktops/kde-4.14 796K ./pkgs/development/interpreters 792K ./pkgs/development/libraries/qt-5 772K ./pkgs/development/ocaml-modules 732K ./nixos/modules/services/networking 704K ./pkgs/data 684K ./pkgs/development/python-modules 680K ./pkgs/development/tools/misc 576K ./pkgs/development/haskell-modules/configuration-hackage2nix.yaml 572K ./pkgs/desktops/gnome-3/3.20/core 568K ./pkgs/os-specific/darwin 548K ./pkgs/top-level/all-packages.nix 544K ./pkgs/applications/version-management 540K ./pkgs/applications/graphics 520K ./pkgs/top-level/perl-packages.nix 504K ./pkgs/development/mobile 492K ./pkgs/tools/typesetting/tex/texlive/pkgs.nix 480K ./pkgs/tools/filesystems 480K ./nixos/doc/manual 480K ./nixos/doc 476K ./pkgs/applications/networking/browsers 472K ./pkgs/tools/security/qdigidoc 472K ./pkgs/data/fonts 468K ./pkgs/tools/security/qdigidoc/certs.patch 468K ./pkgs/games/ue4 464K ./pkgs/desktops/kde-5 460K ./pkgs/games/ue4/cdn-deps.nix 460K ./nixos/tests 456K ./pkgs/os-specific/darwin/apple-source-releases 444K ./pkgs/tools/text 444K ./pkgs/tools/system 428K ./pkgs/development/libraries/kde-frameworks 420K ./pkgs/tools/graphics 416K ./pkgs/development/mobile/androidenv 412K ./nixos/modules/services/misc 408K ./pkgs/applications/video 392K ./pkgs/applications/networking/instant-messengers 384K ./pkgs/tools/typesetting/tex/texlive/fixedHashes.nix 384K ./pkgs/applications/networking/cluster 384K ./doc -- Proudly written in Mutt with Vim on NixOS. Q: Why is this email five sentences or less? A: http://five.sentenc.es May take up to five days to read your message. If it’s urgent, call me. _______________________________________________ nix-dev mailing list [email protected] http://lists.science.uu.nl/mailman/listinfo/nix-dev
