Refactor some modules

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2025-02-22 23:46:19 +00:00
parent e0602dd1a0
commit 3360e7f8c3
18 changed files with 74 additions and 39 deletions

View File

@@ -16,6 +16,9 @@
environment = {
persistence."/persist"."/var/lib/containers" = { };
systemPackages = with pkgs; [ podman-compose ];
systemPackages = with pkgs; [
podman-compose
kompose
];
};
}

View File

@@ -0,0 +1,4 @@
{ ... }:
{
programs.ssh.startAgent = true;
}

View File

@@ -1,12 +1,8 @@
{ ... }:
{
programs.ssh = {
startAgent = true;
knownHosts = {
installer.publicKeyFile = ../../../../installer/secrets/ssh_host_ed25519_key.pub;
eirene.publicKeyFile = ../../../../eirene/secrets/ssh_host_ed25519_key.pub;
elara.publicKeyFile = ../../../../elara/secrets/ssh_host_ed25519_key.pub;
};
programs.ssh.knownHosts = {
installer.publicKeyFile = ../../../../installer/secrets/ssh_host_ed25519_key.pub;
eirene.publicKeyFile = ../../../../eirene/secrets/ssh_host_ed25519_key.pub;
elara.publicKeyFile = ../../../../elara/secrets/ssh_host_ed25519_key.pub;
};
}

View File

@@ -0,0 +1,15 @@
{ ... }:
{
services.openssh = {
enable = true;
ports = [ 22 ];
openFirewall = true;
settings = {
PasswordAuthentication = false;
PermitRootLogin = "no";
PrintMotd = false;
};
};
environment.enableAllTerminfo = true;
}

View File

@@ -1,4 +0,0 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [ wget ];
}

View File

@@ -0,0 +1,23 @@
{
user ? throw "user argument is required",
home ? throw "home argument is required",
}:
{
config,
lib,
pkgs,
...
}:
let
hmConfig = config.home-manager.users.${user};
in
{
home-manager.users.${user} = {
home.packages = with pkgs; [ dive ];
xdg.configFile."dive/config.yaml" = lib.mkIf (
(config.virtualisation.podman.enable || hmConfig.services.podman.enable)
&& !(config.virtualisation.docker.enable || config.virtualisation.docker.rootless.enable)
) { source = (pkgs.formats.yaml { }).generate "config.yaml" { container-engine = "podman"; }; };
};
}

View File

@@ -31,11 +31,7 @@ lib.mkMerge [
home-manager.users.${user} = {
home = {
packages = with pkgs; [
docker-compose
dive
];
packages = with pkgs; [ docker-compose ];
sessionVariables.DOCKER_CONFIG = "${home}/.config/docker";
};
};

View File

@@ -23,14 +23,9 @@
packages = with pkgs; [
podman-compose
kompose
dive
];
sessionVariables.REGISTRY_AUTH_FILE = "${home}/.config/containers/auth.json";
};
xdg.configFile."dive/config.yaml".source = (pkgs.formats.yaml { }).generate "config.yaml" {
container-engine = "podman";
};
};
}

View File

@@ -0,0 +1,11 @@
{
user ? throw "user argument is required",
home ? throw "home argument is required",
}:
{ ... }:
{
home-manager.users.${user} = {
services.ssh-agent.enable = true;
programs.ssh.addKeysToAgent = "yes";
};
}

View File

@@ -2,26 +2,16 @@
user ? throw "user argument is required",
home ? throw "home argument is required",
}:
{
config,
lib,
pkgs,
...
}:
{ ... }:
{
environment.persistence."/persist"."${home}/.ssh/known_hosts" = { };
home-manager.users.${user} = {
programs.ssh = {
enable = true;
addKeysToAgent = "yes";
userKnownHostsFile = "${home}/.ssh/known_hosts/default";
};
services.ssh-agent.enable = true;
systemd.user.tmpfiles.rules = [
"d ${home}/.ssh/known_hosts 0755 ${user} users"
];
systemd.user.tmpfiles.rules = [ "d ${home}/.ssh/known_hosts 0755 ${user} users" ];
};
}