2024-04-10 16:51:28 +02:00
|
|
|
{ pkgs, config, lib, ... }:
|
|
|
|
let
|
2024-03-24 16:59:47 +01:00
|
|
|
cfg = config.grimmShared;
|
2024-04-10 16:51:28 +02:00
|
|
|
in
|
|
|
|
{
|
2024-03-24 16:59:47 +01:00
|
|
|
config = with cfg; lib.mkIf (enable && tooling.enable) {
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
(writeShellScriptBin "silent-add" "git add --intent-to-add $@ ; git update-index --assume-unchanged $@")
|
|
|
|
(writeShellScriptBin "systemd-owner" "systemctl show -pUser,UID $@")
|
|
|
|
(writeShellScriptBin "nix-referrers" "nix-store --query --referrers $@")
|
2024-04-10 16:51:28 +02:00
|
|
|
nixpkgs-fmt
|
2024-03-24 16:59:47 +01:00
|
|
|
gcc
|
|
|
|
jdk17
|
|
|
|
python3
|
|
|
|
pkg-config
|
2024-04-10 16:51:28 +02:00
|
|
|
|
2024-03-24 16:59:47 +01:00
|
|
|
tea
|
|
|
|
acpi
|
|
|
|
|
|
|
|
fbcat
|
|
|
|
gomuks
|
|
|
|
gotop
|
|
|
|
ranger
|
|
|
|
nix-search-cli
|
|
|
|
|
|
|
|
wget
|
|
|
|
tree
|
|
|
|
file
|
|
|
|
util-linux
|
|
|
|
visualvm
|
|
|
|
ffmpeg-full
|
|
|
|
lm_sensors
|
|
|
|
imagemagick
|
|
|
|
nmap
|
2024-04-10 16:51:28 +02:00
|
|
|
|
2024-03-24 16:59:47 +01:00
|
|
|
hyfetch
|
|
|
|
acpi
|
|
|
|
lshw
|
|
|
|
pciutils
|
|
|
|
usbutils
|
|
|
|
powertop
|
|
|
|
parted
|
2024-04-01 12:04:43 +02:00
|
|
|
glib
|
2024-04-13 19:16:33 +02:00
|
|
|
glibc
|
2024-03-24 16:59:47 +01:00
|
|
|
] ++ lib.optionals cfg.graphical [
|
|
|
|
qdirstat
|
|
|
|
libva-utils
|
|
|
|
glxinfo
|
|
|
|
alacritty
|
|
|
|
vulkan-tools
|
|
|
|
pdfarranger
|
|
|
|
nomacs
|
|
|
|
gparted
|
|
|
|
];
|
|
|
|
|
|
|
|
programs.git = {
|
|
|
|
enable = true;
|
|
|
|
lfs.enable = true;
|
|
|
|
config = {
|
|
|
|
init.defaultBranch = "main";
|
|
|
|
credential.username = cfg.tooling.git_user;
|
2024-04-11 23:12:08 +02:00
|
|
|
core.editor = lib.getExe pkgs.neovim;
|
2024-03-24 16:59:47 +01:00
|
|
|
user.name = cfg.tooling.git_user;
|
|
|
|
user.email = cfg.tooling.git_email;
|
|
|
|
};
|
|
|
|
};
|
2024-04-10 16:51:28 +02:00
|
|
|
|
2024-03-24 16:59:47 +01:00
|
|
|
programs.tmux = {
|
|
|
|
enable = true;
|
|
|
|
historyLimit = 42000;
|
|
|
|
#keyMode = "vi";
|
|
|
|
};
|
2024-04-10 16:51:28 +02:00
|
|
|
|
2024-03-24 16:59:47 +01:00
|
|
|
virtualisation.docker.enable = true;
|
2024-04-10 16:51:28 +02:00
|
|
|
|
|
|
|
|
2024-03-24 16:59:47 +01:00
|
|
|
programs.neovim = {
|
|
|
|
enable = true;
|
|
|
|
viAlias = true;
|
|
|
|
defaultEditor = true;
|
|
|
|
configure = {
|
2024-04-10 16:51:28 +02:00
|
|
|
customRC = ''
|
|
|
|
set number
|
|
|
|
set hidden
|
|
|
|
set fileencodings=utf-8
|
|
|
|
set nocompatible
|
|
|
|
set clipboard+=unnamedplus
|
|
|
|
if filereadable($HOME . "/.vimrc")
|
|
|
|
source ~/.vimrc
|
|
|
|
endif
|
|
|
|
'';
|
2024-03-24 16:59:47 +01:00
|
|
|
packages.myVimPackage = with pkgs.vimPlugins; {
|
|
|
|
# loaded on launch
|
2024-04-10 16:51:28 +02:00
|
|
|
start = [
|
2024-03-24 16:59:47 +01:00
|
|
|
vim-nix
|
|
|
|
vim-scala
|
|
|
|
fugitive
|
|
|
|
];
|
2024-04-10 16:51:28 +02:00
|
|
|
|
2024-03-24 16:59:47 +01:00
|
|
|
# manually loadable by calling `:packadd $plugin-name`
|
|
|
|
opt = [ ];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2024-03-31 16:07:15 +02:00
|
|
|
programs.xonsh = {
|
|
|
|
enable = true;
|
|
|
|
package = pkgs.xonsh.override {
|
2024-04-10 16:51:28 +02:00
|
|
|
extraPackages = ps: with ps; [
|
2024-03-31 16:07:15 +02:00
|
|
|
requests
|
|
|
|
matplotlib
|
|
|
|
numpy
|
|
|
|
scipy
|
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
2024-03-24 16:59:47 +01:00
|
|
|
programs.ssh.startAgent = true;
|
|
|
|
programs.thefuck.enable = true;
|
|
|
|
};
|
|
|
|
}
|