From dcd9da024d246b23d008d328422654861e40f8f6 Mon Sep 17 00:00:00 2001 From: Felix Stupp Date: Mon, 26 Aug 2024 00:05:58 +0000 Subject: [PATCH] nixosMod: extract nixos extends into assertions --- nix/nixos-modules/assertions/default.nix | 6 ++++++ nix/nixos-modules/{extends => assertions}/nixos.nix | 3 ++- nix/nixos-modules/default.nix | 5 +++++ nix/nixos-modules/extends/default.nix | 1 - 4 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 nix/nixos-modules/assertions/default.nix rename nix/nixos-modules/{extends => assertions}/nixos.nix (92%) diff --git a/nix/nixos-modules/assertions/default.nix b/nix/nixos-modules/assertions/default.nix new file mode 100644 index 0000000..8be7bb4 --- /dev/null +++ b/nix/nixos-modules/assertions/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + # files + ./nixos.nix + ]; +} diff --git a/nix/nixos-modules/extends/nixos.nix b/nix/nixos-modules/assertions/nixos.nix similarity index 92% rename from nix/nixos-modules/extends/nixos.nix rename to nix/nixos-modules/assertions/nixos.nix index ff82bd6..bec2461 100644 --- a/nix/nixos-modules/extends/nixos.nix +++ b/nix/nixos-modules/assertions/nixos.nix @@ -3,7 +3,8 @@ let channelsEn = config.nix.channel.enable; nixFeature = lib.trivial.flip builtins.elem config.nix.settings.experimental-features; packageNames = map lib.strings.getName config.environment.systemPackages; - gitInst = builtins.elem "git" packageNames; + isInstalled = lib.trivial.flip builtins.elem packageNames; + gitInst = isInstalled "git"; gitEn = config.programs.git.enable; in { diff --git a/nix/nixos-modules/default.nix b/nix/nixos-modules/default.nix index 549d5a9..9b6b111 100644 --- a/nix/nixos-modules/default.nix +++ b/nix/nixos-modules/default.nix @@ -12,11 +12,16 @@ in default = self.withDepends; + # assertions checking for good practices + assertions = importModule ./assertions; + # this one includes all of my modules # - most of them only change things when enabled (e.g. x-banananetwork.*.enable) # - others only introduce small, reasonable changes if other module’s options are set, as reasonable defaults (if I intend to upstream them) # however, use on your own discretion banananetwork.imports = [ + # flake + self.assertions # directories ./extends ./frontend diff --git a/nix/nixos-modules/extends/default.nix b/nix/nixos-modules/extends/default.nix index 3958bc7..b8c77b1 100644 --- a/nix/nixos-modules/extends/default.nix +++ b/nix/nixos-modules/extends/default.nix @@ -1,7 +1,6 @@ { imports = [ # files - ./nixos.nix ./podman.nix ]; }