Kiana Sheibani
920c2802b8
They finally added emacs 29 support to nixpkgs, so I don't have to do this weird hack anymore...
56 lines
1,013 B
Nix
56 lines
1,013 B
Nix
{ config, pkgs, nixpkgs, ... }:
|
|
let
|
|
# nix-direnv with flake support
|
|
nix-direnv-with-flakes = pkgs.nix-direnv.override { enableFlakes = true; };
|
|
|
|
emacs29 = pkgs.emacs29.override {
|
|
withPgtk = true;
|
|
withWebP = true;
|
|
withSQLite3 = true;
|
|
};
|
|
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" ];
|
|
}
|