summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/home-manager/personal/environment.nix2
-rw-r--r--modules/nixos/personal/gui.nix2
-rw-r--r--pkgs/static/wallpapers/default.nix54
3 files changed, 36 insertions, 22 deletions
diff --git a/modules/home-manager/personal/environment.nix b/modules/home-manager/personal/environment.nix
index 3c674de..867757e 100644
--- a/modules/home-manager/personal/environment.nix
+++ b/modules/home-manager/personal/environment.nix
@@ -6,7 +6,7 @@
} @ inputs: {
home.packages = with pkgs; [coreutils moreutils];
personal.home.wallpaper =
- lib.mkDefault (inputs.osConfig.stylix.image or pkgs.personal.static.wallpapers.nga-1973-68-1);
+ lib.mkDefault (inputs.osConfig.stylix.image or (pkgs.personal.static.wallpapers.nga-1973-68-1.override {gravity = "north";}));
programs.bash = {enable = lib.mkDefault true;};
diff --git a/modules/nixos/personal/gui.nix b/modules/nixos/personal/gui.nix
index 6e2a5d7..88f8fa2 100644
--- a/modules/nixos/personal/gui.nix
+++ b/modules/nixos/personal/gui.nix
@@ -5,7 +5,7 @@
...
} @ extraArgs: let
cfg = config.personal.gui;
- wallpaper = pkgs.personal.static.wallpapers.nga-1973-68-1;
+ wallpaper = pkgs.personal.static.wallpapers.nga-1973-68-1.override {gravity = "north";};
importedStylix = extraArgs ? stylix;
in {
imports = lib.optional importedStylix extraArgs.stylix.nixosModules.stylix;
diff --git a/pkgs/static/wallpapers/default.nix b/pkgs/static/wallpapers/default.nix
index f0b8d46..a0efda3 100644
--- a/pkgs/static/wallpapers/default.nix
+++ b/pkgs/static/wallpapers/default.nix
@@ -1,22 +1,36 @@
-{ stdenv, fetchurl, imagemagick, lib }:
-
-let
+{
+ stdenv,
+ fetchurl,
+ imagemagick,
+ lib,
+}: let
fetchWallpaper = lib.makeOverridable (
- { name, url, sha256, resolution ? "1920x1080", offset ? "0x0" }:
- stdenv.mkDerivation {
- inherit name;
- src = fetchurl {
- inherit url sha256;
- };
- buildInputs = [ imagemagick ];
- phases = [ "unpackPhase" ];
- unpackPhase = ''
- convert "$src" -resize "${resolution}^" \
- -crop "${resolution}+${offset}" \
- "$out"
- '';
- });
+ {
+ name,
+ url,
+ sha256,
+ resolution ? "1920x1080",
+ ratio ? "16:9",
+ gravity ? "center",
+ }:
+ stdenv.mkDerivation {
+ inherit name;
+ src = fetchurl {
+ inherit url sha256;
+ };
+ buildInputs = [imagemagick];
+ phases = ["unpackPhase"];
+ unpackPhase = ''
+ convert "$src" -gravity '${gravity}' \
+ -extent '${ratio}' \
+ -resize '${resolution}!' \
+ "$out"
+ '';
+ }
+ );
sources = lib.importJSON ./sources.json;
-in {
- fetcher = fetchWallpaper;
-} // builtins.mapAttrs (_: fetchWallpaper) sources
+in
+ {
+ fetcher = fetchWallpaper;
+ }
+ // builtins.mapAttrs (_: fetchWallpaper) sources