From 0feddf5bb1bf399d6edb9bd1b14813f2826d1ba4 Mon Sep 17 00:00:00 2001 From: Mikael Voss Date: Sun, 17 Nov 2024 14:57:59 +0100 Subject: [PATCH] Build with neoidiosyn flake --- flake.lock | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++-- flake.nix | 16 ++++---- package.nix | 4 +- 3 files changed, 121 insertions(+), 14 deletions(-) diff --git a/flake.lock b/flake.lock index 5134ed1..fd69924 100644 --- a/flake.lock +++ b/flake.lock @@ -1,12 +1,104 @@ { "nodes": { + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flakey-profile": { + "locked": { + "lastModified": 1712898590, + "narHash": "sha256-FhGIEU93VHAChKEXx905TSiPZKga69bWl1VB37FK//I=", + "owner": "lf-", + "repo": "flakey-profile", + "rev": "243c903fd8eadc0f63d205665a92d4df91d42d9d", + "type": "github" + }, + "original": { + "owner": "lf-", + "repo": "flakey-profile", + "type": "github" + } + }, + "lix": { + "flake": false, + "locked": { + "lastModified": 1732056932, + "narHash": "sha256-3ubtSu0D+BUV5FKmBU7kTEXlI/okp/j1xC/ODC7LgTA=", + "rev": "b0d7a816135de1cd551b8a54f5497148bf59d81d", + "type": "tarball", + "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/b0d7a816135de1cd551b8a54f5497148bf59d81d.tar.gz?rev=b0d7a816135de1cd551b8a54f5497148bf59d81d" + }, + "original": { + "type": "tarball", + "url": "https://git.lix.systems/lix-project/lix/archive/main.tar.gz" + } + }, + "lix-module": { + "inputs": { + "flake-utils": "flake-utils", + "flakey-profile": "flakey-profile", + "lix": [ + "neoidiosyn", + "lix" + ], + "nixpkgs": [ + "neoidiosyn", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1731967274, + "narHash": "sha256-n6dPGRlMGdL8X5gviA6ZuRfUdbdD5KiNN/BpABA5YT0=", + "rev": "aa2846680fa9a2032939d720487942567fd9eb63", + "type": "tarball", + "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/aa2846680fa9a2032939d720487942567fd9eb63.tar.gz?rev=aa2846680fa9a2032939d720487942567fd9eb63" + }, + "original": { + "type": "tarball", + "url": "https://git.lix.systems/lix-project/nixos-module/archive/main.tar.gz" + } + }, + "neoidiosyn": { + "inputs": { + "lix": "lix", + "lix-module": "lix-module", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1732198906, + "narHash": "sha256-bOkV3VnFeygH7gM+00BMiBaVhzcmbSaZMKyzpDH2o4c=", + "ref": "refs/heads/main", + "rev": "71348780a763826bb475b809563f7b12838c1ec4", + "revCount": 1, + "type": "git", + "url": "https://woof.rip/mikael/neoidiosyn.git" + }, + "original": { + "type": "git", + "url": "https://woof.rip/mikael/neoidiosyn.git" + } + }, "nixpkgs": { "locked": { - "lastModified": 1731531548, - "narHash": "sha256-sz8/v17enkYmfpgeeuyzniGJU0QQBfmAjlemAUYhfy8=", + "lastModified": 1731890469, + "narHash": "sha256-D1FNZ70NmQEwNxpSSdTXCSklBH1z2isPR84J6DQrJGs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "24f0d4acd634792badd6470134c387a3b039dace", + "rev": "5083ec887760adfe12af64830a66807423a859a7", "type": "github" }, "original": { @@ -18,7 +110,22 @@ }, "root": { "inputs": { - "nixpkgs": "nixpkgs" + "neoidiosyn": "neoidiosyn" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" } } }, diff --git a/flake.nix b/flake.nix index 435c02b..79722be 100644 --- a/flake.nix +++ b/flake.nix @@ -2,7 +2,7 @@ description = "Hardened Linux kernel"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + neoidiosyn.url = "git+https://woof.rip/mikael/neoidiosyn.git"; }; nixConfig = { @@ -11,29 +11,29 @@ extra-trusted-public-keys = [ "cache.kyouma.net:Frjwu4q1rnwE/MnSTmX9yx86GNA/z3p/oElGvucLiZg=" ]; }; - outputs = { self, nixpkgs, ... }@inputs: let - inherit (nixpkgs) lib; + outputs = { self, neoidiosyn, ... }@inputs: let + inherit (neoidiosyn) lib; packageWith = pkgs: args: pkgs.callPackage ./package.nix (if builtins.isPath args then import args else args); in { lib.kernel = import ./lib.nix { inherit lib; }; packages = { riscv64-linux = let - package = packageWith nixpkgs.legacyPackages.riscv64-linux; + package = packageWith neoidiosyn.legacyPackages.riscv64-linux; in { default = package { }; paravirt = package ./platform/paravirt.nix; }; aarch64-linux = let - package = packageWith nixpkgs.legacyPackages.aarch64-linux; + package = packageWith neoidiosyn.legacyPackages.aarch64-linux; in { default = package { }; paravirt = package ./platform/paravirt.nix; }; x86_64-linux = let - package = packageWith nixpkgs.legacyPackages.x86_64-linux; + package = packageWith neoidiosyn.legacyPackages.x86_64-linux; in { default = package { }; paravirt = package ./platform/paravirt.nix; @@ -44,7 +44,7 @@ devShells = lib.genAttrs [ "riscv64-linux" "aarch64-linux" "x86_64-linux" ] (system: { default = let - pkgs = nixpkgs.legacyPackages.${system}; + pkgs = neoidiosyn.legacyPackages.${system}; in pkgs.mkShell { packages = with pkgs; [ pkg-config ncurses.dev bison ]; inputsFrom = [ self.packages.${system}.default ]; @@ -52,6 +52,6 @@ }); hydraJobs = self.packages |> lib.foldlAttrs (jobs: system: packages: lib.recursiveUpdate jobs - (lib.mapAttrs (name: package: { ${system} = package; }) packages)) { }; + (lib.mapAttrs (name: package: { ${system} = lib.hydraJob package; }) packages)) { }; }; } diff --git a/package.nix b/package.nix index 546a327..964e7f0 100644 --- a/package.nix +++ b/package.nix @@ -2,7 +2,7 @@ lib, stdenv, buildPackages, - llvmPackages_19, + llvmPackages, hostPlatform, fetchFromGitHub, buildEnv, @@ -29,7 +29,7 @@ }@args: lib.makeOverridable ({ - llvmPackages ? llvmPackages_19, + llvmPackages ? llvmPackages, instSetArch ? hostPlatform.gccarch or null, platformConfig ? { }, extraConfig ? { },