aboutsummaryrefslogtreecommitdiff
path: root/modules/terminal/system/programs/starship.nix
diff options
context:
space:
mode:
authorCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2025-06-09 17:40:46 +0000
committerCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2025-06-09 17:40:46 +0000
commita45c4551712c1ba5cb82eaf290f311ab0e8690e4 (patch)
treef62b23489fb31f8ea58fef77f99619efd784eb36 /modules/terminal/system/programs/starship.nix
big changes
Diffstat (limited to 'modules/terminal/system/programs/starship.nix')
-rw-r--r--modules/terminal/system/programs/starship.nix48
1 files changed, 48 insertions, 0 deletions
diff --git a/modules/terminal/system/programs/starship.nix b/modules/terminal/system/programs/starship.nix
new file mode 100644
index 0000000..60fcc00
--- /dev/null
+++ b/modules/terminal/system/programs/starship.nix
@@ -0,0 +1,48 @@
+{
+ pkgs,
+ lib,
+ config,
+ ...
+}: let
+ cfg = config.collinux.terminal.programs.starship;
+ toml' = pkgs.formats.toml {};
+
+ settings = toml'.generate "starship.toml" {
+ 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".source = settings;
+ };
+
+ packages = [
+ pkgs.starship
+ ];
+ };
+ }