From 6b77e122a82e2af2137b637a675139bc75af6843 Mon Sep 17 00:00:00 2001 From: winston Date: Mon, 26 Aug 2024 01:00:17 +0200 Subject: [PATCH] feat: sccache for rust --- home/apps/default.nix | 1 - home/apps/kubernetes.nix | 46 ---------------------------- home/default.nix | 2 +- home/langs/default.nix | 6 ++++ home/langs/kubernetes.nix | 48 ++++++++++++++++++++++++++++++ home/langs/rust.nix | 30 +++++++++++++++++++ home/xdg.nix | 1 + machines/common/darwin/default.nix | 9 +++++- 8 files changed, 94 insertions(+), 49 deletions(-) delete mode 100644 home/apps/kubernetes.nix create mode 100644 home/langs/default.nix create mode 100644 home/langs/kubernetes.nix create mode 100644 home/langs/rust.nix diff --git a/home/apps/default.nix b/home/apps/default.nix index c5f1f45..d3d43e6 100644 --- a/home/apps/default.nix +++ b/home/apps/default.nix @@ -11,7 +11,6 @@ ./gtk.nix ./hyprland.nix ./kitty.nix - ./kubernetes.nix ./mail.nix ./media.nix ./neovim.nix diff --git a/home/apps/kubernetes.nix b/home/apps/kubernetes.nix deleted file mode 100644 index 608a762..0000000 --- a/home/apps/kubernetes.nix +++ /dev/null @@ -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"; - }; -} diff --git a/home/default.nix b/home/default.nix index c792e5f..ce027d8 100644 --- a/home/default.nix +++ b/home/default.nix @@ -1,6 +1,5 @@ { config, - flakePath, lib, pkgs, ... @@ -11,6 +10,7 @@ in { imports = [ ./apps + ./langs ./secrets ./xdg.nix ]; diff --git a/home/langs/default.nix b/home/langs/default.nix new file mode 100644 index 0000000..5d861a9 --- /dev/null +++ b/home/langs/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./kubernetes.nix + ./rust.nix + ]; +} diff --git a/home/langs/kubernetes.nix b/home/langs/kubernetes.nix new file mode 100644 index 0000000..9caffc5 --- /dev/null +++ b/home/langs/kubernetes.nix @@ -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"; + }; + }; +} diff --git a/home/langs/rust.nix b/home/langs/rust.nix new file mode 100644 index 0000000..8087f1c --- /dev/null +++ b/home/langs/rust.nix @@ -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') + ''; + }; + +} diff --git a/home/xdg.nix b/home/xdg.nix index caddf0b..cab803a 100644 --- a/home/xdg.nix +++ b/home/xdg.nix @@ -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"; diff --git a/machines/common/darwin/default.nix b/machines/common/darwin/default.nix index c14aae9..ab15261 100644 --- a/machines/common/darwin/default.nix +++ b/machines/common/darwin/default.nix @@ -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;