]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - virtual/eldiron.nix
Bubble up the imports to the main file
[perso/Immae/Config/Nix.git] / virtual / eldiron.nix
index 49d426455c18aaca025aceef903a53009ac17ecc..63106d603da53da37694a1fa8d4c1f659b80fcf7 100644 (file)
@@ -5,10 +5,37 @@
   };
 
   eldiron = { config, pkgs, ... }:
-    let mypkgs = import ./packages.nix;
-        mylibs = import ../libs.nix;
+    with import ../libs.nix;
+    let
+        mypkgs = nixpkgs_unstable.callPackage ./packages.nix {
+          inherit checkEnv fetchedGitPrivate fetchedGithub;
+          gitwebOverride = nixpkgs_unstable.gitweb.overrideAttrs(old: {
+            installPhase = old.installPhase + ''
+              cp -r ${./packages/gitweb} $out/gitweb-theme;
+              '';
+          });
+        };
     in
   {
+    # FIXME: they are not overriden in packages.nix
+    # (see nix-store -q --tree /nix/var/nix/profiles/system)
+    nixpkgs.config.packageOverrides = oldpkgs: rec {
+      postgresql = postgresql111;
+      postgresql111 = oldpkgs.postgresql100.overrideAttrs(old: rec {
+        passthru = old.passthru // { psqlSchema = "11.0"; };
+        name = "postgresql-11.1";
+        src = pkgs.fetchurl {
+          url = "mirror://postgresql/source/v11.1/${name}.tar.bz2";
+          sha256 = "026v0sicsh7avzi45waf8shcbhivyxmi7qgn9fd1x0vl520mx0ch";
+        };
+      });
+      mariadb = mariadbPAM;
+      mariadbPAM = oldpkgs.mariadb.overrideAttrs(old: rec {
+        cmakeFlags = old.cmakeFlags ++ [ "-DWITH_AUTHENTICATION_PAM=ON" ];
+        buildInputs = old.buildInputs ++ [ pkgs.pam ];
+      });
+    };
+
     networking = {
       firewall = {
         enable = true;
         chown redis /run/redis
         '';
       gitolite =
-        assert mylibs.checkEnv "NIXOPS_GITOLITE_LDAP_PASSWORD";
+        assert checkEnv "NIXOPS_GITOLITE_LDAP_PASSWORD";
         let
-        gitolite_ldap_groups = mylibs.wrap {
+        gitolite_ldap_groups = wrap {
           name = "gitolite_ldap_groups.sh";
           file = ./packages/gitolite_ldap_groups.sh;
           vars = {
 
     environment.etc."ssh/ldap_authorized_keys" = let
       ldap_authorized_keys =
-        assert mylibs.checkEnv "NIXOPS_SSHD_LDAP_PASSWORD";
-        mylibs.wrap {
+        assert checkEnv "NIXOPS_SSHD_LDAP_PASSWORD";
+        wrap {
           name = "ldap_authorized_keys";
           file = ./ldap_authorized_keys.sh;
           vars = {
         };
         ldap = {
           modules = [ "ldap" "authnz_ldap" ];
-          extraConfig = assert mylibs.checkEnv "NIXOPS_HTTP_LDAP_PASSWORD"; ''
+          extraConfig = assert checkEnv "NIXOPS_HTTP_LDAP_PASSWORD"; ''
             <IfModule ldap_module>
               LDAPSharedCacheSize 500000
               LDAPCacheEntries 1024
 
     security.pam.services = let
       pam_ldap = pkgs.pam_ldap;
-      pam_ldap_mysql = assert mylibs.checkEnv "NIXOPS_MYSQL_PAM_PASSWORD";
+      pam_ldap_mysql = assert checkEnv "NIXOPS_MYSQL_PAM_PASSWORD";
               pkgs.writeText "mysql.conf" ''
         host ldap.immae.eu
         base dc=immae,dc=eu
     # FIXME: ssl
     services.mysql = rec {
       enable = true;
-      package = pkgs.mariadb.overrideAttrs(old: rec {
-        cmakeFlags = old.cmakeFlags ++ [ "-DWITH_AUTHENTICATION_PAM=ON" ];
-        buildInputs = old.buildInputs ++ [ pkgs.pam ];
-      });
+      package = pkgs.mariadb;
     };
 
     # FIXME: initial sync
     # FIXME: ssl
     services.postgresql = rec {
       enable = true;
-      package = pkgs.postgresql100.overrideAttrs(old: rec {
-        passthru = old.passthru // { psqlSchema = "11.0"; };
-        name = "postgresql-11.1";
-        src = pkgs.fetchurl {
-          url = "mirror://postgresql/source/v11.1/${name}.tar.bz2";
-          sha256 = "026v0sicsh7avzi45waf8shcbhivyxmi7qgn9fd1x0vl520mx0ch";
-        };
-      });
+      package = pkgs.postgresql;
       enableTCPIP = true;
       extraConfig = ''
         max_connections = 100