logseq on arm64, latest signal on arm, waydroid, radicale, vscode

This commit is contained in:
steveej 2024-01-25 00:32:37 +01:00
parent 4def9ef949
commit 8c32db3406
12 changed files with 196 additions and 182 deletions

View file

@ -110,68 +110,30 @@ in
# kotatogram-desktop
tdesktop
pkgsUnstableSmall.signal-desktop
#(let
# version = "6.20.0-beta.1";
#in
# pkgsUnstableSmall.signal-desktop-beta.overrideAttrs (old: {
# # inherit version;
# # src = builtins.fetchurl {
# # url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop-beta/signal-desktop-beta_${version}_amd64.deb";
# # sha256 = "0xkagnldagfxnpv4c23yd9w0kz1y719m1sj9vqn8mnr1zfn7j62a";
# # };
# preFixup =
# old.preFixup
# + ''
# gappsWrapperArgs+=(
# --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto}}"
# --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform}}"
# )
# '';
# }))
# --add-flags "--enable-features=UseOzonePlatform"
# --add-flags "--ozone-platform=wayland"
# (pkgsUnstableSmall.session-desktop.overrideAttrs (old: {
# nativeBuildInputs =
# old.nativeBuildInputs
# ++ [
# pkgs.wrapGAppsHook
# ];
# preFixup =
# (old.preFixup or "")
# + ''
# gappsWrapperArgs+=(
# --add-flags "--enable-features=UseOzonePlatform"
# --add-flags "--ozone-platform=wayland"
# # --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto}}"
# # --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=WaylandWindowDecorations}}"
# # --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform}}"
# )
# '';
# }))
#(pkgsUnstableSmall.session-desktop.overrideAttrs(old: {
# nativeBuildInputs = old.nativeBuildInputs ++ [
# pkgs.wrapGAppsHook
# ];
#
# preFixup = (old.preFixup or "") + ''
# gappsWrapperArgs+=(
# --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland}}"
# --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform}}"
# )
# '';
# }))
(
let
version = "6.44.0";
in
pkgsUnstableSmall.signal-desktop.overrideAttrs (old:
lib.attrsets.optionalAttrs pkgs.stdenv.isAarch64 {
inherit version;
src = builtins.fetchurl
{
url = "https://github.com/0mniteck/Signal-Desktop-Mobian/raw/master/builds/release/signal-desktop_${version}_arm64.deb";
sha256 =
# lib.fakeSha256
"sha256:0svb5vz08n3j4lx4kdjmx5lw9619kvvxg981rs6chh83qz5y519k"
;
}
;
})
)
thunderbird
# gnome.cheese
# Virtualization
# virtmanager
@ -284,6 +246,17 @@ in
# this is a displaymanager!
# libretro.snes9x2010
# retroarchFull
packages'.logseq
# (pkgs.runCommand "logseq-wrapper"
# {
# nativeBuildInputs = [ pkgs.makeWrapper ];
# } ''
# makeWrapper ${pkgs.logseq}/bin/logseq $out/bin/logseq \
# --set NIXOS_OZONE_WL ""
# '')
])
++ (lib.lists.optionals (!pkgs.stdenv.targetPlatform.isAarch64) [
])
++ (lib.lists.optionals (!pkgs.stdenv.targetPlatform.isAarch64) [
(pkgs.banana-accounting.overrideDerivation
@ -321,15 +294,6 @@ in
pkgsUnstableSmall.ledger-live-desktop
(pkgs.runCommand "logseq-wrapper"
{
nativeBuildInputs = [ pkgs.makeWrapper ];
} ''
makeWrapper ${pkgs.logseq}/bin/logseq $out/bin/logseq \
--set NIXOS_OZONE_WL ""
'')
# (logseq.override({ electron_25 = electron_26; }))
# unsupported on aarch64-linux
pkgs.androidenv.androidPkgs_9_0.platform-tools
pkgs.teamviewer

View file

@ -46,6 +46,9 @@ let
++ (lib.lists.optionals ((builtins.match "^steveej.*" name) != null) [
# Vimium C
{ id = "hfjbmagddngcpeloejdejnfgbamkjaeg"; }
# always right
{ id = "npjpaghfnndnnmjiliibnkmdfgbojokj"; }
]);
in
{

View file

@ -9,10 +9,18 @@ in {
extensions = with pkgs.vscode-extensions;
[
ms-vscode-remote.remote-ssh
# bbenoist.nix
# vscodevim.vim
# rust-lang.rust-analyzer
# mkhl.direnv
bbenoist.nix
eamodio.gitlens
mkhl.direnv
jnoortheen.nix-ide
tomoki1207.pdf
vscodevim.vim
# TODO: these are not in nixpkgs
# fredwangwang.vscode-hcl-format
# hashicorp.hcl
# mindaro-dev.file-downloader
# ms-vscode.remote-explorer
]
++ marketPlaceExtensions;
mutableExtensionsDir = true;

View file

@ -85,7 +85,7 @@
../../snippets/sway-desktop.nix
../../snippets/bluetooth.nix
../../snippets/timezone.nix
# ../../snippets/radicale.nix
../../snippets/radicale.nix
];
networking.hostName = nodeName;
@ -126,12 +126,23 @@
};
boot = {
kernelParams = [
"dtb=sc8280xp-lenovo-thinkpad-x13s.dtb"
];
loader.systemd-boot.enable = true;
loader.efi.canTouchEfiVariables = lib.mkForce false;
loader.efi.efiSysMountPoint = "/boot";
blacklistedKernelModules = [ "wwan" ];
};
# see https://linrunner.de/tlp/
services.tlp = {
enable = true;
settings = {
START_CHARGE_THRESH_BAT0 = "80";
STOP_CHARGE_THRESH_BAT0 = "85";
};
};
# android on linux
virtualisation.waydroid.enable = true;
virtualisation.podman.enable = true;
virtualisation.podman.dockerCompat = true;
}

View file

@ -97,17 +97,17 @@
]
},
"locked": {
"lastModified": 1705945811,
"narHash": "sha256-eDqgRYGMzRfpfWvSVj6IhHAWOMJC3xiwKaClbe79Gro=",
"lastModified": 1706097550,
"narHash": "sha256-rR4HMpUlT7SbVPxQIvWH0DsxaEQcjTLqLrst2xoT1CY=",
"ref": "refs/heads/main",
"rev": "9320defc4b8f381e5b7887d212d8d2babc41f2f2",
"revCount": 2,
"rev": "732a0f1549996740bdb06989599a5f0653de5056",
"revCount": 6,
"type": "git",
"url": "https://codeberg.org/adamcstephens/nixos-x13s"
"url": "https://codeberg.org/steveej/nixos-x13s"
},
"original": {
"type": "git",
"url": "https://codeberg.org/adamcstephens/nixos-x13s"
"url": "https://codeberg.org/steveej/nixos-x13s"
}
},
"nixpkgs": {

View file

@ -19,7 +19,7 @@
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-x13s.url = "git+https://codeberg.org/adamcstephens/nixos-x13s";
nixos-x13s.url = "git+https://codeberg.org/steveej/nixos-x13s";
nixos-x13s.inputs.nixpkgs.follows = "nixpkgs";
};

View file

@ -1,6 +1,14 @@
# build instructions
this is pseudocode that serves as a reminder
1. podman build -f Containerfile
2. podman unshare
3. podman mount $CONTAINER_ID
4. upload the AppImaeg
# 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

View file

@ -1,11 +1,4 @@
{ lib
, pname ? "logseq"
, version ? "0.10.5"
, src ? fetchurl {
url = "https://github.com/logseq/logseq/releases/download/${ version}/logseq-linux-x64-${ version}.AppImage";
hash = "sha256-F3YbqgvL04P0nXaIVkJlCq/z8hUE0M0UutkBs2omuBE=";
name = "${ pname}-${ version}.AppImage";
}
, stdenv
, fetchurl
, appimageTools
@ -14,67 +7,77 @@
, electron_27
, git
, nix-update-script
, overrideSrc ? null
}:
stdenv.mkDerivation
(finalAttrs:
let
inherit (finalAttrs) pname version src appimageContents;
stdenv.mkDerivation (finalAttrs:
let
inherit (finalAttrs) pname version src appimageContents;
in
{
inherit version pname src;
in
{
pname = "logseq";
version = "0.10.5";
appimageContents = appimageTools.extract {
inherit pname src version;
};
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";
});
dontUnpack = true;
dontConfigure = true;
dontBuild = true;
appimageContents = appimageTools.extract {
inherit pname src version;
};
nativeBuildInputs = [ makeWrapper ];
dontUnpack = true;
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstall
nativeBuildInputs = [ makeWrapper ];
mkdir -p $out/bin $out/share/${pname} $out/share/applications
cp -a ${appimageContents}/{locales,resources} $out/share/${pname}
cp -a ${appimageContents}/Logseq.desktop $out/share/applications/${pname}.desktop
installPhase = ''
runHook preInstall
# remove the `git` in `dugite` because we want the `git` in `nixpkgs`
mkdir -p $out/bin $out/share/${pname} $out/share/applications
cp -a ${appimageContents}/{locales,resources} $out/share/${pname}
cp -a ${appimageContents}/Logseq.desktop $out/share/applications/${pname}.desktop
# remove the `git` in `dugite` because we want the `git` in `nixpkgs`
if test -e $out/share/${pname}/resources/app/node_modules/dugite/git; then
chmod +w -R $out/share/${pname}/resources/app/node_modules/dugite/git
chmod +w $out/share/${pname}/resources/app/node_modules/dugite
rm -rf $out/share/${pname}/resources/app/node_modules/dugite/git
chmod -w $out/share/${pname}/resources/app/node_modules/dugite
fi
mkdir -p $out/share/pixmaps
ln -s $out/share/${pname}/resources/app/icons/logseq.png $out/share/pixmaps/${pname}.png
mkdir -p $out/share/pixmaps
ln -s $out/share/${pname}/resources/app/icons/logseq.png $out/share/pixmaps/${pname}.png
substituteInPlace $out/share/applications/${pname}.desktop \
--replace Exec=Logseq Exec=${pname} \
--replace Icon=Logseq Icon=${pname}
substituteInPlace $out/share/applications/${pname}.desktop \
--replace Exec=Logseq Exec=${pname} \
--replace Icon=Logseq Icon=${pname}
runHook postInstall
'';
runHook postInstall
'';
postFixup = ''
# set the env "LOCAL_GIT_DIRECTORY" for dugite so that we can use the git in nixpkgs
makeWrapper ${electron_27}/bin/electron $out/bin/${pname} \
--set "LOCAL_GIT_DIRECTORY" ${git} \
--add-flags $out/share/${pname}/resources/app \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc.lib ]}"
'';
postFixup = ''
# set the env "LOCAL_GIT_DIRECTORY" for dugite so that we can use the git in nixpkgs
makeWrapper ${electron_27}/bin/electron $out/bin/${pname} \
--set "LOCAL_GIT_DIRECTORY" ${git} \
--add-flags $out/share/${pname}/resources/app \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc.lib ]}"
'';
passthru.updateScript = nix-update-script { };
passthru.updateScript = nix-update-script { };
meta = {
description = "A 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;
maintainers = with lib.maintainers; [ ];
platforms = [ "x86_64-linux" ];
};
})
meta = {
description = "A 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;
maintainers = with lib.maintainers; [ ];
platforms = [ "x86_64-linux" "aarch64-linux" ];
};
})

View file

@ -1,18 +0,0 @@
{
inputs = {
utils.url = "github:numtide/flake-utils";
# clj2nix.url = "github:hlolli/clj2nix";
logseq.url = "github:logseq/logseq/0.5.9";
};
outputs = { nixpkgs, self, utils }: utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs { inherit system; };
# clj2nixBin = clj2nix.defaultPackage.${system};
in
{
packages = pkgs.callPackage ./default.nix { inherit self; };
nixpkgs = pkgs;
});
}