6 Commits

Author SHA1 Message Date
eric
86a0792b6e chore(release): v1.0.4 2026-03-04 08:48:24 +01:00
eric
d1aea76dd9 fix: formatting 2026-03-04 08:48:16 +01:00
eric
cdc9e18035 chore(release): v1.0.3 2026-03-04 08:25:29 +01:00
eric
374ba596ab fix: spacing 2026-03-04 08:25:21 +01:00
eric
ffeede1dca chore(release): v1.0.2 2026-03-04 08:21:29 +01:00
eric
a7c17bc738 feat: add more colors 2026-03-04 08:21:20 +01:00
4 changed files with 79 additions and 57 deletions

View File

@@ -16,7 +16,7 @@ Simple Nix flake library for:
From your new project folder: From your new project folder:
```bash ```bash
nix flake new myapp -t 'git+https://git.dgren.dev/eric/nix-flake-lib?ref=v1.0.1#default' --refresh nix flake new myapp -t 'git+https://git.dgren.dev/eric/nix-flake-lib?ref=v1.0.4#default' --refresh
``` ```
## Use the library (existing repo) ## Use the library (existing repo)
@@ -24,7 +24,7 @@ nix flake new myapp -t 'git+https://git.dgren.dev/eric/nix-flake-lib?ref=v1.0.1#
Add this flake input: Add this flake input:
```nix ```nix
inputs.devshell-lib.url = "git+https://git.dgren.dev/eric/nix-flake-lib?ref=v1.0.1"; inputs.devshell-lib.url = "git+https://git.dgren.dev/eric/nix-flake-lib?ref=v1.0.4";
inputs.devshell-lib.inputs.nixpkgs.follows = "nixpkgs"; inputs.devshell-lib.inputs.nixpkgs.follows = "nixpkgs";
``` ```

View File

@@ -1,3 +1,3 @@
1.0.1 1.0.4
stable stable
0 0

View File

@@ -95,6 +95,11 @@
// additionalHooks; // additionalHooks;
}; };
toolNameWidth = builtins.foldl' (
maxWidth: t: pkgs.lib.max maxWidth (builtins.stringLength t.name)
) 0 tools;
toolLabelWidth = toolNameWidth + 1;
toolBannerScript = pkgs.lib.concatMapStrings ( toolBannerScript = pkgs.lib.concatMapStrings (
t: t:
let let
@@ -102,7 +107,8 @@
in in
'' ''
if command -v ${t.bin} >/dev/null 2>&1; then if command -v ${t.bin} >/dev/null 2>&1; then
printf " $CYAN ${t.name}:$RESET\t${colorVar}%s$RESET\n" "$(${t.bin} ${t.versionCmd})" version="$(${t.bin} ${t.versionCmd} 2>/dev/null | head -n 1 | sed -E 's/^[[:space:]]+//; s/[[:space:]]+$//')"
printf " $CYAN %-${toString toolLabelWidth}s$RESET ${colorVar}%s$RESET\n" "${t.name}:" "$version"
fi fi
'' ''
) tools; ) tools;
@@ -129,6 +135,12 @@
CYAN='\033[1;36m' CYAN='\033[1;36m'
YELLOW='\033[1;33m' YELLOW='\033[1;33m'
BLUE='\033[1;34m' BLUE='\033[1;34m'
RED='\033[1;31m'
MAGENTA='\033[1;35m'
WHITE='\033[1;37m'
GRAY='\033[0;90m'
BOLD='\033[1m'
UNDERLINE='\033[4m'
RESET='\033[0m' RESET='\033[0m'
printf "\n$GREEN 🚀 Dev shell ready$RESET\n\n" printf "\n$GREEN 🚀 Dev shell ready$RESET\n\n"

View File

@@ -4,7 +4,7 @@
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
devshell-lib.url = "git+https://git.dgren.dev/eric/nix-flake-lib?ref=v1.0.1"; devshell-lib.url = "git+https://git.dgren.dev/eric/nix-flake-lib?ref=v1.0.4";
devshell-lib.inputs.nixpkgs.follows = "nixpkgs"; devshell-lib.inputs.nixpkgs.follows = "nixpkgs";
}; };
@@ -23,15 +23,8 @@
"aarch64-darwin" "aarch64-darwin"
]; ];
forAllSystems = nixpkgs.lib.genAttrs supportedSystems; forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
in
{
devShells = forAllSystems (
system:
let
pkgs = import nixpkgs { inherit system; };
env = devshell-lib.lib.mkDevShell {
inherit system;
mkDevShellConfig = pkgs: {
# includeStandardPackages = false; # opt out of nixfmt/gitlint/gitleaks/shfmt defaults # includeStandardPackages = false; # opt out of nixfmt/gitlint/gitleaks/shfmt defaults
extraPackages = with pkgs; [ extraPackages = with pkgs; [
@@ -80,6 +73,14 @@
''; '';
}; };
in in
{
devShells = forAllSystems (
system:
let
pkgs = import nixpkgs { inherit system; };
config = mkDevShellConfig pkgs;
env = devshell-lib.lib.mkDevShell ({ inherit system; } // config);
in
{ {
default = env.shell; default = env.shell;
} }
@@ -88,14 +89,23 @@
checks = forAllSystems ( checks = forAllSystems (
system: system:
let let
env = devshell-lib.lib.mkDevShell { inherit system; }; pkgs = import nixpkgs { inherit system; };
config = mkDevShellConfig pkgs;
env = devshell-lib.lib.mkDevShell ({ inherit system; } // config);
in in
{ {
inherit (env) pre-commit-check; inherit (env) pre-commit-check;
} }
); );
formatter = forAllSystems (system: (devshell-lib.lib.mkDevShell { inherit system; }).formatter); formatter = forAllSystems (
system:
let
pkgs = import nixpkgs { inherit system; };
config = mkDevShellConfig pkgs;
in
(devshell-lib.lib.mkDevShell ({ inherit system; } // config)).formatter
);
# Optional: release command (`release`) # Optional: release command (`release`)
# #