4 Commits

Author SHA1 Message Date
eric
e445e49baf chore(release): v1.0.5 2026-03-04 09:35:15 +01:00
eric
ef3cf30a34 fix: expose releases as well 2026-03-04 09:35:05 +01:00
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
3 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.3#default' --refresh nix flake new myapp -t 'git+https://git.dgren.dev/eric/nix-flake-lib?ref=v1.0.5#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.3#
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.3"; inputs.devshell-lib.url = "git+https://git.dgren.dev/eric/nix-flake-lib?ref=v1.0.5";
inputs.devshell-lib.inputs.nixpkgs.follows = "nixpkgs"; inputs.devshell-lib.inputs.nixpkgs.follows = "nixpkgs";
``` ```

View File

@@ -1,3 +1,3 @@
1.0.3 1.0.5
stable stable
0 0

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.3"; devshell-lib.url = "git+https://git.dgren.dev/eric/nix-flake-lib?ref=v1.0.5";
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,24 +73,52 @@
''; '';
}; };
in in
{
devShells = forAllSystems (
system:
let
pkgs = import nixpkgs { inherit system; };
config = mkDevShellConfig pkgs;
env = devshell-lib.lib.mkDevShell (
({ inherit system; } // config)
// {
extraPackages = config.extraPackages ++ [ self.packages.${system}.release ];
}
);
in
{ {
default = env.shell; default = env.shell;
} }
); );
packages = forAllSystems (system: {
release = devshell-lib.lib.mkRelease {
inherit system;
};
});
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`) # Release command (`release`)
# #
# The release script always updates VERSION first, then: # The release script always updates VERSION first, then:
# 1) runs release steps in order (file writes and scripts) # 1) runs release steps in order (file writes and scripts)
@@ -107,6 +128,7 @@
# Runtime env vars available in release.run/postVersion: # Runtime env vars available in release.run/postVersion:
# BASE_VERSION, CHANNEL, PRERELEASE_NUM, FULL_VERSION, FULL_TAG # BASE_VERSION, CHANNEL, PRERELEASE_NUM, FULL_VERSION, FULL_TAG
# #
# To customize release behavior in your repo, edit:
# packages = forAllSystems ( # packages = forAllSystems (
# system: # system:
# { # {