2022-12-04 08:53:28 +01:00
|
|
|
{ config, 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 = {
|
2020-06-19 18:12:42 +02:00
|
|
|
hq.interface = "eno1";
|
2022-01-16 12:25:04 +01:00
|
|
|
k-ot.enable = true;
|
2022-01-29 01:01:44 +01:00
|
|
|
autoUpdate = 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
|
|
|
};
|
|
|
|
|
2022-07-31 18:13:03 +02:00
|
|
|
sops = {
|
|
|
|
age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
|
|
|
defaultSopsFile = ./secrets.yaml;
|
|
|
|
};
|
2021-11-11 01:55:02 +01:00
|
|
|
|
2019-01-06 16:50:26 +01:00
|
|
|
boot = {
|
|
|
|
loader = {
|
|
|
|
efi.canTouchEfiVariables = true;
|
|
|
|
systemd-boot.enable = true;
|
2022-06-12 17:26:32 +02:00
|
|
|
};
|
2020-06-19 19:32:53 +02:00
|
|
|
kernelPackages = pkgs.linuxPackages_latest;
|
2022-06-12 17:26:32 +02:00
|
|
|
};
|
2019-01-06 16:50:26 +01:00
|
|
|
|
2022-06-13 20:35:37 +02:00
|
|
|
networking = {
|
2022-12-21 19:43:47 +01:00
|
|
|
domain = "hq.c3d2.de";
|
2022-06-13 20:35:37 +02:00
|
|
|
hostName = "glotzbert";
|
|
|
|
interfaces.eno1.useDHCP = true;
|
|
|
|
};
|
2019-01-06 16:50:26 +01:00
|
|
|
|
2020-06-19 19:32:53 +02:00
|
|
|
console = {
|
|
|
|
font = "${pkgs.terminus_font}/share/consolefonts/ter-u28n.psf.gz";
|
|
|
|
keyMap = "de";
|
2019-01-06 16:50:26 +01:00
|
|
|
};
|
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 = {
|
|
|
|
ExecStart = ''
|
2020-01-20 15:01:49 +01:00
|
|
|
${pkgs.x11vnc}/bin/x11vnc -shared -forever -passwd k-ot
|
2019-01-06 16:50:26 +01:00
|
|
|
'';
|
|
|
|
RestartSec = 3;
|
|
|
|
Restart = "always";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2022-06-13 20:35:37 +02:00
|
|
|
# TODO: enable
|
2019-01-06 16:50:26 +01:00
|
|
|
networking.firewall.enable = false;
|
|
|
|
|
|
|
|
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
|
|
|
# Users must be in "audio" group
|
|
|
|
systemWide = true;
|
|
|
|
support32Bit = true;
|
|
|
|
zeroconf = {
|
|
|
|
discovery.enable = true;
|
|
|
|
publish.enable = true;
|
|
|
|
};
|
|
|
|
tcp = {
|
|
|
|
enable = true;
|
|
|
|
anonymousClients.allowAll = true;
|
|
|
|
};
|
|
|
|
extraConfig = ''
|
|
|
|
load-module module-tunnel-sink server=pulsebert.hq.c3d2.de
|
|
|
|
'';
|
|
|
|
extraClientConf = ''
|
|
|
|
default-server = pulsebert.hq.c3d2.de
|
|
|
|
'';
|
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;
|
|
|
|
};
|
|
|
|
|
|
|
|
users.groups."k-ot" = { gid = 1000; };
|
|
|
|
users.users."k-ot" = {
|
|
|
|
group = "k-ot";
|
2022-01-16 12:25:04 +01:00
|
|
|
extraGroups = [ "networkmanager" ];
|
2019-01-06 16:50:26 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
system.stateVersion = "18.09"; # Did you read the comment?
|
|
|
|
}
|