grimm-nixos-laptop/modules/toolchains.nix

111 lines
2.5 KiB
Nix
Raw Normal View History

2024-02-02 12:59:59 +01:00
{config, pkgs, ...}: let
git_user = "Grimmauld";
in {
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 $@")
mkpasswd
cargo
gcc
rustc
rustfmt
rust-analyzer
jdk17
2024-03-05 19:06:58 +01:00
python3
pkg-config
2024-03-04 17:28:45 +01:00
pinentry
pass
2024-03-05 12:08:49 +01:00
libsecret
2024-03-04 17:28:45 +01:00
tea
(writeShellScriptBin "passw" "pass $@")
# nodejs_21 # ugh.... somehow nvim needs node now?!?
2024-02-02 12:59:59 +01:00
];
programs.git = {
enable = true;
lfs.enable = true;
config = {
init.defaultBranch = "main";
credential.username = git_user;
core.editor = "${pkgs.neovim}/bin/nvim";
user.name = git_user;
user.email = "${git_user}@grimmauld.de";
};
};
programs.tmux = {
enable = true;
historyLimit = 42000;
#keyMode = "vi";
};
2024-02-14 22:40:13 +01:00
virtualisation.docker.enable = true;
2024-02-02 12:59:59 +01:00
programs.neovim = {
enable = true;
viAlias = true;
defaultEditor = true;
configure = {
customRC = ''
set number
set hidden
2024-02-14 22:40:13 +01:00
set fileencodings=utf-8
2024-02-02 12:59:59 +01:00
set nocompatible
set clipboard+=unnamedplus
if filereadable($HOME . "/.vimrc")
source ~/.vimrc
endif
'';
2024-02-02 12:59:59 +01:00
packages.myVimPackage = with pkgs.vimPlugins; {
# loaded on launch
start = [
vim-nix
vim-scala
fugitive
nvim-lspconfig
# autoclose-nvim
# coc-nvim
# mason-nvim
# mason-lspconfig-nvim
# coc-rust-analyzer
2024-03-02 23:15:51 +01:00
# rust-tools-nvim
vim-vsnip
cmp-path
cmp-nvim-lsp-signature-help
cmp-nvim-lua
cmp-buffer
cmp-vsnip
nvim-dap
nvim-treesitter-parsers.rust
nvim-treesitter-parsers.lua
nvim-treesitter-parsers.toml
nvim-treesitter-parsers.c
nvim-treesitter-parsers.vimdoc
nvim-treesitter
vimspector
snippets-nvim
];
2024-02-02 12:59:59 +01:00
# manually loadable by calling `:packadd $plugin-name`
opt = [ ];
};
};
};
2024-03-05 12:08:49 +01:00
services.passSecretService.enable = true;
2024-03-04 17:28:45 +01:00
services.pcscd.enable = true;
2024-02-02 12:59:59 +01:00
programs.xonsh.enable = true;
2024-03-04 11:48:01 +01:00
programs.ssh.startAgent = true;
2024-03-05 12:08:49 +01:00
programs.gnupg.agent = {
settings = {
default-cache-ttl = 6000;
};
2024-03-04 17:28:45 +01:00
pinentryFlavor = "tty";
enable = true;
2024-03-05 12:08:49 +01:00
# enableSSHSupport = true;
2024-03-04 17:28:45 +01:00
};
2024-02-02 12:59:59 +01:00
}