From 9881e6d35e2b91cb9d42f1cc82c4665d05a606b4 Mon Sep 17 00:00:00 2001 From: Stefan Ellmauthaler Date: Thu, 26 May 2022 20:48:51 +0200 Subject: [PATCH] Add zsh completion options, Add base config for sops --- flake.nix | 1 + machines/stel-xps/default.nix | 5 +++++ modules/secrets/default.nix | 12 +++++++++++ {secrets => modules/secrets}/secrets.yaml | 0 modules/zsh.nix | 25 ++++++++++++++++++++++- secrets/default.nix | 4 ---- 6 files changed, 42 insertions(+), 5 deletions(-) create mode 100644 modules/secrets/default.nix rename {secrets => modules/secrets}/secrets.yaml (100%) delete mode 100644 secrets/default.nix diff --git a/flake.nix b/flake.nix index c605c9b..a4388df 100644 --- a/flake.nix +++ b/flake.nix @@ -85,6 +85,7 @@ channelName = "nixpkgs"; modules = [ inputs.home-manager.nixosModules.home-manager + inputs.sops-nix.nixosModules.sops inputs.dwarffs.nixosModules.dwarffs ] ++ (map (name: ./modules + "/${name}") (moduleNames ./modules)); specialArgs = { diff --git a/machines/stel-xps/default.nix b/machines/stel-xps/default.nix index 34fa395..f5c8a83 100644 --- a/machines/stel-xps/default.nix +++ b/machines/stel-xps/default.nix @@ -20,6 +20,11 @@ enable = true; dpi = 180; }; + + # enable sops + sops = { + enable = true; + }; # user setup users = { diff --git a/modules/secrets/default.nix b/modules/secrets/default.nix new file mode 100644 index 0000000..9bfac45 --- /dev/null +++ b/modules/secrets/default.nix @@ -0,0 +1,12 @@ +{ config, pkgs, lib, ... }: +with lib; { + options.elss.sops.enable = mkEnableOption "Use sops config"; + + config = + let + cfg = config.elss.sops; + in + mkIf cfg.enable { + sops.defaultSopsFile = ./secrets.yaml; + }; +} diff --git a/secrets/secrets.yaml b/modules/secrets/secrets.yaml similarity index 100% rename from secrets/secrets.yaml rename to modules/secrets/secrets.yaml diff --git a/modules/zsh.nix b/modules/zsh.nix index 8405a29..97fcc31 100644 --- a/modules/zsh.nix +++ b/modules/zsh.nix @@ -4,8 +4,9 @@ with lib; { config = let inherit (elss.withConfig config) mapAllUsers; + cfg = config.elss.zsh; in - mkIf config.elss.zsh.enable { + mkIf cfg.enable { environment = { shells = [ pkgs.zsh ]; pathsToLink = [ "/share/zsh/" ]; @@ -32,6 +33,28 @@ with lib; { #styles = { cursor = "standout,underline"; }; }; setOptions = [ "auto_pushd" "correct" "nocaseglob" "rcexpandparam" "numericglobsort" "nobeep" "appendhistory" ]; + + shellInit = '' + if [[ $TERM == "dumb" ]]; then + INSIDE_EMACS=1 + fi; + ''; + + interactiveShellInit = '' + source ${pkgs.zsh-nix-shell}/share/zsh-nix-shell/nix-shell.plugin.zsh + + zstyle -e ':completion:*:approximate:*' max-errors 'reply=( $(( ($#PREFIX + $#SUFFIX) / 3 )) )' + zstyle ':completion:*:descriptions' format "- %d -" + zstyle ':completion:*:corrections' format "- %d - (errors %e})" + zstyle ':completion:*:default' list-prompt '%S%M matches%s' + zstyle ':completion:*:manuals' separate-sections true + zstyle ':completion:*:manuals.(^1*)' insert-sections true + zstyle ':completion:*' menu select + zstyle ':completion:*' verbose yes + zstyle ':completion:*' squeeze-slashes true + zstyle ':completion:*:*:kill:*' menu yes select + zstyle ':completion:*:kill:*' force-list always + ''; }; }; diff --git a/secrets/default.nix b/secrets/default.nix deleted file mode 100644 index fc4d166..0000000 --- a/secrets/default.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ config, pkgs, ... }: -{ - sops.defaultSopsFile = ./secrets.yaml; -}