diff --git a/flake.nix b/flake.nix index 72ef444e..073db093 100644 --- a/flake.nix +++ b/flake.nix @@ -140,6 +140,7 @@ overlays = [ self.overlays.pyronet-packages self.overlays.nix-index + self.overlays.openssh-fixperms # self.overlays.linux-firmware inputs.golink.overlays.default ]; diff --git a/modules/home/programs/zed-editor/default.nix b/modules/home/programs/zed-editor/default.nix index 33cea993..d07bedb3 100644 --- a/modules/home/programs/zed-editor/default.nix +++ b/modules/home/programs/zed-editor/default.nix @@ -14,6 +14,7 @@ in package = pkgs.zed-editor.fhsWithPackages (pkgs: [ pkgs.zlib pkgs.openssl + pkgs.openssh-patched ]); userSettings = import ./settings.nix; extensions = [ diff --git a/overlays/openssh-fixperms/default.nix b/overlays/openssh-fixperms/default.nix new file mode 100644 index 00000000..63237342 --- /dev/null +++ b/overlays/openssh-fixperms/default.nix @@ -0,0 +1,6 @@ +_: final: prev: { + openssh-patched = prev.openssh.overrideAttrs (old: { + patches = (old.patches or [ ]) ++ [ ./permfix.patch ]; + doCheck = false; + }); +} diff --git a/overlays/openssh-fixperms/permfix.patch b/overlays/openssh-fixperms/permfix.patch new file mode 100644 index 00000000..07f44b4f --- /dev/null +++ b/overlays/openssh-fixperms/permfix.patch @@ -0,0 +1,13 @@ +diff --git a/readconf.h b/readconf.h +index ded13c9..94f489e 100644 +--- a/readconf.h ++++ b/readconf.h +@@ -213,7 +213,7 @@ typedef struct { + #define SESSION_TYPE_SUBSYSTEM 1 + #define SESSION_TYPE_DEFAULT 2 + +-#define SSHCONF_CHECKPERM 1 /* check permissions on config file */ ++#define SSHCONF_CHECKPERM 0 /* check permissions on config file */ + #define SSHCONF_USERCONF 2 /* user provided config file not system */ + #define SSHCONF_FINAL 4 /* Final pass over config, after canon. */ + #define SSHCONF_NEVERMATCH 8 /* Match/Host never matches; internal only */