{ inputs, self, ... }: { systems = ["x86_64-linux"]; imports = [inputs.flake-parts.flakeModules.easyOverlay]; perSystem = { config, system, pkgs, ... }: { _module.args.pkgs = import inputs.nixpkgs { inherit system; config.allowUnfree = true; }; packages = let inherit (pkgs) callPackage foot alejandra fetchFromGitea; pins = import ../npins; mkPackage = path: {__functor = self: self.override;} // (callPackage path {inherit pins;}); in { # packages that follow npins entries # they can be updated via npins ani-cli = mkPackage ./ani-cli; rat = mkPackage ./rat; mov-cli = mkPackage ./mov-cli; rofi-calc-wayland = mkPackage ./rofi-calc-wayland; rofi-emoji-wayland = mkPackage ./rofi-emoji-wayland; # static packages # need manual intervention with each update cloneit = callPackage ./cloneit {}; headscale-ui = callPackage ./headscale-ui {}; mastodon-bird-ui = callPackage ./mastodon-bird-ui {}; reposilite-bin = callPackage ./reposilite-bin { javaJdk = pkgs.openjdk17_headless; }; # patched packages foot-transparent = foot.overrideAttrs (prev: let version = "2024-03-14-unstable"; in { inherit version; src = fetchFromGitea { domain = "codeberg.org"; owner = "dnkl"; repo = "foot"; rev = "dd3bb13d97b405495465357f7b7b17c9f2bba3c2"; hash = "sha256-Pp3/cNELRYmTOQrJgHX6c+t0QkxEjoly0TLMKVj3H0E="; }; mesonFlags = (prev.mesonFlags or []) ++ ["-Dfullscreen_alpha=true"]; patches = (prev.patches or []) ++ [../patches/0001-foot-transparent.patch]; mainProgram = "foot"; }); alejandra-no-ads = alejandra.overrideAttrs (prev: { patches = (prev.patches or []) ++ [../patches/0003-alejandra-remove-ads.patch]; }); # override gnome-control-center to trick it into thinking we're running gnome # # # get overriden idiot gccn-wrapped = pkgs.gnome.gnome-control-center.overrideAttrs (prev: { # gnome-control-center does not start without XDG_CURRENT_DESKTOP=gnome preFixup = '' gappsWrapperArgs+=( --set XDG_CURRENT_DESKTOP "gnome" ); '' + prev.preFixup; }); }; }; }