nixos-config/users/simon/modules/programs.nix
Simon Bruder 347f2a0183
programs: Use picard from unstable
The stable version is missing the qtwayland input and therefore only
supports xcb.
2023-08-06 13:16:35 +02:00

184 lines
5.2 KiB
Nix

{ lib, nixosConfig, pkgs, ... }:
let
waifu2x-photo-models = pkgs.stdenvNoCC.mkDerivation {
name = "waifu2x-photo-models";
src = pkgs.fetchFromGitHub {
owner = "nagadomi";
repo = "waifu2x";
rev = "v0.13.2";
sha256 = "1dqyp1gvw53gs3a1mfylxhj2kghwb3gx1ybsynzbanq84vx6grs2";
};
dontBuild = true;
installPhase = ''
cp -r $src/models/vgg_7/photo $out
'';
meta.license = lib.licenses.mit;
};
# waifu2x-converter-cpp wrapper for real life images
waifu2x-photo = pkgs.writeShellScriptBin "waifu2x-photo" ''
${pkgs.waifu2x-converter-cpp}/bin/waifu2x-converter-cpp \
--model-dir ${waifu2x-photo-models} \
$@
'';
in
{
home.packages = with pkgs; [
# batch processing/automation
parallel # parallel batch processing
yq # sed for yaml
# unix tools on steroids
du-dust # intuitive du
fd # better find
# file tools
aria # multithreaded http/ftp/bittorrent download manager
hexyl # user friendly hex file viewer
hyperfine # cli benchmarking
mktorrent # bittorrent seed file generator
rclone # rsync for cloud storage
tokei # fast cloc
xdelta # binary diff
# file format tools
imagemagick # image conversion
(p7zip.override { enableUnfree = nixosConfig.sbruder.unfree.allowSoftware; }) # 7z cli (with optional rar support)
pdftk # pdf multitool
# network tools
dnsutils # dig
miniserve # small http server
sshfs # mount remote host
vnstat # client for vnstatd
whois # whois client
# system tools
libva-utils # vainfo
# clients
libnotify # notify-send
# function eye candy
pv # monitor progress in pipe
# end user programs
apacheHttpd # for htpasswd
libqalculate # flexible calculator for humans
# passwords
mkpasswd # crypt frontend
pwgen # password generator
xkcdpass # memorable password generator
# misc
bwrap-helper # helper to create bubblewrap containers
dynamic-colors # on-the-fly color scheme switching
python3Packages.ipython # better python repl (useful for one-liners)
toilet # free figlet
# nix tools
nixpkgs-fmt # format nix expressions
nixpkgs-review # review nixpkgs pull request
## media
# audio and video
ffmpeg-full # A/V multitool
mediainfo # show information about media files
streamlink # video stream downloader
waifu2x-converter-cpp # super-resolution for anime-style images
waifu2x-photo # waifu2x-converter-cpp for real life photos
# audio
cyanrip # cd ripper
flac # flac encoder
opusTools # opus encoder
shntool # split audio with cue
sidplayfp # SID chiptune player
sox # “Swiss Army knife of audio manipulation”
# images
exiftool # manipulate EXIF meta data
jpegoptim # lossless jpeg optimiser
libwebp # tools for webp image format
oxipng # lossless png optimiser
# documents
mupdf # document (pdf) viewer and tools
poppler_utils # pdf manipulation tools
] ++ lib.optionals (!nixosConfig.sbruder.gui.enable) [
mkvtoolnix-cli # matroska (de-)muxing
] ++ lib.optionals nixosConfig.sbruder.gui.enable [
# communication
linphone # sip softphone
mumble # VoIP group chat
# creative/design
openscad # parametric/procedural 3d modelling
inkscape # vector graphics editor
# audio and video
mkvtoolnix # matroska (de-)muxing with gui
wf-recorder # wlroots screen recorder
# documents
calibre # ebook library
# office
aspellDicts.de
aspellDicts.en
gnucash # bookkeeping
hunspellDicts.de-de
hunspellDicts.en-gb-ise # dictionary
libreoffice # office suite
libsForQt5.pim-sieve-editor # sieve editor
xournalpp # notebook
# tools
filezilla # ftp client
gparted # gui for parted
qalculate-gtk # flexible calculator
qrencode # qr code generator
remmina # remote desktop client
scrcpy # stream/control android phones over adb
v4l-utils # video4linux configuration
xfce.thunar # graphical file manager
zbar # barcode scanner
] ++ lib.optionals (nixosConfig.sbruder.full) [
# tools
gdb # debugger (for coredumpctl debug)
gdrive # cli downloader for google drive
(ripgrep-all.overrideAttrs (o: { tesseract = tesseract.override { enableLanguages = [ "deu" "eng" ]; }; })) # ripgrep for complex (binary) files
# audio and video
libbluray # includes command line tools
] ++ lib.optionals (nixosConfig.sbruder.gui.enable && nixosConfig.sbruder.full) [
# communication
firefox-esr # a bad browser
ungoogled-chromium # for most webrtc applications and for cross-browser testing
# creative/design
blender # 3d animation
darktable # raw image processor
gimp-with-plugins # bitmap image editor
# audio
audacity # audio editor
unstable.picard # musicbrainz tagger
# office
gnome.evince # pdf viewer
jameica # application framework (used for hibiscus online banking)
pdfarranger # pdf multitool
rnote # notebook
] ++ lib.optionals (nixosConfig.sbruder.gui.enable && !nixosConfig.sbruder.full) [
# creative/design
gimp # without plugins
] ++ lib.optionals (nixosConfig.sbruder.gui.enable && nixosConfig.virtualisation.libvirtd.enable) [
virt-manager
];
}