From ffac67fcf3e3f0cc255d39f16ec4eb107703cabc Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 22 Nov 2016 20:32:12 +0100 Subject: [PATCH 1/8] nixos/base: don't include dar & cabextract in ISO Should free up lots of space due to dependency on gnupg, which dpeends on openldap which pull in gcc. --- nixos/modules/profiles/base.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/nixos/modules/profiles/base.nix b/nixos/modules/profiles/base.nix index 32bea97823ce..d980c298ffcf 100644 --- a/nixos/modules/profiles/base.nix +++ b/nixos/modules/profiles/base.nix @@ -42,8 +42,6 @@ # Some compression/archiver tools. pkgs.unzip pkgs.zip - pkgs.dar # disk archiver - pkgs.cabextract ]; # Include support for various filesystems. From 5a184be96f87d647f4261d83f32d08ae2f1a7403 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 22 Nov 2016 21:08:19 +0100 Subject: [PATCH 2/8] imlib2: add version without X11 --- pkgs/development/libraries/imlib2/default.nix | 18 ++++++++++++------ pkgs/top-level/all-packages.nix | 3 +++ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/imlib2/default.nix b/pkgs/development/libraries/imlib2/default.nix index 85e9979ebb07..5181ff886166 100644 --- a/pkgs/development/libraries/imlib2/default.nix +++ b/pkgs/development/libraries/imlib2/default.nix @@ -1,4 +1,8 @@ -{ stdenv, fetchurl, xlibsWrapper, libjpeg, libtiff, giflib, libpng, bzip2, pkgconfig }: +{ stdenv, fetchurl, libjpeg, libtiff, giflib, libpng, bzip2, pkgconfig +, freetype +, x11Support ? true, xlibsWrapper ? null }: + +with stdenv.lib; stdenv.mkDerivation rec { name = "imlib2-1.4.9"; @@ -8,7 +12,8 @@ stdenv.mkDerivation rec { sha256 = "08809xxk2555yj6glixzw9a0x3x8cx55imd89kj3r0h152bn8a3x"; }; - buildInputs = [ xlibsWrapper libjpeg libtiff giflib libpng bzip2 ]; + buildInputs = [ libjpeg libtiff giflib libpng bzip2 freetype ] + ++ optional x11Support xlibsWrapper; nativeBuildInputs = [ pkgconfig ]; @@ -21,7 +26,8 @@ stdenv.mkDerivation rec { # Do not build amd64 assembly code on Darwin, because it fails to compile # with unknow directive errors - configureFlags = if stdenv.isDarwin then [ "--enable-amd64=no" ] else null; + configureFlags = optional stdenv.isDarwin "--enable-amd64=no" + ++ optional (!x11Support) "--without-x"; meta = { description = "Image manipulation library"; @@ -34,8 +40,8 @@ stdenv.mkDerivation rec { easily, without sacrificing speed. ''; - license = stdenv.lib.licenses.free; - platforms = stdenv.lib.platforms.unix; - maintainers = with stdenv.lib.maintainers; [ spwhitt ]; + license = licenses.free; + platforms = platforms.unix; + maintainers = with maintainers; [ spwhitt ]; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ecb48fd70887..3c7e2ccdc096 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7452,6 +7452,9 @@ in iml = callPackage ../development/libraries/iml { }; imlib2 = callPackage ../development/libraries/imlib2 { }; + imlib2-nox = imlib2.override { + x11Support = false; + }; imlibsetroot = callPackage ../applications/graphics/imlibsetroot { libXinerama = xorg.libXinerama; } ; From f983743d7521fd880e3a8623c0068dc844221ba2 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 22 Nov 2016 21:09:14 +0100 Subject: [PATCH 3/8] w3m-nox: use imlib2 without X11 support Also, the minimal live CD previously installed both the X11 and non-X11 versions (through services.nixosManual) of w3m. --- nixos/modules/profiles/base.nix | 2 +- pkgs/top-level/all-packages.nix | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/nixos/modules/profiles/base.nix b/nixos/modules/profiles/base.nix index d980c298ffcf..f90d0d992ec8 100644 --- a/nixos/modules/profiles/base.nix +++ b/nixos/modules/profiles/base.nix @@ -7,7 +7,7 @@ # Include some utilities that are useful for installing or repairing # the system. environment.systemPackages = [ - pkgs.w3m # needed for the manual anyway + pkgs.w3m-nox # needed for the manual anyway pkgs.testdisk # useful for repairing boot problems pkgs.mssys # for writing Microsoft boot sectors / MBRs pkgs.efibootmgr diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3c7e2ccdc096..8550ad5c74cd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15105,13 +15105,15 @@ in # Version without X11 w3m-nox = w3m.override { x11Support = false; + imlib2 = imlib2-nox; }; # Version for batch text processing, not a good browser w3m-batch = w3m.override { graphicsSupport = false; - x11Support = false; mouseSupport = false; + x11Support = false; + imlib2 = imlib2-nox; }; weechat = callPackage ../applications/networking/irc/weechat { From d64bf1fdadaac6f24a11de1ed83ca85d7001838e Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 22 Nov 2016 22:11:25 +0100 Subject: [PATCH 4/8] imlib2: use multiple outputs --- pkgs/development/libraries/imlib2/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/development/libraries/imlib2/default.nix b/pkgs/development/libraries/imlib2/default.nix index 5181ff886166..a6ad33d842c9 100644 --- a/pkgs/development/libraries/imlib2/default.nix +++ b/pkgs/development/libraries/imlib2/default.nix @@ -29,6 +29,12 @@ stdenv.mkDerivation rec { configureFlags = optional stdenv.isDarwin "--enable-amd64=no" ++ optional (!x11Support) "--without-x"; + outputs = [ "out" "bin" "dev" ]; + + postInstall = '' + moveToOutput bin/imlib2-config "$dev" + ''; + meta = { description = "Image manipulation library"; From da600849e3f402ce47782e2bc39a1f21a355dfd5 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 22 Nov 2016 22:24:37 +0100 Subject: [PATCH 5/8] nixos: disable sound for minimal ISO Saves a few megabytes of ALSA stuff. --- nixos/modules/profiles/minimal.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixos/modules/profiles/minimal.nix b/nixos/modules/profiles/minimal.nix index b047b7063653..e2497d04252e 100644 --- a/nixos/modules/profiles/minimal.nix +++ b/nixos/modules/profiles/minimal.nix @@ -14,4 +14,6 @@ with lib; programs.man.enable = mkDefault false; programs.info.enable = mkDefault false; + + sound.enable = mkDefault false; } From 6de991bd95953493447e03cb87f181e4c4a547e6 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 22 Nov 2016 22:25:55 +0100 Subject: [PATCH 6/8] nixos: compress squashfs with xz --- nixos/lib/make-squashfs.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/lib/make-squashfs.nix b/nixos/lib/make-squashfs.nix index 3b640334e17a..2baa4f667607 100644 --- a/nixos/lib/make-squashfs.nix +++ b/nixos/lib/make-squashfs.nix @@ -25,6 +25,6 @@ stdenv.mkDerivation { # Generate the squashfs image. mksquashfs nix-path-registration $storePaths $out \ - -keep-as-directory -all-root + -keep-as-directory -all-root -comp xz ''; } From 7974d7493a6275aacf4e6d8717db168ccd6930e7 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Wed, 23 Nov 2016 01:05:28 +0100 Subject: [PATCH 7/8] linux: compress kernel image with xz --- pkgs/os-specific/linux/kernel/common-config.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index e650b7abc1c7..ab5af38d8b67 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -27,6 +27,8 @@ with stdenv.lib; MODULE_COMPRESS_XZ y ''} + KERNEL_XZ y + # Debugging. DEBUG_KERNEL y TIMER_STATS y From 1d08acb3053936b6d67bbdbfb06a66f5f64bdc9e Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Wed, 23 Nov 2016 01:31:44 +0100 Subject: [PATCH 8/8] giblib: fix compat with imlib2 multiple outputs --- pkgs/development/libraries/giblib/default.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/giblib/default.nix b/pkgs/development/libraries/giblib/default.nix index 9a73b82f8884..17847695f973 100644 --- a/pkgs/development/libraries/giblib/default.nix +++ b/pkgs/development/libraries/giblib/default.nix @@ -2,16 +2,19 @@ stdenv.mkDerivation rec { name = "giblib-1.2.4"; - + src = fetchurl { url = "http://linuxbrit.co.uk/downloads/${name}.tar.gz"; sha256 = "1b4bmbmj52glq0s898lppkpzxlprq9aav49r06j2wx4dv3212rhp"; }; - - buildInputs = [xlibsWrapper imlib2]; + + buildInputs = [ xlibsWrapper ]; + propagatedBuildInputs = [ imlib2 ]; meta = { homepage = http://linuxbrit.co.uk/giblib/; + description = "wrapper library for imlib2, and other stuff"; platforms = stdenv.lib.platforms.unix; + license = stdenv.lib.licenses.mit; }; }