2023-12-28 22:14:18 +01:00
|
|
|
{ lib, pkgs, ... }:
|
2019-01-06 16:50:26 +01:00
|
|
|
|
2020-01-20 15:01:49 +01:00
|
|
|
{
|
2021-02-22 12:31:58 +01:00
|
|
|
imports = [ ./hardware-configuration.nix ];
|
2020-01-20 14:24:31 +01:00
|
|
|
|
|
|
|
c3d2 = {
|
2023-09-25 00:24:26 +02:00
|
|
|
baremetal = true;
|
2023-04-25 00:37:50 +02:00
|
|
|
hq.interface = "enp0s25";
|
2022-01-16 12:25:04 +01:00
|
|
|
k-ot.enable = true;
|
2020-01-20 14:24:31 +01:00
|
|
|
};
|
2019-01-06 16:50:26 +01:00
|
|
|
|
2022-12-16 21:56:22 +01:00
|
|
|
nix.settings = {
|
|
|
|
cores = 4;
|
|
|
|
max-jobs = 4;
|
2020-01-20 15:01:49 +01:00
|
|
|
};
|
|
|
|
|
2023-04-24 23:04:06 +02:00
|
|
|
boot.loader = {
|
|
|
|
efi.canTouchEfiVariables = true;
|
|
|
|
systemd-boot.enable = true;
|
2022-06-12 17:26:32 +02:00
|
|
|
};
|
2019-01-06 16:50:26 +01:00
|
|
|
|
2024-01-06 17:33:49 +01:00
|
|
|
disko.disks = [ {
|
|
|
|
device = "/dev/disk/by-id/ata-SSD0240S00_20201124BC41037";
|
|
|
|
name = "glotzbert";
|
|
|
|
withCeph = false;
|
|
|
|
withLuks = false;
|
|
|
|
} ];
|
|
|
|
|
2022-06-13 20:35:37 +02:00
|
|
|
networking = {
|
2022-12-21 19:43:47 +01:00
|
|
|
domain = "hq.c3d2.de";
|
2023-04-29 23:36:13 +02:00
|
|
|
firewall = {
|
|
|
|
allowedTCPPorts = [
|
|
|
|
5900 # vnc
|
|
|
|
];
|
|
|
|
};
|
2023-04-24 23:04:06 +02:00
|
|
|
hostId = "42424242";
|
2022-06-13 20:35:37 +02:00
|
|
|
hostName = "glotzbert";
|
2023-04-24 23:04:06 +02:00
|
|
|
interfaces.enp0s25.useDHCP = true;
|
2022-06-13 20:35:37 +02:00
|
|
|
};
|
2019-01-06 16:50:26 +01:00
|
|
|
|
2023-05-06 15:15:49 +02:00
|
|
|
console.keyMap = "de";
|
2022-06-12 17:26:32 +02:00
|
|
|
|
2020-06-19 19:32:53 +02:00
|
|
|
environment.systemPackages = with pkgs; [
|
2021-02-22 11:45:12 +01:00
|
|
|
chromium
|
|
|
|
firefox
|
|
|
|
mpv
|
|
|
|
kodi
|
2022-09-28 23:59:34 +02:00
|
|
|
# tracer-game
|
2022-09-17 01:27:35 +02:00
|
|
|
bevy_julia
|
2022-09-16 22:15:43 +02:00
|
|
|
bevy_mandelbrot
|
|
|
|
allcolors
|
2020-06-19 19:32:53 +02:00
|
|
|
];
|
2019-01-06 16:50:26 +01:00
|
|
|
|
|
|
|
systemd.user.services.x11vnc = {
|
|
|
|
description = "X11 VNC server";
|
|
|
|
wantedBy = [ "graphical-session.target" ];
|
|
|
|
partOf = [ "graphical-session.target" ];
|
|
|
|
serviceConfig = {
|
2024-01-14 17:45:31 +01:00
|
|
|
ExecStart = "${lib.getExe pkgs.x11vnc} -forever -shared -passwd k-ot";
|
|
|
|
RestartSec = 5;
|
2019-01-06 16:50:26 +01:00
|
|
|
Restart = "always";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
sound.enable = true;
|
2022-06-13 20:35:37 +02:00
|
|
|
|
2022-08-21 00:13:29 +02:00
|
|
|
hardware = {
|
|
|
|
opengl = {
|
|
|
|
extraPackages = with pkgs; [
|
|
|
|
vaapiIntel
|
|
|
|
libvdpau-va-gl
|
|
|
|
intel-media-driver
|
|
|
|
];
|
|
|
|
extraPackages32 = with pkgs.pkgsi686Linux; [
|
|
|
|
vaapiIntel
|
|
|
|
libvdpau-va-gl
|
|
|
|
intel-media-driver
|
|
|
|
];
|
2022-06-12 17:26:32 +02:00
|
|
|
};
|
2022-08-21 00:13:29 +02:00
|
|
|
pulseaudio = {
|
2019-01-06 16:50:26 +01:00
|
|
|
enable = true;
|
2022-08-21 00:13:29 +02:00
|
|
|
systemWide = true;
|
|
|
|
zeroconf = {
|
|
|
|
discovery.enable = true;
|
|
|
|
publish.enable = true;
|
|
|
|
};
|
|
|
|
tcp = {
|
|
|
|
enable = true;
|
|
|
|
anonymousClients.allowAll = true;
|
|
|
|
};
|
|
|
|
extraConfig = ''
|
2023-05-06 15:17:49 +02:00
|
|
|
load-module module-tunnel-sink server=pipebert.hq.c3d2.de
|
2022-08-21 00:13:29 +02:00
|
|
|
'';
|
|
|
|
extraClientConf = ''
|
2023-05-06 15:17:49 +02:00
|
|
|
default-server = pipebert.hq.c3d2.de
|
2022-08-21 00:13:29 +02:00
|
|
|
'';
|
2019-01-06 16:50:26 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2022-06-13 20:35:37 +02:00
|
|
|
services = {
|
|
|
|
xserver = {
|
|
|
|
enable = true;
|
|
|
|
layout = "de";
|
|
|
|
xkbOptions = "eurosign:e";
|
|
|
|
|
|
|
|
displayManager = {
|
|
|
|
lightdm = { enable = true; };
|
|
|
|
autoLogin = {
|
|
|
|
enable = true;
|
|
|
|
user = "k-ot";
|
|
|
|
};
|
|
|
|
defaultSession = "gnome-xorg";
|
|
|
|
};
|
|
|
|
desktopManager = {
|
|
|
|
gnome.enable = true;
|
|
|
|
kodi.enable = true;
|
2022-06-12 17:26:32 +02:00
|
|
|
};
|
2019-01-06 16:50:26 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
security.sudo = {
|
|
|
|
enable = true;
|
|
|
|
wheelNeedsPassword = false;
|
|
|
|
};
|
|
|
|
|
2024-01-03 19:30:29 +01:00
|
|
|
sops = {
|
|
|
|
age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
|
|
|
defaultSopsFile = ./secrets.yaml;
|
|
|
|
};
|
|
|
|
|
|
|
|
users = {
|
|
|
|
groups."k-ot".gid = 1000;
|
|
|
|
users."k-ot" = {
|
|
|
|
group = "k-ot";
|
|
|
|
extraGroups = [ "networkmanager" ];
|
|
|
|
};
|
2019-01-06 16:50:26 +01:00
|
|
|
};
|
|
|
|
|
2023-06-16 20:28:00 +02:00
|
|
|
system.stateVersion = "22.11";
|
2019-01-06 16:50:26 +01:00
|
|
|
}
|