Compare commits

...

10 commits

Author SHA1 Message Date
3f1132b770
use cerulean's v0.2.4-alpha snow.flake standard 2026-03-07 16:45:42 +10:00
e0e7c820ea
patch hyprland-git not working on nixpkgs stable
glaze version mismatch
2026-03-07 16:45:10 +10:00
2d67934e29
package sddm themes 2026-03-07 16:44:23 +10:00
aba1b552d9
ensure mesa package matches hyprland internal package 2026-03-07 16:43:49 +10:00
82c10b793b
add melonloader 2026-03-07 16:43:49 +10:00
56b178a167
use millennium for steam 2026-03-07 16:41:05 +10:00
3ec6673f7c
--show-trace not needed on rebuild aliases 2026-03-07 16:39:50 +10:00
cd379a47e9
use tlrc (rust tldr) 2026-03-07 16:39:37 +10:00
536010e275
disable jack and pulse (?)
match flake-foxora
2026-03-07 16:39:11 +10:00
e8676e4a29
restruct inputs + add millenium 2026-03-05 15:45:45 +10:00
23 changed files with 1338 additions and 155 deletions

417
flake.lock generated
View file

@ -1,5 +1,22 @@
{
"nodes": {
"abseil-src": {
"flake": false,
"locked": {
"lastModified": 1722535511,
"narHash": "sha256-51jpDhdZ0n+KLmxh8KVaTz53pZAB0dHjmILFX+OLud4=",
"owner": "abseil",
"repo": "abseil-cpp",
"rev": "4447c7562e3bc702ade25105912dce503f0c4010",
"type": "github"
},
"original": {
"owner": "abseil",
"ref": "20240722.0",
"repo": "abseil-cpp",
"type": "github"
}
},
"aquamarine": {
"inputs": {
"hyprutils": [
@ -20,11 +37,11 @@
]
},
"locked": {
"lastModified": 1771610171,
"narHash": "sha256-+DeInuhbm6a6PpHDNUS7pozDouq2+8xSDefoNaZLW0E=",
"lastModified": 1772292445,
"narHash": "sha256-4F1Q7U313TKUDDovCC96m/Za4wZcJ3yqtu4eSrj8lk8=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "7f9eb087703ec4acc6b288d02fa9ea3db803cd3d",
"rev": "1dbbba659c1cef0b0202ce92cadfe13bae550e8f",
"type": "github"
},
"original": {
@ -33,6 +50,23 @@
"type": "github"
}
},
"asio-src": {
"flake": false,
"locked": {
"lastModified": 1702548444,
"narHash": "sha256-8Xo6J6+dTvDtsthjbLMMTInHMDnMMM0rQwzbZu70J/s=",
"owner": "chriskohlhoff",
"repo": "asio",
"rev": "22ccfc94fc77356f7820601f9f33b9129a337d2d",
"type": "github"
},
"original": {
"owner": "chriskohlhoff",
"ref": "asio-1-30-0",
"repo": "asio",
"type": "github"
}
},
"awww": {
"inputs": {
"flake-compat": "flake-compat",
@ -71,14 +105,34 @@
]
},
"locked": {
"lastModified": 1772502318,
"narHash": "sha256-7ZnsLuwU2/nDxWriEeccY2LvpJjPDyV13/hSKrdLFZ8=",
"path": "/home/me/cry/mk/cerulean",
"type": "path"
"lastModified": 1772846660,
"narHash": "sha256-BX9ZWoUvpamj2CJpQqqEnpjci1BukYd71UFdj5JXn8c=",
"owner": "cry128",
"repo": "cerulean",
"rev": "d9432d87a460c4f6dfb2602bba7e98267c2a0132",
"type": "github"
},
"original": {
"path": "/home/me/cry/mk/cerulean",
"type": "path"
"owner": "cry128",
"repo": "cerulean",
"type": "github"
}
},
"curl-src": {
"flake": false,
"locked": {
"lastModified": 1743572790,
"narHash": "sha256-huAGWNm2rYBmgzUuYQ21IYp2skyQECelEkXPMBJY3cE=",
"owner": "curl",
"repo": "curl",
"rev": "1c3149881769e7bd79b072e48374e4c2b3678b2f",
"type": "github"
},
"original": {
"owner": "curl",
"ref": "curl-8_13_0",
"repo": "curl",
"type": "github"
}
},
"deploy-rs": {
@ -250,6 +304,23 @@
"type": "github"
}
},
"fmt-src": {
"flake": false,
"locked": {
"lastModified": 1758127535,
"narHash": "sha256-AZDmIeU1HbadC+K0TIAGogvVnxt0oE9U6ocpawIgl6g=",
"owner": "fmtlib",
"repo": "fmt",
"rev": "e424e3f2e607da02742f73db84873b8084fc714c",
"type": "github"
},
"original": {
"owner": "fmtlib",
"ref": "12.0.0",
"repo": "fmt",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
@ -382,23 +453,27 @@
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"hyprwire": "hyprwire",
"nixpkgs": "nixpkgs",
"nixpkgs": [
"nixpkgs"
],
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems_2",
"systems": [
"systems"
],
"xdph": "xdph"
},
"locked": {
"lastModified": 1772129629,
"narHash": "sha256-vUCMHuxPNd7PKy1mQsjRUDIHvI4eMbbJxl/iNwzWmGM=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "70cdd819e4bee3c4dcea6961d32e61e6afe4eeb0",
"type": "github"
"lastModified": 1772862346,
"narHash": "sha256-cfzHdBAkACrE2kuFlVPub2W7qZwobsrHcmYhoKVLtdY=",
"ref": "refs/heads/main",
"rev": "b41882c169f589848f0efb10c88c1dad383af04b",
"revCount": 6999,
"type": "git",
"url": "https://tearforge.net/cry/Hyprland"
},
"original": {
"owner": "hyprwm",
"repo": "Hyprland",
"type": "github"
"type": "git",
"url": "https://tearforge.net/cry/Hyprland"
}
},
"hyprland-guiutils": {
@ -632,6 +707,91 @@
"type": "github"
}
},
"incbin-src": {
"flake": false,
"locked": {
"lastModified": 1748303270,
"narHash": "sha256-vgOfViZnWTKpBB6vDNDJSB3YuuGGVhg++zsi9Ubatno=",
"owner": "graphitemaster",
"repo": "incbin",
"rev": "22061f51fe9f2f35f061f85c2b217b55dd75310d",
"type": "github"
},
"original": {
"owner": "graphitemaster",
"repo": "incbin",
"rev": "22061f51fe9f2f35f061f85c2b217b55dd75310d",
"type": "github"
}
},
"json-src": {
"flake": false,
"locked": {
"lastModified": 1744360948,
"narHash": "sha256-cECvDOLxgX7Q9R3IE86Hj9JJUxraDQvhoyPDF03B2CY=",
"owner": "nlohmann",
"repo": "json",
"rev": "55f93686c01528224f448c19128836e7df245f72",
"type": "github"
},
"original": {
"owner": "nlohmann",
"ref": "v3.12.0",
"repo": "json",
"type": "github"
}
},
"libgit2-src": {
"flake": false,
"locked": {
"lastModified": 1749227175,
"narHash": "sha256-/xI3v7LNhpgfjv/m+sZwYDhhYvS6kQYxiiiG3+EF8Mw=",
"owner": "libgit2",
"repo": "libgit2",
"rev": "0060d9cf5666f015b1067129bd874c6cc4c9c7ac",
"type": "github"
},
"original": {
"owner": "libgit2",
"ref": "v1.9.1",
"repo": "libgit2",
"type": "github"
}
},
"luajit-src": {
"flake": false,
"locked": {
"lastModified": 1763177035,
"narHash": "sha256-oYD86MqmlJpiCuEs4LwVtxvarPtz1RPWm8nJqNE0sBs=",
"owner": "SteamClientHomebrew",
"repo": "LuaJIT",
"rev": "89550023569c3e195e75e12951c067fe5591e0d2",
"type": "github"
},
"original": {
"owner": "SteamClientHomebrew",
"ref": "v2.1",
"repo": "LuaJIT",
"type": "github"
}
},
"luajson-src": {
"flake": false,
"locked": {
"lastModified": 1763065879,
"narHash": "sha256-5Mdp4jp+rqz2ufkBa1gMfd8nep+Um+mBdr6+Ut6yz9I=",
"owner": "SteamClientHomebrew",
"repo": "LuaJSON",
"rev": "0c1fabf07c42f3907287d1e4f729e0620c1fe6fd",
"type": "github"
},
"original": {
"owner": "SteamClientHomebrew",
"repo": "LuaJSON",
"rev": "0c1fabf07c42f3907287d1e4f729e0620c1fe6fd",
"type": "github"
}
},
"mango": {
"inputs": {
"flake-parts": "flake-parts",
@ -676,6 +836,112 @@
"type": "github"
}
},
"millennium": {
"inputs": {
"abseil-src": "abseil-src",
"asio-src": "asio-src",
"curl-src": "curl-src",
"fmt-src": "fmt-src",
"incbin-src": "incbin-src",
"json-src": "json-src",
"libgit2-src": "libgit2-src",
"luajit-src": "luajit-src",
"luajson-src": "luajson-src",
"millennium-src": "millennium-src",
"minhook-src": "minhook-src",
"mini-src": "mini-src",
"minizip-src": "minizip-src",
"nixpkgs": [
"nixpkgs-unstable"
],
"re2-src": "re2-src",
"websocketpp-src": "websocketpp-src",
"zlib-src": "zlib-src"
},
"locked": {
"dir": "packages/nix",
"lastModified": 1772390578,
"narHash": "sha256-3yQlDZz9JZqPFiYYj8fQkpCXUzjlAw4s7zaZ2n0wFmE=",
"owner": "SteamClientHomebrew",
"repo": "millennium",
"rev": "41d8c701e1f1ed4362e8378d12bbe5cb0cb811d6",
"type": "github"
},
"original": {
"dir": "packages/nix",
"owner": "SteamClientHomebrew",
"repo": "millennium",
"type": "github"
}
},
"millennium-src": {
"flake": false,
"locked": {
"lastModified": 1770463863,
"narHash": "sha256-MceGTpXobCAh5Ll/1iTWcEf6/nHY3Ll1t06JxbYc+Co=",
"owner": "SteamClientHomebrew",
"repo": "Millennium",
"rev": "1bc62c94a06f25f7e8d7e269f11cd968cf576bff",
"type": "github"
},
"original": {
"owner": "SteamClientHomebrew",
"repo": "Millennium",
"rev": "1bc62c94a06f25f7e8d7e269f11cd968cf576bff",
"type": "github"
}
},
"minhook-src": {
"flake": false,
"locked": {
"lastModified": 1743163800,
"narHash": "sha256-0eGFfg365bb4zic1WTHMvKHbxuhhGp72/clu8OklHXs=",
"owner": "TsudaKageyu",
"repo": "minhook",
"rev": "c3fcafdc10146beb5919319d0683e44e3c30d537",
"type": "github"
},
"original": {
"owner": "TsudaKageyu",
"ref": "v1.3.4",
"repo": "minhook",
"type": "github"
}
},
"mini-src": {
"flake": false,
"locked": {
"lastModified": 1743356736,
"narHash": "sha256-zBFFOlECbie7+62fTGf+NP4gNmfv2Qddw3ys6xn7o9U=",
"owner": "metayeti",
"repo": "mINI",
"rev": "52b66e987cb56171dc91d96115cdf094b6e4d7a0",
"type": "github"
},
"original": {
"owner": "metayeti",
"ref": "0.9.18",
"repo": "mINI",
"type": "github"
}
},
"minizip-src": {
"flake": false,
"locked": {
"lastModified": 1746408966,
"narHash": "sha256-I3CZwtfJMsZYQOMdGhooUN8vssnQj6rCzv8F+rne3vg=",
"owner": "zlib-ng",
"repo": "minizip-ng",
"rev": "f3ed731e27a97e30dffe076ed5e0537daae5c1bd",
"type": "github"
},
"original": {
"owner": "zlib-ng",
"ref": "4.0.10",
"repo": "minizip-ng",
"type": "github"
}
},
"nix-flatpak": {
"locked": {
"lastModified": 1767983141,
@ -777,16 +1043,16 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1771848320,
"narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=",
"owner": "NixOS",
"lastModified": 1771903837,
"narHash": "sha256-sdaqdnsQCv3iifzxwB22tUwN/fSHoN7j2myFW5EIkGk=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "2fc6539b481e1d2569f25f8799236694180c0993",
"rev": "e764fc9a405871f1f6ca3d1394fb422e0a0c3951",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"owner": "nixos",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
@ -854,22 +1120,6 @@
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1771903837,
"narHash": "sha256-sdaqdnsQCv3iifzxwB22tUwN/fSHoN7j2myFW5EIkGk=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "e764fc9a405871f1f6ca3d1394fb422e0a0c3951",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1767313136,
"narHash": "sha256-16KkgfdYqjaeRGBaYsNrhPRRENs0qzkQVUooNHtoy2w=",
@ -888,8 +1138,8 @@
"nt": {
"inputs": {
"nix-unit": "nix-unit",
"nixpkgs": "nixpkgs_3",
"systems": "systems_3"
"nixpkgs": "nixpkgs_2",
"systems": "systems_2"
},
"locked": {
"lastModified": 1770975056,
@ -915,11 +1165,11 @@
]
},
"locked": {
"lastModified": 1771858127,
"narHash": "sha256-Gtre9YoYl3n25tJH2AoSdjuwcqij5CPxL3U3xysYD08=",
"lastModified": 1772024342,
"narHash": "sha256-+eXlIc4/7dE6EcPs9a2DaSY3fTA9AE526hGqkNID3Wg=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "49bbbfc218bf3856dfa631cead3b052d78248b83",
"rev": "6e34e97ed9788b17796ee43ccdbaf871a5c2b476",
"type": "github"
},
"original": {
@ -928,6 +1178,23 @@
"type": "github"
}
},
"re2-src": {
"flake": false,
"locked": {
"lastModified": 1762353507,
"narHash": "sha256-0J1HVk+eR7VN0ymucW9dNlT36j16XIfCzcs1EVyEIEU=",
"owner": "google",
"repo": "re2",
"rev": "927f5d53caf8111721e734cf24724686bb745f55",
"type": "github"
},
"original": {
"owner": "google",
"ref": "2025-11-05",
"repo": "re2",
"type": "github"
}
},
"root": {
"inputs": {
"awww": "awww",
@ -937,16 +1204,17 @@
"home-manager": "home-manager",
"hyprland": "hyprland",
"mango": "mango",
"millennium": "millennium",
"nix-flatpak": "nix-flatpak",
"nixcats": "nixcats",
"nixcord": "nixcord",
"nixpkgs": "nixpkgs_2",
"nixpkgs": "nixpkgs",
"nixpkgs-master": "nixpkgs-master",
"nixpkgs-unstable": "nixpkgs-unstable",
"nt": "nt",
"sddm-silent": "sddm-silent",
"spicetify-nix": "spicetify-nix",
"systems": "systems_4"
"systems": "systems_3"
}
},
"rust-overlay": {
@ -1087,21 +1355,6 @@
}
},
"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,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@ -1116,7 +1369,7 @@
"type": "github"
}
},
"systems_4": {
"systems_3": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
@ -1171,6 +1424,23 @@
"type": "github"
}
},
"websocketpp-src": {
"flake": false,
"locked": {
"lastModified": 1587320717,
"narHash": "sha256-9fIwouthv2GcmBe/UPvV7Xn9P2o0Kmn2hCI4jCh0hPM=",
"owner": "zaphoyd",
"repo": "websocketpp",
"rev": "56123c87598f8b1dd471be83ca841ceae07f95ba",
"type": "github"
},
"original": {
"owner": "zaphoyd",
"ref": "0.8.2",
"repo": "websocketpp",
"type": "github"
}
},
"xdph": {
"inputs": {
"hyprland-protocols": [
@ -1211,6 +1481,23 @@
"repo": "xdg-desktop-portal-hyprland",
"type": "github"
}
},
"zlib-src": {
"flake": false,
"locked": {
"lastModified": 1754565515,
"narHash": "sha256-c2RYqHi3hj/ViBzJcYWoNib27GAbq/B1SJUfvG7CPG4=",
"owner": "zlib-ng",
"repo": "zlib-ng",
"rev": "425439062b114a0f6cf625022c41d929c7e879f9",
"type": "github"
},
"original": {
"owner": "zlib-ng",
"ref": "2.2.5",
"repo": "zlib-ng",
"type": "github"
}
}
},
"root": "root",

View file

@ -16,8 +16,7 @@
nt.url = "git+https://tearforge.net/cry/nt";
cerulean = {
# url = "git+https://tearforge.net/cry/cerulean";
url = "/home/me/cry/mk/cerulean";
url = "github:cry128/cerulean";
inputs = {
nt.follows = "nt";
systems.follows = "systems";
@ -25,36 +24,6 @@
};
};
dobutterfliescry-net = {
url = "git+https://tearforge.net/cry/site";
inputs = {
nixpkgs.follows = "nixpkgs";
nixpkgs-unstable.follows = "nixpkgs-unstable";
systems.follows = "systems";
};
};
hyprland = {
url = "github:hyprwm/Hyprland";
inputs = {
# nixpkgs.follows = "nixpkgs";
# systems.follows = "systems";
};
};
awww = {
url = "git+https://codeberg.org/LGFae/awww";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
nixcord = {
url = "github:FlameFlag/nixcord";
inputs.nixpkgs.follows = "nixpkgs";
};
nixcats.url = "github:BirdeeHub/nixCats-nvim";
grub2-themes = {
url = "github:vinceliuice/grub2-themes";
inputs.nixpkgs.follows = "nixpkgs";
@ -70,6 +39,36 @@
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland = {
# FUCK HYPRLAND
# url = "github:hyprwm/Hyprland/4152ac76d0813d9d0f67d2f04653a13fa6e17433";
url = "git+https://tearforge.net/cry/Hyprland";
inputs = {
nixpkgs.follows = "nixpkgs";
systems.follows = "systems";
};
};
awww = {
url = "git+https://codeberg.org/LGFae/awww";
inputs.nixpkgs.follows = "nixpkgs";
};
nixcats.url = "github:BirdeeHub/nixCats-nvim";
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
nixcord = {
url = "github:FlameFlag/nixcord";
inputs.nixpkgs.follows = "nixpkgs";
};
millennium = {
url = "github:SteamClientHomebrew/millennium?dir=packages/nix";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
spicetify-nix = {
url = "github:Gerg-L/spicetify-nix";
inputs = {
@ -77,14 +76,21 @@
nixpkgs.follows = "nixpkgs-unstable";
};
};
dobutterfliescry-net = {
url = "git+https://tearforge.net/cry/site";
inputs = {
nixpkgs.follows = "nixpkgs";
nixpkgs-unstable.follows = "nixpkgs-unstable";
systems.follows = "systems";
};
};
};
nixConfig = {
extra-experimental-features = "pipe-operators";
};
outputs = inputs: let
inherit (inputs.cerulean) snow;
in
snow.flake inputs ./.;
outputs = {cerulean, ...} @ inputs:
cerulean.snow.flake inputs ./.;
}

View file

@ -1,6 +1,7 @@
{
inputs,
pkgs,
lib,
config,
...
}: {
@ -28,7 +29,7 @@
sddm = {
enable = true;
wayland.enable = ! config.services.xserver.enable; # experimental
# theme = "corners";
# theme = lib.mkForce "silent";
};
# defaultSession = "mango"; # DEBUG
@ -54,6 +55,11 @@
mango.enable = true;
# silentSDDM = {
# enable = true;
# theme = "rei";
# };
# Thunar also uses: `services.tumbler` & `services.gvfs`
thunar = {
enable = true;

View file

@ -81,8 +81,8 @@
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
# pulse.enable = true;
# jack.enable = true;
};
};

View file

@ -74,7 +74,7 @@
curlie
zoxide
doggo
tldr
tlrc
btop
eza
yazi

View file

@ -40,8 +40,8 @@
shellAliases = {
# rebuild = "sudo nixos-rebuild switch --flake /home/me/flake --show-trace";
# trybuild = "sudo nixos-rebuild test --flake /home/me/flake --show-trace";
rebuild = "nh os switch ~/flake --show-trace";
trybuild = "nh os test ~/flake --show-trace";
rebuild = "nh os switch ~/flake";
trybuild = "nh os test ~/flake";
brip = "batgrep"; # bat + ripgrep
man = "batman"; # bat + man
};

View file

@ -100,7 +100,7 @@
autostart_sh = ''
# REF: autostart.sh
# XDG_CURRENT_DESKTOP=Hyprland
# XDG_CURRENT_DESKTOP=mango
# dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
'';
};

View file

@ -1,29 +0,0 @@
# Credit: https://github.com/XNM1/linux-nixos-hyprland-config-dotfiles/
{ pkgs, ... }:
{
# Enable sound with pipewire.
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
wireplumber.enable = true;
# use the example session manager (no others are packaged yet so this is enabled by default,
# no need to redefine it in your config for now)
# media-session.enable = true;
};
# TODO: these should instead be manager but home-manager
environment.systemPackages = with pkgs; [
helvum
easyeffects
];
}

View file

@ -1,6 +1,6 @@
{
pkgs,
lib,
upkgs,
...
}: {
nixpkgs.overlays = [
@ -19,6 +19,7 @@
programs = {
steam = {
enable = true;
package = upkgs.millennium-steam;
gamescopeSession.enable = false; # .desktop entry for gamescope
remotePlay.openFirewall = true;

View file

@ -1,10 +1,12 @@
{
inputs,
pkgs,
lib,
system,
...
}: let
# hyprpkgs = inputs.hyprland.packages.${system}
# hyprpkgs = inputs.hyprland.packages.${system};
hyprpkgs = inputs.hyprland.inputs.nixpkgs.legacyPackages.${system};
in {
environment.defaultPackages = with pkgs; [
hyprsunset
@ -14,11 +16,6 @@ in {
enable = true;
wlr.enable = true;
# extraPortals = with pkgs; [
# xdg-desktop-portal-hyprland
# xdg-desktop-portal-gtk
# ];
};
programs = {
@ -31,4 +28,9 @@ in {
xwayland.enable = true;
};
};
hardware.graphics = {
package = lib.mkForce hyprpkgs.mesa;
package32 = lib.mkForce hyprpkgs.pkgsi686Linux.mesa;
};
}

View file

@ -59,6 +59,8 @@
prismlauncher # minecraft
upkgs.olympus # CELESTE!! <3 :3
discord
melonloader
];
# DEBUG: configuring xdg portal here instead?

View file

@ -33,6 +33,7 @@
source = inputs.nixpkgs-unstable;
overlays = [
inputs.dobutterfliescry-net.overlays.default
inputs.millennium.overlays.default
(import ./overlays args)
];
config = {

View file

@ -3,25 +3,32 @@
system,
...
}: (
self: super: {
self: super: let
pkgs = super;
inherit
(super)
lib
;
in {
angry-oxide = import ../packages/angryoxide {
pkgs = super;
inherit
(super)
lib
;
inherit pkgs lib;
};
ekphos = import ../packages/ekphos {
pkgs = super;
inherit pkgs;
};
x86-manpages = import ../packages/x86-manpages {
pkgs = super;
inherit pkgs;
};
sddm-theme-corners = import ../packages/sddm-theme-corners {
pkgs = super;
sddm-theme-corners = import ../packages/sddm-theme/corners.nix {
inherit pkgs;
};
sddm-theme-sugar-dark = import ../packages/sddm-theme/sugar-dark.nix {
inherit pkgs;
};
# in wake of CVE-2022-3602/CVE-2022-3786
nginxStable = super.nginxStable.override {openssl = super.libressl;};
nginx = super.nginx.override {openssl = super.libressl;};
@ -35,5 +42,39 @@
});
awww = inputs.awww.packages.${system}.awww;
melonloader = import ../packages/melonloader/package.nix super;
xdg-desktop-portal-hyprland =
lib.mkIf (inputs?hyprland)
inputs.hyprland.packages.${system}.xdg-desktop-portal-hyprland;
hyprland-git =
lib.mkIf (inputs?hyprland)
(inputs.hyprland.packages.${system}.hyprland.overrideAttrs (final: prev: {
patches = let
glaze_version = pkgs.glaze.version;
in
prev.patches
++ [
''
diff --git a/hyprpm/CMakeLists.txt b/hyprpm/CMakeLists.txt
index 9f1318f4..7d5b8eda 100644
--- a/hyprpm/CMakeLists.txt
+++ b/hyprpm/CMakeLists.txt
@@ -11,9 +11,9 @@ set(CMAKE_CXX_STANDARD 23)
pkg_check_modules(hyprpm_deps REQUIRED IMPORTED_TARGET tomlplusplus hyprutils>=0.7.0)
-find_package(glaze 7.0.0 QUIET)
+find_package(glaze ${glaze_version} QUIET)
if (NOT glaze_FOUND)
- set(GLAZE_VERSION v7.0.0)
+ set(GLAZE_VERSION v${glaze_version})
message(STATUS "glaze dependency not found, retrieving ''${GLAZE_VERSION} with FetchContent")
include(FetchContent)
FetchContent_Declare(
''
];
}));
}
)

View file

@ -0,0 +1,16 @@
diff --git a/hyprpm/CMakeLists.txt b/hyprpm/CMakeLists.txt
index 9f1318f4..7d5b8eda 100644
--- a/hyprpm/CMakeLists.txt
+++ b/hyprpm/CMakeLists.txt
@@ -11,9 +11,9 @@ set(CMAKE_CXX_STANDARD 23)
pkg_check_modules(hyprpm_deps REQUIRED IMPORTED_TARGET tomlplusplus hyprutils>=0.7.0)
-find_package(glaze 7.0.0 QUIET)
+find_package(glaze 6.0.1 QUIET)
if (NOT glaze_FOUND)
- set(GLAZE_VERSION v7.0.0)
+ set(GLAZE_VERSION v6.0.1)
message(STATUS "glaze dependency not found, retrieving ${GLAZE_VERSION} with FetchContent")
include(FetchContent)
FetchContent_Declare(

View file

@ -0,0 +1,3 @@
## nixpkgs-melonloader
Files sourced from the [github:WillemToorenburgh/nixpkgs-melonloader](https://github.com/WillemToorenburgh/nixpkgs-melonloader),
exact location found [here](https://github.com/WillemToorenburgh/nixpkgs-melonloader/tree/d02dfd646f75d789bcec5be83a51666796544c12/pkgs/by-name/me/melonloader-installer).

View file

@ -0,0 +1,747 @@
[
{
"pname": "Avalonia",
"version": "11.3.8",
"hash": "sha256-0cM3VVudDUELNE/fWehuCplPKLITjw1hbg9IGtIm20g="
},
{
"pname": "Avalonia.Angle.Windows.Natives",
"version": "2.1.25547.20250602",
"hash": "sha256-LE/lENAHptmz6t3T/AoJwnhpda+xs7PqriNGzdcfg8M="
},
{
"pname": "Avalonia.BuildServices",
"version": "11.3.1",
"hash": "sha256-JYcA/DgTHRJ02/FcURqtJnXYhhdzki8DGECLkZ4zONg="
},
{
"pname": "Avalonia.Controls.ColorPicker",
"version": "11.3.8",
"hash": "sha256-cB3mYR1X8Gzu1FQfWCJpfWosnpojIQhRSxrjYz4zD6g="
},
{
"pname": "Avalonia.Desktop",
"version": "11.3.8",
"hash": "sha256-X/ggsRzsN7o3O4Iw4uvjgOdlW58Xbe8Jpv4llRuFcoA="
},
{
"pname": "Avalonia.Diagnostics",
"version": "11.3.8",
"hash": "sha256-eOLf2Id4Olbq/nMWERarked+vg5ZnVMCxMKOXBfqAqM="
},
{
"pname": "Avalonia.Fonts.Inter",
"version": "11.3.8",
"hash": "sha256-EaUjJZ+K+5HaSJ1hmLgwuH4HGp1N2s1TNJogZulpVT8="
},
{
"pname": "Avalonia.FreeDesktop",
"version": "11.3.8",
"hash": "sha256-XJogaWo4ZNg/PvckA6D5EEuyQneYUKDePnT9snNwaHs="
},
{
"pname": "Avalonia.Native",
"version": "11.3.8",
"hash": "sha256-Hm4uneEN3rQVmSp1Ai4cDSTJpixYDzYJzEkAesvwxPw="
},
{
"pname": "Avalonia.Remote.Protocol",
"version": "11.3.8",
"hash": "sha256-pCIcQuTTcpik4xg5x8Y/QuXaW/GmNny/5ZBVr0bhmNU="
},
{
"pname": "Avalonia.Skia",
"version": "11.3.8",
"hash": "sha256-FeJ6tdgeGKHkv0JKPOq2eHTxaDTT0t2yJ7wavBKnr68="
},
{
"pname": "Avalonia.Themes.Fluent",
"version": "11.3.8",
"hash": "sha256-fVXc8+WPRa3YkX4EIt/Wjz9hnI7y6pv3P1cCBhEPgOg="
},
{
"pname": "Avalonia.Themes.Simple",
"version": "11.3.8",
"hash": "sha256-GSD4yvyDKqBSGV/rwE/EO3CTp9dG4eR4B5H0Y/u9+hE="
},
{
"pname": "Avalonia.Win32",
"version": "11.3.8",
"hash": "sha256-YwzyF4YJtCzcLpGxDe6U3Tpxjcqft8mcYjUNnL2Ockg="
},
{
"pname": "Avalonia.X11",
"version": "11.3.8",
"hash": "sha256-SlAWkiaGYc+Ynq4QcO3/xorz2EIWWyrZcHXIk7F68i0="
},
{
"pname": "CommunityToolkit.Mvvm",
"version": "8.4.0",
"hash": "sha256-a0D550q+ffreU9Z+kQPdzJYPNaj1UjgyPofLzUg02ZI="
},
{
"pname": "Gameloop.Vdf",
"version": "0.6.2",
"hash": "sha256-z34mcUx7qcaFlVsenGKYuxFNCQNWwOeFZYGecbRT3ZA="
},
{
"pname": "HarfBuzzSharp",
"version": "8.3.1.1",
"hash": "sha256-614yv6bK9ynhdUnvW4wIkgpBe2sqTh28U9cDZzdhPc0="
},
{
"pname": "HarfBuzzSharp.NativeAssets.Linux",
"version": "8.3.1.1",
"hash": "sha256-sBbez6fc9axVcsBbIHbpQh/MM5NHlMJgSu6FyuZzVyU="
},
{
"pname": "HarfBuzzSharp.NativeAssets.macOS",
"version": "8.3.1.1",
"hash": "sha256-hK20KbX2OpewIO5qG5gWw5Ih6GoLcIDgFOqCJIjXR/Q="
},
{
"pname": "HarfBuzzSharp.NativeAssets.WebAssembly",
"version": "8.3.1.1",
"hash": "sha256-mLKoLqI47ZHXqTMLwP1UCm7faDptUfQukNvdq6w/xxw="
},
{
"pname": "HarfBuzzSharp.NativeAssets.Win32",
"version": "8.3.1.1",
"hash": "sha256-Um4iwLdz9XtaDSAsthNZdev6dMiy7OBoHOrorMrMYyo="
},
{
"pname": "MicroCom.Runtime",
"version": "0.11.0",
"hash": "sha256-VdwpP5fsclvNqJuppaOvwEwv2ofnAI5ZSz2V+UEdLF0="
},
{
"pname": "Microsoft.CSharp",
"version": "4.7.0",
"hash": "sha256-Enknv2RsFF68lEPdrf5M+BpV1kHoLTVRApKUwuk/pj0="
},
{
"pname": "Microsoft.Extensions.Primitives",
"version": "5.0.1",
"hash": "sha256-e4uoLnUSmON4If9qJh78+4z14IzW9qCu5YkqLdQqWQU="
},
{
"pname": "Microsoft.NET.ILLink.Tasks",
"version": "9.0.10",
"hash": "sha256-0fL4pa/a3aLZMqA7B5zNxrb1bHCu14v4HLBfcziUtiE="
},
{
"pname": "Microsoft.NETCore.Platforms",
"version": "1.1.0",
"hash": "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="
},
{
"pname": "Microsoft.NETCore.Platforms",
"version": "1.1.1",
"hash": "sha256-8hLiUKvy/YirCWlFwzdejD2Db3DaXhHxT7GSZx/znJg="
},
{
"pname": "Microsoft.NETCore.Targets",
"version": "1.1.0",
"hash": "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="
},
{
"pname": "Microsoft.NETCore.Targets",
"version": "1.1.3",
"hash": "sha256-WLsf1NuUfRWyr7C7Rl9jiua9jximnVvzy6nk2D2bVRc="
},
{
"pname": "Microsoft.Win32.Primitives",
"version": "4.3.0",
"hash": "sha256-mBNDmPXNTW54XLnPAUwBRvkIORFM7/j0D0I2SyQPDEg="
},
{
"pname": "Microsoft.Win32.SystemEvents",
"version": "9.0.10",
"hash": "sha256-hqtadbUx58gBwBFfVk2vyRmgWgdRpbmT84pcuhKTXl0="
},
{
"pname": "NETStandard.Library",
"version": "1.6.1",
"hash": "sha256-iNan1ix7RtncGWC9AjAZ2sk70DoxOsmEOgQ10fXm4Pw="
},
{
"pname": "runtime.any.System.Collections",
"version": "4.3.0",
"hash": "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8="
},
{
"pname": "runtime.any.System.Diagnostics.Tools",
"version": "4.3.0",
"hash": "sha256-8yLKFt2wQxkEf7fNfzB+cPUCjYn2qbqNgQ1+EeY2h/I="
},
{
"pname": "runtime.any.System.Diagnostics.Tracing",
"version": "4.3.0",
"hash": "sha256-dsmTLGvt8HqRkDWP8iKVXJCS+akAzENGXKPV18W2RgI="
},
{
"pname": "runtime.any.System.Globalization",
"version": "4.3.0",
"hash": "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU="
},
{
"pname": "runtime.any.System.Globalization.Calendars",
"version": "4.3.0",
"hash": "sha256-AYh39tgXJVFu8aLi9Y/4rK8yWMaza4S4eaxjfcuEEL4="
},
{
"pname": "runtime.any.System.IO",
"version": "4.3.0",
"hash": "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE="
},
{
"pname": "runtime.any.System.Reflection",
"version": "4.3.0",
"hash": "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk="
},
{
"pname": "runtime.any.System.Reflection.Extensions",
"version": "4.3.0",
"hash": "sha256-Y2AnhOcJwJVYv7Rp6Jz6ma0fpITFqJW+8rsw106K2X8="
},
{
"pname": "runtime.any.System.Reflection.Primitives",
"version": "4.3.0",
"hash": "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ="
},
{
"pname": "runtime.any.System.Resources.ResourceManager",
"version": "4.3.0",
"hash": "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4="
},
{
"pname": "runtime.any.System.Runtime",
"version": "4.3.0",
"hash": "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM="
},
{
"pname": "runtime.any.System.Runtime.Handles",
"version": "4.3.0",
"hash": "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4="
},
{
"pname": "runtime.any.System.Runtime.InteropServices",
"version": "4.3.0",
"hash": "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA="
},
{
"pname": "runtime.any.System.Text.Encoding",
"version": "4.3.0",
"hash": "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs="
},
{
"pname": "runtime.any.System.Text.Encoding.Extensions",
"version": "4.3.0",
"hash": "sha256-6MYj0RmLh4EVqMtO/MRqBi0HOn5iG4x9JimgCCJ+EFM="
},
{
"pname": "runtime.any.System.Threading.Tasks",
"version": "4.3.0",
"hash": "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4="
},
{
"pname": "runtime.any.System.Threading.Timer",
"version": "4.3.0",
"hash": "sha256-BgHxXCIbicVZtpgMimSXixhFC3V+p5ODqeljDjO8hCs="
},
{
"pname": "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.2",
"hash": "sha256-EbnOqPOrAgI9eNheXLR++VnY4pHzMsEKw1dFPJ/Fl2c="
},
{
"pname": "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.2",
"hash": "sha256-mVg02TNvJc1BuHU03q3fH3M6cMgkKaQPBxraSHl/Btg="
},
{
"pname": "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.2",
"hash": "sha256-g9Uiikrl+M40hYe0JMlGHe/lrR0+nN05YF64wzLmBBA="
},
{
"pname": "runtime.native.System",
"version": "4.3.0",
"hash": "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y="
},
{
"pname": "runtime.native.System.IO.Compression",
"version": "4.3.0",
"hash": "sha256-DWnXs4vlKoU6WxxvCArTJupV6sX3iBbZh8SbqfHace8="
},
{
"pname": "runtime.native.System.Net.Http",
"version": "4.3.0",
"hash": "sha256-c556PyheRwpYhweBjSfIwEyZHnAUB8jWioyKEcp/2dg="
},
{
"pname": "runtime.native.System.Security.Cryptography.Apple",
"version": "4.3.0",
"hash": "sha256-2IhBv0i6pTcOyr8FFIyfPEaaCHUmJZ8DYwLUwJ+5waw="
},
{
"pname": "runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.0",
"hash": "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I="
},
{
"pname": "runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.2",
"hash": "sha256-xqF6LbbtpzNC9n1Ua16PnYgXHU0LvblEROTfK4vIxX8="
},
{
"pname": "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.2",
"hash": "sha256-aJBu6Frcg6webvzVcKNoUP1b462OAqReF2giTSyBzCQ="
},
{
"pname": "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.2",
"hash": "sha256-Mpt7KN2Kq51QYOEVesEjhWcCGTqWckuPf8HlQ110qLY="
},
{
"pname": "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple",
"version": "4.3.0",
"hash": "sha256-serkd4A7F6eciPiPJtUyJyxzdAtupEcWIZQ9nptEzIM="
},
{
"pname": "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.2",
"hash": "sha256-JvMltmfVC53mCZtKDHE69G3RT6Id28hnskntP9MMP9U="
},
{
"pname": "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.2",
"hash": "sha256-QfFxWTVRNBhN4Dm1XRbCf+soNQpy81PsZed3x6op/bI="
},
{
"pname": "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.2",
"hash": "sha256-EaJHVc9aDZ6F7ltM2JwlIuiJvqM67CKRq682iVSo+pU="
},
{
"pname": "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.2",
"hash": "sha256-PHR0+6rIjJswn89eoiWYY1DuU8u6xRJLrtjykAMuFmA="
},
{
"pname": "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.2",
"hash": "sha256-LFkh7ua7R4rI5w2KGjcHlGXLecsncCy6kDXLuy4qD/Q="
},
{
"pname": "runtime.unix.Microsoft.Win32.Primitives",
"version": "4.3.0",
"hash": "sha256-LZb23lRXzr26tRS5aA0xyB08JxiblPDoA7HBvn6awXg="
},
{
"pname": "runtime.unix.System.Console",
"version": "4.3.1",
"hash": "sha256-dxyn/1Px4FKLZ2QMUrkFpW619Y1lhPeTiGLWYM6IbpY="
},
{
"pname": "runtime.unix.System.Diagnostics.Debug",
"version": "4.3.0",
"hash": "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI="
},
{
"pname": "runtime.unix.System.IO.FileSystem",
"version": "4.3.0",
"hash": "sha256-Pf4mRl6YDK2x2KMh0WdyNgv0VUNdSKVDLlHqozecy5I="
},
{
"pname": "runtime.unix.System.Net.Primitives",
"version": "4.3.0",
"hash": "sha256-pHJ+I6i16MV6m77uhTC6GPY6jWGReE3SSP3fVB59ti0="
},
{
"pname": "runtime.unix.System.Net.Sockets",
"version": "4.3.0",
"hash": "sha256-IvgOeA2JuBjKl5yAVGjPYMPDzs9phb3KANs95H9v1w4="
},
{
"pname": "runtime.unix.System.Private.Uri",
"version": "4.3.0",
"hash": "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs="
},
{
"pname": "runtime.unix.System.Runtime.Extensions",
"version": "4.3.0",
"hash": "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4="
},
{
"pname": "Semver",
"version": "3.0.0",
"hash": "sha256-nX5ka27GY6pz9S73H6sLSQCrnAyyI9xDVdzrtlMp4BQ="
},
{
"pname": "SkiaSharp",
"version": "2.88.9",
"hash": "sha256-jZ/4nVXYJtrz9SBf6sYc/s0FxS7ReIYM4kMkrhZS+24="
},
{
"pname": "SkiaSharp.NativeAssets.Linux",
"version": "2.88.9",
"hash": "sha256-mQ/oBaqRR71WfS66mJCvcc3uKW7CNEHoPN2JilDbw/A="
},
{
"pname": "SkiaSharp.NativeAssets.macOS",
"version": "2.88.9",
"hash": "sha256-qvGuAmjXGjGKMzOPBvP9VWRVOICSGb7aNVejU0lLe/g="
},
{
"pname": "SkiaSharp.NativeAssets.WebAssembly",
"version": "2.88.9",
"hash": "sha256-vgFL4Pdy3O1RKBp+T9N3W4nkH9yurZ0suo8u3gPmmhY="
},
{
"pname": "SkiaSharp.NativeAssets.Win32",
"version": "2.88.9",
"hash": "sha256-kP5XM5GgwHGfNJfe4T2yO5NIZtiF71Ddp0pd1vG5V/4="
},
{
"pname": "System.AppContext",
"version": "4.3.0",
"hash": "sha256-yg95LNQOwFlA1tWxXdQkVyJqT4AnoDc+ACmrNvzGiZg="
},
{
"pname": "System.Buffers",
"version": "4.3.0",
"hash": "sha256-XqZWb4Kd04960h4U9seivjKseGA/YEIpdplfHYHQ9jk="
},
{
"pname": "System.Collections",
"version": "4.3.0",
"hash": "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="
},
{
"pname": "System.Collections.Concurrent",
"version": "4.3.0",
"hash": "sha256-KMY5DfJnDeIsa13DpqvyN8NkReZEMAFnlmNglVoFIXI="
},
{
"pname": "System.Collections.NonGeneric",
"version": "4.3.0",
"hash": "sha256-8/yZmD4jjvq7m68SPkJZLBQ79jOTOyT5lyzX4SCYAx8="
},
{
"pname": "System.Collections.Specialized",
"version": "4.3.0",
"hash": "sha256-QNg0JJNx+zXMQ26MJRPzH7THdtqjrNtGLUgaR1SdvOk="
},
{
"pname": "System.ComponentModel",
"version": "4.3.0",
"hash": "sha256-i00uujMO4JEDIEPKLmdLY3QJ6vdSpw6Gh9oOzkFYBiU="
},
{
"pname": "System.ComponentModel.Primitives",
"version": "4.3.0",
"hash": "sha256-IOMJleuIBppmP4ECB3uftbdcgL7CCd56+oAD/Sqrbus="
},
{
"pname": "System.ComponentModel.TypeConverter",
"version": "4.3.0",
"hash": "sha256-PSDiPYt8PgTdTUBz+GH6lHCaM1YgfObneHnZsc8Fz54="
},
{
"pname": "System.Console",
"version": "4.3.0",
"hash": "sha256-Xh3PPBZr0pDbDaK8AEHbdGz7ePK6Yi1ZyRWI1JM6mbo="
},
{
"pname": "System.Diagnostics.Debug",
"version": "4.3.0",
"hash": "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="
},
{
"pname": "System.Diagnostics.DiagnosticSource",
"version": "4.3.0",
"hash": "sha256-OFJRb0ygep0Z3yDBLwAgM/Tkfs4JCDtsNhwDH9cd1Xw="
},
{
"pname": "System.Diagnostics.Tools",
"version": "4.3.0",
"hash": "sha256-gVOv1SK6Ape0FQhCVlNOd9cvQKBvMxRX9K0JPVi8w0Y="
},
{
"pname": "System.Diagnostics.Tracing",
"version": "4.3.0",
"hash": "sha256-hCETZpHHGVhPYvb4C0fh4zs+8zv4GPoixagkLZjpa9Q="
},
{
"pname": "System.Drawing.Common",
"version": "9.0.10",
"hash": "sha256-D4E99H3HVNatH+MDKuCGxaJOP7pXTxibBLThNZBXwLc="
},
{
"pname": "System.Globalization",
"version": "4.3.0",
"hash": "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="
},
{
"pname": "System.Globalization.Calendars",
"version": "4.3.0",
"hash": "sha256-uNOD0EOVFgnS2fMKvMiEtI9aOw00+Pfy/H+qucAQlPc="
},
{
"pname": "System.Globalization.Extensions",
"version": "4.3.0",
"hash": "sha256-mmJWA27T0GRVuFP9/sj+4TrR4GJWrzNIk2PDrbr7RQk="
},
{
"pname": "System.IO",
"version": "4.3.0",
"hash": "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY="
},
{
"pname": "System.IO.Compression",
"version": "4.3.0",
"hash": "sha256-f5PrQlQgj5Xj2ZnHxXW8XiOivaBvfqDao9Sb6AVinyA="
},
{
"pname": "System.IO.Compression.ZipFile",
"version": "4.3.0",
"hash": "sha256-WQl+JgWs+GaRMeiahTFUbrhlXIHapzcpTFXbRvAtvvs="
},
{
"pname": "System.IO.FileSystem",
"version": "4.3.0",
"hash": "sha256-vNIYnvlayuVj0WfRfYKpDrhDptlhp1pN8CYmlVd2TXw="
},
{
"pname": "System.IO.FileSystem.Primitives",
"version": "4.3.0",
"hash": "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg="
},
{
"pname": "System.IO.Pipelines",
"version": "8.0.0",
"hash": "sha256-LdpB1s4vQzsOODaxiKstLks57X9DTD5D6cPx8DE1wwE="
},
{
"pname": "System.Linq",
"version": "4.3.0",
"hash": "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A="
},
{
"pname": "System.Linq.Expressions",
"version": "4.3.0",
"hash": "sha256-+3pvhZY7rip8HCbfdULzjlC9FPZFpYoQxhkcuFm2wk8="
},
{
"pname": "System.Net.Http",
"version": "4.3.4",
"hash": "sha256-FMoU0K7nlPLxoDju0NL21Wjlga9GpnAoQjsFhFYYt00="
},
{
"pname": "System.Net.NameResolution",
"version": "4.3.0",
"hash": "sha256-eGZwCBExWsnirWBHyp2sSSSXp6g7I6v53qNmwPgtJ5c="
},
{
"pname": "System.Net.Primitives",
"version": "4.3.0",
"hash": "sha256-MY7Z6vOtFMbEKaLW9nOSZeAjcWpwCtdO7/W1mkGZBzE="
},
{
"pname": "System.Net.Sockets",
"version": "4.3.0",
"hash": "sha256-il7dr5VT/QWDg/0cuh+4Es2u8LY//+qqiY9BZmYxSus="
},
{
"pname": "System.ObjectModel",
"version": "4.3.0",
"hash": "sha256-gtmRkWP2Kwr3nHtDh0yYtce38z1wrGzb6fjm4v8wN6Q="
},
{
"pname": "System.Private.Uri",
"version": "4.3.2",
"hash": "sha256-jB2+W3tTQ6D9XHy5sEFMAazIe1fu2jrENUO0cb48OgU="
},
{
"pname": "System.Reflection",
"version": "4.3.0",
"hash": "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="
},
{
"pname": "System.Reflection.Emit",
"version": "4.3.0",
"hash": "sha256-5LhkDmhy2FkSxulXR+bsTtMzdU3VyyuZzsxp7/DwyIU="
},
{
"pname": "System.Reflection.Emit.ILGeneration",
"version": "4.3.0",
"hash": "sha256-mKRknEHNls4gkRwrEgi39B+vSaAz/Gt3IALtS98xNnA="
},
{
"pname": "System.Reflection.Emit.Lightweight",
"version": "4.3.0",
"hash": "sha256-rKx4a9yZKcajloSZHr4CKTVJ6Vjh95ni+zszPxWjh2I="
},
{
"pname": "System.Reflection.Extensions",
"version": "4.3.0",
"hash": "sha256-mMOCYzUenjd4rWIfq7zIX9PFYk/daUyF0A8l1hbydAk="
},
{
"pname": "System.Reflection.Primitives",
"version": "4.3.0",
"hash": "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM="
},
{
"pname": "System.Reflection.TypeExtensions",
"version": "4.3.0",
"hash": "sha256-4U4/XNQAnddgQIHIJq3P2T80hN0oPdU2uCeghsDTWng="
},
{
"pname": "System.Resources.ResourceManager",
"version": "4.3.0",
"hash": "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="
},
{
"pname": "System.Runtime",
"version": "4.3.0",
"hash": "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="
},
{
"pname": "System.Runtime",
"version": "4.3.1",
"hash": "sha256-R9T68AzS1PJJ7v6ARz9vo88pKL1dWqLOANg4pkQjkA0="
},
{
"pname": "System.Runtime.Extensions",
"version": "4.3.0",
"hash": "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="
},
{
"pname": "System.Runtime.Handles",
"version": "4.3.0",
"hash": "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="
},
{
"pname": "System.Runtime.InteropServices",
"version": "4.3.0",
"hash": "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="
},
{
"pname": "System.Runtime.InteropServices.RuntimeInformation",
"version": "4.3.0",
"hash": "sha256-MYpl6/ZyC6hjmzWRIe+iDoldOMW1mfbwXsduAnXIKGA="
},
{
"pname": "System.Runtime.Numerics",
"version": "4.3.0",
"hash": "sha256-P5jHCgMbgFMYiONvzmaKFeOqcAIDPu/U8bOVrNPYKqc="
},
{
"pname": "System.Security.Claims",
"version": "4.3.0",
"hash": "sha256-Fua/rDwAqq4UByRVomAxMPmDBGd5eImRqHVQIeSxbks="
},
{
"pname": "System.Security.Cryptography.Algorithms",
"version": "4.3.0",
"hash": "sha256-tAJvNSlczYBJ3Ed24Ae27a55tq/n4D3fubNQdwcKWA8="
},
{
"pname": "System.Security.Cryptography.Cng",
"version": "4.3.0",
"hash": "sha256-u17vy6wNhqok91SrVLno2M1EzLHZm6VMca85xbVChsw="
},
{
"pname": "System.Security.Cryptography.Csp",
"version": "4.3.0",
"hash": "sha256-oefdTU/Z2PWU9nlat8uiRDGq/PGZoSPRgkML11pmvPQ="
},
{
"pname": "System.Security.Cryptography.Encoding",
"version": "4.3.0",
"hash": "sha256-Yuge89N6M+NcblcvXMeyHZ6kZDfwBv3LPMDiF8HhJss="
},
{
"pname": "System.Security.Cryptography.OpenSsl",
"version": "4.3.0",
"hash": "sha256-DL+D2sc2JrQiB4oAcUggTFyD8w3aLEjJfod5JPe+Oz4="
},
{
"pname": "System.Security.Cryptography.Primitives",
"version": "4.3.0",
"hash": "sha256-fnFi7B3SnVj5a+BbgXnbjnGNvWrCEU6Hp/wjsjWz318="
},
{
"pname": "System.Security.Cryptography.X509Certificates",
"version": "4.3.0",
"hash": "sha256-MG3V/owDh273GCUPsGGraNwaVpcydupl3EtPXj6TVG0="
},
{
"pname": "System.Security.Principal",
"version": "4.3.0",
"hash": "sha256-rjudVUHdo8pNJg2EVEn0XxxwNo5h2EaYo+QboPkXlYk="
},
{
"pname": "System.Security.Principal.Windows",
"version": "4.3.0",
"hash": "sha256-mbdLVUcEwe78p3ZnB6jYsizNEqxMaCAWI3tEQNhRQAE="
},
{
"pname": "System.Text.Encoding",
"version": "4.3.0",
"hash": "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="
},
{
"pname": "System.Text.Encoding.Extensions",
"version": "4.3.0",
"hash": "sha256-vufHXg8QAKxHlujPHHcrtGwAqFmsCD6HKjfDAiHyAYc="
},
{
"pname": "System.Text.RegularExpressions",
"version": "4.3.1",
"hash": "sha256-DxsEZ0nnPozyC1W164yrMUXwnAdHShS9En7ImD/GJMM="
},
{
"pname": "System.Threading",
"version": "4.3.0",
"hash": "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="
},
{
"pname": "System.Threading.Tasks",
"version": "4.3.0",
"hash": "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="
},
{
"pname": "System.Threading.Tasks.Extensions",
"version": "4.3.0",
"hash": "sha256-X2hQ5j+fxcmnm88Le/kSavjiGOmkcumBGTZKBLvorPc="
},
{
"pname": "System.Threading.ThreadPool",
"version": "4.3.0",
"hash": "sha256-wW0QdvssRoaOfQLazTGSnwYTurE4R8FxDx70pYkL+gg="
},
{
"pname": "System.Threading.Timer",
"version": "4.3.0",
"hash": "sha256-pmhslmhQhP32TWbBzoITLZ4BoORBqYk25OWbru04p9s="
},
{
"pname": "System.Xml.ReaderWriter",
"version": "4.3.0",
"hash": "sha256-QQ8KgU0lu4F5Unh+TbechO//zaAGZ4MfgvW72Cn1hzA="
},
{
"pname": "System.Xml.XDocument",
"version": "4.3.0",
"hash": "sha256-rWtdcmcuElNOSzCehflyKwHkDRpiOhJJs8CeQ0l1CCI="
},
{
"pname": "Tmds.DBus.Protocol",
"version": "0.21.2",
"hash": "sha256-gaK/5aAummyin6ptnhaJbnA0ih4+2xADrtrLfFbHwYI="
}
]

View file

@ -0,0 +1,19 @@
Subject: [PATCH] Disable auto-updates
---
Index: MelonLoader.Installer/Updater.cs
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/MelonLoader.Installer/Updater.cs b/MelonLoader.Installer/Updater.cs
--- a/MelonLoader.Installer/Updater.cs (revision 201f0da25ae5e576884f65c350046d7bb267b513)
+++ b/MelonLoader.Installer/Updater.cs (date 1769995332111)
@@ -18,7 +18,7 @@
return null;
// Don't auto-update on CI builds
- if (Program.Version.Revision > 0)
+ if (true)
{
State = UpdateState.AlreadyChecked;
return null;

View file

@ -0,0 +1,61 @@
{
fetchFromGitHub,
dotnetCorePackages,
buildDotnetModule,
makeDesktopItem,
copyDesktopItems,
lib,
...
}:
buildDotnetModule rec {
pname = "melonloader-installer";
version = "4.2.1";
src = fetchFromGitHub {
owner = "LavaGang";
repo = "MelonLoader.Installer";
tag = version;
hash = "sha256-0hUc4f1avPfNDGAQDokLpRLK4sSrUFD5GkJZeP/Gu34=";
};
patches = [
./disable-auto-updates.patch
];
projectFile = "MelonLoader.Installer/MelonLoader.Installer.csproj";
dotnet-sdk = dotnetCorePackages.sdk_9_0;
dotnet-runtime = dotnetCorePackages.runtime_9_0;
nugetDeps = ./deps.json;
selfContainedBuild = true;
nativeBuildInputs = [copyDesktopItems];
postInstall = ''
install -Dm644 Resources/ML_Icon.png $out/share/icons/MelonLoader.Installer.Linux.png
'';
desktopItems = [
(makeDesktopItem {
name = pname;
desktopName = "MelonLoader Installer";
exec = meta.mainProgram;
comment = meta.description;
categories = [
"Game"
"Utility"
];
icon = meta.mainProgram;
})
];
passthru.updateScript = ./update.sh;
meta = {
homepage = "https://melonwiki.xyz";
mainProgram = "MelonLoader.Installer.Linux";
description = "Automated installer for MelonLoader, the universal mod-loader for games built in the Unity Engine";
license = lib.licenses.asl20;
platforms = ["x86_64-linux"];
maintainers = with lib.maintainers; [WillemToorenburgh];
};
}

View file

@ -0,0 +1,20 @@
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=./. -i bash -p curl jq common-updater-scripts
#shellcheck shell=bash
# Implementation lovingly referenced and adapted from cavalier package's update.sh
set -eu -o pipefail
version=$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \
https://api.github.com/repos/LavaGang/MelonLoader.Installer/releases/latest | jq -e -r .tag_name)
old_version=$(nix-instantiate --eval -A melonloader-installer.version | jq -e -r)
if [[ $version == "$old_version" ]]; then
echo "New version same as old version, nothing to do." >&2
exit 0
fi
update-source-version melonloader-installer "$version"
$(nix-build -A melonloader-installer.fetch-deps --no-out-link) "$(dirname -- "${BASH_SOURCE[0]}")/deps.json"

View file

@ -1,6 +1,6 @@
# add sddm profile pic
systemd.tmpfiles.rules = let
imagePath = root + "/homes/aurora/profile.png";
imagePath = /${root}/homes/aurora/profile.png;
in
lib.mkIf (builtins.pathExists imagePath) [
"L /var/lib/AccountsService/icons/${config.home.username} - - - - ${imagePath}"