Compare commits
16 commits
main
...
nixgl-inte
Author | SHA1 | Date | |
---|---|---|---|
03f2102630 | |||
f12c757732 | |||
13b1b72ab3 | |||
9e4fbf1216 | |||
58b256850c | |||
7590541576 | |||
fbd0aa4f76 | |||
ea62c7207e | |||
7d4f0b3eb6 | |||
65fd07bbec | |||
bfd8d8193d | |||
8552070665 | |||
28ea3fd3e8 | |||
cb47a9aeda | |||
a26f773f01 | |||
c6f08ef074 |
14 changed files with 121 additions and 110 deletions
|
@ -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
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
@ -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}";
|
||||||
|
|
|
@ -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 = {
|
||||||
|
|
|
@ -2,10 +2,7 @@
|
||||||
config.modules = {
|
config.modules = {
|
||||||
application = {
|
application = {
|
||||||
zathura.enable = true;
|
zathura.enable = true;
|
||||||
foot = {
|
foot.enable = true;
|
||||||
enable = true;
|
|
||||||
font-size = "10.5";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
audio.cmus.enable = true;
|
audio.cmus.enable = true;
|
||||||
cli = {
|
cli = {
|
||||||
|
@ -33,9 +30,22 @@
|
||||||
zellij.enable = true;
|
zellij.enable = true;
|
||||||
zsh.enable = true;
|
zsh.enable = true;
|
||||||
};
|
};
|
||||||
|
desktop.sway = {
|
||||||
|
enable = true;
|
||||||
|
kanshi = true;
|
||||||
|
swaylock.useNullPackage = true;
|
||||||
|
waybar = {
|
||||||
|
laptop = true;
|
||||||
|
gpuThermal.enable = false;
|
||||||
|
cpuThermal = {
|
||||||
|
hwmonPathAbs = "/sys/devices/platform/coretemp.0/hwmon/";
|
||||||
|
inputFilename = "temp1_input";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
xdg.useDistributionPortals = true;
|
||||||
|
};
|
||||||
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
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, config, ... }:
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
dejavu_fonts
|
dejavu_fonts
|
||||||
|
@ -13,7 +13,23 @@
|
||||||
noto-fonts-cjk-sans
|
noto-fonts-cjk-sans
|
||||||
slurp
|
slurp
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
|
(config.lib.nixGL.wrap ungoogled-chromium)
|
||||||
|
(config.lib.nixGL.wrap slack)
|
||||||
];
|
];
|
||||||
targets.genericLinux.enable = true;
|
targets.genericLinux.enable = true;
|
||||||
xdg.mime.enable = true;
|
xdg.mime.enable = true;
|
||||||
|
wayland.windowManager.sway.config.input = {
|
||||||
|
"1:1:AT_Translated_Set_2_keyboard" = {
|
||||||
|
xkb_layout = "us";
|
||||||
|
xkb_variant = "altgr-intl";
|
||||||
|
};
|
||||||
|
"65261:8800:KBDFans_DZ60" = {
|
||||||
|
xkb_layout = "us";
|
||||||
|
xkb_variant = "altgr-intl";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.sessionVariables = {
|
||||||
|
SSH_AUTH_SOCK = ''$XDG_RUNTIME_DIR/gnupg/S.gpg-agent.ssh'';
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,26 @@ in
|
||||||
description = "configure laptop mode";
|
description = "configure laptop mode";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
swaylock.useNullPackage = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Use null package to not install swaylock with Nix
|
||||||
|
Useful when using Home-Manager on third-party distribution to avoid
|
||||||
|
problem with PAM
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.useDistributionPortals = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
This prevent installing xdg-desktop-portal from nixpkgs. These
|
||||||
|
Useful when using Home-Manager on third-party distribution with old
|
||||||
|
version of portals (coucou Ubuntu LTS)
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
wallpapers = {
|
wallpapers = {
|
||||||
lockscreen = mkOption {
|
lockscreen = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
|
@ -114,7 +134,7 @@ in
|
||||||
};
|
};
|
||||||
iconTheme = {
|
iconTheme = {
|
||||||
name = "Papirus Dark";
|
name = "Papirus Dark";
|
||||||
package = pkgs.papirus-icon-theme;
|
package = pkgs.papirus-icon-theme;
|
||||||
};
|
};
|
||||||
font = {
|
font = {
|
||||||
name = "Deja Vu Sans";
|
name = "Deja Vu Sans";
|
||||||
|
@ -133,8 +153,10 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Avoid pixelated effect for QT application with fractionnal scaling
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
|
# Use wayland for chrom{e|ium} based crap
|
||||||
|
NIXOS_OZONE_WL = "1";
|
||||||
|
# Avoid pixelated effect for QT application with fractionnal scaling
|
||||||
QT_SCALE_FACTOR_ROUNDING_POLICY = "RoundPreferFloor";
|
QT_SCALE_FACTOR_ROUNDING_POLICY = "RoundPreferFloor";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -158,6 +180,32 @@ in
|
||||||
desktop = "${config.home.homeDirectory}/documents";
|
desktop = "${config.home.homeDirectory}/documents";
|
||||||
publicShare = "${config.home.homeDirectory}/tmp/public";
|
publicShare = "${config.home.homeDirectory}/tmp/public";
|
||||||
};
|
};
|
||||||
|
portal = mkIf (cfg.xdg.useDistributionPortals == false) {
|
||||||
|
enable = true;
|
||||||
|
extraPortals = with pkgs; [
|
||||||
|
xdg-desktop-portal-wlr
|
||||||
|
xdg-desktop-portal-gtk
|
||||||
|
];
|
||||||
|
xdgOpenUsePortal = true;
|
||||||
|
config = {
|
||||||
|
sway = {
|
||||||
|
default = [
|
||||||
|
"wlr"
|
||||||
|
"gtk"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# When using `useDistributionPackage`, create wlr configuration to let user
|
||||||
|
# choose the right screen. This is a workarount to not have to configure
|
||||||
|
# it manually.
|
||||||
|
home.file."${config.xdg.configHome}/xdg-desktop-portal-wlr/config".text = mkIf cfg.xdg.useDistributionPortals ''
|
||||||
|
[screencast]
|
||||||
|
max_fps=30
|
||||||
|
chooser_type=simple
|
||||||
|
chooser_cmd=${pkgs.slurp}/bin/slurp -f %o -or
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@ with lib;
|
||||||
profile.name = "standalone";
|
profile.name = "standalone";
|
||||||
profile.outputs = [
|
profile.outputs = [
|
||||||
{
|
{
|
||||||
criteria = "eDP-1";
|
criteria = "eDP-1";
|
||||||
scale = 1.33;
|
scale = 1.33;
|
||||||
status = "enable";
|
status = "enable";
|
||||||
}
|
}
|
||||||
|
@ -20,13 +20,13 @@ with lib;
|
||||||
profile.name = "home";
|
profile.name = "home";
|
||||||
profile.outputs = [
|
profile.outputs = [
|
||||||
{
|
{
|
||||||
criteria = "Iiyama North America PL2792UH 1166310803122";
|
criteria = "Iiyama North America PL2792UH 1166310803122";
|
||||||
mode = "3840x2160";
|
mode = "3840x2160";
|
||||||
position = "1235,0";
|
position = "1235,0";
|
||||||
scale = 1.75;
|
scale = 1.75;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
criteria = "Iiyama North America PL2792UH 1176923201598";
|
criteria = "Iiyama North America PL2792UH 1176923201598";
|
||||||
mode = "3840x2160";
|
mode = "3840x2160";
|
||||||
position = "0,0";
|
position = "0,0";
|
||||||
transform = "90";
|
transform = "90";
|
||||||
|
@ -42,18 +42,16 @@ with lib;
|
||||||
profile.name = "work";
|
profile.name = "work";
|
||||||
profile.outputs = [
|
profile.outputs = [
|
||||||
{
|
{
|
||||||
criteria = "Iiyama North America PL2480H 11183M2807013";
|
criteria = "Iiyama North America PL2792QN 1179214201663";
|
||||||
mode = "1920x1080";
|
mode = "2560x1440";
|
||||||
position = "0,0";
|
position = "1450,0";
|
||||||
}
|
scale = 1.15;
|
||||||
{
|
|
||||||
criteria = "Iiyama North America PL2480H 11183M2807016";
|
|
||||||
mode = "1920x1080";
|
|
||||||
position = "1920,0";
|
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
criteria = "eDP-1";
|
criteria = "BOE 0x0A95 Unknown";
|
||||||
status = "disable";
|
mode = "1920x1080";
|
||||||
|
position = "0,0";
|
||||||
|
scale = 1.325;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
@ -75,7 +76,7 @@ in
|
||||||
"${mod}+Alt+k" = "kill";
|
"${mod}+Alt+k" = "kill";
|
||||||
"${mod}+Alt+c" = "reload";
|
"${mod}+Alt+c" = "reload";
|
||||||
"${mod}+Alt+Backspace" = "exec swaynag -t warning -m 'Exit sway?' -B 'Yes' 'swaymsg exit'";
|
"${mod}+Alt+Backspace" = "exec swaynag -t warning -m 'Exit sway?' -B 'Yes' 'swaymsg exit'";
|
||||||
"${mod}+Alt+l" = "exec ${pkgs.swaylock}/bin/swaylock";
|
"${mod}+Alt+l" = if cfg.swaylock.useNullPackage then "exec swaylock" else "exec ${pkgs.swaylock}/bin/swaylock";
|
||||||
# Manage windows placement
|
# Manage windows placement
|
||||||
"${mod}+b" = "splith";
|
"${mod}+b" = "splith";
|
||||||
"${mod}+v" = "splitv";
|
"${mod}+v" = "splitv";
|
||||||
|
|
|
@ -10,7 +10,7 @@ in
|
||||||
timeouts = [
|
timeouts = [
|
||||||
{
|
{
|
||||||
timeout = 300;
|
timeout = 300;
|
||||||
command = "${pkgs.swaylock}/bin/swaylock -f";
|
command = if cfg.swaylock.useNullPackage then ''/usr/bin/swaylock -f'' else ''${pkgs.swaylock}/bin/swaylock -f'';
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
timeout = 600;
|
timeout = 600;
|
||||||
|
@ -21,11 +21,11 @@ in
|
||||||
events = [
|
events = [
|
||||||
{
|
{
|
||||||
event = "before-sleep";
|
event = "before-sleep";
|
||||||
command = "${pkgs.swaylock}/bin/swaylock -f";
|
command = if cfg.swaylock.useNullPackage then ''/usr/bin/swaylock -f'' else ''${pkgs.swaylock}/bin/swaylock -f'';
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
event = "lock";
|
event = "lock";
|
||||||
command = "${pkgs.swaylock}/bin/swaylock -f";
|
command = if cfg.swaylock.useNullPackage then ''usr/bin/swaylock -f'' else ''${pkgs.swaylock}/bin/swaylock -f'';
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.modules.desktop.sway;
|
cfg = config.modules.desktop.sway;
|
||||||
|
@ -6,9 +6,10 @@ in
|
||||||
{
|
{
|
||||||
config = mkIf config.modules.desktop.sway.enable {
|
config = mkIf config.modules.desktop.sway.enable {
|
||||||
programs.swaylock = {
|
programs.swaylock = {
|
||||||
|
package = if cfg.swaylock.useNullPackage then null else pkgs.swaylock;
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
image = "${cfg.wallpapers.lockscreen}";
|
image = if cfg.wallpapers.lockscreen != "" then "${cfg.wallpapers.lockscreen}" else false;
|
||||||
scaling = "center";
|
scaling = "center";
|
||||||
color = "000000";
|
color = "000000";
|
||||||
indicator-radius = 70;
|
indicator-radius = 70;
|
||||||
|
@ -22,7 +23,7 @@ in
|
||||||
ring-wrong-color = "f268b3";
|
ring-wrong-color = "f268b3";
|
||||||
inside-wrong-color = "f268b3cc";
|
inside-wrong-color = "f268b3cc";
|
||||||
key-hl-color = "1cd180";
|
key-hl-color = "1cd180";
|
||||||
caps-lock-key-hl-color = "1cd180";
|
caps-lock-key-hl-color = "1cd180";
|
||||||
caps-lock-bs-hl-color = "f268b3";
|
caps-lock-bs-hl-color = "f268b3";
|
||||||
bs-hl-color = "f268b3ff";
|
bs-hl-color = "f268b3ff";
|
||||||
separator-color = "00000000";
|
separator-color = "00000000";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{lib, config, ...}:
|
{lib, config, ...}:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.modules.desktop.sway;
|
cfg = config.modules.desktop.sway;
|
||||||
|
@ -22,7 +22,7 @@ in
|
||||||
"sway/mode"
|
"sway/mode"
|
||||||
];
|
];
|
||||||
modules-right = [
|
modules-right = [
|
||||||
"network"
|
"network"
|
||||||
"custom/sep"
|
"custom/sep"
|
||||||
] ++ (
|
] ++ (
|
||||||
if cfg.waybar.laptop then [
|
if cfg.waybar.laptop then [
|
||||||
|
@ -38,15 +38,15 @@ in
|
||||||
"memory"
|
"memory"
|
||||||
"cpu"
|
"cpu"
|
||||||
"temperature"
|
"temperature"
|
||||||
"custom/sep"
|
"custom/sep"
|
||||||
] ++ (
|
] ++ (
|
||||||
if cfg.waybar.gpuThermal.enable then [
|
if cfg.waybar.gpuThermal.enable then [
|
||||||
"temperature#gpu"
|
"temperature#gpu"
|
||||||
"custom/sep"
|
"custom/sep"
|
||||||
]
|
]
|
||||||
else [
|
else [
|
||||||
]
|
]
|
||||||
) ++
|
) ++
|
||||||
[
|
[
|
||||||
"pulseaudio"
|
"pulseaudio"
|
||||||
"custom/sep"
|
"custom/sep"
|
||||||
|
@ -101,8 +101,8 @@ in
|
||||||
"format-icons" = {
|
"format-icons" = {
|
||||||
"car" = "";
|
"car" = "";
|
||||||
"default" = "";
|
"default" = "";
|
||||||
"handsfree" = "";
|
"hands-free" = "";
|
||||||
"headphones" = "";
|
"headphone" = "";
|
||||||
"headset" = "";
|
"headset" = "";
|
||||||
"phone" = "";
|
"phone" = "";
|
||||||
"portable" = "";
|
"portable" = "";
|
||||||
|
|
|
@ -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";
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue