add gh-cli

This commit is contained in:
danny 2024-12-14 16:55:50 +08:00
parent ab917700ee
commit 5b46a0b217
30 changed files with 680 additions and 356 deletions

View file

@ -0,0 +1,29 @@
# What protocol to use when performing git operations. Supported values: ssh, https
git_protocol: ssh
# What editor gh should run when creating issues, pull requests, etc. If blank, will refer to environment.
editor: nvim
# When to interactively prompt. This is a global config that cannot be overridden by hostname. Supported values: enabled, disabled
prompt: enabled
# A pager program to send command output to, e.g. "less". Set the value to "cat" to disable the pager.
pager: bat
# Aliases allow you to create nicknames for gh commands
aliases:
co: pr checkout
diff: pr diff
merge: pr merge
close: issue close
add: issue create --title
todo: issue create -a @me --title
mine: issue list -a @me
e: issue edit
label: issue edit --add-label
claim: issue edit --add-assignee @me
rmlabel: issue edit --remove-label
5c: issue edit --add-project "5♠"
9c: issue edit --add-project "9♠"
17c: issue edit --add-project "17♠"
# The path to a unix socket through which send HTTP connections. If blank, HTTP traffic will be handled by net/http.DefaultTransport.
http_unix_socket:
# What web browser gh should use when opening URLs. If blank, will refer to environment.
browser:
version: "1"

View file

@ -1,7 +1,11 @@
$scripts = ~/.config/scripts/
exec-once = swaync -s ~/.config/swaync/style.css -c ~/.config/swaync/config.json
exec-once = dbus-update-activation-environment --systemd --all
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec-once = waybar & hyprpaper
exec-once = waybar -c ~/.config/waybar/config -s ~/.config/waybar/style.css
exec-once = hyprpaper
exec-once = swayidle -w
exec-once = nwg-look -a
exec-once = [silent] fcitx5 -d -r &

View file

@ -1,3 +1,4 @@
preload = ~/.config/wallpapers/wall.png
# wallpaper = HDMI-A-1, ~/.config/wallpapers/wall.png
wallpaper = , ~/.config/wallpapers/wall.png
splash = false
ipc = on

View file

@ -12,5 +12,9 @@ input {
natural_scroll = no
}
sensitivity = 0.7 # -1.0 - 1.0, 0 means no modification.
sensitivity = -0.1 # -1.0 - 1.0, 0 means no modification.
}
cursor {
no_hardware_cursors = true
}

View file

@ -1,3 +1,3 @@
monitor=desc:ASUSTek COMPUTER INC ASUS VG32VQ1B 0x00002271,2560x1440@164.55, 0x0, 1
monitor=desc:Acer Technologies XV272U V3 7422007E54222, 2560x1440@143.91, -1440x-560, 1, transform, 1
monitor=desc:ASUSTek COMPUTER INC ASUS VG32VQ1B 0x00002271,2560x1440@165, 0x0, 1
monitor=desc:Acer Technologies XV272U V3 7422007E54222, 2560x1440@144, -1152x-448, 1.25, transform, 1

View file

@ -17,9 +17,9 @@ decoration {
new_optimizations = true
xray = false
}
active_opacity = 0.8
inactive_opacity = 0.8
fullscreen_opacity = 1.0
active_opacity = 0.95
inactive_opacity = 0.95
fullscreen_opacity = 1.0
}
animations {

View file

@ -28,7 +28,13 @@ windowrulev2 = float, class:^(steam)$,title:^(Friends List)$
# Workspace assign
windowrulev2 = workspace: 1, class:^(kitty)$
windowrulev2 = workspace: 1, class:^(firefox)$
windowrulev2 = workspace: 5, class:^(steam)$
layerrule = blur, waybar
layerrule = blur, logout_dialog
layerrule = blur, swaync-control-center
layerrule = blur, swaync-notification-window
layerrule = ignorezero, swaync-control-center
layerrule = ignorezero, swaync-notification-window
layerrule = ignorealpha 0.1, swaync-control-center
layerrule = ignorealpha 0.1, swaync-notification-window

View file

@ -0,0 +1,8 @@
#!/bin/bash
#Script for lockscreen
sleep 2
powerprofilesctl set power-saver
hyprlock -c ~/.config/dotfiles/hyprland/hyprlock/hyprlock.conf
powerprofilesctl set performance

41
home/config/scripts/lofi.sh Executable file
View file

@ -0,0 +1,41 @@
#!/bin/bash
#Taken from jakoolit's hyprland dots
iDIR="$HOME/.config/swaync/icons"
declare -A menu_options=(
["Lofi Girl ☕️🎶"]="https://play.streamafrica.net/lofiradio"
["White Noise 📖🎶"]="https://www.youtube.com/watch?v=nMfPqeZjc2c&t=7040s&pp=ygULd2hpdGUgbm9pc2U%3D"
["Easy Rock 96.3 FM 📻🎶"]="https://radio-stations-philippines.com/easy-rock"
["Wish 107.5 FM 📻🎶"]="https://radio-stations-philippines.com/dwnu-1075-wish"
["Wish 107.5 YT Pinoy HipHop 🎻🎶"]="https://youtube.com/playlist?list=PLkrzfEDjeYJnmgMYwCKid4XIFqUKBVWEs&si=vahW_noh4UDJ5d37"
["Wish 107.5 YT Wishclusives ☕️🎶"]="https://youtube.com/playlist?list=PLkrzfEDjeYJn5B22H9HOWP3Kxxs-DkPSM&si=d_Ld2OKhGvpH48WO"
["Chillhop ☕️🎶"]="http://stream.zeno.fm/fyn8eh3h5f8uv"
["SmoothChill ☕️🎶"]="https://media-ssl.musicradio.com/SmoothChill"
["Relaxing Music ☕️🎶"]="https://youtube.com/playlist?list=PLMIbmfP_9vb8BCxRoraJpoo4q1yMFg4CE"
)
notification() {
notify-send -u normal "Playing now: $@"
}
main() {
choice=$(printf "%s\n" "${!menu_options[@]}" | rofi -i -dmenu -config ~/.config/dotfiles/rofi/config.rasi -p "")
if [ -z "$choice" ]; then
exit 1
fi
link="${menu_options[$choice]}"
notification "$choice"
if [[ $link == *playlist* || $link == *watch* ]]; then
mpv --shuffle --vid=no --volume=50 "$link"
else
mpv --volume=50 "$link"
fi
}
pkill mpv && notify-send -u low "Online Music stopped" || main

54
home/config/scripts/scrcpy.sh Executable file
View file

@ -0,0 +1,54 @@
#!/usr/bin/bash
#Script to run SCRCPY
if pgrep -x "scrcpy" > /dev/null
then
pkill -x scrcpy
exit
fi
# Get connected devices
devices=$(adb devices | awk 'NR>1 && $2=="device" {print $1}')
device_count=$(echo "$devices" | wc -l)
# If no devices are found, exit the script
if [ "$device_count" -eq 0 ]; then
notify-send "No devices connected."
exit 1
fi
# If multiple devices are connected, prompt to select one
if [ "$device_count" -gt 1 ]; then
selected_device=$(echo "$devices" | rofi -dmenu -config ~/.config/dotfiles/rofi/config.rasi -p "Select Device: ")
else
selected_device=$(echo "$devices")
fi
# If no device was selected, exit the script
if [ -z "$selected_device" ]; then
echo "No device selected."
exit 1
fi
# Options for SCRCPY modes
options="Video\nNo Video\nVideo & Audio"
# Prompt to select the SCRCPY mode
selected_option=$(echo -e "$options" | rofi -dmenu -config ~/.config/dotfiles/rofi/config.rasi -p "Select SCRCPY mode: ")
# Run scrcpy with the selected mode and device
case "$selected_option" in
"Video")
scrcpy --serial "$selected_device" --max-size=1024 --video-codec=h265 --video-bit-rate=6M --audio-bit-rate=128K --max-fps=30 --no-audio
;;
"No Video")
scrcpy --serial "$selected_device" --no-window
;;
"Video & Audio")
scrcpy --serial "$selected_device" --max-size=1024 --video-codec=h265 --video-bit-rate=6M --audio-bit-rate=128K --max-fps=30
;;
*)
echo "Invalid selection"
;;
esac

View file

@ -0,0 +1,32 @@
#!/bin/bash
#Taken from JaKoolit's dotfiles
bar="▁▂▃▄▅▆▇█"
dict="s/;//g"
bar_length=${#bar}
for ((i = 0; i < bar_length; i++)); do
dict+=";s/$i/${bar:$i:1}/g"
done
config_file="/tmp/bar_cava_config"
cat >"$config_file" <<EOF
[general]
bars = 10
[input]
method = pulse
source = auto
[output]
method = raw
raw_target = /dev/stdout
data_format = ascii
ascii_max_range = 7
EOF
pkill -f "cava -p $config_file"
cava -p "$config_file" | sed -u "$dict"

View file

@ -0,0 +1,9 @@
#!/usr/bin/bash
#Restart Waybar and swaync
killall waybar
killall swaync
waybar -c ~/.config/dotfiles/waybar/config -s ~/.config/dotfiles/waybar/style.css &
swaync -s ~/.config/dotfiles/swaync/style.css -c ~/.config/dotfiles/swaync/config.json &
notify-send --app-name=HOME -i ~/.config/dotfiles/fastfetch/moon.png Hello

View file

@ -0,0 +1,50 @@
{
"$schema": "/etc/xdg/swaync/configSchema.json",
"positionX": "right",
"positionY": "top",
"layer": "overlay",
"control-center-margin-top": 20,
"control-center-margin-bottom": 20,
"control-center-margin-right": 20,
"control-center-margin-left": 20,
"notification-icon-size": 64,
"notification-body-image-height": 100,
"notification-body-image-width": 200,
"timeout": 3,
"timeout-low": 2,
"timeout-critical": 0,
"fit-to-screen": false,
"control-center-width": 500,
"control-center-height": 900,
"notification-window-width": 490,
"keyboard-shortcuts": true,
"image-visibility": "when-available",
"transition-time": 200,
"hide-on-clear": true,
"hide-on-action": true,
"script-fail-notify": true,
"widgets": [
"title",
"notifications",
"mpris"
],
"widget-config": {
"title": {
"text": "Notification Center",
"clear-all-button": true,
"button-text": "󰆴 Clear All"
},
"dnd": {
"text": "Leave me alone!!"
},
"label": {
"max-lines": 1,
"text": "Notification Center"
},
"mpris": {
"image-size": 96,
"image-radius": 7
}
}
}

View file

@ -0,0 +1,145 @@
@define-color bgc rgba(0, 0, 0, 0.1);
@define-color borderc #ebdbb2;
@define-color textc #282828;
* {
font-family: JetBrainsMonoNerdFontMono;
font-weight: bold;
font-size: 15px;
border-width: 3px;
border-color: #ebdbb2
}
.control-center .notification-row:focus,
.control-center .notification-row:hover {
opacity: 1;
background: @bgc
}
.notification-row {
outline: none;
margin: 20px;
padding: 0;
}
.notification {
background: @textc;
margin: 0px;
border-radius: 0px;
border-width: 3px;
border-color: #ebdbb2;
}
.notification-content {
background: @textc;
padding: 7px;
margin: 0;
}
.close-button {
background: @textc;
color: @borderc;
text-shadow: none;
padding: 0;
border-radius: 20px;
margin-top: 9px;
margin-right: 5px;
}
.close-button:hover {
box-shadow: none;
background: @borderc;
color: @textc;
transition: all .15s ease-in-out;
border: none
}
.notification-action {
color: @bgc;
background: @textc;
}
.summary {
padding-top: 7px;
font-size: 13px;
color: @borderc;
}
.time {
font-size: 11px;
color: @borderc;
margin-right: 40px
}
.body {
font-size: 12px;
color: @borderc;
}
.control-center {
background-color: @bgc;
border-radius: 20px;
}
.control-center-list {
background: transparent;
}
.control-center-list-placeholder {
opacity: .5
}
.floating-notifications {
background: transparent
}
.blank-window {
background: alpha(black, 0.1)
}
.widget-title {
color: @borderc;
padding: 10px 10px;
margin: 10px 10px 5px 10px;
font-size: 1.5rem;
}
.widget-title>button {
font-size: 1rem;
color: @borderc;
padding: 10px;
text-shadow: none;
background: @bgc;
box-shadow: none;
border-radius: 5px;
}
.widget-title>button:hover {
background: @borderc;
color: #282828;
}
.widget-label {
margin: 10px 10px 10px 10px;
}
.widget-label>label {
font-size: 1rem;
color: @textc;
}
.widget-mpris {
color: @borderc;
padding: 5px 5px 5px 5px;
margin: 10px;
border-radius: 20px;
}
.widget-mpris>box>button {
border-radius: 20px;
}
.widget-mpris-player {
padding: 5px 5px;
margin: 10px
}

View file

@ -0,0 +1 @@
export AQ_DRM_DEVICES="/dev/dri/card1;/dev/dri/card2"

BIN
home/config/wallpapers/wall.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 239 KiB

After

Width:  |  Height:  |  Size: 4.3 MiB

Before After
Before After

34
home/config/waybar/config Normal file
View file

@ -0,0 +1,34 @@
{
"include": "~/.config/waybar/modules",
"layer": "top",
"exclusive": true,
"passthrough": false,
"position": "top",
"spacing": 3,
"fixed-center": true,
"ipc": true,
"margin-top": 0,
"margin-left": 0,
"margin-right": 0,
"margin-bottom": 0,
"modules-left": [
"hyprland/workspaces",
"clock",
"custom/cava",
"mpris"
],
"modules-center": [
"hyprland/window"
],
"modules-right": [
"wlr/taskbar",
"cpu",
"temperature",
"memory",
"custom/swaync",
"pulseaudio"
]
}

View file

@ -1,82 +0,0 @@
{
"layer": "top",
"position": "top",
"mod": "dock",
"exclusive": true,
"passthrough": false,
"gtk-layer-shell": true,
"height": 0,
"modules-left": [
"hyprland/workspaces"
],
"modules-center": ["hyprland/window"],
"modules-right": [
"tray",
"custom/updates",
"hyprland/language",
"pulseaudio",
"pulseaudio#microphone",
"clock",
"custom/weather"
],
"hyprland/window": {
"format": "{}"
},
"hyprland/workspaces": {
"disable-scroll": true,
"all-outputs": true,
"on-click": "activate",
"persistent_workspaces": {
"1": []
}
},
"hyprland/language": {
"format": "{}",
"format-en": "US",
"format-ru": "RU",
"format-ka": "GE"
},
"custom/weather" : {
"tooltip" : true,
"format" : "{}",
"interval" : 30,
"exec" : "~/.config/waybar/scripts/waybar-wttr.py",
"return-type" : "json"
},
"tray": {
"icon-size": 16,
"spacing": 10
},
"clock": {
"format": "{: %R  %d/%m}",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"
},
"pulseaudio": {
"format": "{icon} {volume}%",
"tooltip": false,
"format-muted": " Muted",
"on-click": "pamixer -t",
"on-scroll-up": "pamixer -i 5",
"on-scroll-down": "pamixer -d 5",
"scroll-step": 5,
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
}
},
"pulseaudio#microphone": {
"format": "{format_source}",
"format-source": "🎙{volume}%",
"format-source-muted": "🎙Muted",
"on-click": "pamixer --default-source -t",
"on-scroll-up": "pamixer --default-source -i 5",
"on-scroll-down": "pamixer --default-source -d 5",
"scroll-step": 5
}
}

168
home/config/waybar/modules Normal file
View file

@ -0,0 +1,168 @@
{
"hyprland/workspaces": {
"active-only": false,
"all-outputs": true,
"format": "{icon}",
"show-special": false,
"on-click": "activate",
"on-scroll-up": "hyprctl dispatch workspace e+1",
"on-scroll-down": "hyprctl dispatch workspace e-1",
"persistent-workspaces": {
"1": [],
"2": [],
"3": [],
"4": [],
},
"format-icons": {
"active": "👁️‍🗨️",
"default": "🗨️",
},
},
"clock": {
"interval": 1,
"format": " 🕑 {:%H:%M} ",
"format-alt": " 🕑 {:%H:%M 🗓️ %Y, %d %B, %A} ",
"tooltip-format": "<tt><small>{calendar}</small></tt>",
"calendar": {
"mode" : "year",
"mode-mon-col" : 3,
"weeks-pos" : "right",
"on-scroll" : 1,
"format": {
"days": "<span color='#ebdbb2'><b>{}</b></span>",
"weeks": "<span color='#99ffdd'><b>W{}</b></span>",
"weekdays": "<span color='#ebdbb2'><b>{}</b></span>",
"today": "<span color='#ff6699'><b><u>{}</u></b></span>"
}
}
},
"actions": {
"on-click-right": "mode",
"on-click-forward": "tz_up",
"on-click-backward": "tz_down",
"on-scroll-up": "shift_up",
"on-scroll-down": "shift_down"
},
"cpu": {
"format": " {usage}% 🧠 ",
"interval": 1,
"on-click-right": "gnome-system-monitor"
},
"hyprland/window": {
"format": " {} ",
"max-length": 60,
"separate-outputs": true,
"offscreen-css" : true,
"offscreen-css-text": "(inactive)",
"rewrite": {
"(.*) — Mozilla Firefox": " $1",
"(.*) - fish": "> [$1]",
"(.*) - zsh": "> [$1]",
"(.*) - kitty": "> [$1]"
}
},
"memory": {
"interval": 10,
"format": " {percentage}% 📊 ",
"format-alt-click": "click",
"tooltip": true,
"tooltip-format": "{used:0.1f}GB/{total:0.1f}G",
"on-click-right": "kitty -c ~/.config/kitty/kitty.conf --title btop sh -c 'btop'"
},
"mpris": {
"interval": 10,
"format": " {title} ",
"format-paused": " {title} {status_icon} ",
"on-click": "playerctl play-pause",
"on-click-right": "playerctl next",
"scroll-step": 5.0,
"smooth-scrolling-threshold": 1,
"status-icons": {
"paused": "󰐎",
"playing": "🎶",
"stopped": ""
},
"max-length": 30
},
"pulseaudio": {
"format": " {volume}% {icon} ",
"format-bluetooth": " 󰂰 {volume}% {icon} ",
"format-muted": "🔇",
"format-icons": {
"headphone": "🔈",
"hands-free": "🔈",
"headset": "🔈",
"phone": "🔈",
"portable": "🔈",
"car": "🔈",
"default": ["🔈", "🔈", "🔈", "🔈"],
"ignored-sinks": ["Easy Effects Sink"]
},
"scroll-step": 5.0,
"on-click": "pavucontrol -t 3",
"tooltip-format": "{icon} {desc} | {volume}%",
"smooth-scrolling-threshold": 1
},
"temperature": {
"interval": 10,
"tooltip": true,
"hwmon-path": ["/sys/class/hwmon/hwmon1/temp1_input", "/sys/class/thermal/thermal_zone0/temp"],
"critical-threshold": 82,
"format-critical": "{temperatureC}°C {icon}",
"format": " {temperatureC}°C {icon} ",
"format-icons": ["🔥"],
"on-click-right": "kitty -c ~/.config/kitty/kitty.conf --title nvtop sh -c 'nvtop'"
},
"custom/swaync": {
"tooltip":true,
"format": " {} {icon} ",
"format-icons": {
"notification": "🔔<span foreground='red'><sup></sup></span>",
"none": "🔔",
"dnd-notification": "🔕<span foreground='red'><sup></sup></span>",
"dnd-none": "🔕",
"inhibited-notification": "🔔<span foreground='red'><sup></sup></span>",
"inhibited-none": "🔔",
"dnd-inhibited-notification": "🔕<span foreground='red'><sup></sup></span>",
"dnd-inhibited-none": "🔕"
},
"return-type": "json",
"exec-if": "which swaync-client",
"exec": "swaync-client -swb",
"on-click": "sleep 0.1 && swaync-client -t -sw",
"on-click-right": "swaync-client -d -sw",
"escape": true
},
"wlr/taskbar": {
"format": " {icon} ",
"icon-size": 20,
"all-outputs": false,
"tooltip-format": "{title}",
"on-click": "activate",
"on-click-middle": "close",
"ignore-list": [
"rofi",
"firefox",
"kitty",
"jetbrains-studio",
"Brave-browser",
"Spotify"
]
},
"custom/cava": {
"exec": "~/.config/scripts/waybarCava.sh",
"format": "{}",
"on-click": "kitty -c ~/.config/kitty/kitty.conf nvim -c cd ~/.config/"
}
}

View file

@ -1,133 +0,0 @@
#!/run/current-system/sw/bin/python
import json
from datetime import datetime
import requests
WEATHER_CODES = {
"113": "☀️ ",
"116": "",
"119": "☁️ ",
"122": "☁️ ",
"143": "☁️ ",
"176": "🌧️",
"179": "🌧️",
"182": "🌧️",
"185": "🌧️",
"200": "⛈️ ",
"227": "🌨️",
"230": "🌨️",
"248": "☁️ ",
"260": "☁️ ",
"263": "🌧️",
"266": "🌧️",
"281": "🌧️",
"284": "🌧️",
"293": "🌧️",
"296": "🌧️",
"299": "🌧️",
"302": "🌧️",
"305": "🌧️",
"308": "🌧️",
"311": "🌧️",
"314": "🌧️",
"317": "🌧️",
"320": "🌨️",
"323": "🌨️",
"326": "🌨️",
"329": "❄️ ",
"332": "❄️ ",
"335": "❄️ ",
"338": "❄️ ",
"350": "🌧️",
"353": "🌧️",
"356": "🌧️",
"359": "🌧️",
"362": "🌧️",
"365": "🌧️",
"368": "🌧️",
"371": "❄️",
"374": "🌨️",
"377": "🌨️",
"386": "🌨️",
"389": "🌨️",
"392": "🌧️",
"395": "❄️ ",
}
data = {}
weather = requests.get("https://wttr.in/?format=j1").json()
def format_time(time):
return time.replace("00", "").zfill(2)
def format_temp(temp):
return (hour["FeelsLikeC"] + "°").ljust(3)
def format_chances(hour):
chances = {
"chanceoffog": "Fog",
"chanceoffrost": "Frost",
"chanceofovercast": "Overcast",
"chanceofrain": "Rain",
"chanceofsnow": "Snow",
"chanceofsunshine": "Sunshine",
"chanceofthunder": "Thunder",
"chanceofwindy": "Wind",
}
conditions = []
for event in chances.keys():
if int(hour[event]) > 0:
conditions.append(chances[event] + " " + hour[event] + "%")
return ", ".join(conditions)
tempint = int(weather["current_condition"][0]["FeelsLikeC"])
extrachar = ""
if tempint > 0 and tempint < 10:
extrachar = "+"
data["text"] = (
""
+ WEATHER_CODES[weather["current_condition"][0]["weatherCode"]]
+ " "
+ extrachar
+ weather["current_condition"][0]["FeelsLikeC"]
+ "°"
)
data["tooltip"] = (
f"<b>{weather['current_condition'][0]['weatherDesc'][0]['value']} {weather['current_condition'][0]['temp_C']}°</b>\n"
)
data["tooltip"] += f"Feels like: {weather['current_condition'][0]['FeelsLikeC']}°\n"
data["tooltip"] += f"Wind: {weather['current_condition'][0]['windspeedKmph']}Km/h\n"
data["tooltip"] += f"Humidity: {weather['current_condition'][0]['humidity']}%\n"
for i, day in enumerate(weather["weather"]):
data["tooltip"] += f"\n<b>"
if i == 0:
data["tooltip"] += "Today, "
if i == 1:
data["tooltip"] += "Tomorrow, "
data["tooltip"] += f"{day['date']}</b>\n"
data["tooltip"] += f"⬆️ {day['maxtempF']}° ⬇️ {day['mintempF']}° "
data[
"tooltip"
] += f"🌅 {day['astronomy'][0]['sunrise']} 🌇 {day['astronomy'][0]['sunset']}\n"
for hour in day["hourly"]:
if i == 0:
if int(format_time(hour["time"])) < datetime.now().hour - 2:
continue
data[
"tooltip"
] += f"{format_time(hour['time'])} {WEATHER_CODES[hour['weatherCode']]} {format_temp(hour['FeelsLikeC'])} {hour['weatherDesc'][0]['value']}, {format_chances(hour)}\n"
print(json.dumps(data))

178
home/config/waybar/style.css Executable file → Normal file
View file

@ -1,149 +1,81 @@
* {
border: none;
border-radius: 0;
font-family:
Jetbrains Mono Nerd Font,
monospace;
font-family: "JetBrainsMonoNerdFontMono";
font-weight: bold;
font-size: 14px;
min-height: 0;
font-size: 102%;
font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"';
padding: 1px;
}
window#waybar {
background: rgba(21, 18, 27, 0);
color: #cdd6f4;
background-color: rgba(0, 0, 0, 0);
transition-property: background-color;
transition-duration: .5s;
}
window#waybar.hidden {
opacity: 0.5;
}
window#waybar.empty {
background-color: transparent;
}
window#waybar.empty #window {
padding: 0px;
border: 0px;
background-color: transparent;
}
tooltip {
background: #1e1e2e;
border-radius: 10px;
border-width: 2px;
border-style: solid;
border-color: #11111b;
}
#workspaces button {
padding: 5px;
color: #313244;
margin-right: 5px;
}
#workspaces button.active {
color: #a6adc8;
}
#workspaces button.focused {
color: #a6adc8;
background: #eba0ac;
opacity: 1;
border-radius: 10px;
}
#workspaces button.urgent {
color: #11111b;
background: #a6e3a1;
border-radius: 10px;
tooltip label {
padding: 10px;
color: #ebdbb2;
}
#workspaces button:hover {
background: #11111b;
color: #cdd6f4;
border-radius: 10px;
}
#language,
#custom-updates,
#custom-caffeine,
#custom-weather,
#window,
#custom-cava,
#clock,
#battery,
#pulseaudio,
#cpu,
#memory,
#mpris,
#network,
#pulseaudio,
#temperature,
#workspaces,
#tray,
#backlight {
background: #1e1e2e;
padding: 0px 10px;
margin: 3px 0px;
margin-top: 10px;
border: 1px solid #181825;
}
#tray {
#custom-menu,
#custom-swaync {
border-radius: 10px;
margin-right: 10px;
}
#workspaces {
background: #1e1e2e;
border-radius: 10px;
margin-left: 10px;
padding-right: 0px;
padding-left: 5px;
}
#custom-caffeine {
color: #89dceb;
border-radius: 10px 0px 0px 10px;
border-right: 0px;
margin-left: 10px;
}
#custom-language {
color: #f38ba8;
border-left: 0px;
border-right: 0px;
}
#custom-updates {
color: #f5c2e7;
border-radius: 10px 0px 0px 10px;
border-left: 0px;
border-right: 0px;
color: #ebdbb2;
padding-top: 3px;
padding-bottom: 3px;
padding-left: 6px;
padding-right: 6px;
}
#window {
border-radius: 10px;
margin-left: 60px;
margin-right: 60px;
color: #ebdbb2;
padding-top: 3px;
padding-bottom: 3px;
padding-right: 6px;
padding-left: 6px;
border-radius: 12px;
}
#clock {
color: #fab387;
border-radius: 10px 0px 0px 10px;
margin-left: 5px;
border-right: 0px;
#workspaces button {
margin: 1px;
box-shadow: none;
text-shadow: none;
border-radius: 12px;
padding-left: 6px;
padding-right: 6px;
background-color: #ebdbb2;
color: #282828;
}
#network {
color: #f9e2af;
border-left: 0px;
border-right: 0px;
}
#pulseaudio {
color: #89b4fa;
border-left: 0px;
border-right: 0px;
}
#pulseaudio.microphone {
color: #cba6f7;
border-radius: 0px 10px 10px 0px;
border-left: 0px;
border-right: 0px;
margin-right: 5px;
}
#battery {
color: #a6e3a1;
border-radius: 0 10px 10px 0;
margin-right: 10px;
border-left: 0px;
}
#custom-weather {
border-radius: 0px 10px 10px 0px;
border-right: 0px;
margin-left: 0px;
#temperature.critical {
background-color: red;
}

View file

@ -9,11 +9,21 @@ in {
".config/swayidle".source = "${configDir}/swayidle";
".config/swaylock".source = "${configDir}/swaylock";
".config/wlogout".source = "${configDir}/wlogout";
".config/waybar".source = "${configDir}/waybar";
".config/waybar" = {
recursive = true;
source = "${configDir}/waybar";
};
".config/btop".source = "${configDir}/btop";
".config/wofi".source = "${configDir}/wofi";
".config/mako".source = "${configDir}/mako";
".config/scripts".source = "${configDir}/scripts";
".config/swaync".source = "${configDir}/swaync";
# ".config/uwsm".source = "${configDir}/uwsm";
".config/starship.toml".source = "${configDir}/starship/starship.toml";
".config/macchiato.toml".source = "${configDir}/starship/macchiato.toml";
".config/gh" = {
recursive = true;
source = "${configDir}/gh";
};
};
}

View file

@ -27,5 +27,10 @@
XDG_CONFIG_HOME = "\${HOME}/.config";
#XDG_BIN_HOME = "\${HOME}/.local/bin";
XDG_DATA_HOME = "\${HOME}/.local/share";
GTK_IM_MODULE = "";
# GPU
LIBVA_DRIVER_NAME = "nvidia";
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
};
}

View file

@ -3,7 +3,6 @@
{
home.packages = [
pkgs.vscode
# pkgs.opera
pkgs.discord
pkgs.firefox
@ -38,6 +37,7 @@
pkgs.viewnior
pkgs.catppuccin-cursors.macchiatoBlue
pkgs.catppuccin-gtk
pkgs.cava
# pkgs.papirus-folders
pkgs.nushell

View file

@ -2,11 +2,14 @@
{
boot.loader.systemd-boot.enable = true;
boot.kernelParams = ["nvidia-drm.fbdev=1" "nvidia.NVreg_PreserveVideoMemoryAllocations=1"];
boot.extraModprobeConfig = ''
options hid_apple fnmode=2
options nvidia_drm modeset=1 dbdev=1
'';
boot.initrd.systemd.enable = true;
boot.initrd.kernelModules = [ "nvidia" "i915" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" ];
boot.swraid.enable = true;
boot.swraid.mdadmConf =
"\n MAILADDR smitty\n ARRAY /dev/md126 metadata=1.2 name=stuff:0\n UUID=3b0b7c51-2681-407e-a22a-e965a8aeece7\n ";

View file

@ -7,7 +7,6 @@
intel-vaapi-driver = pkgs.intel-vaapi-driver.override { enableHybridCodec = true; } ;
};
environment.sessionVariables = { LIBVA_DRIVER_NAME = "iHD"; }; # Force intel-media-driver
hardware = {
bluetooth.enable = true;
@ -15,7 +14,6 @@
enable = true;
extraPackages = with pkgs; [
intel-media-driver # LIBVA_DRIVER_NAME=iHD
intel-vaapi-driver # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
libvdpau-va-gl
];
};

View file

@ -8,8 +8,11 @@
hyprpaper
hyprshot
kitty
# Notification
libnotify
mako
swaynotificationcenter
qt5.qtwayland
qt6.qtwayland
swayidle

View file

@ -4,7 +4,6 @@
environment.systemPackages = with pkgs; [
# Browser
firefox
opera
# Utils
bat
@ -25,6 +24,7 @@
# Dev
git
gh # Github cli tool
gnumake
lm_sensors
libsForQt5.qt5.qtquickcontrols2

View file

@ -3,6 +3,7 @@
{
systemd = {
user.services.polkit-gnome-authentication-agent-1 = {
enable = true;
description = "polkit-gnome-authentication-agent-1";
wantedBy = [ "graphical-session.target" ];
wants = [ "graphical-session.target" ];
@ -20,6 +21,6 @@
DefaultTimeoutStopSec=10s
'';
};
services.gnome.gnome-keyring.enable = true;
environment.systemPackages = with pkgs; [ polkit polkit_gnome ];
}

View file

@ -4,4 +4,5 @@
security.polkit.enable = true;
security.pam.services.swaylock = { };
security.pam.services.swaylock.fprintAuth = false;
security.pam.services.sddm.enableGnomeKeyring = true;
}