142 lines
4.5 KiB
Nix
142 lines
4.5 KiB
Nix
|
#
|
||
|
# Hyprland NixOS & Home manager configuration
|
||
|
#
|
||
|
# flake.nix
|
||
|
# ├─ ./hosts
|
||
|
# │ └─ ./laptop
|
||
|
# │ └─ home.nix
|
||
|
# └─ ./modules
|
||
|
# └─ ./desktop
|
||
|
# └─ ./hyprland
|
||
|
# └─ home.nix *
|
||
|
#
|
||
|
|
||
|
{ config, lib, pkgs, ... }:
|
||
|
|
||
|
{
|
||
|
home.file = { ".config/sway/2in1screen".source = ../modules/desktop/scripts/2in1screen };
|
||
|
|
||
|
wayland.windowManager.sway = {
|
||
|
config = {
|
||
|
menu = 'bemenu-run --no-exec -m -1 --hf "#ffff00" --tf "#888888" --nf "#00ff40" --hb "#424242" | xargs swaymsg exec --';
|
||
|
left = h;
|
||
|
down = n;
|
||
|
up = e;
|
||
|
right = i;
|
||
|
modifier = Mod4;
|
||
|
|
||
|
input = {
|
||
|
* = {
|
||
|
xkb_layout = "us";
|
||
|
xkb_variant = "altgr-intl";
|
||
|
};
|
||
|
"2321:21128:HTIX5288:00_0911:5288_Touchpad" {
|
||
|
tap enabled
|
||
|
natural_scroll disabled
|
||
|
drag enabled
|
||
|
dwt enabled
|
||
|
middle_emulation enabled
|
||
|
scroll_method two_finger
|
||
|
tap_button_map lmr
|
||
|
drag enabled
|
||
|
};
|
||
|
};
|
||
|
|
||
|
output = {
|
||
|
* = { bg = "$HOME/.config/wall"; };
|
||
|
eDP-1 = {
|
||
|
resolution = 1920x1080 position 4480,0;
|
||
|
subpixel = none;
|
||
|
scale = 1.3;
|
||
|
};
|
||
|
DP-1 = {
|
||
|
resolution = 1920x1080 position 0,0;
|
||
|
};
|
||
|
HDMI-A-1 = {
|
||
|
resolution = 2560x1080 position 1920,0;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
terminal = "alacritty";
|
||
|
|
||
|
startup = [
|
||
|
{ command = "${HOME}/.config/sway/scripts/2in1screen"; }
|
||
|
{ command = "xrdb -load ~/.Xresources"
|
||
|
{ command = "gsettings set org.gnome.desktop.interface gtk-theme Arc"
|
||
|
{ command = "gsettings set org.gnome.desktop.interface icon-theme ePapirus"
|
||
|
{ command = "gsettings set org.gnome.desktop.interface cursor-theme Adwaita"
|
||
|
{ command = "${pkgs.thunderbird}/bin/thunderbird";
|
||
|
{ command = "${pkgs.firefox}/bin/firefox";
|
||
|
{ command = "${pkgs.element}/bin/element";
|
||
|
];
|
||
|
|
||
|
workspaceAutoBackAndForth = true;
|
||
|
|
||
|
extraSessionCommands = ''
|
||
|
export MOZ_ENABLE_WAYLAND = "1";
|
||
|
export MOZ_WEBRENDER = "1";
|
||
|
export MOZ_USE_XINPUT2 = "2";
|
||
|
export MOZ_DBUS_REMOTE = "1";
|
||
|
#export GDK_BACKEND = "wayland";
|
||
|
export LIBVA_DRIVER_NAME = "iHD";
|
||
|
export VDPAU_DRIVER = "iHD";
|
||
|
export XDG_SESSION_TYPE = "wayland";
|
||
|
export XDG_CURRENT_DESKTOP = "Unity";
|
||
|
#export QT_QPA_PLATFORMTHEME = "wayland-egl";
|
||
|
export GST_VAAPI_ALL_DRIVERS = "1";
|
||
|
export GTK_THEME = "Arc";
|
||
|
export _JAVA_AWT_WM_NONREPARENTING = "1";
|
||
|
#export LIBCL_ALWAYS_SOFTWARE = "1"; # For applications in VM like alacritty to work
|
||
|
#export WLR_NO_HARDWARE_CURSORS = "1"; # For cursor in VM
|
||
|
'';
|
||
|
|
||
|
gaps.inner = 8;
|
||
|
gaps.outer = 4;
|
||
|
|
||
|
assigns = {
|
||
|
"3: web" = [{ class = "^Firefox$"; }];
|
||
|
"2: mail" = [{ class = "^Thunderbird$"; }];
|
||
|
"4: im" = [{ class = "^Element$"; }];
|
||
|
};
|
||
|
|
||
|
window.commands = [
|
||
|
{ command = "floating enable"; criteria = { class = "Pavucontrol" }; }
|
||
|
{ command = "floating enable"; criteria = { class = "Galculator" }; }
|
||
|
{ command = "floating enable"; criteria = { class = "yubioath-desktop" }; }
|
||
|
{ command = "floating enable"; criteria = { window_role = "pop-up" }; }
|
||
|
];
|
||
|
|
||
|
bars.*.command = "${pkgs.waybar}/bin/waybar";
|
||
|
|
||
|
defaultWorkspace = "workspace number 3";
|
||
|
|
||
|
keybindings = {
|
||
|
XF86AudioMute = "exec pactl set-sink-mute @DEFAULT_SINK@ toggle";
|
||
|
};
|
||
|
|
||
|
};
|
||
|
systemdIntegration = true;
|
||
|
wrapperFeatures.gtk = true;
|
||
|
};
|
||
|
|
||
|
programs.swaylock.settings = {
|
||
|
color = "000000";
|
||
|
image = "$HOME/.config/lockwall";
|
||
|
indicator-caps-lock = true;
|
||
|
show-keyboard-layout = true;
|
||
|
};
|
||
|
|
||
|
services.swayidle = {
|
||
|
enable = false;
|
||
|
events = [
|
||
|
{ event = "before-sleep"; command = "${pkgs.swaylock}/bin/swaylock"; }
|
||
|
{ event = "lock"; command = "${pkgs.swaylock}/bin/swaylock -fF"; }
|
||
|
{ event = "after-resume"; command = "${pkgs.sway}/bin/swaymsg output * dpms on"; }
|
||
|
];
|
||
|
timeouts = [
|
||
|
{ timeout = 300; command = "${pkgs.swaylock}/bin/swaylock -fF"; }
|
||
|
{ timeout = 600; command = "${pkgs.sway}/bin/swaymsg output * dpms off"; }
|
||
|
];
|
||
|
};
|
||
|
}
|