Compare commits

..

2 Commits

Author SHA1 Message Date
cfbd1dbebe feat(machoke): add in-memory store 2026-09-02 08:47:42 -04:00
17d69e51e6 fix(fish): export Rust toolchain root 2026-09-02 08:47:42 -04:00
4 changed files with 14 additions and 5 deletions

View File

@@ -3,8 +3,6 @@ set -g fish_key_bindings fish_vi_key_bindings
set -gx EDITOR nvim set -gx EDITOR nvim
set -gx VISUAL nvim set -gx VISUAL nvim
# TODO: source this from a shell toolchain registry.
set -gx RUST_TOOLCHAIN_ROOT /nix/store/ph2z7wfzcxyrl1y0349dzcjkas3bifhw-rust-toolchain
# Render man pages through bat. # Render man pages through bat.
set -x MANROFFOPT "-c" set -x MANROFFOPT "-c"

View File

@@ -9,7 +9,11 @@ let
cfg = config.modules.shell.fish; cfg = config.modules.shell.fish;
user = config.user.name; user = config.user.name;
shortcuts = config.registry.shell-shortcut.${config.networking.hostName}; shortcuts = config.registry.shell-shortcut.${config.networking.hostName};
envVars = config.registry.env-var.${config.networking.hostName};
commandsOf = shortcuts: lib.mapAttrs (_name: shortcut: shortcut.command) shortcuts; commandsOf = shortcuts: lib.mapAttrs (_name: shortcut: shortcut.command) shortcuts;
exportEnvVar = name: value: ''
set -gx ${name} ${lib.escapeShellArg value}
'';
in in
{ {
options.modules.shell.fish = { options.modules.shell.fish = {
@@ -99,7 +103,10 @@ in
}; };
# Rendered by home-manager into ~/.config/fish/config.fish. # Rendered by home-manager into ~/.config/fish/config.fish.
interactiveShellInit = builtins.readFile ./config.fish; interactiveShellInit = lib.concatStringsSep "\n" (
(lib.mapAttrsToList exportEnvVar envVars)
++ [ (builtins.readFile ./config.fish) ]
);
}; };
}; };
}; };

View File

@@ -23,13 +23,13 @@ in
options.modules.shell.rust.enable = lib.mkEnableOption "Rust tools for the primary user's shell environment"; options.modules.shell.rust.enable = lib.mkEnableOption "Rust tools for the primary user's shell environment";
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
registry.env-var.${config.networking.hostName}.RUST_TOOLCHAIN_ROOT = "${toolchain}";
home-manager.users.${user} = { home-manager.users.${user} = {
home.packages = [ home.packages = [
toolchain toolchain
pkgs.rust-analyzer pkgs.rust-analyzer
]; ];
home.sessionVariables.RUST_TOOLCHAIN_ROOT = "${toolchain}";
}; };
}; };
} }

View File

@@ -0,0 +1,4 @@
{ lib, ... }:
{
type = lib.types.str;
}