laptop, large refactor and some new stuff
This commit is contained in:
parent
525f4ce03b
commit
99bbbbeb1e
15 changed files with 307 additions and 492 deletions
133
nixos/hosts/thalassa/null/home/default.nix
Normal file
133
nixos/hosts/thalassa/null/home/default.nix
Normal file
|
@ -0,0 +1,133 @@
|
|||
{ config, pkgs, lib, fetchFromGithub, ... }:
|
||||
let
|
||||
rofi = fetchTarball {
|
||||
url = "https://github.com/adi1090x/rofi/archive/refs/heads/master.zip";
|
||||
sha256 = "0wq8v758gnk1wjdqyqmda5rlxlpv33l3sdf3rb3nx834vc5hr1rn";
|
||||
};
|
||||
in
|
||||
{
|
||||
programs.home-manager.enable = true;
|
||||
home.username = "victor";
|
||||
home.homeDirectory = "/home/victor";
|
||||
home.stateVersion = "22.05";
|
||||
|
||||
imports = [
|
||||
./hyprland
|
||||
./eww
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
discord
|
||||
rnix-lsp
|
||||
fusee-launcher
|
||||
neofetch
|
||||
fluxcd
|
||||
k9s
|
||||
kubectl
|
||||
nixpkgs-review
|
||||
ripgrep
|
||||
rsync
|
||||
rustup
|
||||
rust-analyzer
|
||||
steam-run
|
||||
texlive.combined.scheme-full
|
||||
retroarchFull
|
||||
python3
|
||||
element-desktop-wayland
|
||||
|
||||
gnome.gnome-font-viewer
|
||||
|
||||
wofi # Wayland rofi
|
||||
grim # Screenshot tool
|
||||
wf-recorder # Screenrecorder
|
||||
wl-clipboard # Clipboard manager
|
||||
networkmanager_dmenu
|
||||
brightnessctl
|
||||
];
|
||||
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
package = pkgs.gitAndTools.gitFull;
|
||||
userName = "Victor";
|
||||
userEmail = "victor@xirion.net";
|
||||
};
|
||||
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
shortcut = "b";
|
||||
terminal = "screen-256color";
|
||||
clock24 = true;
|
||||
};
|
||||
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
package = pkgs.firefox-devedition-bin;
|
||||
};
|
||||
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
package = pkgs.vscode;
|
||||
extensions = with pkgs.vscode-extensions; [
|
||||
matklad.rust-analyzer
|
||||
mkhl.direnv
|
||||
jnoortheen.nix-ide
|
||||
james-yu.latex-workshop
|
||||
valentjn.vscode-ltex
|
||||
];
|
||||
};
|
||||
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
nix-direnv = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
programs.zsh.enable = true;
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
name = "Catppuccin-Purple-Dark";
|
||||
package = pkgs.catppuccin-gtk;
|
||||
};
|
||||
iconTheme = {
|
||||
name = "Arc";
|
||||
package = pkgs.arc-icon-theme;
|
||||
};
|
||||
};
|
||||
|
||||
services.syncthing.enable = true;
|
||||
|
||||
home.file.".config/networkmanager-dmenu/config.ini".text = ''
|
||||
[dmenu]
|
||||
dmenu_command = wofi --dmenu -i
|
||||
# # Note that dmenu_command can contain arguments as well like:
|
||||
# # `dmenu_command = rofi -dmenu -i -theme nmdm`
|
||||
# # `dmenu_command = rofi -dmenu -width 30 -i`
|
||||
# # `dmenu_command = dmenu -i -l 25 -b -nb #909090 -nf #303030`
|
||||
# (Default: False) use rofi highlighting instead of '=='
|
||||
rofi_highlight = true
|
||||
# compact = <True or False> # (Default: False). Remove extra spacing from display
|
||||
# pinentry = <Pinentry command> # (Default: None) e.g. `pinentry-gtk`
|
||||
# wifi_chars = <string of 4 unicode characters representing 1-4 bars strength>
|
||||
wifi_chars = ▂▄▆█
|
||||
# list_saved = <True or False> # (Default: False) list saved connections
|
||||
|
||||
[dmenu_passphrase]
|
||||
# # Uses the -password flag for Rofi, -x for bemenu. For dmenu, sets -nb and
|
||||
# # -nf to the same color or uses -P if the dmenu password patch is applied
|
||||
# # https://tools.suckless.org/dmenu/patches/password/
|
||||
# obscure = True
|
||||
# obscure_color = #222222
|
||||
|
||||
[editor]
|
||||
# terminal = <name of terminal program>
|
||||
terminal = alacritty
|
||||
# gui_if_available = <True or False> (Default: True)
|
||||
'';
|
||||
}
|
32
nixos/hosts/thalassa/null/home/eww/default.nix
Normal file
32
nixos/hosts/thalassa/null/home/eww/default.nix
Normal file
|
@ -0,0 +1,32 @@
|
|||
{ pkgs, ... }: {
|
||||
home.packages = with pkgs; [
|
||||
eww-wayland
|
||||
pamixer
|
||||
lua
|
||||
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
|
||||
];
|
||||
|
||||
home.file.".config/eww/eww.yuck".source = ./eww.yuck;
|
||||
home.file.".config/eww/eww.scss".source = ./eww.scss;
|
||||
|
||||
# scripts
|
||||
home.file.".config/eww/scripts/volume.sh" = {
|
||||
source = ./scripts/volume.sh;
|
||||
executable = true;
|
||||
};
|
||||
|
||||
home.file.".config/eww/scripts/wifi.sh" = {
|
||||
source = ./scripts/wifi.sh;
|
||||
executable = true;
|
||||
};
|
||||
|
||||
home.file.".config/eww/scripts/workspaces.sh" = {
|
||||
source = ./scripts/workspaces.sh;
|
||||
executable = true;
|
||||
};
|
||||
|
||||
home.file.".config/eww/scripts/workspaces.lua" = {
|
||||
source = ./scripts/workspaces.lua;
|
||||
executable = true;
|
||||
};
|
||||
}
|
252
nixos/hosts/thalassa/null/home/eww/eww.scss
Normal file
252
nixos/hosts/thalassa/null/home/eww/eww.scss
Normal file
|
@ -0,0 +1,252 @@
|
|||
$base: #44465c;
|
||||
$blue: #3fc6de;
|
||||
$surface0: #44465c;
|
||||
$surface1: #44465c;
|
||||
$text: #d9e0ee;
|
||||
$overlay0: #6e738d;
|
||||
$red: #ec6a88;
|
||||
$peach: #efb993;
|
||||
$yellow: #efb993;
|
||||
$mauve: #b072d1;
|
||||
$green: #3fdaa4;
|
||||
$mantle: #292a37;
|
||||
$crust: #2e303e;
|
||||
$light-gray: #9699b7;
|
||||
|
||||
* {
|
||||
all: unset; //Unsets everything so you can style everything from scratch
|
||||
font-family: "JetBrainsMono"
|
||||
}
|
||||
|
||||
.icon {
|
||||
font-family: monospace;
|
||||
font-size: 1.4rem;
|
||||
}
|
||||
|
||||
button {
|
||||
transition: background-color 200ms, color 200ms;
|
||||
}
|
||||
|
||||
.active {
|
||||
color: $green;
|
||||
font-size: 1.4rem;
|
||||
}
|
||||
|
||||
.inactive {
|
||||
color: $base;
|
||||
font-size: 1.4rem;
|
||||
}
|
||||
|
||||
.inactive:hover {
|
||||
color: $light-gray;
|
||||
}
|
||||
|
||||
.bar {
|
||||
background-color: $mantle;
|
||||
border-left: 4px dotted $red;
|
||||
}
|
||||
|
||||
.wifi {
|
||||
font-size: 2rem;
|
||||
color: $blue;
|
||||
}
|
||||
|
||||
.clock {
|
||||
font-weight: bold;
|
||||
background-color: $base;
|
||||
color: $text;
|
||||
border-radius: 10px;
|
||||
padding: 0.2rem;
|
||||
margin: 0.5rem;
|
||||
}
|
||||
|
||||
|
||||
.date {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.reg-btn {
|
||||
font-size: 2rem;
|
||||
margin: 2px 8px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.powerbutton {
|
||||
color: $red;
|
||||
}
|
||||
|
||||
.powerbutton:hover {
|
||||
background-color: $base;
|
||||
}
|
||||
|
||||
.powerbutton:active {
|
||||
background-color: $red;
|
||||
color: $mantle;
|
||||
}
|
||||
|
||||
.battery {
|
||||
font-size: 1.5rem;
|
||||
color: $green;
|
||||
}
|
||||
|
||||
.volume {
|
||||
font-size: 1.5rem;
|
||||
color: $blue;
|
||||
}
|
||||
|
||||
// Credits AlphaTechnolog
|
||||
.powermenu-box {
|
||||
padding: 0 2px;
|
||||
margin: 7px 7px 7px 0px;
|
||||
background: inherit;
|
||||
|
||||
.dispatcher {
|
||||
border-radius: 15px;
|
||||
background: $base;
|
||||
color: $red;
|
||||
font-size: 14px;
|
||||
padding: 0 14px 0 10px;
|
||||
|
||||
&:hover {
|
||||
background-color: $surface0;
|
||||
}
|
||||
|
||||
&:active {
|
||||
background-color: $surface1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// powermenu
|
||||
.powermenu-container {
|
||||
background: $crust;
|
||||
color: $text;
|
||||
padding: 10px;
|
||||
font-size: 55px;
|
||||
border-radius: 5px;
|
||||
|
||||
transition: all 200ms cubic-bezier(.1, -0.00, .0, 1.49);
|
||||
|
||||
.btn {
|
||||
margin: 1rem;
|
||||
}
|
||||
|
||||
// shutdown
|
||||
.shutdown-btn-box .btn {
|
||||
color: $red;
|
||||
border-radius: 15px;
|
||||
background-color: $mantle;
|
||||
|
||||
&:hover {
|
||||
background-color: $base;
|
||||
}
|
||||
|
||||
&:active {
|
||||
background-color: $surface1;
|
||||
}
|
||||
}
|
||||
|
||||
// reboot
|
||||
.reboot-btn-box .btn {
|
||||
color: $mauve;
|
||||
border-radius: 15px;
|
||||
background-color: $mantle;
|
||||
|
||||
&:hover {
|
||||
background-color: $base;
|
||||
}
|
||||
|
||||
&:active {
|
||||
background-color: $surface1;
|
||||
}
|
||||
}
|
||||
|
||||
// exit
|
||||
.exit-btn-box .btn {
|
||||
color: $yellow;
|
||||
border-radius: 15px;
|
||||
background-color: $mantle;
|
||||
|
||||
&:hover {
|
||||
background-color: $base;
|
||||
}
|
||||
|
||||
&:active {
|
||||
background-color: $surface1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// battery menu
|
||||
.batterywindow {
|
||||
background-color: $mantle;
|
||||
border-radius: 5px;
|
||||
font-size: 18px;
|
||||
font-weight: normal;
|
||||
color: $text;
|
||||
|
||||
progressbar {
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
progressbar progress {
|
||||
background-color: $green;
|
||||
}
|
||||
|
||||
progressbar trough {
|
||||
background-color: $base;
|
||||
}
|
||||
|
||||
.batterymenu {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Calendar
|
||||
.cal {
|
||||
background-color: $mantle;
|
||||
border-radius: 5px;
|
||||
font-size: 18px;
|
||||
font-weight: normal;
|
||||
|
||||
.cal-in {
|
||||
padding: 0px 10px 0px 10px;
|
||||
color: $text;
|
||||
|
||||
.cal {
|
||||
&.highlight {
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
padding: 5px 5px 5px 5px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
calender {
|
||||
color: $text;
|
||||
}
|
||||
|
||||
calendar:selected {
|
||||
color: $mauve;
|
||||
}
|
||||
|
||||
calendar.header {
|
||||
color: $overlay0;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
calendar.button {
|
||||
color: $base;
|
||||
}
|
||||
|
||||
calendar.highlight {
|
||||
color: $overlay0;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
calendar:indeterminate {
|
||||
color: $text;
|
||||
}
|
180
nixos/hosts/thalassa/null/home/eww/eww.yuck
Normal file
180
nixos/hosts/thalassa/null/home/eww/eww.yuck
Normal file
|
@ -0,0 +1,180 @@
|
|||
(defwidget bar []
|
||||
(centerbox :orientation "v" :hexpand false
|
||||
(box :valign "start" :hexpand false :vexpand true :orientation "v" :space-evenly false
|
||||
(powerbutton)
|
||||
)
|
||||
|
||||
(workspaces :halign "center" :vexpand true :hexpand false :orientation "v")
|
||||
|
||||
(box :valign "end" :hexpand false :vexpand true :orientation "v" :space-evenly false
|
||||
(wifi)
|
||||
(volume)
|
||||
(battery)
|
||||
(time)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; Variables
|
||||
; (defvar time false)
|
||||
; (defvar cal false)
|
||||
|
||||
;; ━━━ WIFI ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
(defvar wifi "{}")
|
||||
(defpoll wifi :interval "30s" "./scripts/wifi.sh")
|
||||
|
||||
(defwidget wifi []
|
||||
(box :vexpand false :hexpand false :orientation "v"
|
||||
(label :text {wifi.icon}
|
||||
:limit-width 10
|
||||
:tooltip {wifi.status}
|
||||
:class "wifi"
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; ━━━ BATTERY ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
(defwidget battery []
|
||||
(eventbox :onclick "eww open batterywindow --toggle"
|
||||
(label :text `${
|
||||
EWW_BATTERY.BAT0.status == "Charging" ? "" :
|
||||
EWW_BATTERY.BAT0.capacity < 10 ? "" :
|
||||
EWW_BATTERY.BAT0.capacity < 20 ? "" :
|
||||
EWW_BATTERY.BAT0.capacity < 30 ? "" :
|
||||
EWW_BATTERY.BAT0.capacity < 40 ? "" :
|
||||
EWW_BATTERY.BAT0.capacity < 50 ? "" :
|
||||
EWW_BATTERY.BAT0.capacity < 60 ? "" :
|
||||
EWW_BATTERY.BAT0.capacity < 70 ? "" :
|
||||
EWW_BATTERY.BAT0.capacity < 80 ? "" :
|
||||
EWW_BATTERY.BAT0.capacity < 90 ? "" : ""
|
||||
}`
|
||||
:limit-width 10
|
||||
:tooltip "${EWW_BATTERY.BAT0.status}: ${EWW_BATTERY.BAT0.capacity}%"
|
||||
:class "battery"
|
||||
))
|
||||
)
|
||||
|
||||
(defwidget batterymenu []
|
||||
(box :orientation "v"
|
||||
:class "batterymenu"
|
||||
(label :text "${EWW_BATTERY.BAT0.status}: ${EWW_BATTERY.BAT0.capacity}%")
|
||||
(progress :value "${EWW_BATTERY.BAT0.capacity}" :orientation "h") ; TODO: change class (and color) on low juice
|
||||
)
|
||||
)
|
||||
|
||||
(defwindow batterywindow
|
||||
:monitor 0
|
||||
:geometry (geometry
|
||||
:x "53px"
|
||||
:y "30px"
|
||||
:anchor "bottom left"
|
||||
)
|
||||
(batterymenu)
|
||||
)
|
||||
|
||||
;; ━━━ VOLUME ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
(defvar volume "{}")
|
||||
(defpoll volume :interval "1s" "./scripts/volume.sh")
|
||||
(defwidget volume []
|
||||
(eventbox :onclick "pamixer -t"
|
||||
(label :text {volume.icon}
|
||||
:limit-width 10
|
||||
:tooltip "${volume.percent}%"
|
||||
:class "volume"
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; ━━━ TIME ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
(defpoll hour :interval "10s" "date +%H")
|
||||
(defpoll minute :interval "10s" "date +%M")
|
||||
(defpoll dateVar :interval "600s" "date '+%A %d.%m.%y'")
|
||||
|
||||
(defwidget time []
|
||||
(eventbox :cursor "hand" :hexpand false :vexpand false
|
||||
:tooltip "${dateVar}"
|
||||
:onclick "eww open calendar --toggle &"
|
||||
(box :orientation "v" :hexpand false :vexpand false :space-evenly false :class "clock"
|
||||
(label :class "date" :text "${hour}")
|
||||
|
||||
(label :class "date" :text "${minute}")
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; Calendar
|
||||
(defpoll calendar_day :interval "20h" "date '+%d'")
|
||||
(defpoll calendar_year :interval "20h" "date '+%Y'")
|
||||
(defwidget cal []
|
||||
(box :class "cal" :orientation "v"
|
||||
(box :class "cal-in"
|
||||
(calendar :class "cal"
|
||||
:day calendar_day
|
||||
:year calendar_year))))
|
||||
|
||||
(defwindow calendar
|
||||
:monitor 0
|
||||
:geometry (geometry :x "53px"
|
||||
:y "5px"
|
||||
:anchor "bottom left"
|
||||
:width "270px"
|
||||
:height "60px")
|
||||
(cal))
|
||||
|
||||
;; powermenu
|
||||
|
||||
(defwidget powerbutton []
|
||||
(eventbox :cursor "hand"
|
||||
(button :class "reg-btn powerbutton"
|
||||
:onclick "eww open powermenu --toggle &" "")
|
||||
)
|
||||
)
|
||||
(defwidget powermenucontent []
|
||||
(box :orientation "h"
|
||||
:class "powermenu-container"
|
||||
(box :class "shutdown-btn-box"
|
||||
:orientation "h"
|
||||
(button :class "btn"
|
||||
:tooltip "Shutdown"
|
||||
:onclick "eww close powermenu && shutdown now"
|
||||
"⏻")
|
||||
)
|
||||
(box :class "reboot-btn-box"
|
||||
:orientation "h"
|
||||
(button :class "btn"
|
||||
:tooltip "Reboot"
|
||||
:onclick "eww close powermenu && reboot"
|
||||
"")
|
||||
)
|
||||
(box :class "exit-btn-box"
|
||||
:orientation "h"
|
||||
(button :class "btn"
|
||||
:tooltip "Suspend"
|
||||
:onclick "systemctl suspend"
|
||||
"⏾")
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(defwindow powermenu
|
||||
:monitor 0
|
||||
:geometry (geometry :x "0%"
|
||||
:y "0%"
|
||||
:width "30%"
|
||||
:height "15%"
|
||||
:anchor "center center")
|
||||
:wm-ignore true
|
||||
(powermenucontent))
|
||||
|
||||
(deflisten workspaces_listen "./scripts/workspaces.sh")
|
||||
(defwidget workspaces []
|
||||
(literal :content workspaces_listen))
|
||||
|
||||
(defwindow bar
|
||||
:monitor 0
|
||||
:exclusive false
|
||||
:geometry (geometry :height "1080px" :x "-4px" :y "0px"
|
||||
:width "52px"
|
||||
:anchor "top left")
|
||||
:stacking "fg"
|
||||
(bar))
|
15
nixos/hosts/thalassa/null/home/eww/scripts/volume.sh
Executable file
15
nixos/hosts/thalassa/null/home/eww/scripts/volume.sh
Executable file
|
@ -0,0 +1,15 @@
|
|||
#!/bin/sh
|
||||
|
||||
per="$(pamixer --get-volume)"
|
||||
|
||||
if pamixer --get-mute | grep -q true; then
|
||||
icon="婢"
|
||||
elif [ "$per" -gt 66 ]; then
|
||||
icon="墳" # high
|
||||
elif [ "$per" -gt 33 ]; then
|
||||
icon="奔" # med
|
||||
else
|
||||
icon="奄" #low
|
||||
fi
|
||||
|
||||
printf "{\"icon\": \"${icon}\", \"percent\": \"${per}\"}"
|
16
nixos/hosts/thalassa/null/home/eww/scripts/wifi.sh
Executable file
16
nixos/hosts/thalassa/null/home/eww/scripts/wifi.sh
Executable file
|
@ -0,0 +1,16 @@
|
|||
#!/bin/sh
|
||||
|
||||
if nmcli g | rg -q "\bconnected\b"; then
|
||||
icon=""
|
||||
ssid=$(nmcli -t -f name connection show --active)
|
||||
if echo $ssid | rg -q "Wired"; then
|
||||
status="Connected via cable"
|
||||
else
|
||||
status="Connected to ${ssid}"
|
||||
fi
|
||||
else
|
||||
icon=""
|
||||
status="offline"
|
||||
fi
|
||||
|
||||
printf "{\"icon\": \"${icon}\", \"status\": \"${status}\"}"
|
21
nixos/hosts/thalassa/null/home/eww/scripts/workspaces.lua
Executable file
21
nixos/hosts/thalassa/null/home/eww/scripts/workspaces.lua
Executable file
|
@ -0,0 +1,21 @@
|
|||
#!/usr/bin/env lua
|
||||
|
||||
aw = io.popen("hyprctl monitors | grep active | sed 's/()/(1)/g' | sort | awk 'NR>1{print $1}' RS='(' FS=')'")
|
||||
active_workspace = aw:read("*a")
|
||||
aw:close()
|
||||
|
||||
box = "(box :orientation \"v\" :spacing 1 :space-evenly \"true\" "
|
||||
|
||||
for i = 1,10 do
|
||||
if i == tonumber(active_workspace) then
|
||||
local btn = "(button :class \"active\" :onclick \"hyprctl dispatch workspace "..i.." \" \"\")"
|
||||
box = box .. btn
|
||||
else
|
||||
local btn = "(button :class \"inactive\" :onclick \"hyprctl dispatch workspace "..i.."\" \"\")"
|
||||
box = box .. btn
|
||||
end
|
||||
end
|
||||
|
||||
box = box .. ")"
|
||||
|
||||
print(box)
|
8
nixos/hosts/thalassa/null/home/eww/scripts/workspaces.sh
Executable file
8
nixos/hosts/thalassa/null/home/eww/scripts/workspaces.sh
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/bin/sh
|
||||
workspaces() {
|
||||
./scripts/workspaces.lua
|
||||
}
|
||||
workspaces
|
||||
tail -f /tmp/hypr/$HYPRLAND_INSTANCE_SIGNATURE/hyprland.log | grep --line-buffered "Changed to workspace" | while read -r; do
|
||||
workspaces
|
||||
done
|
102
nixos/hosts/thalassa/null/home/hyprland/default.nix
Normal file
102
nixos/hosts/thalassa/null/home/hyprland/default.nix
Normal file
|
@ -0,0 +1,102 @@
|
|||
{ pkgs, ... }: {
|
||||
home.file.".config/hypr/hyprpaper.conf".text = ''
|
||||
ipc = off
|
||||
preload = ~/cloud/Pictures/Wallpapers-Laptop/wallpaper-nix.png
|
||||
wallpaper = eDP-1,~/cloud/Pictures/Wallpapers-Laptop/wallpaper-nix.png
|
||||
'';
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
exec-once=${pkgs.hyprpaper}/bin/hyprpaper
|
||||
exec-once=eww daemon
|
||||
exec-once=eww open bar
|
||||
|
||||
monitor=eDP-1,1920x1080@60,0x0,1
|
||||
monitor=eDP-1,addreserved,0,0,48,0
|
||||
monitor=,preferred,auto,1
|
||||
|
||||
general {
|
||||
layout = dwindle
|
||||
}
|
||||
|
||||
input {
|
||||
kb_options=caps:escape
|
||||
touchpad {
|
||||
natural_scroll= true
|
||||
}
|
||||
}
|
||||
|
||||
gestures {
|
||||
workspace_swipe = true
|
||||
}
|
||||
|
||||
misc {
|
||||
no_vfr = false
|
||||
disable_hyprland_logo = true
|
||||
disable_splash_rendering = true
|
||||
}
|
||||
|
||||
dwindle {
|
||||
pseudotile=true
|
||||
}
|
||||
|
||||
bind=SUPER,RETURN,exec,alacritty
|
||||
bind=SUPER,f,exec,firefox-devedition
|
||||
bind=SUPER,d,exec,wofi --show run,drun
|
||||
|
||||
bind=,Print,exec,grim -g "$(slurp)" - | wl-copy -t image/png
|
||||
bind=SUPER,W,killactive,
|
||||
bind=SUPERSHIFT,Q,exit,
|
||||
bind=SUPER,S,togglefloating,
|
||||
bind=SUPER,P,pseudo,
|
||||
|
||||
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,mouse_down,workspace,e+1
|
||||
bind=SUPER,mouse_up,workspace,e-1
|
||||
|
||||
bind=SUPER,g,togglegroup
|
||||
bind=SUPER,tab,changegroupactive
|
||||
|
||||
# Firefox notifications
|
||||
windowrule=float,title:^(\s*)$
|
||||
windowrule=nofocus,title:^(\s*)$
|
||||
windowrule=move 1569 0,title:^(\s*)$
|
||||
windowrule=opacity 0.8,title:^(\s*)$
|
||||
windowrule=rounding 3,title:^(\s*)$
|
||||
windowrule=animation popin,title:^(\s*)$
|
||||
|
||||
bind=,XF86MonBrightnessUp,exec,brightnessctl -q s +5%
|
||||
bind=,XF86MonBrightnessDown,exec,brightnessctl -q s 5%-
|
||||
bind=,XF86MonRaiseVolume,exec,pamixer -i 5
|
||||
bind=,XF86MonLowerVolume,exec,pamixer -d 5
|
||||
bind=,XF86AudioMute,exec,pamixer -t
|
||||
'';
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue