This commit is contained in:
Lucy von Overheidt 2025-09-09 21:20:12 +02:00
parent 4d269a9e8d
commit f9c369c584
12 changed files with 638 additions and 73 deletions

View file

@ -38,24 +38,25 @@
};
outputs =
inputs@{
self,
nixpkgs,
c3d2-user-module,
home-manager,
niri,
nixos-hardware,
treefmt-nix,
determinate,
nix-index-db,
quickshell,
stylix,
comin,
firefox-addons,
inputs@{ self
, nixpkgs
, c3d2-user-module
, home-manager
, niri
, nixos-hardware
, treefmt-nix
, determinate
, nix-index-db
, quickshell
, stylix
, comin
, firefox-addons
,
}:
let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
lib = pkgs.lib;
# Configure treefmt
treefmtEval = treefmt-nix.lib.evalModule pkgs {
@ -88,15 +89,39 @@
};
in
{
packages.${system}.wallpaper = pkgs.stdenv.mkDerivation {
name = "wallpaper";
src = ./assets/wp6553608.jpg;
dontUnpack = true;
packages.${system}.wallpapers = pkgs.stdenv.mkDerivation {
name = "wallpapers";
src = ./assets;
buildInputs = with pkgs; [ ffmpeg ];
buildPhase = ''
# Create output directory
mkdir -p $out/share/wallpapers
# Copy static wallpaper
cp "wp6553608.jpg" "$out/share/wallpapers/static-wallpaper.jpg"
# Copy original animated wallpaper
cp "Anime Live Wallpaper - Anime Cat Girl Snow - HD - no copyright [SiMc3l0ido0].mp4" \
"$out/share/wallpapers/anime-cat-girl-snow.mp4"
# Create optimized version
${pkgs.ffmpeg}/bin/ffmpeg -i "Anime Live Wallpaper - Anime Cat Girl Snow - HD - no copyright [SiMc3l0ido0].mp4" \
-vf "scale=1920:1080:force_original_aspect_ratio=increase,crop=1920:1080" \
-r 30 -c:v libx264 -crf 28 -preset medium \
-t 30 -an "$out/share/wallpapers/anime-cat-girl-snow-optimized.mp4"
'';
installPhase = ''
mkdir -p $out
cp $src $out/wallpaper.jpg
# Files are already in the right place from buildPhase
echo "Wallpapers installed to $out/share/wallpapers"
'';
meta = with lib; {
description = "Personal wallpaper collection";
platforms = platforms.linux;
};
};
nixosConfigurations.p50 = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; };
@ -112,12 +137,11 @@
home-manager.useUserPackages = true;
home-manager.backupFileExtension = "backup";
home-manager.users.lucy =
{
config,
pkgs,
lib,
inputs,
...
{ config
, pkgs
, lib
, inputs
, ...
}:
{
imports = [