The Complete Computing Environment

Applications I Use

LifeTechEmacsTopicsArcology
{ config, pkgs, ... }:

let mkNixGLWrapper = pkgs.lib.mkNixGLWrapper;
in 
{
  programs.htop = {
    enable = true;
    settings = {
      enable_mouse = true;
      hide_threads = true;
      highlight_base_name = true;
    };
  };

  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 = "${pkgs.cantata}/share/applications/cantata.desktop";
  home.file.".config/autostart/signal-desktop.desktop".source = "${pkgs.signal-desktop}/share/applications/signal-desktop.desktop";
  home.file.".config/autostart/discord.desktop".source = "${pkgs.discord}/share/applications/discord.desktop";
  home.file.".config/autostart/element-desktop.desktop".source = "${pkgs.element-desktop}/share/applications/element-desktop.desktop";

  home.packages = [
    pkgs.ktorrent
    (mkNixGLWrapper {
      name = "calibre";
      pkg = (pkgs.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"; })
    (mkNixGLWrapper { name="discord"; })
    (mkNixGLWrapper { name="signal-desktop"; })
    # (mkNixGLWrapper { name="tdesktop"; }) # telegram-desktop
    (pkgs.neochat.overrideAttrs(old: old // {
      src = pkgs.fetchgit {
        url = "https://invent.kde.org/network/neochat.git";
        rev = "v22.09";
        sha256 = "sha256-PISDY+vxtDk/OemM+IcTv9r4Yr3AQd4makXSL61lngg=";
      };
    }))

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

    pkgs.cataclysm-dda

    pkgs.virt-manager
    pkgs.libvirt
    pkgs.zbar

    pkgs.plasma5Packages.qttools

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

    pkgs.plasma5Packages.kteatime

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

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

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

    pkgs.heroku

    pkgs.graphviz

    # calibre de-drm plugin for kobo
    # (pkgs.stdenv.mkDerivation {
    #   name = "calibre_obok_dedrm";
    #   src = pkgs.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;
    #       ${pkgs.python3}/bin/python3 make_release.py Python3
    #     '';
    # })
    pkgs.zip
    pkgs.unzip
    pkgs.bind.dnsutils

    pkgs.cmark-gfm
  ];
}

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
  ]);
}

NEXT calibre de-drm plugin module

NEXT steam and games