added: options

added: dev env
This commit is contained in:
shimun 2022-12-10 15:41:33 +01:00
parent 5042536c2d
commit 2a68518b56
Signed by: shimun
GPG Key ID: E0420647856EA39E
3 changed files with 24 additions and 6 deletions

View File

@ -65,11 +65,11 @@
RUST_SRC_PATH = "${if inputs ? fenix then "${toolchain pkgs}/lib/rustlib" else pkgs.rustPlatform.rustLibSrc}"; RUST_SRC_PATH = "${if inputs ? fenix then "${toolchain pkgs}/lib/rustlib" else pkgs.rustPlatform.rustLibSrc}";
RUST_LOG = "debug"; RUST_LOG = "debug";
SSH_CD_SOCKET_ADDRESS="127.0.0.1:6869"; SSH_CD_SOCKET_ADDRESS = "127.0.0.1:6869";
SSH_CD_CERT_DIR="certs/"; SSH_CD_CERT_DIR = "certs/";
SSH_CD_CA="certs/ca.pub"; SSH_CD_CA = "certs/ca.pub";
SSH_CD_API="http://${SSH_CD_SOCKET_ADDRESS}"; SSH_CD_API = "http://${SSH_CD_SOCKET_ADDRESS}";
nativeBuildInputs = with pkgs; [ (toolchain pkgs) cargo-watch rustfmt nixpkgs-fmt ] ++ packages.default.nativeBuildInputs; nativeBuildInputs = with pkgs; [ (toolchain pkgs) cargo-watch rustfmt nixpkgs-fmt ] ++ packages.default.nativeBuildInputs;
inherit (packages.default) buildInputs; inherit (packages.default) buildInputs;
@ -77,6 +77,9 @@
printf "Rust version:" printf "Rust version:"
rustc --version rustc --version
printf "\nbuild inputs: ${pkgs.lib.concatStringsSep ", " (map (bi: bi.name) (buildInputs ++ nativeBuildInputs))}" printf "\nbuild inputs: ${pkgs.lib.concatStringsSep ", " (map (bi: bi.name) (buildInputs ++ nativeBuildInputs))}"
function server() {
cargo watch -x "run --all-features -- server ''${@}"
}
''; '';
}; };
@ -112,6 +115,12 @@
homeManagerModules.default = { homeManagerModules.default = {
imports = [ ./modules/home-manager.nix ]; imports = [ ./modules/home-manager.nix ];
}; };
nixosConfigurations.test = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
self.nixosModules.default
];
};
}; };

View File

@ -28,4 +28,8 @@ in
}; };
}) })
cfg.directories); cfg.directories);
config.home.sessionVariables = mkIf (cfg.enable && cfg.endpoint != null) {
SSH_CD_API = cfg.endpoint;
};
config.home.packages = mkIf cfg.enable [ cfg.package ];
} }

View File

@ -16,11 +16,14 @@
}; };
}; };
endpointOption = mkOption { endpointOption = mkOption {
type = types.str; type = with types; nullOr str;
description = "API endpoint url"; description = "API endpoint url";
default = "https://pki.shimun.net"; default = "https://pki.shimun.net";
}; };
packageOption = mkOption {
type = types.package;
default = pkgs.ssh-cert-dist;
};
in in
{ {
@ -28,6 +31,7 @@ in
services.ssh-cert-dist = { services.ssh-cert-dist = {
enable = mkEnableOption "ssh-cert-dist"; enable = mkEnableOption "ssh-cert-dist";
endpoint = endpointOption; endpoint = endpointOption;
package = packageOption;
directories = mkOption { directories = mkOption {
type = with types; attrsOf (submodule directoryModule); type = with types; attrsOf (submodule directoryModule);
default = { }; default = { };
@ -35,6 +39,7 @@ in
}; };
programs.ssh-cert-dist = { programs.ssh-cert-dist = {
enable = mkEnableOption "ssh-cert-dist client"; enable = mkEnableOption "ssh-cert-dist client";
package = packageOption;
endpoint = endpointOption; endpoint = endpointOption;
}; };
}; };