From e44534648ce053ef31a82923909d891381a750b9 Mon Sep 17 00:00:00 2001 From: matt1432 Date: Wed, 5 Mar 2025 14:03:09 -0500 Subject: [PATCH] refactor: use overlays where possible --- configurations/nos/modules/jellyfin/packages.nix | 1 + .../servivi/modules/minecraft/default.nix | 1 + .../neovim/langs/nix-lang/default.nix | 2 +- modules/ags/default.nix | 6 ++++-- modules/ags/packages.nix | 4 ++++ modules/base/default.nix | 4 ++-- modules/base/packages/default.nix | 5 ++++- modules/desktop/default.nix | 7 +++++++ modules/desktop/environment/default.nix | 16 +--------------- modules/desktop/environment/home/hyprexpo.nix | 2 +- modules/desktop/environment/home/hyprgrass.nix | 1 + modules/desktop/environment/home/obs.nix | 11 ++--------- modules/desktop/environment/modules/packages.nix | 2 +- modules/desktop/theme/default.nix | 2 +- modules/desktop/theme/hyprpaper/default.nix | 9 ++------- 15 files changed, 33 insertions(+), 40 deletions(-) diff --git a/configurations/nos/modules/jellyfin/packages.nix b/configurations/nos/modules/jellyfin/packages.nix index ee404258..5d9abb9b 100644 --- a/configurations/nos/modules/jellyfin/packages.nix +++ b/configurations/nos/modules/jellyfin/packages.nix @@ -6,6 +6,7 @@ }: let jellyPkgs = if config.nvidia.enableCUDA + # TODO: add overlays to upstream flake then jellyfin-flake.packages.${pkgs.system}.cudaPackages else jellyfin-flake.packages.${pkgs.system}; in { diff --git a/configurations/servivi/modules/minecraft/default.nix b/configurations/servivi/modules/minecraft/default.nix index 1229692a..be555962 100644 --- a/configurations/servivi/modules/minecraft/default.nix +++ b/configurations/servivi/modules/minecraft/default.nix @@ -7,6 +7,7 @@ imports = [minix.nixosModules.default]; environment.systemPackages = [ + # TODO: add overlays to upstream flake minix.packages.${pkgs.system}.curseforge-server-downloader ]; diff --git a/homeManagerModules/neovim/langs/nix-lang/default.nix b/homeManagerModules/neovim/langs/nix-lang/default.nix index 77c534ce..fd028467 100644 --- a/homeManagerModules/neovim/langs/nix-lang/default.nix +++ b/homeManagerModules/neovim/langs/nix-lang/default.nix @@ -25,7 +25,7 @@ self: { ''; }; - nixdPkg = self.inputs.nixd.packages.${pkgs.system}.default; + nixdPkg = pkgs.nixd; flakeEnv = config.programs.bash.sessionVariables.FLAKE; flakeDir = "${removePrefix "${mainHmCfg.home.homeDirectory}/" flakeEnv}"; diff --git a/modules/ags/default.nix b/modules/ags/default.nix index 66cdd347..63b57f2e 100644 --- a/modules/ags/default.nix +++ b/modules/ags/default.nix @@ -52,8 +52,10 @@ in { security.pam.services.astal-auth = {}; services.upower.enable = true; - # FIXME: https://github.com/NixOS/nixpkgs/pull/377867 nixpkgs.overlays = [ + virtualkeyboard-adapter.overlays.default + + # FIXME: https://github.com/NixOS/nixpkgs/pull/377867 (final: prev: { gtk4-layer-shell = prev.gtk4-layer-shell.overrideAttrs (o: rec { version = "1.1.0"; @@ -75,7 +77,7 @@ in { waylandFrontend = true; plasma6Support = true; addons = [ - virtualkeyboard-adapter.packages.${pkgs.system}.default + pkgs.virtualkeyboard-adapter ]; }; }; diff --git a/modules/ags/packages.nix b/modules/ags/packages.nix index 8407e49d..ef68dab2 100644 --- a/modules/ags/packages.nix +++ b/modules/ags/packages.nix @@ -30,6 +30,7 @@ in { config = mkIf cfgDesktop.ags.enable { # Make these accessible outside these files programs.ags = { + # TODO: add overlays to upstream flake package = ags.packages.${pkgs.system}.ags.override { extraPackages = cfg.astalLibs; @@ -58,7 +59,10 @@ in { wireplumber ; + # TODO: switch to Gtk4 version to get rid of this dep gtkSessionLock = gtk-session-lock.packages.${pkgs.system}.default; + + # TODO: add overlays to upstream flake libKompass = kompass.packages.${pkgs.system}.libkompass; # libkompass dependencies diff --git a/modules/base/default.nix b/modules/base/default.nix index bb4ad4db..0725834b 100644 --- a/modules/base/default.nix +++ b/modules/base/default.nix @@ -5,7 +5,7 @@ self: { ... }: let inherit (lib) attrValues mkDefault mkIf mkOption types; - inherit (self.inputs) home-manager nh; + inherit (self.inputs) home-manager; cfg = config.roles.base; in { @@ -70,7 +70,7 @@ in { programs.nh = { enable = true; - package = nh.packages.${pkgs.system}.default; + package = pkgs.nh; # weekly cleanup clean = { diff --git a/modules/base/packages/default.nix b/modules/base/packages/default.nix index d4f5fa4a..9dfaadc2 100644 --- a/modules/base/packages/default.nix +++ b/modules/base/packages/default.nix @@ -12,6 +12,9 @@ in { nixpkgs.overlays = (map (i: self.inputs.${i}.overlays.default) [ "grim-hyprland" + "nh" + "nixd" + "nurl" "nixpkgs-wayland" ]) ++ (attrValues { @@ -30,7 +33,7 @@ in { nurl = if (cfg.user != "nixos" && cfg.user != "nix-on-droid") then - self.inputs.nurl.packages.${pkgs.system}.default.overrideAttrs { + pkgs.nurl.overrideAttrs { postInstall = '' wrapProgram $out/bin/nurl --prefix PATH : ${makeBinPath [ (config.home-manager.users.${cfg.user}.programs.git.package or pkgs.gitMinimal) diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix index 2e7a5e8b..c176fd12 100644 --- a/modules/desktop/default.nix +++ b/modules/desktop/default.nix @@ -28,6 +28,13 @@ in { ''; } ]; + + nixpkgs.overlays = map (i: self.inputs.${i}.overlays.default) [ + "hyprland" + "hyprland-plugins" + "hyprpaper" + "nixpkgs-wayland" + ]; }; options.roles.desktop = { diff --git a/modules/desktop/environment/default.nix b/modules/desktop/environment/default.nix index 4d32aa6a..50cec24e 100644 --- a/modules/desktop/environment/default.nix +++ b/modules/desktop/environment/default.nix @@ -4,7 +4,6 @@ self: { pkgs, ... }: let - inherit (self.inputs) hyprland; inherit (self.lib.hypr) mkBind mkMonitor; inherit (lib) attrValues concatStringsSep mkIf optionals removeSuffix; @@ -65,13 +64,6 @@ in { }; }; - # Make sure we only use the package from the hyprland flake - nixpkgs.overlays = [ - (final: prev: { - xdg-desktop-portal-hyprland = hyprCfg.finalPortalPackage; - }) - ]; - home-manager.users.${cfg.user} = { imports = [ ./home/dev.nix @@ -88,19 +80,13 @@ in { enable = true; # Get rid of logs shown on the TTY right before Hyprland launches - package = hyprland.packages.${pkgs.system}.default.overrideAttrs (o: { + package = pkgs.hyprland.overrideAttrs (o: { postInstall = '' ${removeSuffix "\n\n" o.postInstall} \ --append-flags '&>/dev/null' ''; }); - portalPackage = - hyprland - .packages - .${pkgs.system} - .xdg-desktop-portal-hyprland; - systemd.variables = ["-all"]; settings = { diff --git a/modules/desktop/environment/home/hyprexpo.nix b/modules/desktop/environment/home/hyprexpo.nix index 85c14938..b5c67423 100644 --- a/modules/desktop/environment/home/hyprexpo.nix +++ b/modules/desktop/environment/home/hyprexpo.nix @@ -12,7 +12,7 @@ self: { in { config = mkIf cfg.enable { wayland.windowManager.hyprland = { - plugins = [self.inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo]; + plugins = [pkgs.hyprlandPlugins.hyprexpo]; settings = { plugin.hyprexpo = { diff --git a/modules/desktop/environment/home/hyprgrass.nix b/modules/desktop/environment/home/hyprgrass.nix index cee64f8e..4727a490 100644 --- a/modules/desktop/environment/home/hyprgrass.nix +++ b/modules/desktop/environment/home/hyprgrass.nix @@ -12,6 +12,7 @@ self: { in { config = mkIf (cfg.enable && cfg.isTouchscreen) { wayland.windowManager.hyprland = { + # TODO: add overlays to upstream flake plugins = [self.inputs.hyprgrass.packages.${pkgs.system}.default]; settings = { diff --git a/modules/desktop/environment/home/obs.nix b/modules/desktop/environment/home/obs.nix index 95c35c70..d97c0ca0 100644 --- a/modules/desktop/environment/home/obs.nix +++ b/modules/desktop/environment/home/obs.nix @@ -1,13 +1,9 @@ -self: { +{ lib, osConfig, pkgs, ... }: let - inherit (self.inputs) nixpkgs-wayland; - - waypkgs = nixpkgs-wayland.packages.${pkgs.system}; - inherit (lib) mkIf; cfg = osConfig.roles.desktop; @@ -17,13 +13,10 @@ in { obs-studio = { enable = true; plugins = [ - waypkgs.obs-wlrobs + pkgs.waylandPkgs.obs-wlrobs pkgs.obs-studio-plugins.droidcam-obs ]; }; }; }; - - # For accurate stack trace - _file = ./obs.nix; } diff --git a/modules/desktop/environment/modules/packages.nix b/modules/desktop/environment/modules/packages.nix index 1c10eb8b..a0c315cb 100644 --- a/modules/desktop/environment/modules/packages.nix +++ b/modules/desktop/environment/modules/packages.nix @@ -40,8 +40,8 @@ in { home-manager.users.${cfg.user} = { imports = [ ../home/foot.nix + ../home/obs.nix (import ../home/mpv.nix self) - (import ../home/obs.nix self) nixcord.homeManagerModules.nixcord diff --git a/modules/desktop/theme/default.nix b/modules/desktop/theme/default.nix index 59f52b72..5cf29e80 100644 --- a/modules/desktop/theme/default.nix +++ b/modules/desktop/theme/default.nix @@ -9,10 +9,10 @@ self: { in { imports = [ ./gtk + ./hyprpaper ./xresources (import ./cursors self) - (import ./hyprpaper self) (import ./qt self) ]; diff --git a/modules/desktop/theme/hyprpaper/default.nix b/modules/desktop/theme/hyprpaper/default.nix index 1c5f89a6..d864e309 100644 --- a/modules/desktop/theme/hyprpaper/default.nix +++ b/modules/desktop/theme/hyprpaper/default.nix @@ -1,4 +1,4 @@ -self: { +{ lib, osConfig, pkgs, @@ -7,12 +7,10 @@ self: { inherit (lib) mkIf; cfg = osConfig.roles.desktop; - - hyprpaper = self.inputs.hyprpaper.packages.${pkgs.system}.default; wallpaper = toString pkgs.scopedPackages.dracula.wallpaper; in { config = mkIf cfg.enable { - home.packages = [hyprpaper]; + home.packages = [pkgs.hyprpaper]; xdg.configFile."hypr/hyprpaper.conf" = { text = lib.hm.generators.toHyprconf { @@ -29,7 +27,4 @@ in { }; }; }; - - # For accurate stack trace - _file = ./default.nix; }