refactor(starship): move config to own module
Should make evaluation faster.
This commit is contained in:
parent
176fcae9c3
commit
52ce2a852a
4 changed files with 185 additions and 182 deletions
|
@ -17,6 +17,7 @@ in
|
||||||
./options.nix
|
./options.nix
|
||||||
./dev.nix
|
./dev.nix
|
||||||
./gui.nix
|
./gui.nix
|
||||||
|
./starship.nix
|
||||||
./styling.nix
|
./styling.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -34,33 +35,7 @@ in
|
||||||
pkgs.unzip
|
pkgs.unzip
|
||||||
];
|
];
|
||||||
|
|
||||||
programs = {
|
programs.fish.enable = true;
|
||||||
# Default shell
|
|
||||||
fish.enable = true;
|
|
||||||
# Shell prompt
|
|
||||||
starship = {
|
|
||||||
enable = true;
|
|
||||||
settings = lib.mkMerge [
|
|
||||||
{
|
|
||||||
format = "$time$all";
|
|
||||||
add_newline = false;
|
|
||||||
cmd_duration.min_time = 500;
|
|
||||||
cmd_duration.show_milliseconds = true;
|
|
||||||
time.disabled = false;
|
|
||||||
status = {
|
|
||||||
format = "[$signal_name$common_meaning$maybe_int](red)";
|
|
||||||
symbol = "[✗](bold red)";
|
|
||||||
disabled = false;
|
|
||||||
};
|
|
||||||
sudo.disabled = false;
|
|
||||||
}
|
|
||||||
# Add nerdfont symbols
|
|
||||||
(lib.mkIf cfg.styling.enable (import ./starship-nerdfont-symbols.nix))
|
|
||||||
# Remove the `in`s and `on`s from the prompt
|
|
||||||
(import ./starship-shorter-text.nix)
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.etc = keysFromGithub;
|
environment.etc = keysFromGithub;
|
||||||
services = {
|
services = {
|
||||||
|
|
|
@ -1,89 +0,0 @@
|
||||||
{
|
|
||||||
aws.symbol = " ";
|
|
||||||
buf.symbol = " ";
|
|
||||||
c.symbol = " ";
|
|
||||||
conda.symbol = " ";
|
|
||||||
crystal.symbol = " ";
|
|
||||||
dart.symbol = " ";
|
|
||||||
directory.read_only = " ";
|
|
||||||
docker_context.symbol = " ";
|
|
||||||
elixir.symbol = " ";
|
|
||||||
elm.symbol = " ";
|
|
||||||
fennel.symbol = " ";
|
|
||||||
fossil_branch.symbol = " ";
|
|
||||||
git_branch.symbol = " ";
|
|
||||||
git_commit.tag_symbol = " ";
|
|
||||||
golang.symbol = " ";
|
|
||||||
gradle.symbol = " ";
|
|
||||||
guix_shell.symbol = " ";
|
|
||||||
haskell.symbol = " ";
|
|
||||||
haxe.symbol = " ";
|
|
||||||
hg_branch.symbol = " ";
|
|
||||||
hostname.ssh_symbol = " ";
|
|
||||||
java.symbol = " ";
|
|
||||||
julia.symbol = " ";
|
|
||||||
kotlin.symbol = " ";
|
|
||||||
lua.symbol = " ";
|
|
||||||
memory_usage.symbol = " ";
|
|
||||||
meson.symbol = " ";
|
|
||||||
nim.symbol = " ";
|
|
||||||
nix_shell.symbol = " ";
|
|
||||||
nodejs.symbol = " ";
|
|
||||||
ocaml.symbol = " ";
|
|
||||||
package.symbol = " ";
|
|
||||||
perl.symbol = " ";
|
|
||||||
php.symbol = " ";
|
|
||||||
pijul_channel.symbol = " ";
|
|
||||||
python.symbol = " ";
|
|
||||||
rlang.symbol = " ";
|
|
||||||
ruby.symbol = " ";
|
|
||||||
rust.symbol = " ";
|
|
||||||
scala.symbol = " ";
|
|
||||||
swift.symbol = " ";
|
|
||||||
zig.symbol = " ";
|
|
||||||
os.symbols = {
|
|
||||||
Alpaquita = " ";
|
|
||||||
Alpine = " ";
|
|
||||||
AlmaLinux = " ";
|
|
||||||
Amazon = " ";
|
|
||||||
Android = " ";
|
|
||||||
Arch = " ";
|
|
||||||
Artix = " ";
|
|
||||||
CentOS = " ";
|
|
||||||
Debian = " ";
|
|
||||||
DragonFly = " ";
|
|
||||||
Emscripten = " ";
|
|
||||||
EndeavourOS = " ";
|
|
||||||
Fedora = " ";
|
|
||||||
FreeBSD = " ";
|
|
||||||
Garuda = " ";
|
|
||||||
Gentoo = " ";
|
|
||||||
HardenedBSD = " ";
|
|
||||||
Illumos = " ";
|
|
||||||
Kali = " ";
|
|
||||||
Linux = " ";
|
|
||||||
Mabox = " ";
|
|
||||||
Macos = " ";
|
|
||||||
Manjaro = " ";
|
|
||||||
Mariner = " ";
|
|
||||||
MidnightBSD = " ";
|
|
||||||
Mint = " ";
|
|
||||||
NetBSD = " ";
|
|
||||||
NixOS = " ";
|
|
||||||
OpenBSD = " ";
|
|
||||||
openSUSE = " ";
|
|
||||||
OracleLinux = " ";
|
|
||||||
Pop = " ";
|
|
||||||
Raspbian = " ";
|
|
||||||
Redhat = " ";
|
|
||||||
RedHatEnterprise = " ";
|
|
||||||
RockyLinux = " ";
|
|
||||||
Redox = " ";
|
|
||||||
Solus = " ";
|
|
||||||
SUSE = " ";
|
|
||||||
Ubuntu = " ";
|
|
||||||
Unknown = " ";
|
|
||||||
Void = " ";
|
|
||||||
Windows = " ";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,66 +0,0 @@
|
||||||
{
|
|
||||||
aws.format = "[$symbol($profile)(\\($region\\))(\\[$duration\\])]($style) ";
|
|
||||||
bun.format = "[$symbol($version)]($style) ";
|
|
||||||
c.format = "[$symbol($version(-$name))]($style) ";
|
|
||||||
cmake.format = "[$symbol($version)]($style) ";
|
|
||||||
cmd_duration.format = "[⏱ $duration]($style) ";
|
|
||||||
cobol.format = "[$symbol($version)]($style) ";
|
|
||||||
conda.format = "[$symbol$environment]($style) ";
|
|
||||||
crystal.format = "[$symbol($version)]($style) ";
|
|
||||||
daml.format = "[$symbol($version)]($style) ";
|
|
||||||
dart.format = "[$symbol($version)]($style) ";
|
|
||||||
deno.format = "[$symbol($version)]($style) ";
|
|
||||||
docker_context.format = "[$symbol$context]($style) ";
|
|
||||||
dotnet.format = "[$symbol($version)(🎯 $tfm)]($style) ";
|
|
||||||
elixir.format = "[$symbol($version \\(OTP $otp_version\\))]($style) ";
|
|
||||||
elm.format = "[$symbol($version)]($style) ";
|
|
||||||
erlang.format = "[$symbol($version)]($style) ";
|
|
||||||
fennel.format = "[$symbol($version)]($style) ";
|
|
||||||
fossil_branch.format = "[$symbol$branch]($style) ";
|
|
||||||
gcloud.format = "[$symbol$account(@$domain)(\\($region\\))]($style) ";
|
|
||||||
git_branch.format = "[$symbol$branch]($style) ";
|
|
||||||
git_status.format = "[$all_status$ahead_behind]($style) ";
|
|
||||||
golang.format = "[$symbol($version)]($style) ";
|
|
||||||
gradle.format = "[$symbol($version)]($style) ";
|
|
||||||
guix_shell.format = "[$symbol]($style) ";
|
|
||||||
haskell.format = "[$symbol($version)]($style) ";
|
|
||||||
haxe.format = "[$symbol($version)]($style) ";
|
|
||||||
helm.format = "[$symbol($version)]($style) ";
|
|
||||||
hg_branch.format = "[$symbol$branch]($style) ";
|
|
||||||
java.format = "[$symbol($version)]($style) ";
|
|
||||||
julia.format = "[$symbol($version)]($style) ";
|
|
||||||
kotlin.format = "[$symbol($version)]($style) ";
|
|
||||||
kubernetes.format = "[$symbol$context( \\($namespace\\))]($style) ";
|
|
||||||
lua.format = "[$symbol($version)]($style) ";
|
|
||||||
memory_usage.format = "$symbol[$ram( | $swap)]($style) ";
|
|
||||||
meson.format = "[$symbol$project]($style) ";
|
|
||||||
nim.format = "[$symbol($version)]($style) ";
|
|
||||||
nix_shell.format = "[$symbol$state( \\($name\\))]($style) ";
|
|
||||||
nodejs.format = "[$symbol($version)]($style) ";
|
|
||||||
ocaml.format = "[$symbol($version)(\\($switch_indicator$switch_name\\))]($style) ";
|
|
||||||
opa.format = "[$symbol($version)]($style) ";
|
|
||||||
openstack.format = "[$symbol$cloud(\\($project\\))]($style) ";
|
|
||||||
os.format = "[$symbol]($style) ";
|
|
||||||
package.format = "[$symbol$version]($style) ";
|
|
||||||
perl.format = "[$symbol($version)]($style) ";
|
|
||||||
php.format = "[$symbol($version)]($style) ";
|
|
||||||
pijul_channel.format = "[$symbol$channel]($style) ";
|
|
||||||
pulumi.format = "[$symbol$stack]($style) ";
|
|
||||||
purescript.format = "[$symbol($version)]($style) ";
|
|
||||||
python.format = "[\${symbol}\${pyenv_prefix}(\${version})(\\($virtualenv\\))]($style) ";
|
|
||||||
raku.format = "[$symbol($version-$vm_version)]($style) ";
|
|
||||||
red.format = "[$symbol($version)]($style) ";
|
|
||||||
ruby.format = "[$symbol($version)]($style) ";
|
|
||||||
rust.format = "[$symbol($version)]($style) ";
|
|
||||||
scala.format = "[$symbol($version)]($style) ";
|
|
||||||
spack.format = "[$symbol$environment]($style) ";
|
|
||||||
sudo.format = "[as $symbol]($style) ";
|
|
||||||
swift.format = "[$symbol($version)]($style) ";
|
|
||||||
terraform.format = "[$symbol$workspace]($style) ";
|
|
||||||
time.format = "[$time]($style) ";
|
|
||||||
username.format = "[$user]($style) ";
|
|
||||||
vagrant.format = "[$symbol($version)]($style) ";
|
|
||||||
vlang.format = "[$symbol($version)]($style) ";
|
|
||||||
zig.format = "[$symbol($version)]($style) ";
|
|
||||||
solidity.format = "[$symbol($version)]($style) ";
|
|
||||||
}
|
|
183
modules/nixos/starship.nix
Normal file
183
modules/nixos/starship.nix
Normal file
|
@ -0,0 +1,183 @@
|
||||||
|
{ pkgs, lib, ... }@args:
|
||||||
|
let
|
||||||
|
cfg = args.config.jconfig;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
programs.starship = {
|
||||||
|
enable = true;
|
||||||
|
settings = lib.mkMerge [
|
||||||
|
{
|
||||||
|
format = "$time$all";
|
||||||
|
add_newline = false;
|
||||||
|
cmd_duration.min_time = 500;
|
||||||
|
cmd_duration.show_milliseconds = true;
|
||||||
|
time.disabled = false;
|
||||||
|
status = {
|
||||||
|
format = "[$signal_name$common_meaning$maybe_int](red)";
|
||||||
|
symbol = "[✗](bold red)";
|
||||||
|
disabled = false;
|
||||||
|
};
|
||||||
|
sudo.disabled = false;
|
||||||
|
}
|
||||||
|
# Add nerdfont symbols
|
||||||
|
(lib.mkIf cfg.styling.enable {
|
||||||
|
aws.symbol = " ";
|
||||||
|
buf.symbol = " ";
|
||||||
|
c.symbol = " ";
|
||||||
|
conda.symbol = " ";
|
||||||
|
crystal.symbol = " ";
|
||||||
|
dart.symbol = " ";
|
||||||
|
directory.read_only = " ";
|
||||||
|
docker_context.symbol = " ";
|
||||||
|
elixir.symbol = " ";
|
||||||
|
elm.symbol = " ";
|
||||||
|
fennel.symbol = " ";
|
||||||
|
fossil_branch.symbol = " ";
|
||||||
|
git_branch.symbol = " ";
|
||||||
|
git_commit.tag_symbol = " ";
|
||||||
|
golang.symbol = " ";
|
||||||
|
gradle.symbol = " ";
|
||||||
|
guix_shell.symbol = " ";
|
||||||
|
haskell.symbol = " ";
|
||||||
|
haxe.symbol = " ";
|
||||||
|
hg_branch.symbol = " ";
|
||||||
|
hostname.ssh_symbol = " ";
|
||||||
|
java.symbol = " ";
|
||||||
|
julia.symbol = " ";
|
||||||
|
kotlin.symbol = " ";
|
||||||
|
lua.symbol = " ";
|
||||||
|
memory_usage.symbol = " ";
|
||||||
|
meson.symbol = " ";
|
||||||
|
nim.symbol = " ";
|
||||||
|
nix_shell.symbol = " ";
|
||||||
|
nodejs.symbol = " ";
|
||||||
|
ocaml.symbol = " ";
|
||||||
|
package.symbol = " ";
|
||||||
|
perl.symbol = " ";
|
||||||
|
php.symbol = " ";
|
||||||
|
pijul_channel.symbol = " ";
|
||||||
|
python.symbol = " ";
|
||||||
|
rlang.symbol = " ";
|
||||||
|
ruby.symbol = " ";
|
||||||
|
rust.symbol = " ";
|
||||||
|
scala.symbol = " ";
|
||||||
|
swift.symbol = " ";
|
||||||
|
zig.symbol = " ";
|
||||||
|
os.symbols = {
|
||||||
|
Alpaquita = " ";
|
||||||
|
Alpine = " ";
|
||||||
|
AlmaLinux = " ";
|
||||||
|
Amazon = " ";
|
||||||
|
Android = " ";
|
||||||
|
Arch = " ";
|
||||||
|
Artix = " ";
|
||||||
|
CentOS = " ";
|
||||||
|
Debian = " ";
|
||||||
|
DragonFly = " ";
|
||||||
|
Emscripten = " ";
|
||||||
|
EndeavourOS = " ";
|
||||||
|
Fedora = " ";
|
||||||
|
FreeBSD = " ";
|
||||||
|
Garuda = " ";
|
||||||
|
Gentoo = " ";
|
||||||
|
HardenedBSD = " ";
|
||||||
|
Illumos = " ";
|
||||||
|
Kali = " ";
|
||||||
|
Linux = " ";
|
||||||
|
Mabox = " ";
|
||||||
|
Macos = " ";
|
||||||
|
Manjaro = " ";
|
||||||
|
Mariner = " ";
|
||||||
|
MidnightBSD = " ";
|
||||||
|
Mint = " ";
|
||||||
|
NetBSD = " ";
|
||||||
|
NixOS = " ";
|
||||||
|
OpenBSD = " ";
|
||||||
|
openSUSE = " ";
|
||||||
|
OracleLinux = " ";
|
||||||
|
Pop = " ";
|
||||||
|
Raspbian = " ";
|
||||||
|
Redhat = " ";
|
||||||
|
RedHatEnterprise = " ";
|
||||||
|
RockyLinux = " ";
|
||||||
|
Redox = " ";
|
||||||
|
Solus = " ";
|
||||||
|
SUSE = " ";
|
||||||
|
Ubuntu = " ";
|
||||||
|
Unknown = " ";
|
||||||
|
Void = " ";
|
||||||
|
Windows = " ";
|
||||||
|
};
|
||||||
|
})
|
||||||
|
# Remove the `in`s and `on`s from the prompt
|
||||||
|
{
|
||||||
|
aws.format = "[$symbol($profile)(\\($region\\))(\\[$duration\\])]($style) ";
|
||||||
|
bun.format = "[$symbol($version)]($style) ";
|
||||||
|
c.format = "[$symbol($version(-$name))]($style) ";
|
||||||
|
cmake.format = "[$symbol($version)]($style) ";
|
||||||
|
cmd_duration.format = "[⏱ $duration]($style) ";
|
||||||
|
cobol.format = "[$symbol($version)]($style) ";
|
||||||
|
conda.format = "[$symbol$environment]($style) ";
|
||||||
|
crystal.format = "[$symbol($version)]($style) ";
|
||||||
|
daml.format = "[$symbol($version)]($style) ";
|
||||||
|
dart.format = "[$symbol($version)]($style) ";
|
||||||
|
deno.format = "[$symbol($version)]($style) ";
|
||||||
|
docker_context.format = "[$symbol$context]($style) ";
|
||||||
|
dotnet.format = "[$symbol($version)(🎯 $tfm)]($style) ";
|
||||||
|
elixir.format = "[$symbol($version \\(OTP $otp_version\\))]($style) ";
|
||||||
|
elm.format = "[$symbol($version)]($style) ";
|
||||||
|
erlang.format = "[$symbol($version)]($style) ";
|
||||||
|
fennel.format = "[$symbol($version)]($style) ";
|
||||||
|
fossil_branch.format = "[$symbol$branch]($style) ";
|
||||||
|
gcloud.format = "[$symbol$account(@$domain)(\\($region\\))]($style) ";
|
||||||
|
git_branch.format = "[$symbol$branch]($style) ";
|
||||||
|
git_status.format = "[$all_status$ahead_behind]($style) ";
|
||||||
|
golang.format = "[$symbol($version)]($style) ";
|
||||||
|
gradle.format = "[$symbol($version)]($style) ";
|
||||||
|
guix_shell.format = "[$symbol]($style) ";
|
||||||
|
haskell.format = "[$symbol($version)]($style) ";
|
||||||
|
haxe.format = "[$symbol($version)]($style) ";
|
||||||
|
helm.format = "[$symbol($version)]($style) ";
|
||||||
|
hg_branch.format = "[$symbol$branch]($style) ";
|
||||||
|
java.format = "[$symbol($version)]($style) ";
|
||||||
|
julia.format = "[$symbol($version)]($style) ";
|
||||||
|
kotlin.format = "[$symbol($version)]($style) ";
|
||||||
|
kubernetes.format = "[$symbol$context( \\($namespace\\))]($style) ";
|
||||||
|
lua.format = "[$symbol($version)]($style) ";
|
||||||
|
memory_usage.format = "$symbol[$ram( | $swap)]($style) ";
|
||||||
|
meson.format = "[$symbol$project]($style) ";
|
||||||
|
nim.format = "[$symbol($version)]($style) ";
|
||||||
|
nix_shell.format = "[$symbol$state( \\($name\\))]($style) ";
|
||||||
|
nodejs.format = "[$symbol($version)]($style) ";
|
||||||
|
ocaml.format = "[$symbol($version)(\\($switch_indicator$switch_name\\))]($style) ";
|
||||||
|
opa.format = "[$symbol($version)]($style) ";
|
||||||
|
openstack.format = "[$symbol$cloud(\\($project\\))]($style) ";
|
||||||
|
os.format = "[$symbol]($style) ";
|
||||||
|
package.format = "[$symbol$version]($style) ";
|
||||||
|
perl.format = "[$symbol($version)]($style) ";
|
||||||
|
php.format = "[$symbol($version)]($style) ";
|
||||||
|
pijul_channel.format = "[$symbol$channel]($style) ";
|
||||||
|
pulumi.format = "[$symbol$stack]($style) ";
|
||||||
|
purescript.format = "[$symbol($version)]($style) ";
|
||||||
|
python.format = "[\${symbol}\${pyenv_prefix}(\${version})(\\($virtualenv\\))]($style) ";
|
||||||
|
raku.format = "[$symbol($version-$vm_version)]($style) ";
|
||||||
|
red.format = "[$symbol($version)]($style) ";
|
||||||
|
ruby.format = "[$symbol($version)]($style) ";
|
||||||
|
rust.format = "[$symbol($version)]($style) ";
|
||||||
|
scala.format = "[$symbol($version)]($style) ";
|
||||||
|
spack.format = "[$symbol$environment]($style) ";
|
||||||
|
sudo.format = "[as $symbol]($style) ";
|
||||||
|
swift.format = "[$symbol($version)]($style) ";
|
||||||
|
terraform.format = "[$symbol$workspace]($style) ";
|
||||||
|
time.format = "[$time]($style) ";
|
||||||
|
username.format = "[$user]($style) ";
|
||||||
|
vagrant.format = "[$symbol($version)]($style) ";
|
||||||
|
vlang.format = "[$symbol($version)]($style) ";
|
||||||
|
zig.format = "[$symbol($version)]($style) ";
|
||||||
|
solidity.format = "[$symbol($version)]($style) ";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue