droidcam
and magit
improvements
This commit is contained in:
parent
8175759a71
commit
39521036fb
11 changed files with 98 additions and 5 deletions
6
flake.lock
generated
6
flake.lock
generated
|
@ -329,11 +329,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgsDevInput": {
|
"nixpkgsDevInput": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1650235668,
|
"lastModified": 1650450000,
|
||||||
"narHash": "sha256-OmGlM2pIMMrhkoHNi4yxG0H3JzoK8gZ7dUfx7OsDoFE=",
|
"narHash": "sha256-/ASymH28AS7KsNvkQ1RMKRoCQKSi1AsWkHdJpQwhXCg=",
|
||||||
"owner": "aciceri",
|
"owner": "aciceri",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a28ba9716a4c3f16379ceba7e4d754782846bebb",
|
"rev": "cf941213b48d9602be0dc2656e02e065740798ab",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -6,9 +6,10 @@
|
||||||
boot = {
|
boot = {
|
||||||
initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
||||||
initrd.kernelModules = [ ];
|
initrd.kernelModules = [ ];
|
||||||
kernelModules = [ "kvm-intel" "v4l2loopback" ];
|
kernelModules = [ "kvm-intel" "snd-aloop" "v4l2loopback" ];
|
||||||
extraModulePackages = with config.boot.kernelPackages; [
|
extraModulePackages = with config.boot.kernelPackages; [
|
||||||
v4l2loopback
|
v4l2loopback
|
||||||
|
pkgs.v4l2loopback-dc
|
||||||
];
|
];
|
||||||
|
|
||||||
extraModprobeConfig = ''
|
extraModprobeConfig = ''
|
||||||
|
|
|
@ -26,5 +26,7 @@ in
|
||||||
geoclue2 = nixpkgsUnstable.geoclue2;
|
geoclue2 = nixpkgsUnstable.geoclue2;
|
||||||
gnome = nixpkgsUnstable.gnome;
|
gnome = nixpkgsUnstable.gnome;
|
||||||
umoria = nixpkgsDev.umoria;
|
umoria = nixpkgsDev.umoria;
|
||||||
|
droidcam = prev.callPackage (import ./droidcam) { };
|
||||||
|
v4l2loopback-dc = prev.callPackage (import ./v4l2loopback-dc) { kernel = prev.linux; };
|
||||||
# then, call packages with `final.callPackage`
|
# then, call packages with `final.callPackage`
|
||||||
}
|
}
|
||||||
|
|
36
pkgs/droidcam/default.nix
Normal file
36
pkgs/droidcam/default.nix
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{ stdenv, fetchzip, pkgconfig, ffmpeg, gtk3-x11, libjpeg, libusbmuxd, alsaLib, speex }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "droidcam";
|
||||||
|
version = "0";
|
||||||
|
|
||||||
|
src = fetchzip {
|
||||||
|
url = "https://github.com/dev47apps/droidcam/archive/refs/tags/v1.7.2.zip";
|
||||||
|
sha256 = "1iskvs5p71gkiinj78kkl9ygl5il9rdbzm0h85hwyzm2xwkcybrp";
|
||||||
|
};
|
||||||
|
|
||||||
|
sourceRoot = "source";
|
||||||
|
|
||||||
|
buildInputs = [ pkgconfig ];
|
||||||
|
nativeBuildInputs = [ ffmpeg gtk3-x11 libusbmuxd alsaLib libjpeg speex ];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
cat Makefile
|
||||||
|
ls ${libusbmuxd.out}/lib
|
||||||
|
sed -i -e 's:-lusbmuxd:-I ${libusbmuxd.out} ${libusbmuxd.out}/lib/libusbmuxd-2.0.so:' Makefile
|
||||||
|
sed -i -e 's:/opt/libjpeg-turbo:${libjpeg.out}:' Makefile
|
||||||
|
sed -i -e 's:$(JPEG_DIR)/lib`getconf LONG_BIT`:${libjpeg.out}/lib:' Makefile
|
||||||
|
sed -i -e 's:libturbojpeg.a:libturbojpeg.so:' Makefile
|
||||||
|
cat Makefile
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
cp droidcam droidcam-cli $out/bin/
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "DroidCam Linux client";
|
||||||
|
homepage = https://github.com/aramg/droidcam;
|
||||||
|
};
|
||||||
|
}
|
|
@ -12,6 +12,7 @@ emacsWithPackages (
|
||||||
all-the-icons
|
all-the-icons
|
||||||
company
|
company
|
||||||
dap-mode
|
dap-mode
|
||||||
|
diff-hl
|
||||||
doom-modeline
|
doom-modeline
|
||||||
evil
|
evil
|
||||||
evil-collection
|
evil-collection
|
||||||
|
|
32
pkgs/v4l2loopback-dc/default.nix
Normal file
32
pkgs/v4l2loopback-dc/default.nix
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
{ stdenv, fetchzip, kernel }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "v4l2loopback-dc";
|
||||||
|
version = "0";
|
||||||
|
|
||||||
|
src = fetchzip {
|
||||||
|
url = "https://github.com/dev47apps/droidcam/archive/refs/tags/v1.7.2.zip";
|
||||||
|
sha256 = "1iskvs5p71gkiinj78kkl9ygl5il9rdbzm0h85hwyzm2xwkcybrp";
|
||||||
|
};
|
||||||
|
|
||||||
|
sourceRoot = "source/v4l2loopback";
|
||||||
|
|
||||||
|
KVER = "${kernel.modDirVersion}";
|
||||||
|
KBUILD_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
|
||||||
|
|
||||||
|
nativeBuildInputs = kernel.moduleBuildDependencies;
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
sed -i -e 's:/lib/modules/$(KERNELRELEASE)/build:${KBUILD_DIR}:g' Makefile
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/lib/modules/${KVER}/kernels/media/video
|
||||||
|
cp v4l2loopback-dc.ko $out/lib/modules/${KVER}/kernels/media/video/
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "DroidCam kernel module v4l2loopback-dc";
|
||||||
|
homepage = https://github.com/aramg/droidcam;
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,4 +1,8 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
programs.adb.enable = !pkgs.stdenv.hostPlatform.isAarch64;
|
programs.adb.enable = !pkgs.stdenv.hostPlatform.isAarch64;
|
||||||
|
|
||||||
|
services.udev.packages = [
|
||||||
|
pkgs.android-udev-rules
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
ack
|
ack
|
||||||
ranger
|
ranger
|
||||||
umoria
|
umoria
|
||||||
|
droidcam
|
||||||
] ++ (if config.networking.hostName != "hs" then [
|
] ++ (if config.networking.hostName != "hs" then [
|
||||||
imv
|
imv
|
||||||
calibre
|
calibre
|
||||||
|
|
|
@ -41,7 +41,8 @@
|
||||||
("<prior>" . #'good-scroll-down-full-screen)))
|
("<prior>" . #'good-scroll-down-full-screen)))
|
||||||
|
|
||||||
(use-package rainbow-identifiers
|
(use-package rainbow-identifiers
|
||||||
:hook ((prog-mode . rainbow-identifiers-mode)))
|
;; :hook ((prog-mode . rainbow-identifiers-mode))
|
||||||
|
)
|
||||||
|
|
||||||
;; To move in a different config file
|
;; To move in a different config file
|
||||||
(when (string-equal system-type "darwin")
|
(when (string-equal system-type "darwin")
|
||||||
|
|
|
@ -2,4 +2,17 @@
|
||||||
:bind (("C-x g" . magit-status)
|
:bind (("C-x g" . magit-status)
|
||||||
("C-x C-g" . magit-status)))
|
("C-x C-g" . magit-status)))
|
||||||
|
|
||||||
|
(use-package transient
|
||||||
|
:defer t
|
||||||
|
:config
|
||||||
|
(transient-bind-q-to-quit))
|
||||||
|
|
||||||
|
(use-package diff-hl
|
||||||
|
:after magit
|
||||||
|
:config
|
||||||
|
(require 'diff-hl-flydiff)
|
||||||
|
(add-hook 'magit-post-refresh-hook 'diff-hl-magit-post-refresh)
|
||||||
|
(diff-hl-flydiff-mode t)
|
||||||
|
(global-diff-hl-mode t))
|
||||||
|
|
||||||
(provide 'config-magit)
|
(provide 'config-magit)
|
||||||
|
|
|
@ -16,7 +16,9 @@ in
|
||||||
package = pkgs.gitAndTools.gitFull;
|
package = pkgs.gitAndTools.gitFull;
|
||||||
|
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
|
ui.color = true;
|
||||||
pull.rebase = false;
|
pull.rebase = false;
|
||||||
|
rebase.autostash = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
userName = config.name;
|
userName = config.name;
|
||||||
|
|
Loading…
Add table
Reference in a new issue