panacea/modules/software.nix

123 lines
2.0 KiB
Nix

{ config, lib, pkgs, inputs, ... }:
with pkgs;
let
emacs-vterm = ((emacsPackagesNgGen 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
'';
};
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
alsa-firmware
pulsemixer
# Productivity
fff
zathura
libreoffice-fresh
gnome3.simple-scan
bc
citrix_workspace
# Mail stack
neomutt
isync
notmuch
msmtp
w3m
urlscan
# Media
gimp
mpv
patched-webtorrent-cli
deluge
youtube-dl-light
calibre
beets
# File management
zip
unzip
unar
# 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
];
}