Big omen laptop migration
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./waybar
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,299 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.dov.bar.waybar;
|
||||
color = config.lib.stylix.colors;
|
||||
backgound-color = color.base01;
|
||||
icon-color = color.base0A;
|
||||
in {
|
||||
options.dov.bar.waybar.enable = mkEnableOption "waybar option";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [
|
||||
wlogout
|
||||
];
|
||||
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
settings = {
|
||||
mainBar = {
|
||||
include = [ "~/.config/waybar/config.json" ];
|
||||
|
||||
layer = "top";
|
||||
position = "top";
|
||||
margin-top = 5;
|
||||
margin-bottom = 5;
|
||||
margin-left = 5;
|
||||
margin-right = 5;
|
||||
height = 15;
|
||||
|
||||
modules-left = [
|
||||
# "custom/launcher"
|
||||
"hyprland/workspaces"
|
||||
"custom/media"
|
||||
"hyprland/window"
|
||||
];
|
||||
|
||||
modules-center = [
|
||||
"clock"
|
||||
];
|
||||
|
||||
modules-right = [
|
||||
"tray"
|
||||
"idle_inhibitor"
|
||||
"hyprland/language"
|
||||
"memory"
|
||||
"cpu"
|
||||
"backlight#value"
|
||||
"pulseaudio"
|
||||
"pulseaudio#microphone"
|
||||
"network"
|
||||
"battery"
|
||||
"custom/power"
|
||||
];
|
||||
|
||||
"clock" = {
|
||||
format = "{:%H:%M, %d, %B, %Y} ";
|
||||
format-alt = "{%R, :%A, %d %B, %Y} ";
|
||||
tooltip-format = "<tt><small>{calendar}</small></tt>";
|
||||
calendar = {
|
||||
mode = "year";
|
||||
mode-mon-col = 3;
|
||||
weeks-pos = "right";
|
||||
on-scroll = 1;
|
||||
on-click-right = "mode";
|
||||
format = {
|
||||
months = "<span color='#${icon-color}'><b>{}</b></span>";
|
||||
days = "<span color='#${icon-color}'><b>{}</b></span>";
|
||||
weeks = "<span color='#${icon-color}'><b>W{}</b></span>";
|
||||
weekdays = "<span color='#${icon-color}'><b>{}</b></span>";
|
||||
today = "<span color='#${icon-color}'><b><u>{}</u></b></span>";
|
||||
};
|
||||
};
|
||||
actions = {
|
||||
on-click-right = "mode";
|
||||
on-click-forward = "tz_up";
|
||||
on-click-backward = "tz_down";
|
||||
on-scroll-up = "shift_up";
|
||||
on-scroll-down = "shift_down";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
style = lib.mkForce ''
|
||||
@keyframes blink-warning {
|
||||
70% {
|
||||
color: white;
|
||||
}
|
||||
|
||||
to {
|
||||
color: white;
|
||||
background-color: orange;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes blink-critical {
|
||||
70% {
|
||||
color: white;
|
||||
}
|
||||
|
||||
to {
|
||||
color: white;
|
||||
background-color: red;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Reset all styles */
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
min-height: 0;
|
||||
margin: 1px;
|
||||
padding: 0;
|
||||
color: #${icon-color};
|
||||
}
|
||||
|
||||
|
||||
/* The whole bar */
|
||||
window#waybar {
|
||||
background-color: rgba(0,0,0,0);
|
||||
font-family: Intel One Mono Nerd Font;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
/* Every modules */
|
||||
#battery,
|
||||
#clock,
|
||||
#backlight,
|
||||
#cpu,
|
||||
#custom-keyboard-layout,
|
||||
#memory,
|
||||
#mode,
|
||||
#custom-weather,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#temperature,
|
||||
#tray,
|
||||
#idle_inhibitor,
|
||||
#window,
|
||||
#workspaces,
|
||||
#custom-media,
|
||||
#language,
|
||||
#custom-power,
|
||||
#custom-PBPbattery {
|
||||
padding:0.25rem 0.75rem;
|
||||
margin: 1px 6px;
|
||||
background-color: #${backgound-color};
|
||||
border-radius: 20px;
|
||||
}
|
||||
|
||||
#clock {
|
||||
color: #${icon-color};
|
||||
}
|
||||
|
||||
#custom-weather {
|
||||
color: #ff4499;
|
||||
}
|
||||
|
||||
#battery {
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
#battery.warning {
|
||||
color: orange;
|
||||
}
|
||||
|
||||
#battery.critical {
|
||||
color: red;
|
||||
}
|
||||
|
||||
#battery.warning.discharging {
|
||||
animation-name: blink-warning;
|
||||
animation-duration: 3s;
|
||||
}
|
||||
|
||||
#battery.critical.discharging {
|
||||
animation-name: blink-critical;
|
||||
animation-duration: 2s;
|
||||
}
|
||||
|
||||
#cpu {
|
||||
color: #${icon-color};
|
||||
}
|
||||
|
||||
#cpu.warning {
|
||||
color: orange;
|
||||
}
|
||||
|
||||
#cpu.critical {
|
||||
color: red;
|
||||
}
|
||||
|
||||
#memory {
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
color: #${icon-color};
|
||||
}
|
||||
|
||||
#memory.warning {
|
||||
color: orange;
|
||||
}
|
||||
|
||||
#memory.critical {
|
||||
color: red;
|
||||
animation-name: blink-critical;
|
||||
animation-duration: 2s;
|
||||
padding-left:5px;
|
||||
padding-right:5px;
|
||||
}
|
||||
|
||||
#mode {
|
||||
border-bottom: 3px transparent;
|
||||
color:#ff4499;
|
||||
margin-left: 5px;
|
||||
padding: 7px;
|
||||
}
|
||||
|
||||
#network.disconnected {
|
||||
color: orange;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
color: #${icon-color};
|
||||
border-left: 0px;
|
||||
border-right: 0px;
|
||||
margin-right: 0;
|
||||
border-radius: 20px 0 0 20px;
|
||||
}
|
||||
|
||||
#pulseaudio.microphone {
|
||||
border-left: 0px;
|
||||
border-right: 0px;
|
||||
margin-left: 0;
|
||||
padding-left: 0;
|
||||
border-radius: 0 20px 20px 0;
|
||||
}
|
||||
|
||||
#temperature.critical {
|
||||
color: red;
|
||||
}
|
||||
|
||||
#window {
|
||||
font-weight: bold;
|
||||
color: #${icon-color};
|
||||
}
|
||||
|
||||
#custom-media {
|
||||
color: #bb9af7;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
font-size:16px;
|
||||
background-color: #${backgound-color};
|
||||
border-radius: 20px;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
border-bottom: 3px solid transparent;
|
||||
margin-bottom: 0px;
|
||||
color: #dfdfdf;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
border-bottom: 1px solid #${color.base0B};
|
||||
margin-bottom: 1px;
|
||||
padding-left:0;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
border-color: #c9545d;
|
||||
color: #c9545d;
|
||||
}
|
||||
|
||||
#custom-power {
|
||||
font-size:18px;
|
||||
padding-right: 1rem;
|
||||
}
|
||||
|
||||
#custom-launcher {
|
||||
font-size:15px;
|
||||
margin-left:15px;
|
||||
margin-right:10px;
|
||||
}
|
||||
|
||||
#backlight.icon {
|
||||
padding-right:1px;
|
||||
font-size: 13px;
|
||||
}
|
||||
'';
|
||||
};
|
||||
home.file.".config/waybar/config.json".source = ./waybar4.json;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,203 @@
|
||||
// Global
|
||||
{
|
||||
// Modules
|
||||
"battery": {
|
||||
"states": {
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{capacity}% {icon} ",
|
||||
"format-charging": "{capacity}% ",
|
||||
"format-plugged": "{capacity}% ",
|
||||
"format-icons": ["", "", "", "", ""]
|
||||
},
|
||||
|
||||
"custom/PBPbattery": {
|
||||
"exec": "~/.config/waybar/scripts/PBPbattery.sh",
|
||||
"format": "{}",
|
||||
},
|
||||
|
||||
"cpu": {
|
||||
"interval": 5,
|
||||
"format": " {usage}% ({load})", // Icon: microchip
|
||||
"states": {
|
||||
"warning": 70,
|
||||
"critical": 90,
|
||||
},
|
||||
"on-click": "kitty -e 'btm'",
|
||||
},
|
||||
|
||||
"hyprland/language": {
|
||||
"format": " {}",
|
||||
"format-en": "us",
|
||||
"format-ru": "ru",
|
||||
"format-ua": "ua",
|
||||
"keyboard-name": "at-translated-set-2-keyboard"
|
||||
},
|
||||
|
||||
"custom/keyboard-layout": {
|
||||
"exec": "swaymsg -t get_inputs | grep -m1 'xkb_active_layout_name' | cut -d '\"' -f4",
|
||||
// Interval set only as a fallback, as the value is updated by signal
|
||||
"interval": 30,
|
||||
"format": " {}", // Icon: keyboard
|
||||
// Signal sent by Sway key binding (~/.config/sway/key-bindings)
|
||||
"signal": 1, // SIGHUP
|
||||
"tooltip": false,
|
||||
"on-click": "~/.config/waybar/scripts/keyhint.sh",
|
||||
},
|
||||
|
||||
"memory": {
|
||||
"interval": 5,
|
||||
"format": " {}%", // Icon: memory
|
||||
"on-click": "kitty -e 'btm'",
|
||||
"states": {
|
||||
"warning": 70,
|
||||
"critical": 90
|
||||
}
|
||||
},
|
||||
|
||||
"network": {
|
||||
"interval": 5,
|
||||
"format-wifi": " ", // Icon: wifi
|
||||
"format-ethernet": " ", // Icon: ethernet
|
||||
"format-disconnected": "⚠ Disconnected",
|
||||
"tooltip-format": "{ifname}: {ipaddr}",
|
||||
"on-click": "kitty -e 'nmtui'",
|
||||
},
|
||||
"network#vpn": {
|
||||
"interface": "tun0",
|
||||
"format": " ",
|
||||
"format-disconnected": "⚠ Disconnected",
|
||||
"tooltip-format": "{ifname}: {ipaddr}/{cidr}",
|
||||
},
|
||||
|
||||
"hyprland/mode": {
|
||||
"format": "{}",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"hyprland/window": {
|
||||
"format": "{}",
|
||||
"max-length": 120
|
||||
},
|
||||
|
||||
"hyprland/workspaces": {
|
||||
"disable-scroll": true,
|
||||
"disable-markup" : false,
|
||||
"all-outputs": true,
|
||||
"format": " {icon} ",
|
||||
//"format":"{icon}",
|
||||
"format-icons": {
|
||||
"1": "",
|
||||
"2": "",
|
||||
"3": ""
|
||||
}
|
||||
},
|
||||
|
||||
"pulseaudio": {
|
||||
"scroll-step": 1, // %, can be a float
|
||||
"format": "{icon} {volume}%",
|
||||
"format-bluetooth": "{volume}% {icon} {format_source}",
|
||||
"format-bluetooth-muted": " {icon} {format_source}",
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "וֹ",
|
||||
"headset": " ",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": [""]
|
||||
},
|
||||
"on-click": "amixer -q sset Master toggle",
|
||||
"on-click-right": "pavucontrol",
|
||||
"on-scroll-up": "amixer -q sset Master 10%-",
|
||||
"on-scroll-down": "amixer -q sset Master 10%+",
|
||||
},
|
||||
|
||||
"pulseaudio#microphone": {
|
||||
"format": "{format_source}",
|
||||
"format-source": " {volume}%",
|
||||
"format-source-muted": " ",
|
||||
"on-click": "pamixer --default-source -t",
|
||||
"on-click-right": "pavucontrol",
|
||||
"on-scroll-up": "pamixer --default-source -i 5",
|
||||
"on-scroll-down": "pamixer --default-source -d 5",
|
||||
"scroll-step": 5
|
||||
},
|
||||
|
||||
// to use the weather module replace <your_location> with your city or town
|
||||
// note: do not use spaces: new york would be newyork
|
||||
"custom/weather": {
|
||||
"exec": "~/.config/waybar/scripts/weather.sh tampa",
|
||||
"return-type": "json",
|
||||
"interval": 600,
|
||||
},
|
||||
|
||||
"tray": {
|
||||
"icon-size": 18,
|
||||
"spacing":10,
|
||||
},
|
||||
|
||||
"backlight#icon": {
|
||||
"format": "{icon}",
|
||||
"format-icons": [""],
|
||||
"on-scroll-down": "brightnessctl -c backlight set 1%-",
|
||||
"on-scroll-up": "brightnessctl -c backlight set +1%"
|
||||
},
|
||||
|
||||
"backlight#value" :{
|
||||
"format": "{percent}%",
|
||||
"on-scroll-down": "brightnessctl -c backlight set 1%-",
|
||||
"on-scroll-up": "brightnessctl -c backlight set +1%"
|
||||
},
|
||||
|
||||
"custom/firefox": {
|
||||
"format": " ",
|
||||
"on-click": "exec firefox",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/terminal": {
|
||||
"format": " ",
|
||||
"on-click": "exec kitty",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/files": {
|
||||
"format": " ",
|
||||
"on-click": "exec nautilus",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/launcher": {
|
||||
"format":" ",
|
||||
"on-click": "exec wofi -c ~/.config/wofi/config -I",
|
||||
"tooltip": false,
|
||||
},
|
||||
|
||||
"custom/media": {
|
||||
"format": "{icon} {}",
|
||||
"return-type": "json",
|
||||
"max-length": 40,
|
||||
"format-icons": {
|
||||
"spotify": "",
|
||||
"default": ""
|
||||
},
|
||||
"escape": true,
|
||||
"exec": "/usr/bin/python3 $HOME/.config/waybar/scripts/mediaplayer.py 2> /dev/null" // Script in resources folder
|
||||
},
|
||||
|
||||
"custom/power": {
|
||||
"format": "",
|
||||
"on-click": "wlogout"
|
||||
},
|
||||
|
||||
"idle_inhibitor": {
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"activated": "",
|
||||
"deactivated": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./zen
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{ inputs, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.dov.browser.zen;
|
||||
in {
|
||||
options.dov.browser.zen.enable = mkEnableOption "zen config";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [
|
||||
inputs.zen-browser.packages."${system}".default
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -3,5 +3,11 @@
|
||||
{
|
||||
imports = [
|
||||
./shell
|
||||
./window-manager
|
||||
./bar
|
||||
./launcher
|
||||
./random
|
||||
./browser
|
||||
./terminal
|
||||
];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./wofi
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let cfg = config.dov.launcher.wofi;
|
||||
in {
|
||||
options.dov.launcher.wofi.enable = mkEnableOption "wofi configuration";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
home.packages = [ pkgs.wofi ];
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./kanshi
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
profile LAPTOP_ONLY {
|
||||
output eDP-1 enable
|
||||
}
|
||||
|
||||
profile HOME {
|
||||
output eDP-1 mode 2560x1440 position 480,1440
|
||||
output DP-3 mode 3440x1440 position 0,0
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.dov.kanshi;
|
||||
in {
|
||||
options.dov.kanshi.enable = mkEnableOption "kanshi config";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [ kanshi ];
|
||||
|
||||
services.kanshi = {
|
||||
enable = true;
|
||||
settings = [
|
||||
{
|
||||
profile = {
|
||||
name = "default";
|
||||
outputs = [
|
||||
{
|
||||
criteria = "eDP-1";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
{
|
||||
profile = {
|
||||
name = "home";
|
||||
outputs = [
|
||||
{
|
||||
criteria = "eDP-1";
|
||||
position = "480,1440";
|
||||
}
|
||||
{
|
||||
criteria = "LG Electronics LG ULTRAWIDE 201NTTQC5617";
|
||||
position = "0,0";
|
||||
mode = "3440x1440";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
{
|
||||
profile = {
|
||||
name = "reserve-home";
|
||||
outputs = [
|
||||
{
|
||||
criteria = "eDP-1";
|
||||
position = "480,1440";
|
||||
}
|
||||
{
|
||||
criteria = "DP-5";
|
||||
position = "0,0";
|
||||
mode = "3440x1440";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./starship
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let cfg = config.dov.shell.addition.starship;
|
||||
in {
|
||||
options.dov.shell.addition.starship.enable = mkEnableOption "starship configuration";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableZshIntegration = config.dov.shell.zsh.enable;
|
||||
# TODO for now no bash - no integration
|
||||
#enableBashIntegration = config.dov.shell.bash.enable;
|
||||
|
||||
settings = {
|
||||
nix_shell = {
|
||||
disabled = false;
|
||||
impure_msg = "";
|
||||
symbol = "";
|
||||
format = "[$symbol$state]($style) ";
|
||||
};
|
||||
shlvl = {
|
||||
disabled = false;
|
||||
symbol = "λ ";
|
||||
};
|
||||
haskell.symbol = " ";
|
||||
openstack.disabled = true;
|
||||
gcloud.disabled = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -3,5 +3,6 @@
|
||||
{
|
||||
imports = [
|
||||
./zsh
|
||||
./addition
|
||||
];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.dov.terminal.alacritty;
|
||||
in {
|
||||
options.dov.terminal.alacritty.enable = mkEnableOption "alacritty configuration";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs = {
|
||||
alacritty = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./alacritty
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./hypr
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,249 @@
|
||||
{ config, lib, pkgs, inputs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
colors = config.lib.stylix.colors;
|
||||
cfg = config.dov.window-manager.hypr;
|
||||
in {
|
||||
options.dov.window-manager.hypr.enable = mkEnableOption "hypr configuration";
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [
|
||||
swww
|
||||
mako
|
||||
pipewire
|
||||
wireplumber
|
||||
libnotify
|
||||
kitty
|
||||
jq # used in lock to get language
|
||||
wayland-protocols
|
||||
|
||||
#hyprland extensions
|
||||
hyprlock
|
||||
hypridle
|
||||
];
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
||||
plugins = [
|
||||
inputs.split-monitor-workspaces.packages.${pkgs.system}.split-monitor-workspaces
|
||||
];
|
||||
|
||||
settings = {
|
||||
monitor = ",highres,auto,1";
|
||||
source = "~/.config/hypr/colors";
|
||||
|
||||
env = [
|
||||
"LIBVA_DRIVER_NAME,nvidia"
|
||||
"XDG_SESSION_TYPE,wayland"
|
||||
"WLR_NO_HARDWARE_CURSORS,1"
|
||||
];
|
||||
|
||||
#Autostart
|
||||
exec = [
|
||||
# Fix slow startup
|
||||
"systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
|
||||
"dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
|
||||
];
|
||||
|
||||
exec-once = [
|
||||
"mako"
|
||||
"polkit-kde-agent"
|
||||
"emacs --fg-daemon"
|
||||
"hypridle"
|
||||
"kanshi"
|
||||
"virsh net-start default"
|
||||
#"thunderbird"
|
||||
#"element-desktop"
|
||||
"keepassxc"
|
||||
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
|
||||
] ++ lib.optionals config.dov.bar.waybar.enable [ "waybar" ];
|
||||
|
||||
"$mainMod" = "SUPER";
|
||||
|
||||
bind = [
|
||||
"$mainMod, G, fullscreen,"
|
||||
"$mainMod, t, togglegroup"
|
||||
"$mainMod, v, togglefloating"
|
||||
"$mainMod, s, togglesplit"
|
||||
|
||||
#bind = $mainMod, RETURN, exec, kitty
|
||||
"$mainMod, RETURN, exec, alacritty"
|
||||
"$mainMod, o, exec, emacsclient -c"
|
||||
"SUPER_SHIFT, RETURN, exec, thunar"
|
||||
"SUPER_SHIFT, l, exec, hyprctl switchxkblayout at-translated-set-2-keyboard 0 && hyprlock"
|
||||
|
||||
#bind = $mainMod, M, exit,
|
||||
"SUPER_SHIFT, q, killactive,"
|
||||
|
||||
# Switch Keyboard Layouts
|
||||
"$mainMod, SPACE, exec, hyprctl switchxkblayout teclado-gamer-husky-blizzard next"
|
||||
|
||||
", Print, exec, grim -g \"$(slurp)\" - | wl-copy"
|
||||
"SHIFT, Print, exec, IMG=~/Pictures/$(date +%Y-%m-%d_%H-%m-%s).png && grim -g \"$(slurp)\" $IMG"
|
||||
|
||||
# Functional keybinds
|
||||
",XF86AudioMicMute,exec,pamixer --default-source -t"
|
||||
",XF86MonBrightnessDown,exec,brightnessctl s 20-"
|
||||
",XF86MonBrightnessUp,exec,brightnessctl s 20+"
|
||||
",XF86AudioMute,exec,amixer -q sset Master toggle"
|
||||
",XF86AudioLowerVolume,exec,amixer -q sset Master 5%-"
|
||||
",XF86AudioRaiseVolume,exec,amixer -q sset Master 5%+"
|
||||
",XF86AudioPlay,exec,playerctl play-pause"
|
||||
",XF86AudioPause,exec,playerctl play-pause"
|
||||
|
||||
# to switch between windows in a floating workspace
|
||||
"SUPER,Tab,changegroupactive, f"
|
||||
"SUPER_SHIFT,Tab,changegroupactive, b"
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
"$mainMod, h, movefocus, l"
|
||||
"$mainMod, l, movefocus, r"
|
||||
"$mainMod, k, movefocus, u"
|
||||
"$mainMod, j, movefocus, d"
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
"$mainMod, 1, split-workspace, 1"
|
||||
"$mainMod, 2, split-workspace, 2"
|
||||
"$mainMod, 3, split-workspace, 3"
|
||||
"$mainMod, 4, split-workspace, 4"
|
||||
"$mainMod, 5, split-workspace, 5"
|
||||
"$mainMod, 6, split-workspace, 6"
|
||||
"$mainMod, 7, split-workspace, 7"
|
||||
"$mainMod, 8, split-workspace, 8"
|
||||
"$mainMod, 9, split-workspace, 9"
|
||||
"$mainMod, 0, split-workspace, 10"
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
"$mainMod SHIFT, 1, split-movetoworkspace, 1"
|
||||
"$mainMod SHIFT, 2, split-movetoworkspace, 2"
|
||||
"$mainMod SHIFT, 3, split-movetoworkspace, 3"
|
||||
"$mainMod SHIFT, 4, split-movetoworkspace, 4"
|
||||
"$mainMod SHIFT, 5, split-movetoworkspace, 5"
|
||||
"$mainMod SHIFT, 6, split-movetoworkspace, 6"
|
||||
"$mainMod SHIFT, 7, split-movetoworkspace, 7"
|
||||
"$mainMod SHIFT, 8, split-movetoworkspace, 8"
|
||||
"$mainMod SHIFT, 9, split-movetoworkspace, 9"
|
||||
"$mainMod SHIFT, 0, split-movetoworkspace, 10"
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
"$mainMod, mouse_down, split-workspace, e+1"
|
||||
"$mainMod, mouse_up, split-workspace, e-1"
|
||||
"$mainMod,SPACE, exec, hyprctl switchxkblayout at-translated-set-2-keyboard next"
|
||||
] ++ lib.optionals config.dov.launcher.wofi.enable [
|
||||
"$mainMod, p, exec, wofi --show drun"
|
||||
];
|
||||
|
||||
bindm = [
|
||||
"$mainMod, mouse:272, movewindow"
|
||||
"$mainMod, mouse:273, resizewindow"
|
||||
"ALT, mouse:272, resizewindow"
|
||||
];
|
||||
|
||||
input = {
|
||||
kb_layout = "us,ru,ua";
|
||||
kb_options = "grp:win_space_toggle";
|
||||
|
||||
follow_mouse = 1;
|
||||
|
||||
touchpad = {
|
||||
natural_scroll = false;
|
||||
};
|
||||
|
||||
sensitivity = 0;
|
||||
};
|
||||
|
||||
general = {
|
||||
gaps_in = 5;
|
||||
gaps_out = 20;
|
||||
border_size = 2;
|
||||
"col.active_border" = lib.mkForce "rgba(33ccffee) rgba(00ff99ee) 45deg";
|
||||
"col.inactive_border" = lib.mkForce "rgba(595959aa)";
|
||||
|
||||
layout = "dwindle";
|
||||
};
|
||||
|
||||
decoration = {
|
||||
rounding = 10;
|
||||
|
||||
shadow = {
|
||||
enabled = true;
|
||||
range = 4;
|
||||
render_power = 3;
|
||||
};
|
||||
};
|
||||
|
||||
animations = {
|
||||
enabled = "yes";
|
||||
|
||||
bezier = "ease,0.4,0.02,0.21,1";
|
||||
|
||||
animation = [
|
||||
"windows, 1, 3.5, ease, slide"
|
||||
"windowsOut, 1, 3.5, ease, slide"
|
||||
"border, 1, 6, default"
|
||||
"fade, 1, 3, ease"
|
||||
"workspaces, 1, 3.5, ease"
|
||||
];
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
pseudotile = "yes";
|
||||
preserve_split = "yes";
|
||||
};
|
||||
|
||||
master = {
|
||||
new_status = "master";
|
||||
};
|
||||
|
||||
gestures = {
|
||||
workspace_swipe = false;
|
||||
};
|
||||
|
||||
workspace = [
|
||||
#"0, monitor:DP-1"
|
||||
"8, monitor:e-DP-1"
|
||||
"9, monitor:e-DP-1"
|
||||
#"9, on-created-empty:[tiled] thunderbird"
|
||||
];
|
||||
|
||||
windowrulev2 = [
|
||||
"workspace 9, class:^(.*thunderbird.*)$"
|
||||
"group, class:^(.*thunderbird.*)$"
|
||||
"workspace 9, class:^(.*Element.*)$"
|
||||
"group, class:^(.*Element.*)$"
|
||||
"workspace 8, title:^(.*KeePassXC.*)$"
|
||||
"float, class:^(.*steam.*)$"
|
||||
"noinitialfocus,class:(jetbrains-)(.*),title:^win(.*), initialTitle:win.*, floating:1"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
home.file.".config/hypr/colors".text = ''
|
||||
$background = ${colors.base00}
|
||||
$foreground = ${colors.base05}
|
||||
|
||||
$color0 = ${colors.base00}
|
||||
$color1 = ${colors.base01}
|
||||
$color2 = ${colors.base02}
|
||||
$color3 = ${colors.base03}
|
||||
$color4 = ${colors.base04}
|
||||
$color5 = ${colors.base05}
|
||||
$color6 = ${colors.base06}
|
||||
$color7 = ${colors.base07}
|
||||
$color8 = ${colors.base08}
|
||||
$color9 = ${colors.base09}
|
||||
$color10 = ${colors.base0A}
|
||||
$color11 = ${colors.base0B}
|
||||
$color12 = ${colors.base0C}
|
||||
$color13 = ${colors.base0D}
|
||||
$color14 = ${colors.base0E}
|
||||
$color15 = ${colors.base0F}
|
||||
'';
|
||||
|
||||
xdg.configFile."hypr/hyprlock.conf".source = ./hyprlock.conf;
|
||||
xdg.configFile."hypr/hypridle.conf".source = ./hypridle.conf;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
general {
|
||||
lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances.
|
||||
#before_sleep_cmd = loginctl lock-session # lock before suspend.
|
||||
#after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 150 # 2.5min.
|
||||
on-timeout = brightnessctl -s set 10 # set monitor backlight to minimum, avoid 0 on OLED monitor.
|
||||
on-resume = brightnessctl -r # monitor backlight restor.
|
||||
}
|
||||
|
||||
# change language to US before locking
|
||||
listener {
|
||||
timeout = 150 # 2.5min.
|
||||
on-timeout = hyprctl switchxkblayout at-translated-set-2-keyboard 0 # switch to us layout
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 300 # 5min
|
||||
on-timeout = loginctl lock-session # lock screen when timeout has passed
|
||||
}
|
||||
|
||||
# listener {
|
||||
# timeout = 380 # 5.5min
|
||||
# on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
|
||||
# on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired.
|
||||
# }
|
||||
@@ -0,0 +1,65 @@
|
||||
source = ~/.cache/wal/colors-hyprland.conf
|
||||
|
||||
# BACKGROUND
|
||||
background {
|
||||
monitor =
|
||||
path = screenshot
|
||||
blur_passes = 3
|
||||
contrast = 0.8916
|
||||
brightness = 0.8172
|
||||
vibrancy = 0.1696
|
||||
vibrancy_darkness = 0.0
|
||||
}
|
||||
|
||||
# GENERAL
|
||||
general {
|
||||
no_fade_in = false
|
||||
grace = 0
|
||||
disable_loading_bar = true
|
||||
}
|
||||
|
||||
# INPUT FIELD
|
||||
input-field {
|
||||
monitor =
|
||||
size = 250, 60
|
||||
outline_thickness = 2
|
||||
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
|
||||
dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0
|
||||
dots_center = true
|
||||
outer_color = rgba(0, 0, 0, 0)
|
||||
inner_color = rgba(0, 0, 0, 0.5)
|
||||
font_color = rgb(200, 200, 200)
|
||||
fade_on_empty = false
|
||||
font_family = JetBrains Mono Nerd Font Mono
|
||||
placeholder_text = <i><span foreground="##cdd6f4">Input Password...</span></i>
|
||||
hide_input = false
|
||||
position = 0, -120
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
# TIME
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo "$(date +"%-I:%M%p")"
|
||||
color = $foreground
|
||||
#color = rgba(255, 255, 255, 0.6)
|
||||
font_size = 120
|
||||
font_family = JetBrains Mono Nerd Font Mono ExtraBold
|
||||
position = 0, -300
|
||||
halign = center
|
||||
valign = top
|
||||
}
|
||||
|
||||
# USER
|
||||
label {
|
||||
monitor =
|
||||
text = Hi there, $USER
|
||||
color = $foreground
|
||||
#color = rgba(255, 255, 255, 0.6)
|
||||
font_size = 25
|
||||
font_family = JetBrains Mono Nerd Font Mono
|
||||
position = 0, -40
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
Reference in New Issue
Block a user