Compare commits
7 commits
3b6d75d41c
...
dbd22df285
Author | SHA1 | Date | |
---|---|---|---|
dbd22df285 | |||
d4ebe17544 | |||
8e18d44867 | |||
9d886bf3ca | |||
b331a0113b | |||
a13ede65f9 | |||
89296ce75b |
11 changed files with 719 additions and 177 deletions
238
flake.lock
generated
238
flake.lock
generated
|
@ -76,11 +76,11 @@
|
|||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750851678,
|
||||
"narHash": "sha256-vZRqRdZH5SegK8qn1VMI0Fjnsh9uTc6Y4EaYcrBDTzs=",
|
||||
"lastModified": 1751333492,
|
||||
"narHash": "sha256-ePQTd+GHFiFK2bxmZm3aiWlhyTwbpasjmc+kuM0nxeg=",
|
||||
"owner": "chaotic-cx",
|
||||
"repo": "nyx",
|
||||
"rev": "1e8d69811b5d6cd53f71a34e19a00746c94a830d",
|
||||
"rev": "d107b2c87bf7446959668fcc22b2b09b37b27cf3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -208,7 +208,7 @@
|
|||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_3"
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
|
@ -226,7 +226,7 @@
|
|||
},
|
||||
"flake-utils-plus": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2"
|
||||
"flake-utils": "flake-utils_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1715533576,
|
||||
|
@ -247,6 +247,24 @@
|
|||
"inputs": {
|
||||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_3": {
|
||||
"inputs": {
|
||||
"systems": "systems_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1694529238,
|
||||
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
||||
|
@ -261,9 +279,9 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_3": {
|
||||
"flake-utils_4": {
|
||||
"inputs": {
|
||||
"systems": "systems_6"
|
||||
"systems": "systems_7"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1681202837,
|
||||
|
@ -279,9 +297,9 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_4": {
|
||||
"flake-utils_5": {
|
||||
"inputs": {
|
||||
"systems": "systems_7"
|
||||
"systems": "systems_8"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
|
@ -401,11 +419,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750730235,
|
||||
"narHash": "sha256-rZErlxiV7ssvI8t7sPrKU+fRigNc2KvoKZG3gtUtK50=",
|
||||
"lastModified": 1751238753,
|
||||
"narHash": "sha256-hJUPWfz/h+QgXKaKovPwFAdNBnALsvVMggAPgBB+Qvw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "d07e9cceb4994ed64a22b9b36f8b76923e87ac38",
|
||||
"rev": "cab8104e9236fab1eb9a702165454ffed353c20f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -421,11 +439,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750798083,
|
||||
"narHash": "sha256-DTCCcp6WCFaYXWKFRA6fiI2zlvOLCf5Vwx8+/0R8Wc4=",
|
||||
"lastModified": 1751336185,
|
||||
"narHash": "sha256-ptnVr2x+sl7cZcTuGx/0BOE2qCAIYHTcgfA+/h60ml0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "ff31a4677c1a8ae506aa7e003a3dba08cb203f82",
|
||||
"rev": "96354906f58464605ff81d2f6c2ea23211cbf051",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -435,6 +453,27 @@
|
|||
}
|
||||
},
|
||||
"home-manager_3": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"play",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751336185,
|
||||
"narHash": "sha256-ptnVr2x+sl7cZcTuGx/0BOE2qCAIYHTcgfA+/h60ml0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "96354906f58464605ff81d2f6c2ea23211cbf051",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager_4": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"stylix",
|
||||
|
@ -461,7 +500,7 @@
|
|||
"rose-pine-hyprcursor",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems"
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709914708,
|
||||
|
@ -503,15 +542,15 @@
|
|||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
"nixpkgs-unstable"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750816932,
|
||||
"narHash": "sha256-93dN5ieDQ1VTUCbTCf2WHogjUu3pPk9iLmCQpdQk6R0=",
|
||||
"lastModified": 1751335864,
|
||||
"narHash": "sha256-gzOCRagb6AYmjw6pSKNAJUajnSk0gKNsfZYSbiyrBkM=",
|
||||
"owner": "fufexan",
|
||||
"repo": "nix-gaming",
|
||||
"rev": "b630fd69c213f3a92ef799ba8169ed2926731c0f",
|
||||
"rev": "9ebdcaea0533a5277a65b4fc9935b66e0619e053",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -545,11 +584,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1750741721,
|
||||
"narHash": "sha256-Z0djmTa1YmnGMfE9jEe05oO4zggjDmxOGKwt844bUhE=",
|
||||
"lastModified": 1751271578,
|
||||
"narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4b1164c3215f018c4442463a27689d973cffd750",
|
||||
"rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -576,11 +615,11 @@
|
|||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1750622754,
|
||||
"narHash": "sha256-kMhs+YzV4vPGfuTpD3mwzibWUE6jotw5Al2wczI0Pv8=",
|
||||
"lastModified": 1751211869,
|
||||
"narHash": "sha256-1Cu92i1KSPbhPCKxoiVG5qnoRiKTgR5CcGSRyLpOd7Y=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c7ab75210cb8cb16ddd8f290755d9558edde7ee1",
|
||||
"rev": "b43c397f6c213918d6cfe6e3550abfe79b5d1c51",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -592,11 +631,11 @@
|
|||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1750741721,
|
||||
"narHash": "sha256-Z0djmTa1YmnGMfE9jEe05oO4zggjDmxOGKwt844bUhE=",
|
||||
"lastModified": 1751271578,
|
||||
"narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4b1164c3215f018c4442463a27689d973cffd750",
|
||||
"rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -608,11 +647,11 @@
|
|||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1750741721,
|
||||
"narHash": "sha256-Z0djmTa1YmnGMfE9jEe05oO4zggjDmxOGKwt844bUhE=",
|
||||
"lastModified": 1751271578,
|
||||
"narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4b1164c3215f018c4442463a27689d973cffd750",
|
||||
"rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -699,6 +738,31 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"play": {
|
||||
"inputs": {
|
||||
"chaotic": [
|
||||
"chaotic"
|
||||
],
|
||||
"flake-utils": "flake-utils",
|
||||
"home-manager": "home-manager_3",
|
||||
"nixpkgs": [
|
||||
"nixpkgs-unstable"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751323468,
|
||||
"narHash": "sha256-CxsOWsjihH47iATdnbaYjJjrTgpULX4cDrJDKwkxyAE=",
|
||||
"owner": "tophc7",
|
||||
"repo": "play.nix",
|
||||
"rev": "e1d48215ee2c0ce9d25bd72d11268925d12d4537",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tophc7",
|
||||
"repo": "play.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"chaotic": "chaotic",
|
||||
|
@ -709,6 +773,7 @@
|
|||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"nixvirt": "nixvirt",
|
||||
"play": "play",
|
||||
"rose-pine-hyprcursor": "rose-pine-hyprcursor",
|
||||
"snapraid-aio": "snapraid-aio",
|
||||
"solaar": "solaar",
|
||||
|
@ -746,11 +811,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750732748,
|
||||
"narHash": "sha256-HR2b3RHsPeJm+Fb+1ui8nXibgniVj7hBNvUbXEyz0DU=",
|
||||
"lastModified": 1751165203,
|
||||
"narHash": "sha256-3QhlpAk2yn+ExwvRLtaixWsVW1q3OX3KXXe0l8VMLl4=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "4b4494b2ba7e8a8041b2e28320b2ee02c115c75f",
|
||||
"rev": "90f547b90e73d3c6025e66c5b742d6db51c418c3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -761,24 +826,24 @@
|
|||
},
|
||||
"snapraid-aio": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
"nixpkgs-unstable"
|
||||
],
|
||||
"snapraid-aio-src": "snapraid-aio-src"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746396069,
|
||||
"narHash": "sha256-nLsYmvA42+wOzy3oYdMBfrmz8pzQkuwPtWk0aZ0l8Fo=",
|
||||
"ref": "refs/heads/main",
|
||||
"owner": "tophc7",
|
||||
"repo": "snapraid-aio.nix",
|
||||
"rev": "31697d56771a9ac899a563da96fa27e88b20f036",
|
||||
"revCount": 3,
|
||||
"type": "git",
|
||||
"url": "https://git.ryot.foo/toph/snapraid-aio.nix.git"
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "https://git.ryot.foo/toph/snapraid-aio.nix.git"
|
||||
"owner": "tophc7",
|
||||
"repo": "snapraid-aio.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"snapraid-aio-src": {
|
||||
|
@ -855,10 +920,10 @@
|
|||
"flake-parts": "flake-parts_2",
|
||||
"git-hooks": "git-hooks",
|
||||
"gnome-shell": "gnome-shell",
|
||||
"home-manager": "home-manager_3",
|
||||
"home-manager": "home-manager_4",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"nur": "nur",
|
||||
"systems": "systems_5",
|
||||
"systems": "systems_6",
|
||||
"tinted-foot": "tinted-foot",
|
||||
"tinted-kitty": "tinted-kitty",
|
||||
"tinted-schemes": "tinted-schemes",
|
||||
|
@ -866,11 +931,11 @@
|
|||
"tinted-zed": "tinted-zed"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750810405,
|
||||
"narHash": "sha256-7Aa6jLbbltPVBCz34UXjIXkmrV1qq+6TYhJ37fErQhg=",
|
||||
"lastModified": 1751296480,
|
||||
"narHash": "sha256-PMuzVs9khM7cYrjUCXQeV2OP6WVtbsmdZwa4Cc21y0o=",
|
||||
"owner": "danth",
|
||||
"repo": "stylix",
|
||||
"rev": "1fc22894545f5adf915e245b3c3e92639fd70f64",
|
||||
"rev": "4ead8043f70cc3b951e704a1f6e40c8a10230e61",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -880,21 +945,6 @@
|
|||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
|
@ -909,6 +959,21 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
|
@ -984,6 +1049,21 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_8": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-foot": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
@ -1089,7 +1169,7 @@
|
|||
},
|
||||
"utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
|
@ -1107,7 +1187,7 @@
|
|||
},
|
||||
"vscode-server": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_3",
|
||||
"flake-utils": "flake-utils_4",
|
||||
"nixpkgs": [
|
||||
"nixpkgs-unstable"
|
||||
]
|
||||
|
@ -1128,23 +1208,23 @@
|
|||
},
|
||||
"yay": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_4",
|
||||
"flake-utils": "flake-utils_5",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
"nixpkgs-unstable"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750129774,
|
||||
"narHash": "sha256-3r/9KDvmciXiM12xBTPoC2YqIMJX7XlkrNSa6lNvfrc=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "eb39f490a252ac063746d093ac71e73327c5de27",
|
||||
"revCount": 15,
|
||||
"type": "git",
|
||||
"url": "https://git.ryot.foo/toph/yay.nix.git"
|
||||
"lastModified": 1750969106,
|
||||
"narHash": "sha256-RRryqilYizTb0+NF4sZVMWpoJxoXNppdfDUmoziSl5o=",
|
||||
"owner": "tophc7",
|
||||
"repo": "yay.nix",
|
||||
"rev": "b1b6463a7045b1ac121ce241d6b147e71f5d953f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "https://git.ryot.foo/toph/yay.nix.git"
|
||||
"owner": "tophc7",
|
||||
"repo": "yay.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"zen-browser": {
|
||||
|
@ -1154,11 +1234,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750219862,
|
||||
"narHash": "sha256-wce+erYDBm6wpLJm6IJh85KYqy/NtdKp6DZQCn4YP1Q=",
|
||||
"lastModified": 1751256876,
|
||||
"narHash": "sha256-4A8LmE0Hd9RvQwSEPYdITJebpLt7J99VY76IphzqZKc=",
|
||||
"owner": "youwen5",
|
||||
"repo": "zen-browser-flake",
|
||||
"rev": "18d6cd2f5a9cd1527d478d4f716e9b9ee6fb6cbb",
|
||||
"rev": "615b9244dc7ac777b8f0bc3a9cb7290936e4fcf9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -43,7 +43,10 @@
|
|||
|
||||
play = {
|
||||
url = "github:tophc7/play.nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||
inputs = {
|
||||
nixpkgs.follows = "nixpkgs-unstable";
|
||||
chaotic.follows = "chaotic";
|
||||
};
|
||||
};
|
||||
|
||||
## Misc Packages ##
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
};
|
||||
|
||||
wrappers = {
|
||||
steam = {
|
||||
steam = lib.mkDefault {
|
||||
enable = true;
|
||||
command = "${lib.getExe osConfig.programs.steam.package} -bigpicture -tenfoot";
|
||||
extraOptions = {
|
||||
|
@ -37,7 +37,7 @@
|
|||
};
|
||||
};
|
||||
|
||||
heroic = {
|
||||
heroic = lib.mkDefault {
|
||||
enable = true;
|
||||
package = pkgs.heroic; # No special package configured by play.nix
|
||||
extraOptions = {
|
||||
|
@ -45,7 +45,7 @@
|
|||
};
|
||||
};
|
||||
|
||||
lutris = {
|
||||
lutris = lib.mkDefault {
|
||||
enable = true;
|
||||
package = osConfig.play.lutris.package;
|
||||
extraOptions = {
|
||||
|
@ -58,9 +58,10 @@
|
|||
};
|
||||
};
|
||||
|
||||
# Override default desktop entries to use gamescope wrappers
|
||||
xdg.desktopEntries = {
|
||||
steam = {
|
||||
|
||||
## Steam and Games ##
|
||||
steam = lib.mkDefault {
|
||||
name = "Steam";
|
||||
comment = "Steam Big Picture in Gamescope Session";
|
||||
exec = "${lib.getExe config.play.wrappers.steam.wrappedPackage}";
|
||||
|
@ -80,14 +81,19 @@
|
|||
Keywords = "gaming;";
|
||||
};
|
||||
actions = {
|
||||
bigpicture = {
|
||||
client = {
|
||||
name = "Steam Client (No Gamescope)";
|
||||
exec = "${lib.getExe (config.play.steam.package or pkgs.steam)}";
|
||||
exec = "${lib.getExe osConfig.programs.steam.package}";
|
||||
};
|
||||
steamdeck = {
|
||||
name = "Steam Deck (Gamescope)";
|
||||
exec = "${lib.getExe config.play.wrappers.steam.wrappedPackage} -steamdeck";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
"com.heroicgameslauncher.hgl" = {
|
||||
## Other Launchers ##
|
||||
"com.heroicgameslauncher.hgl" = lib.mkDefault {
|
||||
name = "Heroic Games Launcher";
|
||||
comment = "Heroic in Gamescope Session";
|
||||
exec = "${lib.getExe config.play.wrappers.heroic.wrappedPackage}";
|
||||
|
@ -103,10 +109,10 @@
|
|||
};
|
||||
};
|
||||
|
||||
"net.lutris.Lutris" = {
|
||||
"net.lutris.Lutris" = lib.mkDefault {
|
||||
name = "Lutris";
|
||||
comment = "Video Game Preservation Platform";
|
||||
exec = "${lib.getExe (config.play.lutris.package or pkgs.lutris)} %U";
|
||||
exec = "${lib.getExe osConfig.play.lutris.package} %U";
|
||||
icon = "net.lutris.Lutris";
|
||||
type = "Application";
|
||||
terminal = false;
|
||||
|
@ -126,9 +132,7 @@
|
|||
|
||||
broken-exposed = {
|
||||
name = "Lutris (Gamescope BROKEN; Exposed Wayland)";
|
||||
exec = ''${lib.getExe config.play.gamescoperun.package} -x "--force-windows-fullscreen --expose-wayland" ${
|
||||
lib.getExe (config.play.lutris.package or pkgs.lutris)
|
||||
}'';
|
||||
exec = ''${lib.getExe config.play.gamescoperun.package} -x "--force-windows-fullscreen --expose-wayland" ${lib.getExe osConfig.play.lutris.package}'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -24,46 +24,114 @@ with lib.hm.gvariant;
|
|||
};
|
||||
|
||||
"org/gnome/desktop/wm/keybindings" = lib.mkDefault {
|
||||
maximize = [ ];
|
||||
move-to-monitor-down = [ ];
|
||||
move-to-monitor-left = [ ];
|
||||
move-to-monitor-right = [ ];
|
||||
move-to-monitor-up = [ ];
|
||||
move-to-workspace-down = [ "<Control><Shift><Alt>Down" ];
|
||||
move-to-workspace-left = [ ];
|
||||
move-to-workspace-right = [ ];
|
||||
move-to-workspace-up = [ "<Control><Shift><Alt>Up" ];
|
||||
shift-overview-down = [ "" ];
|
||||
shift-overview-up = [ "" ];
|
||||
switch-applications = [ ];
|
||||
switch-applications-backward = [
|
||||
"<Shift><Super>Tab"
|
||||
"<Shift><Alt>Tab"
|
||||
];
|
||||
## Workspace switching ##
|
||||
switch-to-workspace-1 = [ ]; # Default: ['<Super>Home']
|
||||
switch-to-workspace-2 = [ ];
|
||||
switch-to-workspace-3 = [ ];
|
||||
switch-to-workspace-4 = [ ];
|
||||
switch-to-workspace-5 = [ ];
|
||||
switch-to-workspace-6 = [ ];
|
||||
switch-to-workspace-7 = [ ];
|
||||
switch-to-workspace-8 = [ ];
|
||||
switch-to-workspace-9 = [ ];
|
||||
switch-to-workspace-10 = [ ];
|
||||
switch-to-workspace-11 = [ ];
|
||||
switch-to-workspace-12 = [ ];
|
||||
switch-to-workspace-left = [ ]; # Default: ['<Super>Page_Up','<Super><Alt>Left','<Control><Alt>Left']
|
||||
switch-to-workspace-right = [ ]; # Default: ['<Super>Page_Down','<Super><Alt>Right','<Control><Alt>Right']
|
||||
switch-to-workspace-up = [ ]; # Default: ['<Control><Alt>Up']
|
||||
switch-to-workspace-down = [ ]; # Default: ['<Control><Alt>Down']
|
||||
switch-to-workspace-last = [ ]; # Default: ['<Super>End']
|
||||
|
||||
## Application/Window switching ##
|
||||
switch-group = [
|
||||
"<Super>Above_Tab"
|
||||
"<Alt>Above_Tab"
|
||||
# Default: ['<Super>Above_Tab','<Alt>Above_Tab']
|
||||
];
|
||||
switch-group-backward = [
|
||||
"<Shift><Super>Above_Tab"
|
||||
"<Shift><Alt>Above_Tab"
|
||||
# Default: ['<Shift><Super>Above_Tab','<Shift><Alt>Above_Tab']
|
||||
];
|
||||
switch-input-source = [ ];
|
||||
switch-input-source-backward = [ ];
|
||||
switch-panels = [ "<Control><Alt>Tab" ];
|
||||
switch-panels-backward = [ "<Shift><Control><Alt>Tab" ];
|
||||
switch-to-workspace-1 = [ ];
|
||||
switch-to-workspace-down = [ "" ];
|
||||
switch-to-workspace-last = [ ];
|
||||
switch-to-workspace-left = [ ];
|
||||
switch-to-workspace-right = [ ];
|
||||
switch-to-workspace-up = [ "" ];
|
||||
toggle-application-view = [ "" ];
|
||||
toggle-message-tray = [ "" ];
|
||||
unmaximize = [ ];
|
||||
switch-applications = [ ]; # Default: ['<Super>Tab','<Alt>Tab']
|
||||
switch-applications-backward = [
|
||||
"<Shift><Super>Tab"
|
||||
"<Shift><Alt>Tab"
|
||||
# Default: ['<Shift><Super>Tab','<Shift><Alt>Tab']
|
||||
];
|
||||
switch-windows = [ ];
|
||||
switch-windows-backward = [ ];
|
||||
switch-panels = [ "<Control><Alt>Tab" ]; # Default: ['<Control><Alt>Tab']
|
||||
switch-panels-backward = [ "<Shift><Control><Alt>Tab" ]; # Default: ['<Shift><Control><Alt>Tab']
|
||||
|
||||
## Direct cycling ##
|
||||
cycle-group = [ ]; # Default: ['<Alt>F6']
|
||||
cycle-group-backward = [ ]; # Default: ['<Shift><Alt>F6']
|
||||
cycle-windows = [ ]; # Default: ['<Alt>Escape']
|
||||
cycle-windows-backward = [ ]; # Default: ['<Shift><Alt>Escape']
|
||||
cycle-panels = [ ]; # Default: ['<Control><Alt>Escape']
|
||||
cycle-panels-backward = [ ]; # Default: ['<Shift><Control><Alt>Escape']
|
||||
|
||||
## Window management ##
|
||||
show-desktop = [ ];
|
||||
panel-main-menu = [ ]; # DEPRECATED
|
||||
panel-run-dialog = [ ]; # Default: ['<Alt>F2']
|
||||
set-spew-mark = [ ];
|
||||
activate-window-menu = [ ]; # Default: ['<Alt>space']
|
||||
toggle-fullscreen = [ ];
|
||||
toggle-maximized = [ ]; # Default: ['<Alt>F10']
|
||||
toggle-above = [ ];
|
||||
maximize = [ ]; # Default: ['<Super>Up']
|
||||
unmaximize = [ ]; # Default: ['<Super>Down','<Alt>F5']
|
||||
minimize = [ ]; # Default: ['<Super>h']
|
||||
close = [ ]; # Default: ['<Alt>F4']
|
||||
begin-move = [ ]; # Default: ['<Alt>F7']
|
||||
begin-resize = [ ]; # Default: ['<Alt>F8']
|
||||
toggle-on-all-workspaces = [ ];
|
||||
move-to-workspace-1 = [ ]; # Default: ['<Super><Shift>Home']
|
||||
move-to-workspace-2 = [ ];
|
||||
move-to-workspace-3 = [ ];
|
||||
move-to-workspace-4 = [ ];
|
||||
move-to-workspace-5 = [ ];
|
||||
move-to-workspace-6 = [ ];
|
||||
move-to-workspace-7 = [ ];
|
||||
move-to-workspace-8 = [ ];
|
||||
move-to-workspace-9 = [ ];
|
||||
move-to-workspace-10 = [ ];
|
||||
move-to-workspace-11 = [ ];
|
||||
move-to-workspace-12 = [ ];
|
||||
move-to-workspace-last = [ ]; # Default: ['<Super><Shift>End']
|
||||
move-to-workspace-left = [ ]; # Default: ['<Super><Shift>Page_Up','<Super><Shift><Alt>Left','<Control><Shift><Alt>Left']
|
||||
move-to-workspace-right = [ ]; # Default: ['<Super><Shift>Page_Down','<Super><Shift><Alt>Right','<Control><Shift><Alt>Right']
|
||||
move-to-workspace-up = [ ]; # Default: ['<Control><Shift><Alt>Up']
|
||||
move-to-workspace-down = [ ]; # Default: ['<Control><Shift><Alt>Down']
|
||||
move-to-monitor-left = [ ]; # Default: ['<Super><Shift>Left']
|
||||
move-to-monitor-right = [ ]; # Default: ['<Super><Shift>Right']
|
||||
move-to-monitor-up = [ ]; # Default: ['<Super><Shift>Up']
|
||||
move-to-monitor-down = [ ]; # Default: ['<Super><Shift>Down']
|
||||
raise-or-lower = [ ];
|
||||
raise = [ ];
|
||||
lower = [ ];
|
||||
maximize-vertically = [ ];
|
||||
maximize-horizontally = [ ];
|
||||
move-to-corner-nw = [ ];
|
||||
move-to-corner-ne = [ ];
|
||||
move-to-corner-sw = [ ];
|
||||
move-to-corner-se = [ ];
|
||||
move-to-side-n = [ ];
|
||||
move-to-side-s = [ ];
|
||||
move-to-side-e = [ ];
|
||||
move-to-side-w = [ ];
|
||||
move-to-center = [ ];
|
||||
always-on-top = [ ];
|
||||
|
||||
## Input switching ##
|
||||
switch-input-source = [ ]; # Default: ['<Super>space','XF86Keyboard']
|
||||
switch-input-source-backward = [ ]; # Default: ['<Shift><Super>space','<Shift>XF86Keyboard']
|
||||
};
|
||||
|
||||
"org/gnome/desktop/wm/preferences" = lib.mkForce {
|
||||
"org/gnome/desktop/wm/preferences" = lib.mkDefault {
|
||||
num-workspaces = 3;
|
||||
};
|
||||
|
||||
|
@ -75,40 +143,127 @@ with lib.hm.gvariant;
|
|||
night-light-enabled = true;
|
||||
night-light-schedule-automatic = false;
|
||||
night-light-schedule-from = 19.0;
|
||||
night-light-temperature = mkUint32 3892;
|
||||
night-light-temperature = (mkUint32 3892);
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys" = lib.mkDefault {
|
||||
"org/gnome/settings-daemon/plugins/media-keys" = {
|
||||
custom-keybindings = [
|
||||
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"
|
||||
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/"
|
||||
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/"
|
||||
];
|
||||
|
||||
## Non-static ##:
|
||||
battery-status = [ ];
|
||||
calculator = [ ];
|
||||
control-center = [ ];
|
||||
decrease-text-size = [ ];
|
||||
eject = [ ];
|
||||
email = [ ];
|
||||
help = [ ]; # Default: ['', '<Super>F1']
|
||||
hibernate = [ ];
|
||||
home = [ ];
|
||||
increase-text-size = [ ];
|
||||
keyboard-brightness-down = [ ];
|
||||
keyboard-brightness-toggle = [ ];
|
||||
keyboard-brightness-up = [ ];
|
||||
logout = [ "<Control><Alt>Delete" ];
|
||||
magnifier = [ ]; # Default: ['<Alt><Super>8']
|
||||
magnifier-zoom-in = [ ]; # Default: ['<Alt><Super>equal']
|
||||
magnifier-zoom-out = [ ]; # Default: ['<Alt><Super>minus']
|
||||
media = [ ];
|
||||
mic-mute = [ ];
|
||||
next = [ "AudioNext" ];
|
||||
on-screen-keyboard = [ ];
|
||||
pause = [ ];
|
||||
play = [ "AudioPlay" ];
|
||||
playback-forward = [ ];
|
||||
playback-random = [ ];
|
||||
playback-repeat = [ ];
|
||||
playback-rewind = [ ];
|
||||
power = [ ];
|
||||
previous = [ "AudioPrev" ];
|
||||
reboot = [ "<Super>r" ];
|
||||
rotate-video-lock-static = [ ];
|
||||
rfkill = [ ];
|
||||
rfkill-bluetooth = [ ];
|
||||
rotate-video-lock = [ ];
|
||||
screen-brightness-cycle = [ ];
|
||||
screen-brightness-down = [ ];
|
||||
screen-brightness-up = [ ];
|
||||
screenreader = [ ];
|
||||
screensaver = [ ]; # Default: ['<Super>l']
|
||||
search = [ ];
|
||||
shutdown = [ "<Super>x" ];
|
||||
stop = [ ];
|
||||
suspend = [ ];
|
||||
toggle-contrast = [ ];
|
||||
touchpad-off = [ ];
|
||||
touchpad-on = [ ];
|
||||
touchpad-toggle = [ ];
|
||||
volume-down = [ "AudioLowerVolume" ];
|
||||
volume-down-precise = [ ];
|
||||
volume-down-quiet = [ ];
|
||||
volume-mute = [ "AudioMute" ];
|
||||
volume-mute-quiet = [ ];
|
||||
volume-step = 5; # Default: 6
|
||||
volume-up = [ "AudioRaiseVolume" ];
|
||||
volume-up-precise = [ ];
|
||||
volume-up-quiet = [ ];
|
||||
www = [ "<Super>w" ];
|
||||
|
||||
## Static keys ##
|
||||
# NOTE: Many of these interfere with custom keybindings, so I just disable them
|
||||
battery-status-static = [ ]; # Default: ['XF86Battery']
|
||||
calculator-static = [ ]; # Default: ['XF86Calculator']
|
||||
control-center-static = [ ]; # Default: ['XF86Tools']
|
||||
eject-static = [ ]; # Default: ['XF86Eject']
|
||||
email-static = [ ]; # Default: ['XF86Mail']
|
||||
hibernate-static = [ ]; # Default: ['XF86Suspend', 'XF86Hibernate']
|
||||
home-static = [ "<Super>f" ]; # Default: ['XF86Explorer']
|
||||
keyboard-brightness-down-static = [ ]; # Default: ['XF86KbdBrightnessDown']
|
||||
keyboard-brightness-toggle-static = [ ]; # Default: ['XF86KbdLightOnOff']
|
||||
keyboard-brightness-up-static = [ ]; # Default: ['XF86KbdBrightnessUp']
|
||||
media-static = [ ]; # Default: ['XF86AudioMedia']
|
||||
mic-mute-static = [ ]; # Default: ['XF86AudioMicMute']
|
||||
next-static = [ ]; # Default: ['XF86AudioNext', '<Ctrl>XF86AudioNext']
|
||||
pause-static = [ ]; # Default: ['XF86AudioPause']
|
||||
play-static = [ ]; # Default: ['XF86AudioPlay', '<Ctrl>XF86AudioPlay']
|
||||
playback-forward-static = [ ]; # Default: ['XF86AudioForward']
|
||||
playback-random-static = [ ]; # Default: ['XF86AudioRandomPlay']
|
||||
playback-repeat-static = [ ]; # Default: ['XF86AudioRepeat']
|
||||
playback-rewind-static = [ ]; # Default: ['XF86AudioRewind']
|
||||
power-static = [ ]; # Default: ['XF86PowerOff']
|
||||
previous-static = [ ]; # Default: ['XF86AudioPrev', '<Ctrl>XF86AudioPrev']
|
||||
rfkill-bluetooth-static = [ ]; # Default: ['XF86Bluetooth']
|
||||
rfkill-static = [ ]; # Default: ['XF86WLAN', 'XF86UWB', 'XF86RFKill']
|
||||
rotate-video-lock-static = [ ]; # Default: ['<Super>o', 'XF86RotationLockToggle']
|
||||
screen-brightness-cycle-static = [ ]; # Default: ['XF86MonBrightnessCycle']
|
||||
screen-brightness-down-static = [ ]; # Default: ['XF86MonBrightnessDown']
|
||||
screen-brightness-up-static = [ ]; # Default: ['XF86MonBrightnessUp']
|
||||
screensaver-static = [ ]; # Default: ['XF86ScreenSaver']
|
||||
search-static = [ ]; # Default: ['XF86Search']
|
||||
stop-static = [ ]; # Default: ['XF86AudioStop']
|
||||
suspend-static = [ ]; # Default: ['XF86Sleep']
|
||||
touchpad-off-static = [ ]; # Default: ['XF86TouchpadOff']
|
||||
touchpad-on-static = [ ]; # Default: ['XF86TouchpadOn']
|
||||
touchpad-toggle-static = [ ]; # Default: ['XF86TouchpadToggle', '<Ctrl><Super>XF86TouchpadToggle']
|
||||
volume-down-precise-static = [ ]; # Default: ['<Shift>XF86AudioLowerVolume', '<Ctrl><Shift>XF86AudioLowerVolume']
|
||||
volume-down-quiet-static = [ ]; # Default: ['<Alt>XF86AudioLowerVolume', '<Alt><Ctrl>XF86AudioLowerVolume']
|
||||
volume-down-static = [ ]; # Default: ['XF86AudioLowerVolume', '<Ctrl>XF86AudioLowerVolume']
|
||||
volume-mute-quiet-static = [ ]; # Default: ['<Alt>XF86AudioMute']
|
||||
volume-mute-static = [ ]; # Default: ['XF86AudioMute']
|
||||
volume-up-precise-static = [ ]; # Default: ['<Shift>XF86AudioRaiseVolume', '<Ctrl><Shift>XF86AudioRaiseVolume']
|
||||
volume-up-quiet-static = [ ]; # Default: ['<Alt>XF86AudioRaiseVolume', '<Alt><Ctrl>XF86AudioRaiseVolume']
|
||||
volume-up-static = [ ]; # Default: ['XF86AudioRaiseVolume', '<Ctrl>XF86AudioRaiseVolume']
|
||||
www-static = [ ]; # Default: ['XF86WWW']
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = lib.mkDefault {
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
|
||||
binding = "<Super>t";
|
||||
command = "ghostty";
|
||||
name = "Terminal";
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = lib.mkDefault {
|
||||
binding = "<Super>f";
|
||||
command = "nautilus";
|
||||
name = "Files";
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2" = lib.mkDefault {
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
|
||||
binding = "<Super>e";
|
||||
command = "code";
|
||||
name = "Code";
|
||||
|
@ -144,8 +299,8 @@ with lib.hm.gvariant;
|
|||
last-selected-power-profile = lib.mkDefault "performance";
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/alphabetical-app-grid" = {
|
||||
folder-order-position = lib.mkDefault "start";
|
||||
"org/gnome/shell/extensions/alphabetical-app-grid" = lib.mkDefault {
|
||||
folder-order-position = "start";
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/appindicator" = lib.mkDefault {
|
||||
|
@ -322,7 +477,7 @@ with lib.hm.gvariant;
|
|||
vertical-margin-bottom = 8;
|
||||
window-gap = 8;
|
||||
winprops = [
|
||||
''
|
||||
''
|
||||
{"wm_class":"Code","spaceIndex":0}
|
||||
''
|
||||
''
|
||||
|
@ -356,60 +511,101 @@ with lib.hm.gvariant;
|
|||
{"wm_class":".gamescope-wrapped","preferredWidth":"100%","spaceIndex":2}
|
||||
''
|
||||
];
|
||||
|
||||
# "workspaces" = lib.mkDefault {
|
||||
# list = [
|
||||
# "000ef222-dd9f-4487-bff9-5e1960e54ab7"
|
||||
# "b986bc1f-bbe1-454d-8aa8-a55614b330ec"
|
||||
# "437c83fc-b11d-48f9-bac4-3df6ca297939"
|
||||
# "8d4b2910-fe68-4192-b349-386c09ebf660"
|
||||
# "613a7a94-8355-4519-b7a4-b3f279a3e48a"
|
||||
# ];
|
||||
# };
|
||||
|
||||
# "workspaces/000ef222-dd9f-4487-bff9-5e1960e54ab7" = lib.mkDefault {
|
||||
# background = "";
|
||||
# color = "rgb(255, 241, 39)";
|
||||
# index = 0;
|
||||
# };
|
||||
|
||||
# "workspaces/b986bc1f-bbe1-454d-8aa8-a55614b330ec" = lib.mkDefault {
|
||||
# background = "";
|
||||
# color = "rgb(98,160,234)";
|
||||
# index = 1;
|
||||
# };
|
||||
|
||||
# "workspaces/437c83fc-b11d-48f9-bac4-3df6ca297939" = lib.mkDefault {
|
||||
# background = "";
|
||||
# color = "rgb(219, 13, 13)";
|
||||
# index = 2;
|
||||
# };
|
||||
|
||||
# "workspaces/8d4b2910-fe68-4192-b349-386c09ebf660" = lib.mkDefault {
|
||||
# background = "";
|
||||
# color = "rgb(249, 102, 252)";
|
||||
# index = 3;
|
||||
# };
|
||||
|
||||
# "workspaces/613a7a94-8355-4519-b7a4-b3f279a3e48a" = lib.mkDefault {
|
||||
# background = "";
|
||||
# color = "rgb(202, 202, 202)";
|
||||
# index = 4;
|
||||
# };
|
||||
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/paperwm/keybindings" = lib.mkDefault {
|
||||
center = [ "<Super>c" ];
|
||||
center-horizontally = [ "" ];
|
||||
center-vertically = [ "" ];
|
||||
center-horizontally = [ ];
|
||||
center-vertically = [ ];
|
||||
close-window = [ "<Super>q" ];
|
||||
cycle-height = [ "<Alt><Super>Up" ];
|
||||
cycle-height-backwards = [ "<Alt><Super>Down" ];
|
||||
cycle-width = [ "<Alt><Super>Right" ];
|
||||
cycle-width-backwards = [ "<Alt><Super>Left" ];
|
||||
live-alt-tab = [ "<Alt>Tab" ];
|
||||
live-alt-tab-backward = [ "" ];
|
||||
live-alt-tab-scratch = [ "" ];
|
||||
live-alt-tab-scratch-backward = [ "" ];
|
||||
live-alt-tab-backward = [ ];
|
||||
live-alt-tab-scratch = [ ];
|
||||
live-alt-tab-scratch-backward = [ ];
|
||||
move-down = [ "<Shift><Super>Down" ];
|
||||
move-down-workspace = [ "<Control><Super>Down" ];
|
||||
move-left = [ "<Shift><Super>Left" ];
|
||||
move-monitor-above = [ "" ];
|
||||
move-monitor-below = [ "" ];
|
||||
move-monitor-above = [ ];
|
||||
move-monitor-below = [ ];
|
||||
move-monitor-left = [ "<Control><Super>Left" ];
|
||||
move-monitor-right = [ "<Control><Super>Right" ];
|
||||
move-previous-workspace = [ "" ];
|
||||
move-previous-workspace-backward = [ "" ];
|
||||
move-previous-workspace = [ ];
|
||||
move-previous-workspace-backward = [ ];
|
||||
move-right = [ "<Shift><Super>Right" ];
|
||||
move-space-monitor-above = [ "" ];
|
||||
move-space-monitor-below = [ "" ];
|
||||
move-space-monitor-left = [ "" ];
|
||||
move-space-monitor-right = [ "" ];
|
||||
move-space-monitor-above = [ ];
|
||||
move-space-monitor-below = [ ];
|
||||
move-space-monitor-left = [ ];
|
||||
move-space-monitor-right = [ ];
|
||||
move-up = [ "<Shift><Super>Up" ];
|
||||
move-up-workspace = [ "<Control><Super>Up" ];
|
||||
new-window = [ "<Super>n" ];
|
||||
previous-workspace = [ "" ];
|
||||
previous-workspace-backward = [ "" ];
|
||||
swap-monitor-above = [ "" ];
|
||||
swap-monitor-below = [ "" ];
|
||||
swap-monitor-left = [ "" ];
|
||||
swap-monitor-right = [ "" ];
|
||||
previous-workspace = [ ];
|
||||
previous-workspace-backward = [ ];
|
||||
swap-monitor-above = [ ];
|
||||
swap-monitor-below = [ ];
|
||||
swap-monitor-left = [ ];
|
||||
swap-monitor-right = [ ];
|
||||
switch-down-workspace = [ "<Super>Page_Down" ];
|
||||
switch-focus-mode = [ "<Alt><Super>a" ];
|
||||
switch-monitor-above = [ "" ];
|
||||
switch-monitor-below = [ "" ];
|
||||
switch-monitor-left = [ "" ];
|
||||
switch-monitor-right = [ "" ];
|
||||
switch-next = [ "" ];
|
||||
switch-open-window-position = [ "" ];
|
||||
switch-previous = [ "" ];
|
||||
switch-monitor-above = [ ];
|
||||
switch-monitor-below = [ ];
|
||||
switch-monitor-left = [ ];
|
||||
switch-monitor-right = [ ];
|
||||
switch-next = [ ];
|
||||
switch-open-window-position = [ ];
|
||||
switch-previous = [ ];
|
||||
switch-up-workspace = [ "<Super>Page_Up" ];
|
||||
take-window = [ "" ];
|
||||
toggle-maximize-width = [ "" ];
|
||||
take-window = [ ];
|
||||
toggle-maximize-width = [ ];
|
||||
toggle-scratch = [ "<Super>BackSpace" ];
|
||||
toggle-scratch-layer = [ "<Control><Super>BackSpace" ];
|
||||
toggle-scratch-window = [ "" ];
|
||||
toggle-top-and-position-bar = [ "" ];
|
||||
toggle-scratch-window = [ ];
|
||||
toggle-top-and-position-bar = [ ];
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/user-theme" = lib.mkDefault {
|
||||
|
|
134
home/global/common/gnome/programs/brightness.nix
Normal file
134
home/global/common/gnome/programs/brightness.nix
Normal file
|
@ -0,0 +1,134 @@
|
|||
{ pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
# Script to detect and save bus numbers
|
||||
detectBusesScript = pkgs.writeScript "detect-buses" ''
|
||||
#!${lib.getExe pkgs.fish}
|
||||
|
||||
# Create cache directory if it doesn't exist
|
||||
mkdir -p /tmp/ddcutil-cache
|
||||
|
||||
# Detect buses and save to cache file
|
||||
set buses (${pkgs.ddcutil}/bin/ddcutil detect 2>/dev/null | ${pkgs.gnugrep}/bin/grep "I2C bus:" | ${pkgs.gnused}/bin/sed 's/.*i2c-\([0-9]\+\).*/\1/' | ${pkgs.coreutils}/bin/sort -n | ${pkgs.coreutils}/bin/tr '\n' ' ' | ${pkgs.gnused}/bin/sed 's/ $//')
|
||||
|
||||
if test -n "$buses"
|
||||
echo "$buses" > /tmp/ddcutil-cache/buses
|
||||
echo "Detected I2C buses: $buses"
|
||||
else
|
||||
echo "No I2C buses detected"
|
||||
# Create empty file to indicate detection was attempted
|
||||
touch /tmp/ddcutil-cache/buses
|
||||
end
|
||||
'';
|
||||
|
||||
# The brightness control script
|
||||
brightnessScript = pkgs.writeScriptBin "brightness" ''
|
||||
#!${lib.getExe pkgs.fish}
|
||||
|
||||
# Usage:
|
||||
# brightness --up 10
|
||||
# brightness + 10
|
||||
# brightness --down 15
|
||||
# brightness - 15
|
||||
|
||||
if test (count $argv) -ne 2
|
||||
echo "Usage: $argv[0] [--up|+|--down|-] <INTEGER>"
|
||||
exit 1
|
||||
end
|
||||
|
||||
set option $argv[1]
|
||||
set value $argv[2]
|
||||
|
||||
if test "$option" = "--up" -o "$option" = "+"
|
||||
set op "+"
|
||||
else if test "$option" = "--down" -o "$option" = "-"
|
||||
set op "-"
|
||||
else
|
||||
echo "Invalid option. Use --up | + or --down | -"
|
||||
exit 1
|
||||
end
|
||||
|
||||
# Read cached bus numbers
|
||||
if test -f /tmp/ddcutil-cache/buses
|
||||
set buses_string (cat /tmp/ddcutil-cache/buses)
|
||||
# Split the space-separated string into individual bus numbers
|
||||
set buses (string split " " "$buses_string")
|
||||
else
|
||||
echo "Bus cache not found. Make sure ddcutil-detect service is running."
|
||||
echo "Try: systemctl --user start ddcutil-detect"
|
||||
exit 1
|
||||
end
|
||||
|
||||
if test -z "$buses_string"
|
||||
echo "No I2C buses found in cache. Check ddcutil configuration."
|
||||
exit 1
|
||||
end
|
||||
|
||||
echo "Using cached buses: $buses"
|
||||
|
||||
for bus in $buses
|
||||
echo "Changing brightness on bus $bus"
|
||||
${pkgs.ddcutil}/bin/ddcutil setvcp 10 $op $value --bus $bus
|
||||
end
|
||||
'';
|
||||
|
||||
in
|
||||
{
|
||||
home.packages = [ brightnessScript ];
|
||||
|
||||
dconf.settings = {
|
||||
"org/gnome/settings-daemon/plugins/media-keys" = {
|
||||
custom-keybindings = [
|
||||
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/brightness-up/"
|
||||
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/brightness-down/"
|
||||
];
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/brightness-up" = {
|
||||
binding = "MonBrightnessUp";
|
||||
command = "${lib.getExe brightnessScript} + 10";
|
||||
name = "Brightness up";
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/brightness-down" = {
|
||||
binding = "MonBrightnessDown";
|
||||
command = "${lib.getExe brightnessScript} - 10";
|
||||
name = "Brightness down";
|
||||
};
|
||||
};
|
||||
|
||||
# Systemd user service to detect buses at startup
|
||||
systemd.user.services.ddcutil-detect = {
|
||||
Unit = {
|
||||
Description = "Detect DDC/CI I2C buses for brightness control";
|
||||
After = [ "graphical-session.target" ];
|
||||
Wants = [ "graphical-session.target" ];
|
||||
};
|
||||
|
||||
Service = {
|
||||
Type = "oneshot";
|
||||
ExecStart = "${detectBusesScript}";
|
||||
RemainAfterExit = true;
|
||||
};
|
||||
|
||||
Install = {
|
||||
WantedBy = [ "default.target" ];
|
||||
};
|
||||
};
|
||||
|
||||
# Timer to periodically refresh the bus cache (optional)
|
||||
systemd.user.timers.ddcutil-detect = {
|
||||
Unit = {
|
||||
Description = "Refresh DDC/CI bus detection";
|
||||
};
|
||||
|
||||
Timer = {
|
||||
OnBootSec = "2min";
|
||||
OnUnitActiveSec = "1h";
|
||||
};
|
||||
|
||||
Install = {
|
||||
WantedBy = [ "timers.target" ];
|
||||
};
|
||||
};
|
||||
}
|
|
@ -8,6 +8,7 @@
|
|||
font-family = "monospace";
|
||||
font-size = "11";
|
||||
background-opacity = "0.85";
|
||||
# async-backend = "epoll";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
60
home/hosts/gojo/config/play.nix
Normal file
60
home/hosts/gojo/config/play.nix
Normal file
|
@ -0,0 +1,60 @@
|
|||
{
|
||||
config,
|
||||
osConfig,
|
||||
lib,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
# Get primary monitor and calculate resolution minus 20 pixels
|
||||
primaryMonitor = lib.custom.getPrimaryMonitor config.monitors;
|
||||
resX = toString (primaryMonitor.width - 10);
|
||||
resY = toString (primaryMonitor.height - 10);
|
||||
refresh = toString primaryMonitor.refreshRate;
|
||||
in
|
||||
{
|
||||
play = {
|
||||
wrappers = {
|
||||
alters = {
|
||||
enable = true;
|
||||
command = "${lib.getExe osConfig.programs.steam.package} steam://rungameid/1601570 -tenfoot -nochatui -nofriendsui -ResX=${resX} -ResY=${resY} -refresh=${refresh} -windowed -nomouse";
|
||||
extraOptions = {
|
||||
"disable-layers" = true;
|
||||
"nested-height" = resY;
|
||||
"nested-width" = resX;
|
||||
"steam" = true;
|
||||
};
|
||||
environment = {
|
||||
__GL_SHADER_DISK_CACHE_SKIP_CLEANUP = 1;
|
||||
PROTON_USE_SDL = 1;
|
||||
STEAM_FORCE_DESKTOPUI_SCALING = 1;
|
||||
STEAM_GAMEPADUI = 1;
|
||||
WAYLANDDRV_RAWINPUT = 1;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
# Override default desktop entries to use gamescoperun wrappers/launchers
|
||||
home.activation.removeExistingDesktopFiles = lib.hm.dag.entryBefore [ "writeBoundary" ] ''
|
||||
rm -f "${config.home.homeDirectory}/.local/share/applications/The Alters.desktop"
|
||||
'';
|
||||
|
||||
xdg.desktopEntries = {
|
||||
"The Alters" = {
|
||||
name = "The Alters";
|
||||
comment = "A game about life, choices, and the people we meet";
|
||||
exec = "${lib.getExe config.play.wrappers.alters.wrappedPackage}";
|
||||
icon = "steam_icon_1601570";
|
||||
type = "Application";
|
||||
terminal = false;
|
||||
categories = [ "Game" ];
|
||||
actions = {
|
||||
regular = {
|
||||
name = "The Alters (No Gamescope)";
|
||||
exec = "${lib.getExe osConfig.programs.steam.package} steam://rungameid/1601570 -nochatui -nofriendsui -silent -ResX=${resX} -ResY=${resY} -refresh=${refresh} -windowed -nomouse";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
60
home/hosts/haze/config/play.nix
Normal file
60
home/hosts/haze/config/play.nix
Normal file
|
@ -0,0 +1,60 @@
|
|||
{
|
||||
config,
|
||||
osConfig,
|
||||
lib,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
# Get primary monitor and calculate resolution minus 20 pixels
|
||||
primaryMonitor = lib.custom.getPrimaryMonitor config.monitors;
|
||||
resX = toString (primaryMonitor.width - 10);
|
||||
resY = toString (primaryMonitor.height - 10);
|
||||
refresh = toString primaryMonitor.refreshRate;
|
||||
in
|
||||
{
|
||||
play = {
|
||||
wrappers = {
|
||||
alters = {
|
||||
enable = true;
|
||||
command = "${lib.getExe osConfig.programs.steam.package} steam://rungameid/1601570 -tenfoot -nochatui -nofriendsui -ResX=${resX} -ResY=${resY} -refresh=${refresh} -windowed -nomouse";
|
||||
extraOptions = {
|
||||
"disable-layers" = true;
|
||||
"nested-height" = resY;
|
||||
"nested-width" = resX;
|
||||
"steam" = true;
|
||||
};
|
||||
environment = {
|
||||
__GL_SHADER_DISK_CACHE_SKIP_CLEANUP = 1;
|
||||
PROTON_USE_SDL = 1;
|
||||
STEAM_FORCE_DESKTOPUI_SCALING = 1;
|
||||
STEAM_GAMEPADUI = 1;
|
||||
WAYLANDDRV_RAWINPUT = 1;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
# Override default desktop entries to use gamescoperun wrappers/launchers
|
||||
home.activation.removeExistingDesktopFiles = lib.hm.dag.entryBefore [ "writeBoundary" ] ''
|
||||
rm -f "${config.home.homeDirectory}/.local/share/applications/The Alters.desktop"
|
||||
'';
|
||||
|
||||
xdg.desktopEntries = {
|
||||
"The Alters" = {
|
||||
name = "The Alters";
|
||||
comment = "A game about life, choices, and the people we meet";
|
||||
exec = "${lib.getExe config.play.wrappers.alters.wrappedPackage}";
|
||||
icon = "steam_icon_1601570";
|
||||
type = "Application";
|
||||
terminal = false;
|
||||
categories = [ "Game" ];
|
||||
actions = {
|
||||
regular = {
|
||||
name = "The Alters (No Gamescope)";
|
||||
exec = "${lib.getExe osConfig.programs.steam.package} steam://rungameid/1601570 -nochatui -nofriendsui -silent -ResX=${resX} -ResY=${resY} -refresh=${refresh} -windowed -nomouse";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -5,7 +5,6 @@ with lib.hm.gvariant;
|
|||
|
||||
{
|
||||
dconf.settings = {
|
||||
|
||||
"org/gnome/desktop/app-folders" = {
|
||||
folder-children = [
|
||||
"System"
|
||||
|
|
|
@ -17,14 +17,11 @@ palette:
|
|||
base0A: "E8D792" # Yellow
|
||||
base0B: "99D27F" # Green
|
||||
base0C: "85CED8" # Cyan
|
||||
base0D: "282E7B" # Blue
|
||||
base0D: "424BC2" # Blue
|
||||
base0E: "514A8F" # Purple
|
||||
base0F: "754558" # Magenta
|
||||
|
||||
# https://coolors.co/1f2332-42444d-656569-898784-aca8a0-d0c9bb-d7d1c6-ded9d0
|
||||
# https://coolors.co/8f66b9-827767-be5a47-9c7149-7d7772-8d7177-857665-947066
|
||||
|
||||
# https://coolors.co/1f2333-2a293f-352e4a-4a3960-92bdea-c9d5f5-e4e1fa-ffecff
|
||||
# https://coolors.co/d44763-f7a94e-fceea1-8de364-a5e4eb-313568-be68c9-c2708f
|
||||
# https://coolors.co/1D2434-2D364D-3D4967-4D5B80-DEC2A3-E7CDBA-EFD7D1-FFECFF
|
||||
# https://coolors.co/A22A48-CC9C66-E8D792-99D27F-85CED8-424BC2-514A8F-754558
|
||||
|
||||
# flavours generate dark ./wallpapers/soraka.jpg --stdout > soraka.yaml
|
|
@ -18,14 +18,22 @@ let
|
|||
modifications = final: prev: {
|
||||
## FIXME: Workaround, amd drivers are borked on current nixpkgs-unstable
|
||||
linux-firmware = prev.linux-firmware.overrideAttrs (old: rec {
|
||||
version = "20250625";
|
||||
version = "20250630";
|
||||
src = prev.fetchFromGitLab {
|
||||
owner = "kernel-firmware";
|
||||
repo = "linux-firmware";
|
||||
rev = "b05fabcd6f2a16d50b5f86c389dde7a33f00bb81";
|
||||
rev = "e2dad11e8d4b169fdeac476d694d6ef8f2d3b5bf";
|
||||
hash = "sha256-AvSsyfKP57Uhb3qMrf6PpNHKbXhD9IvFT1kcz5J7khM=";
|
||||
};
|
||||
});
|
||||
|
||||
ghostty = prev.ghostty.overrideAttrs (_: {
|
||||
preBuild = ''
|
||||
shopt -s globstar
|
||||
sed -i 's/^const xev = @import("xev");$/const xev = @import("xev").Epoll;/' **/*.zig
|
||||
shopt -u globstar
|
||||
'';
|
||||
});
|
||||
};
|
||||
|
||||
stable-packages = final: _prev: {
|
||||
|
|
Loading…
Add table
Reference in a new issue