diff --git a/flake.nix b/flake.nix index a8bdb96..398bb91 100644 --- a/flake.nix +++ b/flake.nix @@ -34,7 +34,6 @@ ./assets ./hosts ./modules - ./wrappers ./services ]; diff --git a/nilla.nix b/nilla.nix index 7a72441..70446e8 100644 --- a/nilla.nix +++ b/nilla.nix @@ -7,6 +7,7 @@ includes = [ ./modules/nilla ./pkgs + ./wrappers ]; config.inputs = builtins.mapAttrs (_: src: { @@ -53,9 +54,8 @@ symlinkJoin { name = "settei-base"; paths = with (getPkgs system); [ - # TODO: wrappers - # helix - # fish + helix + fish git-commit-last git-fixup ]; diff --git a/pkgs/default.nix b/pkgs/default.nix index 395dc2c..f5009d6 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,3 +1,4 @@ +{ config }: let systems = [ "x86_64-linux" @@ -10,7 +11,6 @@ let }; in -{ config }: { config.packages.conduit-next = { inherit systems builder; diff --git a/wrappers/default.nix b/wrappers/default.nix index 95040ca..7701749 100644 --- a/wrappers/default.nix +++ b/wrappers/default.nix @@ -1,25 +1,32 @@ -{ inputs, ... }: +{ lib, config }: +let + systems = [ + "x86_64-linux" + "aarch64-linux" + "aarch64-darwin" + ]; + wrappedPerSystem = lib.attrs.generate systems ( + system: + config.inputs.wrapper-manager-hm-compat.result.lib { + pkgs = config.inputs.nixpkgs.result.legacyPackages.${system}; + modules = [ + ./starship + ./helix + # TODO: Enable again + # ./rash + ./fish + ./wezterm + ]; + specialArgs.inputs = builtins.mapAttrs (_: input: input.result) config.inputs; + } + ); + wrappedPerSystem' = builtins.mapAttrs (_: wrapped: wrapped.config.build.packages) wrappedPerSystem; + wrapperNames = builtins.attrNames wrappedPerSystem'."x86_64-linux"; +in { - perSystem = - { pkgs, inputs', ... }: - let - wrapped = inputs.wrapper-manager-hm-compat.lib { - inherit pkgs; - modules = [ - ./starship - ./helix - # TODO: Enable again - # ./rash - ./fish - ./wezterm - ]; - specialArgs = { - inherit inputs inputs'; - }; - }; - all-packages = wrapped.config.build.packages; - in - { - packages = all-packages; - }; + config.packages = lib.attrs.generate wrapperNames (wrapper: { + inherit systems; + builder = "custom-load"; + package = { system }: wrappedPerSystem'.${system}.${wrapper}; + }); } diff --git a/wrappers/helix/default.nix b/wrappers/helix/default.nix index 8bd476d..6703955 100644 --- a/wrappers/helix/default.nix +++ b/wrappers/helix/default.nix @@ -1,8 +1,8 @@ -{ pkgs, inputs', ... }: +{ pkgs, inputs, ... }: { programs.helix = { enable = true; - package = inputs'.helix.packages.default; + package = inputs.helix.packages.${pkgs.system}.default; settings = { theme = "base16_default_dark"; editor = { diff --git a/wrappers/rash/default.nix b/wrappers/rash/default.nix index c142a0e..64c026c 100644 --- a/wrappers/rash/default.nix +++ b/wrappers/rash/default.nix @@ -1,6 +1,6 @@ { pkgs, - inputs', + inputs, config, ... }: @@ -13,7 +13,7 @@ rev = "8eb52c163d6ea7c3cec2cc6b1011ce00738942e1"; hash = "sha256-1yU0ZUBQqYEn85j4T2pLs02MTyJnO5BbYALIa88iomY="; }; - racket-with-libs = inputs'.racket.packages.racket.newLayer { + racket-with-libs = inputs.racket.packages.${pkgs.system}.racket.newLayer { withRacketPackages = ps: with ps; [ readline-gpl