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.hostKeys.sopsFile = ../../secrets/neogaia.yaml;
|
||||||
modules.network.ssh.userKey.sopsFile = ../../secrets/neogaia.yaml;
|
modules.network.ssh.userKey.sopsFile = ../../secrets/neogaia.yaml;
|
||||||
|
|
||||||
|
modules.monorepo.enable = true;
|
||||||
modules.shell.herdr.enable = true;
|
modules.shell.herdr.enable = true;
|
||||||
modules.agents.tools.gitea-axi.enable = true;
|
modules.agents.tools.gitea-axi.enable = true;
|
||||||
modules.agents.pi.enable = true;
|
modules.agents.pi.enable = true;
|
||||||
|
|||||||
@@ -120,7 +120,6 @@ in
|
|||||||
modules.shell.tmux.enable = lib.mkDefault true;
|
modules.shell.tmux.enable = lib.mkDefault true;
|
||||||
modules.shell.nvim.enable = lib.mkDefault true;
|
modules.shell.nvim.enable = lib.mkDefault true;
|
||||||
modules.shell.git.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;
|
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