Login Register


My journey with NixOS filter_list
Author
Message
My journey with NixOS #1
Heyo,
before we talk about NixOS, I should probably talk about my background with linux.
I've been using linux since ~2014, been using Ubuntu, Arch and a tiny bit of Fedora so I'd say I know my way around linux.

My NixOS journey started around 2 months ago.
Why? Well mostly because I love the idea of having a fully declarative system that I can just nuke whenever I feel like I need to.
I started with watching some videos from Vimjoyer to get the basic grasp of it including flakes and home-manager. Which was not as confusing as people made it out to be. Slowly but surely I started building my own proper system.
Did I run into issues? Yes I did! A few of them actually, starting with steam... I didn't know I had to add
Code:
    remotePlay.openFirewall = true;     dedicatedServer.openFirewall = true;     localNetworkGameTransfers.openFirewall = true;
to the programs.steam part (see https://nixos.wiki/wiki/Steam)
Afterwards I was trying to get VR working on steam with SteamVR and my HTC Vive (also I'm using an AMD GPU & CPU) which was a WHOLE different issue. I can't pinpoint what actually made it work but my whole steam.nix (using flake + home-manager) is in the spoiler. So if you got struggles using VR with nix, that's for you!

Spoiler:
Code:
{ pkgs, ... }: {   hardware.steam-hardware.enable = true;   programs.steam = {     enable = true;     remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play     dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server     localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers   };   # OpenGL and Vulkan configuration   hardware.graphics.enable = true;   hardware.graphics.extraPackages = with pkgs; [     vulkan-loader     vulkan-tools   ];   # Add system packages for VR support   environment.systemPackages = with pkgs; [     openvr # Required for SteamVR     libusb1 # Used for VR devices     usbutils     pkgs.libsndfile     pkgs.xwayland   ];   # Udev rules for VR devices   services.udev.packages = with pkgs; [     openvr   ];   services.udev.extraRules = ''     # HTC Vive     SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="2c87", MODE="0666", GROUP="plugdev"     SUBSYSTEM=="usb", ATTR{idVendor}=="28de", ATTR{idProduct}=="2101", MODE="0666", GROUP="plugdev"     SUBSYSTEM=="usb", ATTR{idVendor}=="28de", ATTR{idProduct}=="2000", MODE="0666", GROUP="plugdev"   ''; }


After that, I started transfering my waybar, swaync and some other configs into .nix files... which was much much easier than I thought. It's as simple as:
Code:
home.file.".path/to/file".text = '' config here '';
So far the whole setup took me around a week or two, there is probably much more I need to learn but that will be something for the next time.

Not sure if it will help anyone but I'd gladly help if anyone got any questions!

//Update
I just recieved my quest 3 yesterday and I'm happy to say that also quest 3 works perfectly fine using ALVR.
(This post was last modified: 01-30-2025, 02:29 PM by Leviathan.)
[Image: i446OyG.png]

Reply







Users browsing this thread: 1 Guest(s)