Compare commits
4 commits
Author | SHA1 | Date | |
---|---|---|---|
fb323ec227 | |||
f3ef679499 | |||
6ad0d3685e | |||
7b2f97155f |
|
@ -99,7 +99,7 @@
|
||||||
{ login-manager.greetd.enable = desktop == "sway" || desktop == "hyprland"; }
|
{ login-manager.greetd.enable = desktop == "sway" || desktop == "hyprland"; }
|
||||||
|
|
||||||
inputs.agenix.nixosModules.default
|
inputs.agenix.nixosModules.default
|
||||||
inputs.hyprland.nixosModules.default
|
# inputs.hyprland.nixosModules.default
|
||||||
inputs.dzgui-nix.nixosModules.default
|
inputs.dzgui-nix.nixosModules.default
|
||||||
{ programs.hyprland.enable = (desktop == "hyprland"); }
|
{ programs.hyprland.enable = (desktop == "hyprland"); }
|
||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
|
|
|
@ -99,6 +99,16 @@
|
||||||
# Enable touchpad support (enabled default in most desktopManager).
|
# Enable touchpad support (enabled default in most desktopManager).
|
||||||
services.xserver.libinput.enable = true;
|
services.xserver.libinput.enable = true;
|
||||||
|
|
||||||
|
xdg.portal = {
|
||||||
|
config.common.default = "*";
|
||||||
|
enable = true;
|
||||||
|
wlr.enable = true;
|
||||||
|
# Always pick the first monitor, this is fine since I only ever use a single monitor
|
||||||
|
wlr.settings.screencast.chooser_type = "none";
|
||||||
|
# gtk portal needed to make gtk apps happy
|
||||||
|
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||||
|
};
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
users.mutableUsers = false;
|
users.mutableUsers = false;
|
||||||
users.users.lelgenio = {
|
users.users.lelgenio = {
|
||||||
|
|
|
@ -35,7 +35,10 @@ in
|
||||||
greetd_main_script = pkgs.writeShellScriptBin "main" ''
|
greetd_main_script = pkgs.writeShellScriptBin "main" ''
|
||||||
${pkgs.dbus-sway-environment}/bin/dbus-sway-environment
|
${pkgs.dbus-sway-environment}/bin/dbus-sway-environment
|
||||||
export XDG_CURRENT_DESKTOP=sway GTK_THEME="${theme.gtk_theme}" XCURSOR_THEME="${theme.cursor_theme}"
|
export XDG_CURRENT_DESKTOP=sway GTK_THEME="${theme.gtk_theme}" XCURSOR_THEME="${theme.cursor_theme}"
|
||||||
${pkgs.greetd.gtkgreet}/bin/gtkgreet -l -c ${desktop}
|
${pkgs.greetd.gtkgreet}/bin/gtkgreet -l -c ${{
|
||||||
|
sway = "sway";
|
||||||
|
hyprland = "Hyprland";
|
||||||
|
}.${desktop}}
|
||||||
swaymsg exit
|
swaymsg exit
|
||||||
'';
|
'';
|
||||||
swayConfig = pkgs.writeText "greetd-sway-config" ''
|
swayConfig = pkgs.writeText "greetd-sway-config" ''
|
||||||
|
|
|
@ -7,6 +7,12 @@
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland.extraConfig = ''
|
||||||
|
exec-once = thunderbird
|
||||||
|
exec-once = webcord
|
||||||
|
exec-once = telegram-desktop
|
||||||
|
'';
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
tdesktop
|
tdesktop
|
||||||
webcord
|
webcord
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
{ config, pkgs, lib, font, ... }:
|
{ config, pkgs, lib, font, ... }:
|
||||||
let inherit (pkgs.uservars) desktop browser;
|
let inherit (pkgs.uservars) desktop browser;
|
||||||
bugfixedFirefox = pkgs.firefox-esr-unwrapped // { requireSigning = false; allowAddonSideload = true; };
|
bugfixedFirefox = pkgs.firefox-esr-unwrapped // { requireSigning = false; allowAddonSideload = true; };
|
||||||
|
cfg = config.packages.firefox;
|
||||||
in {
|
in {
|
||||||
|
options.packages.firefox = {
|
||||||
|
hideTitleBar = lib.mkEnableOption "Hide firefox title bar";
|
||||||
|
};
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
programs.firefox = {
|
programs.firefox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -92,7 +97,7 @@ in {
|
||||||
"devtools.chrome.enabled" = true;
|
"devtools.chrome.enabled" = true;
|
||||||
"devtools.debugger.remote-enabled" = true;
|
"devtools.debugger.remote-enabled" = true;
|
||||||
};
|
};
|
||||||
userChrome = lib.mkIf (desktop == "sway") ''
|
userChrome = lib.mkIf cfg.hideTitleBar ''
|
||||||
#titlebar { display: none !important; }
|
#titlebar { display: none !important; }
|
||||||
#sidebar-header { display: none !important; }
|
#sidebar-header { display: none !important; }
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
./vscode
|
./vscode
|
||||||
./fish
|
./fish
|
||||||
./firefox.nix
|
./firefox.nix
|
||||||
./hyprland.nix
|
./hyprland
|
||||||
./alacritty.nix
|
./alacritty.nix
|
||||||
./git.nix
|
./git.nix
|
||||||
./ssh.nix
|
./ssh.nix
|
||||||
|
@ -36,7 +36,7 @@
|
||||||
./gnome.nix
|
./gnome.nix
|
||||||
./thunar.nix
|
./thunar.nix
|
||||||
./xdg-dirs.nix
|
./xdg-dirs.nix
|
||||||
inputs.hyprland.homeManagerModules.default
|
# inputs.hyprland.homeManagerModules.default
|
||||||
inputs.nix-index-database.hmModules.nix-index
|
inputs.nix-index-database.hmModules.nix-index
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -172,6 +172,13 @@
|
||||||
exec nicotine
|
exec nicotine
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland.extraConfig = lib.optionalString (osConfig.networking.hostName or "" == "monolith") ''
|
||||||
|
exec-once = steam
|
||||||
|
exec-once = obs --startreplaybuffer
|
||||||
|
exec-once = deluge-gtk
|
||||||
|
exec-once = nicotine
|
||||||
|
'';
|
||||||
|
|
||||||
systemd.user.services.rm-target = {
|
systemd.user.services.rm-target = {
|
||||||
Unit = {
|
Unit = {
|
||||||
Description = "Remove directories named 'target'";
|
Description = "Remove directories named 'target'";
|
||||||
|
|
|
@ -1,127 +0,0 @@
|
||||||
{ config, pkgs, lib, ... }: {
|
|
||||||
config = lib.mkIf (pkgs.uservars.desktop == "hyprland") {
|
|
||||||
wayland.windowManager.hyprland = {
|
|
||||||
enable = false;
|
|
||||||
extraConfig = ''
|
|
||||||
monitor=,preferred,auto,1
|
|
||||||
|
|
||||||
input {
|
|
||||||
kb_file=
|
|
||||||
kb_layout=us(colemak)
|
|
||||||
kb_variant=
|
|
||||||
kb_model=
|
|
||||||
kb_options=
|
|
||||||
kb_rules=
|
|
||||||
|
|
||||||
follow_mouse=1
|
|
||||||
|
|
||||||
touchpad {
|
|
||||||
natural_scroll=no
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
general {
|
|
||||||
sensitivity=1.0 # for mouse cursor
|
|
||||||
main_mod=SUPER
|
|
||||||
|
|
||||||
gaps_in=5
|
|
||||||
gaps_out=10
|
|
||||||
border_size=2
|
|
||||||
col.active_border=0xffF44336
|
|
||||||
col.inactive_border=0x66333333
|
|
||||||
|
|
||||||
apply_sens_to_raw=0 # whether to apply the sensitivity to raw input (e.g. used by games where you aim using your mouse)
|
|
||||||
|
|
||||||
damage_tracking=full # leave it on full unless you hate your GPU and want to make it suffer
|
|
||||||
}
|
|
||||||
|
|
||||||
decoration {
|
|
||||||
rounding=5
|
|
||||||
blur=1
|
|
||||||
blur_size=3 # minimum 1
|
|
||||||
blur_passes=1 # minimum 1, more passes = more resource intensive.
|
|
||||||
# Your blur "amount" is blur_size * blur_passes, but high blur_size (over around 5-ish) will produce artifacts.
|
|
||||||
# if you want heavy blur, you need to up the blur_passes.
|
|
||||||
# the more passes, the more you can up the blur_size without noticing artifacts.
|
|
||||||
}
|
|
||||||
|
|
||||||
animations {
|
|
||||||
enabled=1
|
|
||||||
animation=windows,1,7,default
|
|
||||||
animation=border,1,10,default
|
|
||||||
animation=fade,1,10,default
|
|
||||||
animation=workspaces,1,6,default
|
|
||||||
}
|
|
||||||
|
|
||||||
dwindle {
|
|
||||||
pseudotile=0 # enable pseudotiling on dwindle
|
|
||||||
}
|
|
||||||
|
|
||||||
gestures {
|
|
||||||
workspace_swipe=no
|
|
||||||
}
|
|
||||||
|
|
||||||
# example window rules
|
|
||||||
# for windows named/classed as abc and xyz
|
|
||||||
#windowrule=move 69 420,abc
|
|
||||||
#windowrule=size 420 69,abc
|
|
||||||
#windowrule=tile,xyz
|
|
||||||
#windowrule=float,abc
|
|
||||||
#windowrule=pseudo,abc
|
|
||||||
#windowrule=monitor 0,xyz
|
|
||||||
|
|
||||||
# example binds
|
|
||||||
bind=SUPER,Q,exec,kitty
|
|
||||||
bind=SUPER,RETURN,exec,alacritty
|
|
||||||
bind=SUPER,x,killactive,
|
|
||||||
bind=SUPER,M,exit,
|
|
||||||
# bind=SUPER,E,exec,dolphin
|
|
||||||
bind=SUPER,V,togglefloating,
|
|
||||||
bind=SUPER,s,exec,wlauncher
|
|
||||||
bind=SUPER,P,pseudo,
|
|
||||||
|
|
||||||
bind=SUPER,f,fullscreen
|
|
||||||
|
|
||||||
bind=SUPER,n,movefocus,l
|
|
||||||
bind=SUPER,o,movefocus,r
|
|
||||||
bind=SUPER,i,movefocus,u
|
|
||||||
bind=SUPER,e,movefocus,d
|
|
||||||
|
|
||||||
bind=SUPER,left,movefocus,l
|
|
||||||
bind=SUPER,right,movefocus,r
|
|
||||||
bind=SUPER,up,movefocus,u
|
|
||||||
bind=SUPER,down,movefocus,d
|
|
||||||
|
|
||||||
bind=SUPER,1,workspace,1
|
|
||||||
bind=SUPER,2,workspace,2
|
|
||||||
bind=SUPER,3,workspace,3
|
|
||||||
bind=SUPER,4,workspace,4
|
|
||||||
bind=SUPER,5,workspace,5
|
|
||||||
bind=SUPER,6,workspace,6
|
|
||||||
bind=SUPER,7,workspace,7
|
|
||||||
bind=SUPER,8,workspace,8
|
|
||||||
bind=SUPER,9,workspace,9
|
|
||||||
bind=SUPER,0,workspace,10
|
|
||||||
|
|
||||||
bind=ALT,1,movetoworkspace,1
|
|
||||||
bind=ALT,2,movetoworkspace,2
|
|
||||||
bind=ALT,3,movetoworkspace,3
|
|
||||||
bind=ALT,4,movetoworkspace,4
|
|
||||||
bind=ALT,5,movetoworkspace,5
|
|
||||||
bind=ALT,6,movetoworkspace,6
|
|
||||||
bind=ALT,7,movetoworkspace,7
|
|
||||||
bind=ALT,8,movetoworkspace,8
|
|
||||||
bind=ALT,9,movetoworkspace,9
|
|
||||||
bind=ALT,0,movetoworkspace,10
|
|
||||||
|
|
||||||
bind=SUPER,u,workspace,e-1
|
|
||||||
bind=SUPER,y,workspace,e+1
|
|
||||||
|
|
||||||
bind=SUPER,mouse_down,workspace,e-1
|
|
||||||
bind=SUPER,mouse_up,workspace,e+1
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
home.file.".config/eww".source = ./eww;
|
|
||||||
home.packages = with pkgs; [ eww-wayland jq ];
|
|
||||||
};
|
|
||||||
}
|
|
66
user/hyprland/default.nix
Normal file
66
user/hyprland/default.nix
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
let
|
||||||
|
inherit (pkgs.uservars) theme;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
../sway/kanshi.nix
|
||||||
|
../sway/mako.nix
|
||||||
|
# ../sway/sway-binds.nix
|
||||||
|
# ../sway/sway-modes.nix
|
||||||
|
# ../sway/sway-assigns.nix
|
||||||
|
# ../sway/swayidle.nix
|
||||||
|
# ../sway/swaylock.nix
|
||||||
|
../sway/theme.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
config = lib.mkIf (pkgs.uservars.desktop == "hyprland") {
|
||||||
|
services.mako.enable = true;
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = ''
|
||||||
|
source = /home/lelgenio/projects/nixos-config/user/hyprland/hyprland.conf
|
||||||
|
'';
|
||||||
|
systemd.enable = true;
|
||||||
|
};
|
||||||
|
home.file.".config/hypr/hyprpaper.conf".text = ''
|
||||||
|
preload = ${theme.background}
|
||||||
|
wallpaper = ,${theme.background}
|
||||||
|
'';
|
||||||
|
# home.file.".config/eww".source = ./eww;
|
||||||
|
|
||||||
|
packages.firefox.hideTitleBar = true;
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
eww-wayland
|
||||||
|
jq
|
||||||
|
hyprpaper
|
||||||
|
wdisplays
|
||||||
|
|
||||||
|
waybar
|
||||||
|
dhist
|
||||||
|
demoji
|
||||||
|
bmenu
|
||||||
|
wdmenu
|
||||||
|
wlauncher
|
||||||
|
volumesh
|
||||||
|
showkeys
|
||||||
|
pamixer
|
||||||
|
libnotify
|
||||||
|
xdg-utils
|
||||||
|
screenshotsh
|
||||||
|
color_picker
|
||||||
|
wf-recorder
|
||||||
|
wl-clipboard
|
||||||
|
wtype
|
||||||
|
wl-crosshair
|
||||||
|
|
||||||
|
grim
|
||||||
|
swappy
|
||||||
|
(tesseract5.override {
|
||||||
|
enableLanguages = [ "eng" "por" ];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
282
user/hyprland/hyprland.conf
Normal file
282
user/hyprland/hyprland.conf
Normal file
|
@ -0,0 +1,282 @@
|
||||||
|
|
||||||
|
########################################################################################
|
||||||
|
AUTOGENERATED HYPR CONFIG.
|
||||||
|
PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
|
||||||
|
OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
|
||||||
|
########################################################################################
|
||||||
|
|
||||||
|
#
|
||||||
|
# Please note not all available settings / options are set here.
|
||||||
|
# For a full list, see the wiki
|
||||||
|
#
|
||||||
|
|
||||||
|
# autogenerated = 1 # remove this line to remove the warning
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||||
|
monitor=,preferred,auto,auto
|
||||||
|
monitor=DP-1,1920x1080@144,auto,auto
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||||
|
|
||||||
|
# Execute your favorite apps at launch
|
||||||
|
exec-once = hyprpaper & firefox
|
||||||
|
|
||||||
|
# Source a file (multi-file configs)
|
||||||
|
# source = ~/.config/hypr/myColors.conf
|
||||||
|
|
||||||
|
# Some default env vars.
|
||||||
|
env = XCURSOR_SIZE,24
|
||||||
|
|
||||||
|
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
||||||
|
input {
|
||||||
|
kb_layout = us(colemak)
|
||||||
|
kb_variant =
|
||||||
|
kb_model =
|
||||||
|
kb_options =
|
||||||
|
kb_rules =
|
||||||
|
|
||||||
|
follow_mouse = 1
|
||||||
|
|
||||||
|
touchpad {
|
||||||
|
natural_scroll = no
|
||||||
|
}
|
||||||
|
|
||||||
|
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||||
|
}
|
||||||
|
|
||||||
|
general {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
|
||||||
|
gaps_in = 5
|
||||||
|
gaps_out = 10
|
||||||
|
border_size = 2
|
||||||
|
col.active_border = rgba(F44336ee) rgba(202020ee) 45deg
|
||||||
|
col.inactive_border = rgba(202020ee)
|
||||||
|
|
||||||
|
layout = master
|
||||||
|
|
||||||
|
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||||
|
allow_tearing = false
|
||||||
|
}
|
||||||
|
|
||||||
|
decoration {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
|
||||||
|
rounding = 5
|
||||||
|
|
||||||
|
blur {
|
||||||
|
enabled = true
|
||||||
|
size = 3
|
||||||
|
passes = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
drop_shadow = yes
|
||||||
|
shadow_range = 4
|
||||||
|
shadow_render_power = 3
|
||||||
|
col.shadow = rgba(1a1a1aee)
|
||||||
|
}
|
||||||
|
|
||||||
|
animations {
|
||||||
|
enabled = yes
|
||||||
|
|
||||||
|
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||||
|
|
||||||
|
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||||
|
|
||||||
|
animation = windows, 1, 7, myBezier
|
||||||
|
animation = windowsOut, 1, 7, default, popin 80%
|
||||||
|
animation = border, 1, 10, default
|
||||||
|
animation = borderangle, 1, 8, default
|
||||||
|
animation = fade, 1, 7, default
|
||||||
|
animation = workspaces, 1, 6, default
|
||||||
|
}
|
||||||
|
|
||||||
|
dwindle {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||||
|
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||||
|
preserve_split = yes # you probably want this
|
||||||
|
}
|
||||||
|
|
||||||
|
master {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||||
|
new_is_master = false
|
||||||
|
no_gaps_when_only = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
gestures {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
workspace_swipe = off
|
||||||
|
}
|
||||||
|
|
||||||
|
misc {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
force_default_wallpaper = 0 # Set to 0 to disable the anime mascot wallpapers
|
||||||
|
}
|
||||||
|
|
||||||
|
# Example per-device config
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
|
||||||
|
device:epic-mouse-v1 {
|
||||||
|
sensitivity = -0.5
|
||||||
|
}
|
||||||
|
|
||||||
|
# Example windowrule v1
|
||||||
|
# windowrule = float, ^(kitty)$
|
||||||
|
# Example windowrule v2
|
||||||
|
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
||||||
|
|
||||||
|
|
||||||
|
windowrulev2 = workspace 2, class:qutebrowser
|
||||||
|
windowrulev2 = workspace 2, class:qutebrowser
|
||||||
|
windowrulev2 = workspace 2, class:firefox
|
||||||
|
windowrulev2 = workspace 2, class:firefox
|
||||||
|
windowrulev2 = workspace 2, class:Chromium
|
||||||
|
windowrulev2 = workspace 2, class:chromium
|
||||||
|
|
||||||
|
windowrulev2 = workspace 6, class:org.nicotine_plus.Nicotine
|
||||||
|
windowrulev2 = workspace 6, class:deluge
|
||||||
|
windowrulev2 = workspace 6, class:com.obsproject.Studio
|
||||||
|
|
||||||
|
windowrulev2 = workspace 7, class:thunderbird
|
||||||
|
windowrulev2 = workspace 7, class:astroid
|
||||||
|
|
||||||
|
windowrulev2 = workspace 9, class:.*[Ss]team.*
|
||||||
|
windowrulev2 = workspace 9, class:.*[Ss]team.*
|
||||||
|
windowrulev2 = workspace 9, class:[Ll]utris
|
||||||
|
|
||||||
|
windowrulev2 = workspace 10, class:.*[Tt]elegram.*
|
||||||
|
windowrulev2 = workspace 10, class:.*[Tt]elegram.*
|
||||||
|
windowrulev2 = workspace 10, class:Jitsi Meet
|
||||||
|
windowrulev2 = workspace 10, class:discord
|
||||||
|
windowrulev2 = workspace 10, class:Discord
|
||||||
|
windowrulev2 = workspace 10, class:WebCord
|
||||||
|
windowrulev2 = workspace 10, class:WebCord
|
||||||
|
windowrulev2 = workspace 10, class:Element
|
||||||
|
windowrulev2 = workspace 10, class:Element
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||||
|
$mainMod = SUPER
|
||||||
|
|
||||||
|
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||||
|
bind = $mainMod, Return, exec, alacritty
|
||||||
|
bind = $mainMod, X, killactive,
|
||||||
|
# bind = $mainMod, M, exit,
|
||||||
|
bind = $mainMod Control, Return, exec, thunar
|
||||||
|
bind = $mainMod Shift, Space, togglefloating,
|
||||||
|
|
||||||
|
bind = $mainMod Control, z, exec, swaylock & systemctl suspend
|
||||||
|
|
||||||
|
bind = $mainMod, R, exec, wofi --show drun
|
||||||
|
bind = $mainMod, P, pseudo, # dwindle
|
||||||
|
bind = $mainMod, J, togglesplit, # dwindle
|
||||||
|
|
||||||
|
# Move focus with mainMod + arrow keys
|
||||||
|
bind = $mainMod, left, movefocus, l
|
||||||
|
bind = $mainMod, right, movefocus, r
|
||||||
|
bind = $mainMod, up, movefocus, u
|
||||||
|
bind = $mainMod, down, movefocus, d
|
||||||
|
|
||||||
|
# Switch workspaces with mainMod + [0-9]
|
||||||
|
bind = $mainMod, 1, workspace, 1
|
||||||
|
bind = $mainMod, 2, workspace, 2
|
||||||
|
bind = $mainMod, 3, workspace, 3
|
||||||
|
bind = $mainMod, 4, workspace, 4
|
||||||
|
bind = $mainMod, 5, workspace, 5
|
||||||
|
bind = $mainMod, 6, workspace, 6
|
||||||
|
bind = $mainMod, 7, workspace, 7
|
||||||
|
bind = $mainMod, 8, workspace, 8
|
||||||
|
bind = $mainMod, 9, workspace, 9
|
||||||
|
bind = $mainMod, 0, workspace, 10
|
||||||
|
|
||||||
|
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||||
|
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||||
|
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||||
|
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||||
|
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||||
|
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||||
|
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||||
|
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||||
|
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||||
|
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||||
|
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||||
|
|
||||||
|
# Example special workspace (scratchpad)
|
||||||
|
bind = $mainMod, j, togglespecialworkspace, magic
|
||||||
|
bind = $mainMod SHIFT, j, movetoworkspace, special:magic
|
||||||
|
|
||||||
|
# Scroll through existing workspaces with mainMod + scroll
|
||||||
|
bind = $mainMod, mouse_down, workspace, e+1
|
||||||
|
bind = $mainMod, mouse_up, workspace, e-1
|
||||||
|
|
||||||
|
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||||
|
bindm = $mainMod, mouse:272, movewindow
|
||||||
|
bindm = $mainMod, mouse:273, resizewindow
|
||||||
|
|
||||||
|
bind = $mainMod, S, exec, wlauncher
|
||||||
|
bind = $mainMod, B, layoutmsg, swapwithmaster
|
||||||
|
|
||||||
|
bind = $mainMod Shift, E, layoutmsg, swapnext
|
||||||
|
bind = $mainMod Shift, I, layoutmsg, swapprev
|
||||||
|
|
||||||
|
bind=$mainMod,f,fullscreen
|
||||||
|
|
||||||
|
bind=$mainMod,n,movefocus,l
|
||||||
|
bind=$mainMod,o,movefocus,r
|
||||||
|
bind=$mainMod,i,movefocus,u
|
||||||
|
bind=$mainMod,e,movefocus,d
|
||||||
|
|
||||||
|
bind=$mainMod,left,movefocus,l
|
||||||
|
bind=$mainMod,right,movefocus,r
|
||||||
|
bind=$mainMod,up,movefocus,u
|
||||||
|
bind=$mainMod,down,movefocus,d
|
||||||
|
|
||||||
|
bind=$mainMod,1,workspace,1
|
||||||
|
bind=$mainMod,2,workspace,2
|
||||||
|
bind=$mainMod,3,workspace,3
|
||||||
|
bind=$mainMod,4,workspace,4
|
||||||
|
bind=$mainMod,5,workspace,5
|
||||||
|
bind=$mainMod,6,workspace,6
|
||||||
|
bind=$mainMod,7,workspace,7
|
||||||
|
bind=$mainMod,8,workspace,8
|
||||||
|
bind=$mainMod,9,workspace,9
|
||||||
|
bind=$mainMod,0,workspace,10
|
||||||
|
|
||||||
|
# bind=ALT,1,movetoworkspace,1
|
||||||
|
# bind=ALT,2,movetoworkspace,2
|
||||||
|
# bind=ALT,3,movetoworkspace,3
|
||||||
|
# bind=ALT,4,movetoworkspace,4
|
||||||
|
# bind=ALT,5,movetoworkspace,5
|
||||||
|
# bind=ALT,6,movetoworkspace,6
|
||||||
|
# bind=ALT,7,movetoworkspace,7
|
||||||
|
# bind=ALT,8,movetoworkspace,8
|
||||||
|
# bind=ALT,9,movetoworkspace,9
|
||||||
|
# bind=ALT,0,movetoworkspace,10
|
||||||
|
|
||||||
|
bind=$mainMod,u,workspace,e-1
|
||||||
|
bind=$mainMod,y,workspace,e+1
|
||||||
|
|
||||||
|
bind=$mainMod,mouse_down,workspace,e-1
|
||||||
|
bind=$mainMod,mouse_up,workspace,e+1
|
||||||
|
|
||||||
|
# Music mode
|
||||||
|
|
||||||
|
bind=$mainMod,M,submap,music
|
||||||
|
submap=music
|
||||||
|
|
||||||
|
binde=,Space,exec,mpc toggle
|
||||||
|
|
||||||
|
binde=,U,exec,volumesh -i 10
|
||||||
|
binde=,Y,exec,volumesh -d 10
|
||||||
|
binde=,O,exec,mpc next
|
||||||
|
binde=,N,exec,mpc prev
|
||||||
|
binde=,I,exec,volumesh --mpd -i 10
|
||||||
|
binde=,E,exec,volumesh --mpd -d 10
|
||||||
|
|
||||||
|
binde=,s,exec,pulse_sink
|
||||||
|
|
||||||
|
# use reset to go back to the global submap
|
||||||
|
bind=,escape,submap,reset
|
||||||
|
|
||||||
|
# will reset the submap, meaning end the current one and return to the global one
|
||||||
|
submap=reset
|
|
@ -98,6 +98,8 @@ in
|
||||||
indicator = true;
|
indicator = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
packages.firefox.hideTitleBar = true;
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
sway
|
sway
|
||||||
swaybg
|
swaybg
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
let
|
let
|
||||||
inherit (pkgs.uservars) key accent font theme;
|
inherit (pkgs.uservars) key accent font theme desktop;
|
||||||
inherit (theme) color;
|
inherit (theme) color;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
services.mako = {
|
services.mako = {
|
||||||
borderSize = 2;
|
borderSize = 2;
|
||||||
|
borderRadius = if desktop == "sway" then 0 else 5;
|
||||||
padding = "5";
|
padding = "5";
|
||||||
margin = "15";
|
margin = "15";
|
||||||
layer = "overlay";
|
layer = "overlay";
|
||||||
|
@ -48,6 +49,6 @@ in
|
||||||
ExecStart = "${pkgs.mako}/bin/mako";
|
ExecStart = "${pkgs.mako}/bin/mako";
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
};
|
};
|
||||||
Install = { WantedBy = [ "sway-session.target" ]; };
|
Install = { WantedBy = [ "sway-session.target" "hyprland-sessions.target" ]; };
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -128,8 +128,8 @@ rec {
|
||||||
pass = "disroot.org";
|
pass = "disroot.org";
|
||||||
};
|
};
|
||||||
|
|
||||||
dmenu = "bmenu";
|
dmenu = "rofi";
|
||||||
desktop = "sway";
|
desktop = "hyprland";
|
||||||
browser = "firefox";
|
browser = "firefox";
|
||||||
editor = "kakoune";
|
editor = "kakoune";
|
||||||
email-client = "thunderbird";
|
email-client = "thunderbird";
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ config, osConfig, pkgs, lib, font, ... }:
|
{ config, osConfig, pkgs, lib, font, ... }:
|
||||||
let
|
let
|
||||||
inherit (pkgs.uservars) key theme accent font;
|
inherit (pkgs.uservars) key theme accent font desktop;
|
||||||
inherit (theme) color;
|
inherit (theme) color;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
@ -8,13 +8,21 @@ in
|
||||||
programs.waybar = {
|
programs.waybar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
systemd.enable = true;
|
systemd.enable = true;
|
||||||
systemd.target = "sway-session.target";
|
systemd.target = "${desktop}-session.target";
|
||||||
settings = [{
|
settings = [{
|
||||||
layer = "top";
|
layer = "top";
|
||||||
modules-left = [ "sway/workspaces" "sway/mode" "sway/window" ];
|
modules-left = [
|
||||||
|
"sway/workspaces"
|
||||||
|
"sway/mode"
|
||||||
|
"sway/window"
|
||||||
|
"hyprland/workspaces"
|
||||||
|
"hyprland/mode"
|
||||||
|
"hyprland/window"
|
||||||
|
];
|
||||||
modules-center = [ "clock" ];
|
modules-center = [ "clock" ];
|
||||||
modules-right = lib.flatten [
|
modules-right = lib.flatten [
|
||||||
"sway/language"
|
"sway/language"
|
||||||
|
"hyprland/language"
|
||||||
"mpd"
|
"mpd"
|
||||||
"custom/playerctl"
|
"custom/playerctl"
|
||||||
# "tray"
|
# "tray"
|
||||||
|
@ -68,6 +76,30 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
"sway/window" = { max-length = 40; };
|
"sway/window" = { max-length = 40; };
|
||||||
|
"sway/language" = { format = "{short} {variant}"; };
|
||||||
|
"hyprland/workspaces" = {
|
||||||
|
enable-bar-scroll = true;
|
||||||
|
on-scroll-up = "hyprctl dispatch workspace e-1";
|
||||||
|
on-scroll-down = "hyprctl dispatch workspace e+1";
|
||||||
|
format = "{icon}";
|
||||||
|
format-icons = {
|
||||||
|
"1" = "";
|
||||||
|
"2" = "";
|
||||||
|
"3" = "";
|
||||||
|
"4" = "";
|
||||||
|
"5" = "";
|
||||||
|
"6" = "";
|
||||||
|
"7" = "";
|
||||||
|
"8" = "";
|
||||||
|
"9" = "";
|
||||||
|
"10" = "";
|
||||||
|
urgent = "";
|
||||||
|
# focused = "";
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"hyprland/window" = { max-length = 40; };
|
||||||
|
"hyprland/language" = { format = "{short} {variant}"; };
|
||||||
"tray" = {
|
"tray" = {
|
||||||
"spacing" = 7;
|
"spacing" = 7;
|
||||||
"icon-size" = 19;
|
"icon-size" = 19;
|
||||||
|
@ -123,7 +155,6 @@ in
|
||||||
interval = 1;
|
interval = 1;
|
||||||
tooltip = false;
|
tooltip = false;
|
||||||
};
|
};
|
||||||
"sway/language" = { format = "{short} {variant}"; };
|
|
||||||
"custom/caffeine" = {
|
"custom/caffeine" = {
|
||||||
format = "{}";
|
format = "{}";
|
||||||
exec = "systemctl --user status swayidle > /dev/null && echo || echo ";
|
exec = "systemctl --user status swayidle > /dev/null && echo || echo ";
|
||||||
|
|
|
@ -20,7 +20,8 @@ window#waybar.solo {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
border: 3px solid transparent;
|
border: 3px solid transparent;
|
||||||
}
|
}
|
||||||
#workspaces button.focused {
|
#workspaces button.focused,
|
||||||
|
#workspaces button.active {
|
||||||
color: @color_txt@;
|
color: @color_txt@;
|
||||||
border-top: 3px solid @accent_color@;
|
border-top: 3px solid @accent_color@;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue