nix all the things
1{
2 config,
3 lib,
4 pkgs,
5 ...
6}:
7{
8 config = lib.mkIf config.dev.shell.enable {
9 home.packages = [ pkgs.moreutils ]; # vipe, chronic, pee
10 programs.nushell = {
11 enable = true;
12 shellAliases = {
13 k = "kubectl";
14 fg = "job unfreeze";
15 nn = "exec $env.EDITOR ~/notes";
16 };
17 configFile.text = ''
18 $env.config = {
19 show_banner: false,
20 }
21
22 source-env (if ("~/.profile.nu" | path exists) {"~/.profile.nu"} else null)
23
24 ${lib.meta.getExe pkgs.pokego} -l french
25 '';
26
27 extraLogin = ''
28 bash -c ". /etc/profile && env"
29 | parse "{n}={v}"
30 | where n not-in $env or v != ($env | get $it.n)
31 | where n not-in ["_", "LAST_EXIT_CODE", "DIRS_POSITION"]
32 | transpose --header-row
33 | into record
34 | load-env
35 '';
36 };
37 };
38}