Compare commits
2 commits
1b802a90de
...
6f5884a8a3
Author | SHA1 | Date | |
---|---|---|---|
6f5884a8a3 | |||
e597a95826 |
3 changed files with 49 additions and 1 deletions
|
@ -6,7 +6,7 @@
|
|||
}: let
|
||||
addNuShebang = path:
|
||||
builtins.concatStringsSep "\n\n" [
|
||||
"#!${pkgs.nushellFull}/bin/nu"
|
||||
"#!${pkgs.nushell}/bin/nu"
|
||||
(builtins.readFile path)
|
||||
];
|
||||
in {
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
plugin use query;
|
||||
plugin use polars;
|
||||
plugin use formats;
|
||||
|
||||
nu ${../../other/scripts/desktop/shell-startup.nu};
|
||||
'';
|
||||
};
|
||||
programs.starship.enableNushellIntegration = true;
|
||||
|
|
46
other/scripts/desktop/shell-startup.nu
Normal file
46
other/scripts/desktop/shell-startup.nu
Normal file
|
@ -0,0 +1,46 @@
|
|||
def "is even" [] {
|
||||
$in mod 2 == 0
|
||||
}
|
||||
|
||||
const TRANS = [ 5BCEFA F5A9B8 FFFFFF F5A9B8 5BCEFA ];
|
||||
const LESBIAN = [ D52D00 EF7627 FF9A56 FFFFFF D162A4 B55690 A30262 ];
|
||||
const ENBY = [ FCF434 FFFFFF 9C59D1 2C2C2C ];
|
||||
|
||||
def flag [
|
||||
colors: list<string>
|
||||
] {
|
||||
use std;
|
||||
|
||||
let col_size = (term size | get columns) / ($colors | length) | math floor;
|
||||
mut rest = (term size | get columns) - ($col_size * ($colors | length));
|
||||
|
||||
mut cols = $colors | wrap color | insert width $col_size | flatten;
|
||||
let last = ($colors | length) - 1;
|
||||
|
||||
$cols = if not ($rest | is even) {
|
||||
$rest = $rest - 1;
|
||||
|
||||
(if not ($colors | length | is even) {
|
||||
$cols | update (($colors | length) / 2 | math floor) { $in | update width {|w| ($w.width + 1)}}
|
||||
} else {
|
||||
$cols | update $last { $in | update width {|w| ($w.width + 1)}}
|
||||
})
|
||||
};
|
||||
|
||||
std assert ($rest | is even);
|
||||
|
||||
let amount = $rest / 2;
|
||||
|
||||
$cols = ($cols | update 0 { $in | update width {|w| ($w.width + $amount) } } | update $last { $in | update width {|w| ($w.width + $amount) } });
|
||||
|
||||
print ($cols | each {|col|
|
||||
"=" | std repeat $col.width | prepend (ansi {fg: $"#($col.color)" }) | str join
|
||||
} | prepend (ansi attr_bold) | append (ansi reset) | str join)
|
||||
}
|
||||
|
||||
def main [] {
|
||||
flag $TRANS;
|
||||
print $"(ansi attr_bold) Hi jade, you're on HRT for ((date now) - ('2024-02-18T20:53' | into datetime) | format duration month)s now!";
|
||||
flag $LESBIAN;
|
||||
}
|
||||
|
Loading…
Reference in a new issue