Compare commits

...

5 commits

9 changed files with 26 additions and 75 deletions

View file

@ -51,11 +51,12 @@
overlays = [ nixgl.overlay ]; overlays = [ nixgl.overlay ];
}; };
extraSpecialArgs = { extraSpecialArgs = {
inherit stateVersion inputs; inherit stateVersion inputs nixgl;
hostname = hostname; hostname = hostname;
username = username; username = username;
}; };
modules = [ modules = [
{ nixpkgs.overlays = [ nixgl.overlay ];}
./home-manager/default.nix ./home-manager/default.nix
]; ];
}; };

View file

@ -1,4 +1,4 @@
{ inputs, lib, stateVersion, username, hostname, ... }: { inputs, lib, stateVersion, username, hostname, nixgl, ... }:
{ {
imports = [ imports = [
inputs.sops-nix.homeManagerModules.sops inputs.sops-nix.homeManagerModules.sops
@ -12,7 +12,9 @@
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
programs.home-manager.enable = true; programs.home-manager.enable = true;
fonts.fontconfig.enable = true; fonts.fontconfig.enable = true;
nixGL.packages = nixgl.packages;
nixGL.defaultWrapper = "mesa";
nixGL.installScripts = ["mesa"];
home = { home = {
inherit stateVersion username; inherit stateVersion username;
homeDirectory = "/home/${username}"; homeDirectory = "/home/${username}";

View file

@ -24,14 +24,8 @@
kdenlive.enable = false; kdenlive.enable = false;
mpv.enable = false; mpv.enable = false;
}; };
web.firefox = { web.firefox.enable = true;
enable = true; web.qutebrowser.enable = true;
enableNixGL = true;
};
web.qutebrowser = {
enable = true;
enableNixGL = true;
};
web.webcord.enable = false; web.webcord.enable = false;
gaming.lutris.enable = false; gaming.lutris.enable = false;
desktop.sway = { desktop.sway = {

View file

@ -35,7 +35,6 @@
}; };
web.firefox = { web.firefox = {
enable = true; enable = true;
enableNixGL = true;
optionalExtensions = with pkgs.nur.repos.rycee.firefox-addons; [ optionalExtensions = with pkgs.nur.repos.rycee.firefox-addons; [
okta-browser-plugin okta-browser-plugin
]; ];

View file

@ -158,6 +158,20 @@ in
desktop = "${config.home.homeDirectory}/documents"; desktop = "${config.home.homeDirectory}/documents";
publicShare = "${config.home.homeDirectory}/tmp/public"; publicShare = "${config.home.homeDirectory}/tmp/public";
}; };
portal = {
enable = true;
extraPortals = with pkgs; [
xdg-desktop-portal-wlr
xdg-desktop-portal-gtk
];
xdgOpenUsePortal = true;
config = {
sway.default = [
"wlr"
"gtk"
];
};
};
}; };
}; };
} }

View file

@ -6,6 +6,7 @@ in
{ {
config = mkIf config.modules.desktop.sway.enable { config = mkIf config.modules.desktop.sway.enable {
wayland.windowManager.sway = { wayland.windowManager.sway = {
package = config.lib.nixGL.wrap pkgs.sway;
enable = true; enable = true;
wrapperFeatures.gtk = true; wrapperFeatures.gtk = true;
systemd.enable = true; systemd.enable = true;

View file

@ -29,11 +29,6 @@ in
description = "Optional Firefox Plugins to install"; description = "Optional Firefox Plugins to install";
}; };
enableNixGL = mkOption {
type = types.bool;
default = false;
description = "Use NixGL to start Firefox";
};
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.browserpass = { programs.browserpass = {
@ -47,24 +42,6 @@ in
"x-scheme-handler/about" = "firefox.desktop"; "x-scheme-handler/about" = "firefox.desktop";
"x-scheme-handler/unknown" = "firefox.desktop"; "x-scheme-handler/unknown" = "firefox.desktop";
}; };
xdg.desktopEntries."firefox" = mkIf cfg.enableNixGL {
name = "Firefox NixGL Powered";
exec = "${pkgs.nixgl.nixGLMesa}/bin/nixGLMesa firefox %U";
icon = "firefox";
terminal = false;
type = "Application";
startupNotify = true;
actions = {
"new-private-window" = {
exec = "${pkgs.nixgl.nixGLMesa}/bin/nixGLMesa firefox --private-window %U";
name = "New Private Window";
};
"new-window" = {
exec = "${pkgs.nixgl.nixGLMesa}/bin/nixGLMesa firefox --new-window %U";
name = "New Window";
};
};
};
xdg.configFile."tridactyl/tridactylrc".text = '' xdg.configFile."tridactyl/tridactylrc".text = ''
sanitize tridactyllocal tridactylsync sanitize tridactyllocal tridactylsync
@ -93,13 +70,13 @@ in
allExtensions = cfg.baseExtensions ++ cfg.optionalExtensions; allExtensions = cfg.baseExtensions ++ cfg.optionalExtensions;
in { in {
enable = true; enable = true;
package = pkgs.wrapFirefox pkgs.firefox-unwrapped { package = config.lib.nixGL.wrap ( pkgs.wrapFirefox pkgs.firefox-unwrapped {
nativeMessagingHosts = [ nativeMessagingHosts = [
# Tridactyl native connector # Tridactyl native connector
pkgs.tridactyl-native pkgs.tridactyl-native
pkgs.browserpass pkgs.browserpass
]; ];
}; });
profiles.ephase = { profiles.ephase = {
id = 0; id = 0;
name = "ephase"; name = "ephase";

View file

@ -6,35 +6,13 @@ in
{ {
options.modules.web.qutebrowser = { options.modules.web.qutebrowser = {
enable = mkEnableOption "enable Qutebrowser web browser"; enable = mkEnableOption "enable Qutebrowser web browser";
enableNixGL = mkOption {
type = types.bool;
default = false;
description = "Use NixGL to start Qutebrowser";
};
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
xdg.desktopEntries."org.qutebrowser.qutebrowser" = mkIf cfg.enableNixGL {
name = "QuteBrowser NixGL Powered";
exec = "${pkgs.nixgl.nixGLMesa}/bin/nixGLMesa qutebrowser %u";
icon = "qutebrowser";
terminal = false;
type = "Application";
startupNotify = true;
actions = {
"preference" = {
exec = "${pkgs.nixgl.nixGLMesa}/bin/nixGLMesa qutebrowser \"qute://settings\"";
name = "Preferences";
};
};
};
programs.qutebrowser = { programs.qutebrowser = {
enable = true; enable = true;
package = config.lib.nixGL.wrap pkgs.qutebrowser;
loadAutoconfig = true; loadAutoconfig = true;
settings = { settings = {
qt.args = [ qt.args = [
"autoplay-policy=user-gesture-required" "autoplay-policy=user-gesture-required"
"ignore-gpu-blocklist" "ignore-gpu-blocklist"

View file

@ -16,20 +16,5 @@ in
alsa.support32Bit = true; alsa.support32Bit = true;
pulse.enable = true; pulse.enable = true;
}; };
xdg.portal = {
enable = true;
wlr.enable = true;
# gtk portal needed to make gtk apps happy
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
config = {
common = {
default = [
"gtk"
];
"org.freedesktop.impl.portal.ScreenCast" = "wlr";
"org.freedesktop.impl.portal.Screenshot" = "wlr";
};
};
};
}; };
} }