wallpapers is now a package attrset

This commit is contained in:
Gabriel Fontes
2021-12-22 21:04:59 -03:00
parent 9d9391db83
commit 9b2587a8ae
7 changed files with 516 additions and 44 deletions
+2 -1
View File
@@ -1,10 +1,11 @@
{ pkgs }: {
wallpapers = pkgs.callPackage ./wallpapers { };
shellcolord = pkgs.callPackage ./shellcolord { };
rgbdaemon = pkgs.callPackage ./rgbdaemon { };
sistemer-bot = pkgs.callPackage ./sistemer-bot { };
preferredplayer = pkgs.callPackage ./preferredplayer { };
wallpapers = pkgs.callPackage ./wallpapers { };
zenity-askpass = pkgs.callPackage ./zenity-askpass { };
setscheme = pkgs.callPackage ./setscheme { };
+1 -1
View File
@@ -7,7 +7,7 @@ stdenv.mkDerivation {
version = "1.0";
src = writeShellScriptBin "setwallpaper" ''
if [ "$1" == "-L" ]; then
find ${pkgs.wallpapers}/share/backgrounds -type f -not -path '*/\.*' -printf "%f\n"
nix eval --raw self#wallpapers --apply 's: builtins.concatStringsSep "\n" (builtins.attrNames s)' 2> /dev/null
exit 0
elif [ "$1" == "-R" ]; then
wallpaper=$(setwallpaper -L | ${coreutils}/bin/shuf -n 1)
+19 -23
View File
@@ -1,24 +1,20 @@
{ lib, stdenv }:
stdenv.mkDerivation rec {
name = "wallpapers";
version = "595a4d0";
src = fetchTarball {
url =
"https://github.com/Misterio77/wallpapers/releases/download/${version}/wallpapers.tar.gz";
sha256 = "sha256:11sjcbgwsxwzwlidp30nfmiv6w5z6025d0c84lblm0pvda9zg98d";
# This exposes a attrset of wallpaper derivations, each one is fetch from
# imgur. You can manually include new wallpapers in list.nix, or generate them
# from an imgur album using ./from_album.sh
{ pkgs }:
let
callWallpaper = { name, ext, id, sha256 }: pkgs.callPackage ./wallpaper.nix {
wallpaper = { inherit name ext id sha256; };
};
dontBuild = true;
dontConfigure = true;
installPhase = ''
install -Dm0644 -t $out/share/backgrounds *.{png,jpg}
'';
meta = {
description = "My wallpaper collection";
homepage = "https://github.com/Misterio77/wallpapers";
platforms = lib.platforms.all;
};
}
in
builtins.listToAttrs (builtins.map
(e: {
name = e.name;
value = callWallpaper {
name = e.name;
ext = e.ext;
id = e.id;
sha256 = e.sha256;
};
})
(import ./list.nix))
+23
View File
@@ -0,0 +1,23 @@
#!/usr/bin/env bash
album="bXDPRpV"
clientid="0c2b2b57cdbe5d8"
result=$(https api.imgur.com/3/album/$album Authorization:"Client-ID $clientid")
images=$(echo $result | jq -r '.data.images[] | "\(.description)|\(.type)|\(.id)"')
echo "["
while read -r image; do
name=$(echo $image | cut -d '|' -f 1)
ext=$(echo $image | cut -d '|' -f 2 | cut -d '/' -f 2)
id=$(echo $image | cut -d '|' -f 3)
sha256=$(nix-prefetch-url https://i.imgur.com/$id.$ext)
echo " {"
echo " name = \"$name\";"
echo " ext = \"$ext\";"
echo " id = \"$id\";"
echo " sha256 = \"$sha256\";"
echo " }"
done <<< "$images"
echo "]"
+428
View File
@@ -0,0 +1,428 @@
[
{
name = "abstract-blue-red";
ext = "jpeg";
id = "v4sd4xU";
sha256 = "0widy175xcqxvqj4lf6d605mxxpvz5vs7ihq0iz52j11pcsql6m8";
}
{
name = "mountain-yosemite-purple";
ext = "jpeg";
id = "Vnt5LIz";
sha256 = "09p6w0a934yr7g45ca32r58jqmc4124kq4z5azfmmwdbkjjvpf15";
}
{
name = "scifi-city-gray";
ext = "jpeg";
id = "ejRaeKw";
sha256 = "0zx6g5fpvkspjh9r6jni8r9l4jl3bx15xfxfwk32h8qyjdj67iw5";
}
{
name = "landscape-snow-white-pink";
ext = "jpeg";
id = "BM09kO1";
sha256 = "04xh37v2p8z32b6blc3i54a7j1v4mf55qp5gw2agds7f48dpcnjb";
}
{
name = "plains-flowers-green-red";
ext = "jpeg";
id = "wsHDMyY";
sha256 = "1bia6j96si73jb0fay1rj45nww4p81jg1bwadzc8ji0ffcc52pnz";
}
{
name = "samurai-cyberpunk-pink-green";
ext = "jpeg";
id = "m3A8QaC";
sha256 = "1v1dn6h40bppbc659kcc0y6q6s4hvdqq8615m9s0fg3ss8b2hqiq";
}
{
name = "abstract-cyan-purple";
ext = "jpeg";
id = "3ct8fH8";
sha256 = "1b5v15cpyw4k4w9cf5z2n51v1d5wxkk8wzf3birgzxi96h7p0wnd";
}
{
name = "abstract-red-purple-pink";
ext = "jpeg";
id = "TkJhD6I";
sha256 = "0n6k7qwldq8fcgaf1r0wf951jam9v3x81yjyw749d8j4mhzjkllf";
}
{
name = "abstract-salmon-blue";
ext = "jpeg";
id = "a4p7WnU";
sha256 = "0p75a1i3b6mhc7vd18f5bzq6fhnwxxic256kk7syv3b6n9l5pd80";
}
{
name = "astronaut-minimalism";
ext = "png";
id = "6ybrgdj";
sha256 = "0i5qjbz5ln1n9488yi81p4xr87w5ivmj8kmw7da69gw4l34z5zna";
}
{
name = "aurora-night-landscape";
ext = "jpeg";
id = "OIx63MJ";
sha256 = "15gz0v6fxddwwvrzap6ffdql19kri0gk145yyrqav9c04lf5cndk";
}
{
name = "autumn-leaves-orange";
ext = "jpeg";
id = "PKwRl5U";
sha256 = "1xgh36kjd6h8qj6l1wvi308kwaypcpaq9aiyxb8fn1gvnkh50v5y";
}
{
name = "autumn-mountains";
ext = "jpeg";
id = "EZQrVFZ";
sha256 = "195zxqs30apvz6mn4pbsnx67f2k8kvm25ahaqbqbqgcjhxqs816y";
}
{
name = "beach-light-blue";
ext = "jpeg";
id = "sPf8X00";
sha256 = "08lgw5dl9cm7z6ymr80yycip90p21v1kg14d6acm91yjxk35dpza";
}
{
name = "blackhole-interstellar";
ext = "jpeg";
id = "5DABtMP";
sha256 = "19vllf928yax0avidfdkdxg9xa6cdif00hj65zg0fs877hra3zg3";
}
{
name = "blue-orange-abstract";
ext = "png";
id = "zsWkvRJ";
sha256 = "1h949x9sdhbvi3fimz92rrb0bavc67j6drwvzwc4spgfp8wbvnn1";
}
{
name = "blue-red-sky-clouds";
ext = "jpeg";
id = "HF3doXE";
sha256 = "0fq75hbzyidbimhm208hwrjdjpyivmz15adlw9y7qrm7xc1qb0kq";
}
{
name = "cartoon-city-scifi";
ext = "jpeg";
id = "w4KdYOz";
sha256 = "0k21a5fdzh8a7bzm80cfvf6hlfz27cr3sm0ya8khw2zabj0zmsmg";
}
{
name = "cartoon-mountain";
ext = "jpeg";
id = "YkqZAPS";
sha256 = "0rgl64hyk103cdghf2qbkl7dxcgf1760y6kpyqm9d3936hy1i54m";
}
{
name = "clouds-moon-painting-purple";
ext = "jpeg";
id = "BRaytcU";
sha256 = "0ghlyabq6j2kzj3wawmwxk552j0cwn0lwfb5c1h93zj4qy06ilql";
}
{
name = "cthulhu";
ext = "jpeg";
id = "CwxXVhI";
sha256 = "0kzirh1f7h5gw29z8529hpqiil1d3h0bbdn39ccpyx25m6mz3s4b";
}
{
name = "cubist-purple-pink";
ext = "jpeg";
id = "t0vsV7P";
sha256 = "1qf7n3mxz68gip646f4qpvlj85flc5694lp48rc6gwv4gidn51fl";
}
{
name = "cubist-crystal-brown-teal";
ext = "jpeg";
id = "Uqs6vMB";
sha256 = "18l6w18j9h4vq7ak9544m99s8zrz4dagx9gjs6k6f3lvf6sc8wpg";
}
{
name = "cubist-orange-blue";
ext = "jpeg";
id = "s2DZY9c";
sha256 = "01a9zj0h4qm2d88al2kmmvf4cak3bri4wpyk3hfy3prkhjw65l50";
}
{
name = "cyberpunk-city-red";
ext = "jpeg";
id = "r8LHLB9";
sha256 = "03j7yi2x5vrfdp557bngidi8jafsv9ck9v5mqc2rjgnqpvfbjl50";
}
{
name = "deer-lunar-fantasy";
ext = "png";
id = "UR2whSu";
sha256 = "0prmcysxq60zvmlwm6vlsjgw2d9wdgbqcfn01m8198vl90iyn6y7";
}
{
name = "desert-dunes";
ext = "jpeg";
id = "PRun2Wx";
sha256 = "02bgls75vpjl2787laps89czrnw75kcxj1jww74l2aapmczrckiy";
}
{
name = "desert-dunes-night";
ext = "jpeg";
id = "YWaLxyW";
sha256 = "1g5d34k76pqw48hlpzlfyrlpajv6lsfs1rqxs14b00s0rkivwd3l";
}
{
name = "eclipse-moon-red";
ext = "jpeg";
id = "DdJbvpl";
sha256 = "057hdwidc8yiashsgni7a21cm2csyy8kplzphw84zi06gq0sdvs8";
}
{
name = "fantasy-tree-blue";
ext = "jpeg";
id = "P5p6gvq";
sha256 = "0clwdbwl6jinpjbf4bapi1qkgx6a0cy8w7mcamkw2zc8fblghrqf";
}
{
name = "fantasy-chinese-fort";
ext = "jpeg";
id = "RiisWy4";
sha256 = "0zk3yj16zw3idvbh4ny0vx6z87slrjbg3wqys2s6qgydf5pfp50p";
}
{
name = "fantasy-chinese-night";
ext = "jpeg";
id = "hlVWex9";
sha256 = "10zs7496z2wxqrbkx6a32jny07vra049bsc4cvw8z0xj4sp0vd2s";
}
{
name = "fantasy-chinese-town";
ext = "jpeg";
id = "DbqgxCL";
sha256 = "1fd2zis5ws8spx82p33yr96rr0n4zv1krix42c80rhb58f8h43gq";
}
{
name = "fantasy-red-forest";
ext = "jpeg";
id = "wkEswZE";
sha256 = "0hpyfgkkzyw21wagw27mgg91f3i4l3qpprjvzrn80qgg8nkpcgax";
}
{
name = "fantasy-snow-mountain";
ext = "jpeg";
id = "SQ5Wt1q";
sha256 = "05z6jymjhzi4xp5jg7j1xgrndz9nmcldhc8qpsjj709vvr8ysvwl";
}
{
name = "fantasy-sunset-tree";
ext = "jpeg";
id = "ZmYVTr8";
sha256 = "1hjgbzrw20a9i5gasnh2f2kb0i0w1gy711kfkz8k48x4nv16pi8f";
}
{
name = "forest-deer-landscape";
ext = "png";
id = "YfjfSux";
sha256 = "18q1aqxnavvslm3kvblnpphq9qfc88zh68qk9ysmnyx2gc7yn0zs";
}
{
name = "cubist-pink-yellow";
ext = "jpeg";
id = "Qq5O5DI";
sha256 = "1vvcpanvwyd9wx438195i3mq89grhfgnggs28l6z9x6vcphk3f0l";
}
{
name = "forest-green";
ext = "jpeg";
id = "yAgjkpr";
sha256 = "1jxmsv3m6qv0k63kvfmzqamws4z9xmw005ndci7gr9vf5ilh4hds";
}
{
name = "autumn-japanese-room";
ext = "jpeg";
id = "px7sF71";
sha256 = "1dfwm3q49681g1a0374qladqplsjdik62p3b0r5bl6ilin91blnm";
}
{
name = "kombi-sky-sunset-watercolor";
ext = "jpeg";
id = "EMEUnXz";
sha256 = "15gsv7qj5jlpzvmfr0f7s2cbsqpf3rjvsmkpx47n3ii06wcx7r0j";
}
{
name = "lake-mountains-landscape";
ext = "jpeg";
id = "9fm6Z69";
sha256 = "10j5qxnvd8iifdhihymv9wx0x595qkaslyc43xsn5b1caqwddfpc";
}
{
name = "lightning-mountains";
ext = "jpeg";
id = "HKFgSlP";
sha256 = "1h4gjr57s241zc4vhil25i4cw2hb5hb81ncwjskncwlkas0cnxrc";
}
{
name = "lowpoly-fish";
ext = "jpeg";
id = "chmnqIq";
sha256 = "0f2kgbxsdxnr223ddk2p1qxlmyvkf893xrglhs194ykkrdlfwhj9";
}
{
name = "lowpoly-island";
ext = "jpeg";
id = "EWDyGPw";
sha256 = "1xwdcl1sc7q4hylzssgnjjsx4dswz49qrirv4lf200r90xbm1f0p";
}
{
name = "mountain-pink-purple";
ext = "jpeg";
id = "agNCupE";
sha256 = "0p2zavbhhv2zb7wymxxgr83cw1mla3vaqbpdpq0lr3p0mwjsnpp2";
}
{
name = "mountain-yellow-sunset";
ext = "jpeg";
id = "cGeQqjy";
sha256 = "083gr4gn70i0x1jhikwpcg3dk0zc52sib210ny2alzk8q7gp0f56";
}
{
name = "mountain-yellow-red";
ext = "jpeg";
id = "9vfMeTG";
sha256 = "00al7mhf6yshb4qhca9l2kypf7pb9jhkiil8lagpm200wl2r2vnk";
}
{
name = "city-cyan-orange";
ext = "jpeg";
id = "IA2T8tT";
sha256 = "05n0mfi37bgnxkbjj6vq2az56wa3vp5haa0qyp0pbkzdgqdp96f9";
}
{
name = "forest-clouds-landscape-painting";
ext = "jpeg";
id = "OJQl9fw";
sha256 = "07p1qhl5k76xhxdijzy780gvibx3485997rqhkdb5zd6vz7x9dl5";
}
{
name = "nebula-cyan-yellow";
ext = "jpeg";
id = "xuP6mAg";
sha256 = "1qfq0fxm970pgz010rj22wxp12bmpc7yxjqif10nlv11ypdn3wvc";
}
{
name = "plains-gold-field";
ext = "jpeg";
id = "I6CkYip";
sha256 = "0x514qcv9jf2p6z1ca6mi7j1kfyv6w9n8njl33p5iyyp2z59g788";
}
{
name = "planet-comets-blue-pink";
ext = "jpeg";
id = "MCT39SF";
sha256 = "0s112hlsw2pag65qxdlnprhim48x2gwvziymjymkcszp55fq5rw2";
}
{
name = "planet-gray";
ext = "jpeg";
id = "1kCnuju";
sha256 = "0z1l2ym499d195giqlhybma3k45ad336jilhdhww6zmr7kh2i087";
}
{
name = "nebula-purple-gold";
ext = "jpeg";
id = "4z2QvKv";
sha256 = "0dqacrms5ra4w1banbnd5hzqg186rrnlszh7qbf6il0l9vvjylgr";
}
{
name = "mountain-nebula-purple-pink";
ext = "jpeg";
id = "ta0UUvC";
sha256 = "1dvly9mcv6aqcq6l67gv1vcfdcwaf7z478lqh8i4jliw4w04if7j";
}
{
name = "mountain-stars-purple";
ext = "jpeg";
id = "vpsuota";
sha256 = "0aqa7xx174lfz71xgzq59fb8z1w7gc8kqmpcrg1q2k0xmhzdfiff";
}
{
name = "nebula-purple-pink";
ext = "jpeg";
id = "ExrK7uv";
sha256 = "11qaybypqn7gn1mrvhf8zvas75ysx5xgdcizb1njjmhvgfcnpvqy";
}
{
name = "painting-river-snow-forest-gold";
ext = "jpeg";
id = "i9fwJt5";
sha256 = "1v53fmx6hfhbw4qcga72b1skq9v926c1b50b23fs5r94j1ampidv";
}
{
name = "scifi-city-lights";
ext = "jpeg";
id = "FlZTrlo";
sha256 = "0g6g022h3b7f1s7c1davry08phcj3dkyg9wyn92jpssvphhz8dpz";
}
{
name = "scifi-astronauts-red";
ext = "jpeg";
id = "vMLkDJ6";
sha256 = "0snr40wgdab1m2nvalp67lna015j7cn167hi66iz2faw2ndnydxj";
}
{
name = "landscape-snow-lighthouse-white";
ext = "jpeg";
id = "F7xoHky";
sha256 = "1svc332hw5aakw9i0q42wd7cxxb2cjjg50gkqy1xyp6xgssw8j23";
}
{
name = "planet-purple-gray";
ext = "jpeg";
id = "XNIxNxb";
sha256 = "0hlkg56qlfg86dg7icqpi2khims1fyshmpciyn6a8bbdjx57a6ik";
}
{
name = "landscape-forest-elk-purple";
ext = "png";
id = "IwyyqzM";
sha256 = "1r8fdi4k53lxq213m56rkhi8aj8b5my50i2my2k652h9l847zxq0";
}
{
name = "landscape-forest-cyan-gold";
ext = "jpeg";
id = "0ZF3mfd";
sha256 = "10x09brlajw4iyzdzxg6m1sqh6kxdd0wnld5y0pc4zn0zkygnacx";
}
{
name = "landscape-painting-purple-green";
ext = "jpeg";
id = "Ny8Qt2W";
sha256 = "1kzk919rz1g11na0hfihwk1dlcrjnd470aqpxkvnxw1zy2yaxsg8";
}
{
name = "landscape-mountains-purple-blue";
ext = "jpeg";
id = "oLnpVAh";
sha256 = "0gs0b7i7w2hys9bpv6pb4b7pli8plxx9y007k0q7m5pwdjf8ajyc";
}
{
name = "clouds-comet-orange-bue";
ext = "png";
id = "i4ulyPe";
sha256 = "1563j1hg6giqprk70njljcj8v0g4qvry9ai9mc0rg7a6qidc6d5m";
}
{
name = "triangles-abstract-nebula-red";
ext = "jpeg";
id = "KRm9npy";
sha256 = "1nwyrw353b57zfdqnrxh0bqz7d61aci1ybwmrr1pgpsf50ys30cy";
}
{
name = "wave-painting-cyan-orange";
ext = "jpeg";
id = "bR386Mm";
sha256 = "07spb5z86aijb5l3j8zj48zivkxb0ryzs1ma94n7jakxxr7k4lip";
}
{
name = "tree-snow-minimal-white";
ext = "jpeg";
id = "ZiocLpU";
sha256 = "1hd1k5gkfn2kvmrnc03w4mmwl96b2l943ixpccg7i6hlmvkqa303";
}
]
+20
View File
@@ -0,0 +1,20 @@
{ lib, stdenv, fetchurl, wallpaper }:
stdenv.mkDerivation rec {
name = "wallpaper-${wallpaper.name}";
src = fetchurl {
url = "https://i.imgur.com/${wallpaper.id}.${wallpaper.ext}";
sha256 = wallpaper.sha256;
};
dontUnpack = true;
dontBuild = true;
dontConfigure = true;
installPhase = ''
install -Dm0644 $src $out/share/backgrounds/${wallpaper.name}
'';
meta = {
description = "Wallpaper: ${wallpaper.name}";
platforms = lib.platforms.all;
};
}