!SgYlXivkogarTVcnZO:nixos.org

Nix Flakes

610 Members
121 Servers

Load older messages


SenderMessageTime
5 Jun 2024
@lehmanator:tchncs.deSam Lehman

Is there any way to reference a flake input's original flakeRef?

idk why it isn't added to <flakeInput>.sourceInfo, but I'd like to actually know where the original destination of a flake is coming from

16:57:12
@tomberek:matrix.orgtomberekYou can't get the exact original flakeRef as a Nix value because that is mutable. For example, if you used a tag or branch name, then that can change over time, even with the same locked reference. Yes, it would be convenient to access this information, but it is not locked information, thus impure.20:31:00
6 Jun 2024
@tennox:matrix.orgManu [tennox]

If I add this input

repo = {
    url = "path:/home/manu/.../repo";
    flake = false;
};

I can get the flake contents via
inputs.repo.outPath

18:06:46
@aidalgol:matrix.org@aidalgol:matrix.org left the room.19:23:33
7 Jun 2024
@abmantis:abcosta.com@abmantis:abcosta.com left the room.01:02:04
@codebam:fedora.imSean joined the room.15:17:50
10 Jun 2024
@clvxaz:matrix.org@clvxaz:matrix.org joined the room.17:29:27
@clvxaz:matrix.org@clvxaz:matrix.org left the room.17:29:43
@dvd:beeper.comdvd joined the room.19:57:41
11 Jun 2024
@aos1:matrix.orgaos joined the room.15:17:28
@camzer:matrix.orgcamzer joined the room.23:50:52
12 Jun 2024
@lorenzleutgeb:matrix.orgLorenz Leutgeb removed their display name Lorenz Leutgeb.00:31:04
@lorenzleutgeb:matrix.orgLorenz Leutgeb set their display name to Lorenz Leutgeb.00:32:37
18 Jun 2024
@hive:the-apothecary.clubLi-ion joined the room.18:13:26
19 Jun 2024
@gas.station.sushi:matrix.orggas.station.sushi joined the room.00:14:50
@qu4pk4:matrix.orgqu4pk4 joined the room.12:10:17
@qu4pk4:matrix.orgqu4pk4 Hi guys, I am trying to create a Flake that builds older version of OpenSSL. However, I am getting infinite recursion - I suspect it is because I use fetchurl which depends on OpenSSL (I infer this from this comment: https://github.com/NixOS/nixpkgs/blob/nixos-24.05/pkgs/development/libraries/openssl/default.nix#L15). I can send the bare flake.nix if that would help. 12:23:07
@qu4pk4:matrix.orgqu4pk4I am still quite new to flakes and also to overlays in particular.12:23:29
@qu4pk4:matrix.orgqu4pk4
{
  description = "OpenSSL version";
  inputs = {
    nixpkgs.url      = "github:NixOS/nixpkgs/nixos-unstable";
    flake-utils.url  = "github:numtide/flake-utils";
  };
  outputs = { self, nixpkgs, flake-utils, ... }:
    flake-utils.lib.eachDefaultSystem (system:
      let
        overlays = [ (final: prev: {
            openssl = prev.openssl.overrideAttrs (old: rec{
              version = "0.1";
              src = prev.pkgs.fetchurl {
                url = "https://www.openssl.org/source/openssl-${version}.tar.gz";
                hash = "";
              };
            });
          }) ];
        pkgs = import nixpkgs {
          inherit system overlays;
        };
      in
      with pkgs;
      {
        devShells.default = mkShell { buildInputs = [ openssl ]; };
      }
    );
}
12:24:30
@qu4pk4:matrix.orgqu4pk4 *
{
  description = "OpenSSL version";
  inputs = {
    nixpkgs.url      = "github:NixOS/nixpkgs/nixos-unstable";
    flake-utils.url  = "github:numtide/flake-utils";
  };
  outputs = { self, nixpkgs, flake-utils, ... }:
    flake-utils.lib.eachDefaultSystem (system:
      let
        overlays = [ (final: prev: {
            openssl = prev.openssl.overrideAttrs (old: rec{
              version = "0.1";
              src = prev.pkgs.fetchurl {
                url = "https://www.openssl.org/source/openssl-${version}.tar.gz";
                hash = "";
              };
            });
          }) ];
        pkgs = import nixpkgs {
          inherit system overlays;
        };
      in
      with pkgs;
      {
        devShells.default = mkShell { buildInputs = [ openssl ]; };
      }
    );
}
12:24:39
@gsaurel:laas.frnim65sdo you really need an overlay ? ie. do you want a whole nixpkgs where each and every instance of openssl is "updated" ?t12:35:35
@gsaurel:laas.frnim65s

otherwise, I would just go for:

        packages.default = pkgs.openssl.overrideAttrs (_old: rec {
          version = "0.1";
          src = pkgs.fetchurl { url = "https://www.openssl.org/source/openssl-${version}.tar.gz"; };
        });
12:36:28
@gsaurel:laas.frnim65s or packages.old-openssl if you prefer 12:36:44
@qu4pk4:matrix.orgqu4pk4Hmm, good point. 12:40:56
@flameopathic:matrix.orgflameopathic joined the room.18:03:55
@zachcoyle:matrix.orgZach joined the room.21:24:02
20 Jun 2024
@niko:puppygock.gaynyanbinary 🏳️‍⚧️ joined the room.00:09:39
@vengmark2:matrix.org@vengmark2:matrix.org left the room.01:26:07
21 Jun 2024
@linus:schreibt.jetzt@linus:schreibt.jetzt left the room.14:06:08
@qu4pk4:matrix.orgqu4pk4Thanks, this worked out for me in the end!14:44:13

Show newer messages


Back to Room ListRoom Version: 6