diff options
| author | Mel <einebeere@gmail.com> | 2024-10-22 23:17:33 +0200 |
|---|---|---|
| committer | Mel <einebeere@gmail.com> | 2024-10-22 23:40:59 +0200 |
| commit | bb0e4c7b5bbec7b8d8e3433a87683e9bb5ec307a (patch) | |
| tree | 87e0cf82dc573f9000dfb998326e504fa2e2a0d6 /compat | |
| parent | 42d23c55e924b5100d5c357458f20de640db2400 (diff) | |
| download | minerals-bb0e4c7b5bbec7b8d8e3433a87683e9bb5ec307a.tar.zst minerals-bb0e4c7b5bbec7b8d8e3433a87683e9bb5ec307a.zip | |
Add compatibility scripts for nixos-option and other legacy nix tools
Signed-off-by: Mel <einebeere@gmail.com>
Diffstat (limited to 'compat')
| -rw-r--r-- | compat/default.nix | 20 | ||||
| -rw-r--r-- | compat/flake-compat.nix | 11 | ||||
| -rw-r--r-- | compat/nixos/default.nix | 13 |
3 files changed, 44 insertions, 0 deletions
diff --git a/compat/default.nix b/compat/default.nix new file mode 100644 index 0000000..0077090 --- /dev/null +++ b/compat/default.nix @@ -0,0 +1,20 @@ +# compatability files for `nixos-option` and other legacy +# nix tools. +# +# `nixos-option` does not support flakes (as of yet), +# so we need to give it the path to `<nixpkgs>` (this file) +# and to `<nixos-config>` (in `./nixos/default.nix`) which +# then both return the correct outputs from the system flake. +# +# can also be useful for running out-of-tree `shell.nix` and `default.nix` +# files, without creating a custom flake for them and still having them +# get the correct package sets from the system flake configuration. +# +# see here: https://github.com/NixOS/nixpkgs/issues/97855#issuecomment-799925924 + +{ ... }: + +let + flake = import ./flake-compat.nix { src = ./..; }; +in +flake.defaultNix.legacyPackages.${builtins.currentSystem} diff --git a/compat/flake-compat.nix b/compat/flake-compat.nix new file mode 100644 index 0000000..ac56432 --- /dev/null +++ b/compat/flake-compat.nix @@ -0,0 +1,11 @@ +with builtins; +let + lock = fromJSON (readFile ../flake.lock); + + flake-compat = builtins.fetchGit (with lock.nodes.flake-compat.locked; { + inherit rev; + url = "https://github.com/${owner}/${repo}.git"; + }); + +in +{ src, ... }: import flake-compat { inherit src; } diff --git a/compat/nixos/default.nix b/compat/nixos/default.nix new file mode 100644 index 0000000..3d547c2 --- /dev/null +++ b/compat/nixos/default.nix @@ -0,0 +1,13 @@ +# this file provides the current nixos configuration +# taken from the system flake. +# see `../default.nix` for explanation. +{ nixpkgs ? import <nixpkgs> {}, ... }: + +with builtins; +let + me = with builtins; + nixpkgs.lib.toLower (head (split "\n" (readFile /etc/hostname))); + + flake = import ../flake-compat.nix { src = ./../..; }; +in +flake.defaultNix.nixosConfigurations.${me} |
