refactor: use overlays where possible
All checks were successful
Discord / discord commits (push) Has been skipped

This commit is contained in:
matt1432 2025-03-05 14:03:09 -05:00
parent 8ba117e22b
commit e44534648c
15 changed files with 33 additions and 40 deletions

View file

@ -6,6 +6,7 @@
}: let }: let
jellyPkgs = jellyPkgs =
if config.nvidia.enableCUDA if config.nvidia.enableCUDA
# TODO: add overlays to upstream flake
then jellyfin-flake.packages.${pkgs.system}.cudaPackages then jellyfin-flake.packages.${pkgs.system}.cudaPackages
else jellyfin-flake.packages.${pkgs.system}; else jellyfin-flake.packages.${pkgs.system};
in { in {

View file

@ -7,6 +7,7 @@
imports = [minix.nixosModules.default]; imports = [minix.nixosModules.default];
environment.systemPackages = [ environment.systemPackages = [
# TODO: add overlays to upstream flake
minix.packages.${pkgs.system}.curseforge-server-downloader minix.packages.${pkgs.system}.curseforge-server-downloader
]; ];

View file

@ -25,7 +25,7 @@ self: {
''; '';
}; };
nixdPkg = self.inputs.nixd.packages.${pkgs.system}.default; nixdPkg = pkgs.nixd;
flakeEnv = config.programs.bash.sessionVariables.FLAKE; flakeEnv = config.programs.bash.sessionVariables.FLAKE;
flakeDir = "${removePrefix "${mainHmCfg.home.homeDirectory}/" flakeEnv}"; flakeDir = "${removePrefix "${mainHmCfg.home.homeDirectory}/" flakeEnv}";

View file

@ -52,8 +52,10 @@ in {
security.pam.services.astal-auth = {}; security.pam.services.astal-auth = {};
services.upower.enable = true; services.upower.enable = true;
# FIXME: https://github.com/NixOS/nixpkgs/pull/377867
nixpkgs.overlays = [ nixpkgs.overlays = [
virtualkeyboard-adapter.overlays.default
# FIXME: https://github.com/NixOS/nixpkgs/pull/377867
(final: prev: { (final: prev: {
gtk4-layer-shell = prev.gtk4-layer-shell.overrideAttrs (o: rec { gtk4-layer-shell = prev.gtk4-layer-shell.overrideAttrs (o: rec {
version = "1.1.0"; version = "1.1.0";
@ -75,7 +77,7 @@ in {
waylandFrontend = true; waylandFrontend = true;
plasma6Support = true; plasma6Support = true;
addons = [ addons = [
virtualkeyboard-adapter.packages.${pkgs.system}.default pkgs.virtualkeyboard-adapter
]; ];
}; };
}; };

View file

@ -30,6 +30,7 @@ in {
config = mkIf cfgDesktop.ags.enable { config = mkIf cfgDesktop.ags.enable {
# Make these accessible outside these files # Make these accessible outside these files
programs.ags = { programs.ags = {
# TODO: add overlays to upstream flake
package = ags.packages.${pkgs.system}.ags.override { package = ags.packages.${pkgs.system}.ags.override {
extraPackages = cfg.astalLibs; extraPackages = cfg.astalLibs;
@ -58,7 +59,10 @@ in {
wireplumber wireplumber
; ;
# TODO: switch to Gtk4 version to get rid of this dep
gtkSessionLock = gtk-session-lock.packages.${pkgs.system}.default; gtkSessionLock = gtk-session-lock.packages.${pkgs.system}.default;
# TODO: add overlays to upstream flake
libKompass = kompass.packages.${pkgs.system}.libkompass; libKompass = kompass.packages.${pkgs.system}.libkompass;
# libkompass dependencies # libkompass dependencies

View file

@ -5,7 +5,7 @@ self: {
... ...
}: let }: let
inherit (lib) attrValues mkDefault mkIf mkOption types; inherit (lib) attrValues mkDefault mkIf mkOption types;
inherit (self.inputs) home-manager nh; inherit (self.inputs) home-manager;
cfg = config.roles.base; cfg = config.roles.base;
in { in {
@ -70,7 +70,7 @@ in {
programs.nh = { programs.nh = {
enable = true; enable = true;
package = nh.packages.${pkgs.system}.default; package = pkgs.nh;
# weekly cleanup # weekly cleanup
clean = { clean = {

View file

@ -12,6 +12,9 @@ in {
nixpkgs.overlays = nixpkgs.overlays =
(map (i: self.inputs.${i}.overlays.default) [ (map (i: self.inputs.${i}.overlays.default) [
"grim-hyprland" "grim-hyprland"
"nh"
"nixd"
"nurl"
"nixpkgs-wayland" "nixpkgs-wayland"
]) ])
++ (attrValues { ++ (attrValues {
@ -30,7 +33,7 @@ in {
nurl = nurl =
if (cfg.user != "nixos" && cfg.user != "nix-on-droid") if (cfg.user != "nixos" && cfg.user != "nix-on-droid")
then then
self.inputs.nurl.packages.${pkgs.system}.default.overrideAttrs { pkgs.nurl.overrideAttrs {
postInstall = '' postInstall = ''
wrapProgram $out/bin/nurl --prefix PATH : ${makeBinPath [ wrapProgram $out/bin/nurl --prefix PATH : ${makeBinPath [
(config.home-manager.users.${cfg.user}.programs.git.package or pkgs.gitMinimal) (config.home-manager.users.${cfg.user}.programs.git.package or pkgs.gitMinimal)

View file

@ -28,6 +28,13 @@ in {
''; '';
} }
]; ];
nixpkgs.overlays = map (i: self.inputs.${i}.overlays.default) [
"hyprland"
"hyprland-plugins"
"hyprpaper"
"nixpkgs-wayland"
];
}; };
options.roles.desktop = { options.roles.desktop = {

View file

@ -4,7 +4,6 @@ self: {
pkgs, pkgs,
... ...
}: let }: let
inherit (self.inputs) hyprland;
inherit (self.lib.hypr) mkBind mkMonitor; inherit (self.lib.hypr) mkBind mkMonitor;
inherit (lib) attrValues concatStringsSep mkIf optionals removeSuffix; 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} = { home-manager.users.${cfg.user} = {
imports = [ imports = [
./home/dev.nix ./home/dev.nix
@ -88,19 +80,13 @@ in {
enable = true; enable = true;
# Get rid of logs shown on the TTY right before Hyprland launches # 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 = '' postInstall = ''
${removeSuffix "\n\n" o.postInstall} \ ${removeSuffix "\n\n" o.postInstall} \
--append-flags '&>/dev/null' --append-flags '&>/dev/null'
''; '';
}); });
portalPackage =
hyprland
.packages
.${pkgs.system}
.xdg-desktop-portal-hyprland;
systemd.variables = ["-all"]; systemd.variables = ["-all"];
settings = { settings = {

View file

@ -12,7 +12,7 @@ self: {
in { in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
plugins = [self.inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo]; plugins = [pkgs.hyprlandPlugins.hyprexpo];
settings = { settings = {
plugin.hyprexpo = { plugin.hyprexpo = {

View file

@ -12,6 +12,7 @@ self: {
in { in {
config = mkIf (cfg.enable && cfg.isTouchscreen) { config = mkIf (cfg.enable && cfg.isTouchscreen) {
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
# TODO: add overlays to upstream flake
plugins = [self.inputs.hyprgrass.packages.${pkgs.system}.default]; plugins = [self.inputs.hyprgrass.packages.${pkgs.system}.default];
settings = { settings = {

View file

@ -1,13 +1,9 @@
self: { {
lib, lib,
osConfig, osConfig,
pkgs, pkgs,
... ...
}: let }: let
inherit (self.inputs) nixpkgs-wayland;
waypkgs = nixpkgs-wayland.packages.${pkgs.system};
inherit (lib) mkIf; inherit (lib) mkIf;
cfg = osConfig.roles.desktop; cfg = osConfig.roles.desktop;
@ -17,13 +13,10 @@ in {
obs-studio = { obs-studio = {
enable = true; enable = true;
plugins = [ plugins = [
waypkgs.obs-wlrobs pkgs.waylandPkgs.obs-wlrobs
pkgs.obs-studio-plugins.droidcam-obs pkgs.obs-studio-plugins.droidcam-obs
]; ];
}; };
}; };
}; };
# For accurate stack trace
_file = ./obs.nix;
} }

View file

@ -40,8 +40,8 @@ in {
home-manager.users.${cfg.user} = { home-manager.users.${cfg.user} = {
imports = [ imports = [
../home/foot.nix ../home/foot.nix
../home/obs.nix
(import ../home/mpv.nix self) (import ../home/mpv.nix self)
(import ../home/obs.nix self)
nixcord.homeManagerModules.nixcord nixcord.homeManagerModules.nixcord

View file

@ -9,10 +9,10 @@ self: {
in { in {
imports = [ imports = [
./gtk ./gtk
./hyprpaper
./xresources ./xresources
(import ./cursors self) (import ./cursors self)
(import ./hyprpaper self)
(import ./qt self) (import ./qt self)
]; ];

View file

@ -1,4 +1,4 @@
self: { {
lib, lib,
osConfig, osConfig,
pkgs, pkgs,
@ -7,12 +7,10 @@ self: {
inherit (lib) mkIf; inherit (lib) mkIf;
cfg = osConfig.roles.desktop; cfg = osConfig.roles.desktop;
hyprpaper = self.inputs.hyprpaper.packages.${pkgs.system}.default;
wallpaper = toString pkgs.scopedPackages.dracula.wallpaper; wallpaper = toString pkgs.scopedPackages.dracula.wallpaper;
in { in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
home.packages = [hyprpaper]; home.packages = [pkgs.hyprpaper];
xdg.configFile."hypr/hyprpaper.conf" = { xdg.configFile."hypr/hyprpaper.conf" = {
text = lib.hm.generators.toHyprconf { text = lib.hm.generators.toHyprconf {
@ -29,7 +27,4 @@ in {
}; };
}; };
}; };
# For accurate stack trace
_file = ./default.nix;
} }