chack
This commit is contained in:
78
flake.lock
generated
78
flake.lock
generated
@@ -285,11 +285,11 @@
|
||||
},
|
||||
"flake-compat_4": {
|
||||
"locked": {
|
||||
"lastModified": 1761640442,
|
||||
"narHash": "sha256-AtrEP6Jmdvrqiv4x2xa5mrtaIp3OEe8uBYCDZDS+hu8=",
|
||||
"lastModified": 1746162366,
|
||||
"narHash": "sha256-5SSSZ/oQkwfcAz/o/6TlejlVGqeK08wyREBQ5qFFPhM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "flake-compat",
|
||||
"rev": "4a56054d8ffc173222d09dad23adf4ba946c8884",
|
||||
"rev": "0f158086a2ecdbb138cd0429410e44994f1b7e4b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -550,11 +550,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1767437240,
|
||||
"narHash": "sha256-OA0dBHhccdupFXp+/eaFfb8K1dQxk61in4aF5ITGVX8=",
|
||||
"lastModified": 1767556355,
|
||||
"narHash": "sha256-RDTUBDQBi9D4eD9iJQWtUDN/13MDLX+KmE+TwwNUp2s=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "1cfa305fba94468f665de1bd1b62dddf2e0cb012",
|
||||
"rev": "f894bc4ffde179d178d8deb374fcf9855d1a82b7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -583,11 +583,11 @@
|
||||
"homebrew-cask": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1767458043,
|
||||
"narHash": "sha256-9wRKvEog4Ed3gCfxiDviXUlgH4l5iljc5B9I4yQU/RQ=",
|
||||
"lastModified": 1767576576,
|
||||
"narHash": "sha256-PW0qkMDuHRsaWYOFCkDpez0aPtXDGDKTGbWvMj3OlFk=",
|
||||
"owner": "homebrew",
|
||||
"repo": "homebrew-cask",
|
||||
"rev": "d8970b9f4b6b72992b7e4e3c6a7047c403ade76a",
|
||||
"rev": "df47df9f7e8d536e138b5213d79f9d2dd4598193",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -599,11 +599,11 @@
|
||||
"homebrew-core": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1767452389,
|
||||
"narHash": "sha256-ZVzK1Zd00XeUHbTLNOU3KQtCEbP20xfj0HdP8yN78CQ=",
|
||||
"lastModified": 1767576397,
|
||||
"narHash": "sha256-BDECp5UR5m0t4YJU5hbTABsWLrMzSlPX2fcYDWRNDP4=",
|
||||
"owner": "homebrew",
|
||||
"repo": "homebrew-core",
|
||||
"rev": "806bf4b26f47cdc6c2e53c5fbaf344d2a744f165",
|
||||
"rev": "8eba6ebee29c5a09159c77f171c4c9534b240e86",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -821,11 +821,11 @@
|
||||
"nixpkgs": "nixpkgs_8"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1767405959,
|
||||
"narHash": "sha256-K9P7J2W/deP9d1aZOlIvmK+sWCQrk6kcX3T21y3Marc=",
|
||||
"lastModified": 1767493793,
|
||||
"narHash": "sha256-MWEsIcQZXrjvvFyPNiK5LKrWu6Xo9AKnjo4OgS4NVjU=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-vscode-extensions",
|
||||
"rev": "c84c57fb183f7b2318187927d3a82641e6796933",
|
||||
"rev": "0f7e75f772be341d8e461162c0bcf0f5b971cb86",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -889,11 +889,11 @@
|
||||
"nixpkgs": "nixpkgs_10"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1767441081,
|
||||
"narHash": "sha256-Y4T5OR+R4QBFvRnMsZK7Bol4yk4TLuBo8l7KhrXoGjQ=",
|
||||
"lastModified": 1767465220,
|
||||
"narHash": "sha256-P5qVna7ptT0BPQI6EesszfK25znFNpR9xiEJpqheo0M=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixos-apple-silicon",
|
||||
"rev": "612258d7a123a727b908fb9cdbbe49182ca9a2fe",
|
||||
"rev": "b6e97a42d409155bc70f2d211ab1029338a37523",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1059,11 +1059,11 @@
|
||||
},
|
||||
"nixpkgs-stable_2": {
|
||||
"locked": {
|
||||
"lastModified": 1767325753,
|
||||
"narHash": "sha256-yA/CuWyqm+AQo2ivGy6PlYrjZBQm7jfbe461+4HF2fo=",
|
||||
"lastModified": 1767480499,
|
||||
"narHash": "sha256-8IQQUorUGiSmFaPnLSo2+T+rjHtiNWc+OAzeHck7N48=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "64049ca74d63e971b627b5f3178d95642e61cedd",
|
||||
"rev": "30a3c519afcf3f99e2c6df3b359aec5692054d92",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1075,11 +1075,11 @@
|
||||
},
|
||||
"nixpkgs_10": {
|
||||
"locked": {
|
||||
"lastModified": 1767116409,
|
||||
"narHash": "sha256-5vKw92l1GyTnjoLzEagJy5V5mDFck72LiQWZSOnSicw=",
|
||||
"lastModified": 1762977756,
|
||||
"narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "cad22e7d996aea55ecab064e84834289143e44a0",
|
||||
"rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1091,11 +1091,11 @@
|
||||
},
|
||||
"nixpkgs_11": {
|
||||
"locked": {
|
||||
"lastModified": 1767116409,
|
||||
"narHash": "sha256-5vKw92l1GyTnjoLzEagJy5V5mDFck72LiQWZSOnSicw=",
|
||||
"lastModified": 1767379071,
|
||||
"narHash": "sha256-EgE0pxsrW9jp9YFMkHL9JMXxcqi/OoumPJYwf+Okucw=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "cad22e7d996aea55ecab064e84834289143e44a0",
|
||||
"rev": "fb7944c166a3b630f177938e478f0378e64ce108",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1107,11 +1107,11 @@
|
||||
},
|
||||
"nixpkgs_12": {
|
||||
"locked": {
|
||||
"lastModified": 1766840161,
|
||||
"narHash": "sha256-Ss/LHpJJsng8vz1Pe33RSGIWUOcqM1fjrehjUkdrWio=",
|
||||
"lastModified": 1767364772,
|
||||
"narHash": "sha256-fFUnEYMla8b7UKjijLnMe+oVFOz6HjijGGNS1l7dYaQ=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3edc4a30ed3903fdf6f90c837f961fa6b49582d1",
|
||||
"rev": "16c7794d0a28b5a37904d55bcca36003b9109aaa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1473,11 +1473,11 @@
|
||||
"nixpkgs": "nixpkgs_12"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1766894905,
|
||||
"narHash": "sha256-pn8AxxfajqyR/Dmr1wnZYdUXHgM3u6z9x0Z1Ijmz2UQ=",
|
||||
"lastModified": 1767499857,
|
||||
"narHash": "sha256-0zUU/PW09d6oBaR8x8vMHcAhg1MOvo3CwoXgHijzzNE=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "61b39c7b657081c2adc91b75dd3ad8a91d6f07a7",
|
||||
"rev": "ecc41505948ec2ab0325f14c9862a4329c2b4190",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1530,11 +1530,11 @@
|
||||
"tinted-zed": "tinted-zed"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1767397606,
|
||||
"narHash": "sha256-QA1d/6XzxK3lsMiJ+xiJf340cpNeJs/xIM6D0/yLqs4=",
|
||||
"lastModified": 1767559556,
|
||||
"narHash": "sha256-Pf1d9Hh9UUQ/oS+evq6dU0MiaDczXXNztTlQekaMbW0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "stylix",
|
||||
"rev": "6850ad2e9f3f7ff6116e9e6fb73a9cca2d9b1a35",
|
||||
"rev": "b135edbdd403896d1ef507934c045f716deb5609",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1691,11 +1691,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1767122417,
|
||||
"narHash": "sha256-yOt/FTB7oSEKQH9EZMFMeuldK1HGpQs2eAzdS9hNS/o=",
|
||||
"lastModified": 1767468822,
|
||||
"narHash": "sha256-MpffQxHxmjVKMiQd0Tg2IM/bSjjdQAM+NDcX6yxj7rE=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "dec15f37015ac2e774c84d0952d57fcdf169b54d",
|
||||
"rev": "d56486eb9493ad9c4777c65932618e9c2d0468fc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -37,7 +37,14 @@ in
|
||||
remotePlay.openFirewall = true;
|
||||
# Open ports in the firewall for Source Dedicated Server
|
||||
dedicatedServer.openFirewall = true;
|
||||
extraCompatPackages = with pkgs; [ proton-ge-bin ];
|
||||
extraCompatPackages = with pkgs; [
|
||||
proton-ge-bin
|
||||
|
||||
pkgs.${namespace}.proton-cachyos
|
||||
pkgs.${namespace}.proton-cachyos-v3
|
||||
pkgs.${namespace}.proton-cachyos-v2
|
||||
pkgs.${namespace}.proton-cachyos-v1
|
||||
];
|
||||
gamescopeSession = {
|
||||
enable = true;
|
||||
args = [
|
||||
|
||||
@@ -2,18 +2,22 @@
|
||||
config,
|
||||
lib,
|
||||
namespace,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs.ccache = {
|
||||
enable = true;
|
||||
packageNames = [
|
||||
"bcachefs"
|
||||
"bcachefs-tools"
|
||||
"dolphin-emu"
|
||||
# "ffmpeg"
|
||||
"ffmpeg_8"
|
||||
"ffmpeg_7"
|
||||
"ffmpeg_6"
|
||||
"ffmpeg-full"
|
||||
"ffmpeg-headless"
|
||||
"gamescope"
|
||||
"gjs"
|
||||
"gst-plugins-bad"
|
||||
@@ -57,15 +61,16 @@
|
||||
(_self: super: {
|
||||
${namespace} =
|
||||
let
|
||||
clangCcacheStdenv = super.overrideCC super.llvmPackages.stdenv (
|
||||
super.ccacheWrapper.override {
|
||||
cc = super.llvmPackages.stdenv.cc;
|
||||
extraConfig = ''
|
||||
export CCACHE_SLOPPINESS=include_file_ctime,time_macros
|
||||
export CCACHE_DIR=/var/cache/ccache
|
||||
'';
|
||||
}
|
||||
);
|
||||
# clangCcacheStdenv = super.overrideCC super.llvmPackages.stdenv (
|
||||
# super.ccacheWrapper.override {
|
||||
# cc = super.llvmPackages.stdenv.cc;
|
||||
# extraConfig = ''
|
||||
# export CCACHE_SLOPPINESS=include_file_ctime,time_macros
|
||||
# export CCACHE_DIR=/var/cache/ccache
|
||||
# '';
|
||||
# }
|
||||
# );
|
||||
clangCcacheStdenv = pkgs.overrideCC pkgs.ccacheStdenv (pkgs.ccacheWrapper.override { cc = pkgs.clang; });
|
||||
in
|
||||
super.${namespace}
|
||||
// {
|
||||
@@ -84,48 +89,48 @@
|
||||
linuxPackages_cachyos = super.${namespace}.linuxPackages_cachyos.override {
|
||||
stdenv = super.ccacheStdenv;
|
||||
};
|
||||
linuxPackages_cachyos-lto = super.${namespace}.linuxPackages_cachyos-lto.override {
|
||||
stdenv = clangCcacheStdenv;
|
||||
};
|
||||
linuxPackages_cachyos-lto-full = super.${namespace}.linuxPackages_cachyos-lto-full.override {
|
||||
stdenv = clangCcacheStdenv;
|
||||
};
|
||||
# linuxPackages_cachyos-lto = super.${namespace}.linuxPackages_cachyos-lto.override {
|
||||
# stdenv = clangCcacheStdenv;
|
||||
# };
|
||||
# linuxPackages_cachyos-lto-full = super.${namespace}.linuxPackages_cachyos-lto-full.override {
|
||||
# stdenv = clangCcacheStdenv;
|
||||
# };
|
||||
linuxPackages_cachyos-lts = super.${namespace}.linuxPackages_cachyos-lts.override {
|
||||
stdenv = super.ccacheStdenv;
|
||||
};
|
||||
linuxPackages_cachyos-lts-lto = super.${namespace}.linuxPackages_cachyos-lts-lto.override {
|
||||
stdenv = clangCcacheStdenv;
|
||||
};
|
||||
linuxPackages_cachyos-lto-znver4 = super.${namespace}.linuxPackages_cachyos-lto-znver4.override {
|
||||
stdenv = clangCcacheStdenv;
|
||||
};
|
||||
# linuxPackages_cachyos-lts-lto = super.${namespace}.linuxPackages_cachyos-lts-lto.override {
|
||||
# stdenv = clangCcacheStdenv;
|
||||
# };
|
||||
# linuxPackages_cachyos-lto-znver4 = super.${namespace}.linuxPackages_cachyos-lto-znver4.override {
|
||||
# stdenv = clangCcacheStdenv;
|
||||
# };
|
||||
linuxPackages_cachyos-server = super.${namespace}.linuxPackages_cachyos-server.override {
|
||||
stdenv = super.ccacheStdenv;
|
||||
};
|
||||
linuxPackages_cachyos-server-lto = super.${namespace}.linuxPackages_cachyos-server-lto.override {
|
||||
stdenv = clangCcacheStdenv;
|
||||
};
|
||||
linuxPackages_cachyos-server-lto-znver4 =
|
||||
super.${namespace}.linuxPackages_cachyos-server-lto-znver4.override
|
||||
{ stdenv = clangCcacheStdenv; };
|
||||
# linuxPackages_cachyos-server-lto = super.${namespace}.linuxPackages_cachyos-server-lto.override {
|
||||
# stdenv = clangCcacheStdenv;
|
||||
# };
|
||||
# linuxPackages_cachyos-server-lto-znver4 =
|
||||
# super.${namespace}.linuxPackages_cachyos-server-lto-znver4.override
|
||||
# { stdenv = clangCcacheStdenv; };
|
||||
linuxPackages_cachyos-rc = super.${namespace}.linuxPackages_cachyos-rc.override {
|
||||
stdenv = super.ccacheStdenv;
|
||||
};
|
||||
linuxPackages_cachyos-rc-lto = super.${namespace}.linuxPackages_cachyos-rc-lto.override {
|
||||
stdenv = clangCcacheStdenv;
|
||||
};
|
||||
linuxPackages_cachyos-rc-lto-znver4 =
|
||||
super.${namespace}.linuxPackages_cachyos-rc-lto-znver4.override
|
||||
{ stdenv = clangCcacheStdenv; };
|
||||
# linuxPackages_cachyos-rc-lto = super.${namespace}.linuxPackages_cachyos-rc-lto.override {
|
||||
# stdenv = clangCcacheStdenv;
|
||||
# };
|
||||
# linuxPackages_cachyos-rc-lto-znver4 =
|
||||
# super.${namespace}.linuxPackages_cachyos-rc-lto-znver4.override
|
||||
# { stdenv = clangCcacheStdenv; };
|
||||
linuxPackages_cachyos-hardened = super.${namespace}.linuxPackages_cachyos-hardened.override {
|
||||
stdenv = super.ccacheStdenv;
|
||||
};
|
||||
linuxPackages_cachyos-hardened-lto =
|
||||
super.${namespace}.linuxPackages_cachyos-hardened-lto.override
|
||||
{ stdenv = clangCcacheStdenv; };
|
||||
linuxPackages_cachyos-hardened-lto-znver4 =
|
||||
super.${namespace}.linuxPackages_cachyos-hardened-lto-znver4.override
|
||||
{ stdenv = clangCcacheStdenv; };
|
||||
# linuxPackages_cachyos-hardened-lto =
|
||||
# super.${namespace}.linuxPackages_cachyos-hardened-lto.override
|
||||
# { stdenv = clangCcacheStdenv; };
|
||||
# linuxPackages_cachyos-hardened-lto-znver4 =
|
||||
# super.${namespace}.linuxPackages_cachyos-hardened-lto-znver4.override
|
||||
# { stdenv = clangCcacheStdenv; };
|
||||
linuxPackages_cachyos-deckify = super.${namespace}.linuxPackages_cachyos-deckify.override {
|
||||
stdenv = super.ccacheStdenv;
|
||||
};
|
||||
|
||||
@@ -147,6 +147,18 @@ let
|
||||
icon = "sh:manyfold";
|
||||
allow-insecure = true;
|
||||
}
|
||||
{
|
||||
title = "Code Server";
|
||||
url = "http://10.0.1.3:4444/";
|
||||
icon = "si:vscodium";
|
||||
allow-insecure = true;
|
||||
}
|
||||
{
|
||||
title = "NAS KVM";
|
||||
url = "http://nas-kvm.local/";
|
||||
icon = "si:nanokvm";
|
||||
allow-insecure = true;
|
||||
}
|
||||
{
|
||||
title = "Sonarr";
|
||||
url = "http://10.0.1.3:8989/";
|
||||
@@ -167,6 +179,16 @@ let
|
||||
password = "\${ARR_PASS}";
|
||||
};
|
||||
}
|
||||
{
|
||||
title = "Sabnzbd";
|
||||
url = "http://10.0.1.3:8280/";
|
||||
icon = "si:sabnzbd";
|
||||
allow-insecure = true;
|
||||
basic-auth = {
|
||||
username = "\${ARR_USER}";
|
||||
password = "\${ARR_PASS}";
|
||||
};
|
||||
}
|
||||
# {
|
||||
# title = "";
|
||||
# url = "";
|
||||
@@ -235,6 +257,14 @@ let
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
type = "reddit";
|
||||
subreddit = "hockey";
|
||||
}
|
||||
{
|
||||
type = "reddit";
|
||||
subreddit = "formula1";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
18
overlays/age-plugin-yubikey/default.nix
Normal file
18
overlays/age-plugin-yubikey/default.nix
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
inputs,
|
||||
self,
|
||||
...
|
||||
}:
|
||||
final: prev:
|
||||
{
|
||||
# age-plugin-yubikey = final.stable.age-plugin-yubikey;
|
||||
# librsvg = final.stable.librsvg;
|
||||
fish = final.stable.fish;
|
||||
vesktop = final.stable.vesktop;
|
||||
rustPlatform = final.unstable.rustPlatform // {
|
||||
cargo-deps-vendor = final.stable.rustPlatform.cargo-deps-vendor;
|
||||
};
|
||||
python3Packages = final.unstable.python3Packages // {
|
||||
aiohttp = final.stable.python3Packages.aiohttp;
|
||||
};
|
||||
}
|
||||
22
overlays/proton-cachyos/default.nix
Normal file
22
overlays/proton-cachyos/default.nix
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
inputs,
|
||||
self,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
final: prev:
|
||||
let
|
||||
in
|
||||
{
|
||||
${namespace} = prev.${namespace} // {
|
||||
proton-cachyos-v3 = prev.${namespace}.proton-cachyos.override {
|
||||
tarballSuffix = "-x86_64_v3.tar.xz";
|
||||
};
|
||||
proton-cachyos-v2 = prev.${namespace}.proton-cachyos.override {
|
||||
tarballSuffix = "-x86_64_v2.tar.xz";
|
||||
};
|
||||
proton-cachyos-v1 = prev.${namespace}.proton-cachyos.override {
|
||||
tarballSuffix = "-x86_64.tar.xz";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -5,7 +5,13 @@ final: _prev: {
|
||||
firefox = final.stable.firefox;
|
||||
webkitgtk_6_0 = final.stable.webkitgtk_6_0;
|
||||
webkitgtk_4_1 = final.stable.webkitgtk_4_1;
|
||||
alvr = final.stable.alvr;
|
||||
openvr = final.stable.openvr;
|
||||
cargo-auditable = final.stable.cargo-auditable;
|
||||
# postgresql = final.stable.postgresql;
|
||||
immich-machine-learning = final.stable.immich-machine-learning;
|
||||
python3Packages = final.stable.python3Packages // {
|
||||
ctranslate2 = final.stable.python3Packages.ctranslate2;
|
||||
pglast = final.stable.python3Packages.pglast;
|
||||
};
|
||||
}
|
||||
|
||||
5
packages/proton-cachyos/cachyos-v2-version.json
Normal file
5
packages/proton-cachyos/cachyos-v2-version.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"base": "10.0",
|
||||
"release": "20251222",
|
||||
"hash": "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
|
||||
}
|
||||
5
packages/proton-cachyos/cachyos-v3-version.json
Normal file
5
packages/proton-cachyos/cachyos-v3-version.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"base": "10.0",
|
||||
"release": "20251222",
|
||||
"hash": "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
|
||||
}
|
||||
5
packages/proton-cachyos/cachyos-v4-version.json
Normal file
5
packages/proton-cachyos/cachyos-v4-version.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"base": "10.0",
|
||||
"release": "20251222",
|
||||
"hash": "sha256-1+6nCUc93vVZg3j4oSwuM7DYOZ2bNbLIjbH+8OUOSAQ="
|
||||
}
|
||||
5
packages/proton-cachyos/cachyos-version.json
Normal file
5
packages/proton-cachyos/cachyos-version.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"base": "10.0",
|
||||
"release": "20251222",
|
||||
"hash": "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
|
||||
}
|
||||
82
packages/proton-cachyos/default.nix
Normal file
82
packages/proton-cachyos/default.nix
Normal file
@@ -0,0 +1,82 @@
|
||||
{
|
||||
callPackage,
|
||||
stdenvNoCC,
|
||||
lib,
|
||||
fetchurl,
|
||||
fetchzip,
|
||||
# Required
|
||||
versionFilename ? "cachyos-v4-version.json",
|
||||
owner ? "CachyOS",
|
||||
repo ? "proton-cachyos",
|
||||
# Optional
|
||||
withUpdateScript ? true,
|
||||
toolTitle ? null,
|
||||
toolPattern ? "proton-.*",
|
||||
tarballPrefix ? "proton-",
|
||||
tarballSuffix ? "-x86_64_v4.tar.xz",
|
||||
releasePrefix ? "cachyos-",
|
||||
releaseSuffix ? "-slr",
|
||||
version ? lib.trivial.importJSON ./${versionFilename},
|
||||
releaseVersion ? "${releasePrefix}${version.base}-${version.release}${releaseSuffix}",
|
||||
homepage ? "https://github.com/${owner}/${repo}",
|
||||
url ? "${homepage}/releases/download/${releaseVersion}/${tarballPrefix}${releaseVersion}${tarballSuffix}",
|
||||
}:
|
||||
let
|
||||
intake =
|
||||
if lib.strings.hasSuffix ".zip" url then
|
||||
{
|
||||
fetcher = fetchzip;
|
||||
input = "$src/*.tar.xz";
|
||||
}
|
||||
else
|
||||
{
|
||||
fetcher = fetchurl;
|
||||
input = "$src";
|
||||
};
|
||||
in
|
||||
stdenvNoCC.mkDerivation {
|
||||
name = repo;
|
||||
version = "${version.base}.${version.release}";
|
||||
|
||||
src = intake.fetcher {
|
||||
inherit url;
|
||||
inherit (version) hash;
|
||||
};
|
||||
|
||||
buildCommand = ''
|
||||
mkdir -p $out/bin
|
||||
tar -C $out/bin --strip=1 -x -f ${intake.input}
|
||||
''
|
||||
# Allow to keep the same name between updates
|
||||
+ lib.strings.optionalString (toolTitle != null) ''
|
||||
sed -i -r 's|"${toolPattern}"|"${toolTitle}"|' $out/bin/compatibilitytool.vdf
|
||||
'';
|
||||
|
||||
passthru =
|
||||
if withUpdateScript then
|
||||
{
|
||||
updateScript = callPackage ./update.nix {
|
||||
inherit
|
||||
tarballPrefix
|
||||
tarballSuffix
|
||||
releasePrefix
|
||||
releaseSuffix
|
||||
versionFilename
|
||||
owner
|
||||
repo
|
||||
;
|
||||
};
|
||||
}
|
||||
else
|
||||
{ };
|
||||
|
||||
meta = with lib; {
|
||||
inherit homepage;
|
||||
description = "Compatibility tool for Steam Play based on Wine and additional components (patched and built by ${owner})";
|
||||
license = licenses.bsd3;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [
|
||||
pedrohlc
|
||||
];
|
||||
};
|
||||
}
|
||||
5
packages/proton-cachyos/ge-version.json
Normal file
5
packages/proton-cachyos/ge-version.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"base": "10",
|
||||
"release": "26",
|
||||
"hash": "sha256-4v/Z0qHs4wtdo9PcnO2qgodQCNHJhLXvx2ZsAoID+ds="
|
||||
}
|
||||
63
packages/proton-cachyos/update.nix
Normal file
63
packages/proton-cachyos/update.nix
Normal file
@@ -0,0 +1,63 @@
|
||||
{
|
||||
writeShellScript,
|
||||
lib,
|
||||
coreutils,
|
||||
findutils,
|
||||
gnugrep,
|
||||
curl,
|
||||
jq,
|
||||
git,
|
||||
nix,
|
||||
nix-prefetch-git,
|
||||
moreutils,
|
||||
yq,
|
||||
# Config
|
||||
tarballPrefix,
|
||||
tarballSuffix,
|
||||
releasePrefix,
|
||||
releaseSuffix,
|
||||
versionFilename,
|
||||
owner,
|
||||
repo,
|
||||
}:
|
||||
let
|
||||
path = lib.makeBinPath [
|
||||
coreutils
|
||||
curl
|
||||
findutils
|
||||
gnugrep
|
||||
jq
|
||||
moreutils
|
||||
git
|
||||
nix-prefetch-git
|
||||
nix
|
||||
yq
|
||||
];
|
||||
in
|
||||
writeShellScript "update-${repo}" ''
|
||||
set -euo pipefail
|
||||
PATH=${path}
|
||||
|
||||
srcJson=pkgs/proton-bin/${versionFilename}
|
||||
localBase=$(jq -r .base < $srcJson)
|
||||
localRelease=$(jq -r .release < $srcJson)
|
||||
|
||||
latestVer=$(curl 'https://github.com/${owner}/${repo}/releases.atom' | xq -r '.feed.entry[].link."@href"' | grep -Po '(?<=/)${releasePrefix}[^/]+${releaseSuffix}$' | head -n 1)
|
||||
|
||||
if [ "${releasePrefix}''${localBase}-''${localRelease}${releaseSuffix}" == "$latestVer" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
latestBase=$(echo $latestVer | grep -Po '(?<=^${releasePrefix})[^-]+')
|
||||
latestRelease=$(echo $latestVer | grep -Po '(?<=-)[^-]+(?=${releaseSuffix}$)')
|
||||
latestSha256=$(nix-prefetch-url --type sha256 "https://github.com/${owner}/${repo}/releases/download/''${latestVer}/${tarballPrefix}''${latestVer}${tarballSuffix}")
|
||||
latestHash=$(nix-hash --to-sri --type sha256 $latestSha256)
|
||||
|
||||
jq \
|
||||
--arg latestBase "$latestBase" --arg latestRelease "$latestRelease" --arg latestHash "$latestHash" \
|
||||
'.base = $latestBase | .release = $latestRelease | .hash = $latestHash' \
|
||||
"$srcJson" | sponge "$srcJson"
|
||||
|
||||
git add $srcJson
|
||||
git commit -m "${repo}: ''${localBase}.''${localRelease} -> ''${latestBase}.''${latestRelease}"
|
||||
''
|
||||
Reference in New Issue
Block a user