nixos-config/flammea.nix

198 lines
4.6 KiB
Nix
Raw Normal View History

2021-04-02 14:13:27 +02:00
{ config, pkgs, ... }:
2022-11-26 05:14:38 +01:00
let mpdStreamingPort = 8080; in
2021-04-02 14:13:27 +02:00
{
imports =
[
./common-headless.nix
2023-02-24 23:04:05 +01:00
# ./sway.nix
2022-04-07 18:50:58 +02:00
# ./i3.nix
2023-02-24 23:04:05 +01:00
./gnome3.nix
2021-04-02 14:13:27 +02:00
./large-sw.nix
./uefi.nix
./fstrim.nix
# ./qemu-user.nix
./atmega.nix
./v4l2loopback.nix
./huion.nix
2021-05-22 15:14:01 +02:00
./spacenav.nix
./nvim05.nix
./nm-restart.nix
2022-11-26 03:46:33 +01:00
./tailscale.nix
2021-04-02 14:13:27 +02:00
];
2021-05-22 19:24:11 +02:00
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 = [ ];
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 = [ ];
2021-04-02 14:13:27 +02:00
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";
2021-04-02 19:22:49 +02:00
hardware.cpu.amd.updateMicrocode = true;
2021-04-02 14:13:27 +02:00
2021-10-22 09:08:04 +02:00
networking.interfaces."enp42s0".wakeOnLan.enable = true;
2021-04-02 14:13:27 +02:00
# 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
2021-04-03 11:59:52 +02:00
ddcutil
2021-04-07 22:03:20 +02:00
ddcui
2021-04-02 14:13:27 +02:00
];
services.thermald.enable = true;
virtualisation.virtualbox.host = {
2023-02-24 23:04:05 +01:00
enable = true;
enableExtensionPack = true;
2021-04-02 14:13:27 +02:00
};
# 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
2022-04-07 18:50:58 +02:00
rocm-runtime
2021-04-02 14:13:27 +02:00
];
# services.nix-serve = {
# enable = true;
# secretKeyFile = "/etc/nix-serve/secret.key";
# };
# networking.firewall.allowedTCPPorts = [ config.services.nix-serve.port ];
2022-11-26 05:14:38 +01:00
networking.firewall.trustedInterfaces = [ "tailscale0" ];
2021-04-02 14:13:27 +02:00
services.openssh.forwardX11 = true;
2022-11-26 03:46:33 +01:00
fileSystems."/mnt/aplysia".device = pkgs.lib.mkOverride 10 "//aplysia.auroch-boa.ts.net/export";
time.timeZone = pkgs.lib.mkOverride 10 "US/Pacific";
2021-04-02 14:13:27 +02:00
# 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_latest;
# boot.kernelPackages = pkgs.lib.mkOverride 10 pkgs.linuxPackages;
# boot.kernelPackages = pkgs.lib.mkOverride 10 pkgs.linuxPackages_5_8;
2022-04-07 18:50:58 +02:00
# services.xserver = {
# videoDrivers = [ "amdgpu" ];
# deviceSection = ''
# Option "TearFree" "on"
# '';
# };
2021-04-02 14:13:27 +02:00
services.ratbagd.enable = true;
# virtualisation.anbox = {
# enable = true;
# };
2021-04-03 11:59:52 +02:00
services.udev.extraRules = ''
# allow admin use of i2c devices
ACTION=="add", KERNEL=="i2c-[0-9]*", GROUP="wheel", MODE="666"
'';
2022-11-26 03:46:27 +01:00
system.stateVersion = "22.11";
2021-04-02 14:13:27 +02:00
2022-11-26 05:14:38 +01:00
services.mpd = {
enable = true;
# network.listenAddress = "127.0.0.1";
2023-02-24 23:04:05 +01:00
# musicDirectory = "/mnt/aplysia/music";
musicDirectory = "/home/gebner/Music";
user = "gebner";
2022-11-26 05:14:38 +01:00
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"
];
};
};
2021-04-02 14:13:27 +02:00
}