From 976e2c2f6cbf2fd4b7ef95fec840c33a3d281e28 Mon Sep 17 00:00:00 2001 From: Sean Buckley Date: Mon, 11 Oct 2021 13:08:18 -0400 Subject: [PATCH] move powerline to module --- modules/cli/default.nix | 16 ++++------------ modules/cli/powerline.nix | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 12 deletions(-) create mode 100644 modules/cli/powerline.nix diff --git a/modules/cli/default.nix b/modules/cli/default.nix index 5804f2b..c08a81b 100644 --- a/modules/cli/default.nix +++ b/modules/cli/default.nix @@ -1,17 +1,14 @@ { config, pkgs, lib, ... }: let - powerlineOpts = [ - "-colorize-hostname" - "-cwd-mode=plain" - "-modules=user,host,cwd,nix-shell,git,jobs" - "-git-assume-unchanged-size 0" - "-jobs $(jobs -p | wc -l)" - ]; system-rev = toString config.system.nixos.revision; in { + imports = [ ./powerline.nix ]; + + sconfig.powerline.enable = lib.mkDefault true; + environment.systemPackages = with pkgs; [ darkhttpd dnsutils @@ -102,11 +99,6 @@ in alias p=python3 alias catc='${pkgs.vimpager-latest}/bin/vimpager --force-passthrough' alias nix-env="echo nix-env is disabled #" - - function _update_ps1() { - PS1="\n$(${pkgs.powerline-go}/bin/powerline-go ${lib.concatStringsSep " " powerlineOpts})$ " - } - [ "$TERM" = "linux" ] || PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND" ''; programs.neovim = { diff --git a/modules/cli/powerline.nix b/modules/cli/powerline.nix new file mode 100644 index 0000000..49465f6 --- /dev/null +++ b/modules/cli/powerline.nix @@ -0,0 +1,36 @@ +{ config, pkgs, lib, ... }: +let + cfg = config.sconfig.powerline; +in +{ + options.sconfig.powerline = + { + enable = lib.mkOption { + type = lib.types.bool; + default = true; + }; + args = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ + "-colorize-hostname" + "-cwd-mode=plain" + "-modules=user,host,cwd,nix-shell,git,jobs" + "-git-assume-unchanged-size 0" + "-jobs $(jobs -p | wc -l)" + ]; + }; + }; + + config = lib.mkIf cfg.enable { + + environment.systemPackages = [ pkgs.powerline-go ]; + + programs.bash.interactiveShellInit = '' + function _update_ps1() { + PS1="\n$(powerline-go ${lib.concatStringsSep " " cfg.args})$ " + } + [ "$TERM" = "linux" ] || PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND" + ''; + + }; +}