diff --git a/flake.lock b/flake.lock index bb38070..0109108 100644 --- a/flake.lock +++ b/flake.lock @@ -1116,6 +1116,25 @@ "type": "github" } }, + "jovian": { + "inputs": { + "nix-github-actions": "nix-github-actions", + "nixpkgs": "nixpkgs_6" + }, + "locked": { + "lastModified": 1734725857, + "narHash": "sha256-bivlV9l/UjMtTfz/CZaoNJ5RfH2Lre4P9Ds64conoUQ=", + "owner": "Jovian-Experiments", + "repo": "Jovian-NixOS", + "rev": "dbae2fd6adaf34c947d310bec08deac7c4ed265b", + "type": "github" + }, + "original": { + "owner": "Jovian-Experiments", + "repo": "Jovian-NixOS", + "type": "github" + } + }, "master": { "locked": { "lastModified": 1734212916, @@ -1182,7 +1201,7 @@ "git-hooks": "git-hooks", "hercules-ci-effects": "hercules-ci-effects", "neovim-src": "neovim-src", - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_7", "treefmt-nix": "treefmt-nix" }, "locked": { @@ -1316,6 +1335,28 @@ "type": "github" } }, + "nix-github-actions": { + "inputs": { + "nixpkgs": [ + "jovian", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1729697500, + "narHash": "sha256-VFTWrbzDlZyFHHb1AlKRiD/qqCJIripXKiCSFS8fAOY=", + "owner": "zhaofengli", + "repo": "nix-github-actions", + "rev": "e418aeb728b6aa5ca8c5c71974e7159c2df1d8cf", + "type": "github" + }, + "original": { + "owner": "zhaofengli", + "ref": "matrix-name", + "repo": "nix-github-actions", + "type": "github" + } + }, "nix-index-database": { "inputs": { "nixpkgs": [ @@ -1492,6 +1533,22 @@ } }, "nixpkgs_10": { + "locked": { + "lastModified": 1733940404, + "narHash": "sha256-Pj39hSoUA86ZePPF/UXiYHHM7hMIkios8TYG29kQT4g=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "5d67ea6b4b63378b9c13be21e2ec9d1afc921713", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_11": { "locked": { "lastModified": 1730768919, "narHash": "sha256-8AKquNnnSaJRXZxc5YmF/WfmxiHX6MMZZasRP6RRQkE=", @@ -1507,7 +1564,7 @@ "type": "github" } }, - "nixpkgs_11": { + "nixpkgs_12": { "locked": { "lastModified": 1733212471, "narHash": "sha256-M1+uCoV5igihRfcUKrr1riygbe73/dzNnzPsmaLCmpo=", @@ -1523,7 +1580,7 @@ "type": "github" } }, - "nixpkgs_12": { + "nixpkgs_13": { "locked": { "lastModified": 1692934111, "narHash": "sha256-9EEE59v/esKNMR5zKbLRV9NoRPYvERw5jHQOnfr47bk=", @@ -1604,6 +1661,22 @@ } }, "nixpkgs_6": { + "locked": { + "lastModified": 1733392399, + "narHash": "sha256-kEsTJTUQfQFIJOcLYFt/RvNxIK653ZkTBIs4DG+cBns=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d0797a04b81caeae77bcff10a9dde78bc17f5661", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_7": { "locked": { "lastModified": 1733749988, "narHash": "sha256-+5qdtgXceqhK5ZR1YbP1fAUsweBIrhL38726oIEAtDs=", @@ -1619,7 +1692,7 @@ "type": "github" } }, - "nixpkgs_7": { + "nixpkgs_8": { "locked": { "lastModified": 1733935885, "narHash": "sha256-xyiHLs6KJ1fxeGmcCxKjJE4yJknVJxbC8Y/ZRYyC8WE=", @@ -1635,7 +1708,7 @@ "type": "github" } }, - "nixpkgs_8": { + "nixpkgs_9": { "locked": { "lastModified": 1733392399, "narHash": "sha256-kEsTJTUQfQFIJOcLYFt/RvNxIK653ZkTBIs4DG+cBns=", @@ -1651,22 +1724,6 @@ "type": "github" } }, - "nixpkgs_9": { - "locked": { - "lastModified": 1733940404, - "narHash": "sha256-Pj39hSoUA86ZePPF/UXiYHHM7hMIkios8TYG29kQT4g=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "5d67ea6b4b63378b9c13be21e2ec9d1afc921713", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nixvim": { "inputs": { "devshell": [ @@ -1681,7 +1738,7 @@ "home-manager" ], "nix-darwin": "nix-darwin", - "nixpkgs": "nixpkgs_8", + "nixpkgs": "nixpkgs_9", "nuschtosSearch": "nuschtosSearch", "treefmt-nix": "treefmt-nix_2" }, @@ -1702,7 +1759,7 @@ "nur": { "inputs": { "flake-parts": "flake-parts_5", - "nixpkgs": "nixpkgs_9", + "nixpkgs": "nixpkgs_10", "treefmt-nix": "treefmt-nix_3" }, "locked": { @@ -1818,7 +1875,7 @@ "inputs": { "flake-compat": "flake-compat_6", "gitignore": "gitignore_4", - "nixpkgs": "nixpkgs_10", + "nixpkgs": "nixpkgs_11", "nixpkgs-stable": "nixpkgs-stable_4" }, "locked": { @@ -1871,6 +1928,7 @@ "hypr-contrib": "hypr-contrib", "hyprland": "hyprland", "impermanence": "impermanence", + "jovian": "jovian", "master": "master", "mirador": "mirador", "neovim-nightly-overlay": "neovim-nightly-overlay", @@ -1879,7 +1937,7 @@ "nix-index-database": "nix-index-database", "nix-monitored": "nix-monitored", "nixos-facter-modules": "nixos-facter-modules", - "nixpkgs": "nixpkgs_7", + "nixpkgs": "nixpkgs_8", "nixvim": "nixvim", "nur": "nur", "pre-commit-hooks": "pre-commit-hooks_2", @@ -1961,7 +2019,7 @@ "inputs": { "flake-utils": "flake-utils_4", "ixx": "ixx_2", - "nixpkgs": "nixpkgs_11" + "nixpkgs": "nixpkgs_12" }, "locked": { "lastModified": 1733773348, @@ -2116,7 +2174,7 @@ "timers": { "inputs": { "naersk": "naersk", - "nixpkgs": "nixpkgs_12", + "nixpkgs": "nixpkgs_13", "utils": "utils_2" }, "locked": { diff --git a/flake.nix b/flake.nix index 7cf7dd5..a126049 100644 --- a/flake.nix +++ b/flake.nix @@ -89,6 +89,8 @@ search.url = "github:NuschtOS/search"; ghostty.url = "git+ssh://git@github.com/ghostty-org/ghostty"; + + jovian.url = "github:Jovian-Experiments/Jovian-NixOS"; }; outputs = inputs@{ self, flake-parts, ... }: @@ -192,6 +194,7 @@ inputs.nix-index-database.nixosModules.nix-index inputs.nixos-facter-modules.nixosModules.facter inputs.niri.nixosModules.niri + inputs.jovian.nixosModules.default path ]; }) diff --git a/modules/profiles/gaming.nix b/modules/profiles/gaming.nix index 1546724..2dc945c 100644 --- a/modules/profiles/gaming.nix +++ b/modules/profiles/gaming.nix @@ -1,5 +1,6 @@ { lib , config +, inputs , pkgs , ... }: @@ -12,11 +13,25 @@ in options.my.profiles.gaming.enable = mkEnableOption "Enable gaming profile"; config = mkIf cfg.enable { - programs.steam.enable = true; - environment.systemPackages = with pkgs; [ - lutris - legendary-gl - mangohud - ]; + specialisation.gaming.configuration = { + imports = [ inputs.jovian.nixosModules.default ]; + environment.persistence."/persist".users.moritz.directories = [ + ".cache/lutris/" + ".config/gamescope" + ".local/share/Steam/" + ".local/share/lutris/" + ]; + users.users.moritz.packages = [ pkgs.lutris ]; + jovian.steam.enable = true; + jovian.steam.autoStart = true; + jovian.steam.user = "moritz"; + jovian.steam.desktopSession = "niri"; + my.programs.niri.autoStart = false; + environment.sessionVariables = { + DXVK_HDR = "1"; + ENABLE_HDR_WSI = "1"; + ENABLE_GAMESCOPE_WSI = "1"; + }; + }; }; } diff --git a/modules/profiles/impermanence.nix b/modules/profiles/impermanence.nix index bca52f3..de268ae 100644 --- a/modules/profiles/impermanence.nix +++ b/modules/profiles/impermanence.nix @@ -45,9 +45,9 @@ in ".config/Signal/" ".config/calibre" ".config/keepassxc" - ".local/share/Steam/" ".local/share/zoxide" ".mozilla" + ".steam" "Documents" "Downloads" "Music" diff --git a/modules/programs/niri.nix b/modules/programs/niri.nix index be1dc0a..5368b64 100644 --- a/modules/programs/niri.nix +++ b/modules/programs/niri.nix @@ -11,6 +11,9 @@ let in { options.my.programs.niri.enable = mkEnableOption "niri"; + options.my.programs.niri.autoStart = mkEnableOption "auto start niri" // { + default = true; + }; config = mkIf cfg.enable { users.users.moritz.packages = with pkgs; [ @@ -261,14 +264,14 @@ in alsa.enable = true; pulse.enable = true; }; - displayManager = { + displayManager = mkIf cfg.autoStart { autoLogin = { enable = true; user = "moritz"; }; defaultSession = "niri"; }; - xserver = { + xserver = mkIf cfg.autoStart { enable = true; displayManager.lightdm.enable = true; };