about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--nix-conf/flake.nix2
-rw-r--r--nix-conf/lib/extra-builtins.nix3
-rw-r--r--nix-conf/machines/djmuk2/configuration.nix54
-rw-r--r--nix-conf/machines/edrahil/configuration.nix1
-rw-r--r--nix-conf/nix-plugins.patch21
5 files changed, 70 insertions, 11 deletions
diff --git a/nix-conf/flake.nix b/nix-conf/flake.nix
index 0fe7d6b..cda6d79 100644
--- a/nix-conf/flake.nix
+++ b/nix-conf/flake.nix
@@ -72,6 +72,7 @@
         modules = [
           ({ config, pkgs, ... }: { nixpkgs.overlays = [ linux-overlay-unstable ]; nix.settings.experimental-features = "nix-command flakes"; })
           ./machines/edrahil/configuration.nix
+          sops-nix.nixosModules.sops
         ];
       };
       nixosConfigurations."djmuk1" = nixpkgs-stable.lib.nixosSystem {
@@ -86,6 +87,7 @@
         modules = [
           ({ config, pkgs, ... }: { nixpkgs.overlays = [ linux-arm-overlay-unstable ]; nix.settings.experimental-features = "nix-command flakes"; })
           ./machines/djmuk2/configuration.nix
+          sops-nix.nixosModules.sops
         ];
       };
 
diff --git a/nix-conf/lib/extra-builtins.nix b/nix-conf/lib/extra-builtins.nix
index 4fb5d03..84696c6 100644
--- a/nix-conf/lib/extra-builtins.nix
+++ b/nix-conf/lib/extra-builtins.nix
@@ -1,5 +1,4 @@
-# https://github.com/Mic92/sops-nix/issues/624#issuecomment-2382291036
 { exec, ... }: {
-  readSops = name: exec [ "sops" "-d" name ];
+  hello = exec ["echo" "\"hello\""];
 }
 
diff --git a/nix-conf/machines/djmuk2/configuration.nix b/nix-conf/machines/djmuk2/configuration.nix
index 19ab838..bbe93cf 100644
--- a/nix-conf/machines/djmuk2/configuration.nix
+++ b/nix-conf/machines/djmuk2/configuration.nix
@@ -1,6 +1,22 @@
 { config, pkgs, ... }:
 let
-  secrets = builtins.extraBuiltins.readSops secrets.yaml;
+  #secrets = builtins.extraBuiltins.readSops secrets.yaml;
+  #plugs = (pkgs.nix-plugins.override { nix = pkgs.nixVersions.nix_2_24; }).overrideAttrs (o: {
+  #  buildInputs = [pkgs.nixVersions.nix_2_24 pkgs.boost];
+  #  patches = (o.patches or []) ++ [../../nix-plugins.patch];
+  #});
+  plugs = pkgs.nix-plugins.overrideAttrs (o: {
+    #nix = pkgs.nixVersions.nix_2_24;
+    #buildInputs = [pkgs.nixVersions.nix_2_24 pkgs.boost];
+    buildInputs = [pkgs.nixVersions.latest pkgs.boost];
+    patches = (o.patches or []) ++ [
+      ../../nix-plugins.patch
+      (pkgs.fetchpatch {
+        url = "https://raw.githubusercontent.com/chayleaf/dotfiles/2f8865c3f5880dfc24bdd9d7ccf7e1b3880ba680/pkgs/nix-plugins-fix.patch";
+        hash = "sha256-IHNlIhYfnwFfwD/FxPXxbcvOqnsH5/XjA3fOyuoGj5c=";
+      })
+    ];
+  });
 in
 {
   imports = [ ./hardware-configuration.nix ];
@@ -14,6 +30,15 @@ in
     allowedTCPPorts = [ 113 ];
   };
 
+
+  sops = {
+    defaultSopsFile = builtins.path {
+      path = ./secrets.yaml;
+      name = "djmuk2-secrets.yaml";
+    };
+  };
+
+
   services.openssh = {
     enable = true;
     settings = {
@@ -40,7 +65,10 @@ in
   # SOPS_AGE_KEY=$(doas ssh-to-age -private-key -i /etc/ssh/ssh_host_ed25519_key) sops -d --extract '["openiscsi_name"]' machines/djmuk2/secrets.yaml | doas tee /root/.config/secrets/openiscsi_name
   # TODO: comments
   services.openiscsi.enable = true;
-  services.openiscsi.name = secrets.openiscsi_name;
+  #services.openiscsi.name = (builtins.extraBuiltins.sopsFromYAML config.sops.defaultSopsFile).openiscsi_name;
+  #services.openiscsi.name = secrets.openiscsi_name;
+  services.openiscsi.name = "iqn.2015-12.com.oracleiaas:b729d5b6-d6b0-46cd-be60-820ec3023a16";
+  #services.openiscsi.name = builtins.readFile /home/djm/dotfiles/machines/djmuk2/openiscsi_name;
   #services.openiscsi.enableAutoLoginOut = true;
 
   users.users.djm = {
@@ -84,18 +112,28 @@ in
     #procmail
     git
     wget
+    #plugs
+    plugs
   ];
 
   nix.settings.trusted-users = [
     "root"
     "djm"
   ];
-  nix = {
-    settings = {
-      plugin-files = "${pkgs.nix-plugins}/lib/nix/plugins";
-      extra-builtins-file = [ ../libs/extra-builtins.nix ];
-    };
-  };
+  #plugin-files = ${(pkgs.nix-plugins.override { nix = pkgs.nixVersions.nix_2_18; }).overrideAttrs (o: {
+  #  buildInputs = [pkgs.nixVersions.nix_2_18 pkgs.boost];
+  #  patches = (o.patches or []) ++ [../../nix-plugins.patch];
+  #})}/lib/nix/plugins
+  nix.extraOptions = ''
+    plugin-files = ${plugs}/lib/nix/plugins
+    extra-builtins-file = [ ../../lib/extra-builtins.nix ];
+'';
+  #nix = {
+  #  settings = {
+  #    plugin-files = "${pkgs.nix-plugins}/lib/nix/plugins";
+  #    extra-builtins-file = [ ../../lib/extra-builtins.nix ];
+  #  };
+  #};
   nix.optimise.automatic = true;
   nix.optimise.dates = [ "03:00" ];
 
diff --git a/nix-conf/machines/edrahil/configuration.nix b/nix-conf/machines/edrahil/configuration.nix
index 7b9a133..2ea968c 100644
--- a/nix-conf/machines/edrahil/configuration.nix
+++ b/nix-conf/machines/edrahil/configuration.nix
@@ -3,7 +3,6 @@
   imports = [
     ./hardware-configuration.nix
     ./network-configuration.nix
-    inputs.sops-nix.homeManagerModules.sops
   ];
 
   boot.tmp.cleanOnBoot = true;
diff --git a/nix-conf/nix-plugins.patch b/nix-conf/nix-plugins.patch
new file mode 100644
index 0000000..a51f729
--- /dev/null
+++ b/nix-conf/nix-plugins.patch
@@ -0,0 +1,21 @@
+diff --git a/extra-builtins.cc b/extra-builtins.cc
+index 3a0f90e..bb10f8b 100644
+--- a/extra-builtins.cc
++++ b/extra-builtins.cc
+@@ -1,10 +1,10 @@
+-#include <config.h>
+-#include <primops.hh>
+-#include <globals.hh>
+-#include <config-global.hh>
+-#include <eval-settings.hh>
+-#include <common-eval-args.hh>
+-#include <filtering-source-accessor.hh>
++#include <nix/cmd/common-eval-args.hh>
++#include <nix/expr/eval-settings.hh>
++#include <nix/expr/primops.hh>
++#include <nix/fetchers/filtering-source-accessor.hh>
++#include <nix/store/globals.hh>
++#include <nix/util/configuration.hh>
++#include <nix/util/config-global.hh>
+
+ #include "nix-plugins-config.h"