System: Update top-level system config for homelab integration
This commit is contained in:
@ -43,6 +43,15 @@ with mylib.networking; {
|
|||||||
hyprland.enable = config.programs.hyprland.enable;
|
hyprland.enable = config.programs.hyprland.enable;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
docker = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
# Use podman on the desktops, the servers are
|
||||||
|
# already configured using docker though...
|
||||||
|
podman = !headless;
|
||||||
|
docker.rootless = true;
|
||||||
|
};
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
enable = !headless;
|
enable = !headless;
|
||||||
|
|
||||||
@ -184,6 +193,9 @@ with mylib.networking; {
|
|||||||
supportedLocales = ["en_US.UTF-8/UTF-8" "de_DE.UTF-8/UTF-8"];
|
supportedLocales = ["en_US.UTF-8/UTF-8" "de_DE.UTF-8/UTF-8"];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Configure console keymap
|
||||||
|
console.keyMap = "us-acentos";
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
users.users.christoph = {
|
users.users.christoph = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
@ -221,10 +233,12 @@ with mylib.networking; {
|
|||||||
# Empty since we basically only need git + editor which is enabled below
|
# Empty since we basically only need git + editor which is enabled below
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
iw
|
iw
|
||||||
|
wget
|
||||||
mprocs # run multiple processes in single terminal window, screen alternative
|
mprocs # run multiple processes in single terminal window, screen alternative
|
||||||
parted # partition manager
|
parted # partition manager
|
||||||
procs # Better ps
|
procs # Better ps
|
||||||
procps # pgrep, pkill
|
procps # pgrep, pkill
|
||||||
|
busybox
|
||||||
killall
|
killall
|
||||||
slirp4netns # user network namespaces
|
slirp4netns # user network namespaces
|
||||||
wireguard-tools
|
wireguard-tools
|
||||||
@ -299,7 +313,7 @@ with mylib.networking; {
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Enable touchpad support (enabled default in most desktopManager).
|
# Enable touchpad support (enabled default in most desktopManager).
|
||||||
libinput.enable = true;
|
libinput.enable = !headless;
|
||||||
|
|
||||||
# Enable CUPS to print documents.
|
# Enable CUPS to print documents.
|
||||||
printing = {
|
printing = {
|
||||||
@ -343,31 +357,6 @@ with mylib.networking; {
|
|||||||
gnome.gcr-ssh-agent.enable = false; # TODO: Use this instead of ssh.startAgent?
|
gnome.gcr-ssh-agent.enable = false; # TODO: Use this instead of ssh.startAgent?
|
||||||
};
|
};
|
||||||
|
|
||||||
virtualisation = {
|
|
||||||
docker = {
|
|
||||||
enable = false;
|
|
||||||
autoPrune.enable = true;
|
|
||||||
|
|
||||||
rootless = {
|
|
||||||
enable = true;
|
|
||||||
setSocketVariable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
podman = {
|
|
||||||
enable = true;
|
|
||||||
autoPrune.enable = true;
|
|
||||||
dockerCompat = true;
|
|
||||||
dockerSocket.enable = true;
|
|
||||||
defaultNetwork.settings.dns_enabled = true;
|
|
||||||
|
|
||||||
# extraPackages = with pkgs; [];
|
|
||||||
};
|
|
||||||
|
|
||||||
oci-containers.backend = "podman"; # "docker" or "podman"
|
|
||||||
libvirtd.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd = {
|
systemd = {
|
||||||
# TODO: Technically this should be a user service if it runs as ${username}?
|
# TODO: Technically this should be a user service if it runs as ${username}?
|
||||||
timers."refresh-nps-cache" = {
|
timers."refresh-nps-cache" = {
|
||||||
@ -384,7 +373,7 @@ with mylib.networking; {
|
|||||||
path = ["/run/current-system/sw/"];
|
path = ["/run/current-system/sw/"];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
User = "${username}"; # ⚠️ replace with your "username" or "${user}", if it's defined
|
User = "${username}";
|
||||||
};
|
};
|
||||||
script = ''
|
script = ''
|
||||||
set -eu
|
set -eu
|
||||||
|
Reference in New Issue
Block a user