From 96067a789dbe02f361db0113f5d9e016d072075d Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 1 Aug 2023 15:36:33 +0200 Subject: [PATCH] move modules into nixosModules, add autoimport --- flake-parts/modules.nix | 5 ++++- flake-parts/nixosModules.nix | 6 ++++++ flake-parts/packages.nix | 1 + flake.nix | 17 ++--------------- lib/default.nix | 17 +++++++++++++++++ lib/flake-module.nix | 5 +++++ .../hidden-ssh-announce.nix | 0 .../installer/default.nix | 0 8 files changed, 35 insertions(+), 16 deletions(-) create mode 100644 flake-parts/nixosModules.nix create mode 100644 lib/default.nix create mode 100644 lib/flake-module.nix rename {modules => nixosModules}/hidden-ssh-announce.nix (100%) rename modules/installer.nix => nixosModules/installer/default.nix (100%) diff --git a/flake-parts/modules.nix b/flake-parts/modules.nix index 098af10b..7cccc935 100644 --- a/flake-parts/modules.nix +++ b/flake-parts/modules.nix @@ -1,7 +1,10 @@ # export some of our flake moduels for re-use in other projects -{ ... +{ lib +, self +, ... }: { flake.modules.flake-parts = { writers = ./writers; }; + flake.nixosModules = lib.mapAttrs (_: nix: { imports = [ nix ]; }) (self.lib.findNixFiles ../nixosModules); } diff --git a/flake-parts/nixosModules.nix b/flake-parts/nixosModules.nix new file mode 100644 index 00000000..add24631 --- /dev/null +++ b/flake-parts/nixosModules.nix @@ -0,0 +1,6 @@ +{ lib +, self +, ... +}: { + flake.nixosModules = lib.mapAttrs (_: nix: { imports = [ nix ]; }) (self.lib.findNixFiles ../nixosModules); +} diff --git a/flake-parts/packages.nix b/flake-parts/packages.nix index c379078e..dc776dd2 100644 --- a/flake-parts/packages.nix +++ b/flake-parts/packages.nix @@ -5,6 +5,7 @@ system = "x86_64-linux"; modules = [ self.nixosModules.installer + self.nixosModules.hidden-ssh-announce self.inputs.nixos-generators.nixosModules.all-formats self.inputs.disko.nixosModules.disko ]; diff --git a/flake.nix b/flake.nix index a3d66e71..bf736338 100644 --- a/flake.nix +++ b/flake.nix @@ -25,27 +25,14 @@ ./flake-parts/formatting.nix ./flake-parts/merge-after-ci ./flake-parts/modules.nix + ./flake-parts/nixosModules.nix ./flake-parts/packages.nix ./flake-parts/tea-create-pr ./flake-parts/writers ./templates/flake-module.nix ./templates/python-project/flake-module.nix ./pkgs/clan-cli/flake-module.nix + ./lib/flake-module.nix ]; - flake = { - nixosModules = { - installer = { - imports = [ - ./modules/installer.nix - ./modules/hidden-ssh-announce.nix - ]; - }; - hidden-announce = { - imports = [ - ./modules/hidden-ssh-announce.nix - ]; - }; - }; - }; }); } diff --git a/lib/default.nix b/lib/default.nix new file mode 100644 index 00000000..b0c2432f --- /dev/null +++ b/lib/default.nix @@ -0,0 +1,17 @@ +{ lib, ... }: +let + clanLib = { + findNixFiles = folder: + lib.mapAttrs' + (name: type: + if + type == "directory" + then + lib.nameValuePair name "${folder}/${name}" + else + lib.nameValuePair (lib.removeSuffix ".nix" name) "${folder}/${name}" + ) + (builtins.readDir folder); + }; +in +clanLib diff --git a/lib/flake-module.nix b/lib/flake-module.nix new file mode 100644 index 00000000..38d84a83 --- /dev/null +++ b/lib/flake-module.nix @@ -0,0 +1,5 @@ +{ lib +, ... +}: { + flake.lib = import ./default.nix { inherit lib; }; +} diff --git a/modules/hidden-ssh-announce.nix b/nixosModules/hidden-ssh-announce.nix similarity index 100% rename from modules/hidden-ssh-announce.nix rename to nixosModules/hidden-ssh-announce.nix diff --git a/modules/installer.nix b/nixosModules/installer/default.nix similarity index 100% rename from modules/installer.nix rename to nixosModules/installer/default.nix