home: neomutt->alot; mpv: add libaribcaption; misc fixes
This commit is contained in:
parent
5bfcdf6e65
commit
7f829af357
|
@ -83,11 +83,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
neomutt = {
|
|
||||||
enable = true;
|
|
||||||
sidebar.enable = true;
|
|
||||||
vimKeys = true;
|
|
||||||
};
|
|
||||||
home-manager.enable = true;
|
home-manager.enable = true;
|
||||||
# i only use this as a login shell
|
# i only use this as a login shell
|
||||||
bash = {
|
bash = {
|
||||||
|
@ -160,7 +155,33 @@
|
||||||
# (because I use nix plugins and plugins are nix version-specific)
|
# (because I use nix plugins and plugins are nix version-specific)
|
||||||
package = pkgs.nix-index-unwrapped;
|
package = pkgs.nix-index-unwrapped;
|
||||||
};
|
};
|
||||||
|
#neomutt = {
|
||||||
|
# enable = true;
|
||||||
|
# sidebar.enable = true;
|
||||||
|
# vimKeys = true;
|
||||||
|
#};
|
||||||
|
alot = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
handle_mouse = true;
|
||||||
|
initial_command = "search tag:inbox AND NOT tag:killed";
|
||||||
|
prefer_plaintext = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
msmtp.enable = true;
|
||||||
|
notmuch = {
|
||||||
|
enable = true;
|
||||||
|
hooks.preNew = ''
|
||||||
|
${config.services.mbsync.package}/bin/mbsync --all || ${pkgs.coreutils}/bin/true
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
mbsync.enable = true;
|
||||||
};
|
};
|
||||||
|
#services.mbsync.enable = true;
|
||||||
|
# TODO: see https://github.com/pazz/alot/issues/1632
|
||||||
|
home.file.".mailcap".text = ''
|
||||||
|
text/html; ${pkgs.w3m}/bin/w3m -dump -o document_charset=%{charset} -o display_link_number=1 '%s'; nametemplate=%s.html; copiousoutput
|
||||||
|
'';
|
||||||
|
|
||||||
systemd.user.timers.nix-index = {
|
systemd.user.timers.nix-index = {
|
||||||
Install.WantedBy = [ "timers.target" ];
|
Install.WantedBy = [ "timers.target" ];
|
||||||
|
|
|
@ -178,10 +178,17 @@
|
||||||
input-default-bindings = false;
|
input-default-bindings = false;
|
||||||
};
|
};
|
||||||
# profiles = { };
|
# profiles = { };
|
||||||
package = pkgs.wrapMpv (pkgs.mpv-unwrapped.override {
|
package = pkgs.wrapMpv ((pkgs.mpv-unwrapped.override {
|
||||||
# webp support
|
# webp support
|
||||||
ffmpeg_5 = pkgs.ffmpeg_5-full;
|
ffmpeg_5 = pkgs.ffmpeg-custom;
|
||||||
}) {
|
}).overrideAttrs (old: {
|
||||||
|
patches = old.patches or [] ++ [
|
||||||
|
(pkgs.fetchpatch {
|
||||||
|
url = "https://github.com/mpv-player/mpv/pull/11648.patch";
|
||||||
|
hash = "sha256-rp5VxVD74dY3w5rKct1BwFbruxpHsGk8zwtkkhdJovM=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
})) {
|
||||||
scripts = with pkgs.mpvScripts; [
|
scripts = with pkgs.mpvScripts; [
|
||||||
thumbnail
|
thumbnail
|
||||||
mpris
|
mpris
|
||||||
|
|
|
@ -105,7 +105,7 @@
|
||||||
BufReadPre = DEFUN (SET vim.o.foldmethod "syntax");
|
BufReadPre = DEFUN (SET vim.o.foldmethod "syntax");
|
||||||
BufEnter = { buf, ... }:
|
BufEnter = { buf, ... }:
|
||||||
LET (vim.filetype.match { inherit buf; }) (filetype: [
|
LET (vim.filetype.match { inherit buf; }) (filetype: [
|
||||||
(IF (APPLY OR (map (EQ filetype) [ "gitcommit" "markdown" ])) (
|
(IF (APPLY OR (map (EQ filetype) [ "gitcommit" "markdown" "mail" ])) (
|
||||||
LET vim.o.colorcolumn (old_colorcolumn: [
|
LET vim.o.colorcolumn (old_colorcolumn: [
|
||||||
(SET vim.o.colorcolumn "73")
|
(SET vim.o.colorcolumn "73")
|
||||||
(vim.api.nvim_create_autocmd "BufLeave" {
|
(vim.api.nvim_create_autocmd "BufLeave" {
|
||||||
|
@ -118,7 +118,7 @@
|
||||||
})
|
})
|
||||||
])
|
])
|
||||||
))
|
))
|
||||||
(IF (EQ filetype "markdown") (
|
(IF (APPLY OR (map (EQ filetype) [ "markdown" "mail" ])) (
|
||||||
(SET (IDX vim.bo buf).textwidth 72)
|
(SET (IDX vim.bo buf).textwidth 72)
|
||||||
))
|
))
|
||||||
]);
|
]);
|
||||||
|
|
|
@ -67,8 +67,33 @@ in
|
||||||
/*ghidra = pkgs.ghidra.overrideAttrs (old: {
|
/*ghidra = pkgs.ghidra.overrideAttrs (old: {
|
||||||
patches = old.patches ++ [ ./ghidra-stdcall.patch ];
|
patches = old.patches ++ [ ./ghidra-stdcall.patch ];
|
||||||
});*/
|
});*/
|
||||||
|
ffmpeg-custom = (pkgs'.ffmpeg_6-full.override {
|
||||||
|
withCuda = false;
|
||||||
|
withCudaLLVM = false;
|
||||||
|
withNvdec = false;
|
||||||
|
withNvenc = false;
|
||||||
|
}).overrideAttrs (old: {
|
||||||
|
version = "unstable-20231031";
|
||||||
|
src = pkgs'.fetchgit {
|
||||||
|
url = "https://git.ffmpeg.org/ffmpeg.git";
|
||||||
|
rev = "4e5f3e6b8e1132354eed810dfdadf87f45c5de27";
|
||||||
|
hash = "sha256-fiWkU9fK8qPmxl2MOADKdlFf6XjHGKFhi8uaWltphCE=";
|
||||||
|
};
|
||||||
|
patches = [ ];
|
||||||
|
postPatch = ''
|
||||||
|
${old.postPatch or ""}
|
||||||
|
substituteInPlace libavutil/hwcontext_vulkan.c \
|
||||||
|
--replace FF_VK_KHR_VIDEO_DECODE_QUEUE FF_VK_EXT_VIDEO_DECODE_QUEUE \
|
||||||
|
--replace FF_VK_KHR_VIDEO_DECODE_H264 FF_VK_EXT_VIDEO_DECODE_H264 \
|
||||||
|
--replace FF_VK_KHR_VIDEO_DECODE_H265 FF_VK_EXT_VIDEO_DECODE_H265 \
|
||||||
|
--replace FF_VK_KHR_VIDEO_DECODE_AV1 FF_VK_EXT_VIDEO_DECODE_AV1
|
||||||
|
'';
|
||||||
|
buildInputs = old.buildInputs ++ [ pkgs'.libaribcaption ];
|
||||||
|
configureFlags = old.configureFlags ++ [ "--enable-libaribcaption" ];
|
||||||
|
});
|
||||||
gimp = callPackage ./gimp { inherit (pkgs) gimp; };
|
gimp = callPackage ./gimp { inherit (pkgs) gimp; };
|
||||||
home-daemon = callPackage ./home-daemon { };
|
home-daemon = callPackage ./home-daemon { };
|
||||||
|
libaribcaption = callPackage ./libaribcaption { };
|
||||||
# pin version
|
# pin version
|
||||||
looking-glass-client = pkgs.looking-glass-client.overrideAttrs (old: {
|
looking-glass-client = pkgs.looking-glass-client.overrideAttrs (old: {
|
||||||
version = "B6";
|
version = "B6";
|
||||||
|
|
33
pkgs/libaribcaption/default.nix
Normal file
33
pkgs/libaribcaption/default.nix
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, cmake
|
||||||
|
|
||||||
|
, fontconfig
|
||||||
|
, freetype
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "libaribcaption";
|
||||||
|
version = "1.1.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "xqq";
|
||||||
|
repo = "libaribcaption";
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256-x6l0ZrTktSsqfDLVRXpQtUOruhfc8RF3yT991UVZiKA=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
|
cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
|
||||||
|
|
||||||
|
buildInputs = lib.optionals (!stdenv.isDarwin) [ fontconfig freetype ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Portable ARIB STD-B24 Caption Decoder/Renderer";
|
||||||
|
homepage = "https://github.com/xqq/libaribcaption";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ chayleaf ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -905,6 +905,9 @@ in {
|
||||||
extraOptions = "-i ${netAddresses.lan4} -p 6969 -P 6969 -p 80";
|
extraOptions = "-i ${netAddresses.lan4} -p 6969 -P 6969 -p 80";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# I only have 2GB RAM, so Unbound is killed during peak system load without this option
|
||||||
|
zramSwap.enable = true;
|
||||||
|
|
||||||
impermanence.directories = [
|
impermanence.directories = [
|
||||||
# for wireguard key
|
# for wireguard key
|
||||||
{ directory = /secrets; mode = "0000"; }
|
{ directory = /secrets; mode = "0000"; }
|
||||||
|
|
|
@ -16,7 +16,9 @@ in {
|
||||||
|
|
||||||
services.postgresql.extraPlugins = with config.services.postgresql.package.pkgs; [ tsja ];
|
services.postgresql.extraPlugins = with config.services.postgresql.package.pkgs; [ tsja ];
|
||||||
|
|
||||||
services.akkoma = {
|
services.akkoma = let
|
||||||
|
inherit ((pkgs.formats.elixirConf { }).lib) mkRaw;
|
||||||
|
in {
|
||||||
enable = true;
|
enable = true;
|
||||||
dist.extraFlags = [
|
dist.extraFlags = [
|
||||||
"+sbwt" "none"
|
"+sbwt" "none"
|
||||||
|
@ -48,11 +50,15 @@ in {
|
||||||
account_approval_required = true;
|
account_approval_required = true;
|
||||||
};
|
};
|
||||||
config.":pleroma"."Pleroma.Repo" = {
|
config.":pleroma"."Pleroma.Repo" = {
|
||||||
adapter = (pkgs.formats.elixirConf { }).lib.mkRaw "Ecto.Adapters.Postgres";
|
adapter = mkRaw "Ecto.Adapters.Postgres";
|
||||||
username = "akkoma";
|
username = "akkoma";
|
||||||
password._secret = "/secrets/akkoma/postgres_password";
|
password._secret = "/secrets/akkoma/postgres_password";
|
||||||
database = "akkoma";
|
database = "akkoma";
|
||||||
hostname = "localhost";
|
hostname = "localhost";
|
||||||
|
prepare = mkRaw ":named";
|
||||||
|
parameters.plan_cache_mode = "force_custom_plan";
|
||||||
|
timeout = 30000;
|
||||||
|
connect_timeout = 10000;
|
||||||
};
|
};
|
||||||
config.":web_push_encryption".":vapid_details" = {
|
config.":web_push_encryption".":vapid_details" = {
|
||||||
subject = "mailto:webmaster-akkoma@${cfg.domainName}";
|
subject = "mailto:webmaster-akkoma@${cfg.domainName}";
|
||||||
|
@ -60,6 +66,7 @@ in {
|
||||||
private_key._secret = "/secrets/akkoma/push_private_key";
|
private_key._secret = "/secrets/akkoma/push_private_key";
|
||||||
};
|
};
|
||||||
config.":joken".":default_signer"._secret = "/secrets/akkoma/joken_signer";
|
config.":joken".":default_signer"._secret = "/secrets/akkoma/joken_signer";
|
||||||
|
# config.":logger".":ex_syslogger".level = ":debug";
|
||||||
nginx = {
|
nginx = {
|
||||||
quic = true;
|
quic = true;
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
|
|
Loading…
Reference in a new issue