{ config, lib, pkgs, inputs, ... }: with pkgs; let emacs-vterm = ((emacsPackagesFor emacsPgtkGcc).emacsWithPackages (epkgs: [ epkgs.vterm ])); patched-webtorrent-cli = nodePackages.webtorrent-cli.override { buildInputs = [ pkgs.nodePackages.node-gyp-build ]; preRebuild = '' sed -i -e "s|#!/usr/bin/env node|#! ${pkgs.nodejs}/bin/node|" node_modules/node-gyp-build/bin.js ''; }; isync-oauth2 = isync.overrideAttrs (div: rec { buildInputs = [ openssl patched-cyrus-sasl-oauth2 zlib ]; }); in { environment.systemPackages = [ # Monitoring htop acpi # Password management gnupg pass-wayland passff-host gitAndTools.pass-git-helper inputs.agenix.defaultPackage.x86_64-linux git-crypt # Browsers firefox ungoogled-chromium # LaTeX texlive.combined.scheme-full pandoc texlab # Text editors neovim emacs-vterm (ripgrep.override { withPCRE2 = true; }) fd clang coreutils # Terminals tmux tmuxp fish # Development git direnv nix-direnv podman-compose gnumake gitAndTools.pre-commit # Rice adapta-gtk-theme paper-icon-theme # Audio mopidy ncmpcpp mpc_cli pulsemixer # Productivity fff zathura libreoffice-fresh gnome3.simple-scan bc citrix_workspace # Mail stack neomutt isync-oauth2 notmuch msmtp w3m urlscan # Media gimp mpv patched-webtorrent-cli deluge youtube-dl-light calibre beets # File management zip unzip unar cifs-utils keyutils # Overlays cachix # Videoconference teams # Networking openvpn openconnect-sso # Programming tools ## Shell shellcheck shfmt ## Nix nixfmt ## Python nodePackages.pyright black ## C/C++ clang-tools ## Go gopls gotests gore golangci-lint ]; # Fonts declaration fonts.fonts = with pkgs; [ google-fonts inconsolata-nerdfont terminus_font_ttf iosevka-bin libertine emacs-all-the-icons-fonts ]; }