feat: sccache for rust

This commit is contained in:
winston 2024-08-26 01:00:17 +02:00
parent 9043f51758
commit 6b77e122a8
Signed by: winston
GPG key ID: 3786770EDBC2B481
8 changed files with 94 additions and 49 deletions

View file

@ -11,7 +11,6 @@
./gtk.nix
./hyprland.nix
./kitty.nix
./kubernetes.nix
./mail.nix
./media.nix
./neovim.nix

View file

@ -1,46 +0,0 @@
{ config, pkgs, ... }:
{
home.packages = with pkgs; [
(wrapHelm kubernetes-helm { plugins = [ kubernetes-helmPlugins.helm-diff ]; })
cmctl
dyff
gojq
jqp
konf
kubecolor
kubeconform
kubectl
kubectl-view-secret
kubectx
kubepug
kubeseal
minikube
minio-client
popeye
pv-migrate
velero
];
programs.zsh.initExtra = ''
# kubecolor
compdef kubecolor=kubectl
# konf
source <(konf-go shellwrapper zsh)
source <(konf completion zsh)
# ignore if konf store hasn't been initialized
konf set - >/dev/null 2>&1
'';
home.shellAliases = {
jq = "gojq";
kcn = "konf ns";
kcuc = "konf set";
kubectl = "kubecolor";
};
home.sessionVariables = {
KREW_ROOT = "${config.xdg.dataHome}/krew";
KUBECACHEDIR = "${config.xdg.cacheHome}/kube";
MINIKUBE_HOME = "${config.xdg.dataHome}/minikube";
};
}

View file

@ -1,6 +1,5 @@
{
config,
flakePath,
lib,
pkgs,
...
@ -11,6 +10,7 @@ in
{
imports = [
./apps
./langs
./secrets
./xdg.nix
];

6
home/langs/default.nix Normal file
View file

@ -0,0 +1,6 @@
{
imports = [
./kubernetes.nix
./rust.nix
];
}

48
home/langs/kubernetes.nix Normal file
View file

@ -0,0 +1,48 @@
{ config, pkgs, ... }:
{
programs.zsh.initExtra = ''
# kubecolor
compdef kubecolor=kubectl
# konf
source <(konf-go shellwrapper zsh)
source <(konf completion zsh)
# ignore if konf store hasn't been initialized
konf set - >/dev/null 2>&1
'';
home = {
packages = with pkgs; [
(wrapHelm kubernetes-helm { plugins = [ kubernetes-helmPlugins.helm-diff ]; })
cmctl
dyff
gojq
jqp
konf
kubecolor
kubeconform
kubectl
kubectl-view-secret
kubectx
kubepug
kubeseal
minikube
minio-client
popeye
pv-migrate
velero
];
sessionVariables = {
KREW_ROOT = "${config.xdg.dataHome}/krew";
KUBECACHEDIR = "${config.xdg.cacheHome}/kube";
MINIKUBE_HOME = "${config.xdg.dataHome}/minikube";
};
shellAliases = {
jq = "gojq";
kcn = "konf ns";
kcuc = "konf set";
kubectl = "kubecolor";
};
};
}

30
home/langs/rust.nix Normal file
View file

@ -0,0 +1,30 @@
{ lib, pkgs, ... }:
{
home = {
packages = with pkgs; [ sccache ];
sessionVariables = {
RUSTC_WRAPPER = lib.getExe pkgs.sccache;
SCCACHE_BUCKET = "sccache";
SCCACHE_ENDPOINT = "https://s3.winston.sh/";
SCCACHE_REGION = "eu-central-1";
};
};
programs = {
nushell.extraConfig = # nu
''
let mc_credentials = try { ^mc alias ls main --json | from json }
if ($mc_credentials | get -i accessKey | is-not-empty) {
$env.AWS_ACCESS_KEY_ID = $mc_credentials.accessKey
$env.AWS_SECRET_ACCESS_KEY = $mc_credentials.secretKey
}
'';
zsh.envExtra = # bash
''
export AWS_ACCESS_KEY_ID=$(mc alias ls main --json | ${lib.getExe pkgs.gojq} -r '.accessKey')
export AWS_SECRET_ACCESS_KEY=$(mc alias ls main --json | ${lib.getExe pkgs.gojq} -r '.secretKey')
'';
};
}

View file

@ -34,6 +34,7 @@ in
GRADLE_USER_HOME = "${dataHome}/gradle";
HISTFILE = "${stateHome}/bash/history";
IPYTHONDIR = "${configHome}/ipython";
MC_CONFIG_DIR = "${configHome}/mc";
NODE_REPL_HISTORY = "${dataHome}/node_repl_history";
NPM_CONFIG_USERCONFIG = "${configHome}/npm/npmrc";
RUSTUP_HOME = "${dataHome}/rustup";

View file

@ -12,7 +12,14 @@
system.stateVersion = 4;
security.pam.enableSudoTouchIdAuth = true;
system.defaults.alf.stealthenabled = 1;
system.defaults = {
alf.stealthenabled = 1;
NSGlobalDomain = {
ApplePressAndHoldEnabled = false;
AppleInterfaceStyleSwitchesAutomatically = true;
KeyRepeat = 2;
};
};
# Auto upgrade nix package and the daemon service.
services.nix-daemon.enable = true;