From 83a949eddcb32651c459c084005200430b5a08cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kier=C3=A1n=20Meinhardt?= Date: Thu, 27 Jul 2023 17:05:41 +0200 Subject: [PATCH] feat: generate wallpaper --- configs/stylix.nix | 17 ++++++++++++++-- flake.lock | 49 ++++++++++++++++++++++++++++++++++++++++++++++ flake.nix | 7 +++++-- 3 files changed, 69 insertions(+), 4 deletions(-) diff --git a/configs/stylix.nix b/configs/stylix.nix index 1fc7f49..0e0fb7d 100644 --- a/configs/stylix.nix +++ b/configs/stylix.nix @@ -1,11 +1,24 @@ { pkgs, + config, lib, inputs, ... -}: { +}: let + generatedWallpaper = pkgs.runCommand "wallpaper.png" {} '' + ${inputs.wallpaper-generator.packages.x86_64-linux.wp-gen}/bin/wallpaper-generator lines \ + --output $out \ + ${lib.concatMapStringsSep " " + (n: "--base0${lib.toHexString n}=${config.lib.stylix.colors.withHashtag."base0${lib.toHexString n}"}") + (lib.range 0 15)} + ''; +in { # https://danth.github.io/stylix/tricks.html - stylix.image = inputs.wallpapers.outPath + "/meteora/rodrigo-soares-250630.jpg"; + # stylix.image = inputs.wallpapers.outPath + "/meteora/rodrigo-soares-250630.jpg"; + stylix.image = generatedWallpaper; + + environment.etc."stylix/wallpaper.png".source = generatedWallpaper; + # stylix.polarity = "either"; stylix.base16Scheme = "${pkgs.base16-schemes}/share/themes/${ { diff --git a/flake.lock b/flake.lock index a2b921e..12e197b 100644 --- a/flake.lock +++ b/flake.lock @@ -129,6 +129,21 @@ "type": "github" } }, + "flake-utils_3": { + "locked": { + "lastModified": 1614513358, + "narHash": "sha256-LakhOx3S1dRjnh0b5Dg3mbZyH0ToC9I8Y2wKSkBaTzU=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "5466c5bbece17adaab2d82fae80b46e807611bf3", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "fromYaml": { "flake": false, "locked": { @@ -368,6 +383,19 @@ "type": "github" } }, + "nixpkgs_3": { + "locked": { + "lastModified": 1615532953, + "narHash": "sha256-SWpaGjrp/INzorEqMz3HLi6Uuk9I0KAn4YS8B4n3q5g=", + "path": "/nix/store/vw365chp87kvfczxm26qiq7z2pq3jk5z-source", + "rev": "916ee862e87ac5ee2439f2fb7856386b4dc906ae", + "type": "path" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, "nmd": { "flake": false, "locked": { @@ -492,6 +520,7 @@ "tinc-graph": "tinc-graph", "traadfri": "traadfri", "voidrice": "voidrice", + "wallpaper-generator": "wallpaper-generator", "wallpapers": "wallpapers" } }, @@ -668,6 +697,26 @@ "type": "github" } }, + "wallpaper-generator": { + "inputs": { + "flake-utils": "flake-utils_3", + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1615819231, + "narHash": "sha256-vZzc1ViF/3rCm81+x+pyneuOzoWd0przy9ULgwhGSj4=", + "owner": "pinpox", + "repo": "wallpaper-generator", + "rev": "a2223b9b0c51e0eee0d0b23a5e87228e370bdd5c", + "type": "github" + }, + "original": { + "owner": "pinpox", + "ref": "v1.1", + "repo": "wallpaper-generator", + "type": "github" + } + }, "wallpapers": { "flake": false, "locked": { diff --git a/flake.nix b/flake.nix index f93e507..a08363d 100644 --- a/flake.nix +++ b/flake.nix @@ -22,6 +22,7 @@ tinc-graph.url = "github:kmein/tinc-graph"; traadfri.url = "github:kmein/traadfri"; voidrice.url = "github:Lukesmithxyz/voidrice"; + wallpaper-generator.url = "github:pinpox/wallpaper-generator/v1.1"; wallpapers.url = "github:kmein/wallpapers"; agenix.inputs.home-manager.follows = "home-manager"; @@ -33,8 +34,8 @@ menstruation-telegram.inputs.flake-utils.follows = "flake-utils"; menstruation-telegram.inputs.menstruation-backend.follows = "menstruation-backend"; menstruation-telegram.inputs.nixpkgs.follows = "nixpkgs-old"; - nix-on-droid.inputs.nixpkgs.follows = "nixpkgs"; nix-on-droid.inputs.home-manager.follows = "home-manager"; + nix-on-droid.inputs.nixpkgs.follows = "nixpkgs"; nixinate.inputs.nixpkgs.follows = "nixpkgs"; recht.inputs.flake-utils.follows = "flake-utils"; recht.inputs.nixpkgs.follows = "nixpkgs"; @@ -43,14 +44,16 @@ scripts.inputs.flake-utils.follows = "flake-utils"; scripts.inputs.nixpkgs.follows = "nixpkgs"; scripts.inputs.rust-overlay.follows = "rust-overlay"; - stylix.inputs.nixpkgs.follows = "nixpkgs"; stylix.inputs.home-manager.follows = "home-manager"; + stylix.inputs.nixpkgs.follows = "nixpkgs"; tinc-graph.inputs.flake-utils.follows = "flake-utils"; tinc-graph.inputs.nixpkgs.follows = "nixpkgs"; tinc-graph.inputs.rust-overlay.follows = "rust-overlay"; traadfri.inputs.flake-utils.follows = "flake-utils"; traadfri.inputs.nixpkgs.follows = "nixpkgs-old"; voidrice.flake = false; + wallpaper-generator.inputs.flake-utils.follows = "flake-utils"; + wallpaper-generator.inputs.nixpkgs.follows = "nixpkgs"; wallpapers.flake = false; };