]> git.immae.eu Git - perso/Immae/Config/Nix.git/commitdiff
Upgrade to nixos-unstable
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Sun, 5 Apr 2020 13:57:20 +0000 (15:57 +0200)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Sun, 5 Apr 2020 22:25:00 +0000 (00:25 +0200)
48 files changed:
modules/naemon/default.nix
modules/opendmarc.nix
modules/private/certificates.nix
modules/private/databases/mariadb.nix
modules/private/databases/openldap/default.nix
modules/private/databases/postgresql.nix
modules/private/ftp.nix
modules/private/monitoring/status.nix
modules/private/system.nix
modules/private/system/backup-2.nix
modules/private/system/dilion.nix
modules/private/tasks/default.nix
modules/webapps/diaspora.nix
modules/webapps/mastodon.nix
modules/webapps/mediagoblin.nix
modules/webapps/peertube.nix
modules/websites/httpd-service-builder.nix
modules/websites/location-options.nix [deleted file]
modules/websites/vhost-options.nix [deleted file]
nix/sources.json
nixops/Makefile
overlays/bonfire/default.nix [new file with mode: 0644]
overlays/databases/mysql/default.nix
overlays/default.nix
overlays/neomutt/commands.patch [deleted file]
overlays/neomutt/default.nix [deleted file]
overlays/pelican/default.nix
overlays/pelican/pelican.json [deleted file]
overlays/profanity/default.nix [deleted file]
overlays/simp_le/default.nix [deleted file]
overlays/vit/default.nix [deleted file]
overlays/vit/vit.json [deleted file]
overlays/weechat/default.nix
pkgs/crypto/cardano-cli/default.nix
pkgs/crypto/iota-cli-app/default.nix
pkgs/mtop/default.nix
pkgs/note/default.nix
pkgs/private/webapps/aten/default.nix
pkgs/python-packages/buildbot/plugins/buildslist/default.nix
pkgs/python-packages/wokkel.nix
pkgs/simp_le/default.nix [deleted file]
pkgs/telegram-cli/default.nix
pkgs/telegram-cli/telegram-cli.json
pkgs/telegram-cli/telegram-cli.patch [deleted file]
pkgs/terminal-velocity/default.nix
pkgs/tiv/default.nix
pkgs/webapps/mediagoblin/default.nix
pkgs/webapps/peertube/default.nix

index 38e99a9c6448e475275f6832a81c5f8db49ded0c..976de6937bc1adca87a9165458db9d4594f926e8 100644 (file)
@@ -137,18 +137,18 @@ in
       }
     ];
 
-    users.users = optionalAttrs (cfg.user == "naemon") (singleton
-      {
-        name = "naemon";
+    users.users = optionalAttrs (cfg.user == "naemon") {
+      naemon = {
         group = cfg.group;
         uid   = config.ids.uids.nagios;
         extraGroups = [ "keys" ];
-      });
-    users.groups = optionalAttrs (cfg.user == "naemon") (singleton
-      {
-        name = "naemon";
-        gid   = config.ids.gids.nagios;
-      });
+      };
+    };
+    users.groups = optionalAttrs (cfg.user == "naemon") {
+      naemon = {
+        gid = config.ids.gids.nagios;
+      };
+    };
 
     services.filesWatcher.naemon = {
       paths = [ config.secrets.fullPaths."naemon/resources.cfg" ];
index e18ec82a66ef466a30e3d0e80b100876a7b8809b..6137d100d68d95ffa4f589ff11a53f592379251f 100644 (file)
@@ -59,16 +59,18 @@ in {
 
   config = mkIf cfg.enable {
 
-    users.users = optionalAttrs (cfg.user == "opendmarc") (singleton
-      { name = "opendmarc";
+    users.users = optionalAttrs (cfg.user == "opendmarc") {
+      opendmarc = {
         group = cfg.group;
         uid = config.ids.uids.opendmarc;
-      });
+      };
+    };
 
-    users.groups = optionalAttrs (cfg.group == "opendmarc") (singleton
-      { name = "opendmarc";
+    users.groups = optionalAttrs (cfg.group == "opendmarc") {
+      opendmarc = {
         gid = config.ids.gids.opendmarc;
-      });
+      };
+    };
 
     environment.systemPackages = [ pkgs.opendmarc ];
 
index 2bf27302edb8ae8ad435c7df8fb2f4c1d2bfc9ef..82ff52f04ba0f437966e6fdbff7472cb2bf6e645 100644 (file)
@@ -12,7 +12,6 @@
           (lib.optionalString config.services.httpd.Inte.enable "systemctl reload httpdInte.service")
           (lib.optionalString config.services.nginx.enable "systemctl reload nginx.service")
         ];
-        plugins = [ "cert.pem" "chain.pem" "fullchain.pem" "full.pem" "key.pem" "account_key.json" "account_reg.json"];
       };
       description = "Default configuration for certificates";
     };
@@ -30,6 +29,7 @@
     myServices.databasesCerts = config.myServices.certificates.certConfig;
     myServices.ircCerts = config.myServices.certificates.certConfig;
 
+    security.acme.acceptTerms = true;
     security.acme.preliminarySelfsigned = true;
 
     security.acme.certs = {
     };
 
     systemd.services = lib.attrsets.mapAttrs' (k: v:
-      lib.attrsets.nameValuePair "acme-selfsigned-${k}" (lib.mkBefore { script =
-        (lib.optionalString (builtins.elem "cert.pem" v.plugins) ''
+      lib.attrsets.nameValuePair "acme-selfsigned-${k}" { script = lib.mkBefore ''
         cp $workdir/server.crt ${config.security.acme.certs."${k}".directory}/cert.pem
         chown '${v.user}:${v.group}' ${config.security.acme.certs."${k}".directory}/cert.pem
         chmod ${if v.allowKeysForGroup then "750" else "700"} ${config.security.acme.certs."${k}".directory}/cert.pem
-        '') +
-        (lib.optionalString (builtins.elem "chain.pem" v.plugins) ''
+
         cp $workdir/ca.crt ${config.security.acme.certs."${k}".directory}/chain.pem
         chown '${v.user}:${v.group}' ${config.security.acme.certs."${k}".directory}/chain.pem
         chmod ${if v.allowKeysForGroup then "750" else "700"} ${config.security.acme.certs."${k}".directory}/chain.pem
-        '')
-      ; })
+        '';
+      }
     ) config.security.acme.certs //
     lib.attrsets.mapAttrs' (k: data:
       lib.attrsets.nameValuePair "acme-${k}" {
index 04e4bd626d02ee659eb5307e97a9671aa24c1ed8..36edaeb4ad5e52a8ef040c3afc775e6f8c5b5f08 100644 (file)
@@ -94,26 +94,27 @@ in {
       enable = true;
       package = cfg.package;
       dataDir = cfg.dataDir;
-      extraOptions = ''
-        ssl_ca = ${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt
-        ssl_key = ${config.security.acme.certs.mysql.directory}/key.pem
-        ssl_cert = ${config.security.acme.certs.mysql.directory}/fullchain.pem
+      settings = {
+        mysqld = {
+          ssl_ca = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt";
+          ssl_key = "${config.security.acme.certs.mysql.directory}/key.pem";
+          ssl_cert = "${config.security.acme.certs.mysql.directory}/fullchain.pem";
 
-        # for replication
-        log-bin=mariadb-bin
-        server-id=1
+          # for replication
+          log-bin = "mariadb-bin";
+          server-id = "1";
 
-        # this introduces a small delay before storing on disk, but
-        # makes it order of magnitudes quicker
-        innodb_flush_log_at_trx_commit = 0
-        '';
+          # this introduces a small delay before storing on disk, but
+          # makes it order of magnitudes quicker
+          innodb_flush_log_at_trx_commit = "0";
+        };
+      };
     };
 
     users.users.mysql.extraGroups = [ "keys" ];
     security.acme.certs."mysql" = config.myServices.databasesCerts // {
       user = "mysql";
       group = "mysql";
-      plugins = [ "fullchain.pem" "key.pem" "account_key.json" "account_reg.json" ];
       domain = "db-1.immae.eu";
       postRun = ''
         systemctl restart mysql.service
@@ -164,23 +165,21 @@ in {
 
     security.pam.services = let
       pam_ldap = "${pkgs.pam_ldap}/lib/security/pam_ldap.so";
-    in [
-      {
-        name = "mysql";
+    in {
+      mysql = {
         text = ''
           # https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/
           auth    required ${pam_ldap} config=${config.secrets.location}/mysql/pam
           account required ${pam_ldap} config=${config.secrets.location}/mysql/pam
           '';
-      }
-      {
-        name = "mysql_replication";
+      };
+      mysql_replication = {
         text = ''
           auth    required ${pam_ldap} config=${config.secrets.location}/mysql/pam_replication
           account required ${pam_ldap} config=${config.secrets.location}/mysql/pam_replication
           '';
-      }
-    ];
+      };
+    };
 
   };
 }
index efe93795c79f1901c03ff0c737230e4ff4eb61a4..302aa04c8a8e1fc9a7c900eb067987ebbd5d2d45 100644 (file)
@@ -107,7 +107,6 @@ in
     security.acme.certs."ldap" = config.myServices.databasesCerts // {
       user = "openldap";
       group = "openldap";
-      plugins = [ "fullchain.pem" "key.pem" "cert.pem" "account_key.json" "account_reg.json" ];
       domain = "ldap.immae.eu";
       postRun = ''
         systemctl restart openldap.service
index d0b1a7569b8276d7aa8d3ba5b1c225905d2d03a9..c442a63c01b727913b41f5e275c130fd918497db 100644 (file)
@@ -100,7 +100,6 @@ in {
     security.acme.certs."postgresql" = config.myServices.databasesCerts // {
       user = "postgres";
       group = "postgres";
-      plugins = [ "fullchain.pem" "key.pem" "account_key.json" "account_reg.json" ];
       domain = "db-1.immae.eu";
       postRun = ''
         systemctl reload postgresql.service
@@ -212,22 +211,20 @@ in {
 
     security.pam.services = let
       pam_ldap = "${pkgs.pam_ldap}/lib/security/pam_ldap.so";
-    in [
-      {
-        name = "postgresql";
+    in {
+      postgresql = {
         text = ''
           auth    required ${pam_ldap} config=${config.secrets.location}/postgresql/pam
           account required ${pam_ldap} config=${config.secrets.location}/postgresql/pam
           '';
-      }
-      {
-        name = "postgresql_replication";
+      };
+      postgresql_replication = {
         text = ''
           auth    required ${pam_ldap} config=${config.secrets.location}/postgresql/pam_replication
           account required ${pam_ldap} config=${config.secrets.location}/postgresql/pam_replication
           '';
-      }
-    ];
+      };
+    };
   };
 }
 
index 417af87e7a98a1aff34001fbdab1f4ddd6d9be4c..8ae4e650bb41facba3047842f05c8a68382ffc32 100644 (file)
@@ -32,16 +32,13 @@ in
       };
     };
 
-    users.users = [
-      {
-        name = "ftp";
-        uid = config.ids.uids.ftp; # 8
-        group = "ftp";
-        description = "Anonymous FTP user";
-        home = "/homeless-shelter";
-        extraGroups = [ "keys" ];
-      }
-    ];
+    users.users.ftp = {
+      uid = config.ids.uids.ftp; # 8
+      group = "ftp";
+      description = "Anonymous FTP user";
+      home = "/homeless-shelter";
+      extraGroups = [ "keys" ];
+    };
 
     users.groups.ftp.gid = config.ids.gids.ftp;
 
index d25d9344247d35acc806cc7c6322d54d4a93ed44..7810a1f8e90e2edf9a5d43aa902e56c92d28f7e4 100644 (file)
         locations."/".proxyPass = "http://unix:/run/naemon-status/socket.sock:/";
       };
     };
-    security.acme.certs."${name}".extraDomains."status.immae.eu" = null;
+    security.acme.certs."${name}" = {
+      extraDomains."status.immae.eu" = null;
+      user = config.services.nginx.user;
+      group = config.services.nginx.group;
+    };
 
     myServices.certificates.enable = true;
     networking.firewall.allowedTCPPorts = [ 80 443 ];
index 64fc2d972b3452ed61ec7137ec6497ee54100694..70b74d00bcd95862bcdf829d0b48e3c8a84626aa 100644 (file)
     users.mutableUsers = false;
 
     environment.etc.cnagios.source = "${pkgs.cnagios}/share/doc/cnagios";
-    environment.systemPackages =
-      let
-        home-manager = builtins.fetchGit {
-          url = "https://github.com/rycee/home-manager.git";
-          rev = "ef64bc598f28818d56c86629dad98b468af9c071";
-          ref = "release-19.03";
-        };
-      in
-      [
-        pkgs.git
-        pkgs.vim
-      ] ++
-      (lib.optional
-        (builtins.length (config.hostEnv.users pkgs) > 0)
-        ((pkgs.callPackage home-manager {}).home-manager)
-      );
+    environment.systemPackages = [
+      pkgs.git
+      pkgs.vim
+    ] ++
+    (lib.optional (builtins.length (config.hostEnv.users pkgs) > 0) pkgs.home-manager);
   };
 }
index 4e24c1244253009ea0b844b319542cde52f0cbb1..6829f1b036676594d1972171b72e220f9a1448c9 100644 (file)
@@ -1,5 +1,5 @@
 { privateFiles }:
-{ config, pkgs, resources, ... }:
+{ config, pkgs, resources, name, ... }:
 {
   boot.kernelPackages = pkgs.linuxPackages_latest;
   myEnv = import "${privateFiles}/environment.nix" // { inherit privateFiles; };
   };
 
   myServices.certificates.enable = true;
+  security.acme.certs."${name}" = {
+    user = config.services.nginx.user;
+    group = config.services.nginx.group;
+  };
   services.nginx = {
     enable = true;
     recommendedOptimisation = true;
index 788c2dcaf1788a12a943d7f3593359b73f6cc9e4..911c76d6c002a23dc09591efa47cf1849be974d5 100644 (file)
 
   # This is equivalent to setting environment.sessionVariables.NIX_PATH
   nix.nixPath = [
-    "home-manager=https://github.com/rycee/home-manager/archive/release-19.03.tar.gz"
-    "nixpkgs=https://nixos.org/channels/nixos-19.03/nixexprs.tar.xz"
+    "home-manager=https://github.com/rycee/home-manager/archive/master.tar.gz"
+    "nixpkgs=https://nixos.org/channels/nixos-unstable/nixexprs.tar.xz"
   ];
   nix.binaryCaches = [ "https://hydra.iohk.io" "https://cache.nixos.org" ];
   nix.binaryCachePublicKeys = [ "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=" ];
index 42cc8d282588e4778bdcc76973146e3b27dfb1a2..43d40d6f18e79d64eaf3b88759598054b70eb0da 100644 (file)
@@ -197,7 +197,6 @@ in {
 
     security.acme.certs."task" = config.myServices.certificates.certConfig // {
       inherit user group;
-      plugins = [ "fullchain.pem" "key.pem" "cert.pem" "account_key.json" "account_reg.json" ];
       domain = fqdn;
       postRun = ''
         systemctl restart taskserver.service
index 65599b73b228e43333cb13773cd3d33c0b894368..d9e9989f1b3afed5c28fd4d6a4c8a930e610a73f 100644 (file)
@@ -108,19 +108,21 @@ in
   };
 
   config = lib.mkIf cfg.enable {
-    users.users = lib.optionalAttrs (cfg.user == name) (lib.singleton {
-      inherit name;
-      inherit uid;
-      group = cfg.group;
-      description = "Diaspora user";
-      home = cfg.dataDir;
-      packages = [ cfg.workdir.gems pkgs.nodejs cfg.workdir.gems.ruby ];
-      useDefaultShell = true;
-    });
-    users.groups = lib.optionalAttrs (cfg.group == name) (lib.singleton {
-      inherit name;
-      inherit gid;
-    });
+    users.users = lib.optionalAttrs (cfg.user == name) {
+      "${name}" = {
+        inherit uid;
+        group = cfg.group;
+        description = "Diaspora user";
+        home = cfg.dataDir;
+        packages = [ cfg.workdir.gems pkgs.nodejs cfg.workdir.gems.ruby ];
+        useDefaultShell = true;
+      };
+    };
+    users.groups = lib.optionalAttrs (cfg.group == name) {
+      "${name}" = {
+        inherit gid;
+      };
+    };
 
     systemd.services.diaspora = {
       description = "Diaspora";
index 68531cf3dbad21201ffb5d59416cd5cd78c9fb13..cd550c0e64cf75d81dc5694489e033df88e1597c 100644 (file)
@@ -96,18 +96,20 @@ in
   };
 
   config = lib.mkIf cfg.enable {
-    users.users = lib.optionalAttrs (cfg.user == name) (lib.singleton {
-      inherit name;
-      inherit uid;
-      group = cfg.group;
-      description = "Mastodon user";
-      home = cfg.dataDir;
-      useDefaultShell = true;
-    });
-    users.groups = lib.optionalAttrs (cfg.group == name) (lib.singleton {
-      inherit name;
-      inherit gid;
-    });
+    users.users = lib.optionalAttrs (cfg.user == name) {
+      "${name}" = {
+        inherit uid;
+        group = cfg.group;
+        description = "Mastodon user";
+        home = cfg.dataDir;
+        useDefaultShell = true;
+      };
+    };
+    users.groups = lib.optionalAttrs (cfg.group == name) {
+      "${name}" = {
+        inherit gid;
+      };
+    };
 
     systemd.services.mastodon-streaming = {
       description = "Mastodon Streaming";
index 78bbef6fadd139d48e97be7e4ba0efa85044f25f..dbc4c2b19043aae5647a60820e987d14e4c9e33b 100644 (file)
@@ -151,18 +151,20 @@ in
   };
 
   config = lib.mkIf cfg.enable {
-    users.users = lib.optionalAttrs (cfg.user == name) (lib.singleton {
-      inherit name;
-      inherit uid;
-      group = cfg.group;
-      description = "Mediagoblin user";
-      home = cfg.dataDir;
-      useDefaultShell = true;
-    });
-    users.groups = lib.optionalAttrs (cfg.group == name) (lib.singleton {
-      inherit name;
-      inherit gid;
-    });
+    users.users = lib.optionalAttrs (cfg.user == name) {
+      "${name}" = {
+        inherit uid;
+        group = cfg.group;
+        description = "Mediagoblin user";
+        home = cfg.dataDir;
+        useDefaultShell = true;
+      };
+    };
+    users.groups = lib.optionalAttrs (cfg.group == name) {
+      "${name}" = {
+        inherit gid;
+      };
+    };
 
     systemd.services.mediagoblin-web = {
       description = "Mediagoblin service";
index 89dcc67a4517932381c711d76d325c2b087d3389..281ff8bc8bbfbbbdd6953c17d0f7ad99648bdcc6 100644 (file)
@@ -53,18 +53,20 @@ in
   };
 
   config = lib.mkIf cfg.enable {
-    users.users = lib.optionalAttrs (cfg.user == name) (lib.singleton {
-      inherit name;
-      inherit uid;
-      group = cfg.group;
-      description = "Peertube user";
-      home = cfg.dataDir;
-      useDefaultShell = true;
-    });
-    users.groups = lib.optionalAttrs (cfg.group == name) (lib.singleton {
-      inherit name;
-      inherit gid;
-    });
+    users.users = lib.optionalAttrs (cfg.user == name) {
+      "${name}" = {
+        inherit uid;
+        group = cfg.group;
+        description = "Peertube user";
+        home = cfg.dataDir;
+        useDefaultShell = true;
+      };
+    };
+    users.groups = lib.optionalAttrs (cfg.group == name) {
+      "${name}" = {
+        inherit gid;
+      };
+    };
 
     systemd.services.peertube = {
       description = "Peertube";
index ec79a90c0f0dbd583d06af8bdc8b75744c91cf9d..c5f72f96c56a6a08c787c46b32d4784bc5a726b2 100644 (file)
@@ -470,7 +470,7 @@ in
       };
 
       virtualHosts = mkOption {
-        type = with types; attrsOf (submodule (import ./vhost-options.nix));
+        type = with types; attrsOf (submodule (import <nixpkgs/nixos/modules/services/web-servers/apache-httpd/vhost-options.nix>));
         default = {
           localhost = {
             documentRoot = "${pkg}/htdocs";
diff --git a/modules/websites/location-options.nix b/modules/websites/location-options.nix
deleted file mode 100644 (file)
index 8ea88f9..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-{ config, lib, name, ... }:
-let
-  inherit (lib) mkOption types;
-in
-{
-  options = {
-
-    proxyPass = mkOption {
-      type = with types; nullOr str;
-      default = null;
-      example = "http://www.example.org/";
-      description = ''
-        Sets up a simple reverse proxy as described by <link xlink:href="https://httpd.apache.org/docs/2.4/howto/reverse_proxy.html#simple" />.
-      '';
-    };
-
-    index = mkOption {
-      type = with types; nullOr str;
-      default = null;
-      example = "index.php index.html";
-      description = ''
-        Adds DirectoryIndex directive. See <link xlink:href="https://httpd.apache.org/docs/2.4/mod/mod_dir.html#directoryindex" />.
-      '';
-    };
-
-    alias = mkOption {
-      type = with types; nullOr path;
-      default = null;
-      example = "/your/alias/directory";
-      description = ''
-        Alias directory for requests. See <link xlink:href="https://httpd.apache.org/docs/2.4/mod/mod_alias.html#alias" />.
-      '';
-    };
-
-    extraConfig = mkOption {
-      type = types.lines;
-      default = "";
-      description = ''
-        These lines go to the end of the location verbatim.
-      '';
-    };
-
-    priority = mkOption {
-      type = types.int;
-      default = 1000;
-      description = ''
-        Order of this location block in relation to the others in the vhost.
-        The semantics are the same as with `lib.mkOrder`. Smaller values have
-        a greater priority.
-      '';
-    };
-
-  };
-}
diff --git a/modules/websites/vhost-options.nix b/modules/websites/vhost-options.nix
deleted file mode 100644 (file)
index 263980a..0000000
+++ /dev/null
@@ -1,275 +0,0 @@
-{ config, lib, name, ... }:
-let
-  inherit (lib) literalExample mkOption nameValuePair types;
-in
-{
-  options = {
-
-    hostName = mkOption {
-      type = types.str;
-      default = name;
-      description = "Canonical hostname for the server.";
-    };
-
-    serverAliases = mkOption {
-      type = types.listOf types.str;
-      default = [];
-      example = ["www.example.org" "www.example.org:8080" "example.org"];
-      description = ''
-        Additional names of virtual hosts served by this virtual host configuration.
-      '';
-    };
-
-    listen = mkOption {
-      type = with types; listOf (submodule ({
-        options = {
-          port = mkOption {
-            type = types.port;
-            description = "Port to listen on";
-          };
-          ip = mkOption {
-            type = types.str;
-            default = "*";
-            description = "IP to listen on. 0.0.0.0 for IPv4 only, * for all.";
-          };
-          ssl = mkOption {
-            type = types.bool;
-            default = false;
-            description = "Whether to enable SSL (https) support.";
-          };
-        };
-      }));
-      default = [];
-      example = [
-        { ip = "195.154.1.1"; port = 443; ssl = true;}
-        { ip = "192.154.1.1"; port = 80; }
-        { ip = "*"; port = 8080; }
-      ];
-      description = ''
-        Listen addresses and ports for this virtual host.
-        <note><para>
-          This option overrides <literal>addSSL</literal>, <literal>forceSSL</literal> and <literal>onlySSL</literal>.
-        </para></note>
-      '';
-    };
-
-    enableSSL = mkOption {
-      type = types.bool;
-      visible = false;
-      default = false;
-    };
-
-    addSSL = mkOption {
-      type = types.bool;
-      default = false;
-      description = ''
-        Whether to enable HTTPS in addition to plain HTTP. This will set defaults for
-        <literal>listen</literal> to listen on all interfaces on the respective default
-        ports (80, 443).
-      '';
-    };
-
-    onlySSL = mkOption {
-      type = types.bool;
-      default = false;
-      description = ''
-        Whether to enable HTTPS and reject plain HTTP connections. This will set
-        defaults for <literal>listen</literal> to listen on all interfaces on port 443.
-      '';
-    };
-
-    forceSSL = mkOption {
-      type = types.bool;
-      default = false;
-      description = ''
-        Whether to add a separate nginx server block that permanently redirects (301)
-        all plain HTTP traffic to HTTPS. This will set defaults for
-        <literal>listen</literal> to listen on all interfaces on the respective default
-        ports (80, 443), where the non-SSL listens are used for the redirect vhosts.
-      '';
-    };
-
-    enableACME = mkOption {
-      type = types.bool;
-      default = false;
-      description = ''
-        Whether to ask Let's Encrypt to sign a certificate for this vhost.
-        Alternately, you can use an existing certificate through <option>useACMEHost</option>.
-      '';
-    };
-
-    useACMEHost = mkOption {
-      type = types.nullOr types.str;
-      default = null;
-      description = ''
-        A host of an existing Let's Encrypt certificate to use.
-        This is useful if you have many subdomains and want to avoid hitting the
-        <link xlink:href="https://letsencrypt.org/docs/rate-limits/">rate limit</link>.
-        Alternately, you can generate a certificate through <option>enableACME</option>.
-        <emphasis>Note that this option does not create any certificates, nor it does add subdomains to existing ones – you will need to create them manually using  <xref linkend="opt-security.acme.certs"/>.</emphasis>
-      '';
-    };
-
-    acmeRoot = mkOption {
-      type = types.str;
-      default = "/var/lib/acme/acme-challenges";
-      description = "Directory for the acme challenge which is PUBLIC, don't put certs or keys in here";
-    };
-
-    sslServerCert = mkOption {
-      type = types.path;
-      example = "/var/host.cert";
-      description = "Path to server SSL certificate.";
-    };
-
-    sslServerKey = mkOption {
-      type = types.path;
-      example = "/var/host.key";
-      description = "Path to server SSL certificate key.";
-    };
-
-    sslServerChain = mkOption {
-      type = types.nullOr types.path;
-      default = null;
-      example = "/var/ca.pem";
-      description = "Path to server SSL chain file.";
-    };
-
-    http2 = mkOption {
-      type = types.bool;
-      default = false;
-      description = ''
-        Whether to enable HTTP 2. HTTP/2 is supported in all multi-processing modules that come with httpd. <emphasis>However, if you use the prefork mpm, there will
-        be severe restrictions.</emphasis> Refer to <link xlink:href="https://httpd.apache.org/docs/2.4/howto/http2.html#mpm-config"/> for details.
-      '';
-    };
-
-    adminAddr = mkOption {
-      type = types.nullOr types.str;
-      default = null;
-      example = "admin@example.org";
-      description = "E-mail address of the server administrator.";
-    };
-
-    documentRoot = mkOption {
-      type = types.nullOr types.path;
-      default = null;
-      example = "/data/webserver/docs";
-      description = ''
-        The path of Apache's document root directory.  If left undefined,
-        an empty directory in the Nix store will be used as root.
-      '';
-    };
-
-    servedDirs = mkOption {
-      type = types.listOf types.attrs;
-      default = [];
-      example = [
-        { urlPath = "/nix";
-          dir = "/home/eelco/Dev/nix-homepage";
-        }
-      ];
-      description = ''
-        This option provides a simple way to serve static directories.
-      '';
-    };
-
-    servedFiles = mkOption {
-      type = types.listOf types.attrs;
-      default = [];
-      example = [
-        { urlPath = "/foo/bar.png";
-          file = "/home/eelco/some-file.png";
-        }
-      ];
-      description = ''
-        This option provides a simple way to serve individual, static files.
-
-        <note><para>
-          This option has been deprecated and will be removed in a future
-          version of NixOS. You can achieve the same result by making use of
-          the <literal>locations.&lt;name&gt;.alias</literal> option.
-        </para></note>
-      '';
-    };
-
-    extraConfig = mkOption {
-      type = types.lines;
-      default = "";
-      example = ''
-        <Directory /home>
-          Options FollowSymlinks
-          AllowOverride All
-        </Directory>
-      '';
-      description = ''
-        These lines go to httpd.conf verbatim. They will go after
-        directories and directory aliases defined by default.
-      '';
-    };
-
-    enableUserDir = mkOption {
-      type = types.bool;
-      default = false;
-      description = ''
-        Whether to enable serving <filename>~/public_html</filename> as
-        <literal>/~<replaceable>username</replaceable></literal>.
-      '';
-    };
-
-    globalRedirect = mkOption {
-      type = types.nullOr types.str;
-      default = null;
-      example = http://newserver.example.org/;
-      description = ''
-        If set, all requests for this host are redirected permanently to
-        the given URL.
-      '';
-    };
-
-    logFormat = mkOption {
-      type = types.str;
-      default = "common";
-      example = "combined";
-      description = ''
-        Log format for Apache's log files. Possible values are: combined, common, referer, agent.
-      '';
-    };
-
-    robotsEntries = mkOption {
-      type = types.lines;
-      default = "";
-      example = "Disallow: /foo/";
-      description = ''
-        Specification of pages to be ignored by web crawlers. See <link
-        xlink:href='http://www.robotstxt.org/'/> for details.
-      '';
-    };
-
-    locations = mkOption {
-      type = with types; attrsOf (submodule (import ./location-options.nix));
-      default = {};
-      example = literalExample ''
-        {
-          "/" = {
-            proxyPass = "http://localhost:3000";
-          };
-          "/foo/bar.png" = {
-            alias = "/home/eelco/some-file.png";
-          };
-        };
-      '';
-      description = ''
-        Declarative location config. See <link
-        xlink:href="https://httpd.apache.org/docs/2.4/mod/core.html#location"/> for details.
-      '';
-    };
-
-  };
-
-  config = {
-
-    locations = builtins.listToAttrs (map (elem: nameValuePair elem.urlPath { alias = elem.file; }) config.servedFiles);
-
-  };
-}
index 7c306c9efded63ccb0747454c178a1ecbb8f4463..09c44558285208a829e8e51868607bf54330b326 100644 (file)
         "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
     },
     "nixpkgs": {
-        "branch": "nixos-19.03",
+        "branch": "nixos-unstable",
         "description": "A read-only mirror of NixOS/nixpkgs tracking the released channels. Send issues and PRs to",
         "homepage": "https://github.com/NixOS/nixpkgs",
         "owner": "NixOS",
         "repo": "nixpkgs-channels",
-        "rev": "34c7eb7545d155cc5b6f499b23a7cb1c96ab4d59",
-        "sha256": "11z6ajj108fy2q5g8y4higlcaqncrbjm3dnv17pvif6avagw4mcb",
+        "rev": "ae6bdcc53584aaf20211ce1814bea97ece08a248",
+        "sha256": "0hjhznns1cxgl3hww2d5si6vhy36pnm53hms9h338v6r633dcy77",
         "type": "tarball",
-        "url": "https://github.com/NixOS/nixpkgs-channels/archive/34c7eb7545d155cc5b6f499b23a7cb1c96ab4d59.tar.gz",
+        "url": "https://github.com/NixOS/nixpkgs-channels/archive/ae6bdcc53584aaf20211ce1814bea97ece08a248.tar.gz",
         "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
     },
     "nixpkgs-nixops": {
-        "branch": "nixos-19.09",
+        "branch": "nixos-unstable",
         "description": "A read-only mirror of NixOS/nixpkgs tracking the released channels. Send issues and PRs to",
         "homepage": "https://github.com/NixOS/nixpkgs",
         "owner": "NixOS",
         "repo": "nixpkgs-channels",
-        "rev": "856dbd1a5c7fd826cf3668ff12a7389be0686f41",
-        "sha256": "1d895i1lc25d2akniaqg2n1jrg2rcd1gih8rpmhyrlv4lpggfmsx",
+        "rev": "ae6bdcc53584aaf20211ce1814bea97ece08a248",
+        "sha256": "0hjhznns1cxgl3hww2d5si6vhy36pnm53hms9h338v6r633dcy77",
         "type": "tarball",
-        "url": "https://github.com/NixOS/nixpkgs-channels/archive/856dbd1a5c7fd826cf3668ff12a7389be0686f41.tar.gz",
+        "url": "https://github.com/NixOS/nixpkgs-channels/archive/ae6bdcc53584aaf20211ce1814bea97ece08a248.tar.gz",
         "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
     },
     "nixpkgs-nixops-next": {
index 8caf8b193bfd2101e8d0cd1927c8dd4ff1a701b1..3cbf50bc2545f64dc2ab2e6c36b1d78cf08ab419 100644 (file)
@@ -55,10 +55,10 @@ dry-run:
        $(NIXOPS_PRIV) deploy --dry-run
 
 build:
-       $(NIXOPS_PRIV) deploy --build-only --max-jobs 1
+       $(NIXOPS_PRIV) deploy --build-only --keep-going
 
 upload:
-       $(NIXOPS_PRIV) deploy --copy-only --max-concurrent-copy 1
+       $(NIXOPS_PRIV) deploy --copy-only
 
 deploy:
        $(NIXOPS_PRIV) deploy
diff --git a/overlays/bonfire/default.nix b/overlays/bonfire/default.nix
new file mode 100644 (file)
index 0000000..68bde20
--- /dev/null
@@ -0,0 +1,24 @@
+self: super: {
+  bonfire = let
+    click = self.python3Packages.click.overridePythonAttrs(old: rec {
+      version = "6.7";
+      src = self.python3Packages.fetchPypi {
+        pname = "click";
+        inherit version;
+        sha256 = "02qkfpykbq35id8glfgwc38yc430427yd05z1wc5cnld8zgicmgi";
+      };
+    });
+  in
+    super.bonfire.overridePythonAttrs(old: {
+      version = "0.0.8";
+      src = self.fetchFromGitHub {
+        owner = "blue-yonder";
+        repo = "bonfire";
+        rev = "0a0f18469d484aba6871fa7421bbb2c00ccefcb0";
+        sha256 = "1y2r537ibghhmk6jngw0zwvh1vn2bihqcvji50ffh1j0qc6q3x6x";
+      };
+      postPatch = "";
+      propagatedBuildInputs = self.lib.remove self.python3Packages.click old.propagatedBuildInputs ++ [ click ];
+      meta.broken = false;
+    });
+}
index 797332bbf9acd601263722113dc4177d37e54e46..24bad1b6e551faf6336f0dac612397ced10aef9a 100644 (file)
@@ -3,16 +3,5 @@ self: super: rec {
   mariadbPAM = super.mariadb.overrideAttrs(old: {
     cmakeFlags = old.cmakeFlags ++ [ "-DWITH_AUTHENTICATION_PAM=ON" ];
     buildInputs = old.buildInputs ++ [ self.pam ];
-    postInstall = old.postInstall + ''
-      # FIXME: hack because mariadb cannot find dialog.so
-      # fixed in 20.03: https://github.com/NixOS/nixpkgs/pull/80768
-      ln -s /nix $out/nix
-      cp "$dev"/lib/mysql/plugin/{caching_sha2_password.so,dialog.so,mysql_clear_password.so,sha256_password.so} "$out"/lib/mysql/plugin
-      '';
-  }) // (with super.mariadb; {
-    inherit client;
-    servier = super.mariadb;
-    inherit connector-c;
-    inherit galera;
   });
 }
index b488fd738b741602899cee1c1d0ba709f7b3c6df..881083dd385e498fd2a6b88b7800dcdd2ec9b8f4 100644 (file)
@@ -4,6 +4,7 @@
 
   bitlbee = import ./bitlbee;
   bitlbee-discord = import ./bitlbee-discord;
+  bonfire = import ./bonfire;
   bundix = import ./bundix;
   dwm = import ./dwm;
   elinks = import ./elinks;
   ldapvi = import ./ldapvi;
   lesspipe = import ./lesspipe;
   mysql = import ./databases/mysql;
-  neomutt = import ./neomutt;
   nixops = import ./nixops;
   pass = import ./pass;
   pelican = import ./pelican;
   postgresql = import ./databases/postgresql;
-  profanity = import ./profanity;
   s6 = import ./s6;
   sc-im = import ./sc-im;
   shaarli = import ./shaarli;
   slrn = import ./slrn;
   taskwarrior = import ./taskwarrior;
   vcsh = import ./vcsh;
-  vit = import ./vit;
   weboob = import ./weboob;
   weechat = import ./weechat;
   ympd = import ./ympd;
   doing = import ./doing;
   xmr-stak = import ./xmr-stak;
-  simp_le = import ./simp_le;
 }
 // import ./python-packages
diff --git a/overlays/neomutt/commands.patch b/overlays/neomutt/commands.patch
deleted file mode 100644 (file)
index 6c910cf..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-commit 763056828abe9716c4dfce754a47d8ecdefb3029
-Author: Ismaël Bouya <ismael.bouya@normalesup.org>
-Date:   Mon Feb 10 16:13:33 2020 +0100
-
-    Fix commands that don’t need to have a non-empty mailbox to be valid
-    
-    Some commands act on the whole mailbox (tag-pattern, delete-pattern,
-    search), and even though they don’t do anything when the mailbox is
-    empty, there is no reason to fail when it happens. This commit removes
-    the check that the mailbox is non-empty before doing said actions.
-
-diff --git a/index.c b/index.c
-index 0f4b9f99f..0adfc19f1 100644
---- a/index.c
-+++ b/index.c
-@@ -1642,7 +1642,7 @@ int mutt_index_menu(struct MuttWindow *dlg)
-       case OP_JUMP:
-       {
-         int msg_num = 0;
--        if (!prereq(Context, menu, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE))
-+        if (!prereq(Context, menu, CHECK_IN_MAILBOX))
-           break;
-         if (isdigit(LastKey))
-           mutt_unget_event(LastKey, 0);
-@@ -1687,7 +1687,7 @@ int mutt_index_menu(struct MuttWindow *dlg)
-       case OP_MAIN_DELETE_PATTERN:
-         if (!prereq(Context, menu,
--                    CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE | CHECK_READONLY | CHECK_ATTACH))
-+                    CHECK_IN_MAILBOX | CHECK_READONLY | CHECK_ATTACH))
-         {
-           break;
-         }
-@@ -1852,12 +1852,17 @@ int mutt_index_menu(struct MuttWindow *dlg)
-         menu->redraw = REDRAW_FULL;
-         break;
--      case OP_SEARCH:
-+      // Initiating a search can happen on an empty mailbox, but
-+      // searching for next/previous/... needs to be on a message and
-+      // thus a non-empty mailbox
-       case OP_SEARCH_REVERSE:
-       case OP_SEARCH_NEXT:
-       case OP_SEARCH_OPPOSITE:
-         if (!prereq(Context, menu, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE))
-           break;
-+      case OP_SEARCH:
-+        if (!prereq(Context, menu, CHECK_IN_MAILBOX))
-+          break;
-         menu->current = mutt_search_command(menu->current, op);
-         if (menu->current == -1)
-           menu->current = menu->oldcurrent;
-@@ -1926,14 +1931,14 @@ int mutt_index_menu(struct MuttWindow *dlg)
-       }
-       case OP_MAIN_TAG_PATTERN:
--        if (!prereq(Context, menu, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE))
-+        if (!prereq(Context, menu, CHECK_IN_MAILBOX))
-           break;
-         mutt_pattern_func(MUTT_TAG, _("Tag messages matching: "));
-         menu->redraw |= REDRAW_INDEX | REDRAW_STATUS;
-         break;
-       case OP_MAIN_UNDELETE_PATTERN:
--        if (!prereq(Context, menu, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE | CHECK_READONLY))
-+        if (!prereq(Context, menu, CHECK_IN_MAILBOX | CHECK_READONLY))
-           break;
-         /* L10N: CHECK_ACL */
-         /* L10N: Due to the implementation details we do not know whether we
-@@ -1950,7 +1955,7 @@ int mutt_index_menu(struct MuttWindow *dlg)
-         break;
-       case OP_MAIN_UNTAG_PATTERN:
--        if (!prereq(Context, menu, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE))
-+        if (!prereq(Context, menu, CHECK_IN_MAILBOX))
-           break;
-         if (mutt_pattern_func(MUTT_UNTAG, _("Untag messages matching: ")) == 0)
-           menu->redraw |= REDRAW_INDEX | REDRAW_STATUS;
-@@ -3189,7 +3194,7 @@ int mutt_index_menu(struct MuttWindow *dlg)
-       }
-       case OP_MAIN_COLLAPSE_ALL:
--        if (!prereq(Context, menu, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE))
-+        if (!prereq(Context, menu, CHECK_IN_MAILBOX))
-           break;
-         if ((C_Sort & SORT_MASK) != SORT_THREADS)
diff --git a/overlays/neomutt/default.nix b/overlays/neomutt/default.nix
deleted file mode 100644 (file)
index 0b23734..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-self: super: {
-  neomutt = super.neomutt.overrideAttrs (old:
-    rec {
-      name = "neomutt-${version}";
-      version = "20191207";
-      src = self.fetchFromGitHub {
-        owner = "neomutt";
-        repo = "neomutt";
-        rev = version;
-        sha256 = "16xr7wdmjw0i72xbnyyh098wx4cr0m8w2cr1szdi1b14p4kpgr67";
-      };
-      patches = old.patches or [] ++ [ ./commands.patch ];
-      buildInputs = old.buildInputs ++ [ self.gdbm ];
-      configureFlags = old.configureFlags ++ [ "--gdbm" ];
-      doCheck = false;
-    }
-  );
-}
index 5a487aa6f75077c3f31649c8cbd371dc9e2837ed..4f8aece997c246ea2c984395827cbc32a7415cf2 100644 (file)
@@ -1,6 +1,7 @@
 self: super: {
   pelican = with self.python3Packages;
-    pelican.overrideAttrs(old: self.mylibs.fetchedGithub ./pelican.json // {
+    pelican.overrideAttrs(old: {
       propagatedBuildInputs = old.propagatedBuildInputs ++ [ pyyaml markdown ];
+      doInstallCheck = false;
     });
 }
diff --git a/overlays/pelican/pelican.json b/overlays/pelican/pelican.json
deleted file mode 100644 (file)
index d8f4425..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-  "tag": "4.0.1",
-  "meta": {
-    "name": "pelican",
-    "url": "https://github.com/getpelican/pelican",
-    "branch": "refs/tags/4.0.1"
-  },
-  "github": {
-    "owner": "getpelican",
-    "repo": "pelican",
-    "rev": "24d6efa9fda4ad45649ddf88c1c596193d589bf8",
-    "sha256": "09fcwnnfln0cl5v0qpxzrllj27znrg6dbhaksxrl0192c3mbyjvl",
-    "fetchSubmodules": true
-  }
-}
diff --git a/overlays/profanity/default.nix b/overlays/profanity/default.nix
deleted file mode 100644 (file)
index 64fae49..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-self: super: {
-  profanity = (super.profanity.override {
-    notifySupport = true;
-    inherit (self) libnotify gpgme gdk_pixbuf;
-    python = self.python3;
-  }).overrideAttrs (old: rec {
-    version = "0.7.1";
-    pname = "profanity";
-    name = "profanity-0.7.1";
-    src = self.fetchFromGitHub {
-      owner = "profanity-im";
-      repo = "profanity";
-      rev = version;
-      sha256 = "1mcgr86wqyzqx7mqxfkk2jwx6cgnvrky3zi4v1ww0lh6j05wj9gf";
-    };
-    patches = builtins.tail old.patches;
-    buildInputs = old.buildInputs ++ [ self.libsignal-protocol-c self.libgcrypt ];
-    configureFlags = old.configureFlags ++ [ "--enable-plugins" "--enable-omemo" ];
-  });
-}
diff --git a/overlays/simp_le/default.nix b/overlays/simp_le/default.nix
deleted file mode 100644 (file)
index 76891ed..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-self: super: {
-  simp_le = self.simp_le_0_17;
-}
diff --git a/overlays/vit/default.nix b/overlays/vit/default.nix
deleted file mode 100644 (file)
index 4624284..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-self: super:
-{
-  vit = (super.vit.override { inherit (self) taskwarrior; }).overrideAttrs (old:
-    self.mylibs.fetchedGithub ./vit.json // {
-      buildInputs = old.buildInputs ++ (with self.perlPackages; [ TryTiny TextCharWidth ]);
-    }
-  );
-}
diff --git a/overlays/vit/vit.json b/overlays/vit/vit.json
deleted file mode 100644 (file)
index d062f68..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-  "tag": "dbacada-1.3",
-  "meta": {
-    "name": "vit",
-    "url": "https://github.com/scottkosty/vit",
-    "branch": "1.3"
-  },
-  "github": {
-    "owner": "scottkosty",
-    "repo": "vit",
-    "rev": "dbacada5867b238fdf35dbf00a3ca0daf7703038",
-    "sha256": "1wlk62cv6dc0dqv8265xcx2l7ydzg40xf6l4qbrf6h5156ncc90l",
-    "fetchSubmodules": true
-  }
-}
index 17faa0ec62a53b1e2eb41a2f66a7214e526cb543..e8cc792f27b8c7b0c2294cef8724c5b20aebaf57 100644 (file)
@@ -2,9 +2,7 @@ self: super: {
   weechat = super.weechat.override {
     configure = { availablePlugins, ... }: {
       plugins = with self; with availablePlugins; [
-          # Make sure websocket_client is not 0.55.0, it provokes
-          # regular crashes
-         (python.withPackages (ps: with ps; assert websocket_client.version == "0.54.0"; [websocket_client emoji]))
+         (python.withPackages (ps: with ps; [websocket_client emoji]))
          perl
          ruby
         ];
index 4bd18d942097d9b855ab6a4b0ca96064ddefcc87..3cd5a4ccb3b51f68a8cb86e9ea4f6cec8e1b10a3 100644 (file)
@@ -11,6 +11,6 @@ rustPlatform.buildRustPackage rec {
     fetchSubmodules = true;
   };
 
-  cargoSha256 = "1jra0635inm95xp7vg8l7s7ybijcy28956cd6jl8qw2p8bw0z1p3";
+  cargoSha256 = "0j68dsqahvgpa9ms62149530lbfa55lmpd56rgdxkrh2z32lshs8";
   verifyCargoDeps = true;
 }
index 1a9d3ed7dc2df94e44739505fc98f9c1cb39777e..17d7714b03c88432afb168902354a0be758cba50 100644 (file)
@@ -1,6 +1,6 @@
-{ stdenv, mylibs, fetchurl, fetchgit, callPackage, nodePackages, nodejs-8_x }:
+{ stdenv, mylibs, fetchurl, fetchgit, callPackage, nodePackages, nodejs-10_x }:
 let
-  nodeEnv = callPackage mylibs.nodeEnv { nodejs = nodejs-8_x; };
+  nodeEnv = callPackage mylibs.nodeEnv { nodejs = nodejs-10_x; };
   # built using node2nix -8 -l package-lock.json
   # and changing "./." to "src"
   packageEnv = import ./node-packages.nix {
index 4a8943035db060ce08e3c1889c265189cc14ebc5..3f6b6bc8f5d44329c20670a8fdc25a5bd680c13a 100644 (file)
@@ -1,6 +1,6 @@
 { buildPerlPackage, fetchurl, perlPackages, lib }:
 buildPerlPackage rec {
-  name = "mtop-${version}";
+  pname = "mtop";
   version = "0.6.6";
   src = fetchurl {
     url = "http://downloads.sourceforge.net/project/mtop/mtop/v${version}/mtop-${version}.tar.gz";
index 0c422bcc0f77266d83ad15fb0a4ccc73f1b0bdb4..d5fcccd7bcd9b36feb87e60a928abf754a82b6ce 100644 (file)
@@ -1,8 +1,9 @@
 { lib, buildPerlPackage, fetchurl, perlPackages }:
 buildPerlPackage rec {
-  name = "note-1.3.26";
+  pname = "note";
+  version = "1.3.26";
   src = fetchurl {
-    url = "mirror://cpan/authors/id/T/TL/TLINDEN/${name}.tar.gz";
+    url = "mirror://cpan/authors/id/T/TL/TLINDEN/${pname}-${version}.tar.gz";
     sha256 = "1h645rnb5vpms48fcyzvp7cwwcbf9k5xq49w2bpniyzzgk2brjrq";
   };
   outputs = ["out" "man"];
index 5a726e9107a1333c5aaa1af9c126861fa43453f8..9c4e29fa08aa5afd7f8dba2777154ebc9aaf87c0 100644 (file)
@@ -22,7 +22,7 @@ let
         postInstall = let
           nodeHeaders = fetchurl {
             url = "https://nodejs.org/download/release/v${nodejs.version}/node-v${nodejs.version}-headers.tar.gz";
-            sha256 = "1g6zi96k8sbim8wa8rzskxy44mgpcv1mn2bs8p4mq36w3kwglwyj";
+            sha256 = "1df3yhlwlvai0m9kvjyknjg11hnw0kj0rnhyzbwvsfjnmr6z8r76";
           };
         in
           ''
index e5087e4af23e7b9fc0e82b0622b569727bf0490f..dc6104e4803be16ddc35d1999cc00277e2e61b35 100644 (file)
@@ -1,4 +1,4 @@
-{ mylibs, stdenv, runCommand, writeScriptBin, buildBowerComponents, pythonPackages, libsass, python, python2, fetchurl, jq, yarn, nodejs }:
+{ mylibs, stdenv, runCommand, writeScriptBin, buildBowerComponents, pythonPackages, libsass, python, fetchurl, jq, yarn, nodejs }:
 let
   buildslist_src = mylibs.fetchedGit ./buildslist.json;
   packagejson = runCommand "package.json" { buildInputs = [ jq ]; } ''
@@ -6,7 +6,7 @@ let
     '';
   nodeHeaders = fetchurl {
     url = "https://nodejs.org/download/release/v${nodejs.version}/node-v${nodejs.version}-headers.tar.gz";
-    sha256 = "1g6zi96k8sbim8wa8rzskxy44mgpcv1mn2bs8p4mq36w3kwglwyj";
+    sha256 = "1df3yhlwlvai0m9kvjyknjg11hnw0kj0rnhyzbwvsfjnmr6z8r76";
   };
   buildslist_yarn = mylibs.yarn2nixPackage.mkYarnModules rec {
     name = "buildslist-yarn-modules";
index b34caecdecc89c8c26261b488ec8142ac5ac6f34..3237f2b5511d6d0f63e475f5785088b2d8d57cd4 100644 (file)
@@ -7,5 +7,5 @@ buildPythonPackage rec {
     sha256 = "1spq44gg8gsviqx1dvlmjpgfc0wk0jpyx4ap01y2pad1ai9cw016";
   };
   propagatedBuildInputs = [ twisted.extras.tls twisted incremental dateutil ];
-  doChecks = false;
+  doCheck = false;
 }
diff --git a/pkgs/simp_le/default.nix b/pkgs/simp_le/default.nix
deleted file mode 100644 (file)
index eaefba3..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, python3Packages, bash }:
-
-python3Packages.buildPythonApplication rec {
-  pname = "simp_le-client";
-  version = "0.17.0";
-
-  src = python3Packages.fetchPypi {
-    inherit pname version;
-    sha256 = "0m1jynar4calaffp2zdxr5yy9vnhw2qf2hsfxwzfwf8fqb5h7bjb";
-  };
-
-  postPatch = ''
-    # drop upper bound of idna requirement
-    sed -ri "s/'(idna)<[^']+'/'\1'/" setup.py
-    substituteInPlace simp_le.py \
-      --replace "/bin/sh" "${bash}/bin/sh"
-  '';
-
-  checkPhase = ''
-    $out/bin/simp_le --test
-  '';
-
-  propagatedBuildInputs = with python3Packages; [ acme setuptools_scm josepy idna ];
-
-  meta = with stdenv.lib; {
-    homepage = https://github.com/zenhack/simp_le;
-    description = "Simple Let's Encrypt client";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ gebner makefu ];
-    platforms = platforms.linux;
-  };
-}
index 6987748d9cad2cc6f22ec10472cdd2ad0ce3fa0c..87c93e565f38a4cde57ecc75c51a55fecbe5f94e 100644 (file)
@@ -1,8 +1,5 @@
 { stdenv, mylibs, pkgconfig, libevent, lua, jansson, openssl, readline, zlib, libconfig }:
 stdenv.mkDerivation (mylibs.fetchedGithub ./telegram-cli.json // {
-  patches = [
-    ./telegram-cli.patch
-    ];
   buildInputs = [ pkgconfig libevent lua jansson openssl readline zlib libconfig ];
   preBuild = ''
     sed -i -e 's@"/etc/" PROG_NAME "/server.pub"@"'$out'/etc/server.pub"@' main.c
index 53e0a7b2e42271a3f009923a7ee39f403e6044ac..2e7ed9a606d1a08ff283c7fec3b649b7bea37ed2 100644 (file)
@@ -1,15 +1,15 @@
 {
-  "tag": "6547c0b-master",
+  "tag": "3da0e4a-master",
   "meta": {
     "name": "telegram-cli",
-    "url": "https://github.com/vysheng/tg",
+    "url": "https://github.com/kenorb-contrib/tg/",
     "branch": "master"
   },
   "github": {
-    "owner": "vysheng",
+    "owner": "kenorb-contrib",
     "repo": "tg",
-    "rev": "6547c0b21b977b327b3c5e8142963f4bc246187a",
-    "sha256": "07sss5cnw2ygd7mp8f5532lmj7qm6ywqf4cjaq5g13i8igzqzwzj",
+    "rev": "3da0e4a54c3a63cee11aae3c23f2077adfc4949d",
+    "sha256": "0pvswzajipzkk1x5cyf10dw18ka9jalar0aa2i7y23ifm4ddnif4",
     "fetchSubmodules": true
   }
 }
diff --git a/pkgs/telegram-cli/telegram-cli.patch b/pkgs/telegram-cli/telegram-cli.patch
deleted file mode 100644 (file)
index 2d2b7b0..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-diff --git a/tgl/crypto/rsa_pem_openssl.c b/tgl/crypto/rsa_pem_openssl.c
-index db653f2..5e6a697 100644
---- a/tgl/crypto/rsa_pem_openssl.c
-+++ b/tgl/crypto/rsa_pem_openssl.c
-@@ -36,6 +36,12 @@ TGLC_WRAPPER_ASSOC(rsa,RSA)
- // TODO: Refactor crucial struct-identity into its own header.
- TGLC_WRAPPER_ASSOC(bn,BIGNUM)
-+/*
-+ * Since OpenSSL version 1.1.0 the RSA struct (rsa_st) is opaque,
-+ * see also https://wiki.openssl.org/index.php/OpenSSL_1.1.0_Changes
-+ */
-+#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
-+
- TGLC_rsa *TGLC_rsa_new (unsigned long e, int n_bytes, const unsigned char *n) {
-   RSA *ret = RSA_new ();
-   ret->e = unwrap_bn (TGLC_bn_new ());
-@@ -47,7 +53,30 @@ TGLC_rsa *TGLC_rsa_new (unsigned long e, int n_bytes, const unsigned char *n) {
- #define RSA_GETTER(M)                                                          \
-   TGLC_bn *TGLC_rsa_ ## M (TGLC_rsa *key) {                                    \
-     return wrap_bn (unwrap_rsa (key)->M);                                      \
--  }                                                                            \
-+  }
-+
-+#else // OPENSSL_VERSION_NUMBER
-+
-+TGLC_rsa *TGLC_rsa_new (unsigned long e, int n_bytes, const unsigned char *n) {
-+  RSA *ret = RSA_new ();
-+  BIGNUM *ret_e = unwrap_bn (TGLC_bn_new ());
-+  BIGNUM *ret_n = unwrap_bn (TGLC_bn_bin2bn (n, n_bytes, NULL));
-+  RSA_set0_key (ret, ret_n, ret_e, NULL);
-+  TGLC_bn_set_word (wrap_bn (ret_e), e);
-+  return wrap_rsa (ret);
-+}
-+
-+#define RSA_GETTER(M)                       \
-+TGLC_bn *TGLC_rsa_ ## M (TGLC_rsa *key) {   \
-+    BIGNUM *rsa_n, *rsa_e, *rsa_d;          \
-+    RSA_get0_key(unwrap_rsa (key),          \
-+        (const BIGNUM **) &rsa_n,           \
-+        (const BIGNUM **) &rsa_e,           \
-+        (const BIGNUM **) &rsa_d);          \
-+    return wrap_bn (rsa_ ## M);             \
-+}
-+
-+#endif // OPENSSL_VERSION_NUMBER
- RSA_GETTER(n);
- RSA_GETTER(e);
-@@ -60,4 +89,4 @@ TGLC_rsa *TGLC_pem_read_RSAPublicKey (FILE *fp) {
-   return wrap_rsa (PEM_read_RSAPublicKey (fp, NULL, NULL, NULL));
- }
--#endif
-+#endif // TGL_AVOID_OPENSSL
-diff --git a/tgl/mtproto-utils.c b/tgl/mtproto-utils.c
-index 0948bc8..cfdb216 100644
---- a/tgl/mtproto-utils.c
-+++ b/tgl/mtproto-utils.c
-@@ -98,7 +98,7 @@ static unsigned long long BN2ull (TGLC_bn *b) {
-   if (sizeof (unsigned long) == 8) {
-     return TGLC_bn_get_word (b);
-   } else if (sizeof (unsigned long long) == 8) {
--    assert (0); // As long as nobody ever uses this code, assume it is broken.
-+//    assert (0); // As long as nobody ever uses this code, assume it is broken.
-     unsigned long long tmp;
-     /* Here be dragons, but it should be okay due to be64toh */
-     TGLC_bn_bn2bin (b, (unsigned char *) &tmp);
-@@ -112,7 +112,7 @@ static void ull2BN (TGLC_bn *b, unsigned long long val) {
-   if (sizeof (unsigned long) == 8 || val < (1ll << 32)) {
-     TGLC_bn_set_word (b, val);
-   } else if (sizeof (unsigned long long) == 8) {
--    assert (0); // As long as nobody ever uses this code, assume it is broken.
-+//    assert (0); // As long as nobody ever uses this code, assume it is broken.
-     htobe64(val);
-     /* Here be dragons, but it should be okay due to htobe64 */
-     TGLC_bn_bin2bn ((unsigned char *) &val, 8, b);
-diff --git a/tgl/tl-parser/tl-parser.c b/tgl/tl-parser/tl-parser.c
-index 524b196..aeadbd2 100644
---- a/tgl/tl-parser/tl-parser.c
-+++ b/tgl/tl-parser/tl-parser.c
-@@ -1903,7 +1903,7 @@ struct tl_combinator_tree *tl_parse_args134 (struct tree *T) {
-       //assert (S->data);
-       char *name = S->data;
-       if (!name) {
--        static char s[20];
-+        static char s[21];
-         sprintf (s, "%lld", lrand48 () * (1ll << 32) + lrand48 ());
-         name = s;
-       }
index 9e79deea5bf60a092d3e3d93c8a759dfaa15cd2f..1a015c047397129f936ca6b24ad8573f79a74456 100644 (file)
@@ -15,6 +15,10 @@ buildPythonApplication rec {
     ./fix_build.patch
   ];
 
+  preCheck = ''
+    # Needed for urwid test
+    export LC_ALL=en_US.UTF-8
+    '';
   propagatedBuildInputs = [
     chardet
     urwid
index c03aabe014528b6f3d31326a2a282cff83670e91..3e7a56cd73fb5994008b4a8628c12887bdd9859c 100644 (file)
@@ -1,6 +1,6 @@
 { buildPerlPackage, fetchurl, perlPackages }:
 buildPerlPackage rec {
-  name = "tiv-${version}";
+  pname = "tiv";
   version = "2015";
   src = fetchurl {
     url = "http://xyne.archlinux.ca/projects/tiv/src/tiv-${version}.tar.xz";
index f6393fe3a433d2e17647945d6857e246786b30cf..c20bcb4230e2a188c33f009a050b2869f8079907 100644 (file)
@@ -28,6 +28,8 @@ let
           inherit (old) pname;
           sha256 = "02wxsc6bhqvzh8j6w758kvgqbnj14l796mvmrcms8fgfamd2lak9";
         };
+        doCheck = false;
+        doInstallCheck = false;
       });
       amqp = super.amqp.overridePythonAttrs(old: rec {
         version = "1.4.9";
index 89954192e381d16b3ddb152bebecfcd8c5795484..992910605aac56ffdc3864946bec148bd52d0801 100644 (file)
@@ -3,7 +3,7 @@
 let
   nodeHeaders = fetchurl {
     url = "https://nodejs.org/download/release/v${nodejs.version}/node-v${nodejs.version}-headers.tar.gz";
-    sha256 = "1g6zi96k8sbim8wa8rzskxy44mgpcv1mn2bs8p4mq36w3kwglwyj";
+    sha256 = "1df3yhlwlvai0m9kvjyknjg11hnw0kj0rnhyzbwvsfjnmr6z8r76";
   };
   patchedPackages = stdenv.mkDerivation (mylibs.fetchedGithub ./peertube.json // rec {
     patches = if ldap then [ ./ldap.patch ././yarn_fix_bluebird_ldap.patch ] else [ ./yarn_fix_bluebird.patch ];