Browse Source

new approach 2

master
Lucian Pricop 2 years ago
parent
commit
2623817f68
  1. 40
      new2/default.nix

40
new2/default.nix

@ -5,8 +5,9 @@
## 1. Import a list of available software packages.
## 2. Pick a list of specific packages.
{
system ? builtins.currentSystem,
{ pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem
}:
################################################################################
@ -35,30 +36,8 @@ let
## Observe: The notation `import (...url...) {...options...}` accepts a list of options.
## This can be useful if you need custom compilation options for some packages.
pkgs = import (fetchTarball https://github.com/NixOS/nixpkgs-channels/archive/nixos-18.09.tar.gz) {
inherit system;
};
####
## Import an older version of the standard package repository (nixpkgs v18.03). Assign it the name "oldPkgs".
##
## Observe: PHP 5.6 and PHP 7.0 are no longer distributed in nixpkgs
## v18.09+. But you can still get them from nixpkgs v18.03.
##
## Observe: This is not commonly done in the official "nixpkgs", but it's
## handy if you need to mix+match different versions.
##
## Observe: Older builds used libmysqlclient instead of mysqlnd. That can
## be problematic with, e.g., Drush+Drupal 8. So we set some custom build
## options.
oldPkgs = import (fetchTarball https://github.com/NixOS/nixpkgs-channels/archive/nixos-18.03.tar.gz) {
pkgs = import (fetchTarball https://github.com/NixOS/nixpkgs-channels/archive/nixos-20.03.tar.gz) {
inherit system;
config = {
php = {
mysqlnd = false;
};
};
};
####
@ -72,15 +51,14 @@ let
## By default, we download a specific version of loco. But if you had a
## local codebase for development purposes, you could use that instead.
loco = callPackage (fetchTarball https://github.com/totten/loco/archive/v0.2.1.tar.gz) {};
# loco = callPackage /home/myuser/src/loco { inherit pkgs; };
ramdisk = callPackage (fetchTarball https://github.com/totten/ramdisk/archive/5c699fbeb8ce3d8f3862a726e1e2684067b237dd.tar.gz) {};
ramdisk = callPackage (fetchTarball https://github.com/totten/ramdisk/archive/master.tar.gz) {};
## Generating php.ini requires some special work.
phpExtLoader = extSpec: (callPackage ./.loco/pkgs/php-exts/default.nix ({ inherit pkgs; } // extSpec));
################################################################################
sd-core = callPackage (fetchTarball https://git.law/newroco/searchanddisplace-core/archive/master.tar.gz) {};
################################################################################
## Now, we have a list of available software packages.
## Let's define the "locolamp" project and include some specific dependencies.
@ -106,7 +84,6 @@ in [
# pkgs.mailcatcher
## CLI utilities
loco
pkgs.bzip2
pkgs.curl
pkgs.git
@ -119,6 +96,7 @@ in [
##pkgs.unzip
pkgs.which
pkgs.zip
sd-core
## Aside: Downloading a different version of PHP or MySQL or NodeJS is
## simple, but bear in mind: this is upgrading (or downgrading). You

Loading…
Cancel
Save