2019-10-24 02:20:38 +02:00
|
|
|
{ config, pkgs, ... }:
|
|
|
|
|
|
|
|
let
|
|
|
|
mcExt = pkgs.writeText "mc.ext" ''
|
|
|
|
# gitfs changeset
|
|
|
|
regex/^\[git\]
|
|
|
|
Open=%cd %p/changesetfs://
|
|
|
|
View=%cd %p/patchsetfs://
|
|
|
|
|
|
|
|
### Archives ###
|
|
|
|
|
|
|
|
# .tgz, .tpz, .tar.gz, .tar.z, .tar.Z, .ipk, .gem
|
|
|
|
regex/\.t([gp]?z|ar\.g?[zZ])$|\.ipk$|\.gem$
|
|
|
|
Open=%cd %p/utar://
|
|
|
|
|
|
|
|
shell/.tar.bz
|
|
|
|
# Open=%cd %p/utar://
|
|
|
|
|
|
|
|
regex/\.t(ar\.bz2|bz2?|b2)$
|
|
|
|
Open=%cd %p/utar://
|
|
|
|
|
|
|
|
# .tar.lzma, .tlz
|
|
|
|
regex/\.t(ar\.lzma|lz)$
|
|
|
|
Open=%cd %p/utar://
|
|
|
|
|
|
|
|
# .tar.xz, .txz
|
|
|
|
regex/\.t(ar\.xz|xz)$
|
|
|
|
Open=%cd %p/utar://
|
|
|
|
|
|
|
|
# .tar.F - used in QNX
|
|
|
|
shell/.tar.F
|
|
|
|
# Open=%cd %p/utar://
|
|
|
|
|
|
|
|
# .qpr/.qpk - QNX Neutrino package installer files
|
|
|
|
regex/\.qp[rk]$
|
|
|
|
Open=%cd %p/utar://
|
|
|
|
|
|
|
|
# tar
|
|
|
|
shell/i/.tar
|
|
|
|
Open=%cd %p/utar://
|
|
|
|
|
|
|
|
# lha
|
|
|
|
type/^LHa\ .*archive
|
|
|
|
Open=%cd %p/ulha://
|
|
|
|
|
|
|
|
# arj
|
|
|
|
regex/i/\.a(rj|[0-9][0-9])$
|
|
|
|
Open=%cd %p/uarj://
|
|
|
|
|
|
|
|
# cab
|
|
|
|
shell/i/.cab
|
|
|
|
Open=%cd %p/ucab://
|
|
|
|
|
|
|
|
# ha
|
|
|
|
shell/i/.ha
|
|
|
|
Open=%cd %p/uha://
|
|
|
|
|
|
|
|
# rar
|
|
|
|
regex/i/\.r(ar|[0-9][0-9])$
|
|
|
|
Open=%cd %p/urar://
|
|
|
|
|
|
|
|
# ALZip
|
|
|
|
shell/i/.alz
|
|
|
|
Open=%cd %p/ualz://
|
|
|
|
|
|
|
|
# cpio
|
|
|
|
shell/.cpio.Z
|
|
|
|
Open=%cd %p/ucpio://
|
|
|
|
|
|
|
|
shell/.cpio.xz
|
|
|
|
Open=%cd %p/ucpio://
|
|
|
|
|
|
|
|
shell/.cpio.gz
|
|
|
|
Open=%cd %p/ucpio://
|
|
|
|
|
|
|
|
shell/i/.cpio
|
|
|
|
Open=%cd %p/ucpio://
|
|
|
|
|
|
|
|
# 7zip archives (they are not man pages)
|
|
|
|
shell/i/.7z
|
|
|
|
Open=%cd %p/u7z://
|
|
|
|
|
|
|
|
# patch
|
|
|
|
regex/\.(diff|patch)(\.bz2)$
|
|
|
|
Open=%cd %p/patchfs://
|
|
|
|
|
|
|
|
regex/\.(diff|patch)(\.(gz|Z))$
|
|
|
|
Open=%cd %p/patchfs://
|
|
|
|
|
|
|
|
# ls-lR
|
|
|
|
regex/(^|\.)ls-?lR(\.gz|Z|bz2)$
|
|
|
|
Open=%cd %p/lslR://
|
|
|
|
|
|
|
|
# trpm
|
|
|
|
shell/.trpm
|
|
|
|
Open=%cd %p/trpm://
|
|
|
|
|
|
|
|
# RPM packages (SuSE uses *.spm for source packages)
|
|
|
|
regex/\.(src\.rpm|spm)$
|
|
|
|
Open=%cd %p/rpm://
|
|
|
|
|
|
|
|
shell/.rpm
|
|
|
|
Open=%cd %p/rpm://
|
|
|
|
|
|
|
|
# deb
|
|
|
|
regex/\.u?deb$
|
|
|
|
Open=%cd %p/deb://
|
|
|
|
|
|
|
|
# dpkg
|
|
|
|
shell/.debd
|
|
|
|
Open=%cd %p/debd://
|
|
|
|
|
|
|
|
# apt
|
|
|
|
shell/.deba
|
|
|
|
Open=%cd %p/deba://
|
|
|
|
|
|
|
|
# ISO9660
|
|
|
|
shell/i/.iso
|
|
|
|
Open=%cd %p/iso9660://
|
|
|
|
|
|
|
|
|
|
|
|
regex/\.(diff|patch)$
|
|
|
|
Open=%cd %p/patchfs://
|
|
|
|
|
|
|
|
# ar library
|
|
|
|
regex/\.s?a$
|
|
|
|
Open=%cd %p/uar://
|
|
|
|
|
|
|
|
# gplib
|
|
|
|
shell/i/.lib
|
|
|
|
Open=%cd %p/ulib://
|
|
|
|
|
|
|
|
|
|
|
|
# Mailboxes
|
|
|
|
type/^ASCII\ mail\ text
|
|
|
|
Open=%cd %p/mailfs://
|
|
|
|
|
|
|
|
|
|
|
|
### Sources ###
|
|
|
|
|
|
|
|
# C/C++
|
|
|
|
regex/i/\.(c|cc|cpp)$
|
|
|
|
Include=editor
|
|
|
|
|
|
|
|
# C/C++ header
|
|
|
|
regex/i/\.(h|hh|hpp)$
|
|
|
|
Include=editor
|
|
|
|
|
|
|
|
# Fortran
|
|
|
|
shell/i/.f
|
|
|
|
Include=editor
|
|
|
|
|
|
|
|
# Assembler
|
|
|
|
regex/i/\.(s|asm)$
|
|
|
|
Include=editor
|
|
|
|
|
|
|
|
include/editor
|
|
|
|
Open=%var{EDITOR:${pkgs.vim}/bin/vim} %f
|
|
|
|
|
|
|
|
### Images ###
|
|
|
|
|
|
|
|
shell/i/.gif
|
|
|
|
Include=image
|
|
|
|
|
|
|
|
regex/i/\.jpe?g$
|
|
|
|
Include=image
|
|
|
|
|
|
|
|
shell/i/.bmp
|
|
|
|
Include=image
|
|
|
|
|
|
|
|
shell/i/.png
|
|
|
|
Include=image
|
|
|
|
|
|
|
|
shell/i/.jng
|
|
|
|
Include=image
|
|
|
|
|
|
|
|
shell/i/.mng
|
|
|
|
Include=image
|
|
|
|
|
|
|
|
shell/i/.tiff
|
|
|
|
Include=image
|
|
|
|
|
|
|
|
shell/.ico
|
|
|
|
Include=image
|
|
|
|
|
|
|
|
include/image
|
|
|
|
Open=${pkgs.sxiv}/bin/sxiv %f
|
|
|
|
View=${pkgs.sxiv}/bin/sxiv %f
|
|
|
|
|
|
|
|
### Sound files ###
|
|
|
|
|
|
|
|
regex/i/\.(wav|snd|voc|au|smp|aiff|snd|m4a|ape|aac|wv)$
|
|
|
|
Include=audio
|
|
|
|
|
|
|
|
regex/i/\.(mod|s3m|xm|it|mtm|669|stm|ult|far)$
|
|
|
|
Include=audio
|
|
|
|
|
|
|
|
shell/i/.waw22
|
|
|
|
Include=audio
|
|
|
|
|
|
|
|
shell/i/.mp3
|
|
|
|
Include=audio
|
|
|
|
|
|
|
|
regex/i/\.og[gax]$
|
|
|
|
Include=audio
|
|
|
|
|
|
|
|
regex/i/\.(spx|flac)$
|
|
|
|
Include=audio
|
|
|
|
|
|
|
|
regex/i/\.(midi?|rmid?)$
|
|
|
|
Include=audio
|
|
|
|
|
|
|
|
shell/i/.wma
|
|
|
|
Include=audio
|
|
|
|
|
|
|
|
include/audio
|
|
|
|
Open=${pkgs.mpv}/bin/mpv %f
|
|
|
|
View=${pkgs.mpv}/bin/mpv %f
|
|
|
|
|
|
|
|
### Video ###
|
|
|
|
|
|
|
|
shell/i/.avi
|
|
|
|
Include=video
|
|
|
|
|
|
|
|
regex/i/\.as[fx]$
|
|
|
|
Include=video
|
|
|
|
|
|
|
|
shell/i/.divx
|
|
|
|
Include=video
|
|
|
|
|
|
|
|
shell/i/.mkv
|
|
|
|
Include=video
|
|
|
|
|
|
|
|
regex/i/\.(mov|qt)$
|
|
|
|
Include=video
|
|
|
|
|
|
|
|
regex/i/\.(mp4|m4v|mpe?g)$
|
|
|
|
Include=video
|
|
|
|
|
|
|
|
# MPEG-2 TS container + H.264 codec
|
|
|
|
shell/i/.mts
|
|
|
|
Include=video
|
|
|
|
|
|
|
|
shell/i/.ts
|
|
|
|
Include=video
|
|
|
|
|
|
|
|
shell/i/.vob
|
|
|
|
Include=video
|
|
|
|
|
|
|
|
shell/i/.wmv
|
|
|
|
Include=video
|
|
|
|
|
|
|
|
regex/i/\.fl[icv]$
|
|
|
|
Include=video
|
|
|
|
|
|
|
|
shell/i/.ogv
|
|
|
|
Include=video
|
|
|
|
|
|
|
|
# WebM
|
|
|
|
shell/i/.webm
|
|
|
|
Include=video
|
|
|
|
|
|
|
|
type/WebM
|
|
|
|
Include=video
|
|
|
|
|
|
|
|
include/video
|
|
|
|
Open=${pkgs.mpv}/bin/mpv %f
|
|
|
|
View=${pkgs.mpv}/bin/mpv %f
|
|
|
|
|
|
|
|
|
|
|
|
### Documents ###
|
|
|
|
|
|
|
|
# PDF
|
|
|
|
shell/i/.pdf
|
|
|
|
Open=zathura %f
|
|
|
|
View=zathura %f
|
|
|
|
|
|
|
|
### Miscellaneous ###
|
|
|
|
|
|
|
|
# Makefile
|
|
|
|
regex/[Mm]akefile$
|
|
|
|
Open=make -f %f %{Enter parameters}
|
|
|
|
|
|
|
|
|
|
|
|
### Plain compressed files ###
|
|
|
|
|
|
|
|
# ace
|
|
|
|
shell/i/.ace
|
|
|
|
Open=%cd %p/uace://
|
|
|
|
Extract=unace x %f
|
|
|
|
|
|
|
|
# arc
|
|
|
|
shell/i/.arc
|
|
|
|
Open=%cd %p/uarc://
|
|
|
|
Extract=arc x %f '*'
|
|
|
|
Extract (with flags)=I=%{Enter any Arc flags:}; if test -n "$I"; then arc x $I %f; fi
|
|
|
|
|
|
|
|
# zip
|
|
|
|
shell/i/.zip
|
|
|
|
Open=%cd %p/uzip://
|
|
|
|
|
|
|
|
# zip
|
|
|
|
type/i/^zip\ archive
|
|
|
|
Open=%cd %p/uzip://
|
|
|
|
|
|
|
|
# jar(zip)
|
|
|
|
type/i/^Java\ Jar\ file\ data\ \(zip\)
|
|
|
|
Open=%cd %p/uzip://
|
|
|
|
|
|
|
|
# zoo
|
|
|
|
shell/i/.zoo
|
|
|
|
Open=%cd %p/uzoo://
|
|
|
|
|
|
|
|
### Default ###
|
|
|
|
|
|
|
|
# Default target for anything not described above
|
|
|
|
default/*
|
|
|
|
Open=vim %f
|
|
|
|
View=vim %f
|
|
|
|
|
|
|
|
'';
|
|
|
|
|
|
|
|
in {
|
|
|
|
environment.systemPackages = [
|
|
|
|
(pkgs.symlinkJoin {
|
|
|
|
name = "mc";
|
|
|
|
paths = [
|
|
|
|
(pkgs.writers.writeDashBin "mc" ''
|
2019-12-20 05:54:26 +01:00
|
|
|
export MC_DATADIR=${
|
2021-09-25 15:17:07 +02:00
|
|
|
pkgs.writers.write "mc-ext" {
|
2019-10-24 02:20:38 +02:00
|
|
|
"/mc.ext".link = mcExt;
|
|
|
|
"/sfs.ini".text = "";
|
2019-12-20 05:54:26 +01:00
|
|
|
}
|
|
|
|
};
|
2019-10-24 02:20:38 +02:00
|
|
|
export TERM=xterm-256color
|
|
|
|
exec ${pkgs.mc}/bin/mc -S xoria256 "$@"
|
|
|
|
'')
|
|
|
|
pkgs.mc
|
|
|
|
];
|
|
|
|
})
|
|
|
|
];
|
|
|
|
}
|
|
|
|
|