diff --git a/hosts/PW05CH3L/configuration.nix b/hosts/PW05CH3L/configuration.nix index ef319ec3..79b2cee5 100644 --- a/hosts/PW05CH3L/configuration.nix +++ b/hosts/PW05CH3L/configuration.nix @@ -7,6 +7,7 @@ ../../modules/mixins/docker.nix ../../modules/mixins/fzf.nix ../../modules/mixins/phpactor + ../../modules/mixins/starship.nix ../../modules/mixins/tmux.nix ../common diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 3e75948f..0b233173 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -19,6 +19,7 @@ ../../modules/mixins/phpactor ../../modules/mixins/pipewire.nix ../../modules/mixins/screenkey.nix + ../../modules/mixins/starship.nix ../../modules/mixins/thunar.nix ../../modules/mixins/tmux.nix ../../modules/profiles/dwm diff --git a/modules/home-manager/cli/default.nix b/modules/home-manager/cli/default.nix index d2d9e8bd..72d9b78b 100644 --- a/modules/home-manager/cli/default.nix +++ b/modules/home-manager/cli/default.nix @@ -4,7 +4,6 @@ imports = [ ./bin ./git.nix - ./starship.nix ./zsh ]; } diff --git a/modules/home-manager/cli/starship.nix b/modules/home-manager/cli/starship.nix deleted file mode 100644 index 7c55b8f8..00000000 --- a/modules/home-manager/cli/starship.nix +++ /dev/null @@ -1,175 +0,0 @@ -let - inherit (builtins) concatStringsSep; -in -{ - programs.starship = { - enable = true; - enableZshIntegration = true; - - settings = { - add_newline = false; - - # https://starship.rs/config/#prompt - format = concatStringsSep "" [ - "\n" - "$username" - "$hostname" - "$directory" - "$vcsh" - "$git_branch" - "$git_status" - "$git_metrics" - "$docker_context" - "$nodejs" - "$php" - "$terraform" - "$nix_shell" - "$direnv" - "\${custom.mob}" - "$memory_usage" - "$cmd_duration" - "$lua" - "$status" - "$character" - ]; - - cmd_duration.disabled = true; - direnv.disabled = false; - directory.format = "[$path]($style) "; - git_status.disabled = true; - nix_shell.disabled = true; - nodejs.disabled = true; - php.disabled = true; - username.disabled = true; - - custom = { - mob = { - command = "echo $MOB_TIMER_ROOM"; - format = "[($output)]($style) "; - when = "[[ -v MOB_TIMER_ROOM ]]"; - }; - }; - - # https://starship.rs/presets/plain-text - aws.symbol = "aws "; - azure.symbol = "az "; - bun.symbol = "bun "; - c.symbol = "C "; - character = { - success_symbol = "[>](bold green)"; - error_symbol = "[x](bold red)"; - vimcmd_symbol = "[<](bold green)"; - }; - cobol.symbol = "cobol "; - conda.symbol = "conda "; - crystal.symbol = "cr "; - cmake.symbol = "cmake "; - daml.symbol = "daml "; - dart.symbol = "dart "; - deno.symbol = "deno "; - dotnet.symbol = ".NET "; - directory.read_only = " ro"; - docker_context.symbol = "docker "; - elixir.symbol = "exs "; - elm.symbol = "elm "; - fennel.symbol = "fnl "; - fossil_branch.symbol = "fossil "; - gcloud.symbol = "gcp "; - git_branch.symbol = "git "; - git_commit.tag_symbol = " tag "; - git_status = { - ahead = ">"; - behind = "<"; - diverged = "<>"; - renamed = "r"; - deleted = "x"; - }; - gleam.symbol = "gleam "; - golang.symbol = "go "; - gradle.symbol = "gradle "; - guix_shell.symbol = "guix "; - hg_branch.symbol = "hg "; - java.symbol = "java "; - julia.symbol = "jl "; - kotlin.symbol = "kt "; - lua.symbol = "lua "; - nodejs.symbol = "nodejs "; - memory_usage.symbol = "memory "; - meson.symbol = "meson "; - nats.symbol = "nats "; - nim.symbol = "nim "; - nix_shell.symbol = "nix "; - ocaml.symbol = "ml "; - opa.symbol = "opa "; - os.symbols = { - AIX = "aix "; - Alpaquita = "alq "; - AlmaLinux = "alma "; - Alpine = "alp "; - Amazon = "amz "; - Android = "andr "; - Arch = "rch "; - Artix = "atx "; - CentOS = "cent "; - Debian = "deb "; - DragonFly = "dfbsd "; - Emscripten = "emsc "; - EndeavourOS = "ndev "; - Fedora = "fed "; - FreeBSD = "fbsd "; - Garuda = "garu "; - Gentoo = "gent "; - HardenedBSD = "hbsd "; - Illumos = "lum "; - Kali = "kali "; - Linux = "lnx "; - Mabox = "mbox "; - Macos = "mac "; - Manjaro = "mjo "; - Mariner = "mrn "; - MidnightBSD = "mid "; - Mint = "mint "; - NetBSD = "nbsd "; - NixOS = "nix "; - OpenBSD = "obsd "; - OpenCloudOS = "ocos "; - openEuler = "oeul "; - openSUSE = "osuse "; - OracleLinux = "orac "; - Pop = "pop "; - Raspbian = "rasp "; - Redhat = "rhl "; - RedHatEnterprise = "rhel "; - RockyLinux = "rky "; - Redox = "redox "; - Solus = "sol "; - SUSE = "suse "; - Ubuntu = "ubnt "; - Ultramarine = "ultm "; - Unknown = "unk "; - Void = "void "; - Windows = "win "; - }; - package.symbol = "pkg "; - perl.symbol = "pl "; - php.symbol = "php "; - pijul_channel.symbol = "pijul "; - pulumi.symbol = "pulumi "; - purescript.symbol = "purs "; - python.symbol = "py "; - quarto.symbol = "quarto "; - raku.symbol = "raku "; - ruby.symbol = "rb "; - rust.symbol = "rs "; - scala.symbol = "scala "; - spack.symbol = "spack "; - solidity.symbol = "solidity "; - status.symbol = "[x](bold red) "; - sudo.symbol = "sudo "; - swift.symbol = "swift "; - typst.symbol = "typst "; - terraform.symbol = "terraform "; - zig.symbol = "zig "; - }; - }; -} diff --git a/modules/mixins/starship.nix b/modules/mixins/starship.nix new file mode 100644 index 00000000..19debae3 --- /dev/null +++ b/modules/mixins/starship.nix @@ -0,0 +1,176 @@ +{ + home-manager.users.opdavies.programs.starship = + let + inherit (builtins) concatStringsSep; + in + { + enable = true; + enableZshIntegration = true; + + settings = { + add_newline = false; + + # https://starship.rs/config/#prompt + format = concatStringsSep "" [ + "\n" + "$username" + "$hostname" + "$directory" + "$vcsh" + "$git_branch" + "$git_status" + "$git_metrics" + "$docker_context" + "$nodejs" + "$php" + "$terraform" + "$nix_shell" + "$direnv" + "\${custom.mob}" + "$memory_usage" + "$cmd_duration" + "$lua" + "$status" + "$character" + ]; + + cmd_duration.disabled = true; + direnv.disabled = false; + directory.format = "[$path]($style) "; + git_status.disabled = true; + nix_shell.disabled = true; + nodejs.disabled = true; + php.disabled = true; + username.disabled = true; + + custom = { + mob = { + command = "echo $MOB_TIMER_ROOM"; + format = "[($output)]($style) "; + when = "[[ -v MOB_TIMER_ROOM ]]"; + }; + }; + + # https://starship.rs/presets/plain-text + aws.symbol = "aws "; + azure.symbol = "az "; + bun.symbol = "bun "; + c.symbol = "C "; + character = { + success_symbol = "[>](bold green)"; + error_symbol = "[x](bold red)"; + vimcmd_symbol = "[<](bold green)"; + }; + cobol.symbol = "cobol "; + conda.symbol = "conda "; + crystal.symbol = "cr "; + cmake.symbol = "cmake "; + daml.symbol = "daml "; + dart.symbol = "dart "; + deno.symbol = "deno "; + dotnet.symbol = ".NET "; + directory.read_only = " ro"; + docker_context.symbol = "docker "; + elixir.symbol = "exs "; + elm.symbol = "elm "; + fennel.symbol = "fnl "; + fossil_branch.symbol = "fossil "; + gcloud.symbol = "gcp "; + git_branch.symbol = "git "; + git_commit.tag_symbol = " tag "; + git_status = { + ahead = ">"; + behind = "<"; + diverged = "<>"; + renamed = "r"; + deleted = "x"; + }; + gleam.symbol = "gleam "; + golang.symbol = "go "; + gradle.symbol = "gradle "; + guix_shell.symbol = "guix "; + hg_branch.symbol = "hg "; + java.symbol = "java "; + julia.symbol = "jl "; + kotlin.symbol = "kt "; + lua.symbol = "lua "; + nodejs.symbol = "nodejs "; + memory_usage.symbol = "memory "; + meson.symbol = "meson "; + nats.symbol = "nats "; + nim.symbol = "nim "; + nix_shell.symbol = "nix "; + ocaml.symbol = "ml "; + opa.symbol = "opa "; + os.symbols = { + AIX = "aix "; + Alpaquita = "alq "; + AlmaLinux = "alma "; + Alpine = "alp "; + Amazon = "amz "; + Android = "andr "; + Arch = "rch "; + Artix = "atx "; + CentOS = "cent "; + Debian = "deb "; + DragonFly = "dfbsd "; + Emscripten = "emsc "; + EndeavourOS = "ndev "; + Fedora = "fed "; + FreeBSD = "fbsd "; + Garuda = "garu "; + Gentoo = "gent "; + HardenedBSD = "hbsd "; + Illumos = "lum "; + Kali = "kali "; + Linux = "lnx "; + Mabox = "mbox "; + Macos = "mac "; + Manjaro = "mjo "; + Mariner = "mrn "; + MidnightBSD = "mid "; + Mint = "mint "; + NetBSD = "nbsd "; + NixOS = "nix "; + OpenBSD = "obsd "; + OpenCloudOS = "ocos "; + openEuler = "oeul "; + openSUSE = "osuse "; + OracleLinux = "orac "; + Pop = "pop "; + Raspbian = "rasp "; + Redhat = "rhl "; + RedHatEnterprise = "rhel "; + RockyLinux = "rky "; + Redox = "redox "; + Solus = "sol "; + SUSE = "suse "; + Ubuntu = "ubnt "; + Ultramarine = "ultm "; + Unknown = "unk "; + Void = "void "; + Windows = "win "; + }; + package.symbol = "pkg "; + perl.symbol = "pl "; + php.symbol = "php "; + pijul_channel.symbol = "pijul "; + pulumi.symbol = "pulumi "; + purescript.symbol = "purs "; + python.symbol = "py "; + quarto.symbol = "quarto "; + raku.symbol = "raku "; + ruby.symbol = "rb "; + rust.symbol = "rs "; + scala.symbol = "scala "; + spack.symbol = "spack "; + solidity.symbol = "solidity "; + status.symbol = "[x](bold red) "; + sudo.symbol = "sudo "; + swift.symbol = "swift "; + typst.symbol = "typst "; + terraform.symbol = "terraform "; + zig.symbol = "zig "; + }; + }; +}