Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
Commit255dcf8c83e9abe333a248639394c1fb859c3fcd (patch)
Author
 Syndamia <kamen@syndamia.com>
2024-09-18 22:27:44 +0300
Committer
 Syndamia <kamen@syndamia.com>
2024-09-18 22:27:44 +0300
Files5554452fb61cf4c457cba41460b44de96d991757
nix-255dcf8c83e9abe333a248639394c1fb859c3fcd.tar
nix-255dcf8c83e9abe333a248639394c1fb859c3fcd.tar.gz
nix-255dcf8c83e9abe333a248639394c1fb859c3fcd.zip
Parent88a10699885b9a69222bbddffc8a9f73d966038c (diff)
feat(ceres): Add machine
3 files changed, 115 insertions, 0 deletions
-rw-r--r--machines/ceres/configuration.nix26
-rw-r--r--machines/ceres/hardware-configuration.nix82
-rw-r--r--machines/ceres/sysidentity.nix7
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;
+}