update: viridian+fuchsia configuration
This commit is contained in:
parent
802e1c5289
commit
71639ed7ef
|
@ -1,52 +1,20 @@
|
|||
{pkgs, ...}: {
|
||||
{...}: {
|
||||
imports = [
|
||||
# Global configuartion for all our systems
|
||||
../common/global
|
||||
|
||||
# Our user configuration and optional user units
|
||||
../common/users/sajenim
|
||||
../common/users/sajenim/samba
|
||||
../common/users/sajenim/steam
|
||||
|
||||
# Optional components
|
||||
../common/optional/key.nix
|
||||
|
||||
# Programs and services
|
||||
./programs
|
||||
./services
|
||||
# Setup our hardware
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
# Boot configuration
|
||||
boot = {
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
kernelParams = [
|
||||
# Enable amdgpu driver sysfs API that allows fine grain control of GPU
|
||||
"amdgpu.ppfeaturemask=0xffffffff"
|
||||
];
|
||||
kernelModules = ["i2c-dev" "i2c-piix4"];
|
||||
initrd.kernelModules = ["amdgpu"];
|
||||
};
|
||||
|
||||
# Hardware configuration
|
||||
hardware = {
|
||||
bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
};
|
||||
pulseaudio = {
|
||||
enable = true;
|
||||
support32Bit = true;
|
||||
extraConfig = "load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1";
|
||||
};
|
||||
opengl = {
|
||||
enable = true;
|
||||
# Vulkan
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
# OpenCL
|
||||
extraPackages = with pkgs; [
|
||||
rocmPackages.clr.icd
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# Networking configuration
|
||||
networking = {
|
||||
hostName = "fuchsia";
|
||||
|
|
|
@ -1,26 +1,68 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
# Our ephemeral system. Wipe root on reboot.
|
||||
../common/optional/ephemeral-btrfs.nix
|
||||
];
|
||||
|
||||
# Boot configuration
|
||||
boot = {
|
||||
# Initial ramdisk
|
||||
initrd = {
|
||||
# The modules listed here are available in the initrd, but are only loaded on demand.
|
||||
availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"];
|
||||
kernelModules = ["kvm-amd"];
|
||||
# List of modules that are always loaded by the initrd.
|
||||
kernelModules = ["kvm-amd" "amdgpu"];
|
||||
};
|
||||
|
||||
# Linux kernel used by NixOS.
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
# Parameters added to the kernel command line.
|
||||
kernelParams = [
|
||||
# Enable amdgpu driver sysfs API that allows fine grain control of GPU
|
||||
"amdgpu.ppfeaturemask=0xffffffff"
|
||||
];
|
||||
# The set of kernel modules to be loaded in the second stage of the boot process.
|
||||
kernelModules = ["i2c-dev" "i2c-piix4"];
|
||||
|
||||
# Our boot loader configuration
|
||||
loader = {
|
||||
systemd-boot.enable = true;
|
||||
efi = {
|
||||
canTouchEfiVariables = true;
|
||||
efiSysMountPoint = "/boot";
|
||||
canTouchEfiVariables = true;
|
||||
};
|
||||
systemd-boot.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Hardware configuration
|
||||
hardware = {
|
||||
bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
};
|
||||
pulseaudio = {
|
||||
enable = true;
|
||||
support32Bit = true;
|
||||
extraConfig = "load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1";
|
||||
};
|
||||
opengl = {
|
||||
enable = true;
|
||||
# Vulkan
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
# OpenCL
|
||||
extraPackages = with pkgs; [
|
||||
rocmPackages.clr.icd
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# Setup our filesystems
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-label/ESP";
|
||||
fsType = "vfat";
|
||||
|
|
|
@ -1,29 +1,19 @@
|
|||
{pkgs, ...}: {
|
||||
{...}: {
|
||||
imports = [
|
||||
# Global configuration for all our systems
|
||||
../common/global
|
||||
# Our user configuration and optional user units
|
||||
../common/users/sajenim
|
||||
../common/users/spectre
|
||||
|
||||
# Programs and services
|
||||
./programs
|
||||
./services
|
||||
./containers
|
||||
# Setup our hardware
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
boot.kernel.sysctl = {
|
||||
"net.ipv4.ip_unprivileged_port_start" = 0;
|
||||
};
|
||||
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
extraPackages = with pkgs; [
|
||||
intel-media-driver
|
||||
vaapiIntel
|
||||
vaapiVdpau
|
||||
libvdpau-va-gl
|
||||
intel-compute-runtime
|
||||
];
|
||||
};
|
||||
|
||||
# Networking configuration
|
||||
networking = {
|
||||
hostName = "viridian";
|
||||
networkmanager.enable = true;
|
||||
|
@ -42,16 +32,12 @@
|
|||
80 # traefik (HTTP)
|
||||
443 # traefik (HTTPS)
|
||||
32372 # qbittorrent
|
||||
51820 # Wireguard
|
||||
6600 # mpd
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
programs = {
|
||||
zsh.enable = true;
|
||||
};
|
||||
|
||||
# Use docker instead of podman for our containers.
|
||||
virtualisation.docker = {
|
||||
enable = true;
|
||||
liveRestore = false;
|
||||
|
|
|
@ -1,28 +1,54 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
hostname = config.networking.hostName;
|
||||
in {
|
||||
imports = [
|
||||
# Our ephemeral system. Wipe root on reboot.
|
||||
../common/optional/ephemeral-btrfs.nix
|
||||
];
|
||||
|
||||
# Boot configuration
|
||||
boot = {
|
||||
# Initial ramdisk
|
||||
initrd = {
|
||||
# The modules listed here are available in the initrd, but are only loaded on demand.
|
||||
availableKernelModules = ["xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod"];
|
||||
# List of modules that are always loaded by the initrd.
|
||||
kernelModules = ["kvm-intel"];
|
||||
};
|
||||
loader = {
|
||||
systemd-boot.enable = true;
|
||||
efi = {
|
||||
canTouchEfiVariables = true;
|
||||
efiSysMountPoint = "/boot";
|
||||
|
||||
# Runtime parameters of the Linux kernel
|
||||
kernel.sysctl = {
|
||||
"net.ipv4.ip_unprivileged_port_start" = 0;
|
||||
};
|
||||
|
||||
# Our boot loader configuration
|
||||
loader = {
|
||||
efi = {
|
||||
efiSysMountPoint = "/boot";
|
||||
canTouchEfiVariables = true;
|
||||
};
|
||||
systemd-boot.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Hardware configuration
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
extraPackages = with pkgs; [
|
||||
intel-media-driver
|
||||
vaapiIntel
|
||||
vaapiVdpau
|
||||
libvdpau-va-gl
|
||||
intel-compute-runtime
|
||||
];
|
||||
};
|
||||
|
||||
# Setup our filesystems
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-label/ESP";
|
||||
fsType = "vfat";
|
||||
|
|
5
nixos/viridian/programs/default.nix
Normal file
5
nixos/viridian/programs/default.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
{...}: {
|
||||
programs = {
|
||||
zsh.enable = true;
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue