From ad01e928ced99f053f3dc80484a007a44ab1940c Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Thu, 28 Aug 2025 07:49:47 -0700 Subject: add home-manager settings for rust --- home/profiles/mac.nix | 1 + home/programs/emacs/default.nix | 2 ++ home/programs/emacs/site-lisp/init-programming.el | 12 ++++++++++++ home/programs/fish.nix | 2 -- home/programs/rust.nix | 15 +++++++++++++++ 5 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 home/programs/rust.nix (limited to 'home') diff --git a/home/profiles/mac.nix b/home/profiles/mac.nix index 2e61198..4eb237b 100644 --- a/home/profiles/mac.nix +++ b/home/profiles/mac.nix @@ -13,6 +13,7 @@ "${self}/home/programs/git.nix" "${self}/home/programs/go.nix" "${self}/home/programs/onepassword.nix" + "${self}/home/programs/rust.nix" "${self}/home/programs/ssh.nix" "${self}/home/programs/starship.nix" "${self}/home/programs/tmux.nix" diff --git a/home/programs/emacs/default.nix b/home/programs/emacs/default.nix index 2c88b8e..b657bca 100644 --- a/home/programs/emacs/default.nix +++ b/home/programs/emacs/default.nix @@ -9,6 +9,7 @@ let epkgs: with epkgs; [ aidermacs # pair programming in Emacs with Aider cape + cargo consult consult-denote corfu @@ -38,6 +39,7 @@ let orderless protobuf-mode rg + rust-mode terraform-mode toml-mode tree-sitter diff --git a/home/programs/emacs/site-lisp/init-programming.el b/home/programs/emacs/site-lisp/init-programming.el index a2299cf..1bad02f 100644 --- a/home/programs/emacs/site-lisp/init-programming.el +++ b/home/programs/emacs/site-lisp/init-programming.el @@ -100,6 +100,7 @@ ("C-c l f" . eglot-format-buffer)) :hook ((go-mode . eglot-ensure) (python-mode . eglot-ensure) + (rust-mode . eglot-ensure) (nix-mode . eglot-ensure)) :custom (eglot-send-changes-idle-time 0.1) @@ -194,6 +195,17 @@ (css-indent-offset 2) (cssm-indent-level 1)) +(use-package rust-mode + :hook eglot-ensure + :config + (with-eval-after-load 'exec-path-from-shell + (exec-path-from-shell-copy-envs '("RUSTUP_HOME" "CARGO_HOME"))) + (setq rust-format-on-save t)) + +(use-package cargo + :hook (rust-mode . cargo-minor-mode)) + + (provide 'init-programming) ;;; init-programming.el ends here diff --git a/home/programs/fish.nix b/home/programs/fish.nix index e5a1013..0cbed8c 100644 --- a/home/programs/fish.nix +++ b/home/programs/fish.nix @@ -5,8 +5,6 @@ interactiveShellInit = '' set fish_greeting "" - fish_add_path -p ~/.cargo/bin/ - # Add utmctl to PATH fish_add_path /Applications/UTM.app/Contents/MacOS/ ''; diff --git a/home/programs/rust.nix b/home/programs/rust.nix new file mode 100644 index 0000000..5dc5dfa --- /dev/null +++ b/home/programs/rust.nix @@ -0,0 +1,15 @@ +{ config, pkgs, ... }: +{ + home.packages = with pkgs; [ + rustup + ]; + + home.sessionVariables = { + RUSTUP_HOME = "${config.xdg.dataHome}/rustup"; + CARGO_HOME = "${config.xdg.dataHome}/cargo"; + }; + + home.sessionPath = [ + "${config.home.homeDirectory}/.cargo/bin" + ]; +} -- cgit v1.2.3