nix-config/shell.nix

40 lines
940 B
Nix
Raw Normal View History

# Shell for bootstrapping flake-enabled nix and other tooling
{ pkgs ? # If pkgs is not defined, instanciate nixpkgs from locked commit
let
lock = (builtins.fromJSON (builtins.readFile ./flake.lock)).nodes.nixpkgs.locked;
nixpkgs = fetchTarball {
url = "https://github.com/nixos/nixpkgs/archive/${lock.rev}.tar.gz";
sha256 = lock.narHash;
};
in
import nixpkgs { overlays = [ ]; }
2023-09-20 14:28:57 +00:00
, ... }:
{
default = pkgs.mkShell {
NIX_CONFIG = "extra-experimental-features = nix-command flakes repl-flake";
nativeBuildInputs = with pkgs; [
nix
home-manager
git
2023-09-22 14:42:28 +00:00
vim
emacs
2023-09-22 14:46:38 +00:00
tig
2023-09-22 17:06:18 +00:00
ripgrep
sops
ssh-to-age
gnupg
age
2023-09-19 17:05:08 +00:00
yubikey-manager
2023-09-20 14:28:57 +00:00
pinentry-curses
];
};
2023-09-20 14:49:39 +00:00
services.dbus.packages = [ pkgs.gcr ];
services.pcscd.enable = true;
programs.gnupg.agent = {
enable = true;
pinentryFlavor = "curses";
enableSSHSupport = true;
};
}