From ce3d7e48ac38ec50427b956e6c0c9688128906b9 Mon Sep 17 00:00:00 2001 From: Alejandro Angulo Date: Thu, 27 Oct 2022 09:06:54 -0700 Subject: [PATCH] Setup slippi for playing melee online Also sets up monitor to run at 120Hz and prevents sway from locking when any window is fullscreen (kept locking while I was playing) --- flake.lock | 110 ++++++++++++++++++++++++++++++-- flake.nix | 3 + system/gospel/configuration.nix | 12 ++++ users/alejandro/sway/sway.nix | 9 +++ 4 files changed, 130 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index ab7d046..6409d89 100644 --- a/flake.lock +++ b/flake.lock @@ -21,13 +21,78 @@ "type": "github" } }, + "lowdown-src": { + "flake": false, + "locked": { + "lastModified": 1598695561, + "narHash": "sha256-gyH/5j+h/nWw0W8AcR2WKvNBUsiQ7QuxqSJNXAwV+8E=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "1705b4a26fbf065d9574dce47a94e8c7c79e052f", + "type": "github" + }, + "original": { + "owner": "kristapsdz", + "repo": "lowdown", + "type": "github" + } + }, + "nix": { + "inputs": { + "lowdown-src": "lowdown-src", + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1609520816, + "narHash": "sha256-IGO7tfJXsv9u2wpW76VCzOsHYapRZqH9pHGVsoffPrI=", + "owner": "NixOS", + "repo": "nix", + "rev": "8a2ce0f455da32bc20978e68c0aad9efb4560abc", + "type": "github" + }, + "original": { + "id": "nix", + "type": "indirect" + } + }, "nixpkgs": { "locked": { - "lastModified": 1664538465, - "narHash": "sha256-EnlC7dDKX7X1wlnXkB1gmn9rBZQ0J9+biVTZHw//8us=", + "lastModified": 1665081174, + "narHash": "sha256-6hsmzdhdy8Kbvl5e0xZNE83pW3fKQvNiobJkM6KQrgA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "10ecda252ce1b3b1d6403caeadbcc8f30d5ab796", + "rev": "598f83ebeb2235435189cf84d844b8b73e858e0f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1602702596, + "narHash": "sha256-fqJ4UgOb4ZUnCDIapDb4gCrtAah5Rnr2/At3IzMitig=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ad0d20345219790533ebe06571f82ed6b034db31", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-20.09-small", + "type": "indirect" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1665259268, + "narHash": "sha256-ONFhHBLv5nZKhwV/F2GOH16197PbvpyWhoO0AOyktkU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "c5924154f000e6306030300592f4282949b2db6c", "type": "github" }, "original": { @@ -40,7 +105,44 @@ "root": { "inputs": { "home-manager": "home-manager", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "ssbm-nix": "ssbm-nix" + } + }, + "slippi-desktop": { + "flake": false, + "locked": { + "lastModified": 1607036060, + "narHash": "sha256-TUYsiVvKAws3N3roZYDwkLB0obyl6zwvh8CAk2RwHrY=", + "owner": "project-slippi", + "repo": "slippi-desktop-app", + "rev": "3ca39ba6bbd02157515b12a79aa01e5d669ad1b1", + "type": "github" + }, + "original": { + "owner": "project-slippi", + "repo": "slippi-desktop-app", + "type": "github" + } + }, + "ssbm-nix": { + "inputs": { + "nix": "nix", + "nixpkgs": "nixpkgs_3", + "slippi-desktop": "slippi-desktop" + }, + "locked": { + "lastModified": 1665335753, + "narHash": "sha256-gtcRAaExgCi4p8+hVhGXhKiIj49n+Kr2JwAFdiI244U=", + "owner": "djanatyn", + "repo": "ssbm-nix", + "rev": "e61d2646a291a217e43d86a7cf2219bbc6ffa69c", + "type": "github" + }, + "original": { + "owner": "djanatyn", + "repo": "ssbm-nix", + "type": "github" } } }, diff --git a/flake.nix b/flake.nix index ff02b3e..c34eba9 100644 --- a/flake.nix +++ b/flake.nix @@ -5,11 +5,13 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; home-manager.url = "github:nix-community/home-manager/release-22.05"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; + ssbm-nix.url = github:djanatyn/ssbm-nix; }; outputs = { nixpkgs, home-manager, + ssbm-nix, ... }: let system = "x86_64-linux"; @@ -59,6 +61,7 @@ inherit system; modules = [ + ssbm-nix.nixosModule ./system/gospel/configuration.nix ./common/yubikey.nix ]; diff --git a/system/gospel/configuration.nix b/system/gospel/configuration.nix index 886a4aa..fe5e3f0 100644 --- a/system/gospel/configuration.nix +++ b/system/gospel/configuration.nix @@ -70,6 +70,15 @@ shell = pkgs.zsh; }; + ssbm = { + overlay.enable = true; + cache.enable = true; + gcc = { + oc-kmod.enable = true; + rules.enable = true; + }; + }; + programs.sway = { enable = true; wrapperFeatures.gtk = true; # so that gtk works properly @@ -89,6 +98,9 @@ # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ + slippi-netplay + slippi-playback + vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. wget git diff --git a/users/alejandro/sway/sway.nix b/users/alejandro/sway/sway.nix index dd19b8b..7084590 100644 --- a/users/alejandro/sway/sway.nix +++ b/users/alejandro/sway/sway.nix @@ -74,12 +74,21 @@ }; }; + window.commands = [ + { + command = "inhibit_idle fullscreen"; + criterira = {class = ".*";}; + } + ]; + focus.followMouse = false; output = { "*".bg = "${config.home.homeDirectory}/wallpaper.png fill"; "eDP-1".scale = "1"; + "Unknown ASUS VG24V 0x00007AAC".mode = "1920x1080@120Hz"; + "Dell Inc. DELL S2721QS 47W7M43" = { transform = "270"; position = "1920 0";