203 lines
5.8 KiB
Nix
203 lines
5.8 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.unstable.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
|
|
curlie # better httpie (easier curl)
|
|
exa # better ls
|
|
fd # better find
|
|
ripgrep # better grep
|
|
|
|
# file tools
|
|
aria # multithreaded http/ftp/bittorrent download manager
|
|
fdupes # find duplicate files
|
|
hexyl # user friendly hex file viewer
|
|
hyperfine # cli benchmarking
|
|
megatools # cli for mega.nz
|
|
minio-client # client for s3 compatible storage systems
|
|
mktorrent # bittorrent seed file generator
|
|
ntfs3g # ntfs filesystem driver
|
|
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
|
|
sqlite-interactive # cli for sqlite databses
|
|
|
|
# network tools
|
|
dnsutils # dig
|
|
unstable.dogdns # better dig
|
|
gatling # high performance web server
|
|
sshfs # mount remote host
|
|
vnstat # client for vnstatd
|
|
whois # whois client
|
|
zmap # scanner for large address spaces
|
|
|
|
# system tools
|
|
libva-utils # vainfo
|
|
|
|
# clients
|
|
drone-cli # client for drone ci
|
|
hcloud # cli for Hetzner Cloud
|
|
libnotify # notify-send
|
|
|
|
# function eye candy
|
|
pv # monitor progress in pipe
|
|
|
|
# end user programs
|
|
apacheHttpd # for htpasswd
|
|
unstable.libqalculate # flexible calculator for humans
|
|
taskwarrior # todo list manager
|
|
|
|
# passwords
|
|
pwgen
|
|
pwgen-secure # password generator
|
|
xkcdpass # memorable password generator
|
|
|
|
# misc
|
|
toilet # free figlet
|
|
python38Packages.ipython # better python repl (useful for one-liners)
|
|
bwrap-helper # helper to create bubblewrap containers
|
|
|
|
# vim
|
|
neovim-remote # controlling another neovim process
|
|
universal-ctags # ctags
|
|
|
|
# git
|
|
gitAndTools.delta # nicer diff
|
|
gitAndTools.git-annex
|
|
gitAndTools.git-annex-remote-rclone # git for non source files
|
|
gitAndTools.pre-commit # pre-commit hook for git
|
|
|
|
# nix tools
|
|
niv # depdendency manager
|
|
nix-diff # diff for nix derivations
|
|
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
|
|
mkvtoolnix-cli # matroska (de-)muxing
|
|
unstable.streamlink # video stream downloader
|
|
unstable.waifu2x-converter-cpp # super-resolution for anime-style images
|
|
waifu2x-photo # waifu2x-converter-cpp for real life photos
|
|
|
|
# audio
|
|
abcde # cd ripper
|
|
flac # flac 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
|
|
optipng # lossless png optimiser
|
|
pngcrush
|
|
pngquant # lossy png optimisers
|
|
|
|
# documents
|
|
mupdf # document (pdf) viewer and tools
|
|
poppler_utils # pdf manipulation tools
|
|
] ++ lib.optionals nixosConfig.sbruder.gui.enable [
|
|
# communication
|
|
claws-mail # email client that looks ugly but just works
|
|
firefox-esr # the least bad browser
|
|
((mumble.override { pulseSupport = true; }).overrideAttrs (o: o // {
|
|
patches = o.patches ++ [
|
|
# TODO: remove patch once stable release supports this
|
|
(pkgs.fetchpatch {
|
|
url = "https://github.com/mumble-voip/mumble/commit/03dbea56f650bba4f1aa0c54d02b6e8c3639d04f.patch";
|
|
sha256 = "1l7q2lxdkmykmqrvl5ga81vahs666yxiqsavx682kj1mh95pk3s4";
|
|
})
|
|
];
|
|
})) # VoIP group chat
|
|
|
|
# creative/design
|
|
openscad # parametric/procedural 3d modelling
|
|
inkscape # vector graphics editor
|
|
|
|
# audio and video
|
|
wf-recorder # wlroots screen recorder
|
|
|
|
# documents
|
|
calibre # ebook library
|
|
|
|
# office
|
|
aspellDicts.de
|
|
aspellDicts.en
|
|
hunspellDicts.de-de
|
|
hunspellDicts.en-gb-ise # dictionary
|
|
gscan2pdf # scanning tool
|
|
libreoffice # office suite
|
|
xournalpp # notebook
|
|
xsane # scanning tool
|
|
|
|
# tools
|
|
antimicroX # gamepad to keyboard/mouse mapping
|
|
filezilla # ftp client
|
|
gparted # gui for parted
|
|
unstable.qalculate-gtk # flexible calculator
|
|
scrcpy # stream/control android phones over adb
|
|
wev # wayland event monitor
|
|
wl-clipboard # not really gui, but cli tool to manage wayland clipboard
|
|
wxhexeditor # hex editor
|
|
xfce.thunar # graphical file manager
|
|
] ++ lib.optionals (nixosConfig.sbruder.gui.enable && nixosConfig.sbruder.full) [
|
|
# communication
|
|
ungoogled-chromium # useful for exporting pages as pdf
|
|
|
|
# creative/design
|
|
blender # 3d animation
|
|
darktable # photo development
|
|
gimp-with-plugins # bitmap image editor
|
|
krita # drawing
|
|
|
|
# audio
|
|
audacity # audio editor
|
|
picard # musicbrainz tagger
|
|
|
|
# office
|
|
jameica # application framework (used for hibiscus online banking)
|
|
pdfarranger # pdf multitool
|
|
] ++ lib.optionals (nixosConfig.sbruder.gui.enable && !nixosConfig.sbruder.full) [
|
|
# creative/design
|
|
gimp # without plugins
|
|
];
|
|
}
|