aboutsummaryrefslogtreecommitdiff
path: root/modules/terminal/nixos/programs/starship.nix
diff options
context:
space:
mode:
authorCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2025-09-08 14:01:35 -0500
committerCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2025-09-08 14:01:35 -0500
commit7e7c8947fc2ff5598124c4a4c18bd28432fa017e (patch)
tree18ada198e818600e3be4b5412424f71c3149f4cd /modules/terminal/nixos/programs/starship.nix
parent9497b67ef9e6f397ba146cc4c12fec8e9ecae7b2 (diff)
rework most of config; probably broke jupiter again; working to add ganymede (non-nixos) to this repo
Diffstat (limited to 'modules/terminal/nixos/programs/starship.nix')
-rw-r--r--modules/terminal/nixos/programs/starship.nix64
1 files changed, 64 insertions, 0 deletions
diff --git a/modules/terminal/nixos/programs/starship.nix b/modules/terminal/nixos/programs/starship.nix
new file mode 100644
index 0000000..f0134f0
--- /dev/null
+++ b/modules/terminal/nixos/programs/starship.nix
@@ -0,0 +1,64 @@
+{
+ pkgs,
+ lib,
+ config,
+ ...
+}: let
+ cfg = config.collinux.terminal.programs.starship;
+
+ settings = {
+ format = ''$directory$git_branch$git_status $character'';
+
+ add_newline = false;
+ scan_timeout = 10;
+
+ character = {
+ success_symbol = "[λ](green bold)";
+ error_symbol = "[Σ](red bold)";
+ };
+
+ git_branch.format = "[@$branch](underline)";
+
+ git_status = {
+ format = "$modified$staged$ahead$behind";
+ modified = "[!](red bold)";
+ staged = "[+](green bold)";
+ ahead = "[/](green)";
+ behind = "[\](red)";
+ };
+
+ directory = {
+ format = "$path";
+ truncation_length = 3;
+ truncate_to_repo = true;
+ };
+ };
+in
+ lib.mkIf cfg.enable {
+ hjem.users."${config.collinux.user.name}" = {
+ files =
+ {
+ ".config/starship.toml" = {
+ generator = (pkgs.formats.toml {}).generate "starship.toml";
+ value = settings;
+ };
+ }
+ // (lib.optionalAttrs config.collinux.terminal.shells.fish.enable {
+ ".config/fish/conf.d/starship.fish".text = ''
+ function starship_transient_prompt_func
+ starship module character
+ end
+
+ starship init fish | source
+ enable_transience
+ '';
+ })
+ // (lib.optionalAttrs config.collinux.terminal.shells.bash.enable {
+ ".config/bash/conf.d/starship.bash".text = ''
+ eval "$(starship init bash)"
+ '';
+ });
+
+ packages = [pkgs.starship];
+ };
+ }