Personal-use NixOS configuration
at main 80 lines 1.9 kB view raw
1{ 2 flakeRoot, 3 pkgs, 4 pkgs-unstable, 5 pkgs-flake, 6 ... 7}: 8 9let 10 mkConvertFunction = outputName: '' 11 set downloadUrl $argv[1] 12 set fileName download.tmp 13 14 xh --download $downloadUrl --output $fileName 15 16 set isOpaque (magick identify -format '%[opaque]' $fileName) 17 set aspectRatio (magick $fileName -format "%[fx:w/h]" info:) 18 19 set -l arguments; 20 21 if test $isOpaque = "False" 22 echo "Will replace transparency with solid color!" 23 24 set -a arguments -background white -alpha remove -alpha off 25 end 26 27 if test $aspectRatio != "1" 28 echo "Will adjust the image's cropping!" 29 30 set -a arguments -gravity center -crop 1:1 31 end 32 33 magick $fileName $arguments -quality 100% -verbose ${outputName} 34 35 rm -f $fileName 36 ''; 37in 38{ 39 imports = [ 40 (flakeRoot + /homes/encode42/common) 41 42 (flakeRoot + /homes/encode42/common/direnv.nix) 43 (flakeRoot + /homes/encode42/common/github.nix) 44 (flakeRoot + /homes/encode42/common/ssh.nix) 45 46 (flakeRoot + /homes/encode42/desktop/environments/gnome.nix) 47 48 (flakeRoot + /homes/encode42/desktop/jetbrains/rider.nix) 49 (flakeRoot + /homes/encode42/desktop/jetbrains/intellij.nix) 50 (flakeRoot + /homes/encode42/desktop/bitwarden.nix) 51 (flakeRoot + /homes/encode42/desktop/discord.nix) 52 (flakeRoot + /homes/encode42/desktop/firefox.nix) 53 (flakeRoot + /homes/encode42/desktop/zed.nix) 54 55 (flakeRoot + /homes/shared/desktop/prismlauncher.nix) 56 ]; 57 58 programs.fish.functions = { 59 download_cover = mkConvertFunction "cover.jpg"; 60 download_artist = mkConvertFunction "artist.jpg"; 61 }; 62 63 home.packages = with pkgs; [ 64 audacity 65 puddletag 66 pkgs-flake.mediaelch 67 68 # Unstable for Feishin 1.X, roll back to stable once backported 69 pkgs-unstable.feishin 70 71 blockbench 72 73 clonehero 74 openrct2 75 r2modman 76 olympus 77 pkgs-flake.iso2god-rs 78 beammp-launcher 79 ]; 80}