diff --git a/flake.lock b/flake.lock index 0a639d4..301f1e4 100644 --- a/flake.lock +++ b/flake.lock @@ -177,6 +177,22 @@ "url": "https://git.lix.systems/lix-project/flake-compat.git" } }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -250,6 +266,51 @@ "type": "github" } }, + "git-hooks": { + "inputs": { + "flake-compat": "flake-compat_2", + "gitignore": "gitignore", + "nixpkgs": [ + "slippi", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1742649964, + "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "slippi", + "git-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, "gnome-shell": { "flake": false, "locked": { @@ -308,6 +369,27 @@ "type": "github" } }, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "slippi", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1744735751, + "narHash": "sha256-OPpfgL3qUIbQdbmp1/ZwnlsuTLooHN4or0EABnZTFRY=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "db7738e67a101ad945abbcb447e1310147afaf1b", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, "mnw": { "locked": { "lastModified": 1758834834, @@ -468,11 +550,34 @@ "nixpkgs": "nixpkgs_2", "nixpkgs-unstable": "nixpkgs-unstable", "nvf": "nvf", + "slippi": "slippi", "sops-nix": "sops-nix", "stylix": "stylix", "vpn-confinement": "vpn-confinement" } }, + "slippi": { + "inputs": { + "git-hooks": "git-hooks", + "home-manager": "home-manager_2", + "nixpkgs": [ + "nixpkgs-unstable" + ] + }, + "locked": { + "lastModified": 1760294822, + "narHash": "sha256-VSzDcCkS/kGrALPv81x5yjqjt5o7n4lVjE/gknlz+1w=", + "owner": "lytedev", + "repo": "slippi-nix", + "rev": "abee78f6ad931c2a2f18dae102f51abcaf1a26c6", + "type": "github" + }, + "original": { + "owner": "lytedev", + "repo": "slippi-nix", + "type": "github" + } + }, "sops-nix": { "inputs": { "nixpkgs": [ diff --git a/modules/desktop/gaming/default.nix b/modules/desktop/gaming/default.nix index f7ee925..0fab8d8 100644 --- a/modules/desktop/gaming/default.nix +++ b/modules/desktop/gaming/default.nix @@ -1,10 +1,12 @@ { pkgs, config, + inputs, lib, ... }: { imports = [ + inputs.slippi.nixosModules.default ./steam ./lutris ./proton_ge diff --git a/users/blake/dots/default.nix b/users/blake/dots/default.nix index d369790..b31ede6 100644 --- a/users/blake/dots/default.nix +++ b/users/blake/dots/default.nix @@ -6,7 +6,6 @@ }: { imports = [ ./core - ./browser ./desktop ./programs ]; diff --git a/users/blake/dots/programs/browsers/default.nix b/users/blake/dots/programs/browsers/default.nix index a83bf2d..ab0e84f 100644 --- a/users/blake/dots/programs/browsers/default.nix +++ b/users/blake/dots/programs/browsers/default.nix @@ -11,7 +11,7 @@ in { ./firefox ]; - options.dots.programs = { + options.dots.browsers = { enable = lib.mkEnableOption "enables all programs by default"; }; diff --git a/users/blake/dots/programs/slippi/default.nix b/users/blake/dots/programs/slippi/default.nix index 2940be1..6f2b254 100644 --- a/users/blake/dots/programs/slippi/default.nix +++ b/users/blake/dots/programs/slippi/default.nix @@ -7,6 +7,7 @@ }: let program = "slippi"; cfg = config.dots.${program}; + home_dir = config.home.homeDirectory; in { options.dots.${program} = { enable = lib.mkEnableOption "enables ${program}"; @@ -19,12 +20,19 @@ in { config = lib.mkIf cfg.enable { # enable with home-manager - programs.${program} = { + # this is very nice thanks to: https://github.com/lytedev/slippi-nix + # that link is where the options can be found + slippi-launcher = { enable = true; + isoPath = "${home_dir}/documents/melee/isos/Super Smash Bros. Melee (USA) (En,Ja) (v1.02).iso"; + launchMeleeOnPlay = false; + useMonthlySubfolders = true; # for replays + # in the event this is out of date, versions can be specificed here + #netplayVersion = "2.11.10"; + #netplayHash = "sha256-d1iawMsMwFElUqFmwWAD9rNsDdQr2LKscU8xuJPvxYg="; + #playbackVersion = "2.11.10"; + #playbackHash = "sha256-d1iawMsMwFElUqFmwWAD9rNsDdQr2LKscU8xuJPvxYg="; }; - # just install package - home.packages = with pkgs; []; - }; }