123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- { config, pkgs, ... }:
-
- {
- imports = [ ./hardware-configuration.nix ../../lib ];
-
- c3d2 = {
- users.k-ot = true;
- isInHq = true;
- hq.interface = "eno1";
- hq.enableBinaryCache = false;
- enableHail = false;
- };
-
- nixpkgs.config.allowUnfree = true;
- nix = {
- useSandbox = true;
- buildCores = 4;
- maxJobs = 4;
- };
-
- # Use the systemd-boot EFI boot loader.
- boot.loader.systemd-boot.enable = true;
- boot.loader.efi.canTouchEfiVariables = true;
- boot.kernelPackages = pkgs.linuxPackages_latest;
-
- networking.hostName = "glotzbert"; # Define your hostname.
- # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
- networking.interfaces.eno1.useDHCP = true;
-
- # Configure network proxy if necessary
- # networking.proxy.default = "http://user:password@proxy:port/";
- # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
-
- # Select internationalisation properties.
- console = {
- font = "${pkgs.terminus_font}/share/consolefonts/ter-u28n.psf.gz";
- keyMap = "de";
- };
- i18n.defaultLocale = "en_US.UTF-8";
-
- # Set your time zone.
- time.timeZone = "Europe/Berlin";
-
- # List packages installed in system profile. To search, run:
- # $ nix search wget
- environment.systemPackages = with pkgs; [
- wget vim git tmux screen
- chromium firefox
- mpv kodi
- ];
-
- systemd.user.services.x11vnc = {
- description = "X11 VNC server";
- wantedBy = [ "graphical-session.target" ];
- partOf = [ "graphical-session.target" ];
- serviceConfig = {
- ExecStart = ''
- ${pkgs.x11vnc}/bin/x11vnc -shared -forever -passwd k-ot
- '';
- RestartSec = 3;
- Restart = "always";
- };
- };
-
- # Some programs need SUID wrappers, can be configured further or are
- # started in user sessions.
- # programs.mtr.enable = true;
- # programs.gnupg.agent = { enable = true; enableSSHSupport = true; };
-
- # List services that you want to enable:
-
- # Enable the OpenSSH daemon.
- services.openssh.enable = true;
-
- # Open ports in the firewall.
- # networking.firewall.allowedTCPPorts = [ ... ];
- # networking.firewall.allowedUDPPorts = [ ... ];
- # Or disable the firewall altogether.
- networking.firewall.enable = false;
-
- # Enable CUPS to print documents.
- # services.printing.enable = true;
-
- # Enable sound.
- sound.enable = true;
- hardware.pulseaudio = {
- enable = true;
- # Users must be in "audio" group
- systemWide = true;
- support32Bit = true;
- zeroconf.discovery.enable = true;
- zeroconf.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
- '';
- };
-
- # Enable the X11 windowing system.
- services.xserver.enable = true;
- services.xserver.layout = "de";
- services.xserver.xkbOptions = "eurosign:e";
-
- services.xserver.displayManager = {
- lightdm = {
- enable = true;
- autoLogin = {
- enable = true;
- user = "k-ot";
- };
- };
- defaultSession = "gnome-xorg";
- };
- services.xserver.desktopManager = {
- gnome3.enable = true;
- kodi.enable = true;
- };
-
- security.sudo = {
- enable = true;
- wheelNeedsPassword = false;
- };
-
- # Define a user account. Don't forget to set a password with ‘passwd’.
- users.groups."k-ot" = { gid = 1000; };
- users.users."k-ot" = {
- isNormalUser = true;
- uid = 1000;
- group = "k-ot";
- extraGroups = [ "wheel" "networkmanager" "audio" "video" ];
- openssh.authorizedKeys.keys = [
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGJJTSJdpDh82486uPiMhhyhnci4tScp5uUe7156MBC8 astro"
- ];
- };
-
- users.users.emery.cryptHomeLuks = "/home/emery.luks.img";
-
- # This value determines the NixOS release with which your system is to be
- # compatible, in order to avoid breaking some software such as database
- # servers. You should change this only after NixOS release notes say you
- # should.
- system.stateVersion = "18.09"; # Did you read the comment?
-
- }
|