__monty__ has joined #nix-darwin
nikivi has quit [Read error: Connection reset by peer]
nikivi has joined #nix-darwin
Chiliparrot has joined #nix-darwin
cstrahan has quit [Ping timeout: 256 seconds]
cstrahan has joined #nix-darwin
mog has quit [Ping timeout: 256 seconds]
Chiliparrot has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
mog has joined #nix-darwin
Joestar79 has joined #nix-darwin
<Joestar79> hello everyone
<Joestar79> I'm looking for an example on how to override a pkg in environment.systemPackages
<Joestar79> in darwin-cofiguration.nix
<__monty__> Joestar79: I think you're looking for overlays https://nixos.org/nixpkgs/manual/#chap-overlays
<Joestar79> I know how to do that in Nix, but I'm not sure how to implement it in nix-darwin
<Joestar79> I also found this: https://github.com/LnL7/nix-darwin/issues/6
<{^_^}> LnL7/nix-darwin#6 (by yurrriq, 3 years ago, closed): Add a pkg override example
<LnL> it doesn't do anything special, that option just takes a list of packages
<LnL> so either override inline or with an overlay
<Joestar79> i should mention I started using nix yesterday maybe :-) Anyway I managed to override kubectl version with an overlay and that implied to override kubernetes pkg as well of course
<LnL> eg. environment.systemPackages = [ (hello.override { stdenv = pkgs.gccStdenv; }) ];
<Joestar79> LnL, thanks I guess I got it now from your last exampe
<LnL> overlays also work, then pkgs.kubernetes will already be what you customized
<Joestar79> so I should just import my overlay there
<LnL> difference is that overlays apply to the entire tree so anything that uses kubernetes as a dependency will also change while with the above example only the one in your PATH will be different
<LnL> ah yeah you'll need to define nixpkgs.overlays for them to apply for your system configuration
<Joestar79> I'm still not sure about the syntax to use the imported overlay there though
<LnL> it doesn't magically look in user locations
<LnL> either just inline nixpkgs.overlays = [ (self: super: { ... }) ];
<LnL> or if you want to reuse an existing file import it
<LnL> nixpkgs.overlays = [ (import ~/.config/nixpkgs/overlays/001-example-overlay.nix) ];
<Joestar79> ok, thank you!
<Joestar79> after I defined the overlay pkgs.kubernetes in environment.systemPackages will the the one defined in the overlay or do I require additional syntax?
<Joestar79> *the=be
<LnL> nope, the overlays are applied when pkgs is loaded behind the scenes
Joestar79 has quit [Remote host closed the connection]
Chiliparrot has joined #nix-darwin
LambdaDuck has joined #nix-darwin
<LambdaDuck> I installed nix-darwin with the standard installer and I get this error when trying to run any related command: file 'darwin' was not found in the Nix search path (add it using $NIX_PATH or -I)
Nikita has joined #nix-darwin
Nikita is now known as Guest86906
nikivi has quit [*.net *.split]
mbrgm has quit [*.net *.split]
aterius has quit [*.net *.split]
kaychaks_riot has quit [*.net *.split]
Guest86906 is now known as nikivi
aterius has joined #nix-darwin
mbrgm has joined #nix-darwin
nikivi has quit [Read error: Connection timed out]
nikivi has joined #nix-darwin
aterius1 has joined #nix-darwin
aterius has quit [Ping timeout: 256 seconds]
<domenkozar[m]> nix channels considered harmful :)
<gchristensen> "considered harmful" considered harmful
<LnL> pretending that the defacto mechanism to distribute expressions doesn't exist isn't particularly productive IMHO
<LnL> LambdaDuck: did your installation complete without warnings?
<LambdaDuck> Yes
<LambdaDuck> But this may have been a mistake: Would you like to manage <darwin> with nix-channel? [y/n] y
<LambdaDuck> I don't understand what that means
<LnL> nothing like this
<LnL> warning: not linking environment.etc."zshrc" because /etc/zshrc exists, skipping...
<LambdaDuck> I can try uninstalling it and trying again after pressing n
<LnL> you don't have to uninstall, should be able to run the installer as many times as you want
<LambdaDuck> I did get that the first time I tried installing, but I uninstalled it, moved those files and tried again, but I still get the same errors.
<LambdaDuck> Ah. Didn't know that
<LambdaDuck> Oh, I think it's my fault...
<domenkozar[m]> LnL: why not, there are anti-patterns in all ecosystems and advising against something that is counterproductive is productive
<LambdaDuck> Yes, Removing the nix loading stuff from ~/.profile helped.
<LambdaDuck> I added it there after apple had reset /etc/profile for me
<Mic92> domenkozar[m]: what would be your suggested alternative?
<Mic92> in the darwin case
<domenkozar[m]> pinning nixpkgs
<domenkozar[m]> there are a lot of ways of doing it and I'm not opinionated enough to say there's one correct way
<domenkozar[m]> but I'd remove all nix-channel from documentation and advise pinning
<domenkozar[m]> Mic92: ^^
<LambdaDuck> What happens if I press no on the question about managing <darwin> with nix-channel?
<Mic92> domenkozar[m]: pinning without flakes is painful and slow
<Mic92> currently I use krops to setup my NIX_PATH
<Mic92> I might actually extend krops to support darwin-rebuild as well.
<domenkozar[m]> it's not that slow, fetchTarball is cached
<Mic92> until the TTL kicks in, which happens in the worst possible places like in a plane without internet
<domenkozar[m]> I agree it's not perfect
<domenkozar[m]> but compared to nix-channels it has an annoyance over a number of bugs and issues
<LnL> implicitly pinning stuff, especially without tooling is horrible for security updates
<Mic92> I also don't like the idea that in future every small nix project has a pinned channel that dates some time back and I have to download old stuff.
<Mic92> And what LnL says
<Mic92> It might be fine for very active projects that do regular updates.
<domenkozar[m]> nix-channel has the same issue
<domenkozar[m]> it's essentially pinned
<domenkozar[m]> you just have no idea it even exists
<domenkozar[m]> nor what it's pinned to
<Mic92> With nix-channel I am as the user is in control rather what the project specifies
<domenkozar[m]> oh I wouldn't pin it within nixpkgs, but at the user level
<domenkozar[m]> eh, *in nix-darwin
<Mic92> maybe something like fetchTarball + niv would be better
<domenkozar[m]> not sure we can yet push flakes so widely
<LnL> "this is very much still experimental"
<LnL> but once the flakes branch is merged in nix I'm ok with adding support for it similar to the nixos stuff
<LnL> I think it's kind of an interesting usecase because it's a bit more complex than most other flakes
<LnL> currently your system flake would depend on nixpkgs twice, config -> pkgs and darwin -> lib
philr_ has quit [Ping timeout: 240 seconds]
Joestar79 has joined #nix-darwin
<Joestar79> I modified darwin-configuration.nix adding the packages I want, but when I run darwin-rebuild switch I'm getting: error: opening lock file '/nix/store/3ki6s9wm7kfm4pm60jk6z89aijzsv408-enable-table-validation.patch.lock': Permission denied
<Joestar79> any ideas?
Joestar79 has quit [Remote host closed the connection]
Joestar79 has joined #nix-darwin
<LnL> single-user install?
Joestar79 has quit [Remote host closed the connection]
Chiliparrot has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
__monty__ has quit [Quit: leaving]
mbrgm_ has joined #nix-darwin
mbrgm has quit [Ping timeout: 256 seconds]
mbrgm_ is now known as mbrgm
philr_ has joined #nix-darwin