Global, Hypr, Systems, Flake update 2024-10-21
Refactored systems to be dependant on host. So that jibril and onizuka can have separate profiles. Doing this split up the systems/ folder, and also forced a flake update to test. This was done midway through the hypr rework, and would have been difficult to decouple, so I just did a big commit instead <3 Refactored the entire hypr system to use settings and nix rather than its native config. This is working and tested on Jibril, but is missing the scripts used for switching workspaces on Onizuka.
This commit is contained in:
parent
f2e9bf0fc2
commit
65282e05c9
16 changed files with 572 additions and 274 deletions
|
|
@ -7,6 +7,7 @@
|
|||
./gimp
|
||||
./git
|
||||
./hypr
|
||||
./librewolf
|
||||
./lutris
|
||||
./media-viewers
|
||||
./neovim
|
||||
|
|
|
|||
|
|
@ -3,51 +3,237 @@ let rootPath = ./.; in
|
|||
{
|
||||
options.hypr = {
|
||||
enable = lib.mkEnableOption "Enables hyprland";
|
||||
mod_key = lib.mkOption { default = "SUPER"; };
|
||||
monitor = {
|
||||
details = lib.mkOption { default = []; };
|
||||
};
|
||||
workspace = {
|
||||
workspaces = lib.mkOption { default = {}; };
|
||||
scratchpad.enable = lib.mkEnableOption "Enables a scratchpad";
|
||||
defaults = lib.mkOption { default = {}; };
|
||||
# primary-secondary = {
|
||||
# enable = lib.mkEnableOption "Enables the primary-secondary navigation style";
|
||||
# primary = lib.mkOption { default = "DP-1"; };
|
||||
# secondary = lib.mkOption { default = "DP-2"; };
|
||||
# secondaries = lib.mkOption { default = []; };
|
||||
# };
|
||||
};
|
||||
windows.opaque = lib.mkOption { default = []; };
|
||||
background = {
|
||||
enable = lib.mkEnableOption "Enables a wallpaper";
|
||||
path = lib.mkOption { default = ""; };
|
||||
};
|
||||
cursor = {
|
||||
enable = lib.mkEnableOption "Enables custom cursor";
|
||||
theme = lib.mkOption { default = ""; };
|
||||
size = lib.mkOption { default = 64; };
|
||||
};
|
||||
xwayland.videobridge.enable = lib.mkEnableOption "Enable xwaylandvideobridge";
|
||||
mouse.sensitivity = lib.mkOption { default = 0; };
|
||||
master.mfact = lib.mkOption { default = 0.55; };
|
||||
polkit.enable = lib.mkEnableOption "Enables polkit agent";
|
||||
screenshot.enable = lib.mkEnableOption "Enables Screenshotting";
|
||||
};
|
||||
|
||||
imports = [ inputs.hyprland.homeManagerModules.default ];
|
||||
|
||||
config = {
|
||||
config = let
|
||||
lopts = lib.lists.optionals;
|
||||
in {
|
||||
nix.settings = {
|
||||
substituters = ["https://hyprland.cachix.org"];
|
||||
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
|
||||
};
|
||||
} // lib.mkIf config.hypr.enable {
|
||||
wayland.windowManager.hyprland = {
|
||||
wayland.windowManager.hyprland = let
|
||||
mod = config.hypr.mod_key;
|
||||
# p-s = let
|
||||
# chw = config.hypr.workspace;
|
||||
# findDefaultWs = id: if (builtins.hasAttr id chw.workspaces)
|
||||
# then (builtins.head (builtins.getAttr id chw.workspaces))
|
||||
# else "";
|
||||
# in with config.hypr.workspace; lib.mkIf primary-secondary.enable {
|
||||
# primaryWs = findDefaultWs primary-secondary.primary;
|
||||
# secondaryWs = findDefaultWs primary-secondary.secondary;
|
||||
# };
|
||||
in {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
${builtins.readFile ./window_rules.conf}
|
||||
${builtins.readFile ./league_rules.conf}
|
||||
${builtins.readFile ./settings.conf}
|
||||
${builtins.readFile ./nvidia.conf}
|
||||
${builtins.readFile ./keybinds.conf}
|
||||
${builtins.readFile ./xwaylandvideobridge.conf}
|
||||
exec-once=${pkgs.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1
|
||||
settings = {
|
||||
monitor = config.hypr.monitor.details;
|
||||
workspace = let
|
||||
wsMonitor = monitor: wrksps: map (ws:
|
||||
if ws == (builtins.head wrksps)
|
||||
then "name:"+ws+", monitor:"+monitor+", persistent:true, default:true"
|
||||
else "name:"+ws+", monitor:"+monitor+", persistent:true"
|
||||
) wrksps;
|
||||
makeRules = wsAttr: builtins.concatLists (builtins.attrValues (
|
||||
builtins.mapAttrs wsMonitor wsAttr
|
||||
));
|
||||
in makeRules config.hypr.workspace.workspaces
|
||||
++ lopts config.hypr.workspace.scratchpad.enable [
|
||||
"special:scratch, on-created-empty: [float; size 50% 50%; center] ${config.defaultApps.terminal}"
|
||||
];
|
||||
input = {
|
||||
accel_profile = "flat";
|
||||
sensitivity = config.hypr.mouse.sensitivity;
|
||||
};
|
||||
general = {
|
||||
gaps_in = 3;
|
||||
gaps_out = 3;
|
||||
border_size = 2;
|
||||
"col.active_border" = "rgb(F5C2E7)";
|
||||
"col.inactive_border" = "rgb(1E1D2F)";
|
||||
layout = "master";
|
||||
};
|
||||
decoration = {
|
||||
rounding = 2;
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 12;
|
||||
passes = 2;
|
||||
special = true;
|
||||
};
|
||||
};
|
||||
animation = [
|
||||
"windows, 1, 4, default, popin 50%"
|
||||
"windowsOut, 1, 4, default, popin 50%"
|
||||
"windowsMove, 1, 3, default"
|
||||
"border, 1, 3, default"
|
||||
"fade, 1, 3, default"
|
||||
"workspaces, 1, 3, default"
|
||||
];
|
||||
master = {
|
||||
no_gaps_when_only = 1;
|
||||
mfact = config.hypr.master.mfact;
|
||||
};
|
||||
misc = {
|
||||
focus_on_activate = true;
|
||||
};
|
||||
|
||||
env = HYPRCURSOR_THEME,miku
|
||||
env = HYPRCURSOR_SIZE,64
|
||||
'';
|
||||
exec-once = lopts config.hypr.polkit.enable [
|
||||
"${pkgs.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1"
|
||||
] ++ lopts config.hypr.background.enable [
|
||||
"${pkgs.swww}/swww init"
|
||||
"${pkgs.swww}/swww img ${config.hypr.background.path}"
|
||||
] ++ lopts config.ags.enable [
|
||||
"ags"
|
||||
] ++ lopts config.beeper.enable [
|
||||
"[workspace name:chat silent] Beeper"
|
||||
];
|
||||
|
||||
env = with config.hypr; [
|
||||
# "HYPR_MON_PRIMARY, ${workspace.primary-secondary.primary}"
|
||||
# "HYPR_MON_SECONDARY, ${workspace.primary-secondary.secondary}"
|
||||
"HYPR_WORK_DB, ${config.xdg.cacheHome}/hypr/workspace.db"
|
||||
] ++ lopts cursor.enable [
|
||||
"HYPRCURSOR_THEME,${cursor.theme}"
|
||||
"HYPRCURSOR_SIZE,${cursor.size}"
|
||||
] ++ lopts config.nvidia.enable [
|
||||
"LIBVA_DRIVER_NAME,nvidia"
|
||||
"XDG_SESSION_TYPE,wayland"
|
||||
"GBM_BACKEND,nvidia-drm"
|
||||
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
|
||||
"WLR_RENDERER_ALLOW_SOFTWARE,1"
|
||||
"WLR_DRM_DEVICES,/dev/dri/card1"
|
||||
];
|
||||
|
||||
windowrulev2 = let
|
||||
workspaceDefaults = wsname: applist: map (
|
||||
app: "workspace " + wsname + ", " + app
|
||||
) applist;
|
||||
allDefault = wsAttr: builtins.concatLists (builtins.attrValues (
|
||||
builtins.mapAttrs workspaceDefaults wsAttr
|
||||
));
|
||||
in allDefault config.hypr.workspace.defaults
|
||||
++ lopts config.hypr.xwayland.videobridge.enable [
|
||||
"opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$"
|
||||
"noanim,class:^(xwaylandvideobridge)$"
|
||||
"noinitialfocus,class:^(xwaylandvideobridge)$"
|
||||
"maxsize 1 1,class:^(xwaylandvideobridge)$"
|
||||
"noblur,class:^(xwaylandvideobridge)$"
|
||||
] ++ map (id: "opacity 1 override, " + id) config.hypr.windows.opaque
|
||||
++ [
|
||||
"opacity 0.94 fullscreen:0"
|
||||
"opacity 0.79 override, class:^(${config.defaultApps.terminal})$"
|
||||
];
|
||||
|
||||
# 1, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh home
|
||||
# 2, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh web
|
||||
# 3, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh med
|
||||
# 4, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh game
|
||||
# 5, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh etc
|
||||
# _, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh hell
|
||||
# TAB, exec, $XDG_CONFIG_HOME/hypr/scripts/changesecondary.xsh
|
||||
#
|
||||
# SHIFT, 1, movetoworkspacesilent, name:home
|
||||
# SHIFT, 2, movetoworkspacesilent, name:web
|
||||
# SHIFT, 3, movetoworkspacesilent, name:med
|
||||
# SHIFT, 4, movetoworkspacesilent, name:game
|
||||
# SHIFT, TAB, movetoworkspacesilent, r-1
|
||||
|
||||
bind = let
|
||||
modPrefix = kb: if (lib.strings.hasPrefix "&" kb)
|
||||
then ("${mod}" + kb)
|
||||
else ("${mod}, " + kb);
|
||||
in map modPrefix ([
|
||||
"return, exec, ${config.defaultApps.terminal}"
|
||||
"&SHIFT, Q, exit"
|
||||
"h, focusmonitor, l"
|
||||
"l, focusmonitor, r"
|
||||
"j, cyclenext,"
|
||||
"k, cyclenext, prev"
|
||||
"&SHIFT, h, movecurrentworkspacetomonitor, -1"
|
||||
"&SHIFT, l, movecurrentworkspacetomonitor, +1"
|
||||
"&SHIFT, j, swapnext,"
|
||||
"&SHIFT, k, swapnext, prev"
|
||||
"c, killactive"
|
||||
"f, togglefloating"
|
||||
"&SHIFT, f, fullscreen"
|
||||
] ++ (let
|
||||
workspaces = builtins.concatLists (
|
||||
builtins.attrValues config.hypr.workspace.workspaces);
|
||||
wsBinds = with builtins; wrksps: depth: if depth > (length wrksps)
|
||||
then []
|
||||
else let ws = builtins.elemAt wrksps (depth -1); in [
|
||||
"${toString depth}, workspace, name:${ws}"
|
||||
"&SHIFT, ${toString depth}, movetoworkspacesilent, name:${ws}"
|
||||
] ++ wsBinds wrksps (depth + 1);
|
||||
in wsBinds workspaces 1) ++ lopts config.rofi.enable [
|
||||
"&SHIFT, return, exec, ${pkgs.rofi}/rofi -show run"
|
||||
] ++ lopts config.hypr.screenshot.enable [
|
||||
"P, exec, ${pkgs.grimblast}/grimblast --freeze copy area"
|
||||
"&SHIFT, P, exec, ${pkgs.grimblast}/grimblast --freeze copysave area"
|
||||
] ++ lopts config.hypr.workspace.scratchpad.enable [
|
||||
"i, togglespecialworkspace, scratch"
|
||||
]);
|
||||
|
||||
bindm = map (kb: "${mod}, " + kb) [
|
||||
"mouse:272, movewindow"
|
||||
"mouse:273, movewindow"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
socat # For hyprland scripts
|
||||
swww # Wallpaper engine
|
||||
wlr-randr # Xrandr for wayland
|
||||
wl-clipboard # Clipboard manager for wayland
|
||||
xdg-desktop-portal-hyprland # XDP for hyprland
|
||||
] ++ lopts config.hypr.xwayland.videobridge.enable [
|
||||
xwaylandvideobridge
|
||||
] ++ lopts config.hypr.cursor.enable [
|
||||
hyprcursor
|
||||
] ++ lopts config.hypr.screenshot.enable [
|
||||
hyprpicker # Colorpicker, needed for screenshot tool
|
||||
hyprcursor # Hyprland cursor
|
||||
inputs.hyprland-contrib.packages.${pkgs.system}.grimblast # Screenshot tool
|
||||
xonsh
|
||||
polkit-kde-agent # Polkit handler
|
||||
inputs.hyprland-contrib.packages.${pkgs.system}.grimblast
|
||||
];
|
||||
# Hyprland screenshot tool
|
||||
|
||||
xdg.configFile."hypr-scripts" = {
|
||||
source = rootPath + "/scripts";
|
||||
target = "hypr/scripts";
|
||||
executable = true;
|
||||
};
|
||||
|
||||
xdg.dataFile."hypr-icons" = {
|
||||
xdg.dataFile."hypr-icons" = lib.mkIf config.hypr.cursor.enable {
|
||||
source = rootPath + "/icons";
|
||||
target = "icons/";
|
||||
recursive = true;
|
||||
|
|
|
|||
|
|
@ -1,48 +0,0 @@
|
|||
$mainMod = SUPER
|
||||
|
||||
# Exec programs
|
||||
bind = $mainMod, return, exec, kitty
|
||||
bind = $mainMod SHIFT, return, exec, rofi -show run
|
||||
bind = $mainMod, P, exec, grimblast --freeze copy area
|
||||
bind = $mainMod SHIFT, P, exec, grimblast --freeze copysave area
|
||||
|
||||
# Hyprland Management
|
||||
bind = $mainMod SHIFT, Q, exit,
|
||||
|
||||
# Workspace / Monitor Management
|
||||
bind = $mainMod, h, focusmonitor, l
|
||||
bind = $mainMod, l, focusmonitor, r
|
||||
bind = $mainMod, j, cyclenext,
|
||||
bind = $mainMod, k, cyclenext, prev
|
||||
bind = $mainMod SHIFT, j, swapnext,
|
||||
bind = $mainMod SHIFT, k, swapnext, prev
|
||||
bind = $mainMod SHIFT, h, movecurrentworkspacetomonitor, -1
|
||||
bind = $mainMod SHIFT, l, movecurrentworkspacetomonitor, +1
|
||||
|
||||
bind = $mainMod, 1, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh home
|
||||
bind = $mainMod, 2, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh web
|
||||
bind = $mainMod, 3, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh med
|
||||
bind = $mainMod, 4, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh game
|
||||
binde = $mainMod, 5, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh etc
|
||||
binde = $mainMod, _, exec, $XDG_CONFIG_HOME/hypr/scripts/changeprimary.xsh hell
|
||||
binde = $mainMod, TAB, exec, $XDG_CONFIG_HOME/hypr/scripts/changesecondary.xsh
|
||||
|
||||
bind = $mainMod, m, togglespecialworkspace, mus
|
||||
bind = $mainMod, i, togglespecialworkspace, scratch
|
||||
|
||||
# Window Management
|
||||
bind = $mainMod, C, killactive,
|
||||
|
||||
bind = $mainMod, F, togglefloating,
|
||||
bind = $mainMod SHIFT, F, fullscreen,
|
||||
|
||||
bind = $mainMod SHIFT, 1, movetoworkspacesilent, name:home
|
||||
bind = $mainMod SHIFT, 2, movetoworkspacesilent, name:web
|
||||
bind = $mainMod SHIFT, 3, movetoworkspacesilent, name:med
|
||||
bind = $mainMod SHIFT, 4, movetoworkspacesilent, name:game
|
||||
bind = $mainMod SHIFT, _, movetoworkspacesilent, name:hell
|
||||
bind = $mainMod SHIFT, TAB, movetoworkspacesilent, r-1
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
# no opacity
|
||||
windowrulev2 = opacity 1 1, class:^(league of legends.exe)$ # loading text
|
||||
windowrulev2 = opacity 1 override, class:^(leagueclientux.exe)$ # client
|
||||
windowrulev2 = opacity 1 override, class:^(leagueclient.exe)$ # game
|
||||
|
||||
# nice loading text
|
||||
windowrulev2 = noblur, class:^(leagueclient.exe)$
|
||||
windowrulev2 = noborder, class:^(leagueclient.exe)$
|
||||
windowrulev2 = nofocus, class:^(leagueclient.exe)$
|
||||
windowrulev2 = noshadow, class:^(leagueclient.exe)$
|
||||
|
||||
# windowrulev2 = immediate, class:^(league of legends.exe)$
|
||||
# windowrulev2 = immediate, class:^(overwatch.exe)$
|
||||
# windowrulev2 = immediate, class:^(steam_app_1384160)$
|
||||
windowrulev2 = fullscreen, class:^(overwatch.exe)$
|
||||
windowrulev2 = fullscreen, class:^(steam_app_1384160)$
|
||||
windowrulev2 = fullscreen, class:^(league of legends.exe)$
|
||||
|
||||
# workspaces
|
||||
windowrule = workspace name:game, leagueclient.exe
|
||||
windowrule = workspace name:game, leagueclientux.exe
|
||||
windowrule = workspace name:game, league of legends.exe
|
||||
windowrule = workspace name:game, overwatch.exe
|
||||
windowrule = workspace name:game, 東方紅魔郷.exe
|
||||
windowrule = workspace name:game, steam_app_1384160
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
# Nivida Settings
|
||||
env = LIBVA_DRIVER_NAME,nvidia
|
||||
env = XDG_SESSION_TYPE,wayland
|
||||
env = GBM_BACKEND,nvidia-drm
|
||||
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||
env = WLR_RENDERER_ALLOW_SOFTWARE,1
|
||||
env = WLR_DRM_DEVICES,/dev/dri/card1
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
#!/usr/bin/env xonsh
|
||||
import shelve
|
||||
|
||||
# Usage:
|
||||
# ./initdb.xsh
|
||||
# initialize a db for use hypr workspace scripts
|
||||
|
||||
with shelve.open($HYPR_WORK_DB) as db:
|
||||
db["primary"] = "home"
|
||||
db["secondary"] = "chat"
|
||||
db["secondaries"] = ["chat", "web", "med"]
|
||||
db["secondary_extras"] = 1
|
||||
db["primary_extras"] = 1
|
||||
|
|
@ -1,62 +0,0 @@
|
|||
# Monitor Settings
|
||||
monitor=DP-2,2560x1440@144,0x0,1
|
||||
monitor=DP-1,2560x1440@144,-2560x0,1
|
||||
monitor=HDMI-A-1,disable
|
||||
|
||||
# Inits
|
||||
exec-once = swww init
|
||||
exec-once = swww img $HOME/med/pix/bg.png
|
||||
exec-once = ags
|
||||
|
||||
# Settings
|
||||
input {
|
||||
kb_layout = us
|
||||
follow_mouse = 1
|
||||
accel_profile = flat
|
||||
sensitivity = -0.52
|
||||
#sensitivity = 0.2 # -1.0 - 1.0, 0 means no modification.
|
||||
}
|
||||
|
||||
general {
|
||||
gaps_in = 3
|
||||
gaps_out = 3
|
||||
border_size = 2
|
||||
col.active_border = rgb(F5C2E7)
|
||||
col.inactive_border = rgb(1E1D2F)
|
||||
|
||||
layout = master
|
||||
}
|
||||
|
||||
decoration {
|
||||
rounding = 2
|
||||
blur {
|
||||
enabled = true
|
||||
size = 12
|
||||
passes = 2
|
||||
special = true
|
||||
}
|
||||
dim_special = 0.2
|
||||
}
|
||||
|
||||
animations {
|
||||
enabled = yes
|
||||
|
||||
animation = windows, 1, 4, default, popin 50%
|
||||
animation = windowsOut, 1, 4, default, popin 50%
|
||||
animation = windowsMove, 1, 3, default
|
||||
animation = border, 1, 3, default
|
||||
animation = fade, 1, 3, default
|
||||
animation = workspaces, 1, 3, default
|
||||
}
|
||||
|
||||
master {
|
||||
no_gaps_when_only = true
|
||||
new_is_master = false
|
||||
mfact = 0.53
|
||||
}
|
||||
|
||||
misc {
|
||||
focus_on_activate = true
|
||||
enable_swallow = false
|
||||
swallow_regex = ^(Alacritty)$
|
||||
}
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
env = HYPR_MON_PRIMARY, DP-2
|
||||
env = HYPR_MON_SECONDARY, DP-1
|
||||
|
||||
# Primaries
|
||||
workspace=name:home, monitor:DP-2, persistent:true, default:true
|
||||
workspace=name:game, monitor:DP-2, persistent:true
|
||||
workspace=name:etc0, monitor:DP-2, persistent:true
|
||||
workspace=name:hell, monitor:DP-2, persistent:true
|
||||
# Secondaries
|
||||
workspace=name:chat, monitor:DP-1, persistent:true, default:true
|
||||
workspace=name:misc0, monitor:DP-1, persistent:true
|
||||
# Switches
|
||||
workspace=name:web , monitor:DP-1, persistent:true
|
||||
workspace=name:med , monitor:DP-1, persistent:true
|
||||
# Pseudo
|
||||
workspace=special:mus, persistent:true
|
||||
workspace=special:scratch, on-created-empty: [float; size 50% 50%; center] kitty
|
||||
|
||||
windowrule = workspace name:web, librewolf
|
||||
windowrulev2 = workspace name:med, librewolf,title:Picture-in-Picture
|
||||
windowrule = workspace name:chat, discord
|
||||
windowrule = workspace name:chat, Beeper
|
||||
windowrule = workspace name:game, lutris
|
||||
windowrule = workspace name:game, explorer.exe
|
||||
|
||||
windowrulev2 = opacity 0.94 fullscreen:0
|
||||
|
||||
windowrulev2 = opacity 0.79 override, class:^(Alacritty)$
|
||||
windowrulev2 = opacity 0.79 override, class:^(kitty)$
|
||||
windowrulev2 = opacity 1 override, initialTitle:^(Discord Popout)$
|
||||
windowrulev2 = opacity 1 override, class:^(firefox)$
|
||||
windowrulev2 = opacity 1 override, class:^(Gimp)$
|
||||
windowrulev2 = opacity 1 override, class:^(feh)$
|
||||
windowrulev2 = opacity 1 override, class:^(mpv)$
|
||||
|
||||
env = HYPR_WORK_DB,$XDG_CACHE_HOME/hypr/workspace.db
|
||||
|
||||
# exec-once = [workspace special:mus silent;float;size 70% 70%;center] mus client
|
||||
exec-once = [workspace name:chat silent] vesktop
|
||||
exec-once = [workspace name:chat silent] beeper
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
windowrulev2 = opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$
|
||||
windowrulev2 = noanim,class:^(xwaylandvideobridge)$
|
||||
windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$
|
||||
windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$
|
||||
windowrulev2 = noblur,class:^(xwaylandvideobridge)$
|
||||
|
|
@ -3,6 +3,7 @@
|
|||
{
|
||||
options.librewolf = {
|
||||
enable = lib.mkEnableOption "Enables librewolf";
|
||||
make_default = lib.mkEnableOption "Makes librewolf the default browser";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.librewolf.enable {
|
||||
|
|
@ -12,5 +13,6 @@
|
|||
home.sessionVariables = {
|
||||
BROWSER = "librewolf";
|
||||
};
|
||||
defaultApps.browser = lib.mkIf config.librewolf.make_default "librewolf";
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
{
|
||||
options.kitty = {
|
||||
enable = lib.mkEnableOption "Enables kitty";
|
||||
make_default = lib.mkEnableOption "Makes kitty default terminal emulator";
|
||||
font = lib.mkOption { default = ""; };
|
||||
font_size = lib.mkOption { default = 18; };
|
||||
};
|
||||
|
|
@ -17,5 +18,6 @@
|
|||
confirm_os_window_close = 0;
|
||||
};
|
||||
};
|
||||
defaultApps.terminal = lib.mkIf config.kitty.make_default "kitty";
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue