From 90d6935c3304945b95ca14bd19dbefaa75afe6ac Mon Sep 17 00:00:00 2001 From: technofab Date: Thu, 16 Apr 2026 12:36:02 +0200 Subject: [PATCH] chore: pin flake input versions, use rensa autodiscovery and add devtools --- flake.lock | 7 ++-- flake.nix | 11 +------ nix/repo/devShells.nix | 72 ++++++++++++++++++++++++++++++++---------- nix/repo/flake.lock | 41 ++++++++++++++++++------ nix/repo/flake.nix | 9 +++--- 5 files changed, 98 insertions(+), 42 deletions(-) diff --git a/flake.lock b/flake.lock index 78938ae..7ab5284 100644 --- a/flake.lock +++ b/flake.lock @@ -76,16 +76,17 @@ }, "locked": { "dir": "lib", - "lastModified": 1768913456, - "narHash": "sha256-P+uWjzg09q57Ur2jWCkGwNvk1bMyU20kUIKHYj+kxK0=", + "lastModified": 1775132170, + "narHash": "sha256-ZhXcliu8E1KXlaviFnMHQpb/VSIbsALSFZoeb9Z6bhc=", "owner": "rensa-nix", "repo": "core", - "rev": "e5f47b57ae06f2fc1f888bcb56413baccb5d1062", + "rev": "bfdb2c1aa85cd4af286b0833b046e13a96d64d6a", "type": "gitlab" }, "original": { "dir": "lib", "owner": "rensa-nix", + "ref": "v0.2.0", "repo": "core", "type": "gitlab" } diff --git a/flake.nix b/flake.nix index 67b9843..3919f18 100644 --- a/flake.nix +++ b/flake.nix @@ -1,7 +1,7 @@ { inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - ren.url = "gitlab:rensa-nix/core?dir=lib"; + ren.url = "gitlab:rensa-nix/core/v0.2.0?dir=lib"; kubenix = { url = "github:TECHNOFAB11/kubenix"; inputs.nixpkgs.follows = "nixpkgs"; @@ -22,15 +22,6 @@ // { pkgs = import i.nixpkgs {inherit system;}; }; - cellBlocks = with ren.blocks; [ - (simple "devShells") - (simple "ci") - (simple "docs") - (simple "soonix") - (simple "apps") - (simple "nixlets") - (simple "tests") - ]; } { packages = ren.select self [ diff --git a/nix/repo/devShells.nix b/nix/repo/devShells.nix index 3ea9415..3c9d833 100644 --- a/nix/repo/devShells.nix +++ b/nix/repo/devShells.nix @@ -3,27 +3,67 @@ inputs, ... }: let - inherit (inputs) pkgs devshell treefmt; + inherit (inputs) pkgs devshell treefmt devtools-lib; inherit (cell) soonix; + treefmtWrapper = treefmt.mkWrapper pkgs { + projectRootFile = "flake.nix"; + programs = { + alejandra.enable = true; + deadnix.enable = true; + statix.enable = true; + mdformat.enable = true; + }; + settings.formatter.mdformat = { + excludes = ["CHANGELOG.md"]; + command = let + pkg = pkgs.python3.withPackages (p: [ + p.mdformat + p.mdformat-mkdocs + ]); + in "${pkg}/bin/mdformat"; + }; + }; in { default = devshell.mkShell { - imports = [soonix.devshellModule]; + imports = [soonix.devshellModule devtools-lib.devshellModule]; packages = [ pkgs.nil - (treefmt.mkWrapper pkgs { - programs = { - alejandra.enable = true; - deadnix.enable = true; - statix.enable = true; - mdformat.enable = true; - }; - settings.formatter.mdformat.command = let - pkg = pkgs.python3.withPackages (p: [ - p.mdformat - p.mdformat-mkdocs - ]); - in "${pkg}/bin/mdformat"; - }) + treefmtWrapper ]; + lefthook.config = { + "pre-commit" = { + parallel = true; + jobs = [ + { + name = "treefmt"; + stage_fixed = true; + run = "${treefmtWrapper}/bin/treefmt"; + env.TERM = "dumb"; + } + { + name = "soonix"; + stage_fixed = true; + run = "nix run .#soonix:update"; + } + ]; + }; + }; + cocogitto.config = { + tag_prefix = "v"; + ignore_merge_commits = true; + changelog = { + authors = [ + { + username = "TECHNOFAB"; + signature = "technofab"; + } + ]; + path = "CHANGELOG.md"; + template = "remote"; + remote = "gitlab.com"; + repository = "nixlets"; + owner = "TECHNOFAB"; + }; + }; }; } diff --git a/nix/repo/flake.lock b/nix/repo/flake.lock index 36a93e8..d1a2e30 100644 --- a/nix/repo/flake.lock +++ b/nix/repo/flake.lock @@ -3,20 +3,39 @@ "devshell-lib": { "locked": { "dir": "lib", - "lastModified": 1767274074, - "narHash": "sha256-h2grM9qoSnYdqN7K8+taeMuWC2umaN/c2FCBu48frlo=", + "lastModified": 1767218348, + "narHash": "sha256-8MJqwH9sRMuHH+RsB7iqWyWD30TgmpiYKEvegAULggs=", "owner": "rensa-nix", "repo": "devshell", - "rev": "5508ced269ee40ff7f5261ee3b5bf5597f7cad5d", + "rev": "7a9b7e5d9f162a1fa3edfdc0169cdc29d3a67f8e", "type": "gitlab" }, "original": { "dir": "lib", "owner": "rensa-nix", + "ref": "v0.1.0", "repo": "devshell", "type": "gitlab" } }, + "devtools-lib": { + "locked": { + "dir": "lib", + "lastModified": 1767214272, + "narHash": "sha256-gvW7flZ60xdv3Z3Ksec5jcRjW2sqRHsGoJdwsNWQVPk=", + "owner": "rensa-nix", + "repo": "devtools", + "rev": "f40e59c32c48cdbf4cbc621c2f0f11e7bb80dbd3", + "type": "gitlab" + }, + "original": { + "dir": "lib", + "owner": "rensa-nix", + "ref": "v0.1.0", + "repo": "devtools", + "type": "gitlab" + } + }, "nix-gitlab-ci-lib": { "locked": { "dir": "lib", @@ -48,6 +67,7 @@ "original": { "dir": "lib", "owner": "TECHNOFAB", + "ref": "v1.1.0", "repo": "nixmkdocs", "type": "gitlab" } @@ -55,16 +75,17 @@ "nixtest-lib": { "locked": { "dir": "lib", - "lastModified": 1769441055, - "narHash": "sha256-SrHLnM3UMzpj5/o52yf3lFOVpsIGEU5nAFUkdeJO1bM=", + "lastModified": 1775133683, + "narHash": "sha256-06jKKes7NjBQClKXTZTmo7GiGJhe1j5ZMW6jle8Vr1o=", "owner": "TECHNOFAB", "repo": "nixtest", - "rev": "9f9fcb85349003edb554574d0e3f623811866f50", + "rev": "143921cad9e6076700a45cdb7ff47c91f9801225", "type": "gitlab" }, "original": { "dir": "lib", "owner": "TECHNOFAB", + "ref": "v1.3.0", "repo": "nixtest", "type": "gitlab" } @@ -72,6 +93,7 @@ "root": { "inputs": { "devshell-lib": "devshell-lib", + "devtools-lib": "devtools-lib", "nix-gitlab-ci-lib": "nix-gitlab-ci-lib", "nixmkdocs-lib": "nixmkdocs-lib", "nixtest-lib": "nixtest-lib", @@ -82,16 +104,17 @@ "soonix-lib": { "locked": { "dir": "lib", - "lastModified": 1769607658, - "narHash": "sha256-gF9/QmmaNRgqkC5cqSGgwWvGXj9Mj4qMDkvvF/5BlSA=", + "lastModified": 1767647496, + "narHash": "sha256-1kvCEp7PJnKTcnAjN+Me6swiygeMgJInsZsRQ5bdpH8=", "owner": "TECHNOFAB", "repo": "soonix", - "rev": "19a88a0c2681bbc85bc2cbe4f2860316d50fe957", + "rev": "5e479f3662db1c338679cdb3fd080cf06e4c67d4", "type": "gitlab" }, "original": { "dir": "lib", "owner": "TECHNOFAB", + "ref": "v0.1.0", "repo": "soonix", "type": "gitlab" } diff --git a/nix/repo/flake.nix b/nix/repo/flake.nix index 7ae9e66..8061da5 100644 --- a/nix/repo/flake.nix +++ b/nix/repo/flake.nix @@ -1,9 +1,10 @@ { inputs = { - devshell-lib.url = "gitlab:rensa-nix/devshell?dir=lib"; - nixtest-lib.url = "gitlab:TECHNOFAB/nixtest?dir=lib"; - soonix-lib.url = "gitlab:TECHNOFAB/soonix?dir=lib"; - nixmkdocs-lib.url = "gitlab:TECHNOFAB/nixmkdocs?dir=lib"; + devshell-lib.url = "gitlab:rensa-nix/devshell/v0.1.0?dir=lib"; + devtools-lib.url = "gitlab:rensa-nix/devtools/v0.1.0?dir=lib"; + nixtest-lib.url = "gitlab:TECHNOFAB/nixtest/v1.3.0?dir=lib"; + soonix-lib.url = "gitlab:TECHNOFAB/soonix/v0.1.0?dir=lib"; + nixmkdocs-lib.url = "gitlab:TECHNOFAB/nixmkdocs/v1.1.0?dir=lib"; nix-gitlab-ci-lib.url = "gitlab:TECHNOFAB/nix-gitlab-ci/3.1.2?dir=lib"; treefmt-nix = { url = "github:numtide/treefmt-nix";