diff --git a/nixos/configurations/aplaz/default.nix b/nixos/configurations/aplaz/default.nix index dd0c0bf..4aa8e99 100644 --- a/nixos/configurations/aplaz/default.nix +++ b/nixos/configurations/aplaz/default.nix @@ -52,6 +52,7 @@ inclyc.gui.enable = true; inclyc.user.enable = true; inclyc.user.zsh = true; + inclyc.development.rust.enable = true; i18n = { defaultLocale = "C.UTF-8"; diff --git a/nixos/modules/default.nix b/nixos/modules/default.nix index e9ae4a7..826f0c4 100644 --- a/nixos/modules/default.nix +++ b/nixos/modules/default.nix @@ -10,6 +10,7 @@ ./user.nix ./dae ./sops.nix + ./rust.nix ]; home-manager = { diff --git a/nixos/modules/rust.nix b/nixos/modules/rust.nix new file mode 100644 index 0000000..eb60725 --- /dev/null +++ b/nixos/modules/rust.nix @@ -0,0 +1,23 @@ +{ config, lib, pkgs, ... }: + +let + cfg = config.inclyc.development.rust; +in +{ + options = { + inclyc.development.rust.enable = lib.mkEnableOption "rust development"; + }; + + config = lib.mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + rustc + cargo + rust-analyzer + rustfmt + clippy + ]; + environment.sessionVariables = { + RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}"; + }; + }; +}