Add a nix-flake-repl script.

This commit is contained in:
Tom Alexander 2026-01-01 10:52:00 -05:00
parent d883dda34c
commit 70f3ae6894
Signed by: talexander
GPG Key ID: 36C99E8B3C39D85F
6 changed files with 42 additions and 49 deletions

View File

@ -54,6 +54,7 @@
./roles/minimal_base
./roles/network
./roles/nix_index
./roles/nix_repl
./roles/nix_worker
./roles/nixdev
./roles/nvme

View File

@ -1,6 +1,3 @@
# Get a repl for this flake
# nix repl --expr "builtins.getFlake \"$PWD\""
# TODO maybe use `nix eval --raw .#odo.iso.outPath`
#
@ -93,29 +90,6 @@
];
};
}
(
{
config,
lib,
pkgs,
...
}:
let
nix-self-repl = pkgs.writeShellScriptBin "nix-self-repl" ''
source /etc/set-environment
nix repl --expr 'builtins.getFlake "${self}"'
'';
# If we wanted the current version of a flake then we'd just launch
# nix repl
# and then run:
# :lf /path/to/flake
in
{
config = {
environment.systemPackages = lib.mkIf config.nix.enable [ nix-self-repl ];
};
}
)
];
}
) nodes;
@ -127,29 +101,6 @@
};
modules = [
./formats/installer.nix
(
{
config,
lib,
pkgs,
...
}:
let
nix-self-repl = pkgs.writeShellScriptBin "nix-self-repl" ''
source /etc/set-environment
nix repl --expr 'builtins.getFlake "${self}"'
'';
# If we wanted the current version of a flake then we'd just launch
# nix repl
# and then run:
# :lf /path/to/flake
in
{
config = {
environment.systemPackages = lib.mkIf config.nix.enable [ nix-self-repl ];
};
}
)
({ nixpkgs.hostPlatform.system = nodeConfig.system; })
];
};

View File

@ -114,6 +114,7 @@
me.memtest.enable = true;
me.network.enable = true;
me.nix_index.enable = true;
me.nix_repl.enable = true;
me.nixdev.enable = true;
me.nvme.enable = true;
me.openpgp_card_tools.enable = true;

View File

@ -115,6 +115,7 @@
me.memtest.enable = true;
me.network.enable = true;
me.nix_index.enable = true;
me.nix_repl.enable = true;
me.nixdev.enable = true;
me.nvme.enable = true;
me.openpgp_card_tools.enable = true;

View File

@ -108,6 +108,7 @@
me.memtest.enable = true;
me.network.enable = true;
me.nix_index.enable = true;
me.nix_repl.enable = true;
me.nix_worker.enable = true;
me.nixdev.enable = true;
me.nvme.enable = true;

View File

@ -0,0 +1,38 @@
{
config,
lib,
pkgs,
self,
...
}:
let
nix-flake-repl = pkgs.writeShellScriptBin "nix-flake-repl" ''
source /etc/set-environment
target="''${1:-$(pwd)}"
nix repl --expr "builtins.getFlake \"''$target\""
'';
nix-self-repl = pkgs.writeShellScriptBin "nix-self-repl" ''
source /etc/set-environment
nix repl --expr 'builtins.getFlake "${self}"'
'';
in
{
imports = [ ];
options.me = {
nix_repl.enable = lib.mkOption {
type = lib.types.bool;
default = false;
example = true;
description = "Whether we want to install nix_repl.";
};
};
config = lib.mkIf config.me.nix_repl.enable {
environment.systemPackages = [
nix-flake-repl
nix-self-repl
];
};
}