| 17 Jan 2025 |
sterni (he/him) | alexfmpe: HLS also has the problem that we track what versions are supported in two different places, we need to clean that up at some point. | 16:04:52 |
alexfmpe | When I am king, there will be a tax on non DRY | 16:06:54 |
alexfmpe | It will kill the likes of Go | 16:07:45 |
sterni (he/him) | it's not super obvious where to put it, the problem is mainly that you need to access it from two jobset definitions, so just putting it in a passthru attribute doesn't work super well | 16:08:36 |
sterni (he/him) | you don't really want them to parse hackage-packages.nix another time if you can help it | 16:09:21 |
sterni (he/him) | pkgs.haskell-language-server.passthru would be possible ig? | 16:09:57 |
sterni (he/him) | bit weird | 16:10:00 |
alexfmpe | We can always add some stupid new file with constants no? | 16:14:07 |
alexfmpe | # my silly file
defaultPackageSet = "98"
defaultHLSSupport = [defaultPackageSet, maybeOthers...] | 16:16:29 |
Profpatsch | sternenseemann: project-wide search&replace on unique names >>> DRY | 16:21:50 |
Profpatsch | :P | 16:21:53 |
chreekat | DRY is in frequent conflict with YAGNI | 17:38:01 |
@bowuigi---now-more-based:kde.org | YAGNI? | 17:38:43 |
| 18 Jan 2025 |
chreekat | @bowuigi---now-more-based:kde.org: you aren't gonna need it | 08:47:05 |
chreekat | = avoid early abstraction as you would avoid early optimization | 08:48:05 |
@bowuigi---now-more-based:kde.org | Ah, yeah those seem in conflict | 08:50:58 |
Alex | In reply to @b:chreekat.net DRY is in frequent conflict with YAGNI DRY: don't write the same thing twice
YAGNI: don't define something you don't (yet) need
I can see how they conflict when applied loosely, but applying DRY carefully should be OK. | 13:27:32 |
magic_rb | if i need lens_5_3_3 is there a way to overrideAttrs lens_5_3_2 into it? | 22:43:57 |
magic_rb | i tried just changing the version, but that unsurprisingly didnt work | 22:44:13 |
magic_rb | changing the src? | 22:45:54 |
ymeister | Maybe something like this?
lens_5_3_3 = self.callHackageDirect {
pkg = "HaskellNet-SSL";
ver = "5.3.3";
sha256 = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
} {};
| 22:46:10 |
ymeister | * Maybe something like this?
lens_5_3_3 = self.callHackageDirect {
pkg = "lens";
ver = "5.3.3";
sha256 = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
} {};
| 22:46:20 |
ymeister | * Maybe something like this?
lens_5_3_3 = callHackageDirect {
pkg = "lens";
ver = "5.3.3";
sha256 = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
} {};
| 22:46:36 |
ymeister | * Maybe something like this?
lens_5_3_3 = pkgs.haskell.lib.callHackageDirect {
pkg = "lens";
ver = "5.3.3";
sha256 = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
} {};
| 22:46:51 |
magic_rb | how does it know the deps? thats smells like IFD | 22:47:04 |
magic_rb | or is a giant FOD, im fine with that | 22:47:22 |
magic_rb | oh, changing src did it, well, it still thought its compiling lens 5.3.2, but hey, if it works it works | 22:48:07 |
ymeister | It gets the tarball with the hash from hackage, and, I assume, gets the rest of the deps from nixpkgs. | 22:48:12 |
magic_rb | pkgs.haskellPackages.lens.overrideAttrs {
version = "5.3.3";
src = pkgs.fetchzip {
url = "mirror://hackage/lens-5.3.3/lens-5.3.3.tar.gz";
hash = "sha256-3xm0+HH2CY3rcigl8x1kYVLOW5PVFhilg0s0hxHxzWE=";
};
};
| 22:48:43 |
magic_rb | right, but it doesnt know which deps, so it has to do a FOD or IFD | 22:48:58 |