mirror of
https://github.com/daylinmorgan/oizys.git
synced 2024-12-22 06:00:45 -06:00
rework overlays handling
This commit is contained in:
parent
b66236553f
commit
a559ac1c79
7 changed files with 37 additions and 71 deletions
|
@ -3,23 +3,21 @@ let
|
||||||
lib = nixpkgs.lib.extend (import ./extended.nix inputs);
|
lib = nixpkgs.lib.extend (import ./extended.nix inputs);
|
||||||
|
|
||||||
inherit (builtins) mapAttrs readDir listToAttrs;
|
inherit (builtins) mapAttrs readDir listToAttrs;
|
||||||
inherit (lib) genAttrs pkgFromSystem pkgsFromSystem;
|
inherit (lib) genAttrs pkgFromSystem pkgsFromSystem loadOverlays;
|
||||||
|
|
||||||
inherit (import ./find-modules.nix { inherit lib; }) findModulesList;
|
inherit (import ./find-modules.nix { inherit lib; }) findModulesList;
|
||||||
inherit (import ./generators.nix { inherit lib self inputs; }) mkIso mkSystem;
|
inherit (import ./generators.nix { inherit lib self inputs; }) mkIso mkSystem;
|
||||||
#supportedSystems = ["x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"];
|
#supportedSystems = ["x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"];
|
||||||
supportedSystems = [ "x86_64-linux" ];
|
supportedSystems = [ "x86_64-linux" ];
|
||||||
|
|
||||||
forAllSystems =
|
forAllSystems =
|
||||||
f:
|
fn:
|
||||||
genAttrs supportedSystems (
|
genAttrs supportedSystems (
|
||||||
system:
|
system:
|
||||||
f (
|
fn (
|
||||||
import nixpkgs {
|
import nixpkgs {
|
||||||
inherit system;
|
inherit system;
|
||||||
overlays = [
|
overlays = (import ../overlays { inherit inputs loadOverlays; });
|
||||||
inputs.nim2nix.overlays.default
|
|
||||||
(import ../overlays/nimble { inherit inputs; })
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
@ -62,13 +60,13 @@ let
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
checks = forAllSystems (
|
# checks = forAllSystems (
|
||||||
pkgs:
|
# pkgs:
|
||||||
import ./checks.nix {
|
# import ./checks.nix {
|
||||||
inherit inputs lib self;
|
# inherit inputs lib self;
|
||||||
system = pkgs.system;
|
# system = pkgs.system;
|
||||||
}
|
# }
|
||||||
);
|
# );
|
||||||
formatter = forAllSystems (pkgs: pkgs.nixfmt-rfc-style);
|
formatter = forAllSystems (pkgs: pkgs.nixfmt-rfc-style);
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
|
|
|
@ -3,8 +3,11 @@ let
|
||||||
inherit (builtins)
|
inherit (builtins)
|
||||||
listToAttrs
|
listToAttrs
|
||||||
substring
|
substring
|
||||||
filter
|
|
||||||
replaceStrings
|
replaceStrings
|
||||||
|
map
|
||||||
|
filter
|
||||||
|
attrNames
|
||||||
|
readDir
|
||||||
;
|
;
|
||||||
inherit (final)
|
inherit (final)
|
||||||
concatStringsSep
|
concatStringsSep
|
||||||
|
@ -106,6 +109,12 @@ let
|
||||||
pkg = pkgFromSystem system;
|
pkg = pkgFromSystem system;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
loadOverlays =
|
||||||
|
inputs: dir: readDir dir
|
||||||
|
|> attrNames
|
||||||
|
|> filter (f: f != "default.nix")
|
||||||
|
|> map (f: import (../overlays + "/${f}") { inherit inputs; });
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
inherit
|
inherit
|
||||||
|
@ -125,5 +134,6 @@ in
|
||||||
overlayFrom
|
overlayFrom
|
||||||
flakeFromSystem
|
flakeFromSystem
|
||||||
listify
|
listify
|
||||||
|
loadOverlays
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,14 +49,6 @@ let
|
||||||
nixosSystem {
|
nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
# TODO: clean this up
|
|
||||||
(
|
|
||||||
{ ... }:
|
|
||||||
{
|
|
||||||
nixpkgs.overlays = [ inputs.nim2nix.overlays.default ];
|
|
||||||
}
|
|
||||||
)
|
|
||||||
../overlays
|
|
||||||
../modules/oizys.nix
|
../modules/oizys.nix
|
||||||
inputs.lix-module.nixosModules.default
|
inputs.lix-module.nixosModules.default
|
||||||
inputs.hyprland.nixosModules.default
|
inputs.hyprland.nixosModules.default
|
||||||
|
|
|
@ -15,8 +15,6 @@ in
|
||||||
with pkgs;
|
with pkgs;
|
||||||
[
|
[
|
||||||
nim
|
nim
|
||||||
|
|
||||||
nim-atlas
|
|
||||||
nimble
|
nimble
|
||||||
]
|
]
|
||||||
++ [ nimlangserver ];
|
++ [ nimlangserver ];
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
{
|
{
|
||||||
|
inputs,
|
||||||
lib,
|
lib,
|
||||||
self,
|
self,
|
||||||
hostName,
|
hostName,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (lib) mkEnableOption mkOption;
|
inherit (lib) mkEnableOption mkOption loadOverlays;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = with self.nixosModules; [
|
imports = with self.nixosModules; [
|
||||||
|
@ -54,5 +55,6 @@ in
|
||||||
config = {
|
config = {
|
||||||
networking.hostName = hostName;
|
networking.hostName = hostName;
|
||||||
time.timeZone = "US/Central";
|
time.timeZone = "US/Central";
|
||||||
|
nixpkgs.overlays = import ../overlays { inherit inputs loadOverlays; };
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,33 +1,11 @@
|
||||||
{ inputs, ... }:
|
{ inputs, loadOverlays }:
|
||||||
let
|
(loadOverlays inputs ./.)
|
||||||
inherit (builtins)
|
++ [
|
||||||
map
|
inputs.nim2nix.overlays.default # adds buildNimPackage
|
||||||
filter
|
(final: _prev: {
|
||||||
attrNames
|
stable = import inputs.stable {
|
||||||
readDir
|
system = final.system;
|
||||||
elem
|
config.allowUnfree = true;
|
||||||
;
|
};
|
||||||
# execute and import all overlay files in the current
|
})
|
||||||
# directory with the given args
|
]
|
||||||
# overlays =
|
|
||||||
# map
|
|
||||||
# (f: (import (./. + "/${f}") { inherit inputs; }))
|
|
||||||
# (filter (f: f != "default.nix") (attrNames (readDir ./.)));
|
|
||||||
ignore = ["nimlangserver"];
|
|
||||||
overlays =
|
|
||||||
readDir ./.
|
|
||||||
|> attrNames
|
|
||||||
|> filter (f: f != "default.nix" || elem f ignore)
|
|
||||||
|> map (f: import (./. + "/${f}") { inherit inputs; });
|
|
||||||
|
|
||||||
in
|
|
||||||
{
|
|
||||||
nixpkgs.overlays = overlays ++ [
|
|
||||||
(final: _prev: {
|
|
||||||
stable = import inputs.stable {
|
|
||||||
system = final.system;
|
|
||||||
config.allowUnfree = true;
|
|
||||||
};
|
|
||||||
})
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
{ ... }:
|
|
||||||
(final: prev: {
|
|
||||||
nim-atlas = prev.nim-atlas.overrideNimAttrs {
|
|
||||||
version = "unstable";
|
|
||||||
src = final.fetchFromGitHub {
|
|
||||||
owner = "nim-lang";
|
|
||||||
repo = "atlas";
|
|
||||||
rev = "cbba9fa77fa837931bf3c58e20c1f8cb15a22919";
|
|
||||||
hash = "sha256-TsZ8TriVuKEY9/mV6KR89eFOgYrgTqXmyv/vKu362GU=";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
})
|
|
Loading…
Reference in a new issue