This commit is contained in:
Amy de Buitléir 2025-10-14 11:04:01 +01:00
parent 82c570aa36
commit c015c357fe
5 changed files with 153 additions and 1189 deletions

1235
index.html

File diff suppressed because it is too large Load diff

View file

@ -195,8 +195,11 @@ $# cat flake.nix
....
Let's test the package.
First, we should exit the development shell so we can verify that the flake dependencies are automatically loaded.
Otherwise the script could use `cowsay` from the development shell.
....
$ exit
$ nix run
....

View file

@ -1,7 +1,7 @@
[#writeShellApplication]
= Access a top level package from the Nixpkgs/NixOS repo
In <<_introducing_a_dependency>>, we wrote a shell script that needed
In <<#define-package>>, we wrote a shell script that needed
access to the Linux `cowsay` command.
To accomplish this, we added a step to the `installPhase` that
modified that script by including the full path to `cowsay`.

View file

@ -0,0 +1,60 @@
{
"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"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1760435515,
"narHash": "sha256-E9D5sWHmPCmWsrCB3Jogvr/7ODiVaKynDrOpG4ba2tI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "db25466bd95abdbe3012be2900a5562fcfb95d51",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

View file

@ -0,0 +1,42 @@
{
description = "a very simple and friendly flake";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs { inherit system; };
in
{
devShells = rec {
default = pkgs.mkShell {
packages = [ pkgs.cowsay ];
};
};
packages = rec {
hello = pkgs.writeShellApplication {
name = "hello-cow";
runtimeInputs = [
pkgs.cowsay
];
text = ''
cowsay "hello";
'';
};
default = hello;
};
apps = rec {
hello = flake-utils.lib.mkApp { drv = self.packages.${system}.hello; };
default = hello;
};
}
);
}