!tDnwWRNkmmYtMXfaZl:nixos.org

Nix Language

1444 Members
Nix programming language259 Servers

Load older messages


SenderMessageTime
25 Jul 2024
@ity:itycodes.orgTranquil ItyWhy is foo for bob true while bar for alice is false09:32:20
@ity:itycodes.orgTranquil ItyWhich part exactly are you stuck on?09:32:34
@mr-qubo:matrix.orgmr-qubo
In reply to @ity:itycodes.org
Why is foo for bob true while bar for alice is false
That's a small example of what I want it to do.
I want to write a module, but it's for home-manager, so it must work for everyone and I don't know what will be the attribute for users in this example.
I want to set users.${user}.foo = mkIf config.users.${user}.bar true for every attribute of users. That's also just example, what I'm trying to write involves more complicated expression.
09:38:31
@mr-qubo:matrix.orgmr-qubo

But I've managed to figure it out:

{ config, lib, ... }:
with lib;

{
  options = {
    users = mkOption {
      type = types.attrsOf (types.submodule (args: let user = args.config; in {
        options = {
          foo = mkEnableOption "foo";
          bar = mkEnableOption "bar";
        };
        config = {
          foo = mkIf user.bar true;
        };
      }));
      default = {};
    };
  };
}
09:39:30
@kotomine:matrix.orgKotomine joined the room.10:48:32
@bumperboat:matrix.orgbumperboat changed their display name from bumperboat (UTC+2) to bumperboat.12:47:19
@sebby_webby:matrix.org@sebby_webby:matrix.org left the room.16:39:14
@heywoodlh:beeper.comheywoodlh joined the room.16:55:01
@emma:conduit.rory.gayEmma [it/its] ⚡️ left the room.17:32:05
@heywoodlh:beeper.comheywoodlh set a profile picture.18:47:40
@setunset:matrix.org@setunset:matrix.org left the room.20:00:29
26 Jul 2024
@upidapi:matrix.orgupidapi joined the room.00:57:40
@glepage:matrix.orgGaétan Lepage

I have no idea why I don't know this, but how to achieve

a = [x y] ++ (mkIf condition [z]);

?
This snippet is wrong

06:07:31
@glepage:matrix.orgGaétan Lepage Of course, I could use optional but, this is not evaluated at the same stage as mkIf is 06:08:02
@glepage:matrix.orgGaétan Lepage Or maybe, there is no nicer solution than mkMerge 06:10:47
@ity:itycodes.orgTranquil ItyI feel like, since that is not about the Nix language but rather about nixpkgs libraries, wouldn't that Q be better answerable elsewhere?06:19:06
@glepage:matrix.orgGaétan LepageOh sure !06:28:51
@lnlsn:matrix.orglnlsn joined the room.13:48:32
@infinisil:matrix.orginfinisil Tranquil Ity: Gaétan Lepage: There's #modules:nixos.org where it would fit, but I'll just answer here :P 14:14:14
@infinisil:matrix.orginfinisil Gaétan Lepage: a = mkMerge [ [ x y ] (mkIf condition [ z ]) ] 14:14:42
@picnoir:alternativebit.frPicnoir joined the room.15:21:36
@glepage:matrix.orgGaétan Lepage Ok thank you infinisil ! 15:30:51
@devurandom:matrix.orgDennis joined the room.16:50:46
@mr-qubo:matrix.orgmr-quboI want to fix issue in nixpkgs. I have a local git repo with changes. How can I build my nixos configuration with this local nixpkgs to test the changes? I'm using channels.17:04:38
@mr-qubo:matrix.orgmr-qubo I've got it NIX_PATH=nixpkgs=/home/nix/nixpkgs:$NIX_PATH nixos-rebuild boot. 17:42:38
@mr-qubo:matrix.orgmr-quboOh, sorry, wrong room.17:43:48
@mr-qubo:matrix.orgmr-qubo * Oh, sorry, I've just noticed it's wrong room.17:43:55
27 Jul 2024
@valconius:matrix.orgvalconius joined the room.00:46:22
@aetaric:matrix.orgaetaric joined the room.06:56:20
@aetaric:matrix.orgaetaric set a profile picture.07:04:10

There are no newer messages yet.


Back to Room ListRoom Version: 6