diff --git a/configs/nixos/hosts/neogaia/default.nix b/configs/nixos/hosts/neogaia/default.nix index 17093aa..3ec1246 100644 --- a/configs/nixos/hosts/neogaia/default.nix +++ b/configs/nixos/hosts/neogaia/default.nix @@ -40,6 +40,7 @@ modules.network.ssh.hostKeys.sopsFile = ../../secrets/neogaia.yaml; modules.network.ssh.userKey.sopsFile = ../../secrets/neogaia.yaml; + modules.monorepo.enable = true; modules.shell.herdr.enable = true; modules.agents.tools.gitea-axi.enable = true; modules.agents.pi.enable = true; diff --git a/configs/nixos/modules/default.nix b/configs/nixos/modules/default.nix index bddeef5..c036697 100644 --- a/configs/nixos/modules/default.nix +++ b/configs/nixos/modules/default.nix @@ -120,7 +120,6 @@ in modules.shell.tmux.enable = lib.mkDefault true; modules.shell.nvim.enable = lib.mkDefault true; modules.shell.git.enable = lib.mkDefault true; - modules.shell.direnv.enable = lib.mkDefault true; modules.shell.yazi.enable = lib.mkDefault true; }; } diff --git a/configs/nixos/modules/monorepo.nix b/configs/nixos/modules/monorepo.nix new file mode 100644 index 0000000..e094954 --- /dev/null +++ b/configs/nixos/modules/monorepo.nix @@ -0,0 +1,17 @@ +{ + config, + lib, + ... +}: +# Tools for developing this monorepo. +let + cfg = config.modules.monorepo; +in +{ + options.modules.monorepo.enable = lib.mkEnableOption "tools for developing this monorepo"; + + config = lib.mkIf cfg.enable { + modules.shell.bazel.enable = true; + modules.shell.rust.enable = true; + }; +} diff --git a/configs/nixos/modules/shell/bazel.nix b/configs/nixos/modules/shell/bazel.nix new file mode 100644 index 0000000..b2db218 --- /dev/null +++ b/configs/nixos/modules/shell/bazel.nix @@ -0,0 +1,18 @@ +{ + config, + lib, + pkgs, + ... +}: +# Bazel for the primary user's shell environment. +let + cfg = config.modules.shell.bazel; + user = config.user.name; +in +{ + options.modules.shell.bazel.enable = lib.mkEnableOption "Bazel for the primary user's shell environment"; + + config = lib.mkIf cfg.enable { + home-manager.users.${user}.home.packages = [ pkgs.bazel ]; + }; +} diff --git a/configs/nixos/modules/shell/rust.nix b/configs/nixos/modules/shell/rust.nix new file mode 100644 index 0000000..faef379 --- /dev/null +++ b/configs/nixos/modules/shell/rust.nix @@ -0,0 +1,24 @@ +{ + config, + lib, + pkgs, + ... +}: +# Rust tools for the primary user's shell environment. +let + cfg = config.modules.shell.rust; + user = config.user.name; +in +{ + options.modules.shell.rust.enable = lib.mkEnableOption "Rust tools for the primary user's shell environment"; + + config = lib.mkIf cfg.enable { + home-manager.users.${user}.home.packages = with pkgs; [ + cargo + clippy + rust-analyzer + rustc + rustfmt + ]; + }; +}