diff options
| Commit | 255dcf8c83e9abe333a248639394c1fb859c3fcd (patch) | |
|---|---|---|
| Author | 2024-09-18 22:27:44 +0300 | |
| Committer | 2024-09-18 22:27:44 +0300 | |
| Files | 5554452fb61cf4c457cba41460b44de96d991757 | |
| nix-255dcf8c83e9abe333a248639394c1fb859c3fcd.tar nix-255dcf8c83e9abe333a248639394c1fb859c3fcd.tar.gz nix-255dcf8c83e9abe333a248639394c1fb859c3fcd.zip | ||
| Parent | 88a10699885b9a69222bbddffc8a9f73d966038c (diff) | |
feat(ceres): Add machine
3 files changed, 115 insertions, 0 deletions
| -rw-r--r-- | machines/ceres/configuration.nix | 26 | ||||
| -rw-r--r-- | machines/ceres/hardware-configuration.nix | 82 | ||||
| -rw-r--r-- | machines/ceres/sysidentity.nix | 7 |
diff --git a/machines/ceres/configuration.nix b/machines/ceres/configuration.nix new file mode 100644 index 0000000..5e497d5 --- /dev/null +++ b/machines/ceres/configuration.nix @@ -0,0 +1,26 @@ +{ pkgs, ... }: { + environment.systemPackages = with pkgs; [ + alsa-plugins radeontop glxinfo vulkan-tools clinfo gpu-viewer lutris wine gns3-server gns3-gui docker tigervnc ubridge vpcs + ]; + + networking.firewall.enable = false; + + security.wrappers.ubridge = { + source = "${pkgs.ubridge}/bin/ubridge"; + capabilities = "cap_net_admin,cap_net_raw=ep"; + owner = "root"; + group = "ubridge"; + permissions = "u+rx,g+rx,o+rx"; + }; + + programs.steam = { + enable = true; + remotePlay.openFirewall = true; + dedicatedServer.openFirewall = true; + }; + + # https://github.com/NixOS/nixpkgs/issues/6860 + environment.sessionVariables = { + ALSA_PLUGIN_DIR = pkgs.alsa-plugins.outPath + "/lib/alsa-lib"; + }; +} diff --git a/machines/ceres/hardware-configuration.nix b/machines/ceres/hardware-configuration.nix new file mode 100644 index 0000000..15c6ae9 --- /dev/null +++ b/machines/ceres/hardware-configuration.nix @@ -0,0 +1,82 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" "amdgpu" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/3a9fb168-635b-4e85-8bd6-d6e592361870"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/6621-89DB"; + fsType = "vfat"; + }; + + fileSystems."/mnt/Svalbard" = + { device = "/dev/disk/by-uuid/5bd27e26-5b83-4485-ab3f-bcfbbd2b40d5"; + fsType = "ext4"; + options = [ "defaults" "x-gvfs-show" ]; + }; + + fileSystems."/mnt/Norilsk" = + { device = "/dev/disk/by-uuid/689f863a-5026-42ff-aecc-3195e8d8c684"; + fsType = "ext4"; + options = [ "defaults" "x-gvfs-show" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp4s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + + # GPU + #boot.initrd.kernelModules = [ "amdgpu" ]; + services.xserver.videoDrivers = [ "amdgpu" ]; + + # systemd.tmpfiles.rules = [ + # "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}" + # ]; + hardware.opengl = { + # Mesa + enable = true; + + extraPackages = with pkgs; [ + # OpenCL + rocmPackages.clr + # VA-API + libva + # AMDVLK + amdvlk + ]; + extraPackages32 = with pkgs; [ + driversi686Linux.amdvlk + ]; + + # Vulkan + driSupport = true; + # For 32 bit applications + driSupport32Bit = true; + }; + # system.replaceRuntimeDependencies = [ + # ({ original = pkgs.mesa; replacement = (import /srv/nixpkgs-mesa { }).pkgs.mesa; }) + # ({ original = pkgs.mesa.drivers; replacement = (import /srv/nixpkgs-mesa { }).pkgs.mesa.drivers; }) + # ]; +} diff --git a/machines/ceres/sysidentity.nix b/machines/ceres/sysidentity.nix new file mode 100644 index 0000000..cbffa01 --- /dev/null +++ b/machines/ceres/sysidentity.nix @@ -0,0 +1,7 @@ +groups: { + name = "ceres"; + arch = "x86_64-linux"; + kind = "personal"; + + include = groups.desktop; +} |
