From 665c979a1e6b03f1a8e547064c5373b6fd95bfc2 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Wed, 11 Jun 2025 12:04:36 +0300 Subject: [PATCH] nix: re-export personal packages in flake outputs --- flake.lock | Bin 2474 -> 4178 bytes flake.nix | 74 ++++++++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 65 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 7e3c28a7a0368bbed8eac78859ed12e20d45a45f..0883ff1e620ca9f129527421a254dc9756449ae2 100644 GIT binary patch delta 1108 zcmb7@%Wl&^6o!?Q;I@JlQKc?`${-<8q|A71j|T~mo1|4P4b7!#BUB`hJ&Bz-No%{g zls8~k{0y*QfspzFtat#{2&r#^orKi1m8yC(4CcdH$c+GoF9BcEb&SHI6wV3xtT^wEyV&R!U}j*lZW;=}hHq z$8G?5RLz&o@m^jn)Z9ugJ0NXmJ+;~Tba!Q`)c4e?$?T^8Bfj!F$jZN%7sESj5aj1E zq!bd(AV8xKF^rJ`Gy^dz$UxSOCe}2pDLVDf7YqLfTnI7F7oYg8#QkNfcXVvIme+S~ zM~0vX@M-_y`j)G=^5a$!xhF?fYy{k&&b)3Vzn*ov^tyF%V^2$MfPh5 z4FO{&6QnB?2|$z-MMMND1|yUpL4b-ZVWNn_6~bhcY6_Y>`?>Hf=0D{eVe*Wjg40Pv z*+@0P_Qjw7k$WXY&J8us3j<8X=(^>wt~Hu$O{f0*#LC%k?sLrVCb&D{`CF-sf>(ud zsIoakPEmC1oZZN8*H{*3>@u<|W;v7Jt*B;peJ7nN)x^50manM%=5n304uX=11yRQo zQbQ!NBr;8sg2sV_K^90JjJf~-xT^1zWY$95aK;)qqaLu|;Eae~?%4HM*S&n_-}1cW z4`yzHvWzEcRO>a8J`^$|cVN_5A$8I&s8BI;yG8FfT{?l){f)fYM#k6)?ZkO*f5>b* xFjI14R_wLyMw>cPFlfry5V6jh03t#F1yG;{0D&ShCR0O2L(cg_Jw7a@{sM2oIy?XX delta 231 zcmcbluu6CX4->aiUS>r>c6zaHPUd7oR^iD8ENYvRnDQAnuVCNG$c>OpnmmEafYaQ> z!ra8b(%5qH0UlZHqQJz;;>?`162rtW-*PuYlM2ri_h94VEW=8V98a@+??6ANpb$3` zgXHANg4|M^$@#gtrFoepm6N?Wq*?TGGLt5MWD?deGc`*zGchzWPqj=jw=_&NHa0Oa zHA*&1GBYzUOEEMzHMTS{H%m2|ypY427w95gEaog^HkcgCSu~lK%WyIypXlaJuBD8V HH3c*Q1&Bu$ diff --git a/flake.nix b/flake.nix index 1667d86..3d071e1 100644 --- a/flake.nix +++ b/flake.nix @@ -1,15 +1,43 @@ { - description = "A personal package overlay"; + # «https://github.com/notashelf/nyxexprs» + description = "Personal package overlay for commonly used derivations"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - flake-parts.url = "github:hercules-ci/flake-parts"; systems.url = "github:nix-systems/default-linux"; + flake-parts = { + url = "github:hercules-ci/flake-parts"; + inputs.nixpkgs-lib.follows = "nixpkgs"; + }; flake-compat = { url = "github:edolstra/flake-compat"; flake = false; }; + + # Rest of my packages will be constructed from previous flakes + watt = { + url = "github:NotAShelf/watt"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + flint = { + url = "github:NotAShelf/flint"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + inquisitor = { + url = "github:NotAShelf/inquisitor"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + wiremix = { + url = "github:tsowell/wiremix"; + inputs = { + nixpkgs.follows = "nixpkgs"; + systems.follows = "systems"; + }; + }; }; outputs = { @@ -24,12 +52,13 @@ perSystem = { system, + inputs', config, pkgs, lib, ... }: let - inherit (builtins) concatStringsSep match; + inherit (builtins) concatStringsSep match listToAttrs; inherit (lib.attrsets) recursiveUpdate; inherit (lib.filesystem) packagesFromDirectoryRecursive; inherit (lib.customisation) callPackageWith; @@ -43,18 +72,45 @@ }; overlayAttrs = config.packages; - packages = packagesFromDirectoryRecursive { - callPackage = callPackageWith (recursiveUpdate pkgs {inherit pins date;}); - directory = ./pkgs; - }; + packages = let + base = packagesFromDirectoryRecursive { + callPackage = callPackageWith (recursiveUpdate pkgs {inherit pins date;}); + directory = ./pkgs; + }; + + # Borrowed diniamo/niqspkgs, with love <3 + # (and without useless pipe operators) + fromInputs = [ + # My packages + "watt" + "flint" + "inquisitor" + + # 3rd party packages + "wiremix" + ]; + + mappedPkgs = listToAttrs (map (input: { + name = input; + value = inputs'.${input}.packages.default; + }) + fromInputs); + in + base // mappedPkgs; formatter = config.packages.alejandra-custom; devShells = { - default = self.devShells.${system}.npins; - npins = pkgs.mkShellNoCC { + default = pkgs.mkShellNoCC { + name = "nyxexprs"; packages = [pkgs.npins]; }; }; }; }; + + # This is so that you don't have to compile Alejandra. + nixConfig = { + extra-substituters = ["https://nyx.cachix.org"]; + extra-trusted-public-keys = ["nyx.cachix.org-1:xH6G0MO9PrpeGe7mHBtj1WbNzmnXr7jId2mCiq6hipE"]; + }; }