{ 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 curlie # better httpie (easier curl) du-dust # intuitive du 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 qrencode # qr code 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 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 libqalculate # flexible calculator for humans snownews # tui rss reader taskell # tui kanban board # passwords mkpasswd # crypt frontend pwgen pwgen-secure # password generator xkcdpass # memorable password generator # misc bwrap-helper # helper to create bubblewrap containers dynamic-colors # on-the-fly color scheme switching python38Packages.ipython # better python repl (useful for one-liners) toilet # free figlet # 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 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 deemix # deeezer downloader 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 gallery-dl # image gallery downloader jpegoptim # lossless jpeg optimiser libwebp # tools for webp image format oxipng # 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 # a 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 = "1zmqb8gl2cp0mcw85x9wn5rjw2mih7d2x96jxxqabjcx1kvgyhh3"; }) ]; })) # VoIP group chat # creative/design openscad # parametric/procedural 3d modelling inkscape # vector graphics editor # audio and video libbluray # includes command line tools wf-recorder # wlroots screen recorder # documents calibre # ebook library # office aspellDicts.de aspellDicts.en gnome.evince # pdf viewer hunspellDicts.de-de hunspellDicts.en-gb-ise # dictionary libreoffice # office suite xournalpp # notebook xsane # scanning tool # tools antimicroX # gamepad to keyboard/mouse mapping filezilla # ftp client gparted # gui for parted qalculate-gtk # flexible calculator remmina # remote desktop client scrcpy # stream/control android phones over adb wev # wayland event monitor wl-clipboard # not really gui, but cli tool to manage wayland clipboard 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 gimp-with-plugins # bitmap image editor # audio audacity # audio editor picard # musicbrainz tagger # office jameica # application framework (used for hibiscus online banking) pdfarranger # pdf multitool textidote # LaTeX document linter ] ++ 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 ]; }