!SgYlXivkogarTVcnZO:nixos.org

Nix Flakes

773 Members
157 Servers

Load older messages


SenderMessageTime
8 May 2025
@kdobieder:matrix.orgkdobieder That would be the folder of the consuming flake, because the imported home manager module should provide a nix-rebuild command which does home-manager switch --flake ${flakefolder}#main. flakefolder is the variable I want to pass downstream. 11:40:11
@kdobieder:matrix.orgkdobieder * That would be the folder of the consuming flake, because the imported home manager module should provide a nix-rebuild command which does home-manager switch --flake ${flakefolder}#main (and other corporate stuff). flakefolder is the variable I want to pass downstream. 11:40:38
@dramforever:matrix.orgdramforever

you would have something like

{ config, lib, ... }:

{
  options = {
    my-scripts.flakefolder = lib.mkOption {
      type = with lib.types; types.str;
      description = "The flake folder for my-scripts";
    };
  };

  config = {
    home.packages = [
      (something config.my-scripts.flakefolder)
    ];
  };
}
11:45:12
@dramforever:matrix.orgdramforever(note: untested)11:45:29
@dramforever:matrix.orgdramforever

and then in your regular module you would set

  my-scripts.flakefolder = "git+file:///home/whatever/you-get-the-idea";
11:45:49
@dramforever:matrix.orgdramforeverthis way the module works just like any other option you already have in home-manager11:48:58
@kdobieder:matrix.orgkdobiederAh I see, thank you.11:51:22
@tengkuizdihar:matrix.orgFPS DEV GUY (izdihar) joined the room.12:00:10
@kdobieder:matrix.orgkdobieder

So that would result in something like this?

  outputs = { nixpkgs, nixpkgs-unstable, myvendor-scripts, ... }: let
    getModule = {system}: let
      homeManagerModule = import ./modules {
        inherit myvendor-scripts;
        pkgs = nixpkgs.legacyPackages.${system};
        pkgs-unstable = nixpkgs-unstable.legacyPackages.${system};
      };
    in {
      home-manager = homeManagerModule ;
    };
  in {
    getModule = getModule;
  };

config and lib can't be used in submodules then.

12:39:13
9 May 2025
@fionnafire:matrix.orgFionna joined the room.03:23:08
10 May 2025
@headb:edwardh.devEdward Hesketh joined the room.19:44:36
@strutztm:strutztm.de@strutztm:strutztm.de left the room.19:53:11
@headb:edwardh.devEdward Hesketh changed their display name from headb to Edward Hesketh.23:32:18
12 May 2025
@gsaurel:laas.frnim65s

I have a bunch of eg.

    inputs.patch-arsenik = {
      url = "https://patch-diff.githubusercontent.com/raw/NixOS/nixpkgs/pull/386205.patch";
      flake = false;
    };

in the flake for my systems, applied with patchedNixpkgs = inputs.nixpkgs.legacyPackages.x86_64-linux.applyPatches { src = inputs.nixpkgs; patches = [ inputs.patch-arsenik ]; };, for some of my PRs I want in my pkgs but are not merged. This allow to have up-to-date patches with low effort.

But recently, github rate limits have been hitting me on like 100% of my nix flake update. Anybody has a workaround ?

16:35:42
@gsaurel:laas.frnim65s If I could set an access token on githubusercontent, it would work (eg. as in curl "https://patch-diff.githubusercontent.com/raw/NixOS/nixpkgs/pull/386205.patch?access_token=$GITHUB_TOKEN"), but I have no idea how to configure that without exposing the token directly in my flake.nix, which is a public file 16:39:36
@gsaurel:laas.frnim65s *

I have a bunch of eg.

    inputs.patch-arsenik = {
      url = "https://patch-diff.githubusercontent.com/raw/NixOS/nixpkgs/pull/386205.patch";
      flake = false;
    };

in the flake for my systems, applied with patchedNixpkgs = inputs.nixpkgs.legacyPackages.x86_64-linux.applyPatches { src = inputs.nixpkgs; patches = [ inputs.patch-arsenik ]; };, for some PRs I want in my pkgs but are not merged. This allow to have up-to-date patches with low effort.

But recently, github rate limits have been hitting me on like 100% of my nix flake update. Anybody has a workaround ?

16:41:03
@dramforever:matrix.orgdramforever
In reply to @gsaurel:laas.fr
If I could set an access token on githubusercontent, it would work (eg. as in curl "https://patch-diff.githubusercontent.com/raw/NixOS/nixpkgs/pull/386205.patch?access_token=$GITHUB_TOKEN"), but I have no idea how to configure that without exposing the token directly in my flake.nix, which is a public file
for flake inputs you're in luck, you can set the access-tokens nix option
17:04:03
@dramforever:matrix.orgdramforeveroh wait hmmm17:04:25
@dramforever:matrix.orgdramforeveryeah i posted too quick and didn't notice you're using https on a github url...17:06:19
@gsaurel:laas.frnim65s I tried access-tokens = github.com=ghp_… patch-diff.githubusercontent.com=ghp_…, but it didn't work, and I found in the doc that it is like only for specific to github/gitlab things, so this probably won't work with a random thing 17:08:16
@dramforever:matrix.orgdramforevertbh, i'm mostly surprised this even works. having non-pinnable https inputs is a surefire way to make your old flake revisions non-reproducible17:10:52
@dramforever:matrix.orgdramforever it'll fail the flake.lock check forcing you to update 17:11:36
13 May 2025
@codgician:matrix.codgician.mecodgician joined the room.08:51:52
@gladiator_entered:matrix.orgGladiatorEntred joined the room.09:21:46
@gladiator_entered:matrix.orgGladiatorEntred set a profile picture.09:25:18
@kraem:ne.bul.aekraem changed their profile picture.14:24:05
14 May 2025
@chipherseeker:matrix.orgcipherseeker joined the room.03:52:40
@amrosia:matrix.orgamrosia joined the room.04:09:54
@samuel:mnzn.devSamuel joined the room.11:49:44
@kraem:ne.bul.aekraem changed their profile picture.17:16:20

Show newer messages


Back to Room ListRoom Version: 6