add tooling
This commit is contained in:
parent
9ec27bed57
commit
83e777828f
2 changed files with 129 additions and 0 deletions
17
default.nix
17
default.nix
|
@ -29,6 +29,22 @@ in {
|
|||
default = false;
|
||||
description = "Enables network manager, wifi and bluetooth";
|
||||
};
|
||||
|
||||
options.tooling = {
|
||||
enable = mkEnableOption "grimm-tooling";
|
||||
|
||||
git_user = mkOption {
|
||||
type = types.str;
|
||||
default = "Grimmauld";
|
||||
description = "Username for git to use";
|
||||
};
|
||||
|
||||
git_email = mkOption {
|
||||
type = types.str;
|
||||
default = "${config.grimmShared.tooling.git_user}@grimmauld.de";
|
||||
description = "Email for git to use";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
imports = [
|
||||
|
@ -36,5 +52,6 @@ in {
|
|||
./modules/printing.nix
|
||||
./modules/portals.nix
|
||||
./modules/networking.nix
|
||||
./modules/toolchains.nix
|
||||
];
|
||||
}
|
||||
|
|
112
modules/toolchains.nix
Normal file
112
modules/toolchains.nix
Normal file
|
@ -0,0 +1,112 @@
|
|||
{ pkgs, config, lib, ... }: let
|
||||
cfg = config.grimmShared;
|
||||
in {
|
||||
config = with cfg; lib.mkIf (enable && tooling.enable) {
|
||||
invironment.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
|
||||
gcc
|
||||
jdk17
|
||||
python3
|
||||
pkg-config
|
||||
|
||||
pinentry
|
||||
pass
|
||||
libsecret
|
||||
tea
|
||||
acpi
|
||||
(writeShellScriptBin "passw" "pass $@")
|
||||
|
||||
fbcat
|
||||
gomuks
|
||||
gotop
|
||||
ranger
|
||||
nix-search-cli
|
||||
|
||||
wget
|
||||
tree
|
||||
file
|
||||
util-linux
|
||||
gnupg
|
||||
visualvm
|
||||
ffmpeg-full
|
||||
lm_sensors
|
||||
imagemagick
|
||||
pypy3
|
||||
|
||||
hyfetch
|
||||
qdirstat
|
||||
acpi
|
||||
lshw
|
||||
pciutils
|
||||
usbutils
|
||||
powertop
|
||||
];
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
lfs.enable = true;
|
||||
config = {
|
||||
init.defaultBranch = "main";
|
||||
credential.username = git_user;
|
||||
core.editor = "${pkgs.neovim}/bin/nvim";
|
||||
user.name = cfg.tooling.git_user;
|
||||
user.email = cfg.tooling.git_email;
|
||||
};
|
||||
};
|
||||
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
historyLimit = 42000;
|
||||
#keyMode = "vi";
|
||||
};
|
||||
|
||||
virtualisation.docker.enable = true;
|
||||
|
||||
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
viAlias = true;
|
||||
defaultEditor = true;
|
||||
configure = {
|
||||
customRC = ''
|
||||
set number
|
||||
set hidden
|
||||
set fileencodings=utf-8
|
||||
set nocompatible
|
||||
set clipboard+=unnamedplus
|
||||
if filereadable($HOME . "/.vimrc")
|
||||
source ~/.vimrc
|
||||
endif
|
||||
'';
|
||||
packages.myVimPackage = with pkgs.vimPlugins; {
|
||||
# loaded on launch
|
||||
start = [
|
||||
vim-nix
|
||||
vim-scala
|
||||
fugitive
|
||||
];
|
||||
|
||||
# manually loadable by calling `:packadd $plugin-name`
|
||||
opt = [ ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.passSecretService.enable = true;
|
||||
services.pcscd.enable = true;
|
||||
programs.xonsh.enable = true;
|
||||
programs.ssh.startAgent = true;
|
||||
programs.thefuck.enable = true;
|
||||
programs.gnupg.agent = {
|
||||
settings = {
|
||||
# default-cache-ttl = 6000;
|
||||
};
|
||||
pinentryPackage = pkgs.pinentry;
|
||||
enable = true;
|
||||
# enableSSHSupport = true;
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue