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
|
2024-02-29 10:23:21 +01:00
|
|
|
cargo
|
|
|
|
gcc
|
|
|
|
rustc
|
|
|
|
rustfmt
|
|
|
|
rust-analyzer
|
|
|
|
jdk17
|
|
|
|
pkg-config
|
2024-03-04 17:28:45 +01:00
|
|
|
|
|
|
|
pinentry
|
|
|
|
pass
|
2024-03-05 12:08:49 +01:00
|
|
|
libsecret
|
|
|
|
(python311.withPackages ( python-pkgs: [
|
|
|
|
# python311Packages.keyring
|
|
|
|
# python311Packages.keyring-pass
|
|
|
|
]))
|
2024-03-04 17:28:45 +01:00
|
|
|
tea
|
|
|
|
(writeShellScriptBin "passw" "pass $@")
|
2024-02-29 10:23:21 +01:00
|
|
|
# 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
|
2024-02-29 10:23:21 +01:00
|
|
|
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
|
2024-02-29 10:23:21 +01:00
|
|
|
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
|
2024-02-29 10:23:21 +01:00
|
|
|
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
|
|
|
}
|