197 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			197 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| { 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.forwardX11 = 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"
 | |
|     '';
 | |
|   };
 | |
| 
 | |
|   services.pipewire = {
 | |
|     config.pipewire-pulse = {
 | |
|       "pulse.properties"."server.address" = [
 | |
|         "unix:native"
 | |
|         "tcp:127.0.0.1:4713"
 | |
|         # "tcp:100.97.134.100:4713"
 | |
|       ];
 | |
|     };
 | |
|   };
 | |
| 
 | |
| }
 |