nixos-config/config/packages.nix

70 lines
1.5 KiB
Nix

{ config, pkgs, nixpkgs, ... }:
let
# nix-direnv with flake support
nix-direnv-with-flakes = pkgs.nix-direnv.override { enableFlakes = true; };
emacs29 = pkgs.callPackage (import "${nixpkgs}/pkgs/applications/editors/emacs/generic.nix" {
version = "29.0.90";
sha256 = "sha256-5aR+9EZF9Md2nb4n3xktFR5j8cZto7mZaYUXZpQbvNI=";
}) {
withPgtk = true;
withWebP = true;
withSQLite3 = true;
# Copied from nixpkgs
libXaw = pkgs.xorg.libXaw;
gconf = null;
alsa-lib = null;
acl = null;
gpm = null;
inherit (pkgs.darwin.apple_sdk.frameworks)
AppKit Carbon Cocoa IOKit OSAKit Quartz QuartzCore WebKit
ImageCaptureCore GSS ImageIO;
inherit (pkgs.darwin) sigtool;
};
in {
environment.systemPackages = with pkgs; [
ffmpeg
jq
git
wget
libnotify
ripgrep
unzip
tldr
pamixer
brightnessctl
playerctl
pandoc
gnuplot
graphviz
(aspellWithDicts (ps: with ps; [ en en-computers en-science ]))
gcc
direnv
nix-direnv-with-flakes
];
programs.fish.enable = true;
programs.sway.enable = true;
programs.sway.extraPackages = [];
# Necessary for VSCodium to store passwords
services.gnome.gnome-keyring.enable = true;
services.emacs.enable = true;
services.emacs.package = emacs29;
# direnv setup
nix.extraOptions = ''
keep-derivations = true
keep-outputs = true
'';
environment.pathsToLink = [ "/share/nix-direnv" ];
}