diff --git a/home/common.nix b/home/common.nix index 2203fbe..1bce7b0 100644 --- a/home/common.nix +++ b/home/common.nix @@ -47,7 +47,6 @@ programs.git = { enable = true; settings = { - alias.ts = "!${lib.getExe pkgs.fc-scripts.git-tree-sync} sync"; credential.helper = "cache"; push.default = "simple"; push.forceIfIncludes = true; # avoid accidental force overrides when remote is autofetched in background diff --git a/home/modules/packages.nix b/home/modules/packages.nix index c23ea80..3c9583d 100644 --- a/home/modules/packages.nix +++ b/home/modules/packages.nix @@ -85,14 +85,8 @@ let nix-output-monitor # putting this here as a plain `nix` alternative + fc-scripts # this might turn out to be useful even in non-work environments? ] - ++ (with fc-scripts; [ - - git-tree-sync - ssh-multi-proxy - mosh-tunnel - mosh-dualstack-proxy # this might turn out to be useful even in non-work environments? - ]) ++ lib.optionals pkgs.stdenv.isLinux [ xclip smbnetfs # for FUSE smb mounting diff --git a/packages/fc-scripts.nix b/packages/fc-scripts.nix index f360471..f8725ed 100644 --- a/packages/fc-scripts.nix +++ b/packages/fc-scripts.nix @@ -1,79 +1,27 @@ { - lib, fetchFromGitHub, + runCommand, python3, stdenvNoCC, - makeWrapper, - git, - openssh, - mosh, }: -let +stdenvNoCC.mkDerivation { + pname = "fc-scripts"; + version = "20260202"; src = fetchFromGitHub { owner = "flyingcircusio"; repo = "scripts"; rev = "887f066006829fc3ee44b3cfbe748c578ea2e7c1"; hash = "sha256-mrL/dULb0NKw8cH9ferzfDdRjhWANrWQg/u7FNCtzWw="; }; - version = "20260202"; - mkFcScriptDrv = - { - pname, - propagatedBuildInputs, - ... - }@args: - stdenvNoCC.mkDerivation (finalAttrs: { - inherit (args) - pname - propagatedBuildInputs - ; - inherit src version; # not passed via function args, but can be overridden later via overrideAttrs - dontBuild = true; - dontConfigure = true; - buildInputs = [ python3 ]; - nativeBuildInputs = [ makeWrapper ]; - installPhase = '' - runHook preInstall - mkdir -p $out/bin - install -m 0755 ${pname}* $out/bin/${pname} - '' - + lib.optionalString (finalAttrs.propagatedBuildInputs != [ ]) '' - wrapProgram $out/bin/${pname} --prefix PATH : \ - ${lib.makeBinPath finalAttrs.propagatedBuildInputs} - '' - + "runHook postInstall"; + buildInputs = [ python3 ]; + dontBuild = true; + installPhase = '' + runHook preInstall - meta.mainProgram = pname; - }); -in -{ - git-tree-sync = mkFcScriptDrv { - pname = "git-tree-sync"; - propagatedBuildInputs = [ - git - openssh - ]; - }; - ssh-multi-proxy = mkFcScriptDrv { - pname = "ssh-multi-proxy"; - propagatedBuildInputs = [ openssh ]; - }; - mosh-tunnel = mkFcScriptDrv { - pname = "mosh-tunnel"; - propagatedBuildInputs = [ - (python3.withPackages (ps: [ ps.asyncio-dgram ])) - mosh - openssh - ]; - }; - mosh-dualstack-proxy = mkFcScriptDrv { - pname = "mosh-dualstack-proxy"; - propagatedBuildInputs = [ - python3 - mosh - openssh - ]; - }; + mkdir -p $out/bin + cp *.py $out/bin/ + runHook postInstall + ''; }