From 37d40e0cfe4e770a1ef388e93de3bd048d5aaee7 Mon Sep 17 00:00:00 2001 From: Timothy DeHerrera Date: Tue, 29 Dec 2020 01:17:36 -0700 Subject: [PATCH] shell: add command descriptions --- shell.nix | 55 ++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 40 insertions(+), 15 deletions(-) diff --git a/shell.nix b/shell.nix index 973009cd..d55dd5f8 100644 --- a/shell.nix +++ b/shell.nix @@ -16,37 +16,62 @@ let }).config.system.build; flk = pkgs.writeShellScriptBin "flk" '' - if [[ -z $1 ]]; then - echo "Usage: $(basename $0) [ iso | install {host} | {host} [switch|boot|test] ]" - elif [[ $1 == "iso" ]]; then + if [[ -z "$1" || "$1" == "help" || "--help" || "-h" ]]; then + echo "Usage: $(basename "$0") [ iso | install {host} | {host} [switch|boot|test] ]" + elif [[ "$1" == "iso" ]]; then nix build ${configs}.niximg.${build}.isoImage - elif [[ $1 == "install" ]]; then + elif [[ "$1" == "install" ]]; then sudo nixos-install --flake ".#$2" "${"\${@:3}"}" else sudo nixos-rebuild --flake ".#$1" "${"\${@:2}"}" fi ''; - nix = pkgs.writeShellScriptBin "nix" '' - ${pkgs.nixFlakes}/bin/nix --option experimental-features "nix-command flakes ca-references" "$@" - ''; + name = "flk"; in pkgs.mkDevShell { - name = "nixflk"; + inherit name; packages = with pkgs; with installPkgs; [ - git git-crypt - flk - nix - nixpkgs-fmt - python38Packages.grip nixos-install nixos-generate-config nixos-enter - nixos-rebuild ]; - env = { }; + env = { inherit name; }; + + commands = with pkgs; [ + { + name = nixpkgs-fmt.pname; + package = nixpkgs-fmt; + help = nixpkgs-fmt.meta.description; + category = "linters"; + } + { + name = flk.name; + help = "Build, deploy, and install nixflk"; + category = "main"; + package = flk; + } + { + name = "grip"; + help = python38Packages.grip.meta.description; + category = "servers"; + package = python38Packages.grip; + } + { + name = git.pname; + help = git.meta.description; + category = "vcs"; + package = git; + } + { + name = "nix"; + help = nixFlakes.meta.description; + category = "main"; + command = ''${nixFlakes}/bin/nix --option experimental-features "nix-command flakes ca-references" "$@"''; + } + ]; }