!SgYlXivkogarTVcnZO:nixos.org

Nix Flakes

881 Members
175 Servers

Load older messages


SenderMessageTime
12 Jan 2024
@samasaur:matrix.orgsamasaurYou can maintain a fork of nixpkgs and use that as a flake input19:05:22
@samasaur:matrix.orgsamasaurI’m not sure if there’s a way to say “take the latest nixpkgs on some channel, apply a patch, and use that as a flake input”19:05:55
@lxsameer:matrix.orglxsameer
In reply to @samasaur:matrix.org
You can maintain a fork of nixpkgs and use that as a flake input
I was hoping not to do that
19:07:10
@mewp:nurupo.plmewpjust to be sure: overlays do not solve your problem?22:02:22
13 Jan 2024
@aidalgol:matrix.org@aidalgol:matrix.orgThe Nix developers are still trying to figure out how to support this cleanly. https://github.com/NixOS/nix/issues/392003:10:02
@lxsameer:matrix.orglxsameer
In reply to @mewp:nurupo.pl
just to be sure: overlays do not solve your problem?
no, I need to patch nixpkgs itself, not the packages it contains
12:16:25
@lxsameer:matrix.orglxsameer
In reply to @aidalgol:matrix.org
The Nix developers are still trying to figure out how to support this cleanly. https://github.com/NixOS/nix/issues/3920
this is pretty cool
12:17:25
@rolfst:matrix.orgrolfst changed their display name from Rolf Strijdhorst to rolfst.16:03:43
@felipeggmarcelino:matrix.orgfelipeggmarcelino joined the room.19:53:24
15 Jan 2024
@virtu:matrix.im@virtu:matrix.im left the room.13:44:25
16 Jan 2024
@fsagbuya:matrix.orgfsagbuya changed their profile picture.05:54:14
@lxsameer:matrix.orglxsameerhey folks, do you have a development workflow using flakes? if you do, would you mind telling me about it? I need these data for a talk16:22:23
@NobbZ:matrix.org@NobbZ:matrix.org left the room.19:30:32
17 Jan 2024
@tomberek:matrix.orgtomberekThat's a broad topic. But yes. I tend to start as basic as possible. At first it can be fairly self-contained. Making devShells and packages for a project provides a good sanity check that you really understand what goes into the development process. Then comes CI, with its own complication and integrations. The hardest part is often when trying to have multiple projects that interact. At this point it can get complicated with topics like overlays, monorepos, flakebumps, overrides, follows. Reach out if you have q's.00:11:22
@lxsameer:matrix.orglxsameercool, few question: 1) what do you use on the CI? 2) how do you manage inter project dependencies and flake bumps13:14:31
@lxsameer:matrix.orglxsameerand tell me more about follows13:14:42
@lxsameer:matrix.orglxsameerthanks for your time13:14:50
@shplorf:matrix.org@shplorf:matrix.org left the room.14:58:55
18 Jan 2024
@syntheit:matrix.org@syntheit:matrix.org left the room.04:14:28
@bryan.bennett:matrix.orgBryan

Yes - I do. HEAVILY.

We use nix-direnv internally (though we might switch to flake_env at some point if I can get the flake_env implementation up to snuff with nix-direnv features).

We start with devShells for the basic stuff. For instance, we do a LOT of python here (against my wishes) and so we'll start with a devShell that just installs latest python. We then start poking around nixpkgs for stuff we need as we need it and use that. I tend to prefer this solution over dream2nix or poetry2nix, as I have found at least poetry2nix to be rather fragile (haven't tried dream2nix).

We have a fair amount of interproject dependence and we simply bump as necessary. Myself and a coworker manage a lot of the dependencies and so we are aware of breaking changes and the like without needing to spend a ton of time on it.

Regarding CI: We have used Github Actions, GitLab CI, and I have started using sr.ht's build tooling. Both github and gitlab have been perfectly fine. Sr.ht's is a bit more basic, but for what I am doing there that's fine and dandy.

Regarding follows, I think tomberek is saying that setting something like inputs.foo.nixpkgs.follows = "nixpkgs" to force it to follow your local nixpkgs input can be troublesome and I kind of agree. Right now I have a small problem in flake_env whereby I had accidentally bumped an underlying library revision in a way that's not compatible with stable becuase it explicitly follows unstable. When I tried to build it as part of my system flake, I ran into issues because I had it set to follow my local nixpkgs. This isn't a huge deal because it provides only a simple binary and can be built in isolation, but for node.js or python code using revisions from nixpkgs, you could be up a creek without an effective paddle if you rely on this.

15:37:26
19 Jan 2024
@janik0:matrix.org@janik0:matrix.org

do flake.locks have a specification? I looked through both the rfc repo and the nix repo and couldn't find anything except for soure code. I would assume that there should be some formal-ish document describing the format esp. since there is version field in every flake.lock.


context of this question is that yesterday I read through the robotonix docs and stumbled upon the over-the-air updater which is just a number that increases every version, so usually `date "+%s". this reminded me of the problem I had with the soa record serial field when I built nixos-dns which uses the exact same format to detect updates/changes.

locking at a random flake.lock I noticed that every entry, except for root, has a locked.lastModified field that is just a unix epoch which is the data one could use for soa serials or ota versions and probably other things. And seeing how flake.lock files are just json you could even parse them with builtins.fromJSON. But root which seems like it is the flake it self doesn't have this field.

01:05:32
@ThorHop:matrix.org@ThorHop:matrix.org changed their display name from hopland (meticulous montesquieu) to hopland (manners or stfu).05:11:41
@ThorHop:matrix.org@ThorHop:matrix.org changed their display name from hopland (manners or stfu) to hopland.05:14:27
@tomberek:matrix.orgtomberek
In reply to @janik0:matrix.org

do flake.locks have a specification? I looked through both the rfc repo and the nix repo and couldn't find anything except for soure code. I would assume that there should be some formal-ish document describing the format esp. since there is version field in every flake.lock.


context of this question is that yesterday I read through the robotonix docs and stumbled upon the over-the-air updater which is just a number that increases every version, so usually `date "+%s". this reminded me of the problem I had with the soa record serial field when I built nixos-dns which uses the exact same format to detect updates/changes.

locking at a random flake.lock I noticed that every entry, except for root, has a locked.lastModified field that is just a unix epoch which is the data one could use for soa serials or ota versions and probably other things. And seeing how flake.lock files are just json you could even parse them with builtins.fromJSON. But root which seems like it is the flake it self doesn't have this field.

Closest thing in written form might be the closed: https://github.com/NixOS/rfcs/pull/49/files#diff-7e8d05fadc397ee6d143d6b47af2967d5f467b59820590c69dfc69da0173684dR266 . Also note that we are considering changing the format: https://github.com/NixOS/nix/issues/7730
15:01:18
22 Jan 2024
@ThorHop:matrix.org@ThorHop:matrix.org changed their display name from hopland to IdeallyYes.15:05:35
@ahoneybun:matrix.orgahoneybun joined the room.19:28:54
23 Jan 2024
@2xsaiko:tchncs.de@2xsaiko:tchncs.de changed their display name from 2xsaiko to Marco.17:54:54
@2xsaiko:tchncs.de@2xsaiko:tchncs.de changed their display name from Marco to 2xsaiko.18:17:33
@lovesegfault:matrix.orglovesegfault changed their display name from lovesegfault (Old) to lovesegfault.19:28:47
@lovesegfault:matrix.orglovesegfault changed their profile picture.19:28:58

Show newer messages


Back to Room ListRoom Version: 6