feat(nixos): add monorepo development tools
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
17
configs/nixos/modules/monorepo.nix
Normal file
17
configs/nixos/modules/monorepo.nix
Normal file
@@ -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;
|
||||
};
|
||||
}
|
||||
18
configs/nixos/modules/shell/bazel.nix
Normal file
18
configs/nixos/modules/shell/bazel.nix
Normal file
@@ -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 ];
|
||||
};
|
||||
}
|
||||
24
configs/nixos/modules/shell/rust.nix
Normal file
24
configs/nixos/modules/shell/rust.nix
Normal file
@@ -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
|
||||
];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user