@@ -1,12 +1,82 @@
|
||||
{ user, home }:
|
||||
{ inputs, system, ... }:
|
||||
{
|
||||
config,
|
||||
inputs,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
selfPkgs = inputs.self.packages.${system};
|
||||
hmConfig = config.home-manager.users.${user};
|
||||
in
|
||||
{
|
||||
home-manager.users.${user}.home.packages = with selfPkgs; [
|
||||
sagew
|
||||
sonder
|
||||
klog
|
||||
];
|
||||
environment.persistence."/persist/cache" = {
|
||||
"${home}/.local/share/go" = { };
|
||||
"${home}/.local/share/gradle" = { };
|
||||
};
|
||||
|
||||
home-manager.users.${user} = {
|
||||
sops = {
|
||||
secrets = {
|
||||
"artifactory/cdp/user".sopsFile = "${inputs.secrets}/domains/sas/secrets.yaml";
|
||||
"artifactory/cdp/password".sopsFile = "${inputs.secrets}/domains/sas/secrets.yaml";
|
||||
"viya/orders-api/key".sopsFile = "${inputs.secrets}/domains/sas/secrets.yaml";
|
||||
"viya/orders-api/secret".sopsFile = "${inputs.secrets}/domains/sas/secrets.yaml";
|
||||
};
|
||||
|
||||
templates."gradle.properties" = {
|
||||
content = ''
|
||||
cdpUser=${hmConfig.sops.placeholder."artifactory/cdp/user"}
|
||||
cdpPassword=${hmConfig.sops.placeholder."artifactory/cdp/password"}
|
||||
'';
|
||||
path = "${home}/.local/share/gradle/gradle.properties";
|
||||
};
|
||||
};
|
||||
|
||||
programs = {
|
||||
go = {
|
||||
enable = true;
|
||||
goPath = ".local/share/go";
|
||||
};
|
||||
|
||||
gradle = {
|
||||
enable = true;
|
||||
home = ".local/share/gradle";
|
||||
};
|
||||
|
||||
java = {
|
||||
enable = true;
|
||||
package = pkgs.jdk17;
|
||||
};
|
||||
};
|
||||
|
||||
home = {
|
||||
packages =
|
||||
with pkgs;
|
||||
[
|
||||
gopls
|
||||
go-tools
|
||||
golangci-lint
|
||||
golangci-lint-langserver
|
||||
]
|
||||
++ lib.lists.optionals config.sas.build.private [
|
||||
viya4-orders-cli
|
||||
sagew
|
||||
sonder
|
||||
klog
|
||||
];
|
||||
|
||||
sessionVariables = {
|
||||
GOPROXY = "goproxy.unx.sas.com";
|
||||
GONOSUMDB = "*.sas.com,sassoftware.io";
|
||||
};
|
||||
};
|
||||
|
||||
xdg.configFile."viya4-orders-cli/config.yaml" = lib.mkIf config.sas.build.private {
|
||||
source = (pkgs.formats.yaml { }).generate "config.yaml" {
|
||||
clientCredentialsIdFile = hmConfig.sops.secrets."viya/orders-api/key".path;
|
||||
clientCredentialsSecretFile = hmConfig.sops.secrets."viya/orders-api/secret".path;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user