diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | flake.lock | 40 | ||||
| -rw-r--r-- | flake.nix | 21 | ||||
| -rw-r--r-- | nixos/default.nix | 2 | ||||
| -rw-r--r-- | pkgs/default.nix | 13 | ||||
| -rw-r--r-- | pkgs/openrc/default.nix | 37 | 
6 files changed, 114 insertions, 0 deletions
| diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fcfc4a1 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +result* diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..fd330a2 --- /dev/null +++ b/flake.lock @@ -0,0 +1,40 @@ +{ +  "nodes": { +    "flake-utils": { +      "locked": { +        "lastModified": 1644229661, +        "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", +        "owner": "numtide", +        "repo": "flake-utils", +        "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", +        "type": "github" +      }, +      "original": { +        "id": "flake-utils", +        "type": "indirect" +      } +    }, +    "nixpkgs": { +      "locked": { +        "lastModified": 1645013224, +        "narHash": "sha256-b7OEC8vwzJv3rsz9pwnTX2LQDkeOWz2DbKypkVvNHXc=", +        "owner": "NixOS", +        "repo": "nixpkgs", +        "rev": "b66b39216b1fef2d8c33cc7a5c72d8da80b79970", +        "type": "github" +      }, +      "original": { +        "id": "nixpkgs", +        "type": "indirect" +      } +    }, +    "root": { +      "inputs": { +        "flake-utils": "flake-utils", +        "nixpkgs": "nixpkgs" +      } +    } +  }, +  "root": "root", +  "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..47ed1ad --- /dev/null +++ b/flake.nix @@ -0,0 +1,21 @@ +{ +  description = "OpenRC flake"; + +  outputs = { self, nixpkgs, flake-utils }: +    let +      flakelib = flake-utils.lib; +    in { +      overlay = final: prev: import ./pkgs { nixpkgs = prev; }; +      nixosModules = import ./nixos; +      nixosModule = { +        imports = builtins.attrValues self.nixosModules; +        nixpkgs.overlays = [ self.overlay ]; +      }; +    } // flakelib.eachDefaultSystem (system: { +      packages = import nixpkgs { +        inherit system; +        overlays = [ self.overlay ]; +        crossOverlays = [ self.overlay ]; +      }; +    }); +} diff --git a/nixos/default.nix b/nixos/default.nix new file mode 100644 index 0000000..2c63c08 --- /dev/null +++ b/nixos/default.nix @@ -0,0 +1,2 @@ +{ +} diff --git a/pkgs/default.nix b/pkgs/default.nix new file mode 100644 index 0000000..464c468 --- /dev/null +++ b/pkgs/default.nix @@ -0,0 +1,13 @@ +{ nixpkgs ? <nixpkgs>, nixlib ? nixpkgs.lib }: + +let +  pkgs = nixpkgs // openrcpkgs; +  callPackage = nixlib.callPackageWith pkgs; + +  openrcpkgs = with pkgs; { + +    openrc = callPackage ./openrc { }; + +  }; + +in openrcpkgs diff --git a/pkgs/openrc/default.nix b/pkgs/openrc/default.nix new file mode 100644 index 0000000..8c235e0 --- /dev/null +++ b/pkgs/openrc/default.nix @@ -0,0 +1,37 @@ +{ stdenv, lib, fetchgit +, meson, ninja, pkg-config +, pam, ncurses +}: + +stdenv.mkDerivation rec { +  pname = "openrc"; +  version = "0.44.10"; +  meta = with lib; { +    homepage = "https://github.com/OpenRC/openrc"; +    description = "OpenRC manages the services, startup and shutdown of a host"; +    platforms = with platforms; linux; +    license = licenses.bsd2; +  }; + +  src = fetchgit { +    url = "https://github.com/OpenRC/openrc.git"; +    rev = version; +    sha256 = "0azb3ywclzx6cz9bmfpc4aqysz1pq4akr882bvnqh2x78xixcydv"; +  }; + +  nativeBuildInputs = [ meson ninja pkg-config ]; +  buildInputs = [ pam ncurses ]; + +  preConfigure = "export DESTDIR=/"; +  mesonFlags = [ +    "-Dbranding=\"NIXOS\"" +    "-Dos=Linux" +    "-Dselinux=disabled" +    "-Daudit=disabled" +    "-Dsysvinit=false" +    "-Dtermcap=ncurses" +    "-Dnewnet=true" +    "-Drootprefix=${placeholder "out"}" +    "--sysconfdir=${placeholder "out"}/etc" +  ]; +} | 
