diff --git a/nix/nix-lab/helm/helmfile.yaml b/nix/nix-lab/helm/helmfile.yaml index dbd031e8..d93a879f 100644 --- a/nix/nix-lab/helm/helmfile.yaml +++ b/nix/nix-lab/helm/helmfile.yaml @@ -3,6 +3,8 @@ repositories: url: https://charts.longhorn.io - name: kyverno url: https://kyverno.github.io/kyverno + - name: metallb + url: https://metallb.github.io/metallb --- releases: # Distributed storage @@ -15,3 +17,8 @@ releases: namespace: kyverno chart: kyverno/kyverno version: 3.2.7 + - name: metallb + namespace: metallb-system + chart: metallb/metallb + version: 0.14.5 + diff --git a/shell.nix b/shell.nix index cf7ccd7c..fb5a27d9 100644 --- a/shell.nix +++ b/shell.nix @@ -1,9 +1,62 @@ -# Install git, sops, Docker, bash, +# Install core packages, configure toolkits +let + nixpkgs = fetchTarball "https://github.com/NixOS/nixpkgs/tarball/nixos-24.05"; + pkgs = import nixpkgs { config = {}; overlays = []; }; +in + + pkgs.mkShellNoCC { + packages = with pkgs; [ + ssh git sops docker + vim + tree btop + bat fd eza fzf + ssh-to-age + ]; + shellHook = '' + # Configure env + USER="joey" + HOSTNAME="dungeon-master" + NAME="Joey Hafner" + EMAIL="joey@jafner.net" + + # Configure SSH. Expects existing key at ~/.ssh/$USER@$HOSTNAME.key + SSH_KEY="~/.ssh/$USER@$HOSTNAME.key" + SSH_PUBKEY="~/.ssh/$USER@$HOSTNAME.pub" + alias ssh="ssh -i $SSH_KEY" + + # Configure Git + # global + git config core.sshcommand "ssh -i $SSH_KEY" + git config user.name "$NAME" + git config user.email "$EMAIL" + git config user.signingkey "$SSH_PUBKEY" + git config init.defaultbranch "main" + git config gpg.format "ssh" + git config commit.gpgsign "true" + git config credential.helper "manager" + git config core.pager "delta" + git config delta.side-by-side "true" + git config interactive.difffilter "delta --color-only" + + # repo + git config core.repositoryformatversion "0" + git config core.filemode "true" + git config core.bare "false" + git config core.logallrefupdates "true" + git config remote.origin.url "ssh://git@gitea.jafner.tools:2225/Jafner/Jafner.net.git" + git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*" + git config branch.main.remote "origin" + git config branch.main.merge "refs/heads/main" + git config submodule.sites/Jafner.dev/themes/hello-friend-ng.active "true" + git config submodule.sites/Jafner.dev/themes/hello-friend-ng.url "https://github.com/rhazdon/hugo-theme-hello-friend-ng.git" + + # Configure sops + ssh-2-age -p -i $SSH_KEY $HOME/.age/key + git config filter.sops.smudge '.sops/decrypt-filter.sh %f' + git config filter.sops.clean '.sops/encrypt-filter.sh %f' + git config filter.sops.required "true" + + ''; + +}; -{ pkgs ? import {} }: pkgs.mkShell { - packages = with pkgs; [ - git sops docker - tree btop - bat fd eza fzf - ]; -} \ No newline at end of file