complete-computing-environment/applications_i_use.org

5.3 KiB

Applications I Use

{ config, pkgs, ... }:

with pkgs;
let mkNixGLWrapper = lib.mkNixGLWrapper;
in 
{
  programs.htop = {
    enable = true;
    settings = {
      enable_mouse = true;
      hide_threads = true;
      highlight_base_name = true;
      hide_kernel_threads = 1;
      hide_userland_threads = 1;

      column_meters_0 = "LeftCPUs2 Blank Memory Swap PressureStallCPUSome PressureStallIOSome PressureStallMemorySome";
      column_meter_modes_0 = "1 2 1 1 2 2 2";
      column_meters_1 = "RightCPUs2 Blank Tasks LoadAverage Uptime Systemd DiskIO NetworkIO";
      column_meter_modes_1 = "1 2 2 2 2 2 2 2";
    };
  };

  programs.mpv.enable = true;
  programs.mpv.package = mkNixGLWrapper { name="mpv"; };

  programs.chromium.enable = true;

  xdg.mimeApps.enable = true;
  xdg.mimeApps.defaultApplications = {
    "x-scheme-handler/signalcaptcha" = ["signal-desktop.desktop"];
    "x-scheme-handler/element" = ["element-desktop.desktop"];
    "x-scheme-handler/sgnl" = ["signal-desktop.desktop"];
  };

  home.file.".config/autostart/cantata.desktop".source = "${cantata}/share/applications/cantata.desktop";
  home.file.".config/autostart/signal-desktop.desktop".source = "${signal-desktop}/share/applications/signal-desktop.desktop";
  home.file.".config/autostart/discord.desktop" = {
    enable= false;
    source = "${discord}/share/applications/discord.desktop";
  };
  home.file.".config/autostart/element-desktop.desktop" = {
    enable = false;
    source = "${element-desktop}/share/applications/element-desktop.desktop";
  };

  home.file.".config/autostart/yakuake.desktop".source = "${yakuake}/share/applications/org.kde.yakuake.desktop";

  home.packages = [
    ktorrent
    (mkNixGLWrapper {
      name = "calibre";
      pkg = (calibre.override { unrarSupport = true; });
    })
    (mkNixGLWrapper { name="gimp"; })
    (mkNixGLWrapper { name="obs-studio"; })
    (mkNixGLWrapper { name="kdenlive"; })
    (mkNixGLWrapper { name="digikam"; })
    (mkNixGLWrapper { name="simplescreenrecorder"; })

    (mkNixGLWrapper { name="xournal"; })
    (mkNixGLWrapper { name="xournalpp"; })

    (mkNixGLWrapper { name="element-desktop"; })
    # https://github.com/NixOS/nixpkgs/pull/272270 🫡
    # (mkNixGLWrapper { name="schildichat-desktop"; })
    (mkNixGLWrapper { name="neochat"; })
    (mkNixGLWrapper { name="discord"; })
    (mkNixGLWrapper { name="signal-desktop"; })
    # (mkNixGLWrapper { name="tdesktop"; }) # telegram-desktop

    pavucontrol
    (mkNixGLWrapper { name="vlc"; })
    youtube-dl
    transmission-remote-gtk

    cataclysm-dda
    (mkNixGLWrapper { name="moonlight-qt"; })
    # (mkNixGLWrapper { name="runelite"; })
    # (mkNixGLWrapper { name="ryujinx"; })
    # (mkNixGLWrapper { name="yuzu-mainline"; })

    virt-manager
    libvirt
    zbar

    plasma5Packages.qttools

    plasma5Packages.kontact
    plasma5Packages.kaccounts-integration
    plasma5Packages.akonadi
    plasma5Packages.akonadiconsole
    plasma5Packages.kdepim-runtime
    plasma5Packages.kdepim-addons
    yakuake
    okteta

    plasma5Packages.kteatime

    (mkNixGLWrapper { name="endless-sky"; })
    crawlTiles

    (mkNixGLWrapper { name="zoom-us"; })

    (mkNixGLWrapper { name="stellarium"; })
    kstars

    heroku

    graphviz

    # calibre de-drm plugin for kobo
    # (stdenv.mkDerivation {
    #   name = "calibre_obok_dedrm";
    #   src = fetchFromGitHub {
    #     # https://github.com/lalmeras/DeDRM_tools/blob/Python3/make_release.py
    #     owner = "lalmeras";
    #     repo = "DeDRM_tools";
    #     rev = "07591ff9421d53d0af1683c6100e538b93b17494";
    #     sha256 = "1m8pia77bqgk3ghkp9nd6zkki71vl29wmdkkziwqw95a8mrfl0js";
    #   };
    #   installPhase = ''
    #       export SOURCE_DATE_EPOCH=315532800;
    #       ${python3}/bin/python3 make_release.py Python3
    #     '';
    # })
  ] ++ [
    zip
    unzip
    bind.dnsutils

    cmark-gfm

    file
  ];
}

Note the use of my NixGL wrapper function mkNixGLWrapper.

Some of the things I need are setuid root or otherwise need to be installed in to My NixOS configuration via Arroyo Nixos

I only install these on my laptops.

{ pkgs, ... }:
{
  networking.firewall.allowedTCPPorts = [ 8080 ];

  services.avahi.enable = true;

  programs.adb.enable = true;
  programs.browserpass.enable = true;
  programs.chromium.enable = true;
  programs.command-not-found.enable = true;
  programs.less.enable = true;
  programs.mtr.enable = true;
  programs.wireshark.enable = true;
  services.flatpak.enable = true;
  programs.steam.enable = true;
  programs.kdeconnect.enable = true;

  environment.systemPackages = (with pkgs; [
    vim # haha! yes!
    home-manager
  ])
  ++ (with pkgs; [
    jq
    zip
    unzip
    pv
    tree
  ]);
}

NEXT calibre de-drm plugin module

NEXT steam and games