feat: introduce treefmt and fmt all

This commit is contained in:
steveej 2024-11-15 10:17:56 +01:00
parent 80250b0179
commit 27c6c4f9fa
237 changed files with 5440 additions and 5214 deletions

View file

@ -1,27 +1,27 @@
with import <nixpkgs> {};
stdenv.mkDerivation rec {
broken = true;
with import <nixpkgs> { };
stdenv.mkDerivation rec {
broken = true;
name = "browserpass";
version = "2.0.9";
name = "browserpass";
version = "2.0.9";
src = fetchzip {
url = "https://github.com/dannyvankooten/browserpass/releases/download/${version}/${name}-linux64.zip";
sha256 = "1nygcfjhyrcvbdmz4hjphcnmr4lm9y24lpdkdcjix6vbsjs0hipw";
stripRoot = false;
};
src = fetchzip {
url = "https://github.com/dannyvankooten/browserpass/releases/download/${version}/${name}-linux64.zip";
sha256 = "1nygcfjhyrcvbdmz4hjphcnmr4lm9y24lpdkdcjix6vbsjs0hipw";
stripRoot = false;
};
buildPhase = ":";
buildPhase = ":";
libPath = lib.makeLibraryPath [];
installPhase = ''
set -x
patchelf --set-interpreter ${glibc}/lib/ld-linux-x86-64.so.2 browserpass-linux64
libPath = lib.makeLibraryPath [ ];
installPhase = ''
set -x
patchelf --set-interpreter ${glibc}/lib/ld-linux-x86-64.so.2 browserpass-linux64
mkdir -p $out/bin
cp -a * $out/bin/
# wrapProgram $out/bin/browserpass-linux64 \
# --prefix LD_LIBRARY_PATH : "${libPath}"
#
'';
}
mkdir -p $out/bin
cp -a * $out/bin/
# wrapProgram $out/bin/browserpass-linux64 \
# --prefix LD_LIBRARY_PATH : "${libPath}"
#
'';
}

View file

@ -16,7 +16,8 @@
file,
proot,
bash,
}: let
}:
let
model = "dcpj4110dw";
version = "3.0.1-1";
src = fetchurl {
@ -24,12 +25,16 @@
sha256 = "sha256-ryKDsSkabAD2X3WLmeqjdB3+4DXdJ0qUz3O64DV+ixw=";
};
reldir = "opt/brother/Printers/${model}/";
in rec {
in
rec {
driver = pkgsi686Linux.stdenv.mkDerivation rec {
inherit src version;
name = "${model}drv-${version}";
nativeBuildInputs = [dpkg makeWrapper];
nativeBuildInputs = [
dpkg
makeWrapper
];
unpackPhase = "dpkg-deb -x $src $out";
@ -45,7 +50,18 @@ in rec {
mv $out/${reldir}/lpd/filter${model} $out/${reldir}/lpd/.wrapped_filter${model}
cat <<-EOF >$out/${reldir}/lpd/.wrapper_inner_filter${model}
export PATH=\$PATH:${lib.makeBinPath [gawk file a2ps coreutils ghostscript gnugrep gnused which]}
export PATH=\$PATH:${
lib.makeBinPath [
gawk
file
a2ps
coreutils
ghostscript
gnugrep
gnused
which
]
}
exec $out/${reldir}/lpd/.wrapped_filter${model}
EOF
chmod +x $out/${reldir}/lpd/.wrapper_inner_filter${model}
@ -64,10 +80,13 @@ in rec {
meta = {
description = "Brother ${lib.strings.toUpper model} driver";
homepage = "http://www.brother.com/";
sourceProvenance = with lib.sourceTypes; [binaryNativeCode];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
# license = lib.licenses.unfree;
platforms = ["x86_64-linux" "i686-linux"];
maintainers = [lib.maintainers.steveej];
platforms = [
"x86_64-linux"
"i686-linux"
];
maintainers = [ lib.maintainers.steveej ];
};
};
@ -81,14 +100,29 @@ in rec {
name = "${model}cupswrapper-${version}";
nativeBuildInputs = [dpkg makeWrapper];
buildInputs = [cups ghostscript a2ps gawk];
nativeBuildInputs = [
dpkg
makeWrapper
];
buildInputs = [
cups
ghostscript
a2ps
gawk
];
unpackPhase = "dpkg-deb -x $src $out";
installPhase = ''
wrapProgram $out/${reldir}/cupswrapper/cupswrapper${model} \
--prefix PATH : ${lib.makeBinPath [coreutils ghostscript gnugrep gnused]}
--prefix PATH : ${
lib.makeBinPath [
coreutils
ghostscript
gnugrep
gnused
]
}
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
$out/${reldir}/cupswrapper/brcupsconfpt1
@ -100,10 +134,13 @@ in rec {
meta = {
description = "Brother ${lib.strings.toUpper model} CUPS wrapper driver";
homepage = "http://www.brother.com/";
sourceProvenance = with lib.sourceTypes; [binaryNativeCode];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = lib.licenses.gpl2;
platforms = ["x86_64-linux" "i686-linux"];
maintainers = [lib.maintainers.steveej];
platforms = [
"x86_64-linux"
"i686-linux"
];
maintainers = [ lib.maintainers.steveej ];
};
};
}

View file

@ -1,5 +1,6 @@
{pkgs}: {
duplicacy = pkgs.callPackage ../pkgs/duplicacy {};
{ pkgs }:
{
duplicacy = pkgs.callPackage ../pkgs/duplicacy { };
staruml = pkgs.callPackage ../pkgs/staruml.nix {
inherit (pkgs.gnome2) GConf;
libgcrypt = pkgs.libgcrypt_1_5;

View file

@ -1,7 +1,4 @@
{
buildGoPackage,
fetchFromGitHub,
}:
{ buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
name = "duplicay-${version}";
version = "2.1.2";

View file

@ -1,12 +1,12 @@
with import <nixpkgs> {};
stdenv.mkDerivation {
name = "env";
buildInputs = [
zsh
go
go2nix
dep2nix
nix-prefetch-github
(callPackage ./default.nix {})
];
}
with import <nixpkgs> { };
stdenv.mkDerivation {
name = "env";
buildInputs = [
zsh
go
go2nix
dep2nix
nix-prefetch-github
(callPackage ./default.nix { })
];
}

View file

@ -31,6 +31,6 @@ rustPlatform.buildRustPackage rec {
homepage = "https://github.com/mahkoh/jay";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [dit7ya];
maintainers = with maintainers; [ dit7ya ];
};
}

View file

@ -4,20 +4,19 @@ this is pseudocode that serves as a reminder
1. podman build -f Containerfile -t logseq
2. CONTAINER_ID=$(podman container create logseq)
2. podman unshare
3. podman mount $CONTAINER_ID
4. copy and upload the AppImage. e.g.
```
cp /home/steveej/.local/share/containers/storage/overlay/f932ca9f11ea2bfd6b221118eb54775a623bc519bfe38188afcbad51dda2777f/merged/Logseq-0.10.9.AppImage .
exit
scp Logseq-0.10.9.AppImage root@www.stefanjunker.de:/var/lib/container-volumes/webserver/var-www/stefanjunker.de/htdocs/caddy/downloads/
```
5. podman unshare
6. podman unmount
3. podman unshare
4. podman mount $CONTAINER_ID
5. copy and upload the AppImage. e.g.
```
cp /home/steveej/.local/share/containers/storage/overlay/f932ca9f11ea2bfd6b221118eb54775a623bc519bfe38188afcbad51dda2777f/merged/Logseq-0.10.9.AppImage .
exit
scp Logseq-0.10.9.AppImage root@www.stefanjunker.de:/var/lib/container-volumes/webserver/var-www/stefanjunker.de/htdocs/caddy/downloads/
```
6. podman unshare
7. podman unmount
# resources
* https://github.com/logseq/logseq/blob/dc5127b48a7874627bd9ab63696f7ddf821b90a7/docs/develop-logseq.md?plain=1#L90
* https://github.com/logseq/logseq/blob/master/Dockerfile
* https://github.com/randomwangran/logseq-nix-flake
- https://github.com/logseq/logseq/blob/dc5127b48a7874627bd9ab63696f7ddf821b90a7/docs/develop-logseq.md?plain=1#L90
- https://github.com/logseq/logseq/blob/master/Dockerfile
- https://github.com/randomwangran/logseq-nix-flake

View file

@ -14,85 +14,93 @@
nix-update-script,
overrideSrc ? null,
}:
stdenv.mkDerivation (finalAttrs: let
inherit (finalAttrs) pname version src appimageContents;
in {
pname = "logseq";
version = "0.10.9";
stdenv.mkDerivation (
finalAttrs:
let
inherit (finalAttrs) pname version src;
in
{
pname = "logseq";
version = "0.10.9";
src =
if overrideSrc != null
then overrideSrc
else
(fetchurl {
url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
hash = "sha256-F3YbqgvL04P0nXaIVkJlCq/z8hUE0M0UutkBs2omuBe=";
name = "${pname}-${version}.AppImage";
});
src =
if overrideSrc != null then
overrideSrc
else
(fetchurl {
url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
hash = "sha256-F3YbqgvL04P0nXaIVkJlCq/z8hUE0M0UutkBs2omuBe=";
name = "${pname}-${version}.AppImage";
});
nativeBuildInputs =
[makeWrapper]
++ lib.optionals stdenv.hostPlatform.isLinux [autoPatchelfHook]
++ lib.optionals stdenv.hostPlatform.isDarwin [unzip];
buildInputs = [stdenv.cc.cc.lib];
nativeBuildInputs =
[ makeWrapper ]
++ lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ]
++ lib.optionals stdenv.hostPlatform.isDarwin [ unzip ];
buildInputs = [ stdenv.cc.cc.lib ];
dontUnpack = stdenv.hostPlatform.isLinux;
dontConfigure = true;
dontBuild = true;
dontUnpack = stdenv.hostPlatform.isLinux;
dontConfigure = true;
dontBuild = true;
installPhase =
''
runHook preInstall
''
+ lib.optionalString stdenv.hostPlatform.isLinux (
let
appimageContents = appimageTools.extract {inherit pname src version;};
in ''
mkdir -p $out/bin $out/share/logseq $out/share/applications
cp -a ${appimageContents}/{locales,resources} $out/share/logseq
cp -a ${appimageContents}/Logseq.desktop $out/share/applications/logseq.desktop
# remove the `git` in `dugite` because we want the `git` in `nixpkgs`
chmod +w -R $out/share/logseq/resources/app/node_modules/dugite/git
chmod +w $out/share/logseq/resources/app/node_modules/dugite
rm -rf $out/share/logseq/resources/app/node_modules/dugite/git
chmod -w $out/share/logseq/resources/app/node_modules/dugite
mkdir -p $out/share/pixmaps
ln -s $out/share/logseq/resources/app/icons/logseq.png $out/share/pixmaps/logseq.png
substituteInPlace $out/share/applications/logseq.desktop \
--replace Exec=Logseq Exec=logseq \
--replace Icon=Logseq Icon=logseq
installPhase =
''
)
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
mkdir -p $out/{Applications/Logseq.app,bin}
cp -R . $out/Applications/Logseq.app
makeWrapper $out/Applications/Logseq.app/Contents/MacOS/Logseq $out/bin/logseq
''
+ ''
runHook postInstall
runHook preInstall
''
+ lib.optionalString stdenv.hostPlatform.isLinux (
let
appimageContents = appimageTools.extract { inherit pname src version; };
in
''
mkdir -p $out/bin $out/share/logseq $out/share/applications
cp -a ${appimageContents}/{locales,resources} $out/share/logseq
cp -a ${appimageContents}/Logseq.desktop $out/share/applications/logseq.desktop
# remove the `git` in `dugite` because we want the `git` in `nixpkgs`
chmod +w -R $out/share/logseq/resources/app/node_modules/dugite/git
chmod +w $out/share/logseq/resources/app/node_modules/dugite
rm -rf $out/share/logseq/resources/app/node_modules/dugite/git
chmod -w $out/share/logseq/resources/app/node_modules/dugite
mkdir -p $out/share/pixmaps
ln -s $out/share/logseq/resources/app/icons/logseq.png $out/share/pixmaps/logseq.png
substituteInPlace $out/share/applications/logseq.desktop \
--replace Exec=Logseq Exec=logseq \
--replace Icon=Logseq Icon=logseq
''
)
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
mkdir -p $out/{Applications/Logseq.app,bin}
cp -R . $out/Applications/Logseq.app
makeWrapper $out/Applications/Logseq.app/Contents/MacOS/Logseq $out/bin/logseq
''
+ ''
runHook postInstall
'';
postFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
# set the env "LOCAL_GIT_DIRECTORY" for dugite so that we can use the git in nixpkgs
makeWrapper ${electron_27}/bin/electron $out/bin/logseq \
--set "LOCAL_GIT_DIRECTORY" ${git} \
--add-flags $out/share/logseq/resources/app \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
'';
postFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
# set the env "LOCAL_GIT_DIRECTORY" for dugite so that we can use the git in nixpkgs
makeWrapper ${electron_27}/bin/electron $out/bin/logseq \
--set "LOCAL_GIT_DIRECTORY" ${git} \
--add-flags $out/share/logseq/resources/app \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
'';
passthru.updateScript = nix-update-script { };
passthru.updateScript = nix-update-script {};
meta = {
description = "Local-first, non-linear, outliner notebook for organizing and sharing your personal knowledge base";
homepage = "https://github.com/logseq/logseq";
changelog = "https://github.com/logseq/logseq/releases/tag/${version}";
license = lib.licenses.agpl3Plus;
sourceProvenance = with lib.sourceTypes; [binaryNativeCode];
maintainers = with lib.maintainers; [cheeseecake];
platforms = ["x86_64-linux" "aarch64-linux"] ++ lib.platforms.darwin;
mainProgram = "logseq";
};
})
meta = {
description = "Local-first, non-linear, outliner notebook for organizing and sharing your personal knowledge base";
homepage = "https://github.com/logseq/logseq";
changelog = "https://github.com/logseq/logseq/releases/tag/${version}";
license = lib.licenses.agpl3Plus;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
maintainers = with lib.maintainers; [ cheeseecake ];
platforms = [
"x86_64-linux"
"aarch64-linux"
] ++ lib.platforms.darwin;
mainProgram = "logseq";
};
}
)

View file

@ -8,7 +8,6 @@
libinput,
libxkbcommon,
mesa,
pango,
udev,
dbus,
libGL,
@ -18,9 +17,7 @@ craneLib.buildPackage {
pname = "magmawm";
version = src.rev;
nativeBuildInputs = [
pkg-config
];
nativeBuildInputs = [ pkg-config ];
buildInputs = [
wayland
@ -45,6 +42,6 @@ craneLib.buildPackage {
homepage = "https://github.com/MagmaWM/MagmaWM";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [];
maintainers = with maintainers; [ ];
};
}

View file

@ -11,7 +11,8 @@
which,
perl,
lib,
}: let
}:
let
model = "mfcl3770cdw";
version = "1.0.2-0";
src = fetchurl {
@ -19,12 +20,16 @@
sha256 = "09fhbzhpjymhkwxqyxzv24b06ybmajr6872yp7pri39595mhrvay";
};
reldir = "opt/brother/Printers/${model}/";
in rec {
in
rec {
driver = stdenv.mkDerivation rec {
inherit src version;
name = "${model}drv-${version}";
nativeBuildInputs = [dpkg makeWrapper];
nativeBuildInputs = [
dpkg
makeWrapper
];
unpackPhase = "dpkg-deb -x $src $out";
@ -36,8 +41,14 @@ in rec {
--replace "PRINTER =~" "PRINTER = \"${model}\"; #"
wrapProgram $dir/lpd/filter_${model} \
--prefix PATH : ${
lib.makeBinPath [coreutils ghostscript gnugrep gnused which]
}
lib.makeBinPath [
coreutils
ghostscript
gnugrep
gnused
which
]
}
# need to use i686 glibc here, these are 32bit proprietary binaries
interpreter=${pkgsi686Linux.glibc}/lib/ld-linux.so.2
patchelf --set-interpreter "$interpreter" $dir/lpd/brmfcl3770cdwfilter
@ -47,8 +58,11 @@ in rec {
description = "Brother ${lib.strings.toUpper model} driver";
homepage = "http://www.brother.com/";
license = lib.licenses.unfree;
platforms = ["x86_64-linux" "i686-linux"];
maintainers = [lib.maintainers.steveej];
platforms = [
"x86_64-linux"
"i686-linux"
];
maintainers = [ lib.maintainers.steveej ];
};
};
@ -56,7 +70,10 @@ in rec {
inherit version src;
name = "${model}cupswrapper-${version}";
nativeBuildInputs = [dpkg makeWrapper];
nativeBuildInputs = [
dpkg
makeWrapper
];
unpackPhase = "dpkg-deb -x $src $out";
@ -68,7 +85,13 @@ in rec {
--replace "basedir =~" "basedir = \"$basedir\"; #" \
--replace "PRINTER =~" "PRINTER = \"${model}\"; #"
wrapProgram $dir/cupswrapper/brother_lpdwrapper_${model} \
--prefix PATH : ${lib.makeBinPath [coreutils gnugrep gnused]}
--prefix PATH : ${
lib.makeBinPath [
coreutils
gnugrep
gnused
]
}
mkdir -p $out/lib/cups/filter
mkdir -p $out/share/cups/model
ln $dir/cupswrapper/brother_lpdwrapper_${model} $out/lib/cups/filter
@ -79,8 +102,11 @@ in rec {
description = "Brother ${lib.strings.toUpper model} CUPS wrapper driver";
homepage = "http://www.brother.com/";
license = lib.licenses.gpl2;
platforms = ["x86_64-linux" "i686-linux"];
maintainers = [lib.maintainers.steveej];
platforms = [
"x86_64-linux"
"i686-linux"
];
maintainers = [ lib.maintainers.steveej ];
};
};
}

View file

@ -1,60 +1,60 @@
with import <nixpkgs> {};
stdenv.mkDerivation rec {
name = "nozbe";
version = "3.6.3";
with import <nixpkgs> { };
stdenv.mkDerivation rec {
name = "nozbe";
version = "3.6.3";
src = fetchzip {
url = "https://files.nozbe.com/linux/linux64_newest.tar.gz";
sha256 = "08hag0kv23psqa1pl9kardz90scgk21rsr5xxfg8jvmnxy2nc858";
stripRoot = false;
};
src = fetchzip {
url = "https://files.nozbe.com/linux/linux64_newest.tar.gz";
sha256 = "08hag0kv23psqa1pl9kardz90scgk21rsr5xxfg8jvmnxy2nc858";
stripRoot = false;
};
buildInputs = [makeWrapper];
buildInputs = [ makeWrapper ];
buildPhase = ":";
buildPhase = ":";
libPath = lib.makeLibraryPath [
alsaLib
atk
cairo
cups
dbus
expat
freetype
fontconfig
gnome3.gconf
gcc.cc
gdk_pixbuf
gtk2-x11
glib
pango
nss
nspr
systemd.lib
xorg.libX11
xorg.libXcursor
xorg.libXcomposite
xorg.libXext
xorg.libXfixes
xorg.libXdamage
xorg.libXi
xorg.libXrandr
xorg.libXrender
xorg.libXtst
xorg.libXScrnSaver
];
installPhase = ''
pushd Nozbe-${version}
ls -lha
libPath = lib.makeLibraryPath [
alsaLib
atk
cairo
cups
dbus
expat
freetype
fontconfig
gnome3.gconf
gcc.cc
gdk_pixbuf
gtk2-x11
glib
pango
nss
nspr
systemd.lib
xorg.libX11
xorg.libXcursor
xorg.libXcomposite
xorg.libXext
xorg.libXfixes
xorg.libXdamage
xorg.libXi
xorg.libXrandr
xorg.libXrender
xorg.libXtst
xorg.libXScrnSaver
];
installPhase = ''
pushd Nozbe-${version}
ls -lha
patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 Nozbe
patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 Nozbe
mkdir -p $out/bin
cp -a * $out/
mkdir -p $out/bin
cp -a * $out/
wrapProgram $out/Nozbe \
--prefix LD_LIBRARY_PATH : "${libPath}"
wrapProgram $out/Nozbe \
--prefix LD_LIBRARY_PATH : "${libPath}"
ln -sf ../Nozbe $out/bin/
'';
}
ln -sf ../Nozbe $out/bin/
'';
}

View file

@ -1,42 +1,44 @@
# posh makes use of podman to run an encapsulated shell session
{pkgs, ...}: let
cniConfigDir = let
loopback = pkgs.writeText "00-loopback.conf" ''
{
"cniVersion": "0.3.0",
"type": "loopback"
}
'';
podman-bridge = pkgs.writeText "87-podman-bridge.conflist" ''
{
{ pkgs, ... }:
let
cniConfigDir =
let
loopback = pkgs.writeText "00-loopback.conf" ''
{
"cniVersion": "0.3.0",
"name": "podman",
"plugins": [
{
"type": "bridge",
"bridge": "cni0",
"isGateway": true,
"ipMasq": true,
"ipam": {
"type": "host-local",
"subnet": "10.88.0.0/16",
"routes": [
{ "dst": "0.0.0.0/0" }
]
"type": "loopback"
}
'';
podman-bridge = pkgs.writeText "87-podman-bridge.conflist" ''
{
"cniVersion": "0.3.0",
"name": "podman",
"plugins": [
{
"type": "bridge",
"bridge": "cni0",
"isGateway": true,
"ipMasq": true,
"ipam": {
"type": "host-local",
"subnet": "10.88.0.0/16",
"routes": [
{ "dst": "0.0.0.0/0" }
]
}
},
{
"type": "portmap",
"capabilities": {
"portMappings": true
}
}
},
{
"type": "portmap",
"capabilities": {
"portMappings": true
}
}
]
}
'';
in
pkgs.runCommand "cniConfig" {} ''
]
}
'';
in
pkgs.runCommand "cniConfig" { } ''
set -x
mkdir $out;
ln -s ${loopback} $out/${loopback.name}
@ -125,54 +127,58 @@
}
'';
in
{
image,
pull ? "always",
global_args ? "",
run_args ? "",
userns ? "keep-id",
}:
(pkgs.writeScriptBin "posh" ''
#! ${pkgs.bash}/bin/bash
source /etc/profile
{
image,
pull ? "always",
global_args ? "",
run_args ? "",
userns ? "keep-id",
}:
(pkgs.writeScriptBin "posh" ''
#! ${pkgs.bash}/bin/bash
source /etc/profile
test -S "$SSH_AUTH_SOCK" && ssh="-v $SSH_AUTH_SOCK:$SSH_AUTH_SOCK -e SSH_AUTH_SOCK"
tty -s && tty="-t" entrypoint=--entrypoint='["/usr/bin/env","bash","-il"]' || quiet="-q"
test -S "$SSH_AUTH_SOCK" && ssh="-v $SSH_AUTH_SOCK:$SSH_AUTH_SOCK -e SSH_AUTH_SOCK"
tty -s && tty="-t" entrypoint=--entrypoint='["/usr/bin/env","bash","-il"]' || quiet="-q"
# define these as variables so we can override them at runtime
POSH_IMAGE=${image}
POSH_PULL=${pull}
# define these as variables so we can override them at runtime
POSH_IMAGE=${image}
POSH_PULL=${pull}
if [ "$1" == "-c" ]; then
# We've most likely been spawned by sshd and are interested in $2 whitch contains the command string
shift
# TODO parse the beginning of the command for POSH_* overrides
fi
if [ "$1" == "-c" ]; then
# We've most likely been spawned by sshd and are interested in $2 whitch contains the command string
shift
# TODO parse the beginning of the command for POSH_* overrides
fi
test "$@" && cmd=( -c "$@")
test "$@" && cmd=( -c "$@")
HOME_CONTAINERS_CONFIGDIR="$HOME/.config/containers"
HOME_POLICY_JSON="$HOME_CONTAINERS_CONFIGDIR/policy.json"
test -d $HOME_CONTAINERS_CONFIGIDR || mkdir $HOME_CONTAINERS_CONFIGIDR
ln -sf ${policy-json} $HOME_POLICY_JSON
HOME_CONTAINERS_CONFIGDIR="$HOME/.config/containers"
HOME_POLICY_JSON="$HOME_CONTAINERS_CONFIGDIR/policy.json"
test -d $HOME_CONTAINERS_CONFIGIDR || mkdir $HOME_CONTAINERS_CONFIGIDR
ln -sf ${policy-json} $HOME_POLICY_JSON
set -x
exec ${pkgs.podman}/bin/podman \
--cgroup-manager=cgroupfs \
${global_args} \
run \
--annotation=io.crun.keep_original_groups=1 \
--config ${podmanConfig} \
--conmon ${pkgs.conmon}/bin/conmon --runtime ${pkgs.crun}/bin/crun \
--rm -i --network host --pull=''${POSH_PULL} \
$tty $ssh -e HOME -v $HOME:$HOME -w $HOME \
${
if userns != null
then "--userns=" + userns
else ""
} \
${run_args} \
''${POSH_IMAGE} /usr/bin/env bash -l "''${cmd[@]}"
'')
.overrideAttrs (attrs: attrs // {passthru = {shellPath = "/bin/posh";};})
set -x
exec ${pkgs.podman}/bin/podman \
--cgroup-manager=cgroupfs \
${global_args} \
run \
--annotation=io.crun.keep_original_groups=1 \
--config ${podmanConfig} \
--conmon ${pkgs.conmon}/bin/conmon --runtime ${pkgs.crun}/bin/crun \
--rm -i --network host --pull=''${POSH_PULL} \
$tty $ssh -e HOME -v $HOME:$HOME -w $HOME \
${if userns != null then "--userns=" + userns else ""} \
${run_args} \
''${POSH_IMAGE} /usr/bin/env bash -l "''${cmd[@]}"
'').overrideAttrs
(
attrs:
attrs
// {
passthru = {
shellPath = "/bin/posh";
};
}
)

View file

@ -18,7 +18,13 @@ stdenv.mkDerivation rec {
sha256 = "0kqncza4kgqkqiki569j7ym9pvp7879i6q2z0djvda9y0i6b80w4";
};
buildInputs = [autoconf automake libtool gnumake gcc];
buildInputs = [
autoconf
automake
libtool
gnumake
gcc
];
configurePhase = ''
./autogen.sh
@ -37,7 +43,7 @@ stdenv.mkDerivation rec {
description = "User-mode networking for unprivileged network namespaces";
homepage = "https://github.com/rootless-containers/slirp4netns";
license = null;
maintainers = [maintainers.steveej];
maintainers = [ maintainers.steveej ];
platforms = platforms.all;
};
}

View file

@ -15,7 +15,8 @@
libgcrypt,
dbus,
systemd,
}: let
}:
let
inherit (stdenv) lib;
LD_LIBRARY_PATH = lib.makeLibraryPath [
glib
@ -30,55 +31,56 @@
dbus
];
in
stdenv.mkDerivation rec {
version = "2.8.1";
name = "staruml-${version}";
stdenv.mkDerivation rec {
version = "2.8.1";
name = "staruml-${version}";
src =
if stdenv.system == "i686-linux"
then
fetchurl
{
url = "http://staruml.io/download/release/v${version}/StarUML-v${version}-32-bit.deb";
sha256 = "0vb3k9m3l6pmsid4shlk0xdjsriq3gxzm8q7l04didsppg0vvq1n";
}
else
fetchurl {
url = "https://s3.amazonaws.com/staruml-bucket/releases-v2/StarUML-v${version}-64-bit.deb";
sha256 = "05gzrnlssjkhyh0wv019d4r7p40lxnsa1sghazll6f233yrqmxb0";
};
src =
if stdenv.system == "i686-linux" then
fetchurl {
url = "http://staruml.io/download/release/v${version}/StarUML-v${version}-32-bit.deb";
sha256 = "0vb3k9m3l6pmsid4shlk0xdjsriq3gxzm8q7l04didsppg0vvq1n";
}
else
fetchurl {
url = "https://s3.amazonaws.com/staruml-bucket/releases-v2/StarUML-v${version}-64-bit.deb";
sha256 = "05gzrnlssjkhyh0wv019d4r7p40lxnsa1sghazll6f233yrqmxb0";
};
buildInputs = [dpkg];
buildInputs = [ dpkg ];
nativeBuildInputs = [makeWrapper];
nativeBuildInputs = [ makeWrapper ];
unpackPhase = ''
mkdir pkg
dpkg-deb -x $src pkg
sourceRoot=pkg
'';
unpackPhase = ''
mkdir pkg
dpkg-deb -x $src pkg
sourceRoot=pkg
'';
installPhase = ''
mkdir $out
mv opt/staruml $out/bin
installPhase = ''
mkdir $out
mv opt/staruml $out/bin
mkdir -p $out/lib
ln -s ${stdenv.cc.cc.lib}/lib/libstdc++.so.6 $out/lib/
ln -s ${systemd.lib}/lib/libudev.so.1 $out/lib/libudev.so.0
mkdir -p $out/lib
ln -s ${stdenv.cc.cc.lib}/lib/libstdc++.so.6 $out/lib/
ln -s ${systemd.lib}/lib/libudev.so.1 $out/lib/libudev.so.0
for binary in StarUML Brackets-node; do
${patchelf}/bin/patchelf \
--interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
$out/bin/$binary
wrapProgram $out/bin/$binary \
--prefix LD_LIBRARY_PATH : $out/lib:${LD_LIBRARY_PATH}
done
'';
for binary in StarUML Brackets-node; do
${patchelf}/bin/patchelf \
--interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
$out/bin/$binary
wrapProgram $out/bin/$binary \
--prefix LD_LIBRARY_PATH : $out/lib:${LD_LIBRARY_PATH}
done
'';
meta = with stdenv.lib; {
description = "A sophisticated software modeler";
homepage = "http://staruml.io/";
license = licenses.unfree;
platforms = ["i686-linux" "x86_64-linux"];
};
}
meta = with stdenv.lib; {
description = "A sophisticated software modeler";
homepage = "http://staruml.io/";
license = licenses.unfree;
platforms = [
"i686-linux"
"x86_64-linux"
];
};
}