From 6cdfe3e5636224a1a3bf38cac908cc8d58c2a4b5 Mon Sep 17 00:00:00 2001 From: Chris Cochrun Date: Tue, 6 Dec 2022 15:18:25 -0600 Subject: [PATCH] configuring hyprland more --- README.org | 8 +- eww/eww.scss | 581 ++++++++++++++-------- eww/eww.yuck | 798 +++++++++++++++++++------------ flake.lock | 82 +++- flake.nix | 4 + hypr/hyprland.conf | 20 +- hypr/hyprpaper.conf | 1 + scripts/startup.sh | 2 +- system/kaladin/configuration.nix | 4 +- system/syl/configuration.nix | 4 +- waybar/config | 5 +- 11 files changed, 982 insertions(+), 527 deletions(-) diff --git a/README.org b/README.org index 0160a86..d1e7a01 100644 --- a/README.org +++ b/README.org @@ -39,6 +39,10 @@ Both include the home-manager module. Primarily I chose that route so that I cou url = "github:hyprwm/Hyprland"; inputs.nixpkgs.follows = "nixpkgs"; }; + eww = { + url = "github:elkowar/eww"; + inputs.nixpkgs.follows = "nixpkgs"; + }; emacs = { url = "github:nix-community/emacs-overlay"; inputs.nixpkgs.follows = "nixpkgs"; @@ -203,7 +207,7 @@ services.greetd = { enable = true; settings = rec { initial_session = { - command = "startplasma-wayland"; + command = "/home/chris/bin/hyprland"; user = "chris"; }; default_session = initial_session; @@ -416,7 +420,7 @@ libnotify rofi-wayland wofi waybar -eww +eww-wayland wlrctl hyprpaper swaylock-fancy diff --git a/eww/eww.scss b/eww/eww.scss index 41d7473..00dfe6e 100644 --- a/eww/eww.scss +++ b/eww/eww.scss @@ -1,27 +1,52 @@ -/** EWW.SCSS +/** Created by saimoom **/ *{ all: unset; font-family: feather; - font-family: DaddyTimeMono NF; + font-family: mononoki Nerd Font; } +$background: rgba(00, 00, 00, 0.7); +$widget-background: rgba(30, 30, 30, 0.4); +$shadow: #0B0B0B; +$grey: #606060; + +$black: #282A36; +$red: #F37F97; +$green: #5ADECD; +$orange: #F2A272; +$blue: #8897F4; +$purple: #C574DD; +$teal: #79E6F3; +$white: #FDFDFD; + /** General **/ .bar_class { - background-color: #0f0f17; - border-radius: 16px; + background-color: $background; + border-radius: 20px 20px 20px 20px; } .module { margin: 0px 0px 0px 0px; - border-radius: 10px 16px 0px 10px; + border-radius: 10px 10px 0px 10px; +} + +.side{ + background-color: $background; + border-width: 0px; + padding: 0px 30px 0px 30px; +} + +.center_modules { + margin: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; } /** tooltip!! **/ tooltip.background { - background-color: #0f0f17; + background-color: $background; font-size: 18; border-radius: 10px; - color: #bfc9db; + color: $white; } tooltip label { @@ -31,233 +56,195 @@ tooltip label { /** Widgets **/ -.clock_time_sep { - font-size: 16; - color: #bfc9db; - margin: 0px 4px 1px 4px; -} .clock_time_class, .clock_minute_class { - font-size: 23; + font-size: 28; } .clock_date_class { - font-size: 18; + font-size: 24; margin: 0px 20px 0px -1px; - color: #d7beda; + color: $red; } -.clock_minute_class { - margin: 0px 20px 0px 3px; - color: #bfc9db; -} - .clock_time_class { - color: #bfc9db; + color: $white; font-weight: bold; - margin: 0px 5px 0px 0px; + margin: 0px 20px 0px 5px; } +.notif_button { + font-size: 28; + margin: 0px 20px 0px 0px; + color: $white; +} .membar { - color: #e0b089; - background-color: #38384d; - border-radius: 10px; + color: $orange; + background-color: $widget-background; + border-radius: 10px; } .batbar { - color: #afbea2; - background-color: #38384d; - border-radius: 10px; + color: $purple; + background-color: $widget-background; + border-radius: 10px; } .brightbar trough highlight { - background-image: linear-gradient(to right, #e4c9af 30%, #f2cdcd 50%, #e0b089 100% *50); - border-radius: 10px; + background-image: linear-gradient(to right, $orange 30%, #f2cdcd 50%, $orange 100% *50); + border-radius: 10px; } .volbar trough highlight { - background-image: linear-gradient(to right, #afcee0 30%, #a1bdce 50%, #77a5bf 100% *50); - border-radius: 10px; + background-image: linear-gradient(to right, #afcee0 30%, #92B6F4 50%, #77a5bf 100% *50); + border-radius: 10px; } .volume_icon { font-size: 22; - color: #a1bdce; + color: $blue; margin: 0px 10px 0px 10px; } .module_essid { font-size: 18; - color: #a1bdce; + color: $blue; margin: 0px 10px 0px 0px; } .module-wif { font-size: 22; - color: #a1bdce; - border-radius: 100%; + color: $blue; margin: 0px 10px 0px 5px; } +.iconlauncher { + color: $white; + font-size: 36px; + margin: 0px 10px 0px 15px; +} +.iconsearch { + color: $white; + font-size: 24px; +} .iconmem { - color: #e0b089; + color: $orange; } .iconbat { - color: #afbea2; + color: $purple; } .iconbat, .iconmem { font-size: 15; - margin: 10px; + margin: 15px; } .bright_icon { font-size: 22; - color: #e4c9af; + color: $orange; margin: 0px 10px 0px 10px; } .separ { - color: #3e424f; + color: $grey; font-weight: bold; font-size: 22px; margin: 0px 8px 0px 8px; } +.launcher_module { + background-color: rgba(00, 00, 00, 0.0); + } + .mem_module { - background-color: #0f0f17; + background-color: rgba(00, 00, 00, 0.0); border-radius: 16px; margin: 0px 10px 0px 3px; } .bat_module { - background-color: #0f0f17; + background-color: rgba(00, 00, 00, 0.0); border-radius: 16px; margin: 0px 10px 0px 10px; } - -scale trough { - 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; -} - .works { -font-size: 27px; -font-weight: normal; -margin: 5px 0px 0px 20px; -background-color: #0f0f17; + font-size: 28px; + font-weight: normal; + margin: 10px 0px 0px 10px; + background-color: rgba(00, 00, 00, 0.0); } .0 , .01, .02, .03, .04, .05, .06, -.011, .022, .033, .044, .055, .066{ - margin: 0px 10px 0px 0px; +.011, .022, .033, .044, .055, .066 { + margin: 0px 7px 0px 0px; } /* Unoccupied */ .0 { -color: #3e424f; + color: $grey; } /* Occupied */ -.01, .02, .03, .04, .05, .06 { - color: #bfc9db; +.01, .02, .03, .04, .05, .06, .07, .08, .09 { + color: $white; } /* Focused */ -.011, .022, .033, .044, .055, .066 { - color: #a1bdce; +.011, .022, .033, .044, .055, .066, .077, .088, .099{ + color: $purple; } -.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; + background-color: $background; + font-family: mononoki Nerd Font; + font-size: 18px; + font-weight: normal; + border-radius: 25px; .cal-in { - padding: 0px 10px 0px 10px; - color: #bfc9db; + padding: 10px 10px 10px 10px; + color: $white; .cal { &.highlight { padding: 20px; } - - padding: 5px 5px 5px 5px; + padding: 10px 10px 10px 10px; margin-left: 10px; } } } calender { - color: #bfc9db; + color: $blue; } calendar:selected { - color: #a1bdce; + color: $blue; } calendar.header { -color: #a1bdce; +color: $blue; font-weight: bold; } calendar.button { -color: #afbea2; +color: $green; } calendar.highlight { -color: #a1bdce; +color: $blue; font-weight: bold; } calendar:indeterminate { -color: #bfc9db; +color: $black; } - - - - .sys_sep { - color: #38384d; + color: $widget-background; font-size: 18; margin: 0px 10px 0px 10px; } .sys_text_bat_sub, .sys_text_mem_sub { font-size: 16; - color: #bbc5d7; + color: $white; margin: 5px 0px 0px 25px; } .sys_text_bat, .sys_text_mem { @@ -270,23 +257,24 @@ color: #bfc9db; margin: 30px; } .sys_win { - background-color: #0f0f17; + background-color: $background; + border-radius: 25px; } .sys_bat { - color: #afbea2; - background-color: #38384d; - border-radius: 10px; + color: $green; + background-color: $widget-background; + border-radius: 10px; } .sys_mem { - color: #e4c9af; - background-color: #38384d; - border-radius: 10px; + color: $orange; + background-color: $widget-background; + border-radius: 10px; } .sys_icon_bat, .sys_text_bat { - color: #afbea2; + color: $green; } .sys_icon_mem, .sys_text_mem { - color: #e4c9af; + color: $orange; } .sys_bat_box { border-radius: 16px; @@ -298,78 +286,30 @@ color: #bfc9db; } - - - - - -.music_pop { - background-color: #0f0f17; - border-radius: 16px; -} - .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; +.app-name { + color: $blue; font-size : 20px; font-weight : bold; - margin : 20px 0px 0px -15px; + margin : 10px 0px 0px 0px; } -.music_artist { - color: #bbc5d7; - font-size : 16px; - font-weight : normal; - margin : 0px 0px 0px 0px; +.app-icon { + margin : 8px 10px 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; +.app-button { + color: $blue; + font-size : 30px; + font-weight : bold; + margin : 0px 15px 0px 15px; } -.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; +.launcher-icon { + margin : 5px -5px 10px 15px; } .audio-box { - background-color: #0f0f17; + background-color: $background; border-radius: 16px; } .speaker_icon { @@ -383,7 +323,7 @@ color: #bfc9db; } .speaker_text { - color: #a1bdce; + color: $blue; font-size : 26px; font-weight : bold; margin: 20px 0px 0px 0px; @@ -391,13 +331,13 @@ color: #bfc9db; .speaker_bar scale trough highlight { all: unset; - background-image: linear-gradient(to right, #afcee0 30%, #a1bdce 50%, #77a5bf 100% *50); + background-image: linear-gradient(to right, #afcee0 30%, #92B6F4 50%, #77a5bf 100% *50); border-radius: 24px; } .speaker_bar scale trough { all: unset; - background-color: #232232; - box-shadow: 0 6px 5px 2px #06060b; + background-color: $widget-background; + box-shadow: 0 6px 5px 2px $shadow; border-radius: 24px; min-height: 13px; min-width: 120px; @@ -418,7 +358,7 @@ color: #bfc9db; } .mic_text { - color: #a1bdce; + color: $blue; font-size : 26px; font-weight : bold; margin: 0px 0px 0px 0px; @@ -426,13 +366,13 @@ color: #bfc9db; .mic_bar scale trough highlight { all: unset; - background-image: linear-gradient(to right, #afcee0 30%, #a1bdce 50%, #77a5bf 100% *50); + background-image: linear-gradient(to right, #afcee0 30%, #92B6F4 50%, #77a5bf 100% *50); border-radius: 24px; } .mic_bar scale trough { all: unset; - box-shadow: 0 6px 5px 2px #06060b; - background-color: #232232; + box-shadow: 0 6px 5px 2px $shadow; + background-color: $widget-background; border-radius: 24px; min-height: 13px; min-width: 120px; @@ -440,7 +380,260 @@ color: #bfc9db; } .audio_sep { - color: #38384d; + color: $black; font-size: 18; margin : 0px 0px 0px 0px; } + +// Music +.music-player { + all: unset; + background-color: $widget-background; + padding: 0px 25px 0px 17px; + border-radius: 12px; + box-shadow: 0px 0px 6px 6px $shadow;} + +.album_art { + background-size: cover; + background-position: center; + border-radius: 12px; + margin: 2rem 1rem 1.5rem 1rem; + padding: 4rem;} + +.song { +font-family: JetBrainsMono Nerd Font Mono; + font-weight: bold; + color: $white; + font-size : 1.2em; +} +.artist { + font-family: JetBrainsMono Nerd Font; + font-style: italic; + font-size: 1.1em; + color: $blue; + margin-top: -5px; +} +.btn_prev, .btn_play, .btn_next { + font-family: JetBrainsMono Nerd Font Mono; + color: $purple; + font-size: 25px; +} + +.metric-player scale trough highlight { + all: unset; + border-radius: 10px; + background-color: $blue; +} + +// weather +.weather { + all: unset; + background-color: $widget-background; + border-radius: 12px; + padding: 23px 37px 20px 37px; + box-shadow: 0px 0px 6px 6px rgb(0, 0, 0, .4);} + +.iconweather { + font-family: JetBrainsMono Nerd Font; + font-size : 44px; + font-weight : normal; + margin : 0px -5px 0px 20px; +} + +.label_temp { + color : $blue; + font-size : 35px; + font-weight : bold; + margin : 0px 0px 0px 0px; + font-family: Furamono Nerd Font; + +} + +.label_stat { + color : $blue; + font-size : 38px; + font-weight : bold; +} + +.label_quote { + color : $blue; + font-size : 18px; + padding-bottom: 10px; + font-weight : normal; +} + +.date { + all: unset; + background-color: $widget-background; + padding: 33px 27px 27px 27px; + border-radius: 12px; + color: $blue; + font-size : 18px; + font-style : italic; + font-family: Cartograph CF; + box-shadow: 0px 0px 6px 6px rgb(0, 0, 0, .4);} + +.stats-box { + all: unset; + background-color: $widget-background; + padding: 20px 25px 20px 25px; + border-radius: 12px; + box-shadow: 0px 0px 6px 6px rgb(0, 0, 0, .4);} + +.stats-icon { + font-size: 23px; + color: $blue; + font-family: JetBrainsMono Nerd Font Mono; +} + + +scale trough { + all: unset; + background-color: $widget-background; + box-shadow: 0 2px 3px 2px $shadow; + border-radius: 16px; + min-height: 10px; + min-width: 70px; + margin: 0px 5px 0px 10px; +} + +.scale highlight { + background-image: linear-gradient(to right, #afcee0 30%, #92B6F4 50%, #77a5bf 100% *50); + border-radius: 15px; +} + +.foo { + font-size: 40px; + padding-top: 10px; +} + +.buttons { + opacity: 1; + background-color: $widget-background; + border-radius: 12px; + padding: 15px 0px 15px 0px; + font-family: JetBrainsMono Nerd Font Mono; + margin-bottom: 30px; + box-shadow: 0px 0px 6px 6px rgb(0, 0, 0, .4);} + +.poweroff, .reboot, .firmware, .exit, .restart { + margin: 0px 16px 0px 16px; + padding: 2px 15px 2px 9px; + font-family: mononoki Nerd Font; + border-radius: 25px; + font-size: 24px; + color: $black; +} + +.poweroff { + background-color: $red; +} +.reboot { + background-color: $green; +} +.firmware { + background-color: $orange; +} +.exit { + background-color: $purple; +} +.restart { + background-color: $blue; +} + +.fetch { + margin-top: 35px; + font-size: 15px; + border-radius: 12px; + background-color: $widget-background; + padding: 30px 55px 30px 55px; + box-shadow: 0px 0px 6px 6px rgb(0, 0, 0, .4);} + +.wm { + font-family: "JetBrainsMono Nerd Font"; + font-weight: bold; + color: $red; +} + +.host { + font-family: "JetBrainsMono Nerd Font"; + font-weight: bold; + color: $purple; +} + +.uptime { + font-family: "JetBrainsMono Nerd Font"; + font-weight: bold; + color: $orange; +} + +.packages { + font-family: "JetBrainsMono Nerd Font"; + font-weight: bold; + color: $blue; +} + +.kernal { + font-family: "JetBrainsMono Nerd Font"; + font-weight: bold; + color: $green; +} + +.notification { + all: unset; + background-color: $widget-background; + padding: 20px 25px 20px 17px; + margin: 0px 15px 0px 15px; + border-radius: 12px; + border-width: 2px; + border-style: solid; + border-color: $red;} + +.notification-header { + all: unset; + background-color: $widget-background; + padding: 20px 25px 20px 17px; + margin: 20px 15px 10px 15px; + border-radius: 12px; + border-width: 2px; + border-style: solid; + border-color: $green;} + +.notification-icon { + color: $white; + font-size: 36px; + margin: 0px 20px 0px 10px; +} + +.notification-appname { + font-family: "Inter Nerd Font"; + font-size: 14px; + font-weight: bold; + color: $orange; +} + +.notification-summary { + font-family: "Inter Nerd Font"; + font-size: 18px; + font-weight: bold; + color: $white; +} + +.notification-body { + font-family: "Inter Nerd Font"; + font-size: 14px; + color: $white; +} + +.notification-label { + font-family: "Mononoki Nerd Font"; + font-size: 30px; + color: $blue; + margin: 0px 50px 0px 0px; +} +.notification-action { + font-family: "Mononoki Nerd Font"; + font-size: 36px; + color: $white; + margin: 0px 0px 0px 20px; +} diff --git a/eww/eww.yuck b/eww/eww.yuck index ac4b4df..3fc1dc7 100644 --- a/eww/eww.yuck +++ b/eww/eww.yuck @@ -1,350 +1,516 @@ ;; 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") + +(include "sidebar.yuck") +(include "notifications.yuck") + +(defpoll clock_time :interval "5s" "date '+\%l\%M \%p'") +(defpoll clock_date :interval "1h" "date '+%b %d, %Y'") +(defpoll calendar_day :interval "2h" "date '+%d'") +(defpoll calendar_year :interval "2h" "date '+%Y'") +(defpoll volume_percent :interval "1s" "scripts/sbvol --get") +(defpoll mic_percent :interval "3s" "amixer -D pulse sget Capture | grep 'Left:' | awk -F'[][]' '{ print $2 }' | tr -d '%' | head -n 1") +(defpoll brightness_percent :interval "5s" "light") +(defpoll COL_WLAN :interval "1m" "scripts/wifi --COL") +(defpoll ESSID_WLAN :interval "1m" "scripts/wifi --ESSID") +(defpoll WLAN_ICON :interval "1m" "scripts/wifi --ICON") +(deflisten workspace "scripts/workspace") +(deflisten appname "scripts/appname") + (defvar vol_reveal false) (defvar br_reveal false) (defvar music_reveal false) +(defvar control_reveal false) (defvar wifi_rev false) (defvar time_rev false) -(deflisten workspace "scripts/workspace") -(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 launcher [] + (box + :class "launcher_module" + :orientation "h" + (button + :onclick "rofi -no-lazy-grab -show drun -theme ~/.config/hypr/themes/neon/rofi/launcher.rasi &" + (image + :class "launcher-icon" + :path "favicon.ico" + :image-width 36)) + (button + :onclick "rofi -show filebrowser &" + :class "iconsearch" "") + )) (defwidget workspaces [] - (literal :content workspace)) + (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 appnames [] + (eventbox + :onhover "${EWW_CMD} update control_reveal=true" + :onhoverlost "${EWW_CMD} update control_reveal=false" + (box + :orientation "h" + :space-evenly "false" + :vexpand "false" + :hexpand "false" + (literal + :content appname) + (revealer + :transition "slideright" + :reveal control_reveal + :duration "350ms" + (box + :vexpand "false" + :hexpand "false" + :orientation "h" + :space-evenly "false" + (button + :class "app-button" + :onclick "hyprctl dispatch togglefloating 1" "") + (button + :class "app-button" + :onclick "hyprctl dispatch fullscreen 1" "") + (button + :class "app-button" + :onclick "hyprctl dispatch killactive 1" "")))))) (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 {}%" ))))) + (eventbox + :onhover "${EWW_CMD} update br_reveal=true" + :onhoverlost "${EWW_CMD} update br_reveal=false" + (box + :class "module" + :space-evenly "false" + :orientation "h" + :spacing "3" + (revealer + :transition "slideright" + :reveal br_reveal + :duration "350ms" + (scale :class "brightbar" + :value brightness_percent + :orientation "h" + :tooltip "${brightness_percent}%" + :max 100 + :min 0 + :onchange "light -S {}" )) + (label + :text "" + :class "bright_icon" + :tooltip "brightness")))) +(defwidget volume [] + (eventbox + :onhover "${EWW_CMD} update vol_reveal=true" + :onhoverlost "${EWW_CMD} update vol_reveal=false" + (box + :class "module-2" + :space-evenly "false" + :orientation "h" + :spacing "3" + (revealer + :transition "slideright" + :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 {}%" )) + (button + :onclick "scripts/pop audio_ctl" + :class "volume_icon" + "墳")))) +(defwidget wifi [] + (eventbox + :onhover "${EWW_CMD} update wifi_rev=true" + :onhoverlost "${EWW_CMD} update wifi_rev=false" + (box + :vexpand "false" + :hexpand "false" + :space-evenly "false" + (revealer + :transition "slideright" + :reveal wifi_rev + :duration "350ms" + (label + :class "module_essid" + :text ESSID_WLAN + )) + (button + :class "module-wif" + :onclick "networkmanager_dmenu" + WLAN_ICON)))) - ;; 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 bat [] + (box + :class "bat_module" + :vexpand "false" + :hexpand "false" + (circular-progress + :value {EWW_BATTERY["BAT0"].capacity} + :class "batbar" + :thickness 4 + (button + :onclick "scripts/pop system" + :class "iconbat" + :tooltip "battery on ${EWW_BATTERY["BAT0"].capacity}%" + " ")))) +(defwidget mem [] + (box + :class "mem_module" + :vexpand "false" + :hexpand "false" + (circular-progress + :value {EWW_RAM.used_mem_perc} + :class "membar" + :thickness 4 + (button + :onclick "scripts/pop system" + :class "iconmem" + :tooltip "using ${EWW_RAM.used_mem_perc}% ram" + " ")))) - -(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" - :orientation "h" - (right) - (center) - (left) - )) - -(defwindow bar - :monitor 0 - :geometry (geometry :x "0%" - :y "9px" - :width "98%" - :height "30px" - :anchor "top center") - :stacking "bottom" - :exclusize true - (bar_1)) +(defwidget clock_module [] + (eventbox + :onhover "${EWW_CMD} update time_rev=true" + :onhoverlost "${EWW_CMD} update time_rev=false" + (box + :class "module" + :space-evenly "false" + :orientation "h" + :spacing "0" + (label + :text clock_time + :class "clock_time_class" ) + (revealer :transition "slideleft" + :reveal time_rev + :duration "350ms" + (button + :class "clock_date_class" + :onclick "scripts/pop calendar" clock_date))))) -(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 notif_button [] + (box + :class "notif_button" + :space-evenly "false" + :orientation "h" + (button + :onclick "if ${EWW_CMD} state | grep 'rightside: false' ; then ${EWW_CMD} update rightside=true ; else ${EWW_CMD} update rightside=false ; fi" + (label + :text "")))) + +(defwidget sep [] + (box + :class "module-2" + :vexpand "false" + :hexpand "false" + (label + :class "separ" + :text "|"))) -(defwidget cal [] - (box :class "cal" :orientation "v" - (box :class "cal-in" - (calendar :class "cal" - :day calendar_day - :year calendar_year)))) +(defwidget gap [] + (box + :orientation "h" + :hexpand "false" + :visible "true" + :width "150")) -(defwindow calendar - :geometry (geometry :x "-20px" - :y "7%" - :anchor "top right" - :width "270px" - :height "60px") -(cal)) + +;;define widget groups +(defwidget left [] + (box + :orientation "h" + :space-evenly false + :halign "start" + :class "left_modules" + (launcher) + (sep) + (workspaces))) +(defwidget center [] + (box + :orientation "h" + :space-evenly false + :halign "center" + :class "center_modules" + (appnames))) +(defwidget right [] + (box + :orientation "h" + :space-evenly false + :halign "end" + :class "right_modules" + (bright) + (volume) + (wifi) + (sep) + (bat) + (mem) + (sep) + (clock_module) + (notif_button) +)) + +(defwidget bar_layout [] + (centerbox + :class "bar_class" + :orientation "h" + (left) + (center) + (right) + )) +(defwindow bar0 + :monitor 0 + :exclusive false + :geometry (geometry + :x "15px" + :y "0px" + :width "100%" + :height "50px" + :anchor "top center") + :stacking "fg" + :windowtype "dock" + (bar_layout)) +(defwindow bar1 + :monitor 1 + :exclusive false + :geometry (geometry + :x "15px" + :y "-50px" + :width "99%" + :height "30px" + :anchor "bottom center") + :stacking "fg" + :windowtype "dock" + (bar_layout)) +(defwindow bar2 + :monitor 2 + :exclusive false + :geometry (geometry + :x "15px" + :y "0px" + :width "100%" + :height "50px" + :anchor "top center") + :stacking "fg" + :windowtype "dock" + (bar_layout)) (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)))))) - + (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 + :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 + :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)) + :stacking "fg" + :focusable "false" + :screen 1 + :monitor 0 + :geometry (geometry + :x "20" + :y "7%" + :anchor "top right" + :width "280px" + :height "60px") + (audio)) +;;Define System widget +(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 {EWW_BATTERY["BAT0"].capacity} + :class "sys_bat" + :thickness 9 + (label :text "" + :class "sys_icon_bat" + :limit-width 2 + :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 + :wrap false) + (label + :text "${EWW_BATTERY["BAT0"].capacity}%" + :halign "start" + :class "sys_text_bat_sub" + :limit-width 22 + :wrap false) + (label :text "${EWW_BATTERY["BAT0"].status}" + :halign "start" + :class "sys_text_bat_sub" + :limit-width 22 + :wrap false))) + (label + :text "____________________________________" + :class "sys_sep" + :halign "center") + (box + :class "sys_mem_box" + :orientation "h" + :space-evenly "false" + :halign "start" + (circular-progress + :value {EWW_RAM.used_mem_perc} + :class "sys_mem" + :thickness 9 + (label + :text "" + :class "sys_icon_mem" + :limit-width 2 + :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 + :wrap false) + (label + :text "${round((EWW_RAM.available_mem / 1024), 0)} | ${round((EWW_RAM.total_mem / 1024), 0)}mb " + :halign "start" + :class "sys_text_mem_sub" + :limit-width 22 + :wrap false) + (label :text "${round((EWW_RAM.used_mem / 1024), 0)}mb free" + :halign "start" + :class "sys_text_mem_sub" + :limit-width 22 + :wrap false) + )))) (defwindow system - :geometry (geometry :x "-20px" - :y "7%" - :anchor "top right" - :width "290px" - :height "120px") -(system)) + :stacking "fg" + :focusable "false" + :screen 1 + :monitor 0 + :geometry + (geometry + :x "20" + :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)) +;;Calendar Widget +(defwidget cal [] + (box + :class "cal" + :orientation "v" + (box + :class "cal-in" + (calendar + :day calendar_day + :year calendar_year)))) +(defwindow calendar + :stacking "fg" + :focusable "false" + :screen 1 + :monitor 0 + :geometry (geometry + :x "20" + :y "7%" + :anchor "top right" + :width "270px" + :height "60px") +(cal)) diff --git a/flake.lock b/flake.lock index 3cc52c6..836af41 100644 --- a/flake.lock +++ b/flake.lock @@ -21,6 +21,28 @@ "type": "github" } }, + "eww": { + "inputs": { + "flake-compat": "flake-compat", + "nixpkgs": [ + "nixpkgs" + ], + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1669643151, + "narHash": "sha256-39/l57QusriyNr426kXNqtub0ciZna+t20VKPYUAgsM=", + "owner": "elkowar", + "repo": "eww", + "rev": "ec4c2d1a4f12e9c3664e9f53ad99007b4a10a16a", + "type": "github" + }, + "original": { + "owner": "elkowar", + "repo": "eww", + "type": "github" + } + }, "extra-container": { "inputs": { "flake-utils": [ @@ -46,6 +68,22 @@ "type": "github" } }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-utils": { "locked": { "lastModified": 1667395993, @@ -62,6 +100,21 @@ } }, "flake-utils_2": { + "locked": { + "lastModified": 1656928814, + "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_3": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -76,7 +129,7 @@ "type": "github" } }, - "flake-utils_3": { + "flake-utils_4": { "locked": { "lastModified": 1667395993, "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", @@ -170,7 +223,7 @@ }, "libre-presenter": { "inputs": { - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils_3", "nixpkgs": "nixpkgs" }, "locked": { @@ -190,7 +243,7 @@ "nix-bitcoin": { "inputs": { "extra-container": "extra-container", - "flake-utils": "flake-utils_3", + "flake-utils": "flake-utils_4", "nixpkgs": "nixpkgs_2", "nixpkgs-unstable": "nixpkgs-unstable" }, @@ -292,6 +345,7 @@ "root": { "inputs": { "emacs": "emacs", + "eww": "eww", "home-manager": "home-manager", "hyprland": "hyprland", "libre-presenter": "libre-presenter", @@ -300,6 +354,28 @@ "nixpkgs-stable": "nixpkgs-stable" } }, + "rust-overlay": { + "inputs": { + "flake-utils": "flake-utils_2", + "nixpkgs": [ + "eww", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1661655464, + "narHash": "sha256-by9Hb0mNVdiCR7TBvUHIgDb0QIv3znp8VMGh7Bl35VQ=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "0c4c1432353e12b325d1472bea99e364871d2cb3", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, "utils": { "locked": { "lastModified": 1667395993, diff --git a/flake.nix b/flake.nix index 6ee295b..87f8515 100644 --- a/flake.nix +++ b/flake.nix @@ -12,6 +12,10 @@ url = "github:hyprwm/Hyprland"; inputs.nixpkgs.follows = "nixpkgs"; }; + eww = { + url = "github:elkowar/eww"; + inputs.nixpkgs.follows = "nixpkgs"; + }; emacs = { url = "github:nix-community/emacs-overlay"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index 14912bf..832a831 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -1,9 +1,12 @@ monitor=eDP-1,2256x1504@60,0x0,1.5 workspace=eDP-1,1 -monitor=DVI-D-1,preferred,1600x0,1 +monitor=DVI-D-1,preferred,0x0,1 monitor=HDMI-A-1,preferred,0x0,1 -workspace=DVI-D-1,1 +monitor=DP-3,preferred,1080x0,1.5 +workspace=DVI-D-1,2 +workspace=DP-3,1 workspace=HDMI-A-1,2 +monitor=DVI-D-1,transform,1 input { # kb_layout= @@ -93,11 +96,12 @@ misc:disable_autoreload = true #windowrule=pseudo,abc windowrule=opaque,firefox windowrule=float,dolphin -windowrule=float,mpv windowrule=size 90% 76%,mpv windowrule=center,mpv windowrule=float,pulsemixer windowrule=workspace special,mpv +windowrule=workspace 1,firefox +windowrule=workspace 2,emacs # example binds bind=SUPER,RETURN,exec,alacritty @@ -111,7 +115,7 @@ bind=SUPER,E,exec,/home/chris/bin/emacslof bind=SUPER,B,exec,/home/chris/bin/fflof bind=SUPER,A,exec,alacritty --class pulsemixer -e pulsemixer -bind=SUPER,P,pseudo, +bind=SUPER,P,exec,/home/chris/bin/rbw.sh bind=SUPER,M,fullscreen,1 bind=SUPER,F,fullscreen,0 @@ -151,9 +155,10 @@ bind=SUPERSHIFT,8,movetoworkspace,8 bind=SUPERSHIFT,9,movetoworkspace,9 bind=SUPERSHIFT,0,movetoworkspace,10 -bind=SUPER,O,movetoworkspace,next +bind=SUPER,o,movewindow,right bind=SUPER,y,togglespecialworkspace -bind=SUPER,i,pin +bind=SUPER,i,movewindow,left +bind=SUPERSHIFT,p,pin bind=SUPER,n,movetoworkspace,special binde=, XF86AudioRaiseVolume, exec, /home/chris/bin/volup @@ -166,6 +171,9 @@ binde=, XF86MonBrightnessDown, exec, brightnessctl s 10%- bindm=SUPER,mouse:272,movewindow bindm=SUPER,mouse:273,resizewindow +# Blur waybar +blurls=waybar + exec-once=/home/chris/bin/startup.sh exec-once=hyprpaper exec-once=dunst \ No newline at end of file diff --git a/hypr/hyprpaper.conf b/hypr/hyprpaper.conf index d354ad8..c641e60 100644 --- a/hypr/hyprpaper.conf +++ b/hypr/hyprpaper.conf @@ -1,4 +1,5 @@ preload = ~/Pictures/wallpapers/nixorange.jpeg wallpaper = DVI-D-1,~/Pictures/wallpapers/nixorange.jpeg wallpaper = HDMI-A-1,~/Pictures/wallpapers/nixorange.jpeg +wallpaper = DP-3,~/Pictures/wallpapers/nixorange.jpeg wallpaper = eDP-1,~/Pictures/wallpapers/nixorange.jpeg \ No newline at end of file diff --git a/scripts/startup.sh b/scripts/startup.sh index f29f783..116ed04 100755 --- a/scripts/startup.sh +++ b/scripts/startup.sh @@ -1,6 +1,6 @@ #!/bin/sh -waybar & +eww open bar1 & rbw-agent & systemctl --user restart jellyfin-mpv-shim.service & systemctl --user restart nextcloud-client.service & diff --git a/system/kaladin/configuration.nix b/system/kaladin/configuration.nix index d5f66e5..e936b8b 100644 --- a/system/kaladin/configuration.nix +++ b/system/kaladin/configuration.nix @@ -119,7 +119,7 @@ enable = true; settings = rec { initial_session = { - command = "startplasma-wayland"; + command = "/home/chris/bin/hyprland"; user = "chris"; }; default_session = initial_session; @@ -296,7 +296,7 @@ rofi-wayland wofi waybar - eww + eww-wayland wlrctl hyprpaper swaylock-fancy diff --git a/system/syl/configuration.nix b/system/syl/configuration.nix index 9b32a22..772af97 100644 --- a/system/syl/configuration.nix +++ b/system/syl/configuration.nix @@ -112,7 +112,7 @@ enable = true; settings = rec { initial_session = { - command = "startplasma-wayland"; + command = "/home/chris/bin/hyprland"; user = "chris"; }; default_session = initial_session; @@ -315,7 +315,7 @@ rofi-wayland wofi waybar - eww + eww-wayland wlrctl hyprpaper swaylock-fancy diff --git a/waybar/config b/waybar/config index 0c19e2d..7da9eee 100644 --- a/waybar/config +++ b/waybar/config @@ -4,7 +4,7 @@ "height": 30, // Waybar height (to be removed for auto height) // "width": 1280, // Waybar width // Choose the order of the modules "custom/wintitle", - "modules-left": ["wlr/workspaces", "hyprland/window"], + "modules-left": ["workspaces", "hyprland/window"], "modules-center": ["clock"], "modules-right": ["pulseaudio", "backlight", "network", "memory", "cpu", "battery", "battery#bat2", "tray"], "margin-top": -5, @@ -33,6 +33,9 @@ "hyprland/window": { "format": " {}" }, + "workspaces": { + "format": " {name} " + }, "sway/mode": { "format": " {}" },