{ pkgs, ownLib }:

with pkgs; [
  nix
  cacert
  nvd

  # System tools
  dmenu
  gnome.gnome-screenshot
  libnotify # Provide notify-send command

  networkmanager_dmenu
  i3blocks
  st
  ncdu
  tree
  rst2pdf

  borgbackup
  keepassxc
  # Git itself is installed via git module
  git-crypt

  rclone

  # Dev tools
  litecli
  sqlite
  mycli
  mkcert # TODO: Create own wrapper script to create new certs
  tig
  universal-ctags
  ripgrep
  curl
  wget
  # Can be installed ad-hock, I don't need it that often.
  # kcachegrind
  # Should be part of shell.nix for corresponding projects
  # geckodriver

  podman-compose
  # Dependencies of podman-compose
  podman

  # In order to pull binaries from their.
  # E.g. phps: https://github.com/fossar/nix-phps#how-to-use
  cachix

  # Coding / Neovim
  # Does not provide any autocompletion yet, don't know why
  # Use in conjuncion with https://github.com/autozimu/LanguageClient-neovim
  # rnix-lsp

  # Communication
  thunderbird
  chromium

  # Media
  vlc
  # gtkpod
  feh
  # I don't need it that often, can install ad-hoc
  # handbrake
  # python311Packages.mutagen
  # spotdl
  # tenacity
  # Typical download looks like: yt-dlp -S 'res:700,ext:mp4' <url>
  # Output file name can be improved: -o 'Staffel-04/S04E%(video_autonumber+9)2.0d - %(fulltitle)s.%(ext)s'
  yt-dlp
  # Start Google Chrome: NIXPKGS_ALLOW_UNFREE=1 nix-shell -p google-chrome --run google-chrome-stable
  ffmpeg-full # full in order to grab x11
  # Recording system audio while keeping audio quite:
  # ffmpeg -f pulse -i default output.mp3
  # Change recording from output to monitor: https://askubuntu.com/questions/682144/capturing-only-desktop-audio-with-ffmpeg/682793#682793
  # Split large file into chunks (https://unix.stackexchange.com/questions/1670/how-can-i-use-ffmpeg-to-split-mpeg-video-into-10-minute-chunks):
  # ffmpeg -i output.mp3 -c copy -map 0 -segment_time 00:15:00 -f segment output%03d.mp3
  # Combine multiple files: https://trac.ffmpeg.org/wiki/Concatenate
  # Record audio and video on ubuntu: ffmpeg -f pulse -i alsa_output.pci-0000_00_1f.3.analog-stereo.monitor -f x11grab -y -framerate 30 -s 1280x720 -i :0.0 -c:v libx264 -preset superfast -crf 18 output.mkv
  # Find list of audio on ubuntu: pactl list | grep -A2 'Source #' | grep 'Name: '

  unzip

  gtk-engine-murrine
] ++ (if ownLib.onHikari {} then [
  # hikari

  acpilight # Used to support xbacklight

  (callPackage ./packages/custom/update-nixos-system { })
  # Needs to be installed by ubuntu on ubuntu, therefore only add on hikari
  sound-juicer

] else [
  # hikari 2

  (callPackage ./packages/custom/update-ubuntu-system { })
  # TODO: Right now only for Ubuntu (hikari2) system
  (callPackage ./packages/custom/backup { })
  (callPackage ./packages/custom/vpn-reuter-dynamics { })
]) ++ (callPackage ./packages/custom {
  inherit ownLib;
})
