mirror of https://git.jolheiser.com/dotnix.git
parent
c9fefbf7e2
commit
3042676258
|
@ -393,7 +393,7 @@ $env.config = {
|
|||
format: "auto" # b, kb, kib, mb, mib, gb, gib, tb, tib, pb, pib, eb, eib, zb, zib, auto
|
||||
}
|
||||
color_config: $dark_theme # if you want a light theme, replace `$dark_theme` to `$light_theme`
|
||||
footer_mode: "25" # always, never, number_of_rows, auto
|
||||
footer_mode: 25 # always, never, number_of_rows, auto
|
||||
float_precision: 2
|
||||
# buffer_editor: "emacs" # command that will be used to edit the current line buffer with ctrl+o, if unset fallback to $env.EDITOR and $env.VISUAL
|
||||
use_ansi_coloring: true
|
||||
|
|
|
@ -1,8 +1,152 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
unicode = x: builtins.fromJSON ''"${x}"'';
|
||||
script = pkgs.writeShellApplication {
|
||||
name = "jj-prompt";
|
||||
runtimeInputs = [ pkgs.jujutsu ];
|
||||
text =
|
||||
let
|
||||
bookmarkMax = 10;
|
||||
tagMax = 10;
|
||||
descriptionMax = 24;
|
||||
in
|
||||
''
|
||||
jj log -r@ -n1 --ignore-working-copy --no-graph --color never -T '
|
||||
separate(" ",
|
||||
bookmarks.map(|x| if(
|
||||
x.name().substr(0, ${builtins.toString bookmarkMax}).starts_with(x.name()),
|
||||
" " ++ x.name().substr(0, ${builtins.toString bookmarkMax}),
|
||||
" " ++ x.name().substr(0, ${builtins.toString (bookmarkMax - 1)}) ++ "…")
|
||||
).join(" "),
|
||||
tags.map(|x| if(
|
||||
x.name().substr(0, ${builtins.toString tagMax}).starts_with(x.name()),
|
||||
" " ++ x.name().substr(0, ${builtins.toString tagMax}),
|
||||
" " ++ x.name().substr(0, ${builtins.toString (tagMax - 1)}) ++ "…")
|
||||
).join(" "),
|
||||
if(
|
||||
description.first_line().substr(0, ${builtins.toString descriptionMax}).starts_with(description.first_line()),
|
||||
" " ++ description.first_line().substr(0, ${builtins.toString descriptionMax}),
|
||||
" " ++ description.first_line().substr(0, ${
|
||||
builtins.toString (descriptionMax - 1)
|
||||
}) ++ "…"
|
||||
),
|
||||
"•",
|
||||
change_id.shortest(),
|
||||
commit_id.shortest(),
|
||||
if(empty, "(empty)"),
|
||||
if(conflict, "(conflict)"),
|
||||
if(divergent, "(divergent)"),
|
||||
if(hidden, "(hidden)"),
|
||||
)
|
||||
'
|
||||
'';
|
||||
};
|
||||
in
|
||||
{
|
||||
programs.oh-my-posh = {
|
||||
enable = true;
|
||||
settings = builtins.fromJSON (
|
||||
builtins.unsafeDiscardStringContext (builtins.readFile ./ohmyposh/config.json)
|
||||
);
|
||||
settings = {
|
||||
"$schema" = "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json";
|
||||
blocks = [
|
||||
{
|
||||
alignment = "left";
|
||||
segments = [
|
||||
{
|
||||
background = "p:lavender";
|
||||
foreground = "p:black";
|
||||
leading_diamond = unicode "\\ue0b6";
|
||||
properties = {
|
||||
display_host = false;
|
||||
};
|
||||
style = "diamond";
|
||||
template = " {{ if .SSHSession }}${unicode "\\udb80\\udf18"} {{ end }}{{ if .Env.IN_NIX_SHELL }}${unicode "\\udb84\\udd05"} {{ end }}{{ .UserName }}@{{ .HostName }} ";
|
||||
trailing_diamond = unicode "\\ue0b0";
|
||||
type = "session";
|
||||
}
|
||||
{
|
||||
background = "p:orange";
|
||||
foreground = "p:black";
|
||||
powerline_symbol = unicode "\\ue0b0";
|
||||
properties = {
|
||||
home_icon = "~";
|
||||
style = "folder";
|
||||
};
|
||||
style = "powerline";
|
||||
template = " ${unicode "\\ue613"} {{ path .Path .Location }} ";
|
||||
type = "path";
|
||||
}
|
||||
{
|
||||
background = "p:green";
|
||||
background_templates = [
|
||||
"{{ if or (.Working.Changed) (.Staging.Changed) }}p:yellow{{ end }}"
|
||||
"{{ if and (gt .Ahead 0) (gt .Behind 0) }}p:red{{ end }}"
|
||||
"{{ if gt .Ahead 0 }}#49416D{{ end }}"
|
||||
"{{ if gt .Behind 0 }}#7A306C{{ end }}"
|
||||
];
|
||||
foreground = "p:black";
|
||||
foreground_templates = [
|
||||
"{{ if or (.Working.Changed) (.Staging.Changed) }}p:black{{ end }}"
|
||||
"{{ if and (gt .Ahead 0) (gt .Behind 0) }}p:white{{ end }}"
|
||||
"{{ if gt .Ahead 0 }}p:white{{ end }}"
|
||||
];
|
||||
powerline_symbol = unicode "\\ue0b0";
|
||||
properties = {
|
||||
branch_max_length = 25;
|
||||
fetch_status = true;
|
||||
fetch_upstream_icon = true;
|
||||
git_icon = unicode "\\ue702";
|
||||
github_icon = unicode "\\uf408";
|
||||
upstream_icons = {
|
||||
"codeberg.org" = unicode "\\ue2a6";
|
||||
"git.jojodev.com" = unicode "\\udb83\\udd9e";
|
||||
"gitea.com" = unicode "\\udb83\\udd9e";
|
||||
};
|
||||
};
|
||||
style = "powerline";
|
||||
template = "{{ if not (glob \".jj\")}} {{ if .UpstreamURL }}{{ url .UpstreamIcon .UpstreamURL }} {{ end }}{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }} ${unicode "\\uf044"} {{ .Working.String }}{{ end }}{{ if .Staging.Changed }} ${unicode "\\uf046"} {{ .Staging.String }}{{ end }} {{ end }}";
|
||||
type = "git";
|
||||
}
|
||||
{
|
||||
background = "p:green";
|
||||
foreground = "p:black";
|
||||
powerline_symbol = unicode "\\ue0b0";
|
||||
properties = {
|
||||
script = "${script}/bin/jj-prompt";
|
||||
};
|
||||
style = "powerline";
|
||||
template = "{{ if (glob \".jj\")}} {{ .Output }} {{ end }}";
|
||||
type = "command";
|
||||
}
|
||||
{
|
||||
background = "p:blue";
|
||||
background_templates = [ "{{ if gt .Code 0 }}p:red{{ end }}" ];
|
||||
foreground = "p:black";
|
||||
leading_diamond = "<transparent,background>${unicode "\\ue0b0"}</>";
|
||||
properties = {
|
||||
always_enabled = true;
|
||||
};
|
||||
style = "diamond";
|
||||
template = " {{ if gt .Code 0 }}${unicode "\\uf00d"}{{ else }}${unicode "\\uf00c"}{{ end }} ";
|
||||
trailing_diamond = unicode "\\ue0b4";
|
||||
type = "exit";
|
||||
}
|
||||
];
|
||||
type = "prompt";
|
||||
}
|
||||
];
|
||||
console_title_template = "{{ .Folder }}";
|
||||
final_space = true;
|
||||
palette = {
|
||||
black = "#1E1E1E";
|
||||
blue = "#89B4FA";
|
||||
green = "#A6E3A1";
|
||||
lavender = "#B4BEFE";
|
||||
orange = "#FAB387";
|
||||
red = "#F38BA8";
|
||||
white = "#CDD6F4";
|
||||
yellow = "#F9E2AF";
|
||||
};
|
||||
version = 2;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,95 +0,0 @@
|
|||
{
|
||||
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
|
||||
"blocks": [
|
||||
{
|
||||
"alignment": "left",
|
||||
"segments": [
|
||||
{
|
||||
"background": "p:lavender",
|
||||
"foreground": "p:black",
|
||||
"leading_diamond": "\ue0b6",
|
||||
"properties": {
|
||||
"display_host": false
|
||||
},
|
||||
"style": "diamond",
|
||||
"template": " {{ if .SSHSession }}\udb80\udf18 {{ end }}{{ if .Env.IN_NIX_SHELL }}\udb84\udd05 {{ end }}{{ .UserName }}@{{ .HostName }} ",
|
||||
"trailing_diamond": "\ue0b0",
|
||||
"type": "session"
|
||||
},
|
||||
{
|
||||
"background": "p:orange",
|
||||
"foreground": "p:black",
|
||||
"powerline_symbol": "\ue0b0",
|
||||
"properties": {
|
||||
"home_icon": "~",
|
||||
"style": "folder"
|
||||
},
|
||||
"style": "powerline",
|
||||
"template": " \ue613 {{ path .Path .Location }} ",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"background": "p:green",
|
||||
"background_templates": [
|
||||
"{{ if or (.Working.Changed) (.Staging.Changed) }}p:yellow{{ end }}",
|
||||
"{{ if and (gt .Ahead 0) (gt .Behind 0) }}p:red{{ end }}",
|
||||
"{{ if gt .Ahead 0 }}#49416D{{ end }}",
|
||||
"{{ if gt .Behind 0 }}#7A306C{{ end }}"
|
||||
],
|
||||
"foreground": "p:black",
|
||||
"foreground_templates": [
|
||||
"{{ if or (.Working.Changed) (.Staging.Changed) }}p:black{{ end }}",
|
||||
"{{ if and (gt .Ahead 0) (gt .Behind 0) }}p:white{{ end }}",
|
||||
"{{ if gt .Ahead 0 }}p:white{{ end }}"
|
||||
],
|
||||
"powerline_symbol": "\ue0b0",
|
||||
"properties": {
|
||||
"branch_max_length": 25,
|
||||
"fetch_status": true,
|
||||
"fetch_upstream_icon": true,
|
||||
"github_icon": "\uf408",
|
||||
"git_icon": "\ue702",
|
||||
"upstream_icons": {
|
||||
"gitea.com": "\udb83\udd9e",
|
||||
"git.jojodev.com": "\udb83\udd9e",
|
||||
"codeberg.org": "\ue2a6"
|
||||
}
|
||||
},
|
||||
"style": "powerline",
|
||||
"template": "{{ if not (glob \".jj\")}} {{ if .UpstreamURL }}{{ url .UpstreamIcon .UpstreamURL }} {{ end }}{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }} \uf044 {{ .Working.String }}{{ end }}{{ if .Staging.Changed }} \uf046 {{ .Staging.String }}{{ end }} {{ end }}",
|
||||
"type": "git"
|
||||
},
|
||||
{
|
||||
"background": "p:blue",
|
||||
"background_templates": [
|
||||
"{{ if gt .Code 0 }}p:red{{ end }}"
|
||||
],
|
||||
"foreground": "p:black",
|
||||
"leading_diamond": "<transparent,background>\ue0b0</>",
|
||||
"properties": {
|
||||
"always_enabled": true
|
||||
},
|
||||
"style": "diamond",
|
||||
"template": " {{ if gt .Code 0 }}\uf00d{{ else }}\uf00c{{ end }} ",
|
||||
"trailing_diamond": "\ue0b4",
|
||||
"type": "exit"
|
||||
}
|
||||
],
|
||||
"type": "prompt"
|
||||
}
|
||||
],
|
||||
"console_title_template": "{{ .Folder }}",
|
||||
"final_space": true,
|
||||
"palette": {
|
||||
"black": "#1E1E1E",
|
||||
"blue": "#89B4FA",
|
||||
"green": "#A6E3A1",
|
||||
"orange": "#FAB387",
|
||||
"red": "#F38BA8",
|
||||
"white": "#CDD6F4",
|
||||
"yellow": "#F9E2AF",
|
||||
"lavender": "#B4BEFE"
|
||||
},
|
||||
"version": 2
|
||||
}
|
||||
|
Loading…
Reference in New Issue