{ config, pkgs, ... }: let mpdStreamingPort = 8080; in { imports = [ ./common-headless.nix # ./sway.nix # ./i3.nix ./gnome3.nix ./large-sw.nix ./uefi.nix ./fstrim.nix # ./qemu-user.nix ./atmega.nix ./v4l2loopback.nix ./huion.nix ./spacenav.nix ./nvim05.nix ./nm-restart.nix ./tailscale.nix ]; hardware.enableRedistributableFirmware = true; boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; boot.initrd.kernelModules = [ "dm-snapshot" ]; boot.kernelModules = [ "kvm-amd" "zenpower" ]; boot.extraModulePackages = [ ]; boot.supportedFilesystems = [ "zfs" ]; fileSystems."/" = { device = "/dev/disk/by-uuid/3b8c5c8a-fff2-49ba-98bd-ceb01d6d57c3"; fsType = "ext4"; }; fileSystems."/boot" = { device = "/dev/disk/by-uuid/1FA2-93AB"; fsType = "vfat"; }; swapDevices = [ ]; environment.etc."lvm/lvm.conf".text = '' devices { issue_discards = 1 } ''; boot.initrd.luks.devices = { nvme0n1p2_crypt = { device = "/dev/disk/by-uuid/0fd33358-83dc-4acd-b6b8-0f079082367e"; preLVM = true; allowDiscards = true; }; }; networking.hostName = "flammea"; # Define your hostname. networking.hostId = "390adc00"; hardware.cpu.amd.updateMicrocode = true; networking.interfaces."enp42s0".wakeOnLan.enable = true; # users.extraUsers.presentation = { # isNormalUser = true; # extraGroups = [ "networkmanager" "audio" ]; # # shell = "${pkgs.zsh}/bin/zsh"; # shell = "/run/current-system/sw/bin/fish"; # # password = if config.virtualisation != null then "" else null; # }; environment.systemPackages = with pkgs; [ beets piper ddcutil ddcui ]; services.thermald.enable = true; virtualisation.virtualbox.host = { enable = true; enableExtensionPack = true; }; # nixpkgs.config.allowUnfree = true; # virtualisation.libvirtd = { # enable = true; # }; # networking.firewall.checkReversePath = false; # fileSystems."/var/lib/libvirt/images/vaccaria" = { # device = "//vaccaria.htdf.gebner.org/export/tmp/vms"; # fsType = "cifs"; # options = [ "noauto" "x-systemd.automount" "credentials=/etc/smbcredentials/vaccaria" # "forceuid" "forcegid" "uid=0" "gid=0" ]; # }; hardware.opengl.extraPackages = with pkgs; [ rocm-opencl-icd rocm-runtime ]; # services.nix-serve = { # enable = true; # secretKeyFile = "/etc/nix-serve/secret.key"; # }; # networking.firewall.allowedTCPPorts = [ config.services.nix-serve.port ]; networking.firewall.trustedInterfaces = [ "tailscale0" ]; services.openssh.settings.X11Forwarding = true; fileSystems."/mnt/aplysia".device = pkgs.lib.mkOverride 10 "//aplysia.auroch-boa.ts.net/export"; time.timeZone = pkgs.lib.mkOverride 10 "US/Pacific"; # nixpkgs.config.packageOverrides = super: let self = super.pkgs; in { # mesa_drivers = self.mesaDarwinOr ( # let mo = self.mesa_noglu.override { # llvmPackages = pkgs.llvmPackages_39; # grsecEnabled = false; # enableTextureFloats = true; # }; # in mo.drivers # ); # }; boot.kernelPackages = pkgs.lib.mkOverride 10 pkgs.linuxPackages_6_1; # services.xserver = { # videoDrivers = [ "amdgpu" ]; # deviceSection = '' # Option "TearFree" "on" # ''; # }; services.ratbagd.enable = true; # virtualisation.anbox = { # enable = true; # }; services.udev.extraRules = '' # allow admin use of i2c devices ACTION=="add", KERNEL=="i2c-[0-9]*", GROUP="wheel", MODE="666" ''; system.stateVersion = "22.11"; services.mpd = { enable = true; # network.listenAddress = "127.0.0.1"; # musicDirectory = "/mnt/aplysia/music"; musicDirectory = "/home/gebner/Music"; user = "gebner"; extraConfig = '' bind_to_address "100.125.210.32" # audio_output { # type "alsa" # name "dac" # device "sysdefault:CARD=QAMP" # } audio_output { type "pulse" name "pulse" server "127.0.0.1" } audio_output { type "httpd" name "http" encoder "flac" port "${toString mpdStreamingPort}" } replaygain "auto" restore_paused "yes" ''; }; environment.etc."pipewire/pipewire-pulse.conf.d/listen.conf".text = '' pulse.properties = { server.address = [ "unix:native" "tcp:127.0.0.1:4713" # "tcp:100.97.134.100:4713" ] } ''; }