diff --git a/flake.lock b/flake.lock index b188e9f..3ba1291 100644 --- a/flake.lock +++ b/flake.lock @@ -58,20 +58,17 @@ }, "dankMaterialShell": { "inputs": { - "dgop": [ - "dgop" - ], "nixpkgs": [ "nixpkgs" ], "quickshell": "quickshell" }, "locked": { - "lastModified": 1766877811, - "narHash": "sha256-sfHrgmzYTxaXGrtigHLcKC+QZBNSjlMaeQ719qLX5qY=", + "lastModified": 1767213761, + "narHash": "sha256-DRGKMzx/hq4TQvhtEB+BjkXZ6UIV4V9gmCNDy4dKSJk=", "owner": "AvengeMedia", "repo": "DankMaterialShell", - "rev": "b1632a0a0355b752e7bdbc589ec4c91305e5ed31", + "rev": "37f972d0750a7e739e58bb352a626622954d4098", "type": "github" }, "original": { @@ -80,26 +77,6 @@ "type": "github" } }, - "dgop": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1765838956, - "narHash": "sha256-A3a2ZfvjirX8VIdIPI+nAyukWs6vx4vet3fU0mpr7lU=", - "owner": "AvengeMedia", - "repo": "dgop", - "rev": "0ff697a4e3418966caa714c838fc73f1ef6ba59b", - "type": "github" - }, - "original": { - "owner": "AvengeMedia", - "repo": "dgop", - "type": "github" - } - }, "disko": { "inputs": { "nixpkgs": [ @@ -214,11 +191,11 @@ "zon2nix": "zon2nix" }, "locked": { - "lastModified": 1766784567, - "narHash": "sha256-fpRgcNFEGRidNTDk3CVsvKxWIgB9Ph5EM+q5DGe6CI8=", + "lastModified": 1767218016, + "narHash": "sha256-YrI3kmaTDcIEKATPFDhn/gUJ06m4t5NuQshKISHmQmo=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "c00d7fc5c4dc28bfa14935a84c70591d7103c284", + "rev": "3a89c8ac5493636530129c80a32d29aa7ec45f03", "type": "github" }, "original": { @@ -297,11 +274,11 @@ ] }, "locked": { - "lastModified": 1766879926, - "narHash": "sha256-gNcyF6VUcZ7xkW2pcZRejuFM7RDPSLz3HyjAG29Y6OQ=", + "lastModified": 1767104570, + "narHash": "sha256-GKgwu5//R+cLdKysZjGqvUEEOGXXLdt93sNXeb2M/Lk=", "owner": "nix-community", "repo": "home-manager", - "rev": "b3ae8229591a1dd3f460deb75a541d6514ec1509", + "rev": "e4e78a2cbeaddd07ab7238971b16468cc1d14daf", "type": "github" }, "original": { @@ -397,19 +374,17 @@ "hyprutils": "hyprutils", "hyprwayland-scanner": "hyprwayland-scanner", "hyprwire": "hyprwire", - "nixpkgs": [ - "nixpkgs" - ], + "nixpkgs": "nixpkgs_5", "pre-commit-hooks": "pre-commit-hooks", "systems": "systems_3", "xdph": "xdph" }, "locked": { - "lastModified": 1766870612, - "narHash": "sha256-k0JGpkHZb5s/msskYKcYLwGuPklJW8qWN1vIhBZARyI=", + "lastModified": 1767201430, + "narHash": "sha256-2FF66EaIbsc7CL1jKHbRFslSePDq40fzlTTbUlm5v3k=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "a8452705d6512da36f66e4a7d6e7799afbc7ffdd", + "rev": "48a024e0322bbd7c4c88126498ec478444ec4cb2", "type": "github" }, "original": { @@ -665,17 +640,35 @@ "type": "github" } }, + "linux-desktop-gremlin": { + "inputs": { + "nixpkgs": "nixpkgs_6" + }, + "locked": { + "lastModified": 1766371712, + "narHash": "sha256-U7xwslnEuKmSnTZ5i68+rPhhgPeSfxrfuN4vzyn6jdA=", + "owner": "iluvgirlswithglasses", + "repo": "linux-desktop-gremlin", + "rev": "8f1e6acaa286613611f248b4190d67f72765e8a9", + "type": "github" + }, + "original": { + "owner": "iluvgirlswithglasses", + "repo": "linux-desktop-gremlin", + "type": "github" + } + }, "nix-gaming": { "inputs": { "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_7" }, "locked": { - "lastModified": 1766800877, - "narHash": "sha256-uttWzlZdQxd7surfe4zeMjTnwIgWUjBygVDdrA1Ssag=", + "lastModified": 1767060285, + "narHash": "sha256-E8oSyoOQnqVCSg7+D0512fnL8JeltFqWaKETJrmo1Q8=", "owner": "fufexan", "repo": "nix-gaming", - "rev": "4108f21b00b10e185ab3d28f9e89e6359c159793", + "rev": "45ce6a5470514514079e2d65eea7dddafba6bfc8", "type": "github" }, "original": { @@ -762,11 +755,43 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1766125104, - "narHash": "sha256-l/YGrEpLromL4viUo5GmFH3K5M1j0Mb9O+LiaeCPWEM=", + "lastModified": 1766070988, + "narHash": "sha256-G/WVghka6c4bAzMhTwT2vjLccg/awmHkdKSd2JrycLc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7d853e518814cca2a657b72eeba67ae20ebf7059", + "rev": "c6245e83d836d0433170a16eb185cefe0572f8b8", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_6": { + "locked": { + "lastModified": 1765186076, + "narHash": "sha256-hM20uyap1a0M9d344I692r+ik4gTMyj60cQWO+hAYP8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "addf7cf5f383a3101ecfba091b98d0a1263dc9b8", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_7": { + "locked": { + "lastModified": 1766840161, + "narHash": "sha256-Ss/LHpJJsng8vz1Pe33RSGIWUOcqM1fjrehjUkdrWio=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "3edc4a30ed3903fdf6f90c837f961fa6b49582d1", "type": "github" }, "original": { @@ -776,13 +801,13 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_8": { "locked": { - "lastModified": 1766736597, - "narHash": "sha256-BASnpCLodmgiVn0M1MU2Pqyoz0aHwar/0qLkp7CjvSQ=", + "lastModified": 1767047869, + "narHash": "sha256-tzYsEzXEVa7op1LTnrLSiPGrcCY6948iD0EcNLWcmzo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f560ccec6b1116b22e6ed15f4c510997d99d5852", + "rev": "89dbf01df72eb5ebe3b24a86334b12c27d68016a", "type": "github" }, "original": { @@ -792,7 +817,7 @@ "type": "github" } }, - "nixpkgs_7": { + "nixpkgs_9": { "locked": { "lastModified": 1766747458, "narHash": "sha256-m63jjuo/ygo8ztkCziYh5OOIbTSXUDkKbqw3Vuqu4a4=", @@ -869,7 +894,7 @@ }, "proton-cachyos": { "inputs": { - "nixpkgs": "nixpkgs_7" + "nixpkgs": "nixpkgs_9" }, "locked": { "lastModified": 1766810311, @@ -893,16 +918,16 @@ ] }, "locked": { - "lastModified": 1766386896, - "narHash": "sha256-1uql4y229Rh+/2da99OVNe6DfsjObukXkf60TYRCvhI=", + "lastModified": 1766725085, + "narHash": "sha256-O2aMFdDUYJazFrlwL7aSIHbUSEm3ADVZjmf41uBJfHs=", "ref": "refs/heads/master", - "rev": "3918290c1bcd93ed81291844d9f1ed146672dbfc", - "revCount": 714, + "rev": "41828c4180fb921df7992a5405f5ff05d2ac2fff", + "revCount": 715, "type": "git", "url": "https://git.outfoxxed.me/quickshell/quickshell" }, "original": { - "rev": "3918290c1bcd93ed81291844d9f1ed146672dbfc", + "rev": "41828c4180fb921df7992a5405f5ff05d2ac2fff", "type": "git", "url": "https://git.outfoxxed.me/quickshell/quickshell" } @@ -931,7 +956,6 @@ "inputs": { "aagl": "aagl", "dankMaterialShell": "dankMaterialShell", - "dgop": "dgop", "disko": "disko", "ghostty": "ghostty", "grim-hyprland": "grim-hyprland", @@ -939,8 +963,9 @@ "hu-tao-cursor": "hu-tao-cursor", "hyprland": "hyprland", "hyprland-dots": "hyprland-dots", + "linux-desktop-gremlin": "linux-desktop-gremlin", "nix-gaming": "nix-gaming", - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_8", "nvim-dots": "nvim-dots", "pinix": "pinix", "proton-cachyos": "proton-cachyos", @@ -1013,11 +1038,11 @@ }, "unstable": { "locked": { - "lastModified": 1766840161, - "narHash": "sha256-Ss/LHpJJsng8vz1Pe33RSGIWUOcqM1fjrehjUkdrWio=", + "lastModified": 1767151656, + "narHash": "sha256-ujL2AoYBnJBN262HD95yer7QYUmYp5kFZGYbyCCKxq8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3edc4a30ed3903fdf6f90c837f961fa6b49582d1", + "rev": "f665af0cdb70ed27e1bd8f9fdfecaf451260fc55", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 78a7894..3557a0a 100644 --- a/flake.nix +++ b/flake.nix @@ -36,15 +36,9 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - dgop = { - url = "github:AvengeMedia/dgop"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - dankMaterialShell = { url = "github:AvengeMedia/DankMaterialShell"; inputs.nixpkgs.follows = "nixpkgs"; - inputs.dgop.follows = "dgop"; }; nvim-dots = { @@ -69,6 +63,10 @@ url = "github:eriedaberrie/grim-hyprland"; }; + linux-desktop-gremlin = { + url = "github:iluvgirlswithglasses/linux-desktop-gremlin"; + }; + disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; @@ -81,7 +79,6 @@ hyprland = { url = "github:hyprwm/Hyprland"; - inputs.nixpkgs.follows = "nixpkgs"; }; }; @@ -149,12 +146,15 @@ ghostty = inputs.ghostty.packages.${system}.default; hu-tao-animated-cursor = inputs.hu-tao-cursor.packages.${system}.default; grim-hyprland = inputs.grim-hyprland.packages.${system}.default; - dgop = inputs.dgop.packages.${system}.default; dmsCli = inputs.dankMaterialShell.packages.${system}.default; dankMaterialShell = inputs.dankMaterialShell.packages.${system}.dankMaterialShell; pinix = inputs.pinix.packages.${system}.default; wine-cachyos = inputs.nix-gaming.packages.${system}.wine-cachyos; proton-cachyos = inputs.proton-cachyos.packages.${system}.proton-cachyos; + desktop-gremlin = inputs.linux-desktop-gremlin.packages.${pkgs.system}.default; + ipc-bridge = inputs.nix-gaming.packages.${system}.wine-discord-ipc-bridge; + dgop = unstablePkgs.dgop; + hyprland = inputs.hyprland.packages.${system}.default; }) (final: prev: { inherit diff --git a/home-manager/cobray.nix b/home-manager/cobray.nix index e9e30e3..528038e 100644 --- a/home-manager/cobray.nix +++ b/home-manager/cobray.nix @@ -31,6 +31,7 @@ inputs.dankMaterialShell.homeModules.dank-material-shell ./modules/viv.nix ./modules/godot.nix + ./modules/gremlin.nix ]; home.username = "${config.theme.user}"; diff --git a/home-manager/modules/gremlin.nix b/home-manager/modules/gremlin.nix new file mode 100644 index 0000000..4a8979f --- /dev/null +++ b/home-manager/modules/gremlin.nix @@ -0,0 +1,5 @@ +{pkgs, ...}: { + home.packages = with pkgs; [ + desktop-gremlin + ]; +} diff --git a/hosts/modules/audio.nix b/hosts/modules/audio.nix index 314d1a4..69cdbcc 100644 --- a/hosts/modules/audio.nix +++ b/hosts/modules/audio.nix @@ -5,6 +5,7 @@ alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; + lowLatency.enable = true; # If you want to use JACK applications, uncomment this #jack.enable = true; }; diff --git a/hosts/modules/boot.nix b/hosts/modules/boot.nix index bc0eaa6..b76d927 100644 --- a/hosts/modules/boot.nix +++ b/hosts/modules/boot.nix @@ -9,7 +9,7 @@ timeout = 5; }; tmp.cleanOnBoot = true; - kernelPackages = pkgs.linuxPackages; + kernelPackages = pkgs.linuxPackages_latest; consoleLogLevel = 3; initrd.verbose = false; kernelParams = [ @@ -19,6 +19,11 @@ "udev.log_priority=3" "rd.systemd.show_status=auto" ]; + # cpu specific optimizations + kernel.sysctl = { + "vm.swappiness" = 10; + "vm.vfs_cache_pressure" = 50; + }; }; # some people really like putting #/bin/sh or #/bin/bash diff --git a/hosts/modules/core.nix b/hosts/modules/core.nix index ddac167..bfe7b25 100644 --- a/hosts/modules/core.nix +++ b/hosts/modules/core.nix @@ -25,5 +25,6 @@ cairo cabextract xdg-utils + nix-search ]; } diff --git a/hosts/modules/fonts.nix b/hosts/modules/fonts.nix index b6734e4..421add8 100644 --- a/hosts/modules/fonts.nix +++ b/hosts/modules/fonts.nix @@ -2,6 +2,7 @@ fonts = { packages = with pkgs; [ noto-fonts + unifont noto-fonts-cjk-sans noto-fonts-cjk-serif noto-fonts-color-emoji diff --git a/hosts/modules/hyprland.nix b/hosts/modules/hyprland.nix index aa94ec9..1c5ac95 100644 --- a/hosts/modules/hyprland.nix +++ b/hosts/modules/hyprland.nix @@ -44,7 +44,6 @@ }; environment.systemPackages = with pkgs; [ - hyprland qt5.qtwayland qt6.qtwayland candy-icons @@ -54,6 +53,7 @@ wlogout wl-clipboard xclip + rofi wofi hyprshot hypridle diff --git a/hosts/modules/steam.nix b/hosts/modules/steam.nix index 91b0c1d..0fee1d5 100644 --- a/hosts/modules/steam.nix +++ b/hosts/modules/steam.nix @@ -1,16 +1,43 @@ {pkgs, ...}: { programs.steam = { enable = true; - # apparently enabling this makes big picture boot up, does not work on nvidia however - # gamescopeSession.enable = true; + extraCompatPackages = [ pkgs.proton-ge-bin pkgs.proton-cachyos ]; + # for hosting + # dedicatedServer.openFirewall = true; + # remotePlay.openFirewall = true; + extest.enable = true; + protontricks.enable = true; }; + + programs.wine = { + enable = true; + package = pkgs.wine-cachyos; + ntsync = true; + }; + + programs.gamescope = { + enable = true; + capSysNice = true; + }; + programs.gamemode = { enable = true; enableRenice = true; + settings = { + general = { + renice = 10; + softrealtime = "auto"; + inhibit_screensaver = 1; + }; + custom = { + start = "${pkgs.libnotify}/bin/notify-send 'GameMode on'"; + end = "${pkgs.libnotify}/bin/notify-send 'GameMode off'"; + }; + }; }; hardware.graphics = { enable = true; @@ -20,9 +47,9 @@ lutris wine-cachyos winetricks - protontricks - gamemode mangohud libstrangle + gamescope-wsi + ipc-bridge ]; } diff --git a/hosts/system-packages.nix b/hosts/system-packages.nix index 7582e67..5884da3 100644 --- a/hosts/system-packages.nix +++ b/hosts/system-packages.nix @@ -1,4 +1,8 @@ -{pkgs, ...}: { +{ + pkgs, + inputs, + ... +}: { imports = [ ../settings.nix ./cachix.nix @@ -35,6 +39,8 @@ ./modules/go.nix ./modules/flatpak.nix ./modules/aagl.nix + inputs.nix-gaming.nixosModules.pipewireLowLatency + inputs.nix-gaming.nixosModules.wine ]; npm.enable = true; services.udisks2.enable = true;