Home

dotnix @9403dfa83eed5bc5ef648097dd2da3eef5208b25 - refs - log -
-
https://git.jolheiser.com/dotnix.git
My nix dotfiles
dotnix / home / nogui / nushell.nix
- raw -
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
{
  pkgs,
  config,
  inputs,
  ...
}:
{
  age.secrets.spectre-pw.file = ../../secrets/spectre-pw.age;
  programs.nushell = {
    enable = true;
    configFile.source = ./nushell/config.nu;
    envFile.source = ./nushell/env.nu;
    shellAliases = {
      cat = "bat";
      find = "fd";
      df = "duf";
      du = "dust -b -d 1";
      ll = "ls -al";
      nix-shell = "nix-shell --run nu";
    };
    extraConfig = with pkgs; ''
      use ${nu_scripts}/share/nu_scripts/custom-completions/bitwarden-cli/bitwarden-cli-completions.nu *
      use ${nu_scripts}/share/nu_scripts/custom-completions/btm/btm-completions.nu *
      use ${nu_scripts}/share/nu_scripts/custom-completions/git/git-completions.nu *
      use ${nu_scripts}/share/nu_scripts/custom-completions/glow/glow-completions.nu *
      use ${nu_scripts}/share/nu_scripts/custom-completions/just/just-completions.nu *
      use ${nu_scripts}/share/nu_scripts/custom-completions/nix/nix-completions.nu *

      ${jolheiser.pokego}/bin/pokego --no-title
    '';
    extraEnv = ''
      $env.GOPATH = "${config.xdg.dataHome}/go"
      $env.PATH = ($env.PATH | split row (char esep) | prepend '${config.xdg.dataHome}/go/bin')
      $env.SPECTRE_USERNAME = "jolheiser"
      $env.SPECTRE_SECRET-FILE = "${config.age.secrets.spectre-pw.path}"
      $env.NIXOS_OZONE_WL = "1"
      $env.NIX_PATH = "nixpkgs=${inputs.nixpkgs-unstable}"
    '';
  };
  # Individually symlink all ./nushell scripts to ~/.config/nushell/autoload
  xdg.configFile =
    let
      src = ./nushell/autoload;
      files = builtins.attrNames (builtins.readDir src);
      configFiles = builtins.listToAttrs (
        map (file: {
          name = "nushell/autoload/${file}";
          value = {
            source = src + "/${file}";
          };
        }) files
      );
    in
    configFiles;
}