!UUqahLbShAYkkrXmKs:matrix.org

DevOS

37 Members
Seeking help and geeking out together on https://github.com/divnix/devos & https://github.com/divnix/digga10 Servers

Load older messages


SenderMessageTime
21 Jul 2021
@blaggacao:matrix.orgDavid Arnold (blaggacao) * This devos commit exemplifies the changes. Thx @fufexan for inspiring the downstream cleanup with his refactoring. 00:14:30
@timdeh:matrix.org@timdeh:matrix.orgI got pinged somewhere here today, but I can't find it 😅01:26:14
@timdeh:matrix.org@timdeh:matrix.orgnvm, I think it was my username in the nix.conf file segment 😆01:29:16
@blaggacao:matrix.orgDavid Arnold (blaggacao) develop went away — now we are on main (still no release, though) 03:17:42
@blaggacao:matrix.orgDavid Arnold (blaggacao) * develop went away on digga — now we are on main (still no release, though) 03:22:04
@blaggacao:matrix.orgDavid Arnold (blaggacao) * The develop branch went away on digga — now we are on main (still no release, though) 03:22:15
@blaggacao:matrix.orgDavid Arnold (blaggacao) * The develop branch went away on digga — now we are on main (still no new release, though) 03:22:48
@gytis-ivaskevicius:matrix.org@gytis-ivaskevicius:matrix.org
In reply to @blaggacao:matrix.org
Gytis Ivaskevicius: as a shared module and overlay api between fup and digga, could we settle on composition at the user level via fup.nixosModules.<name> & fup.overlays.<name>?
Im thinking maybe we could push something like what is required for Nix options to nixpkgs
08:21:39
@blaggacao:matrix.orgDavid Arnold (blaggacao)Oh I forgot: https://digga.divnix.com/16:15:17
@blaggacao:matrix.orgDavid Arnold (blaggacao) * Oh I forgot: https://digga.divnix.com/ (initial digga docs are live) 16:15:29
@fufexan:matrix.orgfufexan
In reply to @blaggacao:matrix.org
fufexan: would you mind also looking over digga's develop branch with the critical eye that inspired https://github.com/gytis-ivaskevicius/flake-utils-plus/pull/84 ?
yes, sure thing
20:15:40
@fufexan:matrix.orgfufexan

how does the lib.exportOverlays work in practice? I'm trying to understand what would get output as "nixpkgs/winestreamproxy" coming from this overlay

{ inputs }:
final: prev: {
  osu-stable = prev.callPackage ./osu-stable {
    wine = final.wine-tkg;
    winetricks = prev.winetricks.override { wine = final.wine-tkg; };
    inherit (final) winestreamproxy;
  };

  winestreamproxy = prev.callPackage ./winestreamproxy { wine = final.wine-tkg; };

  wine-tkg = prev.callPackage ./wine-tkg {
    wine =
      if prev.system == "x86_64-linux"
      then final.wineWowPackages.unstable
      else final.wineUnstable;
    inherit (inputs) tkgPatches oglfPatches;
  };
}
20:16:55
@fufexan:matrix.orgfufexan I get that it outputs something like "nixpkgs/winestreamproxy" = final: prev: { }; as written in the doc, but I don't really get what's in the set 20:17:36
@blaggacao:matrix.orgDavid Arnold (blaggacao) So it tries to give clearly identifiable names "channel/winestreamproxy" to every overlay. Each overlay was crafted for a specific channel, which still is a local reference. But having a clue what the author regarded as "nixpkgs" at the time of crafting an overlay might get the consumer an idea with wich channel of his own this overlay probably might have a better chance of working. 20:36:35
@blaggacao:matrix.orgDavid Arnold (blaggacao) * So it tries to give clearly identifiable names "channel/winestreamproxy" to every overlay. Each overlay was crafted for a specific channel, which still is a local reference. But having a clue what the author regarded as "nixpkgs" at the time of crafting an overlay might get the consumer an idea with which channel of his own this overlay probably might have a better chance of working. 20:36:56
@blaggacao:matrix.orgDavid Arnold (blaggacao) in the end, the cuonsumer has to try to know for sure, but if there is something like nixos-19.03/some, then the user might probably be able to guess that it's not going to work with master 20:37:39
@blaggacao:matrix.orgDavid Arnold (blaggacao) * in the end, the consumer has to try to know for sure, but if there is something like nixos-19.03/some, then the user might probably be able to guess that it's not going to work with master 20:37:44
@blaggacao:matrix.orgDavid Arnold (blaggacao)
In reply to @fufexan:matrix.org
I get that it outputs something like "nixpkgs/winestreamproxy" = final: prev: { }; as written in the doc, but I don't really get what's in the set
So this would be completed as: final: prev: { winestreamproxy = ...}
20:38:26
@blaggacao:matrix.orgDavid Arnold (blaggacao)
In reply to @fufexan:matrix.org
I get that it outputs something like "nixpkgs/winestreamproxy" = final: prev: { }; as written in the doc, but I don't really get what's in the set
* So this would be completed as: "nixpkgs/winestreamproxy" = final: prev: { winestreamproxy = ...}
20:38:43
@blaggacao:matrix.orgDavid Arnold (blaggacao)As an author, you probably group some overlays together. But that doesn't mean as a consumer you want to be forced to consume the entire group. That's the reason why each overlay attribute is put in a spearate overlay.20:39:38
@blaggacao:matrix.orgDavid Arnold (blaggacao) * As an author, you probably group some overlays together. But that doesn't mean as a consumer you want to be forced to consume the entire group. That's the reason why each overlay attribute is put in a separate overlay.20:39:44
@blaggacao:matrix.orgDavid Arnold (blaggacao) * As an author, you probably group some overlays together. But that doesn't mean as a consumer you want to be forced to consume the entire group. That's the reason why each overlay attribute is put in a separate overlay. A good example would be if you manage a single overlays.nix file with all your overlays defined according to your personal needs. A consumer might want to pick one out of these. 20:40:46
@blaggacao:matrix.orgDavid Arnold (blaggacao) * As an author, you probably group some overlays together. But that doesn't mean as a consumer you want to be forced to consume the entire group. That's the reason why each overlay attribute is put in a separate overlay. A good example would be if you manage a single overlays.nix file with all your overlays defined according to your personal needs. A consumer relatively likely might want to pick one out of these. 20:40:54
@blaggacao:matrix.orgDavid Arnold (blaggacao)In you well-crafted example, this splitting does not make a lot of sense and the overlay could / should be consumed as a whole. I think we can't have enough guarantees that overlays will always be well crafted though, so we have to sort of put that burdon on the consumer.20:42:52
@blaggacao:matrix.orgDavid Arnold (blaggacao)At least, that's my currently best answer to the problem. But probably it's not the last?20:43:11
@blaggacao:matrix.orgDavid Arnold (blaggacao) * In you well-crafted example, this splitting does not make a lot of sense and the overlay could / should be consumed as a whole. I think we can't have enough guarantees that overlays will always be well crafted though, so we have to sort of put that burdon (of managing overlay dependencies) on the consumer.20:43:59
@blaggacao:matrix.orgDavid Arnold (blaggacao)I see the problem 😄20:45:35
@fufexan:matrix.orgfufexanthis makes sense, thanks for the thorough explanation!20:45:41
@blaggacao:matrix.orgDavid Arnold (blaggacao)... but not in your case with the well crafted overlay. Let's see for a while if we need to come up with a better solution.20:46:14
@fufexan:matrix.orgfufexan

what I wanted to split the overlay for was, I have it in this repo but I want to import wine-tkg and winestreamproxy to be used in my dotfiles overlay, which looks like this

{ inputs }:
let
  osu = inputs.osu-nix.overlays;
in

final: prev: {
  discord-electron = prev.callPackage ./discord {
    branch = "stable";
    pkgs = prev;
  };

  kakoune-cr = prev.callPackage ./kakoune.cr { inherit (inputs) kakoune-cr; };

  picom-jonaburg = prev.picom.overrideAttrs (
    old: { src = inputs.picom-jonaburg; }
  );

  rocket-league = prev.callPackage ./rocket-league {
    wine = final.callPackage osu."nixpkgs/wine-tkg" { };

    winestreamproxy = final.callPackage osu."nixpkgs/winestreamproxy" { };
  };

  technic-launcher = prev.callPackage ./technic-launcher { };
}
20:48:18

Show newer messages


Back to Room ListRoom Version: 6