nixos-config/common/config/packages.nix

82 lines
1.6 KiB
Nix

{ config, pkgs, ... }:
let
vscodium-extensions = with pkgs.vscode-extensions;
[
# Global dev tools (ghc, hlint, cargo) will not be
# installed by default; they must be managed
# per-package using nix-shell
# Git extensions
pinage404.git-extension-pack
# Haskell extensions
haskell.haskell
justusadam.language-haskell
hoovercj.haskell-linter
# Nix extensions
pinage404.nix-extension-pack
# Rust extensions
matklad.rust-analyzer
wcrichton.flowistry
tamasfe.even-better-toml
swellaby.vscode-rust-test-adapter
# Other
hbenl.vscode-test-explorer
ms-python.python
ms-toolsai.jupyter
];
vscodium-with-extensions = pkgs.vscode-with-extensions.override {
vscode = pkgs.vscodium;
vscodeExtensions = vscodium-extensions;
};
# nix-direnv with flake support
nix-direnv-with-flakes = pkgs.nix-direnv.override { enableFlakes = true; };
in {
environment.systemPackages = with pkgs; [
vscodium-with-extensions
ffmpeg
jq
git
wget
libnotify
ripgrep
unzip
tldr
pandoc
pamixer
playerctl
screenfetch
gcc
wob
grim
slurp
imv
direnv
nix-direnv-with-flakes
];
programs.sway.enable = true;
programs.sway.extraPackages = [];
# Necessary for VSCodium to store passwords
services.gnome.gnome-keyring.enable = true;
# direnv setup
nix.extraOptions = ''
keep-derivations = true
keep-outputs = true
'';
environment.pathsToLink = [ "/share/nix-direnv" ];
}