mirror of
https://github.com/nix-community/NixOS-WSL.git
synced 2026-11-07 14:59:35 +00:00
move build-tarball to a flake module
This commit is contained in:
+5
-1
@@ -5,10 +5,13 @@ let
|
||||
defaultUser = "nixos";
|
||||
automountPath = "/mnt";
|
||||
syschdemd = import ./syschdemd.nix { inherit lib pkgs config defaultUser; };
|
||||
nixos-wsl = import ./default.nix;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
imports = with nixos-wsl.nixosModules; [
|
||||
"${modulesPath}/profiles/minimal.nix"
|
||||
|
||||
build-tarball
|
||||
];
|
||||
|
||||
# WSL is closer to a container than anything else
|
||||
@@ -68,4 +71,5 @@ in
|
||||
${pkgs.rsync}/bin/rsync -ar --delete $systemConfig/sw/share/$x/. /usr/share/$x
|
||||
done
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
(import
|
||||
(
|
||||
let
|
||||
lock = builtins.fromJSON (builtins.readFile ./flake.lock);
|
||||
in
|
||||
fetchTarball {
|
||||
url = "https://github.com/edolstra/flake-compat/archive/${lock.nodes.flake-compat.locked.rev}.tar.gz";
|
||||
sha256 = lock.nodes.flake-compat.locked.narHash;
|
||||
}
|
||||
)
|
||||
{
|
||||
src = ./.;
|
||||
}).defaultNix
|
||||
Generated
+17
@@ -1,5 +1,21 @@
|
||||
{
|
||||
"nodes": {
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1641205782,
|
||||
"narHash": "sha256-4jY7RCWUoZ9cKD8co0/4tFARpWB+57+r1bLLvXNJliY=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "b7547d3eed6f32d06102ead8991ec52ab0a4f1a7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"locked": {
|
||||
"lastModified": 1623875721,
|
||||
@@ -32,6 +48,7 @@
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
|
||||
@@ -1,19 +1,30 @@
|
||||
{
|
||||
description = "NixOS WSL";
|
||||
|
||||
inputs.nixpkgs.url = "nixpkgs/nixos-20.09";
|
||||
inputs.flake-utils.url = "github:numtide/flake-utils";
|
||||
inputs = {
|
||||
nixpkgs.url = "nixpkgs/nixos-20.09";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
|
||||
flake-compat = {
|
||||
url = "github:edolstra/flake-compat";
|
||||
flake = false;
|
||||
};
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, flake-utils, ... }:
|
||||
{
|
||||
nixosModules = {
|
||||
build-tarball = import ./modules/build-tarball.nix;
|
||||
};
|
||||
|
||||
nixosConfigurations.mysystem = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
(import ./configuration.nix)
|
||||
(import ./build-tarball.nix)
|
||||
./configuration.nix
|
||||
];
|
||||
specialArgs = { inherit nixpkgs; };
|
||||
};
|
||||
|
||||
} //
|
||||
flake-utils.lib.eachDefaultSystem (system:
|
||||
let
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{ config, pkgs, lib, nixpkgs ? <nixpkgs>, ... }:
|
||||
|
||||
with lib;
|
||||
{ config, pkgs, lib, ... }:
|
||||
with builtins; with lib;
|
||||
let
|
||||
pkgs2storeContents = l: map (x: { object = x; symlink = "none"; }) l;
|
||||
|
||||
@@ -15,9 +14,9 @@ let
|
||||
if [ ! -e $out/nixos/nixpkgs ]; then
|
||||
ln -s . $out/nixos/nixpkgs
|
||||
fi
|
||||
echo -n ${config.system.nixos.revision} > $out/nixos/.git-revision
|
||||
echo -n ${config.system.nixos.versionSuffix} > $out/nixos/.version-suffix
|
||||
echo ${config.system.nixos.versionSuffix} | sed -e s/pre// > $out/nixos/svn-revision
|
||||
echo -n ${toString config.system.nixos.revision} > $out/nixos/.git-revision
|
||||
echo -n ${toString config.system.nixos.versionSuffix} > $out/nixos/.version-suffix
|
||||
echo ${toString config.system.nixos.versionSuffix} | sed -e s/pre// > $out/nixos/svn-revision
|
||||
'';
|
||||
|
||||
preparer = pkgs.writeShellScriptBin "wsl-prepare" ''
|
||||
@@ -49,16 +48,17 @@ let
|
||||
|
||||
# Copy the system configuration
|
||||
mkdir -p ./etc/nixos
|
||||
cp ${./configuration.nix} ./etc/nixos/configuration.nix
|
||||
cp ${./syschdemd.nix} ./etc/nixos/syschdemd.nix
|
||||
cp ${./syschdemd.sh} ./etc/nixos/syschdemd.sh
|
||||
cp -R ${../.}/. ./etc/nixos/
|
||||
'';
|
||||
|
||||
in
|
||||
{
|
||||
system.build.tarball = pkgs.callPackage "${nixpkgs}/nixos/lib/make-system-tarball.nix" {
|
||||
# No contents, structure will be added by prepare script
|
||||
contents = [ ];
|
||||
|
||||
fileName = "nixos-wsl-${config.system.nixos.release}-${pkgs.hostPlatform.system}";
|
||||
|
||||
storeContents = pkgs2storeContents [
|
||||
config.system.build.toplevel
|
||||
channelSources
|
||||
Reference in New Issue
Block a user