Update Hyprland, use hyprpaper for wallpaper, split video
Change-Id: I4a000c722e074793d33822e8985539f212cf3299
Reviewed-on: https://git.clicks.codes/c/Coded/nixConfig/+/371
Reviewed-by: Samuel Shuert <coded@clicks.codes>
Tested-by: Samuel Shuert <coded@clicks.codes>
diff --git a/extensions/eww/eww.scss b/extensions/eww/eww.scss
index 3c47527..d2abe6d 100644
--- a/extensions/eww/eww.scss
+++ b/extensions/eww/eww.scss
@@ -1,447 +1,54 @@
-/** EWW.SCSS
-Created by saimoom **/
-*{
- all: unset;
- font-family: feather;
- font-family: DaddyTimeMono NF;
+* {
+ all: unset; //Unsets everything so you can style everything from scratch
}
-/** General **/
-.bar_class {
- background-color: #0f0f17;
- border-radius: 16px;
-}
-.module {
- margin: 0px 0px 0px 0px;
- border-radius: 10px 16px 0px 10px;
+//Global Styles
+.bar {
+ background-color: #3a3a3a;
+ color: #b0b4bc;
+ padding: 10px;
}
-/** tooltip!! **/
-tooltip.background {
- background-color: #0f0f17;
- font-size: 18;
- border-radius: 10px;
- color: #bfc9db;
-}
+// Styles on classes (see eww.yuck for more information)
-tooltip label {
- margin: 6px;
-}
-
-
-/** Widgets **/
-
-.clock_time_sep {
- font-size: 16;
- color: #bfc9db;
- margin: 0px 4px 1px 4px;
-}
-.clock_time_class, .clock_minute_class {
- font-size: 23;
-}
-.clock_date_class {
- font-size: 18;
- margin: 0px 20px 0px -1px;
- color: #d7beda;
-}
-.clock_minute_class {
- margin: 0px 20px 0px 3px;
- color: #bfc9db;
-}
-
-.clock_time_class {
- color: #bfc9db;
- font-weight: bold;
- margin: 0px 5px 0px 0px;
-}
-
-
-.membar {
- color: #e0b089;
- background-color: #38384d;
- border-radius: 10px;
-}
-.batbar {
- color: #afbea2;
- background-color: #38384d;
- border-radius: 10px;
-}
-.brightbar trough highlight {
- background-image: linear-gradient(to right, #e4c9af 30%, #f2cdcd 50%, #e0b089 100% *50);
- border-radius: 10px;
-}
-.volbar trough highlight {
- background-image: linear-gradient(to right, #afcee0 30%, #a1bdce 50%, #77a5bf 100% *50);
- border-radius: 10px;
-}
-.volume_icon {
- font-size: 22;
- color: #a1bdce;
- margin: 0px 10px 0px 10px;
-}
-
-
-.module_essid {
- font-size: 18;
- color: #a1bdce;
- margin: 0px 10px 0px 0px;
-}
-.module-wif {
- font-size: 22;
- color: #a1bdce;
- border-radius: 100%;
- margin: 0px 10px 0px 5px;
-}
-
-.iconmem {
- color: #e0b089;
-}
-.iconbat {
- color: #afbea2;
-}
-.iconbat, .iconmem {
- font-size: 15;
- margin: 10px;
-}
-.bright_icon {
- font-size: 22;
- color: #e4c9af;
- margin: 0px 10px 0px 10px;
-}
-
-
-.separ {
- color: #3e424f;
- font-weight: bold;
- font-size: 22px;
- margin: 0px 8px 0px 8px;
- }
-
-.mem_module {
- background-color: #0f0f17;
- border-radius: 16px;
- margin: 0px 10px 0px 3px;
- }
-.bat_module {
- background-color: #0f0f17;
- border-radius: 16px;
- margin: 0px 10px 0px 10px;
- }
-
-
-scale trough {
+.sidestuff slider {
all: unset;
- background-color: #22242b;
- box-shadow: 0 2px 3px 2px #06060b;
- border-radius: 16px;
- min-height: 10px;
- min-width: 70px;
- margin: 0px 10px 0px 0px;
+ color: #ffd5cd;
}
-.works {
-font-size: 27px;
-font-weight: normal;
-margin: 5px 0px 0px 20px;
-background-color: #0f0f17;
-}
-
-.0 , .01, .02, .03, .04, .05, .06,
-.011, .022, .033, .044, .055, .066{
- margin: 0px 10px 0px 0px;
-}
-
-/* Unoccupied */
-.0 {
-color: #3e424f;
-}
-
-/* Occupied */
-.01, .02, .03, .04, .05, .06 {
- color: #bfc9db;
-}
-
-/* Focused */
-.011, .022, .033, .044, .055, .066 {
- color: #a1bdce;
-}
-
-
-.song_cover_art {
- background-size: cover;
- background-position: center;
- min-height: 24px;
- min-width: 24px;
- margin: 10px;
- border-radius: 100px;
-}
-
-.song {
- color: #a1bdce;
- font-size : 18px;
- font-weight : bold;
- margin : 3px 5px 0px 0px;
-}
-
-.song_btn_play {
- color: #a1bdce;
- font-size : 28px;
- margin : 3px 0px 0px 5px;
-
-}
-
-
-.song_btn_prev, .song_btn_next {
- color: #bfc9db;
- font-size : 24px;
- margin : 3px 0px 0px 5px;
-
-}
-// Calendar
-.cal {
- background-color: #0f0f17;
- font-family: JetBrainsMono Nerd Font;
- font-size: 18px;
- font-weight: normal;
-
-.cal-in {
- padding: 0px 10px 0px 10px;
- color: #bfc9db;
-
-.cal {
- &.highlight {
- padding: 20px;
- }
-
- padding: 5px 5px 5px 5px;
- margin-left: 10px;
- }
- }
-}
-
-calender {
- color: #bfc9db;
-}
-calendar:selected {
- color: #a1bdce;
-}
-
-calendar.header {
-color: #a1bdce;
-font-weight: bold;
-}
-
-calendar.button {
-color: #afbea2;
-}
-
-calendar.highlight {
-color: #a1bdce;
-font-weight: bold;
-}
-
-calendar:indeterminate {
-color: #bfc9db;
-}
-
-
-
-
-
-
-
-.sys_sep {
- color: #38384d;
- font-size: 18;
- margin: 0px 10px 0px 10px;
-}
-.sys_text_bat_sub, .sys_text_mem_sub {
- font-size: 16;
- color: #bbc5d7;
- margin: 5px 0px 0px 25px;
-}
-.sys_text_bat, .sys_text_mem {
- font-size: 21;
- font-weight: bold;
- margin: 14px 0px 0px 25px;
-}
-.sys_icon_bat, .sys_icon_mem {
- font-size: 30;
- margin: 30px;
-}
-.sys_win {
- background-color: #0f0f17;
-}
-.sys_bat {
- color: #afbea2;
- background-color: #38384d;
+.metric scale trough highlight {
+ all: unset;
+ background-color: #D35D6E;
+ color: #000000;
border-radius: 10px;
}
-.sys_mem {
- color: #e4c9af;
- background-color: #38384d;
+.metric scale trough {
+ all: unset;
+ background-color: #4e4e4e;
+ border-radius: 50px;
+ min-height: 3px;
+ min-width: 50px;
+ margin-left: 10px;
+ margin-right: 20px;
+}
+.metric scale trough highlight {
+ all: unset;
+ background-color: #D35D6E;
+ color: #000000;
border-radius: 10px;
}
-.sys_icon_bat, .sys_text_bat {
- color: #afbea2;
+.metric scale trough {
+ all: unset;
+ background-color: #4e4e4e;
+ border-radius: 50px;
+ min-height: 3px;
+ min-width: 50px;
+ margin-left: 10px;
+ margin-right: 20px;
}
-.sys_icon_mem, .sys_text_mem {
- color: #e4c9af;
+.label-ram {
+ font-size: large;
}
-.sys_bat_box {
- border-radius: 16px;
- margin: 15px 10px 10px 20px;
- }
-.sys_mem_box {
- border-radius: 16px;
- margin: 10px 10px 15px 20px;
- }
-
-
-
-
-
-
-
-.music_pop {
- background-color: #0f0f17;
- border-radius: 16px;
+.workspaces button:hover {
+ color: #D35D6E;
}
- .music_cover_art {
- background-size: cover;
- background-position: center;
- min-height: 100px;
- box-shadow: 5px 5px 5px 5px #06060b;
- min-width: 170px;
- margin: 20px;
- border-radius: 20px;
-}
-
-.music {
- color: #a1bdce;
- font-size : 20px;
- font-weight : bold;
- margin : 20px 0px 0px -15px;
-}
-
-.music_artist {
- color: #bbc5d7;
- font-size : 16px;
- font-weight : normal;
- margin : 0px 0px 0px 0px;
-}
-
-.music_btn_prev, .music_btn_play, .music_btn_next {
- font-family: Iosevka Nerd Font;
-}
-.music_btn_prev {
- color: #bbc5d7;
- font-size : 32px;
- font-weight : normal;
- margin: 0px 0px 0px 0px;
-}
-.music_btn_play {
- color: #a1bdce;
- font-size : 48px;
- font-weight : normal;
- margin: 0px 0px 0px 0px;
-}
-.music_btn_next {
- color: #bbc5d7;
- font-size : 32px;
- font-weight : normal;
- margin: 0px 0px 0px 0px;
-}
-
-.music_bar scale trough highlight {
- all: unset;
- background-image: linear-gradient(to right, #afcee0 30%, #a1bdce 50%, #77a5bf 100% *50);
- border-radius: 24px;
-}
-.music_bar scale trough {
- all: unset;
- background-color: #232232;
- box-shadow: 0 6px 5px 2px #06060b;
- border-radius: 24px;
- min-height: 13px;
- min-width: 190px;
- margin : -10px 10px 20px 0px;
-}
-
-.audio-box {
- background-color: #0f0f17;
- border-radius: 16px;
-}
-.speaker_icon {
- background-size: cover;
- background-image: url('images/speaker.png');
- background-position: center;
- min-height: 70px;
- min-width: 75px;
- margin: 10px 20px 5px 20px;
- border-radius: 12px;
-}
-
-.speaker_text {
- color: #a1bdce;
- font-size : 26px;
- font-weight : bold;
- margin: 20px 0px 0px 0px;
-}
-
-.speaker_bar scale trough highlight {
- all: unset;
- background-image: linear-gradient(to right, #afcee0 30%, #a1bdce 50%, #77a5bf 100% *50);
- border-radius: 24px;
-}
-.speaker_bar scale trough {
- all: unset;
- background-color: #232232;
- box-shadow: 0 6px 5px 2px #06060b;
- border-radius: 24px;
- min-height: 13px;
- min-width: 120px;
- margin : 0px 0px 5px 0px;
-}
-
-
-
-
-.mic_icon {
- background-size: cover;
- background-image: url('images/mic.png');
- background-position: center;
- min-height: 70px;
- min-width: 75px;
- margin: 5px 20px 20px 20px;
- border-radius: 12px;
-}
-
-.mic_text {
- color: #a1bdce;
- font-size : 26px;
- font-weight : bold;
- margin: 0px 0px 0px 0px;
-}
-
-.mic_bar scale trough highlight {
- all: unset;
- background-image: linear-gradient(to right, #afcee0 30%, #a1bdce 50%, #77a5bf 100% *50);
- border-radius: 24px;
-}
-.mic_bar scale trough {
- all: unset;
- box-shadow: 0 6px 5px 2px #06060b;
- background-color: #232232;
- border-radius: 24px;
- min-height: 13px;
- min-width: 120px;
- margin : 0px 0px 20px 0px;
-}
-
-.audio_sep {
- color: #38384d;
- font-size: 18;
- margin : 0px 0px 0px 0px;
-}
-
diff --git a/extensions/eww/eww.yuck b/extensions/eww/eww.yuck
index 27eb4c4..a4a27d2 100644
--- a/extensions/eww/eww.yuck
+++ b/extensions/eww/eww.yuck
@@ -1,350 +1,75 @@
-;; Variables
-(defpoll clock_time :interval "5m" "date +\%I")
-(defpoll clock_minute :interval "5s" "date +\%M")
-(defpoll clock_date :interval "10h" "date '+%d/%m'")
-(defpoll volume_percent :interval "3s" "amixer -D pulse sget Master | grep 'Left:' | awk -F'[][]' '{ print $2 }' | tr -d '%'")
-(defpoll mic_percent :interval "3s" "amixer -D pulse sget Capture | grep 'Left:' | awk -F'[][]' '{ print $2 }' | tr -d '%'")
-(defpoll brightness_percent :interval "5s" "brightnessctl -m -d intel_backlight | awk -F, '{print substr($4, 0, length($4)-1)}' | tr -d '%'")
-(defpoll battery :interval "15s" "./scripts/battery --bat")
-(defpoll battery_status :interval "1m" "./scripts/battery --bat-st")
-(defpoll memory :interval "15s" "scripts/memory")
-(defpoll memory_used_mb :interval "2m" "scripts/mem-ad used")
-(defpoll memory_total_mb :interval "2m" "scripts/mem-ad total")
-(defpoll memory_free_mb :interval "2m" "scripts/mem-ad free")
-(defvar vol_reveal false)
-(defvar br_reveal false)
-(defvar music_reveal false)
-(defvar wifi_rev false)
-(defvar time_rev false)
-(deflisten workspace "scripts/workspace")
+(defwidget bar []
+ (centerbox :orientation "h"
+ (workspaces)
+ (music)
+ (sidestuff)))
-(defvar eww "$HOME/.local/bin/eww/eww -c $HOME/.config/eww/bar")
-
-
-(defpoll COL_WLAN :interval "1m" "~/.config/eww/bar/scripts/wifi --COL")
-(defpoll ESSID_WLAN :interval "1m" "~/.config/eww/bar/scripts/wifi --ESSID")
-(defpoll WLAN_ICON :interval "1m" "~/.config/eww/bar/scripts/wifi --ICON")
-
-
-(defpoll song :interval "2s" "~/.config/eww/bar/scripts/music_info --song")
-(defpoll song_artist :interval "2s" "~/.config/eww/bar/scripts/music_info --artist")
-(defpoll current_status :interval "1s" "~/.config/eww/bar/scripts/music_info --time")
-(defpoll song_status :interval "2s" "~/.config/eww/bar/scripts/music_info --status")
-(defpoll cover_art :interval "2s" "~/.config/eww/bar/scripts/music_info --cover")
-
-(defpoll calendar_day :interval "20h" "date '+%d'")
-(defpoll calendar_year :interval "20h" "date '+%Y'")
-
-;; widgets
-
-(defwidget wifi []
- (eventbox :onhover "${eww} update wifi_rev=true"
- :onhoverlost "${eww} update wifi_rev=false"
- (box :vexpand "false" :hexpand "false" :space-evenly "false"
- (button :class "module-wif" :onclick "networkmanager_dmenu" :wrap "false" :limit-width 12 :style "color: ${COL_WLAN};" WLAN_ICON)
- (revealer :transition "slideright"
- :reveal wifi_rev
- :duration "350ms"
- (label :class "module_essid"
- :text ESSID_WLAN
- :orientation "h"
- )))))
-
+(defwidget sidestuff []
+ (box :class "sidestuff" :orientation "h" :space-evenly false :halign "end"
+ (metric :label "🔊"
+ :value volume
+ :onchange "amixer -D pulse sset Master {}%")
+ (metric :label ""
+ :value {EWW_RAM.used_mem_perc}
+ :onchange "")
+ (metric :label "💾"
+ :value {round((1 - (EWW_DISK["/"].free / EWW_DISK["/"].total)) * 100, 0)}
+ :onchange "")
+ time))
(defwidget workspaces []
- (literal :content workspace))
-
-
-(defwidget bat []
- (box :class "bat_module" :vexpand "false" :hexpand "false"
- (circular-progress :value battery
- :class "batbar"
- :thickness 4
- (button
- :class "iconbat"
- :limit-width 2
- :tooltip "battery on ${battery}%"
- :show_truncated false
- :onclick "$HOME/.config/eww/bar/scripts/pop system"
- :wrap false
- ""))))
-
-
-(defwidget mem []
- (box :class "mem_module" :vexpand "false" :hexpand "false"
- (circular-progress :value memory
- :class "membar"
- :thickness 4
- (button
- :class "iconmem"
- :limit-width 2
- :tooltip "using ${memory}% ram"
- :onclick "$HOME/.config/eww/bar/scripts/pop system"
- :show_truncated false
- :wrap false
- ""))))
-
-
-
-(defwidget sep []
- (box :class "module-2" :vexpand "false" :hexpand "false"
- (label :class "separ" :text "|")))
-
-(defwidget clock_module []
- (eventbox :onhover "${eww} update time_rev=true"
- :onhoverlost "${eww} update time_rev=false"
- (box :class "module" :space-evenly "false" :orientation "h" :spacing "3"
- (label :text clock_time :class "clock_time_class" )
- (label :text "" :class "clock_time_sep" )
- (label :text clock_minute :class "clock_minute_class")
- (revealer :transition "slideleft"
- :reveal time_rev
- :duration "350ms"
- (button :class "clock_date_class"
- :onclick "$HOME/.config/eww/bar/scripts/pop calendar" clock_date
- )
- ))))
-
-(defwidget volume []
- (eventbox :onhover "${eww} update vol_reveal=true"
- :onhoverlost "${eww} update vol_reveal=false"
- (box :class "module-2" :space-evenly "false" :orientation "h" :spacing "3"
- (button :onclick "scripts/pop audio" :class "volume_icon" "")
- (revealer :transition "slideleft"
- :reveal vol_reveal
- :duration "350ms"
- (scale :class "volbar"
- :value volume_percent
- :orientation "h"
- :tooltip "${volume_percent}%"
- :max 100
- :min 0
- :onchange "amixer -D pulse sset Master {}%" )))))
-
-(defwidget bright []
- (eventbox :onhover "${eww} update br_reveal=true" :onhoverlost "${eww} update br_reveal=false"
- (box :class "module-2" :space-evenly "false" :orientation "h" :spacing "3"
- (label :text "" :class "bright_icon" :tooltip "brightness")
- (revealer :transition "slideleft"
- :reveal br_reveal
- :duration "350ms"
- (scale :class "brightbar"
- :value brightness_percent
- :orientation "h"
- :tooltip "${brightness_percent}%"
- :max 100
- :min 0
- :onchange "brightnessctl set {}%" )))))
-
-
-
- ;; Music
-(defwidget music []
- (eventbox :onhover "${eww} update music_reveal=true"
- :onhoverlost "${eww} update music_reveal=false"
- (box :class "module-2" :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false"
- (box :class "song_cover_art" :vexpand "false" :hexpand "false" :style "background-image: url('${cover_art}');")
- (button :class "song" :wrap "true" :onclick "~/.config/eww/bar/scripts/pop music" song)
- (revealer :transition "slideright"
- :reveal music_reveal
- :duration "350ms"
- (box :vexpand "false" :hexpand "false" :oreintation "h"
- (button :class "song_btn_prev" :onclick "~/.config/eww/bar/scripts/music_info --prev" "")
- (button :class "song_btn_play" :onclick "~/.config/eww/bar/scripts/music_info --toggle" song_status)
- (button :class "song_btn_next" :onclick "~/.config/eww/bar/scripts/music_info --next" ""))))))
-
-
-
-(defwidget left []
- (box :orientation "h"
- :space-evenly false
- :halign "end"
- :class "left_modules"
-(bright)
-(volume)
-(wifi)
-(sep)
-(bat)
-(mem)
-(sep)
-(clock_module)))
-
-
-(defwidget right []
- (box :orientation "h"
- :space-evenly false
- :halign "start"
- :class "right_modules"
-(workspaces)))
-
-
-(defwidget center []
- (box :orientation "h"
- :space-evenly false
- :halign "center"
- :class "center_modules"
-(music)))
-
-(defwidget bar_1 []
- (box :class "bar_class"
+ (box :class "workspaces"
:orientation "h"
- (right)
- (center)
- (left)
- ))
+ :space-evenly true
+ :halign "start"
+ :spacing 10
+ (button :onclick "wmctrl -s 0" 1)
+ (button :onclick "wmctrl -s 1" 2)
+ (button :onclick "wmctrl -s 2" 3)
+ (button :onclick "wmctrl -s 3" 4)
+ (button :onclick "wmctrl -s 4" 5)
+ (button :onclick "wmctrl -s 5" 6)
+ (button :onclick "wmctrl -s 6" 7)
+ (button :onclick "wmctrl -s 7" 8)
+ (button :onclick "wmctrl -s 8" 9)))
+
+(defwidget music []
+ (box :class "music"
+ :orientation "h"
+ :space-evenly false
+ :halign "center"
+ {music != "" ? "🎵${music}" : ""}))
+
+
+(defwidget metric [label value onchange]
+ (box :orientation "h"
+ :class "metric"
+ :space-evenly false
+ (box :class "label" label)
+ (scale :min 0
+ :max 101
+ :active {onchange != ""}
+ :value value
+ :onchange onchange)))
+
+
+
+(deflisten music :initial ""
+ "playerctl --follow metadata --format '{{ artist }} - {{ title }}' || true")
+
+(defpoll volume :interval "1s"
+ "scripts/getvol")
+
+(defpoll time :interval "10s"
+ "date '+%H:%M %b %d, %Y'")
(defwindow bar
- :geometry (geometry :x "0%"
- :y "9px"
- :width "98%"
- :height "30px"
- :anchor "top center")
- :stacking "fg"
- :windowtype "dock"
- (bar_1))
-
-(defwidget system []
- (box :class "sys_win" :orientation "v" :space-evenly "false" :hexpand "false" :vexpand "false" :spacing 0
- (box :class "sys_bat_box" :orientation "h" :space-evenly "false"
- (circular-progress :value battery
- :class "sys_bat"
- :thickness 9
- (label :text ""
- :class "sys_icon_bat"
- :limit-width 2
- :show_truncated false
- :wrap false))
- (box :orientation "v" :space-evenly "false" :spacing 0 :hexpand "false" :vexpand "false"
- (label :text "battery"
- :halign "start"
- :class "sys_text_bat"
- :limit-width 9
- :show_truncated false
- :wrap false)
- (label :text "${battery}%"
- :halign "start"
- :class "sys_text_bat_sub"
- :limit-width 22
- :show_truncated false
- :wrap false)
- (label :text "${battery_status}"
- :halign "start"
- :class "sys_text_bat_sub"
- :limit-width 22
- :show_truncated false
- :wrap false)))
- (label :text "" :class "sys_sep" :halign "center")
- (box :class "sys_mem_box" :orientation "h" :space-evenly "false" :halign "start"
- (circular-progress :value memory
- :class "sys_mem"
- :thickness 9
- (label :text ""
- :class "sys_icon_mem"
- :limit-width 2
- :show_truncated false
- :wrap false
- :angle 0.0))
- (box :orientation "v" :space-evenly "false" :spacing 0 :hexpand "false" :vexpand "false"
- (label :text "memory"
- :halign "start"
- :class "sys_text_mem"
- :limit-width 9
- :show_truncated false
- :wrap false)
- (label :text "${memory_used_mb} | ${memory_total_mb}mb "
- :halign "start"
- :class "sys_text_mem_sub"
- :limit-width 22
- :show_truncated false
- :wrap false)
- (label :text "${memory_free_mb}mb free"
- :halign "start"
- :class "sys_text_mem_sub"
- :limit-width 22
- :show_truncated false
- :wrap false)))))
-
-(defwidget cal []
- (box :class "cal" :orientation "v"
- (box :class "cal-in"
- (calendar :class "cal"
- :day calendar_day
- :year calendar_year))))
-
-(defwindow calendar
- :geometry (geometry :x "-20px"
- :y "7%"
- :anchor "top right"
- :width "270px"
- :height "60px")
-(cal))
-
-
-
-(defwidget audio []
- (box :class "audio-box" :orientation "v" :space-evenly "false" :vexpand "false" :hexpand "false"
- (box :halign "v" :space-evenly "false" :hexpand "false" :vexpand "false"
- (box :class "speaker_icon" :orientation "v")
- (box :orientation "v" :halign "center" :vexpand "false" :hexpand "false"
- (label :class "speaker_text" :text "speaker" :valign "center" :halign "left" )
- (box :class "speaker_bar" :halign "center" :vexpand "false" :hexpand "false"
- (scale :value volume_percent
- :space-evenly "false"
- :orientation "h"
- :onchange "amixer -D pulse sset Master {}%"
- :tooltip "volume on ${volume_percent}%"
- :max 100
- :min 0))))
- (label :text "" :class "audio_sep" :halign "center")
- (box :halign "v" :space-evenly "false" :hexpand "false" :vexpand "false"
- (box :class "mic_icon" :orientation "v")
- (box :orientation "v" :halign "center" :vexpand "false" :hexpand "false"
- (label :class "mic_text" :text "mic" :valign "center" :halign "left" )
- (box :class "mic_bar" :halign "center" :vexpand "false" :hexpand "false"
- (scale :value mic_percent
- :space-evenly "false"
- :orientation "h"
- :tooltip "mic on ${mic_percent}%"
- :onchange "amixer -D pulse sset Capture {}%"
- :max 100
- :min 0))))))
-
-(defwindow audio_ctl
- :geometry (geometry :x "-20px"
- :y "7%"
- :anchor "top right"
- :width "280px"
- :height "60px")
-(audio))
-
-
-(defwindow system
- :geometry (geometry :x "-20px"
- :y "7%"
- :anchor "top right"
- :width "290px"
- :height "120px")
-(system))
-
-
-
-;; Music
-(defwidget music_pop []
- (box :class "music_pop" :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false"
- (box :class "music_cover_art" :vexpand "false" :hexpand "false" :style "background-image: url('${cover_art}');")
- (box :orientation "v" :spacing 20 :space-evenly "false" :vexpand "false" :hexpand "false"
- (label :halign "center" :class "music" :wrap "true" :limit-width 13 :text song)
- (label :halign "center" :class "music_artist" :wrap "true" :limit-width 15 :text song_artist)
- (box :orientation "h" :spacing 15 :halign "center" :space-evenly "false" :vexpand "false" :hexpand "false"
- (button :class "music_btn_prev" :onclick "~/.config/eww/bar/scripts/music_info --prev" "")
- (button :class "music_btn_play" :onclick "~/.config/eww/bar/scripts/music_info --toggle" song_status)
- (button :class "music_btn_next" :onclick "~/.config/eww/bar/scripts/music_info --next" ""))
- (box :class "music_bar" :halign "center" :vexpand "false" :hexpand "false" :space-evenly "false"
- (scale :onscroll "mpc -q seek {}" :min 0 :active "true" :max 100 :value current_status)))))
-
-
-;; music
- (defwindow music_win :stacking "fg" :focusable "false" :screen 1
- :geometry (geometry :x "0" :y "7%" :width 428 :height 104 :anchor "top center")
- (music_pop))
-
+ :monitor 0
+ :windowtype "dock"
+ :geometry (geometry :x "0%"
+ :y "0%"
+ :width "90%"
+ :height "10px"
+ :anchor "top center")
+ :reserve (struts :side "top" :distance "4%")
+ (bar))
diff --git a/extensions/eww/images/mic.png b/extensions/eww/images/mic.png
deleted file mode 100644
index d77f315..0000000
--- a/extensions/eww/images/mic.png
+++ /dev/null
Binary files differ
diff --git a/extensions/eww/images/music.png b/extensions/eww/images/music.png
deleted file mode 100644
index 11804f5..0000000
--- a/extensions/eww/images/music.png
+++ /dev/null
Binary files differ
diff --git a/extensions/eww/images/profile.png b/extensions/eww/images/profile.png
deleted file mode 100644
index 0190a36..0000000
--- a/extensions/eww/images/profile.png
+++ /dev/null
Binary files differ
diff --git a/extensions/eww/images/speaker.png b/extensions/eww/images/speaker.png
deleted file mode 100644
index 79e005b..0000000
--- a/extensions/eww/images/speaker.png
+++ /dev/null
Binary files differ
diff --git a/extensions/eww/launch_bar b/extensions/eww/launch_bar
deleted file mode 100755
index 51f2a1d..0000000
--- a/extensions/eww/launch_bar
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-
-## Files and cmd
-FILE="$HOME/.cache/eww_launch.xyz"
-EWW="$HOME/.local/bin/eww/eww -c $HOME/.config/eww/bar"
-
-## Run eww daemon if not running already
-if [[ ! `pidof eww` ]]; then
- ${EWW} daemon
- sleep 1
-fi
-
-## Open widgets
-run_eww() {
- ${EWW} open-many \
- bar
-
-}
-
-## Launch or close widgets accordingly
-if [[ ! -f "$FILE" ]]; then
- touch "$FILE"
- run_eww && bspc config -m LVDS-1 top_padding 49
-else
- ${EWW} close-all && killall eww
- rm "$FILE"
-fi
diff --git a/extensions/eww/scripts/battery b/extensions/eww/scripts/battery
deleted file mode 100755
index 0540a1b..0000000
--- a/extensions/eww/scripts/battery
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/bash
-
-battery() {
- BAT=`ls /sys/class/power_supply | grep BAT | head -n 1`
- cat /sys/class/power_supply/${BAT}/capacity
-}
-battery_stat() {
- BAT=`ls /sys/class/power_supply | grep BAT | head -n 1`
- cat /sys/class/power_supply/${BAT}/status
-}
-
-if [[ "$1" == "--bat" ]]; then
- battery
-elif [[ "$1" == "--bat-st" ]]; then
- battery_stat
-fi
-
diff --git a/extensions/eww/scripts/getvol b/extensions/eww/scripts/getvol
new file mode 100644
index 0000000..4e4275d
--- /dev/null
+++ b/extensions/eww/scripts/getvol
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+if command -v pamixer &>/dev/null; then
+ if [ true == $(pamixer --get-mute) ]; then
+ echo 0
+ exit
+ else
+ pamixer --get-volume
+ fi
+else
+ amixer -D pulse sget Master | awk -F '[^0-9]+' '/Left:/{print $3}'
+fi
diff --git a/extensions/eww/scripts/mem-ad b/extensions/eww/scripts/mem-ad
deleted file mode 100755
index 1e4cf89..0000000
--- a/extensions/eww/scripts/mem-ad
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-
-total="$(free -m | grep Mem: | awk '{ print $2 }')"
-used="$(free -m | grep Mem: | awk '{ print $3 }')"
-
-free=$(expr $total - $used)
-
-if [ "$1" = "total" ]; then
- echo $total
-elif [ "$1" = "used" ]; then
- echo $used
-elif [ "$1" = "free" ]; then
- echo $free
-fi
diff --git a/extensions/eww/scripts/memory b/extensions/eww/scripts/memory
deleted file mode 100755
index 217c834..0000000
--- a/extensions/eww/scripts/memory
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-printf "%.0f\n" $(free -m | grep Mem | awk '{print ($3/$2)*100}')
diff --git a/extensions/eww/scripts/music_info b/extensions/eww/scripts/music_info
deleted file mode 100755
index ffafe87..0000000
--- a/extensions/eww/scripts/music_info
+++ /dev/null
@@ -1,98 +0,0 @@
-#!/bin/bash
-# scripts by adi1090x
-
-## Get data
-STATUS="$(mpc status)"
-COVER="/tmp/.music_cover.png"
-MUSIC_DIR="$HOME/Music"
-
-## Get status
-get_status() {
- if [[ $STATUS == *"[playing]"* ]]; then
- echo ""
- else
- echo "奈"
- fi
-}
-
-## Get song
-get_song() {
- song=`mpc -f %title% current`
- if [[ -z "$song" ]]; then
- echo "Offline"
- else
- echo "$song"
- fi
-}
-
-## Get artist
-get_artist() {
- artist=`mpc -f %artist% current`
- if [[ -z "$artist" ]]; then
- echo ""
- else
- echo "$artist"
- fi
-}
-
-## Get time
-get_time() {
- time=`mpc status | grep "%)" | awk '{print $4}' | tr -d '(%)'`
- if [[ -z "$time" ]]; then
- echo "0"
- else
- echo "$time"
- fi
-}
-get_ctime() {
- ctime=`mpc status | grep "#" | awk '{print $3}' | sed 's|/.*||g'`
- if [[ -z "$ctime" ]]; then
- echo "0:00"
- else
- echo "$ctime"
- fi
-}
-get_ttime() {
- ttime=`mpc -f %time% current`
- if [[ -z "$ttime" ]]; then
- echo "0:00"
- else
- echo "$ttime"
- fi
-}
-
-## Get cover
-get_cover() {
- ffmpeg -i "${MUSIC_DIR}/$(mpc current -f %file%)" "${COVER}" -y &> /dev/null
- STATUS=$?
-
- # Check if the file has a embbeded album art
- if [ "$STATUS" -eq 0 ];then
- echo "$COVER"
- else
- echo "images/music.png"
- fi
-}
-
-## Execute accordingly
-if [[ "$1" == "--song" ]]; then
- get_song
-elif [[ "$1" == "--artist" ]]; then
- get_artist
-elif [[ "$1" == "--status" ]]; then
- get_status
-elif [[ "$1" == "--time" ]]; then
- get_time
-elif [[ "$1" == "--ctime" ]]; then
- get_ctime
-elif [[ "$1" == "--ttime" ]]; then
- get_ttime
-elif [[ "$1" == "--cover" ]]; then
- get_cover
-elif [[ "$1" == "--toggle" ]]; then
- mpc -q toggle
-elif [[ "$1" == "--next" ]]; then
- { mpc -q next; get_cover; }
-elif [[ "$1" == "--prev" ]]; then
- { mpc -q prev; get_cover; }
-fi
diff --git a/extensions/eww/scripts/pop b/extensions/eww/scripts/pop
deleted file mode 100755
index aef82e8..0000000
--- a/extensions/eww/scripts/pop
+++ /dev/null
@@ -1,92 +0,0 @@
-#!/bin/bash
-
-calendar() {
-LOCK_FILE="$HOME/.cache/eww-calendar.lock"
-EWW_BIN="$HOME/.local/bin/eww/eww"
-
-run() {
- ${EWW_BIN} -c $HOME/.config/eww/bar open calendar
-}
-
-# Open widgets
-if [[ ! -f "$LOCK_FILE" ]]; then
- ${EWW_BIN} -c $HOME/.config/eww/bar close system music_win audio_ctl
- touch "$LOCK_FILE"
- run && echo "ok good!"
-else
- ${EWW_BIN} -c $HOME/.config/eww/bar close calendar
- rm "$LOCK_FILE" && echo "closed"
-fi
-}
-
-
-system() {
-LOCK_FILE_MEM="$HOME/.cache/eww-system.lock"
-EWW_BIN="$HOME/.local/bin/eww/eww"
-
-run() {
- ${EWW_BIN} -c $HOME/.config/eww/bar open system
-}
-
-# Open widgets
-if [[ ! -f "$LOCK_FILE_MEM" ]]; then
- ${EWW_BIN} -c $HOME/.config/eww/bar close calendar music_win audio_ctl
- touch "$LOCK_FILE_MEM"
- run && echo "ok good!"
-else
- ${EWW_BIN} -c $HOME/.config/eww/bar close system
- rm "$LOCK_FILE_MEM" && echo "closed"
-fi
-}
-
-
-music() {
-LOCK_FILE_SONG="$HOME/.cache/eww-song.lock"
-EWW_BIN="$HOME/.local/bin/eww/eww"
-
-run() {
- ${EWW_BIN} -c $HOME/.config/eww/bar open music_win
-}
-
-# Open widgets
-if [[ ! -f "$LOCK_FILE_SONG" ]]; then
- ${EWW_BIN} -c $HOME/.config/eww/bar close system calendar
- touch "$LOCK_FILE_SONG"
- run && echo "ok good!"
-else
- ${EWW_BIN} -c $HOME/.config/eww/bar close music_win
- rm "$LOCK_FILE_SONG" && echo "closed"
-fi
-}
-
-
-
-audio() {
-LOCK_FILE_AUDIO="$HOME/.cache/eww-audio.lock"
-EWW_BIN="$HOME/.local/bin/eww/eww"
-
-run() {
- ${EWW_BIN} -c $HOME/.config/eww/bar open audio_ctl
-}
-
-# Open widgets
-if [[ ! -f "$LOCK_FILE_AUDIO" ]]; then
- ${EWW_BIN} -c $HOME/.config/eww/bar close system calendar music
- touch "$LOCK_FILE_AUDIO"
- run && echo "ok good!"
-else
- ${EWW_BIN} -c $HOME/.config/eww/bar close audio_ctl
- rm "$LOCK_FILE_AUDIO" && echo "closed"
-fi
-}
-
-
-if [ "$1" = "calendar" ]; then
-calendar
-elif [ "$1" = "system" ]; then
-system
-elif [ "$1" = "music" ]; then
-music
-elif [ "$1" = "audio" ]; then
-audio
-fi
diff --git a/extensions/eww/scripts/wifi b/extensions/eww/scripts/wifi
deleted file mode 100755
index 5d7cc59..0000000
--- a/extensions/eww/scripts/wifi
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash
-
-status=$(nmcli g | grep -oE "disconnected")
-essid=$(nmcli c | grep wlp2s0 | awk '{print ($1)}')
-
-if [ $status ] ; then
- icon=""
- text=""
- col="#575268"
-
-else
- icon=""
- text="${essid}"
- col="#a1bdce"
-fi
-
-
-
-if [[ "$1" == "--COL" ]]; then
- echo $col
-elif [[ "$1" == "--ESSID" ]]; then
- echo $text
-elif [[ "$1" == "--ICON" ]]; then
- echo $icon
-fi
-
diff --git a/extensions/eww/scripts/workspace b/extensions/eww/scripts/workspace
deleted file mode 100755
index f202ef1..0000000
--- a/extensions/eww/scripts/workspace
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/bin/sh
-workspaces() {
-
-ws1="1"
-ws2="2"
-ws3="3"
-ws4="4"
-ws5="5"
-ws6="6"
-
-# Unoccupied
-un="0"
-
-# check if Occupied
-o1=$(bspc query -D -d .occupied --names | grep "$ws1" )
-o2=$(bspc query -D -d .occupied --names | grep "$ws2" )
-o3=$(bspc query -D -d .occupied --names | grep "$ws3" )
-o4=$(bspc query -D -d .occupied --names | grep "$ws4" )
-o5=$(bspc query -D -d .occupied --names | grep "$ws5" )
-o6=$(bspc query -D -d .occupied --names | grep "$ws6" )
-
-# check if Focused
-f1=$(bspc query -D -d focused --names | grep "$ws1" )
-f2=$(bspc query -D -d focused --names | grep "$ws2" )
-f3=$(bspc query -D -d focused --names | grep "$ws3" )
-f4=$(bspc query -D -d focused --names | grep "$ws4" )
-f5=$(bspc query -D -d focused --names | grep "$ws5" )
-f6=$(bspc query -D -d focused --names | grep "$ws6" )
-
-ic_1=""
-ic_2=""
-ic_3=""
-ic_4=""
-ic_5=""
-ic_6=""
-if [ $f1 ]; then
- ic_1=""
-elif [ $f2 ]; then
- ic_2=""
-elif [ $f3 ]; then
- ic_3=""
-elif [ $f4 ]; then
- ic_4=""
-elif [ $f5 ]; then
- ic_5=""
-elif [ $f6 ]; then
- ic_6=""
-fi
-
-echo "(box :class \"works\" :orientation \"h\" :spacing 5 :space-evenly \"false\" (button :onclick \"bspc desktop -f $ws1\" :class \"$un$o1$f1\" \"$ic_1\") (button :onclick \"bspc desktop -f $ws2\" :class \"$un$o2$f2\" \"$ic_2\") (button :onclick \"bspc desktop -f $ws3\" :class \"$un$o3$f3\" \"$ic_3\") (button :onclick \"bspc desktop -f $ws4\" :class \"$un$o4$f4\" \"$ic_4\") (button :onclick \"bspc desktop -f $ws5\" :class \"$un$o5$f5\" \"$ic_5\") (button :onclick \"bspc desktop -f $ws6\" :class \"$un$o6$f6\" \"$ic_6\"))"
-
-}
-workspaces
-bspc subscribe desktop node_transfer | while read -r _ ; do
-workspaces
-done
diff --git a/extensions/hyprpaper/wallpaper.png b/extensions/hyprpaper/wallpaper.png
new file mode 100644
index 0000000..e758376
--- /dev/null
+++ b/extensions/hyprpaper/wallpaper.png
Binary files differ
diff --git a/flake.lock b/flake.lock
index dd74618..212e8b9 100755
--- a/flake.lock
+++ b/flake.lock
@@ -367,6 +367,22 @@
"type": "github"
}
},
+ "nixpkgs-unstable": {
+ "locked": {
+ "lastModified": 1707546158,
+ "narHash": "sha256-nYYJTpzfPMDxI8mzhQsYjIUX+grorqjKEU9Np6Xwy/0=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "d934204a0f8d9198e1e4515dd6fec76a139c87f0",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
"nixpkgs_2": {
"locked": {
"lastModified": 1706191920,
@@ -439,7 +455,8 @@
"hyprland": "hyprland",
"lanzaboote": "lanzaboote",
"nix-vscode-extensions": "nix-vscode-extensions",
- "nixpkgs": "nixpkgs_3"
+ "nixpkgs": "nixpkgs_3",
+ "nixpkgs-unstable": "nixpkgs-unstable"
}
},
"rust-overlay": {
diff --git a/flake.nix b/flake.nix
index 2ba0c23..efccbad 100755
--- a/flake.nix
+++ b/flake.nix
@@ -3,6 +3,7 @@
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11";
+ nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions";
nix-vscode-extensions.inputs.nixpkgs.follows = "nixpkgs";
diff --git a/modules/codedPC/eww.nix b/modules/codedPC/eww.nix
index edbdf3e..b8b658d 100644
--- a/modules/codedPC/eww.nix
+++ b/modules/codedPC/eww.nix
@@ -1,6 +1,7 @@
-{ flakeRoot, ... }: {
+{ flakeRoot, pkgs, ... }: {
home-manager.users.coded.programs.eww = {
enable = true;
+ package = pkgs.eww-wayland;
configDir = "${flakeRoot}/extensions/eww";
};
}
diff --git a/modules/codedPC/hyprland.nix b/modules/codedPC/hyprland.nix
new file mode 100644
index 0000000..a24e691
--- /dev/null
+++ b/modules/codedPC/hyprland.nix
@@ -0,0 +1,104 @@
+{ pkgs, inputs, flakeRoot, system, ... }: {
+
+ programs.hyprland.enable = true;
+
+ home-manager.users.coded = {
+ home.packages = [ pkgs.hyprpicker ];
+
+ wayland.windowManager.hyprland = {
+ enable = true;
+
+ xwayland.enable = true;
+ systemd.enable = true;
+
+ plugins = [
+
+ ];
+
+ settings = let
+ mod = "SUPER";
+ terminal = "kitty";
+ menu = "anyrun";
+ reloadWallpaper = "${inputs.nixpkgs-unstable.legacyPackages.${system}.hyprpaper}/bin/hyprpaper";
+ in {
+ exec-once = "${reloadWallpaper}";
+
+ general = {
+ gaps_in = 5;
+ gaps_out = 20;
+
+ border_size = 2;
+ "col.active_border" = "rgba(71AEF5EE) rgba(F2D478EE) 45deg";
+ "col.inactive_border" = "rgba(C4C4C4EE)";
+
+ layout = "dwindle";
+ };
+
+ decoration = {
+ rounding = 10;
+
+ drop_shadow = true;
+ shadow_range = 4;
+ shadow_render_power = 3;
+ "col.shadow" = "rgba(1a1a1aee)";
+ };
+
+ input = {
+ kb_layout = "us";
+ numlock_by_default = true;
+ };
+
+ monitor = [
+ "DP-1,1920x1080@165,0x0,1"
+ "DP-2,1920x1080@165,1920x0,1"
+ "HDMI-A-1,1920x1080@60,960x-1080,1"
+ ",preferred,auto,1"
+ ];
+
+ xwayland = {
+ force_zero_scaling = true;
+ };
+
+ master = {
+ new_is_master = true;
+ };
+
+ bind = [
+ "${mod}, Q, killactive"
+ "${mod}, SPACE, togglefloating"
+ "${mod}, RETURN, exec, ${terminal}"
+ "${mod}, down, movefocus, d"
+ "${mod}, up, movefocus, u"
+ "${mod}, right, movefocus, r"
+ "${mod}, left, movefocus, l"
+
+ "${mod} SHIFT, R, exec, ${reloadWallpaper}"
+
+ "ALT, SPACE, exec, ${menu}"
+ ] ++ (
+ builtins.concatLists (builtins.genList (
+ x: let
+ ws = let
+ c = (x + 1) / 10;
+ in
+ builtins.toString (x + 1 - (c * 10));
+ in [
+ "${mod}, ${ws}, workspace, ${toString (x + 1)}"
+ "${mod} SHIFT, ${ws}, movetoworkspace, ${toString (x + 1)}"
+ ]
+ )
+ 10)
+ );
+
+ bindm = [
+ "${mod}, mouse:272, movewindow"
+ "${mod}, mouse:273, resizewindow"
+ ];
+
+ misc = {
+ force_default_wallpaper = 0;
+ };
+ };
+ };
+ };
+}
diff --git a/modules/codedPC/hyprpaper.nix b/modules/codedPC/hyprpaper.nix
new file mode 100644
index 0000000..8a09def
--- /dev/null
+++ b/modules/codedPC/hyprpaper.nix
@@ -0,0 +1,18 @@
+{ inputs, flakeRoot, system, ... }: let
+ wallpaper = "${flakeRoot}/extensions/hyprpaper/wallpaper.png";
+in {
+ home-manager.users.coded.home = {
+ packages = [
+ inputs.nixpkgs-unstable.legacyPackages.${system}.hyprpaper
+ ];
+
+ file.".config/hypr/hyprpaper.conf".text = ''
+ preload = ${wallpaper}
+
+ wallpaper=,${wallpaper}
+
+ splash = true
+ splash_offset = -0.5
+ '';
+ };
+}
diff --git a/modules/codedPC/opengl.nix b/modules/codedPC/opengl.nix
new file mode 100644
index 0000000..55a5ea4
--- /dev/null
+++ b/modules/codedPC/opengl.nix
@@ -0,0 +1,10 @@
+{ pkgs, ... }: {
+ hardware.opengl = {
+ enable = true;
+ driSupport = true;
+ driSupport32Bit = true;
+ extraPackages = [
+ pkgs.vaapiVdpau
+ ];
+ };
+}
diff --git a/modules/codedPC/video.nix b/modules/codedPC/video.nix
deleted file mode 100644
index bc5cffb..0000000
--- a/modules/codedPC/video.nix
+++ /dev/null
@@ -1,122 +0,0 @@
-{ pkgs, inputs, ... }: {
-
- programs.hyprland.enable = true;
-
- home-manager.users.coded = {
- home.packages = [ pkgs.hyprpicker ];
-
- wayland.windowManager.hyprland = {
- enable = true;
-
- xwayland.enable = true;
- systemd.enable = true;
-
- plugins = [
-
- ];
-
-
- settings = {
- "$mainMod" = "SUPER";
- "$terminal" = "kitty";
- "$menu" = "anyrun";
-
- general = {
- gaps_in = 5;
- gaps_out = 20;
-
- border_size = 2;
- "col.active_border" = "rgba(71AEF5EE) rgba(F2D478EE) 45deg";
- "col.inactive_border" = "rgba(C4C4C4EE)";
-
- layout = "dwindle";
- };
-
- decoration = {
- rounding = 10;
-
- drop_shadow = true;
- shadow_range = 4;
- shadow_render_power = 3;
- "col.shadow" = "rgba(1a1a1aee)";
- };
-
- input = {
- kb_layout = "us";
- numlock_by_default = true;
- };
-
- monitor = [
- "DP-1,1920x1080@165,0x0,1"
- "DP-2,1920x1080@165,1920x0,1"
- "HDMI-A-1,1920x1080@60,960x-1080,1"
- ",preferred,auto,1"
- ];
-
- xwayland = {
- force_zero_scaling = true;
- };
-
- master = {
- new_is_master = true;
- };
-
- bind = [
- "$mainMod, Q, killactive"
- "$mainMod, SPACE, togglefloating"
- "$mainMod, RETURN, exec, $terminal"
- "$mainMod, down, movefocus, d"
- "$mainMod, up, movefocus, u"
- "$mainMod, right, movefocus, r"
- "$mainMod, left, movefocus, l"
-
- "ALT, SPACE, exec, $menu"
- ] ++ (
- builtins.concatLists (builtins.genList (
- x: let
- ws = let
- c = (x + 1) / 10;
- in
- builtins.toString (x + 1 - (c * 10));
- in [
- "$mainMod, ${ws}, workspace, ${toString (x + 1)}"
- "$mainMod SHIFT, ${ws}, movetoworkspace, ${toString (x + 1)}"
- ]
- )
- 10)
- );
-
- bindm = [
- "$mainMod, mouse:272, movewindow"
- "$mainMod, mouse:273, resizewindow"
- ];
- };
- };
- };
-
- # services.xserver.enable = true;
- # services.xserver.videoDrivers = [ "amdgpu" ];
-
- # services.xserver.displayManager.sddm.enable = true;
- # services.xserver.desktopManager.plasma5.enable = true;
-
- # hardware.opengl.driSupport = true;
- # # For 32 bit applications
- # hardware.opengl.driSupport32Bit = true;
-
- # programs.dconf.enable = true;
-
- # services.xserver = {
- # layout = "us";
- # xkbVariant = "";
- # };
-
- hardware.opengl = {
- enable = true;
- driSupport = true;
- driSupport32Bit = true;
- extraPackages = [
- pkgs.vaapiVdpau
- ];
- };
-}