Compare commits
19 Commits
3bdd0fc0ea
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 7cd7d746e7 | |||
| e20f8b6ea2 | |||
| 36caf27d21 | |||
| 239cb292a8 | |||
| ee405d9008 | |||
| 2ee4e44788 | |||
| 365a2d6ac3 | |||
| 993af4e26c | |||
| fb76c95d1f | |||
| c29c755c14 | |||
| 30df2d5faf | |||
| 896900392b | |||
| 7676943e69 | |||
| 8aa6bcd5cb | |||
| be8fbb5d9f | |||
| d46e7c8dad | |||
| b39e579c51 | |||
| 0ccf6427f2 | |||
| c53268e307 |
@@ -1,117 +0,0 @@
|
|||||||
/*
|
|
||||||
*
|
|
||||||
* Catppuccin Frappe palette
|
|
||||||
* Maintainer: rubyowo
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
$base: #303446;
|
|
||||||
$mantle: #292c3c;
|
|
||||||
$crust: #232634;
|
|
||||||
|
|
||||||
$text: #c6d0f5;
|
|
||||||
$subtext0: #a5adce;
|
|
||||||
$subtext1: #b5bfe2;
|
|
||||||
|
|
||||||
$surface0: #414559;
|
|
||||||
$surface1: #51576d;
|
|
||||||
$surface2: #626880;
|
|
||||||
|
|
||||||
$overlay0: #737994;
|
|
||||||
$overlay1: #838ba7;
|
|
||||||
$overlay2: #949cbb;
|
|
||||||
|
|
||||||
$blue: #8caaee;
|
|
||||||
$lavender: #babbf1;
|
|
||||||
$sapphire: #85c1dc;
|
|
||||||
$sky: #99d1db;
|
|
||||||
$teal: #81c8be;
|
|
||||||
$green: #a6d189;
|
|
||||||
$yellow: #e5c890;
|
|
||||||
$peach: #ef9f76;
|
|
||||||
$maroon: #ea999c;
|
|
||||||
$red: #e78284;
|
|
||||||
$mauve: #ca9ee6;
|
|
||||||
$pink: #f4b8e4;
|
|
||||||
$flamingo: #eebebe;
|
|
||||||
$rosewater: #f2d5cf;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Author: Keule2
|
|
||||||
* Created: 23.09.2023
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*****************/
|
|
||||||
/* Defaults */
|
|
||||||
/*****************/
|
|
||||||
* {
|
|
||||||
border: none;
|
|
||||||
border-radius: 5px;
|
|
||||||
font-family: "FiraCode Nerd Font Mono";
|
|
||||||
font-weight: bold;
|
|
||||||
font-size: 13px;
|
|
||||||
color: $text;
|
|
||||||
}
|
|
||||||
|
|
||||||
window {
|
|
||||||
background: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
tooltip{
|
|
||||||
background: $surface0;
|
|
||||||
border: solid 2px $sapphire;
|
|
||||||
}
|
|
||||||
|
|
||||||
button {
|
|
||||||
padding: 2px;
|
|
||||||
margin: 4px 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget {
|
|
||||||
border: solid 2px $sapphire;
|
|
||||||
background: $surface1;
|
|
||||||
padding: 0px 5px;
|
|
||||||
margin: 2px;
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************/
|
|
||||||
/* Root */
|
|
||||||
/*****************/
|
|
||||||
.bar1, .bar2, .bar3{
|
|
||||||
background-color: rgba(36, 39, 58, 0.5);
|
|
||||||
border-top-left-radius: 0px;
|
|
||||||
border-top-right-radius: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.root {
|
|
||||||
margin: 2px;
|
|
||||||
padding: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************/
|
|
||||||
/* Cutom widgets */
|
|
||||||
/*****************/
|
|
||||||
/* Player */
|
|
||||||
.Playing {
|
|
||||||
color: $sapphire;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Session */
|
|
||||||
.session {
|
|
||||||
font-size: 24px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Workspaces */
|
|
||||||
.workspace_entry {
|
|
||||||
padding: 2px 5px;
|
|
||||||
margin: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.workspace_entry.current {
|
|
||||||
background: $overlay0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.workspace_entry_p:hover .workspace_entry{
|
|
||||||
background: $overlay2;
|
|
||||||
}
|
|
||||||
@@ -1,216 +0,0 @@
|
|||||||
;; TODO Update workspaces only when workspaces updated
|
|
||||||
;; TODO Camera access, Microphone access,.... -> indicator-mic-cam
|
|
||||||
(defwindow bar1
|
|
||||||
:monitor 0
|
|
||||||
:geometry (geometry :x "0%"
|
|
||||||
:y "0px"
|
|
||||||
:width "100%"
|
|
||||||
:height "35px"
|
|
||||||
:anchor "top center")
|
|
||||||
:stacking "fg"
|
|
||||||
:exclusive true
|
|
||||||
:focusable false
|
|
||||||
|
|
||||||
(content)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwindow bar2
|
|
||||||
:monitor 1
|
|
||||||
:geometry (geometry :x "0%"
|
|
||||||
:y "0px"
|
|
||||||
:width "100%"
|
|
||||||
:height "35px"
|
|
||||||
:anchor "top center")
|
|
||||||
:stacking "fg"
|
|
||||||
:exclusive true
|
|
||||||
:focusable false
|
|
||||||
|
|
||||||
(content)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwindow bar3
|
|
||||||
:monitor 2
|
|
||||||
:geometry (geometry :x "0%"
|
|
||||||
:y "0px"
|
|
||||||
:width "100%"
|
|
||||||
:height "35px"
|
|
||||||
:anchor "top center")
|
|
||||||
:stacking "fg"
|
|
||||||
:exclusive true
|
|
||||||
:focusable false
|
|
||||||
|
|
||||||
(content)
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
(defwidget content []
|
|
||||||
(centerbox :orientation "h" :class "root"
|
|
||||||
(box :space-evenly false :halign "start"
|
|
||||||
(workspaces)
|
|
||||||
(window_w)
|
|
||||||
)
|
|
||||||
(time :halign "center")
|
|
||||||
(box :space-evenly false :halign "end"
|
|
||||||
(systray :class "widget systray")
|
|
||||||
(player)
|
|
||||||
(cpu)
|
|
||||||
(memory)
|
|
||||||
(network)
|
|
||||||
(battery)
|
|
||||||
(audio)
|
|
||||||
(session)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
;;PLAYER
|
|
||||||
(deflisten MUSIC :initial "" "playerctl -a metadata --follow --format '{\"text\":\"{{artist}} - {{markup_escape(title)}}\", \"state\":\"{{status}}\"}' || true")
|
|
||||||
(defwidget player []
|
|
||||||
(box :class "widget"
|
|
||||||
(eventbox
|
|
||||||
:onclick "playerctl play-pause"
|
|
||||||
:onmiddleclick "playerctl previous"
|
|
||||||
:onrightclick "playerctl next"
|
|
||||||
(label :tooltip "${MUSIC.text}" :class "${MUSIC.state}" :text " ")
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
;;CPU
|
|
||||||
(defwidget cpu []
|
|
||||||
(box :class "widget"
|
|
||||||
(label :text "${round(EWW_CPU.avg, 0)}% ")
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
;;Memory
|
|
||||||
(defwidget memory []
|
|
||||||
(box :class "widget"
|
|
||||||
(label :text "${round(EWW_RAM.used_mem / (1024*1024*1024), 1)} " :tooltip "${round(EWW_RAM.used_mem_perc, 0)}%")
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
;;Network
|
|
||||||
(defpoll IS_WIRELESS :interval "10s" "~/.config/eww/scripts/net.sh iswlan")
|
|
||||||
(defpoll NET_INT :interval "10s" "~/.config/eww/scripts/net.sh getint")
|
|
||||||
(defpoll NET_NAME :interval "10s" "~/.config/eww/scripts/net.sh ssid")
|
|
||||||
(defwidget network []
|
|
||||||
(box :class "widget"
|
|
||||||
(eventbox :onclick "nm-connection-editor & disown"
|
|
||||||
(label :text "${round(EWW_NET[NET_INT].NET_UP / 1000, 1)}kB/s⇡ ${round(EWW_NET[NET_INT].NET_DOWN / 1000, 1)}kB/s⇣ ${IS_WIRELESS? "" : ""}" :tooltip "${NET_INT} ${IS_WIRELESS? ":${NET_NAME}" : ""}")
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defpoll BAT_INFO :interval "1m" "~/.config/eww/scripts/battery.sh")
|
|
||||||
(defwidget battery []
|
|
||||||
(box :class "widget" :visible "${BAT_INFO.has_battery}"
|
|
||||||
(label :text "${BAT_INFO.percentage}"
|
|
||||||
:tooltip "${BAT_INFO.time_remaining}"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwindow battery_warning
|
|
||||||
:monitor 0
|
|
||||||
:exclusive "false"
|
|
||||||
:stacking "overlay"
|
|
||||||
:geometry (geometry :anchor "center"
|
|
||||||
:width "10%"
|
|
||||||
:height "10%")
|
|
||||||
(box :class "widget" :orientation "v"
|
|
||||||
(label :text "${BAT_INFO.percentage}!"
|
|
||||||
:tooltip "${BAT_INFO.time_remaining}"
|
|
||||||
)
|
|
||||||
(button :onclick "${EWW_CMD} close battery_warning"
|
|
||||||
(label :text "")
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
;;Audio
|
|
||||||
(defpoll DEF_SINK :interval "10s" "~/.config/eww/scripts/audio.sh getdefaultsink")
|
|
||||||
(defpoll IS_MUTED_SOURCE :interval "10s" "~/.config/eww/scripts/audio.sh ismutedsource @DEFAULT_SOURCE@")
|
|
||||||
(defpoll IS_MUTED_SINK :interval "10s" "~/.config/eww/scripts/audio.sh ismutedsink @DEFAULT_SINK@")
|
|
||||||
(defpoll IS_BLUE :interval "10s" "~/.config/eww/scripts/audio.sh isblue @DEFAULT_SINK@")
|
|
||||||
(defpoll VOLUME_SOURCE :interval "10s" "~/.config/eww/scripts/audio.sh getvol @DEFAULT_SOURCE@")
|
|
||||||
(defpoll VOLUME_SINK :interval "10s" "~/.config/eww/scripts/audio.sh getvol @DEFAULT_SINK@")
|
|
||||||
(defwidget audio []
|
|
||||||
(box :class "widget"
|
|
||||||
(eventbox
|
|
||||||
:onclick "${EWW_CMD} open audio_popup"
|
|
||||||
:onmiddleclick "~/.config/eww/scripts/audio.sh mutesink @DEFAULT_SINK@"
|
|
||||||
:onrightclick "~/.config/eww/scripts/audio.sh mutesource @DEFAULT_SOURCE@"
|
|
||||||
:onscroll "~/.config/eww/scripts/audio.sh vol {}"
|
|
||||||
|
|
||||||
(label :text "${IS_MUTED_SINK? " ": "${round(VOLUME_SINK * 100, 0)}%"}${IS_BLUE? "" : ""} ${IS_MUTED_SOURCE? "" : "${round(VOLUME_SOURCE * 100, 0)}%"}"
|
|
||||||
:tooltip "${DEF_SINK}"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwindow audio_popup
|
|
||||||
:monitor 0
|
|
||||||
:exclusive "false"
|
|
||||||
:stacking "overlay"
|
|
||||||
:geometry (geometry :anchor "top right")
|
|
||||||
(audio_menu)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defpoll audio_device :interval "10s" "~/.config/eww/scripts/audio.sh getdevices")
|
|
||||||
(defwidget audio_menu []
|
|
||||||
(eventbox :onhoverlost "${EWW_CMD} close audio_popup"
|
|
||||||
(box :class "widget" :orientation "v"
|
|
||||||
(for dev in audio_device
|
|
||||||
(button :onclick "pactl set-default-sink ${dev.id} & ${EWW_CMD} close audio_popup"
|
|
||||||
(label :text "${dev.name == DEF_SINK? "" : ""} ${dev.name}")
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
;;Session
|
|
||||||
(defwidget session []
|
|
||||||
(box :class "widget"
|
|
||||||
(eventbox :onclick "swaync-client -t -sw"
|
|
||||||
(label :class "session" :text "")
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
;; Time/Date
|
|
||||||
(defpoll TIME :interval "5s" `date +\"%H:%M\"`)
|
|
||||||
(defpoll DATE :interval "1m" `date +\"%d.%m.%Y\"`)
|
|
||||||
|
|
||||||
(defwidget time []
|
|
||||||
(box :class "widget" :space-evenly false
|
|
||||||
(eventbox :onclick "merkuro-calendar & disown"
|
|
||||||
(label :text "${TIME} ${DATE} ")
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
;; Active Window Title
|
|
||||||
(deflisten window :initial "..." "sh ~/.config/eww/scripts/get_window_title.sh")
|
|
||||||
(defwidget window_w []
|
|
||||||
(box :class "widget" :visible {window != ""}
|
|
||||||
(label :limit-width 85 :text "${window}")
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
;; Workspaces
|
|
||||||
(deflisten workspaces :initial "[]" "bash ~/.config/eww/scripts/get_workspaces.sh")
|
|
||||||
(deflisten current_workspace :initial "1" "bash ~/.config/eww/scripts/get_active_workspace.sh")
|
|
||||||
(defwidget workspaces []
|
|
||||||
(box :class "widget workspaces" :space-evenly false
|
|
||||||
(for workspace in workspaces
|
|
||||||
(eventbox :onclick "hyprctl dispatch workspace ${workspace.id}" :class "workspace_entry_p"
|
|
||||||
(box :class "workspace_entry ${workspace.id == current_workspace ? "current" : ""} ${workspace.windows > 0 ? "occupied" : "empty"}"
|
|
||||||
(label :class "test" :text "${workspace.id}")
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
@@ -1,76 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
usage() {
|
|
||||||
echo "Usage:
|
|
||||||
$0 <action> <sink|source>
|
|
||||||
actions: vol"
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ -z $1 ]; then
|
|
||||||
usage
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z $2 ] && [ "$1" != "getdevices" ] && [ "$1" != "getdefaultsink" ]; then
|
|
||||||
usage
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
vol() {
|
|
||||||
if [ "$1" == "up" ]; then
|
|
||||||
vol="5%+"
|
|
||||||
else
|
|
||||||
vol="5%-"
|
|
||||||
fi
|
|
||||||
|
|
||||||
wpctl set-volume @DEFAULT_SINK@ $vol
|
|
||||||
eww update VOLUME_SINK=$(getvol @DEFAULT_SINK@)
|
|
||||||
}
|
|
||||||
|
|
||||||
getvol() {
|
|
||||||
wpctl get-volume $1 | awk '{print $2}'
|
|
||||||
}
|
|
||||||
|
|
||||||
ismutedsource() {
|
|
||||||
pactl get-source-mute $1 | awk '{print ($2 == "no"? "false" : "true")}'
|
|
||||||
}
|
|
||||||
|
|
||||||
ismutedsink() {
|
|
||||||
pactl get-sink-mute $1 | awk '{print ($2 == "no"? "false" : "true")}'
|
|
||||||
}
|
|
||||||
|
|
||||||
mutesink() {
|
|
||||||
pactl set-sink-mute $1 toggle
|
|
||||||
eww update IS_MUTED_SINK=$(ismutedsink $1)
|
|
||||||
}
|
|
||||||
|
|
||||||
mutesource() {
|
|
||||||
pactl set-source-mute $1 toggle
|
|
||||||
eww update IS_MUTED_SOURCE=$(ismutedsource $1)
|
|
||||||
}
|
|
||||||
|
|
||||||
isblue() {
|
|
||||||
wpctl inspect $1 | grep api.bluez -q -m 1 && echo true || echo false
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ "$1" == "getdevices" ]; then
|
|
||||||
pactl -f json list sinks | jq -Mc '[.[] | {id: .index, name: .description, mute: .mute, default: (.state == "RUNNING")}]'
|
|
||||||
elif [ "$1" == "vol" ]; then
|
|
||||||
vol $2
|
|
||||||
elif [ "$1" == "getvol" ]; then
|
|
||||||
getvol $2
|
|
||||||
elif [ "$1" == "ismutedsource" ]; then
|
|
||||||
ismutedsource $2
|
|
||||||
elif [ "$1" == "ismutedsink" ]; then
|
|
||||||
ismutedsink $2
|
|
||||||
elif [ "$1" == "mutesink" ]; then
|
|
||||||
mutesink $2
|
|
||||||
elif [ "$1" == "mutesource" ]; then
|
|
||||||
mutesource $2
|
|
||||||
elif [ "$1" == "isblue" ]; then
|
|
||||||
isblue $2
|
|
||||||
elif [ "$1" == "getdefaultsink" ]; then
|
|
||||||
wpctl inspect @DEFAULT_SINK@ | grep 'node.description' | awk -F ' = ' '{print $2}' | sed 's/\"//g'
|
|
||||||
else
|
|
||||||
usage
|
|
||||||
fi
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
bat=$(upower -e | grep BAT)
|
|
||||||
|
|
||||||
if [ -z $bat ]; then
|
|
||||||
echo '{}' | jq -Mc ".has_battery = false"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
upower=$(upower -i $bat)
|
|
||||||
|
|
||||||
get_percentage() {
|
|
||||||
echo "$1" | grep percentage | awk '{print $2}'
|
|
||||||
}
|
|
||||||
|
|
||||||
get_time_remaining() {
|
|
||||||
echo "$1" | grep "time to empty" | awk -F: '{print $2}'
|
|
||||||
}
|
|
||||||
|
|
||||||
get_icon_name() {
|
|
||||||
echo "$1" | grep icon-name | awk '{print $2}'
|
|
||||||
}
|
|
||||||
|
|
||||||
is_charging() {
|
|
||||||
echo "$1" | grep state | awk '{print $2}'
|
|
||||||
}
|
|
||||||
|
|
||||||
echo '{}' | jq -Mc ".has_battery = true | .percentage = \"$(get_percentage "$upower")\" | .time_remaining= \"$(get_time_remaining "$upower")\" | .is_charging = \"$(is_charging "$upower")\" | .icon_name = \"$(get_icon_name "$upower")\" "
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
#! /bin/bash
|
|
||||||
function clamp {
|
|
||||||
min=$1
|
|
||||||
max=$2
|
|
||||||
val=$3
|
|
||||||
python -c "print(max($min, min($val, $max)))"
|
|
||||||
}
|
|
||||||
|
|
||||||
direction=$1
|
|
||||||
current=$2
|
|
||||||
if test "$direction" = "down"
|
|
||||||
then
|
|
||||||
target=$(clamp 1 10 $(($current+1)))
|
|
||||||
echo "jumping to $target"
|
|
||||||
hyprctl dispatch workspace $target
|
|
||||||
elif test "$direction" = "up"
|
|
||||||
then
|
|
||||||
target=$(clamp 1 10 $(($current-1)))
|
|
||||||
echo "jumping to $target"
|
|
||||||
hyprctl dispatch workspace $target
|
|
||||||
fi
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
hyprctl monitors -j | jq '.[] | select(.focused) | .activeWorkspace.id'
|
|
||||||
|
|
||||||
socat -u UNIX-CONNECT:/tmp/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock - |
|
|
||||||
stdbuf -o0 awk -F '>>|,' -e '/^workspace>>/ {print $2}' -e '/^focusedmon>>/ {print $3}'
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
hyprctl activewindow -j | jq --raw-output .title
|
|
||||||
socat -u UNIX-CONNECT:/tmp/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock - | stdbuf -o0 awk -F '>>|,' '/^activewindow>>/{print $3}'
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
spaces (){
|
|
||||||
hyprctl workspaces -j | jq -Mc '[.[] | {id: (.id | tostring), windows: (.windows | tostring)}] | sort_by(.id)'
|
|
||||||
}
|
|
||||||
|
|
||||||
spaces
|
|
||||||
socat -u UNIX-CONNECT:/tmp/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock - | while read -r line; do
|
|
||||||
spaces
|
|
||||||
done
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
url=$(cat ~/.config/YouTube\ Music/config.json | jq --raw-output .url)
|
|
||||||
if [ -z "$url" ]; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
id="${url##*?v=}"
|
|
||||||
id="${id%%&*}"
|
|
||||||
|
|
||||||
#https://img.youtube.com/vi/$id/[option].jpg
|
|
||||||
#0
|
|
||||||
#1
|
|
||||||
#mqdefault
|
|
||||||
#hqdefault
|
|
||||||
#sddefault
|
|
||||||
#maxresdefault
|
|
||||||
url="https://img.youtube.com/vi/$id/sddefault.jpg"
|
|
||||||
|
|
||||||
curl -o ~/.config/eww/medi_art.jpg "$url"
|
|
||||||
@@ -1,63 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
usage() {
|
|
||||||
echo "Usage: $0 <func> [args]
|
|
||||||
func: islowest[INT], iswlan, ssid"
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ -z $1 ]; then
|
|
||||||
usage
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
getlowest() {
|
|
||||||
lines=$(ip route | grep default)
|
|
||||||
|
|
||||||
# Initialize variables to store the highest metric and interface
|
|
||||||
lowest_metric=99999999999
|
|
||||||
lowest_interface=""
|
|
||||||
|
|
||||||
# Loop through the lines and compare metrics
|
|
||||||
while IFS= read -r line; do
|
|
||||||
interface=$(echo "$line" | awk '{print $5}')
|
|
||||||
metric=$(echo "$line" | awk '{for(i=1;i<=NF;i++) if($i=="metric") print $(i+1)}')
|
|
||||||
|
|
||||||
if [ "$metric" -lt "$lowest_metric" ]; then
|
|
||||||
lowest_metric="$metric"
|
|
||||||
lowest_interface="$interface"
|
|
||||||
fi
|
|
||||||
done <<< "$lines"
|
|
||||||
|
|
||||||
echo "$lowest_interface"
|
|
||||||
}
|
|
||||||
|
|
||||||
islowest() {
|
|
||||||
if [ "$(getlowest)" == "$1" ]; then
|
|
||||||
echo "true"
|
|
||||||
else
|
|
||||||
echo "false"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
iswlan(){
|
|
||||||
int=$(nmcli -t -f active,ssid,device dev wifi | grep -m 1 yes | awk -F ':' '{print $3}')
|
|
||||||
|
|
||||||
if ! [ -z $int ]; then
|
|
||||||
islowest $int
|
|
||||||
else
|
|
||||||
echo "false"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ "$1" == "iswlan" ]; then
|
|
||||||
iswlan
|
|
||||||
elif [ "$1" == "islowest" ]; then
|
|
||||||
islowest $2
|
|
||||||
elif [ "$1" == "getint" ]; then
|
|
||||||
getlowest
|
|
||||||
elif [ "$1" == "ssid" ]; then
|
|
||||||
nmcli -t -f active,ssid dev wifi | grep -m 1 yes | awk -F: '{print $2}'
|
|
||||||
else
|
|
||||||
usage
|
|
||||||
fi
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
## Environment
|
|
||||||
env = XCURSOR_SIZE,24
|
|
||||||
env = XDG_SESSION_TYPE,wayland
|
|
||||||
env = WLR_NO_HARDWARE_CURSORS,1
|
|
||||||
env = QT_QPA_PLATFORMTHEME,qt5ct
|
|
||||||
#env = QT_QPA_PLATFORM,wayland
|
|
||||||
env = QT_STYLE_OVERRIDE,kvantum
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
# [[shades]]
|
|
||||||
# name = "vibrance"
|
|
||||||
# default = true # shader to use during times when there is no other shader scheduled
|
|
||||||
|
|
||||||
[[shades]]
|
|
||||||
name = "blue-light-filter"
|
|
||||||
start_time = 19:00:00
|
|
||||||
end_time = 08:00:00 # optional if you have more than one shade with start_time
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
rofi_conf="~/.config/rofi/main.rasi"
|
|
||||||
|
|
||||||
# Rofi action
|
|
||||||
case $1 in
|
|
||||||
d) mode="drun" ;;
|
|
||||||
w) mode="window" ;;
|
|
||||||
f) mode="filebrowser" ;;
|
|
||||||
e) mode="emoji"
|
|
||||||
action=(-a copy)
|
|
||||||
;;
|
|
||||||
c) mode="calc"
|
|
||||||
action=(-calc-command "wl-copy {result}")
|
|
||||||
children="\"message\", "
|
|
||||||
;;
|
|
||||||
h) echo -e "$0 [action]"
|
|
||||||
echo "d : drun mode"
|
|
||||||
echo "w : window mode"
|
|
||||||
echo "f : filebrowser mode"
|
|
||||||
exit 0 ;;
|
|
||||||
*) mode="drun" ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# Get font
|
|
||||||
font=`gsettings get org.gnome.desktop.interface font-name`
|
|
||||||
fnt_override="configuration {font: \"${font//\'}\";}"
|
|
||||||
|
|
||||||
# Get icon theme
|
|
||||||
icon_override=`gsettings get org.gnome.desktop.interface icon-theme | sed "s/'//g"`
|
|
||||||
icon_override="configuration {icon-theme: \"${icon_override}\";}"
|
|
||||||
|
|
||||||
# Children
|
|
||||||
children_ovr="mainbox {children: [\"inputbar\", $children \"listbox\"];}"
|
|
||||||
|
|
||||||
# Launch rofi
|
|
||||||
rofi -show $mode ${action[0]} "${action[1]}" -theme-str "$children_ovr" -theme-str "$fnt_override" -theme-str "$icon_override" -config "$rofi_conf"
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#set -e # Exit immediately if a command exits with a non-zero status. (deprecated) -> [CMD] || exit 1
|
|
||||||
|
|
||||||
if [[ $# -lt 1 ]] || [[ ! -d $1 ]]; then
|
|
||||||
echo "Usage:
|
|
||||||
$0 <dir containing images> [interval(seconds)]"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
## Check running
|
|
||||||
running=$(ps -ef | grep "$0" | grep -v grep | wc -l)
|
|
||||||
if [ ${running} -gt 2 ]; then
|
|
||||||
echo "Script already running! Killing others (TODO)..."
|
|
||||||
exit 1
|
|
||||||
# CRASHES EVERYTHING \/ !!!!!!!!!!
|
|
||||||
script_pids=$(ps aux | grep -E "$script_name" | grep -v "grep" | awk -v pid="$current_pid" '$2 != pid {print $2}')
|
|
||||||
|
|
||||||
# Loop through the PIDs and kill the processes
|
|
||||||
for pid in $script_pids; do
|
|
||||||
echo "Killing process $pid"
|
|
||||||
kill "$pid"
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
## Start swww
|
|
||||||
swww init &> /dev/null
|
|
||||||
|
|
||||||
## Settings for swww
|
|
||||||
export SWWW_TRANSITION_FPS=60
|
|
||||||
export SWWW_TRANSITION_STEP=2
|
|
||||||
INTERVAL=300
|
|
||||||
if [ ! -z $2 ]; then
|
|
||||||
INTERVAL=$2
|
|
||||||
fi
|
|
||||||
|
|
||||||
## Main loop
|
|
||||||
while true; do
|
|
||||||
find "$1" \
|
|
||||||
| while read -r img; do
|
|
||||||
echo "$((RANDOM % 1000)):$img"
|
|
||||||
done \
|
|
||||||
| sort -n | cut -d':' -f2- \
|
|
||||||
| while read -r img; do
|
|
||||||
img=${img/\~/$HOME}
|
|
||||||
if [ -d $img ]; then
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
|
|
||||||
swww img "$img" --transition-type wipe --resize=fit
|
|
||||||
ln -sf "$img" ~/.config/hypr/theme/current_background.jpg
|
|
||||||
sleep $INTERVAL
|
|
||||||
done
|
|
||||||
done
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
eww open bar1
|
|
||||||
eww open bar2
|
|
||||||
eww open bar3
|
|
||||||
|
|
||||||
## Waybar auto update (requires inotifytools)
|
|
||||||
# CONFIG_FILES="$HOME/.config/waybar/config $HOME/.config/waybar/style.css"
|
|
||||||
#
|
|
||||||
# trap "killall waybar" EXIT
|
|
||||||
#
|
|
||||||
# while true; do
|
|
||||||
# waybar &
|
|
||||||
# inotifywait -e create,modify $CONFIG_FILES
|
|
||||||
# killall waybar
|
|
||||||
# done
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
bat=$(upower -e | grep BAT)
|
|
||||||
|
|
||||||
if [ -z $bat ]; then
|
|
||||||
echo "No battery available!"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
while true; do
|
|
||||||
upower=$(upower -i $bat)
|
|
||||||
state=$(echo "$upower" | grep state | awk '{print $2}')
|
|
||||||
per=$(echo "$upower" | grep percentage | awk '{print $2}')
|
|
||||||
per="${per%\%}"
|
|
||||||
|
|
||||||
if [ "$per" -lt 15 ] && [ "$state" != "charging" ]; then
|
|
||||||
eww open battery_warning
|
|
||||||
fi
|
|
||||||
|
|
||||||
sleep 120
|
|
||||||
done
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
roconf="~/.config/rofi/clipboard.rasi"
|
|
||||||
|
|
||||||
# Read font
|
|
||||||
font=`gsettings get org.gnome.desktop.interface font-name`
|
|
||||||
fnt_override="configuration {font: \"${font//\'}\";}"
|
|
||||||
|
|
||||||
# Clipboard action
|
|
||||||
case $1 in
|
|
||||||
c) cliphist list | rofi -dmenu -theme-str "entry { placeholder: \"Copy...\";}" -theme-str "$fnt_override" -config $roconf | cliphist decode | wl-copy
|
|
||||||
;;
|
|
||||||
d) cliphist list | rofi -dmenu -theme-str "entry { placeholder: \"Delete...\";}" -theme-str "$fnt_override" -config $roconf | cliphist delete
|
|
||||||
;;
|
|
||||||
w) if [ `echo -e "Yes\nNo" | rofi -dmenu -theme-str "entry { placeholder: \"Clear Clipboard History?\";}" -theme-str "$fnt_override" -config $roconf` == "Yes" ] ; then
|
|
||||||
cliphist wipe
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
*) echo -e "$0 [action]"
|
|
||||||
echo "c : cliphist list and copy selected"
|
|
||||||
echo "d : cliphist list and delete selected"
|
|
||||||
echo "w : cliphist wipe database"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
HYPRCMDS=$(hyprctl -j clients | jq -j '.[] | "dispatch closewindow address:\(.address); "')
|
|
||||||
|
|
||||||
hyprctl --batch "$HYPRCMDS" >> /tmp/hypr/cexit.log 2>&1
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
eww close bar1 || eww open bar1 & disown
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
isplayingvideo(){
|
|
||||||
if pactl list | grep -q RUNNING; then
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
if ! [ -z $1 ]; then
|
|
||||||
isplayingvideo
|
|
||||||
fi
|
|
||||||
|
|
||||||
timeout_lock=900
|
|
||||||
timeout_DPMS=1080
|
|
||||||
|
|
||||||
swayidle -w \
|
|
||||||
timeout ${timeout_lock} "$0 isplayinfvideo || ~/.config/hypr/scripts/lock.sh" \
|
|
||||||
#timeout ${timeout_DPMS} 'hyprctl dispatch dpms off'
|
|
||||||
#resume 'hyprctl dispatch dpms on' # Crashes all apps -> Hyprland config set misc/mouse_move_enables_dpms=true
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
dnd=$(swaync-client -D)
|
|
||||||
|
|
||||||
swaync-client -dn
|
|
||||||
swaylock -C ~/.config/swaylock/swaylock.conf
|
|
||||||
|
|
||||||
if [ "$dnd" == "false" ]; then
|
|
||||||
swaync-client -df
|
|
||||||
fi
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
program_name="eww"
|
|
||||||
|
|
||||||
check_program_running() {
|
|
||||||
pgrep -x "$program_name" > /dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
while ! check_program_running; do
|
|
||||||
sleep 1
|
|
||||||
done
|
|
||||||
|
|
||||||
sleep 1
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
exec-once = ~/.config/hypr/scripts/bar.sh #Has to be first -> Systray
|
|
||||||
|
|
||||||
## Programms
|
|
||||||
exec-once = ~/.config/hypr/scripts/wait_for_tray.sh && discord
|
|
||||||
exec-once = ~/.config/hypr/scripts/wait_for_tray.sh && nextcloud
|
|
||||||
exec-once = ~/.config/hypr/scripts/wait_for_tray.sh && youtube-music
|
|
||||||
|
|
||||||
exec-once = swaync
|
|
||||||
exec-once = nm-applet
|
|
||||||
exec-once = blueman-applet
|
|
||||||
exec-once = hyprshade auto
|
|
||||||
exec-once = playerctld daemon
|
|
||||||
exec-once = indicator-mic-cam
|
|
||||||
exec-once = ~/.config/hypr/scripts/idle.sh
|
|
||||||
exec-once = ~/.config/hypr/scripts/battery_check.sh
|
|
||||||
|
|
||||||
## Clipboard
|
|
||||||
exec-once = wl-paste --type text --watch cliphist store #Stores only text data
|
|
||||||
exec-once = wl-paste --type image --watch cliphist store #Stores only image data
|
|
||||||
|
|
||||||
## Background
|
|
||||||
exec-once = ~/.config/hypr/scripts/background.sh ~/Data/Pictures/Backgrounds/Desktop/
|
|
||||||
|
|
||||||
## Misc
|
|
||||||
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
link for lock and rofi
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
[$Version]
|
|
||||||
update_info=filepicker.upd:filepicker-remove-old-previews-entry
|
|
||||||
|
|
||||||
[General]
|
|
||||||
TerminalApplication=kitty
|
|
||||||
|
|
||||||
[KDE]
|
|
||||||
ShowDeleteCommand=true
|
|
||||||
|
|
||||||
[KShortcutsDialog Settings]
|
|
||||||
Dialog Size=600,480
|
|
||||||
|
|
||||||
[PreviewSettings]
|
|
||||||
MaximumRemoteSize=0
|
|
||||||
@@ -1,219 +0,0 @@
|
|||||||
# This file is part of ranger, the console file manager.
|
|
||||||
# License: GNU GPL version 3, see the file "AUTHORS" for details.
|
|
||||||
# This theme was greatly inspired by "RougarouTheme" for ranger
|
|
||||||
# It can be found in: `https://github.com/RougarouTheme/ranger`
|
|
||||||
|
|
||||||
from __future__ import absolute_import, division, print_function
|
|
||||||
|
|
||||||
from ranger.gui.colorscheme import ColorScheme
|
|
||||||
from ranger.gui.color import (
|
|
||||||
black,
|
|
||||||
blue,
|
|
||||||
cyan,
|
|
||||||
green,
|
|
||||||
magenta,
|
|
||||||
red,
|
|
||||||
white,
|
|
||||||
yellow,
|
|
||||||
default,
|
|
||||||
normal,
|
|
||||||
bold,
|
|
||||||
reverse,
|
|
||||||
default_colors,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class Dracula(ColorScheme):
|
|
||||||
progress_bar_color = 13
|
|
||||||
|
|
||||||
def verify_browser(self, context, fg, bg, attr):
|
|
||||||
if context.selected:
|
|
||||||
attr = reverse
|
|
||||||
else:
|
|
||||||
attr = normal
|
|
||||||
if context.empty or context.error:
|
|
||||||
bg = 1
|
|
||||||
fg = 0
|
|
||||||
if context.border:
|
|
||||||
fg = default
|
|
||||||
if context.document:
|
|
||||||
attr |= normal
|
|
||||||
fg = 13
|
|
||||||
if context.media:
|
|
||||||
if context.image:
|
|
||||||
attr |= normal
|
|
||||||
fg = 3
|
|
||||||
elif context.video:
|
|
||||||
fg = 1
|
|
||||||
elif context.audio:
|
|
||||||
fg = 6
|
|
||||||
else:
|
|
||||||
fg = 10
|
|
||||||
if context.container:
|
|
||||||
attr |= bold
|
|
||||||
fg = 9
|
|
||||||
if context.directory:
|
|
||||||
attr |= bold
|
|
||||||
fg = 4
|
|
||||||
elif context.executable and not any(
|
|
||||||
(context.media, context.container, context.fifo, context.socket)
|
|
||||||
):
|
|
||||||
attr |= bold
|
|
||||||
fg = 2
|
|
||||||
if context.socket:
|
|
||||||
fg = 5
|
|
||||||
attr |= bold
|
|
||||||
if context.fifo or context.device:
|
|
||||||
fg = 3
|
|
||||||
if context.device:
|
|
||||||
attr |= bold
|
|
||||||
if context.link:
|
|
||||||
fg = 6 if context.good else 13
|
|
||||||
if context.tag_marker and not context.selected:
|
|
||||||
attr |= bold
|
|
||||||
if fg in (red, magenta):
|
|
||||||
fg = 1
|
|
||||||
else:
|
|
||||||
fg = 15
|
|
||||||
if not context.selected and (context.cut or context.copied):
|
|
||||||
fg = 8
|
|
||||||
attr |= bold
|
|
||||||
if context.main_column:
|
|
||||||
if context.selected:
|
|
||||||
attr |= bold
|
|
||||||
fg = 10
|
|
||||||
if context.marked:
|
|
||||||
attr |= bold
|
|
||||||
fg = 11
|
|
||||||
if context.badinfo:
|
|
||||||
if attr & reverse:
|
|
||||||
bg = 5
|
|
||||||
else:
|
|
||||||
fg = 5
|
|
||||||
|
|
||||||
if context.inactive_pane:
|
|
||||||
fg = 6
|
|
||||||
|
|
||||||
return fg, bg, attr
|
|
||||||
|
|
||||||
def verify_titlebar(self, context, fg, bg, attr):
|
|
||||||
attr |= bold
|
|
||||||
if context.hostname:
|
|
||||||
fg = 1 if context.bad else 2
|
|
||||||
elif context.directory:
|
|
||||||
fg = 4
|
|
||||||
elif context.tab:
|
|
||||||
if context.good:
|
|
||||||
bg = 2
|
|
||||||
elif context.link:
|
|
||||||
fg = 6
|
|
||||||
|
|
||||||
return fg, bg, attr
|
|
||||||
|
|
||||||
def verify_statusbar(self, context, fg, bg, attr):
|
|
||||||
if context.permissions:
|
|
||||||
if context.good:
|
|
||||||
fg = 2
|
|
||||||
elif context.bad:
|
|
||||||
bg = 5
|
|
||||||
fg = 8
|
|
||||||
if context.marked:
|
|
||||||
attr |= bold | reverse
|
|
||||||
fg = 3
|
|
||||||
if context.frozen:
|
|
||||||
attr |= bold | reverse
|
|
||||||
fg = 6
|
|
||||||
if context.message:
|
|
||||||
if context.bad:
|
|
||||||
attr |= bold
|
|
||||||
fg = 1
|
|
||||||
if context.loaded:
|
|
||||||
bg = self.progress_bar_color
|
|
||||||
if context.vcsinfo:
|
|
||||||
fg = 4
|
|
||||||
attr &= ~bold
|
|
||||||
if context.vcscommit:
|
|
||||||
fg = 3
|
|
||||||
attr &= ~bold
|
|
||||||
if context.vcsdate:
|
|
||||||
fg = 6
|
|
||||||
attr &= ~bold
|
|
||||||
|
|
||||||
return fg, bg, attr
|
|
||||||
|
|
||||||
def verify_taskview(self, context, fg, bg, attr):
|
|
||||||
if context.title:
|
|
||||||
fg = 4
|
|
||||||
|
|
||||||
if context.selected:
|
|
||||||
attr |= reverse
|
|
||||||
|
|
||||||
if context.loaded:
|
|
||||||
if context.selected:
|
|
||||||
fg = self.progress_bar_color
|
|
||||||
else:
|
|
||||||
bg = self.progress_bar_color
|
|
||||||
|
|
||||||
return fg, bg, attr
|
|
||||||
|
|
||||||
def verify_vcsfile(self, context, fg, bg, attr):
|
|
||||||
attr &= ~bold
|
|
||||||
if context.vcsconflict:
|
|
||||||
fg = 5
|
|
||||||
elif context.vcschanged:
|
|
||||||
fg = 1
|
|
||||||
elif context.vcsunknown:
|
|
||||||
fg = 1
|
|
||||||
elif context.vcsstaged:
|
|
||||||
fg = 2
|
|
||||||
elif context.vcssync:
|
|
||||||
fg = 2
|
|
||||||
elif context.vcsignored:
|
|
||||||
fg = default
|
|
||||||
|
|
||||||
return fg, bg, attr
|
|
||||||
|
|
||||||
def verify_vcsremote(self, context, fg, bg, attr):
|
|
||||||
attr &= ~bold
|
|
||||||
if context.vcssync or context.vcsnone:
|
|
||||||
fg = 2
|
|
||||||
elif context.vcsbehind:
|
|
||||||
fg = 1
|
|
||||||
elif context.vcsahead:
|
|
||||||
fg = 6
|
|
||||||
elif context.vcsdiverged:
|
|
||||||
fg = 5
|
|
||||||
elif context.vcsunknown:
|
|
||||||
fg = 1
|
|
||||||
|
|
||||||
return fg, bg, attr
|
|
||||||
|
|
||||||
def use(self, context):
|
|
||||||
fg, bg, attr = default_colors
|
|
||||||
|
|
||||||
if context.reset:
|
|
||||||
return default_colors
|
|
||||||
|
|
||||||
elif context.in_browser:
|
|
||||||
fg, bg, attr = self.verify_browser(context, fg, bg, attr)
|
|
||||||
|
|
||||||
elif context.in_titlebar:
|
|
||||||
fg, bg, attr = self.verify_titlebar(context, fg, bg, attr)
|
|
||||||
|
|
||||||
elif context.in_statusbar:
|
|
||||||
fg, bg, attr = self.verify_statusbar(context, fg, bg, attr)
|
|
||||||
|
|
||||||
if context.text:
|
|
||||||
if context.highlight:
|
|
||||||
attr |= reverse
|
|
||||||
|
|
||||||
if context.in_taskview:
|
|
||||||
fg, bg, attr = self.verify_taskview(context, fg, bg, attr)
|
|
||||||
|
|
||||||
if context.vcsfile and not context.selected:
|
|
||||||
fg, bg, attr = self.verify_vcsfile(context, fg, bg, attr)
|
|
||||||
|
|
||||||
elif context.vcsremote and not context.selected:
|
|
||||||
fg, bg, attr = self.verify_vcsremote(context, fg, bg, attr)
|
|
||||||
|
|
||||||
return fg, bg, attr
|
|
||||||
@@ -1,759 +0,0 @@
|
|||||||
# ===================================================================
|
|
||||||
# This file contains the default startup commands for ranger.
|
|
||||||
# To change them, it is recommended to create either /etc/ranger/rc.conf
|
|
||||||
# (system-wide) or ~/.config/ranger/rc.conf (per user) and add your custom
|
|
||||||
# commands there.
|
|
||||||
#
|
|
||||||
# If you copy this whole file there, you may want to set the environment
|
|
||||||
# variable RANGER_LOAD_DEFAULT_RC to FALSE to avoid loading it twice.
|
|
||||||
#
|
|
||||||
# The purpose of this file is mainly to define keybindings and settings.
|
|
||||||
# For running more complex python code, please create a plugin in "plugins/" or
|
|
||||||
# a command in "commands.py".
|
|
||||||
#
|
|
||||||
# Each line is a command that will be run before the user interface
|
|
||||||
# is initialized. As a result, you can not use commands which rely
|
|
||||||
# on the UI such as :delete or :mark.
|
|
||||||
# ===================================================================
|
|
||||||
|
|
||||||
# ===================================================================
|
|
||||||
# == Options
|
|
||||||
# ===================================================================
|
|
||||||
|
|
||||||
# Which viewmode should be used? Possible values are:
|
|
||||||
# miller: Use miller columns which show multiple levels of the hierarchy
|
|
||||||
# multipane: Midnight-commander like multipane view showing all tabs next
|
|
||||||
# to each other
|
|
||||||
set viewmode miller
|
|
||||||
#set viewmode multipane
|
|
||||||
|
|
||||||
# How many columns are there, and what are their relative widths?
|
|
||||||
set column_ratios 1,3,4
|
|
||||||
|
|
||||||
# Which files should be hidden? (regular expression)
|
|
||||||
set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$
|
|
||||||
|
|
||||||
# Show hidden files? You can toggle this by typing 'zh'
|
|
||||||
set show_hidden true
|
|
||||||
|
|
||||||
# Ask for a confirmation when running the "delete" command?
|
|
||||||
# Valid values are "always", "never", "multiple" (default)
|
|
||||||
# With "multiple", ranger will ask only if you delete multiple files at once.
|
|
||||||
set confirm_on_delete multiple
|
|
||||||
|
|
||||||
# Use non-default path for file preview script?
|
|
||||||
# ranger ships with scope.sh, a script that calls external programs (see
|
|
||||||
# README.md for dependencies) to preview images, archives, etc.
|
|
||||||
#set preview_script ~/.config/ranger/scope.sh
|
|
||||||
|
|
||||||
# Use the external preview script or display simple plain text or image previews?
|
|
||||||
set use_preview_script true
|
|
||||||
|
|
||||||
# Automatically count files in the directory, even before entering them?
|
|
||||||
set automatically_count_files true
|
|
||||||
|
|
||||||
# Open all images in this directory when running certain image viewers
|
|
||||||
# like feh or sxiv? You can still open selected files by marking them.
|
|
||||||
set open_all_images true
|
|
||||||
|
|
||||||
# Be aware of version control systems and display information.
|
|
||||||
set vcs_aware false
|
|
||||||
|
|
||||||
# State of the four backends git, hg, bzr, svn. The possible states are
|
|
||||||
# disabled, local (only show local info), enabled (show local and remote
|
|
||||||
# information).
|
|
||||||
set vcs_backend_git enabled
|
|
||||||
set vcs_backend_hg disabled
|
|
||||||
set vcs_backend_bzr disabled
|
|
||||||
set vcs_backend_svn disabled
|
|
||||||
|
|
||||||
# Truncate the long commit messages to this length when shown in the statusbar.
|
|
||||||
set vcs_msg_length 50
|
|
||||||
|
|
||||||
# Use one of the supported image preview protocols
|
|
||||||
set preview_images true
|
|
||||||
|
|
||||||
# Set the preview image method. Supported methods:
|
|
||||||
#
|
|
||||||
# * w3m (default):
|
|
||||||
# Preview images in full color with the external command "w3mimgpreview"?
|
|
||||||
# This requires the console web browser "w3m" and a supported terminal.
|
|
||||||
# It has been successfully tested with "xterm" and "urxvt" without tmux.
|
|
||||||
#
|
|
||||||
# * iterm2:
|
|
||||||
# Preview images in full color using iTerm2 image previews
|
|
||||||
# (http://iterm2.com/images.html). This requires using iTerm2 compiled
|
|
||||||
# with image preview support.
|
|
||||||
#
|
|
||||||
# This feature relies on the dimensions of the terminal's font. By default, a
|
|
||||||
# width of 8 and height of 11 are used. To use other values, set the options
|
|
||||||
# iterm2_font_width and iterm2_font_height to the desired values.
|
|
||||||
#
|
|
||||||
# * terminology:
|
|
||||||
# Previews images in full color in the terminology terminal emulator.
|
|
||||||
# Supports a wide variety of formats, even vector graphics like svg.
|
|
||||||
#
|
|
||||||
# * urxvt:
|
|
||||||
# Preview images in full color using urxvt image backgrounds. This
|
|
||||||
# requires using urxvt compiled with pixbuf support.
|
|
||||||
#
|
|
||||||
# * urxvt-full:
|
|
||||||
# The same as urxvt but utilizing not only the preview pane but the
|
|
||||||
# whole terminal window.
|
|
||||||
#
|
|
||||||
# * kitty:
|
|
||||||
# Preview images in full color using kitty image protocol.
|
|
||||||
# Requires python PIL or pillow library.
|
|
||||||
# If ranger does not share the local filesystem with kitty
|
|
||||||
# the transfer method is changed to encode the whole image;
|
|
||||||
# while slower, this allows remote previews,
|
|
||||||
# for example during an ssh session.
|
|
||||||
# Tmux is unsupported.
|
|
||||||
#
|
|
||||||
# * ueberzug:
|
|
||||||
# Preview images in full color with the external command "ueberzug".
|
|
||||||
# Images are shown by using a child window.
|
|
||||||
# Only for users who run X11 in GNU/Linux.
|
|
||||||
set preview_images_method kitty
|
|
||||||
|
|
||||||
# Delay in seconds before displaying an image with the w3m method.
|
|
||||||
# Increase it in case of experiencing display corruption.
|
|
||||||
set w3m_delay 0.02
|
|
||||||
|
|
||||||
# Manually adjust the w3mimg offset when using a terminal which needs this
|
|
||||||
set w3m_offset 0
|
|
||||||
|
|
||||||
# Default iTerm2 font size (see: preview_images_method: iterm2)
|
|
||||||
set iterm2_font_width 8
|
|
||||||
set iterm2_font_height 11
|
|
||||||
|
|
||||||
# Use a unicode "..." character to mark cut-off filenames?
|
|
||||||
set unicode_ellipsis false
|
|
||||||
|
|
||||||
# BIDI support - try to properly display file names in RTL languages (Hebrew, Arabic).
|
|
||||||
# Requires the python-bidi pip package
|
|
||||||
set bidi_support false
|
|
||||||
|
|
||||||
# Show dotfiles in the bookmark preview box?
|
|
||||||
set show_hidden_bookmarks true
|
|
||||||
|
|
||||||
# Which colorscheme to use? These colorschemes are available by default:
|
|
||||||
# default, jungle, snow, solarized
|
|
||||||
set colorscheme dracula
|
|
||||||
|
|
||||||
# Preview files on the rightmost column?
|
|
||||||
# And collapse (shrink) the last column if there is nothing to preview?
|
|
||||||
set preview_files true
|
|
||||||
set preview_directories true
|
|
||||||
set collapse_preview true
|
|
||||||
|
|
||||||
# Wrap long lines in plain text previews?
|
|
||||||
set wrap_plaintext_previews false
|
|
||||||
|
|
||||||
# Save the console history on exit?
|
|
||||||
set save_console_history true
|
|
||||||
|
|
||||||
# Draw the status bar on top of the browser window (default: bottom)
|
|
||||||
set status_bar_on_top false
|
|
||||||
|
|
||||||
# Draw a progress bar in the status bar which displays the average state of all
|
|
||||||
# currently running tasks which support progress bars?
|
|
||||||
set draw_progress_bar_in_status_bar true
|
|
||||||
|
|
||||||
# Draw borders around columns? (separators, outline, both, or none)
|
|
||||||
# Separators are vertical lines between columns.
|
|
||||||
# Outline draws a box around all the columns.
|
|
||||||
# Both combines the two.
|
|
||||||
set draw_borders none
|
|
||||||
|
|
||||||
# Display the directory name in tabs?
|
|
||||||
set dirname_in_tabs false
|
|
||||||
|
|
||||||
# Enable the mouse support?
|
|
||||||
set mouse_enabled true
|
|
||||||
|
|
||||||
# Display the file size in the main column or status bar?
|
|
||||||
set display_size_in_main_column true
|
|
||||||
set display_size_in_status_bar true
|
|
||||||
|
|
||||||
# Display the free disk space in the status bar?
|
|
||||||
set display_free_space_in_status_bar true
|
|
||||||
|
|
||||||
# Display files tags in all columns or only in main column?
|
|
||||||
set display_tags_in_all_columns true
|
|
||||||
|
|
||||||
# Set a title for the window? Updates both `WM_NAME` and `WM_ICON_NAME`
|
|
||||||
set update_title false
|
|
||||||
|
|
||||||
# Set the tmux/screen window-name to "ranger"?
|
|
||||||
set update_tmux_title true
|
|
||||||
|
|
||||||
# Shorten the title if it gets long? The number defines how many
|
|
||||||
# directories are displayed at once, 0 turns off this feature.
|
|
||||||
set shorten_title 3
|
|
||||||
|
|
||||||
# Show hostname in titlebar?
|
|
||||||
set hostname_in_titlebar true
|
|
||||||
|
|
||||||
# Abbreviate $HOME with ~ in the titlebar (first line) of ranger?
|
|
||||||
set tilde_in_titlebar false
|
|
||||||
|
|
||||||
# How many directory-changes or console-commands should be kept in history?
|
|
||||||
set max_history_size 20
|
|
||||||
set max_console_history_size 50
|
|
||||||
|
|
||||||
# Try to keep so much space between the top/bottom border when scrolling:
|
|
||||||
set scroll_offset 8
|
|
||||||
|
|
||||||
# Flush the input after each key hit? (Noticeable when ranger lags)
|
|
||||||
set flushinput true
|
|
||||||
|
|
||||||
# Padding on the right when there's no preview?
|
|
||||||
# This allows you to click into the space to run the file.
|
|
||||||
set padding_right true
|
|
||||||
|
|
||||||
# Save bookmarks (used with mX and `X) instantly?
|
|
||||||
# This helps to synchronize bookmarks between multiple ranger
|
|
||||||
# instances but leads to *slight* performance loss.
|
|
||||||
# When false, bookmarks are saved when ranger is exited.
|
|
||||||
set autosave_bookmarks true
|
|
||||||
|
|
||||||
# Save the "`" bookmark to disk. This can be used to switch to the last
|
|
||||||
# directory by typing "``".
|
|
||||||
set save_backtick_bookmark true
|
|
||||||
|
|
||||||
# You can display the "real" cumulative size of directories by using the
|
|
||||||
# command :get_cumulative_size or typing "dc". The size is expensive to
|
|
||||||
# calculate and will not be updated automatically. You can choose
|
|
||||||
# to update it automatically though by turning on this option:
|
|
||||||
set autoupdate_cumulative_size false
|
|
||||||
|
|
||||||
# Turning this on makes sense for screen readers:
|
|
||||||
set show_cursor false
|
|
||||||
|
|
||||||
# One of: size, natural, basename, atime, ctime, mtime, type, random
|
|
||||||
set sort natural
|
|
||||||
|
|
||||||
# Additional sorting options
|
|
||||||
set sort_reverse false
|
|
||||||
set sort_case_insensitive true
|
|
||||||
set sort_directories_first true
|
|
||||||
set sort_unicode false
|
|
||||||
|
|
||||||
# Enable this if key combinations with the Alt Key don't work for you.
|
|
||||||
# (Especially on xterm)
|
|
||||||
set xterm_alt_key false
|
|
||||||
|
|
||||||
# Whether to include bookmarks in cd command
|
|
||||||
set cd_bookmarks true
|
|
||||||
|
|
||||||
# Changes case sensitivity for the cd command tab completion
|
|
||||||
set cd_tab_case sensitive
|
|
||||||
|
|
||||||
# Use fuzzy tab completion with the "cd" command. For example,
|
|
||||||
# ":cd /u/lo/b<tab>" expands to ":cd /usr/local/bin".
|
|
||||||
set cd_tab_fuzzy false
|
|
||||||
|
|
||||||
# Avoid previewing files larger than this size, in bytes. Use a value of 0 to
|
|
||||||
# disable this feature.
|
|
||||||
set preview_max_size 0
|
|
||||||
|
|
||||||
# The key hint lists up to this size have their sublists expanded.
|
|
||||||
# Otherwise the submaps are replaced with "...".
|
|
||||||
set hint_collapse_threshold 10
|
|
||||||
|
|
||||||
# Add the highlighted file to the path in the titlebar
|
|
||||||
set show_selection_in_titlebar true
|
|
||||||
|
|
||||||
# The delay that ranger idly waits for user input, in milliseconds, with a
|
|
||||||
# resolution of 100ms. Lower delay reduces lag between directory updates but
|
|
||||||
# increases CPU load.
|
|
||||||
set idle_delay 2000
|
|
||||||
|
|
||||||
# When the metadata manager module looks for metadata, should it only look for
|
|
||||||
# a ".metadata.json" file in the current directory, or do a deep search and
|
|
||||||
# check all directories above the current one as well?
|
|
||||||
set metadata_deep_search false
|
|
||||||
|
|
||||||
# Clear all existing filters when leaving a directory
|
|
||||||
set clear_filters_on_dir_change false
|
|
||||||
|
|
||||||
# Disable displaying line numbers in main column.
|
|
||||||
# Possible values: false, absolute, relative.
|
|
||||||
set line_numbers false
|
|
||||||
|
|
||||||
# When line_numbers=relative show the absolute line number in the
|
|
||||||
# current line.
|
|
||||||
set relative_current_zero false
|
|
||||||
|
|
||||||
# Start line numbers from 1 instead of 0
|
|
||||||
set one_indexed false
|
|
||||||
|
|
||||||
# Save tabs on exit
|
|
||||||
set save_tabs_on_exit false
|
|
||||||
|
|
||||||
# Enable scroll wrapping - moving down while on the last item will wrap around to
|
|
||||||
# the top and vice versa.
|
|
||||||
set wrap_scroll false
|
|
||||||
|
|
||||||
# Set the global_inode_type_filter to nothing. Possible options: d, f and l for
|
|
||||||
# directories, files and symlinks respectively.
|
|
||||||
set global_inode_type_filter
|
|
||||||
|
|
||||||
# This setting allows to freeze the list of files to save I/O bandwidth. It
|
|
||||||
# should be 'false' during start-up, but you can toggle it by pressing F.
|
|
||||||
set freeze_files false
|
|
||||||
|
|
||||||
# Print file sizes in bytes instead of the default human-readable format.
|
|
||||||
set size_in_bytes false
|
|
||||||
|
|
||||||
# Warn at startup if RANGER_LEVEL env var is greater than 0, in other words
|
|
||||||
# give a warning when you nest ranger in a subshell started by ranger.
|
|
||||||
# Special value "error" makes the warning more visible.
|
|
||||||
set nested_ranger_warning true
|
|
||||||
|
|
||||||
# ===================================================================
|
|
||||||
# == Local Options
|
|
||||||
# ===================================================================
|
|
||||||
# You can set local options that only affect a single directory.
|
|
||||||
|
|
||||||
# Examples:
|
|
||||||
# setlocal path=~/downloads sort mtime
|
|
||||||
|
|
||||||
# ===================================================================
|
|
||||||
# == Command Aliases in the Console
|
|
||||||
# ===================================================================
|
|
||||||
|
|
||||||
alias e edit
|
|
||||||
alias q quit
|
|
||||||
alias q! quit!
|
|
||||||
alias qa quitall
|
|
||||||
alias qa! quitall!
|
|
||||||
alias qall quitall
|
|
||||||
alias qall! quitall!
|
|
||||||
alias setl setlocal
|
|
||||||
|
|
||||||
alias filter scout -prts
|
|
||||||
alias find scout -aets
|
|
||||||
alias mark scout -mr
|
|
||||||
alias unmark scout -Mr
|
|
||||||
alias search scout -rs
|
|
||||||
alias search_inc scout -rts
|
|
||||||
alias travel scout -aefklst
|
|
||||||
|
|
||||||
# ===================================================================
|
|
||||||
# == Define keys for the browser
|
|
||||||
# ===================================================================
|
|
||||||
|
|
||||||
# Basic
|
|
||||||
map Q quitall
|
|
||||||
map q quit
|
|
||||||
copymap q ZZ ZQ
|
|
||||||
|
|
||||||
map R reload_cwd
|
|
||||||
map F set freeze_files!
|
|
||||||
map <C-r> reset
|
|
||||||
map <C-l> redraw_window
|
|
||||||
map <C-c> abort
|
|
||||||
map <esc> change_mode normal
|
|
||||||
map ~ set viewmode!
|
|
||||||
|
|
||||||
map i display_file
|
|
||||||
map <A-j> scroll_preview 1
|
|
||||||
map <A-k> scroll_preview -1
|
|
||||||
map ? help
|
|
||||||
map W display_log
|
|
||||||
map w taskview_open
|
|
||||||
map S shell $SHELL
|
|
||||||
|
|
||||||
map : console
|
|
||||||
map ; console
|
|
||||||
map ! console shell%space
|
|
||||||
map @ console -p6 shell %%s
|
|
||||||
map # console shell -p%space
|
|
||||||
map s console shell%space
|
|
||||||
map r chain draw_possible_programs; console open_with%space
|
|
||||||
map f console find%space
|
|
||||||
map cd console cd%space
|
|
||||||
|
|
||||||
map <C-p> chain console; eval fm.ui.console.history_move(-1)
|
|
||||||
|
|
||||||
# Change the line mode
|
|
||||||
map Mf linemode filename
|
|
||||||
map Mi linemode fileinfo
|
|
||||||
map Mm linemode mtime
|
|
||||||
map Mh linemode humanreadablemtime
|
|
||||||
map Mp linemode permissions
|
|
||||||
map Ms linemode sizemtime
|
|
||||||
map MH linemode sizehumanreadablemtime
|
|
||||||
map Mt linemode metatitle
|
|
||||||
|
|
||||||
# Tagging / Marking
|
|
||||||
map t tag_toggle
|
|
||||||
map ut tag_remove
|
|
||||||
map "<any> tag_toggle tag=%any
|
|
||||||
map <Space> mark_files toggle=True
|
|
||||||
map v mark_files all=True toggle=True
|
|
||||||
map uv mark_files all=True val=False
|
|
||||||
map V toggle_visual_mode
|
|
||||||
map uV toggle_visual_mode reverse=True
|
|
||||||
|
|
||||||
# For the nostalgics: Midnight Commander bindings
|
|
||||||
map <F1> help
|
|
||||||
map <F2> rename_append
|
|
||||||
map <F3> display_file
|
|
||||||
map <F4> edit
|
|
||||||
map <F5> copy
|
|
||||||
map <F6> cut
|
|
||||||
map <F7> console mkdir%space
|
|
||||||
map <F8> console delete
|
|
||||||
#map <F8> console trash
|
|
||||||
map <F10> exit
|
|
||||||
|
|
||||||
# In case you work on a keyboard with dvorak layout
|
|
||||||
map <UP> move up=1
|
|
||||||
map <DOWN> move down=1
|
|
||||||
map <LEFT> move left=1
|
|
||||||
map <RIGHT> move right=1
|
|
||||||
map <HOME> move to=0
|
|
||||||
map <END> move to=-1
|
|
||||||
map <PAGEDOWN> move down=1 pages=True
|
|
||||||
map <PAGEUP> move up=1 pages=True
|
|
||||||
map <CR> move right=1
|
|
||||||
#map <DELETE> console delete
|
|
||||||
map <INSERT> console touch%space
|
|
||||||
|
|
||||||
# VIM-like
|
|
||||||
copymap <UP> k
|
|
||||||
copymap <DOWN> j
|
|
||||||
copymap <LEFT> h
|
|
||||||
copymap <RIGHT> l
|
|
||||||
copymap <HOME> gg
|
|
||||||
copymap <END> G
|
|
||||||
copymap <PAGEDOWN> <C-F>
|
|
||||||
copymap <PAGEUP> <C-B>
|
|
||||||
|
|
||||||
map J move down=0.5 pages=True
|
|
||||||
map K move up=0.5 pages=True
|
|
||||||
copymap J <C-D>
|
|
||||||
copymap K <C-U>
|
|
||||||
|
|
||||||
# Jumping around
|
|
||||||
map H history_go -1
|
|
||||||
map L history_go 1
|
|
||||||
map ] move_parent 1
|
|
||||||
map [ move_parent -1
|
|
||||||
map } traverse
|
|
||||||
map { traverse_backwards
|
|
||||||
map ) jump_non
|
|
||||||
|
|
||||||
map gh cd ~
|
|
||||||
map ge cd /etc
|
|
||||||
map gu cd /usr
|
|
||||||
map gd cd /dev
|
|
||||||
map gl cd -r .
|
|
||||||
map gL cd -r %f
|
|
||||||
map go cd /opt
|
|
||||||
map gv cd /var
|
|
||||||
map gm cd /media
|
|
||||||
map gi eval fm.cd('/run/media/' + os.getenv('USER'))
|
|
||||||
map gM cd /mnt
|
|
||||||
map gs cd /srv
|
|
||||||
map gp cd /tmp
|
|
||||||
map gr cd /
|
|
||||||
map gR eval fm.cd(ranger.RANGERDIR)
|
|
||||||
map g/ cd /
|
|
||||||
map g? cd /usr/share/doc/ranger
|
|
||||||
|
|
||||||
# External Programs
|
|
||||||
map E edit
|
|
||||||
map du shell -p du --max-depth=1 -h --apparent-size
|
|
||||||
map dU shell -p du --max-depth=1 -h --apparent-size | sort -rh
|
|
||||||
map yp yank path
|
|
||||||
map yd yank dir
|
|
||||||
map yn yank name
|
|
||||||
map y. yank name_without_extension
|
|
||||||
|
|
||||||
# Filesystem Operations
|
|
||||||
map = chmod
|
|
||||||
|
|
||||||
map cw console rename%space
|
|
||||||
map a rename_append
|
|
||||||
map A eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"))
|
|
||||||
map I eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"), position=7)
|
|
||||||
|
|
||||||
map pp paste
|
|
||||||
map po paste overwrite=True
|
|
||||||
map pP paste append=True
|
|
||||||
map pO paste overwrite=True append=True
|
|
||||||
map pl paste_symlink relative=False
|
|
||||||
map pL paste_symlink relative=True
|
|
||||||
map phl paste_hardlink
|
|
||||||
map pht paste_hardlinked_subtree
|
|
||||||
map pd console paste dest=
|
|
||||||
map p`<any> paste dest=%any_path
|
|
||||||
map p'<any> paste dest=%any_path
|
|
||||||
|
|
||||||
map dD console delete
|
|
||||||
map dT console trash
|
|
||||||
|
|
||||||
map dd cut
|
|
||||||
map ud uncut
|
|
||||||
map da cut mode=add
|
|
||||||
map dr cut mode=remove
|
|
||||||
map dt cut mode=toggle
|
|
||||||
|
|
||||||
map yy copy
|
|
||||||
map uy uncut
|
|
||||||
map ya copy mode=add
|
|
||||||
map yr copy mode=remove
|
|
||||||
map yt copy mode=toggle
|
|
||||||
|
|
||||||
# Temporary workarounds
|
|
||||||
map dgg eval fm.cut(dirarg=dict(to=0), narg=quantifier)
|
|
||||||
map dG eval fm.cut(dirarg=dict(to=-1), narg=quantifier)
|
|
||||||
map dj eval fm.cut(dirarg=dict(down=1), narg=quantifier)
|
|
||||||
map dk eval fm.cut(dirarg=dict(up=1), narg=quantifier)
|
|
||||||
map ygg eval fm.copy(dirarg=dict(to=0), narg=quantifier)
|
|
||||||
map yG eval fm.copy(dirarg=dict(to=-1), narg=quantifier)
|
|
||||||
map yj eval fm.copy(dirarg=dict(down=1), narg=quantifier)
|
|
||||||
map yk eval fm.copy(dirarg=dict(up=1), narg=quantifier)
|
|
||||||
|
|
||||||
# Searching
|
|
||||||
map / console search%space
|
|
||||||
map n search_next
|
|
||||||
map N search_next forward=False
|
|
||||||
map ct search_next order=tag
|
|
||||||
map cs search_next order=size
|
|
||||||
map ci search_next order=mimetype
|
|
||||||
map cc search_next order=ctime
|
|
||||||
map cm search_next order=mtime
|
|
||||||
map ca search_next order=atime
|
|
||||||
|
|
||||||
# Tabs
|
|
||||||
map <C-n> tab_new
|
|
||||||
map <C-w> tab_close
|
|
||||||
map <TAB> tab_move 1
|
|
||||||
map <S-TAB> tab_move -1
|
|
||||||
map <A-Right> tab_move 1
|
|
||||||
map <A-Left> tab_move -1
|
|
||||||
map gt tab_move 1
|
|
||||||
map gT tab_move -1
|
|
||||||
map gn tab_new
|
|
||||||
map gc tab_close
|
|
||||||
map uq tab_restore
|
|
||||||
map <a-1> tab_open 1
|
|
||||||
map <a-2> tab_open 2
|
|
||||||
map <a-3> tab_open 3
|
|
||||||
map <a-4> tab_open 4
|
|
||||||
map <a-5> tab_open 5
|
|
||||||
map <a-6> tab_open 6
|
|
||||||
map <a-7> tab_open 7
|
|
||||||
map <a-8> tab_open 8
|
|
||||||
map <a-9> tab_open 9
|
|
||||||
map <a-r> tab_shift 1
|
|
||||||
map <a-l> tab_shift -1
|
|
||||||
|
|
||||||
# Sorting
|
|
||||||
map or set sort_reverse!
|
|
||||||
map oz set sort=random
|
|
||||||
map os chain set sort=size; set sort_reverse=False
|
|
||||||
map ob chain set sort=basename; set sort_reverse=False
|
|
||||||
map on chain set sort=natural; set sort_reverse=False
|
|
||||||
map om chain set sort=mtime; set sort_reverse=False
|
|
||||||
map oc chain set sort=ctime; set sort_reverse=False
|
|
||||||
map oa chain set sort=atime; set sort_reverse=False
|
|
||||||
map ot chain set sort=type; set sort_reverse=False
|
|
||||||
map oe chain set sort=extension; set sort_reverse=False
|
|
||||||
|
|
||||||
map oS chain set sort=size; set sort_reverse=True
|
|
||||||
map oB chain set sort=basename; set sort_reverse=True
|
|
||||||
map oN chain set sort=natural; set sort_reverse=True
|
|
||||||
map oM chain set sort=mtime; set sort_reverse=True
|
|
||||||
map oC chain set sort=ctime; set sort_reverse=True
|
|
||||||
map oA chain set sort=atime; set sort_reverse=True
|
|
||||||
map oT chain set sort=type; set sort_reverse=True
|
|
||||||
map oE chain set sort=extension; set sort_reverse=True
|
|
||||||
|
|
||||||
map dc get_cumulative_size
|
|
||||||
|
|
||||||
# Settings
|
|
||||||
map zc set collapse_preview!
|
|
||||||
map zd set sort_directories_first!
|
|
||||||
map zh set show_hidden!
|
|
||||||
map <C-h> set show_hidden!
|
|
||||||
copymap <C-h> <backspace>
|
|
||||||
copymap <backspace> <backspace2>
|
|
||||||
map zI set flushinput!
|
|
||||||
map zi set preview_images!
|
|
||||||
map zm set mouse_enabled!
|
|
||||||
map zp set preview_files!
|
|
||||||
map zP set preview_directories!
|
|
||||||
map zs set sort_case_insensitive!
|
|
||||||
map zu set autoupdate_cumulative_size!
|
|
||||||
map zv set use_preview_script!
|
|
||||||
map zf console filter%space
|
|
||||||
copymap zf zz
|
|
||||||
|
|
||||||
# Filter stack
|
|
||||||
map .d filter_stack add type d
|
|
||||||
map .f filter_stack add type f
|
|
||||||
map .l filter_stack add type l
|
|
||||||
map .m console filter_stack add mime%space
|
|
||||||
map .n console filter_stack add name%space
|
|
||||||
map .# console filter_stack add hash%space
|
|
||||||
map ." filter_stack add duplicate
|
|
||||||
map .' filter_stack add unique
|
|
||||||
map .| filter_stack add or
|
|
||||||
map .& filter_stack add and
|
|
||||||
map .! filter_stack add not
|
|
||||||
map .r filter_stack rotate
|
|
||||||
map .c filter_stack clear
|
|
||||||
map .* filter_stack decompose
|
|
||||||
map .p filter_stack pop
|
|
||||||
map .. filter_stack show
|
|
||||||
|
|
||||||
# Bookmarks
|
|
||||||
map `<any> enter_bookmark %any
|
|
||||||
map '<any> enter_bookmark %any
|
|
||||||
map m<any> set_bookmark %any
|
|
||||||
map um<any> unset_bookmark %any
|
|
||||||
|
|
||||||
map m<bg> draw_bookmarks
|
|
||||||
copymap m<bg> um<bg> `<bg> '<bg>
|
|
||||||
|
|
||||||
# Generate all the chmod bindings with some python help:
|
|
||||||
eval for arg in "rwxXst": cmd("map +u{0} shell -f chmod u+{0} %s".format(arg))
|
|
||||||
eval for arg in "rwxXst": cmd("map +g{0} shell -f chmod g+{0} %s".format(arg))
|
|
||||||
eval for arg in "rwxXst": cmd("map +o{0} shell -f chmod o+{0} %s".format(arg))
|
|
||||||
eval for arg in "rwxXst": cmd("map +a{0} shell -f chmod a+{0} %s".format(arg))
|
|
||||||
eval for arg in "rwxXst": cmd("map +{0} shell -f chmod u+{0} %s".format(arg))
|
|
||||||
|
|
||||||
eval for arg in "rwxXst": cmd("map -u{0} shell -f chmod u-{0} %s".format(arg))
|
|
||||||
eval for arg in "rwxXst": cmd("map -g{0} shell -f chmod g-{0} %s".format(arg))
|
|
||||||
eval for arg in "rwxXst": cmd("map -o{0} shell -f chmod o-{0} %s".format(arg))
|
|
||||||
eval for arg in "rwxXst": cmd("map -a{0} shell -f chmod a-{0} %s".format(arg))
|
|
||||||
eval for arg in "rwxXst": cmd("map -{0} shell -f chmod u-{0} %s".format(arg))
|
|
||||||
|
|
||||||
# ===================================================================
|
|
||||||
# == Define keys for the console
|
|
||||||
# ===================================================================
|
|
||||||
# Note: Unmapped keys are passed directly to the console.
|
|
||||||
|
|
||||||
# Basic
|
|
||||||
cmap <tab> eval fm.ui.console.tab()
|
|
||||||
cmap <s-tab> eval fm.ui.console.tab(-1)
|
|
||||||
cmap <ESC> eval fm.ui.console.close()
|
|
||||||
cmap <CR> eval fm.ui.console.execute()
|
|
||||||
cmap <C-l> redraw_window
|
|
||||||
|
|
||||||
copycmap <ESC> <C-c>
|
|
||||||
copycmap <CR> <C-j>
|
|
||||||
|
|
||||||
# Move around
|
|
||||||
cmap <up> eval fm.ui.console.history_move(-1)
|
|
||||||
cmap <down> eval fm.ui.console.history_move(1)
|
|
||||||
cmap <left> eval fm.ui.console.move(left=1)
|
|
||||||
cmap <right> eval fm.ui.console.move(right=1)
|
|
||||||
cmap <home> eval fm.ui.console.move(right=0, absolute=True)
|
|
||||||
cmap <end> eval fm.ui.console.move(right=-1, absolute=True)
|
|
||||||
cmap <a-b> eval fm.ui.console.move_word(left=1)
|
|
||||||
cmap <a-f> eval fm.ui.console.move_word(right=1)
|
|
||||||
|
|
||||||
copycmap <a-b> <a-left>
|
|
||||||
copycmap <a-f> <a-right>
|
|
||||||
|
|
||||||
# Line Editing
|
|
||||||
cmap <backspace> eval fm.ui.console.delete(-1)
|
|
||||||
cmap <delete> eval fm.ui.console.delete(0)
|
|
||||||
cmap <C-w> eval fm.ui.console.delete_word()
|
|
||||||
cmap <A-d> eval fm.ui.console.delete_word(backward=False)
|
|
||||||
cmap <C-k> eval fm.ui.console.delete_rest(1)
|
|
||||||
cmap <C-u> eval fm.ui.console.delete_rest(-1)
|
|
||||||
cmap <C-y> eval fm.ui.console.paste()
|
|
||||||
|
|
||||||
# And of course the emacs way
|
|
||||||
copycmap <ESC> <C-g>
|
|
||||||
copycmap <up> <C-p>
|
|
||||||
copycmap <down> <C-n>
|
|
||||||
copycmap <left> <C-b>
|
|
||||||
copycmap <right> <C-f>
|
|
||||||
copycmap <home> <C-a>
|
|
||||||
copycmap <end> <C-e>
|
|
||||||
copycmap <delete> <C-d>
|
|
||||||
copycmap <backspace> <C-h>
|
|
||||||
|
|
||||||
# Note: There are multiple ways to express backspaces. <backspace> (code 263)
|
|
||||||
# and <backspace2> (code 127). To be sure, use both.
|
|
||||||
copycmap <backspace> <backspace2>
|
|
||||||
|
|
||||||
# This special expression allows typing in numerals:
|
|
||||||
cmap <allow_quantifiers> false
|
|
||||||
|
|
||||||
# ===================================================================
|
|
||||||
# == Pager Keybindings
|
|
||||||
# ===================================================================
|
|
||||||
|
|
||||||
# Movement
|
|
||||||
pmap <down> pager_move down=1
|
|
||||||
pmap <up> pager_move up=1
|
|
||||||
pmap <left> pager_move left=4
|
|
||||||
pmap <right> pager_move right=4
|
|
||||||
pmap <home> pager_move to=0
|
|
||||||
pmap <end> pager_move to=-1
|
|
||||||
pmap <pagedown> pager_move down=1.0 pages=True
|
|
||||||
pmap <pageup> pager_move up=1.0 pages=True
|
|
||||||
pmap <C-d> pager_move down=0.5 pages=True
|
|
||||||
pmap <C-u> pager_move up=0.5 pages=True
|
|
||||||
|
|
||||||
copypmap <UP> k <C-p>
|
|
||||||
copypmap <DOWN> j <C-n> <CR>
|
|
||||||
copypmap <LEFT> h
|
|
||||||
copypmap <RIGHT> l
|
|
||||||
copypmap <HOME> g
|
|
||||||
copypmap <END> G
|
|
||||||
copypmap <C-d> d
|
|
||||||
copypmap <C-u> u
|
|
||||||
copypmap <PAGEDOWN> n f <C-F> <Space>
|
|
||||||
copypmap <PAGEUP> p b <C-B>
|
|
||||||
|
|
||||||
# Basic
|
|
||||||
pmap <C-l> redraw_window
|
|
||||||
pmap <ESC> pager_close
|
|
||||||
copypmap <ESC> q Q i <F3>
|
|
||||||
pmap E edit_file
|
|
||||||
|
|
||||||
# ===================================================================
|
|
||||||
# == Taskview Keybindings
|
|
||||||
# ===================================================================
|
|
||||||
|
|
||||||
# Movement
|
|
||||||
tmap <up> taskview_move up=1
|
|
||||||
tmap <down> taskview_move down=1
|
|
||||||
tmap <home> taskview_move to=0
|
|
||||||
tmap <end> taskview_move to=-1
|
|
||||||
tmap <pagedown> taskview_move down=1.0 pages=True
|
|
||||||
tmap <pageup> taskview_move up=1.0 pages=True
|
|
||||||
tmap <C-d> taskview_move down=0.5 pages=True
|
|
||||||
tmap <C-u> taskview_move up=0.5 pages=True
|
|
||||||
|
|
||||||
copytmap <UP> k <C-p>
|
|
||||||
copytmap <DOWN> j <C-n> <CR>
|
|
||||||
copytmap <HOME> g
|
|
||||||
copytmap <END> G
|
|
||||||
copytmap <C-u> u
|
|
||||||
copytmap <PAGEDOWN> n f <C-F> <Space>
|
|
||||||
copytmap <PAGEUP> p b <C-B>
|
|
||||||
|
|
||||||
# Changing priority and deleting tasks
|
|
||||||
tmap J eval -q fm.ui.taskview.task_move(-1)
|
|
||||||
tmap K eval -q fm.ui.taskview.task_move(0)
|
|
||||||
tmap dd eval -q fm.ui.taskview.task_remove()
|
|
||||||
tmap <pagedown> eval -q fm.ui.taskview.task_move(-1)
|
|
||||||
tmap <pageup> eval -q fm.ui.taskview.task_move(0)
|
|
||||||
tmap <delete> eval -q fm.ui.taskview.task_remove()
|
|
||||||
|
|
||||||
# Basic
|
|
||||||
tmap <C-l> redraw_window
|
|
||||||
tmap <ESC> taskview_close
|
|
||||||
copytmap <ESC> q Q w <C-c>
|
|
||||||
@@ -1,132 +0,0 @@
|
|||||||
// Config //
|
|
||||||
configuration {
|
|
||||||
modi: "drun,filebrowser,window,run";
|
|
||||||
show-icons: true;
|
|
||||||
display-drun: "";
|
|
||||||
display-run: "";
|
|
||||||
display-filebrowser: "";
|
|
||||||
display-window: "";
|
|
||||||
drun-display-format: "{name}";
|
|
||||||
window-format: "{w}{t}";
|
|
||||||
icon-theme: "Papirus";
|
|
||||||
}
|
|
||||||
|
|
||||||
// Theme //
|
|
||||||
@theme "~/.config/rofi/themes/theme.rasi"
|
|
||||||
|
|
||||||
|
|
||||||
// Main //
|
|
||||||
window {
|
|
||||||
height: 506px; // 16:9
|
|
||||||
width: 900px; // 16:9
|
|
||||||
transparency: "real";
|
|
||||||
fullscreen: false;
|
|
||||||
enabled: true;
|
|
||||||
cursor: "default";
|
|
||||||
spacing: 0px;
|
|
||||||
padding: 0px;
|
|
||||||
border: 2px;
|
|
||||||
border-radius: 15px;
|
|
||||||
border-color: @main-br;
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
mainbox {
|
|
||||||
enabled: true;
|
|
||||||
spacing: 0px;
|
|
||||||
padding: 0px;
|
|
||||||
orientation: vertical;
|
|
||||||
children: [ "inputbar" , "listbox" ];
|
|
||||||
background-color: transparent;
|
|
||||||
background-image: url("~/.config/hypr/theme/current_background.jpg", width);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Inputs //
|
|
||||||
inputbar {
|
|
||||||
enabled: true;
|
|
||||||
spacing: 0px;
|
|
||||||
padding: 40px;
|
|
||||||
children: [ "entry" ];
|
|
||||||
background-color: @main-bg;
|
|
||||||
}
|
|
||||||
entry {
|
|
||||||
border-radius: 30px;
|
|
||||||
enabled: true;
|
|
||||||
spacing: 0px;
|
|
||||||
padding: 20px;
|
|
||||||
text-color: @main-fg;
|
|
||||||
background-color: @main-bg;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Lists //
|
|
||||||
listbox {
|
|
||||||
padding: 30px;
|
|
||||||
spacing: 0px;
|
|
||||||
orientation: horizontal;
|
|
||||||
children: [ "listview" , "mode-switcher" ];
|
|
||||||
background-color: @main-bg;
|
|
||||||
}
|
|
||||||
listview {
|
|
||||||
padding: 0px;
|
|
||||||
spacing: 10px;
|
|
||||||
enabled: true;
|
|
||||||
columns: 2;
|
|
||||||
cycle: true;
|
|
||||||
dynamic: true;
|
|
||||||
scrollbar: false;
|
|
||||||
layout: vertical;
|
|
||||||
reverse: false;
|
|
||||||
fixed-height: true;
|
|
||||||
fixed-columns: true;
|
|
||||||
cursor: "default";
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: @main-fg;
|
|
||||||
}
|
|
||||||
mode-switcher {
|
|
||||||
orientation: vertical;
|
|
||||||
width: 95px;
|
|
||||||
enabled: true;
|
|
||||||
padding: 15px;
|
|
||||||
spacing: 10px;
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
button {
|
|
||||||
cursor: pointer;
|
|
||||||
border-radius: 20px;
|
|
||||||
background-color: @main-bg;
|
|
||||||
text-color: @main-fg;
|
|
||||||
}
|
|
||||||
button selected {
|
|
||||||
background-color: @main-fg;
|
|
||||||
text-color: @main-bg;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Elements //
|
|
||||||
element {
|
|
||||||
enabled: true;
|
|
||||||
spacing: 20px;
|
|
||||||
padding: 9px;
|
|
||||||
border-radius: 25px;
|
|
||||||
cursor: pointer;
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: @main-fg;
|
|
||||||
}
|
|
||||||
element selected.normal {
|
|
||||||
background-color: @select-bg;
|
|
||||||
text-color: @select-fg;
|
|
||||||
}
|
|
||||||
element-icon {
|
|
||||||
size: 47px;
|
|
||||||
cursor: inherit;
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: inherit;
|
|
||||||
}
|
|
||||||
element-text {
|
|
||||||
vertical-align: 0.5;
|
|
||||||
horizontal-align: 0.0;
|
|
||||||
cursor: inherit;
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: inherit;
|
|
||||||
}
|
|
||||||
@@ -1,98 +0,0 @@
|
|||||||
// Config //
|
|
||||||
configuration {
|
|
||||||
modi: "drun";
|
|
||||||
show-icons: false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Theme //
|
|
||||||
@theme "~/.config/rofi/themes/theme.rasi"
|
|
||||||
|
|
||||||
// Main //
|
|
||||||
window {
|
|
||||||
height: 50%;
|
|
||||||
width: 20%;
|
|
||||||
location: center;
|
|
||||||
transparency: "real";
|
|
||||||
fullscreen: false;
|
|
||||||
enabled: true;
|
|
||||||
cursor: "default";
|
|
||||||
spacing: 0px;
|
|
||||||
padding: 0px;
|
|
||||||
border: 2px;
|
|
||||||
border-radius: 15px;
|
|
||||||
border-color: @main-br;
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
mainbox {
|
|
||||||
enabled: true;
|
|
||||||
spacing: 0px;
|
|
||||||
orientation: vertical;
|
|
||||||
children: [ "inputbar" , "listbox" ];
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Inputs //
|
|
||||||
inputbar {
|
|
||||||
enabled: true;
|
|
||||||
padding: 7px;
|
|
||||||
children: [ "entry" ];
|
|
||||||
background-color: @main-bg;
|
|
||||||
}
|
|
||||||
entry {
|
|
||||||
enabled: true;
|
|
||||||
padding: 40px;
|
|
||||||
text-color: @main-fg;
|
|
||||||
background-color: @main-bg;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Lists //
|
|
||||||
listbox {
|
|
||||||
spacing: 0px;
|
|
||||||
padding: 6px;
|
|
||||||
children: [ "listview" ];
|
|
||||||
background-color: @main-bg;
|
|
||||||
}
|
|
||||||
listview {
|
|
||||||
enabled: true;
|
|
||||||
columns: 1;
|
|
||||||
cycle: true;
|
|
||||||
dynamic: true;
|
|
||||||
scrollbar: false;
|
|
||||||
layout: vertical;
|
|
||||||
reverse: false;
|
|
||||||
fixed-height: false;
|
|
||||||
fixed-columns: true;
|
|
||||||
cursor: "default";
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: @main-fg;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Elements //
|
|
||||||
element {
|
|
||||||
enabled: true;
|
|
||||||
spacing: 0px;
|
|
||||||
padding: 12px;
|
|
||||||
border-radius: 10px;
|
|
||||||
cursor: pointer;
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: @main-fg;
|
|
||||||
}
|
|
||||||
@media(max-aspect-ratio: 1.8) {
|
|
||||||
element {
|
|
||||||
orientation: vertical;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
element selected.normal {
|
|
||||||
background-color: @select-bg;
|
|
||||||
text-color: @select-fg;
|
|
||||||
}
|
|
||||||
element-text {
|
|
||||||
vertical-align: 0.0;
|
|
||||||
horizontal-align: 0.0;
|
|
||||||
cursor: inherit;
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: inherit;
|
|
||||||
}
|
|
||||||
@@ -1,151 +0,0 @@
|
|||||||
// Config //
|
|
||||||
configuration {
|
|
||||||
modi: "emoji:rofimoji,calc,drun,filebrowser,run";
|
|
||||||
show-icons: true;
|
|
||||||
display-drun: "";
|
|
||||||
display-run: "";
|
|
||||||
display-filebrowser: "";
|
|
||||||
display-window: "";
|
|
||||||
drun-display-format: "{name}";
|
|
||||||
window-format: "{w}{t}";
|
|
||||||
icon-theme: "Papirus";
|
|
||||||
}
|
|
||||||
|
|
||||||
// Theme //
|
|
||||||
@theme "~/.config/rofi/themes/theme.rasi"
|
|
||||||
|
|
||||||
|
|
||||||
// Main //
|
|
||||||
window {
|
|
||||||
height: 506px; // 16:9
|
|
||||||
width: 900px; // 16:9
|
|
||||||
location: center;
|
|
||||||
transparency: "real";
|
|
||||||
fullscreen: false;
|
|
||||||
enabled: true;
|
|
||||||
cursor: "default";
|
|
||||||
spacing: 0px;
|
|
||||||
padding: 0px;
|
|
||||||
border: 2px;
|
|
||||||
border-radius: 15px;
|
|
||||||
border-color: @main-br;
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
mainbox {
|
|
||||||
enabled: true;
|
|
||||||
spacing: 0px;
|
|
||||||
padding: 0px;
|
|
||||||
orientation: vertical;
|
|
||||||
children: [ "inputbar", "listbox" ];
|
|
||||||
background-color: transparent;
|
|
||||||
background-image: url("~/.config/hypr/theme/current_background.jpg", width);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Message //
|
|
||||||
message {
|
|
||||||
padding: 0px 55px;
|
|
||||||
background-color: @main-bg;
|
|
||||||
}
|
|
||||||
|
|
||||||
textbox {
|
|
||||||
enabled: true;
|
|
||||||
border-radius: 15px;
|
|
||||||
spacing: 0px;
|
|
||||||
padding: 20px;
|
|
||||||
text-color: @main-fg;
|
|
||||||
background-color: @main-bg;
|
|
||||||
border: 1px;
|
|
||||||
border-color: @main-br;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Inputs //
|
|
||||||
inputbar {
|
|
||||||
enabled: true;
|
|
||||||
spacing: 0px;
|
|
||||||
padding: 40px;
|
|
||||||
children: [ "entry" ];
|
|
||||||
background-color: @main-bg;
|
|
||||||
}
|
|
||||||
entry {
|
|
||||||
enabled: true;
|
|
||||||
border-radius: 15px;
|
|
||||||
spacing: 0px;
|
|
||||||
padding: 20px;
|
|
||||||
text-color: @main-fg;
|
|
||||||
background-color: @main-bg;
|
|
||||||
border: 1px;
|
|
||||||
border-color: @main-br;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Lists //
|
|
||||||
listbox {
|
|
||||||
padding: 30px;
|
|
||||||
spacing: 0px;
|
|
||||||
orientation: horizontal;
|
|
||||||
children: [ "listview" ];
|
|
||||||
background-color: @main-bg;
|
|
||||||
}
|
|
||||||
listview {
|
|
||||||
padding: 0px;
|
|
||||||
spacing: 10px;
|
|
||||||
enabled: true;
|
|
||||||
columns: 2;
|
|
||||||
cycle: true;
|
|
||||||
dynamic: true;
|
|
||||||
scrollbar: false;
|
|
||||||
layout: vertical;
|
|
||||||
reverse: false;
|
|
||||||
fixed-height: true;
|
|
||||||
fixed-columns: true;
|
|
||||||
cursor: "default";
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: @main-fg;
|
|
||||||
}
|
|
||||||
mode-switcher {
|
|
||||||
orientation: vertical;
|
|
||||||
width: 95px;
|
|
||||||
enabled: true;
|
|
||||||
padding: 15px;
|
|
||||||
spacing: 10px;
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
button {
|
|
||||||
cursor: pointer;
|
|
||||||
border-radius: 20px;
|
|
||||||
background-color: @main-bg;
|
|
||||||
text-color: @main-fg;
|
|
||||||
}
|
|
||||||
button selected {
|
|
||||||
background-color: @main-fg;
|
|
||||||
text-color: @main-bg;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Elements //
|
|
||||||
element {
|
|
||||||
enabled: true;
|
|
||||||
spacing: 20px;
|
|
||||||
padding: 9px;
|
|
||||||
border-radius: 25px;
|
|
||||||
cursor: pointer;
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: @main-fg;
|
|
||||||
}
|
|
||||||
element selected.normal {
|
|
||||||
background-color: @select-bg;
|
|
||||||
text-color: @select-fg;
|
|
||||||
}
|
|
||||||
element-icon {
|
|
||||||
size: 47px;
|
|
||||||
cursor: inherit;
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: inherit;
|
|
||||||
}
|
|
||||||
element-text {
|
|
||||||
vertical-align: 0.5;
|
|
||||||
horizontal-align: 0.0;
|
|
||||||
cursor: inherit;
|
|
||||||
background-color: transparent;
|
|
||||||
text-color: inherit;
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
/*
|
|
||||||
* https://github.com/catppuccin/rofi/
|
|
||||||
*/
|
|
||||||
|
|
||||||
* {
|
|
||||||
main-bg: #11111bd6;
|
|
||||||
main-fg: #cdd6f4ff;
|
|
||||||
main-br: #7dc4e4ff; /*#cba6f7ff;*/
|
|
||||||
main-ex: #f5e0dcff;
|
|
||||||
select-bg: #b4befeff;
|
|
||||||
select-fg: #11111bff;
|
|
||||||
separatorcolor: transparent;
|
|
||||||
border-color: transparent;
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
action = copy
|
|
||||||
files = [emojis, gitmoji, hebrew, fontawesome6, math]
|
|
||||||
skin-tone=ask
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
clock
|
|
||||||
grace=5
|
|
||||||
indicator
|
|
||||||
color=550000
|
|
||||||
timestr=%k:%M
|
|
||||||
datestr=%a %e.%m.%Y
|
|
||||||
effect-blur=4x2
|
|
||||||
effect-scale=0.4
|
|
||||||
effect-vignette=0.2:0.5
|
|
||||||
image=~/.config/hypr/theme/current_background.jpg
|
|
||||||
@@ -1,91 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "/etc/xdg/swaync/configSchema.json",
|
|
||||||
"positionX": "right",
|
|
||||||
"positionY": "top",
|
|
||||||
"layer": "overlay",
|
|
||||||
"control-center-layer": "top",
|
|
||||||
"layer-shell": true,
|
|
||||||
"cssPriority": "application",
|
|
||||||
"control-center-margin-top": 0,
|
|
||||||
"control-center-margin-bottom": 0,
|
|
||||||
"control-center-margin-right": 0,
|
|
||||||
"control-center-margin-left": 0,
|
|
||||||
"notification-2fa-action": true,
|
|
||||||
"notification-inline-replies": true,
|
|
||||||
"notification-icon-size": 64,
|
|
||||||
"notification-body-image-height": 100,
|
|
||||||
"notification-body-image-width": 200,
|
|
||||||
"timeout": 10,
|
|
||||||
"timeout-low": 5,
|
|
||||||
"timeout-critical": 0,
|
|
||||||
"fit-to-screen": true,
|
|
||||||
"control-center-width": 500,
|
|
||||||
"control-center-height": 600,
|
|
||||||
"notification-window-width": 500,
|
|
||||||
"keyboard-shortcuts": true,
|
|
||||||
"image-visibility": "when-available",
|
|
||||||
"transition-time": 200,
|
|
||||||
"hide-on-clear": true,
|
|
||||||
"hide-on-action": true,
|
|
||||||
"script-fail-notify": true,
|
|
||||||
"scripts-example": {
|
|
||||||
"example-script": {
|
|
||||||
"exec": "echo 'Custom config?'",
|
|
||||||
"urgency": "Normal"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"widgets": [
|
|
||||||
"buttons-grid",
|
|
||||||
"inhibitors",
|
|
||||||
"title",
|
|
||||||
"dnd",
|
|
||||||
"notifications"
|
|
||||||
],
|
|
||||||
"widget-config": {
|
|
||||||
"inhibitors": {
|
|
||||||
"text": "Inhibitors",
|
|
||||||
"button-text": "Clear All",
|
|
||||||
"clear-all-button": true
|
|
||||||
},
|
|
||||||
"title": {
|
|
||||||
"text": "Notifications",
|
|
||||||
"clear-all-button": true,
|
|
||||||
"button-text": "Clear All"
|
|
||||||
},
|
|
||||||
"dnd": {
|
|
||||||
"text": "Do Not Disturb"
|
|
||||||
},
|
|
||||||
"label": {
|
|
||||||
"max-lines": 5,
|
|
||||||
"text": "Label Text"
|
|
||||||
},
|
|
||||||
"mpris": {
|
|
||||||
"image-size": 96,
|
|
||||||
"image-radius": 12
|
|
||||||
},
|
|
||||||
"buttons-grid": {
|
|
||||||
"actions": [
|
|
||||||
{
|
|
||||||
"label": "",
|
|
||||||
"command": "systemctl poweroff"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "",
|
|
||||||
"command": "systemctl reboot"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "",
|
|
||||||
"command": "systemctl suspend"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "",
|
|
||||||
"command": "~/.config/hypr/scripts/lock.sh"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "",
|
|
||||||
"command": "hyprctl dispatch exit 0"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,294 +0,0 @@
|
|||||||
* {
|
|
||||||
all: unset;
|
|
||||||
font-size: 14px;
|
|
||||||
font-family: "FiraCode Nerd Font";
|
|
||||||
transition: 200ms;
|
|
||||||
}
|
|
||||||
|
|
||||||
.blank-window {
|
|
||||||
background: alpha(black, 0.25);
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-buttons-grid {
|
|
||||||
font-size: x-large;
|
|
||||||
padding: 8px;
|
|
||||||
margin: 20px 0px;
|
|
||||||
border-radius: 12px;
|
|
||||||
background: #363a4f;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-buttons-grid>flowbox>flowboxchild>button {
|
|
||||||
margin: 3px;
|
|
||||||
background: #343b58;
|
|
||||||
border-radius: 12px;
|
|
||||||
color: #cad3f5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-buttons-grid>flowbox>flowboxchild>button:hover {
|
|
||||||
/* background: @noti-bg-hover; */
|
|
||||||
color: #8aadf4;
|
|
||||||
}
|
|
||||||
|
|
||||||
.floating-notifications.background .notification-row .notification-background {
|
|
||||||
box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.8), inset 0 0 0 1px #363a4f;
|
|
||||||
border-radius: 12.6px;
|
|
||||||
margin: 18px;
|
|
||||||
background-color: #24273a;
|
|
||||||
color: #cad3f5;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.floating-notifications.background .notification-row .notification-background .notification {
|
|
||||||
padding: 7px;
|
|
||||||
border-radius: 12.6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.floating-notifications.background .notification-row .notification-background .notification.critical {
|
|
||||||
box-shadow: inset 0 0 7px 0 #ed8796;
|
|
||||||
}
|
|
||||||
|
|
||||||
.floating-notifications.background .notification-row .notification-background .notification .notification-content {
|
|
||||||
margin: 7px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.floating-notifications.background .notification-row .notification-background .notification .notification-content .summary {
|
|
||||||
color: #cad3f5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.floating-notifications.background .notification-row .notification-background .notification .notification-content .time {
|
|
||||||
color: #a5adcb;
|
|
||||||
}
|
|
||||||
|
|
||||||
.floating-notifications.background .notification-row .notification-background .notification .notification-content .body {
|
|
||||||
color: #cad3f5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.floating-notifications.background .notification-row .notification-background .notification > *:last-child > * {
|
|
||||||
min-height: 3.4em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.floating-notifications.background .notification-row .notification-background .notification > *:last-child > * .notification-action {
|
|
||||||
border-radius: 7px;
|
|
||||||
color: #cad3f5;
|
|
||||||
background-color: #363a4f;
|
|
||||||
box-shadow: inset 0 0 0 1px #494d64;
|
|
||||||
margin: 7px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.floating-notifications.background .notification-row .notification-background .notification > *:last-child > * .notification-action:hover {
|
|
||||||
box-shadow: inset 0 0 0 1px #494d64;
|
|
||||||
background-color: #363a4f;
|
|
||||||
color: #cad3f5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.floating-notifications.background .notification-row .notification-background .notification > *:last-child > * .notification-action:active {
|
|
||||||
box-shadow: inset 0 0 0 1px #494d64;
|
|
||||||
background-color: #7dc4e4;
|
|
||||||
color: #cad3f5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.floating-notifications.background .notification-row .notification-background .close-button {
|
|
||||||
margin: 7px;
|
|
||||||
padding: 2px;
|
|
||||||
border-radius: 6.3px;
|
|
||||||
color: #24273a;
|
|
||||||
background-color: #ed8796;
|
|
||||||
}
|
|
||||||
|
|
||||||
.floating-notifications.background .notification-row .notification-background .close-button:hover {
|
|
||||||
background-color: #ee99a0;
|
|
||||||
color: #24273a;
|
|
||||||
}
|
|
||||||
|
|
||||||
.floating-notifications.background .notification-row .notification-background .close-button:active {
|
|
||||||
background-color: #ed8796;
|
|
||||||
color: #24273a;
|
|
||||||
}
|
|
||||||
|
|
||||||
.control-center {
|
|
||||||
box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.8), inset 0 0 0 1px #363a4f;
|
|
||||||
border-radius: 12.6px;
|
|
||||||
margin: 18px;
|
|
||||||
background-color: #24273a;
|
|
||||||
color: #cad3f5;
|
|
||||||
padding: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.control-center .widget-title {
|
|
||||||
color: #cad3f5;
|
|
||||||
font-size: 1.3em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.control-center .widget-title button {
|
|
||||||
border-radius: 7px;
|
|
||||||
color: #cad3f5;
|
|
||||||
background-color: #363a4f;
|
|
||||||
box-shadow: inset 0 0 0 1px #494d64;
|
|
||||||
padding: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.control-center .widget-title button:hover {
|
|
||||||
box-shadow: inset 0 0 0 1px #494d64;
|
|
||||||
background-color: #5b6078;
|
|
||||||
color: #cad3f5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.control-center .widget-title button:active {
|
|
||||||
box-shadow: inset 0 0 0 1px #494d64;
|
|
||||||
background-color: #7dc4e4;
|
|
||||||
color: #24273a;
|
|
||||||
}
|
|
||||||
|
|
||||||
.control-center .notification-row .notification-background {
|
|
||||||
border-radius: 7px;
|
|
||||||
color: #cad3f5;
|
|
||||||
background-color: #363a4f;
|
|
||||||
box-shadow: inset 0 0 0 1px #494d64;
|
|
||||||
margin-top: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.control-center .notification-row .notification-background .notification {
|
|
||||||
padding: 7px;
|
|
||||||
border-radius: 7px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.control-center .notification-row .notification-background .notification.critical {
|
|
||||||
box-shadow: inset 0 0 7px 0 #ed8796;
|
|
||||||
}
|
|
||||||
|
|
||||||
.control-center .notification-row .notification-background .notification .notification-content {
|
|
||||||
margin: 7px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.control-center .notification-row .notification-background .notification .notification-content .summary {
|
|
||||||
color: #cad3f5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.control-center .notification-row .notification-background .notification .notification-content .time {
|
|
||||||
color: #a5adcb;
|
|
||||||
}
|
|
||||||
|
|
||||||
.control-center .notification-row .notification-background .notification .notification-content .body {
|
|
||||||
color: #cad3f5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.control-center .notification-row .notification-background .notification > *:last-child > * {
|
|
||||||
min-height: 3.4em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.control-center .notification-row .notification-background .notification > *:last-child > * .notification-action {
|
|
||||||
border-radius: 7px;
|
|
||||||
color: #cad3f5;
|
|
||||||
background-color: #181926;
|
|
||||||
box-shadow: inset 0 0 0 1px #494d64;
|
|
||||||
margin: 7px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.control-center .notification-row .notification-background .notification > *:last-child > * .notification-action:hover {
|
|
||||||
box-shadow: inset 0 0 0 1px #494d64;
|
|
||||||
background-color: #363a4f;
|
|
||||||
color: #cad3f5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.control-center .notification-row .notification-background .notification > *:last-child > * .notification-action:active {
|
|
||||||
box-shadow: inset 0 0 0 1px #494d64;
|
|
||||||
background-color: #7dc4e4;
|
|
||||||
color: #cad3f5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.control-center .notification-row .notification-background .close-button {
|
|
||||||
margin: 7px;
|
|
||||||
padding: 2px;
|
|
||||||
border-radius: 6.3px;
|
|
||||||
color: #24273a;
|
|
||||||
background-color: #ee99a0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.control-center .notification-row .notification-background .close-button:hover {
|
|
||||||
background-color: #ed8796;
|
|
||||||
color: #24273a;
|
|
||||||
}
|
|
||||||
|
|
||||||
.control-center .notification-row .notification-background .close-button:active {
|
|
||||||
background-color: #ed8796;
|
|
||||||
color: #24273a;
|
|
||||||
}
|
|
||||||
|
|
||||||
.control-center .notification-row .notification-background:hover {
|
|
||||||
box-shadow: inset 0 0 0 1px #494d64;
|
|
||||||
background-color: #8087a2;
|
|
||||||
color: #cad3f5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.control-center .notification-row .notification-background:active {
|
|
||||||
box-shadow: inset 0 0 0 1px #494d64;
|
|
||||||
background-color: #7dc4e4;
|
|
||||||
color: #cad3f5;
|
|
||||||
}
|
|
||||||
|
|
||||||
progressbar,
|
|
||||||
progress,
|
|
||||||
trough {
|
|
||||||
border-radius: 12.6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
progressbar {
|
|
||||||
box-shadow: inset 0 0 0 1px #494d64;
|
|
||||||
}
|
|
||||||
|
|
||||||
.notification.critical progress {
|
|
||||||
background-color: #ed8796;
|
|
||||||
}
|
|
||||||
|
|
||||||
.notification.low progress,
|
|
||||||
.notification.normal progress {
|
|
||||||
background-color: #8aadf4;
|
|
||||||
}
|
|
||||||
|
|
||||||
trough {
|
|
||||||
background-color: #363a4f;
|
|
||||||
}
|
|
||||||
|
|
||||||
.control-center trough {
|
|
||||||
background-color: #494d64;
|
|
||||||
}
|
|
||||||
|
|
||||||
.control-center-dnd {
|
|
||||||
margin-top: 5px;
|
|
||||||
border-radius: 8px;
|
|
||||||
background: #363a4f;
|
|
||||||
border: 1px solid #494d64;
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.control-center-dnd:checked {
|
|
||||||
background: #363a4f;
|
|
||||||
}
|
|
||||||
|
|
||||||
.control-center-dnd slider {
|
|
||||||
background: #494d64;
|
|
||||||
border-radius: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-dnd {
|
|
||||||
margin: 0px;
|
|
||||||
font-size: 1.1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-dnd > switch {
|
|
||||||
font-size: initial;
|
|
||||||
border-radius: 8px;
|
|
||||||
background: #363a4f;
|
|
||||||
border: 1px solid #494d64;
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-dnd > switch:checked {
|
|
||||||
background: #363a4f;
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-dnd > switch slider {
|
|
||||||
background: #494d64;
|
|
||||||
border-radius: 8px;
|
|
||||||
border: 1px solid #6e738d;
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
# This file is written by xdg-user-dirs-update
|
|
||||||
# If you want to change or add directories, just edit the line you're
|
|
||||||
# interested in. All local changes will be retained on the next run.
|
|
||||||
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
|
|
||||||
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
|
|
||||||
# absolute path. No other format is supported.
|
|
||||||
#
|
|
||||||
XDG_DESKTOP_DIR="$HOME/Desktop"
|
|
||||||
XDG_DOWNLOAD_DIR="$HOME/Data/Downloads"
|
|
||||||
XDG_TEMPLATES_DIR="$HOME/Templates"
|
|
||||||
XDG_PUBLICSHARE_DIR="$HOME/Public"
|
|
||||||
XDG_DOCUMENTS_DIR="$HOME/Data/Documents"
|
|
||||||
XDG_MUSIC_DIR="$HOME/Data/Music"
|
|
||||||
XDG_PICTURES_DIR="$HOME/Data/Pictures"
|
|
||||||
XDG_VIDEOS_DIR="$HOME/Data/Videos"
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
/*
|
|
||||||
*
|
|
||||||
* Catppuccin Frappe palette
|
|
||||||
* Maintainer: rubyowo
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
@define-color base #303446;
|
|
||||||
@define-color mantle #292c3c;
|
|
||||||
@define-color crust #232634;
|
|
||||||
|
|
||||||
@define-color text #c6d0f5;
|
|
||||||
@define-color subtext0 #a5adce;
|
|
||||||
@define-color subtext1 #b5bfe2;
|
|
||||||
|
|
||||||
@define-color surface0 #414559;
|
|
||||||
@define-color surface1 #51576d;
|
|
||||||
@define-color surface2 #626880;
|
|
||||||
|
|
||||||
@define-color overlay0 #737994;
|
|
||||||
@define-color overlay1 #838ba7;
|
|
||||||
@define-color overlay2 #949cbb;
|
|
||||||
|
|
||||||
@define-color blue #8caaee;
|
|
||||||
@define-color lavender #babbf1;
|
|
||||||
@define-color sapphire #85c1dc;
|
|
||||||
@define-color sky #99d1db;
|
|
||||||
@define-color teal #81c8be;
|
|
||||||
@define-color green #a6d189;
|
|
||||||
@define-color yellow #e5c890;
|
|
||||||
@define-color peach #ef9f76;
|
|
||||||
@define-color maroon #ea999c;
|
|
||||||
@define-color red #e78284;
|
|
||||||
@define-color mauve #ca9ee6;
|
|
||||||
@define-color pink #f4b8e4;
|
|
||||||
@define-color flamingo #eebebe;
|
|
||||||
@define-color rosewater #f2d5cf;
|
|
||||||
@@ -1,152 +0,0 @@
|
|||||||
{
|
|
||||||
"layer": "top",
|
|
||||||
"position": "top",
|
|
||||||
"height": 40,
|
|
||||||
|
|
||||||
"modules-left": [
|
|
||||||
"hyprland/workspaces",
|
|
||||||
"hyprland/window",
|
|
||||||
],
|
|
||||||
"modules-center": [
|
|
||||||
"clock",
|
|
||||||
],
|
|
||||||
"modules-right": [
|
|
||||||
"tray",
|
|
||||||
"custom/playerctl",
|
|
||||||
"cpu",
|
|
||||||
"memory",
|
|
||||||
"network",
|
|
||||||
"pulseaudio",
|
|
||||||
"battery",
|
|
||||||
"custom/power",
|
|
||||||
],
|
|
||||||
|
|
||||||
"hyprland/workspaces": {
|
|
||||||
"disable-scroll": true,
|
|
||||||
"all-outputs": true,
|
|
||||||
"on-click": "activate",
|
|
||||||
"format": "{icon}",
|
|
||||||
"format-icons": {
|
|
||||||
"1": "1",
|
|
||||||
"2": "2",
|
|
||||||
"3": "3",
|
|
||||||
"4": "4",
|
|
||||||
"5": "5",
|
|
||||||
"6": "6",
|
|
||||||
"7": "7",
|
|
||||||
"8": "8",
|
|
||||||
"9": "9",
|
|
||||||
"10": "10"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprland/window": {
|
|
||||||
"format": "{}"
|
|
||||||
},
|
|
||||||
|
|
||||||
"clock": {
|
|
||||||
"format": "{: %H:%M %p %h %d %Y}",
|
|
||||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
|
||||||
"on-click": "merkuro-calendar"
|
|
||||||
},
|
|
||||||
|
|
||||||
"tray": {
|
|
||||||
"icon-size": 15,
|
|
||||||
"spacing": 10
|
|
||||||
},
|
|
||||||
"custom/playerctl": {
|
|
||||||
"format": "{icon}",
|
|
||||||
"return-type": "json",
|
|
||||||
"max-length": 64,
|
|
||||||
"exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F",
|
|
||||||
"on-click-middle": "playerctl play-pause",
|
|
||||||
"on-click": "playerctl previous",
|
|
||||||
"on-click-right": "playerctl next",
|
|
||||||
"format-icons": {
|
|
||||||
"Playing": "<span foreground='#E5B9C6'> </span>",
|
|
||||||
"Paused": "<span foreground='#928374'> </span>"
|
|
||||||
},
|
|
||||||
},
|
|
||||||
"cpu": {
|
|
||||||
"interval": 10,
|
|
||||||
"format": "{usage}% ",
|
|
||||||
"format-alt": "{avg_frequency} GHz ",
|
|
||||||
"on-double-click": "gnome-system-monitor"
|
|
||||||
},
|
|
||||||
"memory": {
|
|
||||||
"interval": 30,
|
|
||||||
"format": "{used:0.1f}G ",
|
|
||||||
"format-alt": "{used:0.1f}G/{total:0.1f}G ",
|
|
||||||
"tooltip-format": "{}%",
|
|
||||||
"on-double-click": "gnome-system-monitor"
|
|
||||||
},
|
|
||||||
"network": {
|
|
||||||
"interval": 10,
|
|
||||||
"format-wifi": "{essid} ",
|
|
||||||
"format-ethernet": "{bandwidthUpBytes}⇡ {bandwidthDownBytes}⇣{essid} ",
|
|
||||||
"format-linked": "{ifname} (No IP) ",
|
|
||||||
"format-disconnected": " Disconnected",
|
|
||||||
"tooltip-format-wifi": "Signal Strenght: {signalStrength}% | Down Speed: {bandwidthDownBits}, Up Speed: {bandwidthUpBits}",
|
|
||||||
},
|
|
||||||
"pulseaudio": {
|
|
||||||
"format": "{volume}% {icon} {format_source}",
|
|
||||||
"format-bluetooth": "{volume}%{icon} {format_source}",
|
|
||||||
"format-bluetooth-muted": " {icon} {format_source}",
|
|
||||||
"format-muted": "\udb81\udf5f {format_source}",
|
|
||||||
"format-source": "{volume}% ",
|
|
||||||
"format-source-muted": "",
|
|
||||||
"format-icons": {
|
|
||||||
"headphone": "",
|
|
||||||
"hands-free": "",
|
|
||||||
"headset": "",
|
|
||||||
"phone": "",
|
|
||||||
"portable": "",
|
|
||||||
"car": "",
|
|
||||||
"default": [
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
""
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"on-click-right": "pactl set-source-mute @DEFAULT_SOURCE@ toggle",
|
|
||||||
"on-click-middle": "pactl set-sink-mute @DEFAULT_SINK@ toggle",
|
|
||||||
"on-double-click": "pavucontrol"
|
|
||||||
},
|
|
||||||
"custom/power": {
|
|
||||||
"format": "",
|
|
||||||
"on-click": "wlogout"
|
|
||||||
},
|
|
||||||
|
|
||||||
//Laptop
|
|
||||||
"backlight":{
|
|
||||||
"device": "intel_backlight",
|
|
||||||
"format": "{icon} {percent}%",
|
|
||||||
"format-icons": ["","",""],
|
|
||||||
"on-scroll-up": "brightnessctl set 1%+",
|
|
||||||
"on-scroll-down": "brightnessctl set 1%-",
|
|
||||||
"min-length": 6
|
|
||||||
},
|
|
||||||
"battery": {
|
|
||||||
"states": {
|
|
||||||
"good": 95,
|
|
||||||
"warning": 30,
|
|
||||||
"critical": 20
|
|
||||||
},
|
|
||||||
"format": "{icon} {capacity}%",
|
|
||||||
"format-charging": " {capacity}%",
|
|
||||||
"format-plugged": " {capacity}%",
|
|
||||||
"format-alt": "{time} {icon}",
|
|
||||||
"format-icons": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " "]
|
|
||||||
},
|
|
||||||
"custom/wl-gammarelay-temperature": {
|
|
||||||
"format": " {}",
|
|
||||||
"exec": "wl-gammarelay-rs watch {t}",
|
|
||||||
"on-scroll-up": "~/.config/hypr/scripts/brightness.sh temperature-up 100",
|
|
||||||
"on-scroll-down": "~/.config/hypr/scripts/brightness.sh temperature-down 100"
|
|
||||||
},
|
|
||||||
"custom/wl-gammarelay-brightness": {
|
|
||||||
"format": " {}",
|
|
||||||
"exec": "wl-gammarelay-rs watch {bp}",
|
|
||||||
"on-scroll-up": "~/.config/hypr/scripts/brightness.sh brightness-up 0.05",
|
|
||||||
"on-scroll-down": "~/.config/hypr/scripts/brightness.sh brightness-down 0.05"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
@import "colors.css";
|
|
||||||
|
|
||||||
* {
|
|
||||||
border: none;
|
|
||||||
border-radius: 5px;
|
|
||||||
font-family: monospace;
|
|
||||||
font-weight: bold;
|
|
||||||
font-size: 14px;
|
|
||||||
min-height: 0px;
|
|
||||||
color: @text;
|
|
||||||
}
|
|
||||||
|
|
||||||
#waybar {
|
|
||||||
background: @surface0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#clock, #battery, #pulseaudio, #network, #tray, #cpu, #memory, #backlight, #workspaces, #window, #custom-playerctl, #custom-language, #custom-spotify, #custom-updates, #custom-caffeine, #custom-wl-gammarelay-brightness, #custom-wl-gammarelay-temperature, #custom-menu, #custom-power {
|
|
||||||
background: @surface1;
|
|
||||||
margin: 7px 0px 7px 5px;
|
|
||||||
padding: 0px 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-power {
|
|
||||||
font-weight: normal;
|
|
||||||
font-size: 18px;
|
|
||||||
margin-right: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button {
|
|
||||||
padding: 2px;
|
|
||||||
margin: 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.active {
|
|
||||||
background: @overlay0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button:hover {
|
|
||||||
background: @overlay2;
|
|
||||||
}
|
|
||||||
|
|
||||||
tooltip {
|
|
||||||
background: @surface0;
|
|
||||||
border: solid 2px @surface1;
|
|
||||||
}
|
|
||||||
|
Before Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 5.6 KiB |
@@ -1,36 +0,0 @@
|
|||||||
{
|
|
||||||
"label" : "lock",
|
|
||||||
"action" : "~/.config/hypr/scripts/lock.sh",
|
|
||||||
"text" : "Lock",
|
|
||||||
"keybind" : "l"
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"label" : "reboot",
|
|
||||||
"action" : "~/.config/hypr/scripts/close_apps.sh && systemctl reboot",
|
|
||||||
"text" : "Reboot",
|
|
||||||
"keybind" : "r"
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"label" : "shutdown",
|
|
||||||
"action" : "~/.config/hypr/scripts/close_apps.sh && systemctl poweroff",
|
|
||||||
"text" : "Shutdown",
|
|
||||||
"keybind" : "s"
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"label" : "logout",
|
|
||||||
"action" : "~/.config/hypr/scripts/close_apps.sh && hyprctl dispatch exit ",
|
|
||||||
"text" : "Logout",
|
|
||||||
"keybind" : "e"
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"label" : "suspend",
|
|
||||||
"action" : "systemctl suspend",
|
|
||||||
"text" : "Suspend",
|
|
||||||
"keybind" : "u"
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"label" : "suspend",
|
|
||||||
"action" : "systemctl hibernate",
|
|
||||||
"text" : "Hibernate",
|
|
||||||
"keybind" : "h"
|
|
||||||
}
|
|
||||||
@@ -1,61 +0,0 @@
|
|||||||
window {
|
|
||||||
font-family: monospace;
|
|
||||||
font-size: 14pt;
|
|
||||||
color: #cdd6f4; /* text */
|
|
||||||
background-color: rgba(30, 30, 46, 0.5);
|
|
||||||
}
|
|
||||||
|
|
||||||
button {
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-position: center;
|
|
||||||
background-size: 25%;
|
|
||||||
border: none;
|
|
||||||
background-color: rgba(30, 30, 46, 0);
|
|
||||||
margin: 5px;
|
|
||||||
transition: box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
button:hover {
|
|
||||||
background-color: rgba(49, 50, 68, 0.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
button:focus {
|
|
||||||
background-color: #cba6f7;
|
|
||||||
color: #1e1e2e;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#lock {
|
|
||||||
background-image: image(url("./imgs/lock.png"));
|
|
||||||
}
|
|
||||||
#lock:focus {
|
|
||||||
background-image: image(url("./imgs/lock-hover.png"));
|
|
||||||
}
|
|
||||||
|
|
||||||
#logout {
|
|
||||||
background-image: image(url("./imgs/logout.png"));
|
|
||||||
}
|
|
||||||
#logout:focus {
|
|
||||||
background-image: image(url("./imgs/logout-hover.png"));
|
|
||||||
}
|
|
||||||
|
|
||||||
#suspend {
|
|
||||||
background-image: image(url("./imgs/sleep.png"));
|
|
||||||
}
|
|
||||||
#suspend:focus {
|
|
||||||
background-image: image(url("./imgs/sleep-hover.png"));
|
|
||||||
}
|
|
||||||
|
|
||||||
#shutdown {
|
|
||||||
background-image: image(url("./imgs/power.png"));
|
|
||||||
}
|
|
||||||
#shutdown:focus {
|
|
||||||
background-image: image(url("./imgs/power-hover.png"));
|
|
||||||
}
|
|
||||||
|
|
||||||
#reboot {
|
|
||||||
background-image: image(url("./imgs/restart.png"));
|
|
||||||
}
|
|
||||||
#reboot:focus {
|
|
||||||
background-image: image(url("./imgs/restart-hover.png"));
|
|
||||||
}
|
|
||||||
4
.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
roles/z
|
||||||
|
roles/test
|
||||||
|
error.log
|
||||||
|
callback_plugins/__pycache__
|
||||||
48
README.md
@@ -1,6 +1,46 @@
|
|||||||
# My Dotfiles
|
# Installation
|
||||||
- Simple install script
|
Clone the repo and execute the `install.sh` script.<br/>
|
||||||
- Arch
|
Or use this command:
|
||||||
|
```bash
|
||||||
|
bash -c "$(curl -fsSL https://gitea.keuledrive.de/Keule2/Dotfiles/raw/branch/main/install.sh)"
|
||||||
|
```
|
||||||
|
Or this command to use arguments:
|
||||||
|
```bash
|
||||||
|
curl -fsSL "https://gitea.keuledrive.de/Keule2/Dotfiles/raw/branch/main/install.sh" | bash -s -- -e "system=server"
|
||||||
|
```
|
||||||
|
|
||||||
|
# Update
|
||||||
|
Just execute the `install.sh` script again.
|
||||||
|
|
||||||
|
# Usage
|
||||||
|
All additional parameters are passed to the ansible playbook. This means that you can skip tags or only execute desired tags.<br/>
|
||||||
|
Example: Skip alacritty
|
||||||
|
```bash
|
||||||
|
./install.sh --skip-tags alacritty
|
||||||
|
```
|
||||||
|
Example: Only execute alacritty and fish
|
||||||
|
```bash
|
||||||
|
./install.sh -t alacritty,fish
|
||||||
|
```
|
||||||
|
|
||||||
|
# Settings
|
||||||
|
There are two ways to set settings/values.
|
||||||
|
1. Create/Edit: `$HOME/.config/dotfiles/values.yml`
|
||||||
|
2. Edit: `$HOME/.dotfiles/group_vars/all`
|
||||||
|
|
||||||
|
## Ansible Vault
|
||||||
|
Vault password file: `$HOME/.config/dotfiles/vault-password.txt`
|
||||||
|
|
||||||
|
## Settings
|
||||||
|
### System
|
||||||
|
|Value |Desc |Default|
|
||||||
|
|------------|-------------------------------------------------------|-------|
|
||||||
|
|server |Minimal installation (CMD tools) | |
|
||||||
|
|desktop |Install WM and desktop applications |x |
|
||||||
|
|desktop_full|Install additional packages for the desktop (e.g. wine)| |
|
||||||
|
<br/>
|
||||||
|
|
||||||
# TODO
|
# TODO
|
||||||
...
|
- AGS: Bar, AppLauncher, PowerMenu, Notifications, Calculator, Emoji-Picker, ...
|
||||||
|
- Ubuntu/Debian Support
|
||||||
|
- ...
|
||||||
|
|||||||
4
ansible.cfg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
[defaults]
|
||||||
|
stdout_callback = beautiful_output
|
||||||
|
# Use the stdout_callback when running ad-hoc commands.
|
||||||
|
bin_ansible_callbacks = True
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
libreoffice-fresh
|
|
||||||
nextcloud-client
|
|
||||||
youtube-music
|
|
||||||
waypaper-git
|
|
||||||
pavucontrol
|
|
||||||
hyprpicker
|
|
||||||
brave-bin
|
|
||||||
vscodium
|
|
||||||
obsidian
|
|
||||||
discord
|
|
||||||
yt-dlp
|
|
||||||
mpv
|
|
||||||
|
|
||||||
#AMD Stats
|
|
||||||
#amdgpu_top
|
|
||||||
|
|
||||||
#Explorer
|
|
||||||
#qt5-imageformats
|
|
||||||
#thunar
|
|
||||||
#dolphin
|
|
||||||
#ark
|
|
||||||
|
|
||||||
#Character map
|
|
||||||
#gucharmap
|
|
||||||
|
|
||||||
#Calculator
|
|
||||||
#galculator
|
|
||||||
1466
callback_plugins/beautiful_output.py
Normal file
84
default.pkgs
@@ -1,84 +0,0 @@
|
|||||||
# Core
|
|
||||||
hyprland
|
|
||||||
sddm
|
|
||||||
hyprshade
|
|
||||||
swaync
|
|
||||||
rofi-lbonn-wayland
|
|
||||||
rofi-calc
|
|
||||||
rofimoji
|
|
||||||
eww-tray-wayland-git
|
|
||||||
swww
|
|
||||||
swaylock-effects
|
|
||||||
swayidle
|
|
||||||
wlogout
|
|
||||||
grimblast-git
|
|
||||||
cliphist
|
|
||||||
wl-clipboard
|
|
||||||
polkit-kde-agent
|
|
||||||
xdg-desktop-portal-hyprland
|
|
||||||
gnome-keyring
|
|
||||||
cifs-utils
|
|
||||||
ntfs-3g
|
|
||||||
openssh
|
|
||||||
|
|
||||||
# Pipewire
|
|
||||||
pipewire
|
|
||||||
wireplumber
|
|
||||||
pipewire-alsa
|
|
||||||
pipewire-audio
|
|
||||||
pipewire-jack
|
|
||||||
pipewire-pulse
|
|
||||||
gst-plugin-pipewire
|
|
||||||
|
|
||||||
# Network
|
|
||||||
networkmanager
|
|
||||||
networkmanager-openvpn
|
|
||||||
network-manager-applet
|
|
||||||
|
|
||||||
# Bluetooth
|
|
||||||
bluez
|
|
||||||
bluez-utils
|
|
||||||
blueman
|
|
||||||
|
|
||||||
# Printing
|
|
||||||
cups
|
|
||||||
cups-pdf
|
|
||||||
|
|
||||||
# CLI Tools
|
|
||||||
inotify-tools
|
|
||||||
brightnessctl
|
|
||||||
playerctl
|
|
||||||
upower
|
|
||||||
socat
|
|
||||||
unzip
|
|
||||||
less
|
|
||||||
curl
|
|
||||||
wget
|
|
||||||
awk
|
|
||||||
zip
|
|
||||||
tar
|
|
||||||
jq
|
|
||||||
|
|
||||||
# CLI nice too have
|
|
||||||
#wlr-randr
|
|
||||||
libnotify
|
|
||||||
mediainfo
|
|
||||||
exa
|
|
||||||
bat
|
|
||||||
|
|
||||||
# Programming languages
|
|
||||||
jdk-openjdk
|
|
||||||
rustup
|
|
||||||
npm
|
|
||||||
|
|
||||||
# Terminal
|
|
||||||
kitty
|
|
||||||
fish
|
|
||||||
fish-done
|
|
||||||
imagemagick
|
|
||||||
fastfetch
|
|
||||||
starship
|
|
||||||
neovim
|
|
||||||
ranger
|
|
||||||
nvtop
|
|
||||||
btop
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
LANG=en_US.UTF-8
|
|
||||||
LC_ADDRESS=de_DE.UTF-8
|
|
||||||
LC_IDENTIFICATION=de_DE.UTF-8
|
|
||||||
LC_MEASUREMENT=de_DE.UTF-8
|
|
||||||
LC_MONETARY=de_DE.UTF-8
|
|
||||||
LC_NAME=de_DE.UTF-8
|
|
||||||
LC_NUMERIC=de_DE.UTF-8
|
|
||||||
LC_PAPER=de_DE.UTF-8
|
|
||||||
LC_TELEPHONE=de_DE.UTF-8
|
|
||||||
LC_TIME=de_DE.UTF-8
|
|
||||||
58
games.pkgs
@@ -1,58 +0,0 @@
|
|||||||
steam
|
|
||||||
lutris
|
|
||||||
|
|
||||||
# Dependecies AMD
|
|
||||||
lib32-mesa
|
|
||||||
vulkan-radeon
|
|
||||||
lib32-vulkan-radeon
|
|
||||||
vulkan-icd-loader
|
|
||||||
lib32-vulkan-icd-loader
|
|
||||||
|
|
||||||
# Wine
|
|
||||||
wine-staging
|
|
||||||
giflib
|
|
||||||
lib32-giflib
|
|
||||||
libpng
|
|
||||||
lib32-libpng
|
|
||||||
libldap
|
|
||||||
lib32-libldap
|
|
||||||
gnutls
|
|
||||||
lib32-gnutls
|
|
||||||
mpg123
|
|
||||||
lib32-mpg123
|
|
||||||
openal
|
|
||||||
lib32-openal
|
|
||||||
v4l-utils
|
|
||||||
lib32-v4l-utils
|
|
||||||
libpulse
|
|
||||||
lib32-libpulse
|
|
||||||
libgpg-error
|
|
||||||
lib32-libgpg-error
|
|
||||||
alsa-plugins
|
|
||||||
lib32-alsa-plugins
|
|
||||||
alsa-lib
|
|
||||||
lib32-alsa-lib
|
|
||||||
libjpeg-turbo
|
|
||||||
lib32-libjpeg-turbo
|
|
||||||
sqlite
|
|
||||||
lib32-sqlite
|
|
||||||
libxcomposite
|
|
||||||
lib32-libxcomposite
|
|
||||||
libxinerama
|
|
||||||
lib32-libgcrypt
|
|
||||||
libgcrypt
|
|
||||||
lib32-libxinerama
|
|
||||||
ncurses
|
|
||||||
lib32-ncurses
|
|
||||||
ocl-icd
|
|
||||||
lib32-ocl-icd
|
|
||||||
libxslt
|
|
||||||
lib32-libxslt
|
|
||||||
libva
|
|
||||||
lib32-libva
|
|
||||||
gtk3
|
|
||||||
lib32-gtk3
|
|
||||||
gst-plugins-base-libs
|
|
||||||
lib32-gst-plugins-base-libs
|
|
||||||
vulkan-icd-loader
|
|
||||||
lib32-vulkan-icd-loader
|
|
||||||
30
group_vars/all
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
default_roles:
|
||||||
|
- bash
|
||||||
|
- btop
|
||||||
|
- fish
|
||||||
|
- nvim
|
||||||
|
- starship
|
||||||
|
- yazi
|
||||||
|
|
||||||
|
desktop_roles:
|
||||||
|
- ags
|
||||||
|
- alacritty
|
||||||
|
- discord
|
||||||
|
- hypr
|
||||||
|
- kvantum
|
||||||
|
- minegrub
|
||||||
|
- nwg-look
|
||||||
|
- qt5ct
|
||||||
|
- sddm
|
||||||
|
- wakatime
|
||||||
|
|
||||||
|
system: desktop
|
||||||
|
|
||||||
|
wakapi_key: !vault |
|
||||||
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
|
39346164353734613634356635383464636463373437333463616530346162303666343962383364
|
||||||
|
3862316162646639353665336530613965663437316263310a646464663038346539393039666537
|
||||||
|
32636139616239643934353135656662376262356433616635343830646164363435353739343966
|
||||||
|
6233303036393538370a656564643033383334323631663631336137346161326464373364346230
|
||||||
|
64323564663534393766356166393363376237633565316363363138373033353030373139366365
|
||||||
|
6435323438633233363166626330633164346534363335666433
|
||||||
60
home/.bashrc
@@ -1,60 +0,0 @@
|
|||||||
# If not running interactively, don't do anything
|
|
||||||
[[ $- != *i* ]] && return
|
|
||||||
|
|
||||||
# Load starship prompt if starship is installed
|
|
||||||
if [ -x /usr/bin/starship ]; then
|
|
||||||
__main() {
|
|
||||||
local major="${BASH_VERSINFO[0]}"
|
|
||||||
local minor="${BASH_VERSINFO[1]}"
|
|
||||||
|
|
||||||
if ((major > 4)) || { ((major == 4)) && ((minor >= 1)); }; then
|
|
||||||
source <("/usr/bin/starship" init bash --print-full-init)
|
|
||||||
else
|
|
||||||
source /dev/stdin <<<"$("/usr/bin/starship" init bash --print-full-init)"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
__main
|
|
||||||
unset -f __main
|
|
||||||
fi
|
|
||||||
|
|
||||||
## Aliases
|
|
||||||
# Replace ls with exa
|
|
||||||
alias ls='exa -al --color=always --group-directories-first' # preferred listing
|
|
||||||
alias la='exa -a --color=always --group-directories-first' # all files and dirs
|
|
||||||
alias ll='exa -l --color=always --group-directories-first' # long format
|
|
||||||
alias lt='exa -aT --color=always --group-directories-first' # tree listing
|
|
||||||
alias l.='exa -ald --color=always --group-directories-first .*' # show only dotfiles
|
|
||||||
|
|
||||||
# Replace cat with bat
|
|
||||||
alias cat='bat --style header --style snip --style changes --style header'
|
|
||||||
|
|
||||||
# Replace yay with paru
|
|
||||||
[ ! -x /usr/bin/yay ] && [ -x /usr/bin/paru ] && alias yay='paru'
|
|
||||||
|
|
||||||
# Aliases
|
|
||||||
alias cls='clear'
|
|
||||||
alias dir='dir --color=auto'
|
|
||||||
alias egrep='grep -E --color=auto'
|
|
||||||
alias fgrep='grep -F --color=auto'
|
|
||||||
alias igrep='grep -i --color=auto'
|
|
||||||
alias fixpacman="sudo rm /var/lib/pacman/db.lck"
|
|
||||||
alias grep='grep --color=auto'
|
|
||||||
alias grubup="sudo update-grub"
|
|
||||||
alias hw='hwinfo --short'
|
|
||||||
alias psmem10='ps auxf | sort -nr -k 4 | head -10'
|
|
||||||
alias psmem='ps auxf | sort -nr -k 4'
|
|
||||||
alias rmpkg="sudo pacman -Rdd"
|
|
||||||
alias tarnow='tar -acf '
|
|
||||||
alias untar='tar -zxvf '
|
|
||||||
alias upd='/usr/bin/update'
|
|
||||||
alias vdir='vdir --color=auto'
|
|
||||||
alias wget='wget -c '
|
|
||||||
|
|
||||||
# Cleanup orphaned packages
|
|
||||||
alias cleanup='sudo pacman -Rns `pacman -Qtdq`'
|
|
||||||
|
|
||||||
# Get the error messages from journalctl
|
|
||||||
alias jctl="journalctl -p 3 -xb"
|
|
||||||
|
|
||||||
# Recent installed packages
|
|
||||||
alias rip="expac --timefmt='%Y-%m-%d %T' '%l\t%n %v' | sort | tail -200 | nl"
|
|
||||||
287
install.sh
@@ -1,54 +1,112 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Helpers
|
# Vars
|
||||||
get_aur_helper() {
|
DOTFILES_DIR="$HOME/.dotfiles"
|
||||||
if is_installed paru; then
|
CONFIG_DIR="$HOME/.config/dotfiles"
|
||||||
echo "paru"
|
REPO="https://gitea.keuledrive.de/Keule2/Dotfiles.git"
|
||||||
elif is_installed yay; then
|
DIST=$(source /etc/os-release && echo $ID)
|
||||||
echo "yay"
|
|
||||||
fi
|
# Colors
|
||||||
|
COLOR_RESET='\033[0m'
|
||||||
|
RED='\033[0;31m'
|
||||||
|
LGREEN='\033[01;32m'
|
||||||
|
|
||||||
|
# Helper Functions
|
||||||
|
print_header() {
|
||||||
|
echo -e "${LGREEN}$1${COLOR_RESET}"
|
||||||
}
|
}
|
||||||
|
|
||||||
is_installed() {
|
cmd() {
|
||||||
if pacman -Qi $1 &> /dev/null; then
|
local DOTFILES_LOG="./error.log"
|
||||||
return 0
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
is_pkg() {
|
if eval "$1" 1> /dev/null 2> $DOTFILES_LOG; then
|
||||||
if "$1" -Si "$2" &>/dev/null; then
|
rm "$DOTFILES_LOG"
|
||||||
return 0
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
is_aur_pkg() {
|
|
||||||
helper=$(get_aur_helper)
|
|
||||||
if [ -z $helper ]; then
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
return $(is_pkg $helper $1)
|
|
||||||
}
|
|
||||||
|
|
||||||
is_arch_pkg() {
|
|
||||||
return $(is_pkg pacman $1)
|
|
||||||
}
|
|
||||||
|
|
||||||
install() {
|
|
||||||
if is_installed "$1"; then
|
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if is_arch_pkg "$1"; then
|
echo -e "${RED}"
|
||||||
sudo pacman -S $1
|
cat $DOTFILES_LOG
|
||||||
elif is_aur_pkg "$1"; then
|
echo -e "${COLOR_RESET}"
|
||||||
sudo $(get_aur_helper) -S $1
|
rm "$DOTFILES_LOG"
|
||||||
else
|
exit 1
|
||||||
echo "error: unknown package [$1]"
|
}
|
||||||
|
|
||||||
|
paru_install() {
|
||||||
|
if [ -x "$(command -v paru)" ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Install Base-Devel
|
||||||
|
if [ -z "$(pacman -Q | grep base-devel)" ]; then
|
||||||
|
print_header "Installing base-devel"
|
||||||
|
cmd "sudo pacman -S base-devel --noconfirm"
|
||||||
|
fi
|
||||||
|
# Install RustUp
|
||||||
|
if ! [ -x "$(command -v rustup)" ]; then
|
||||||
|
print_header "Installing rustup"
|
||||||
|
cmd "sudo pacman -S rustup --noconfirm"
|
||||||
|
cmd "rustup default stable"
|
||||||
|
fi
|
||||||
|
# Instal Paru
|
||||||
|
FOLDER=$(mktemp -d)
|
||||||
|
print_header "Installing paru"
|
||||||
|
cmd "git clone https://aur.archlinux.org/paru.git $FOLDER"
|
||||||
|
cd $FOLDER
|
||||||
|
cmd "makepkg -si --noconfirm"
|
||||||
|
}
|
||||||
|
|
||||||
|
arch_install() {
|
||||||
|
# Install Ansible
|
||||||
|
if ! [ -x "$(command -v ansible)" ]; then
|
||||||
|
print_header "Installing ansible"
|
||||||
|
cmd "sudo pacman -S ansible --noconfirm"
|
||||||
|
fi
|
||||||
|
# Install Git
|
||||||
|
if ! [ -x "$(command -v git)" ]; then
|
||||||
|
print_header "Installing git"
|
||||||
|
cmd "sudo pacman -S git --noconfirm"
|
||||||
|
fi
|
||||||
|
# Installl Paru
|
||||||
|
paru_install
|
||||||
|
# Install PIP
|
||||||
|
if ! [ -x "$(command -v pip)" ]; then
|
||||||
|
print_header "Installing pip"
|
||||||
|
cmd "sudo pacman -S python-pip --noconfirm"
|
||||||
|
fi
|
||||||
|
# Install Watchdog
|
||||||
|
if [ -z "$(pip list | grep watchdog)" ]; then
|
||||||
|
print_header "Installing watchdog"
|
||||||
|
cmd "pip install --break-system-packages watchdog"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
ubuntu_install() {
|
||||||
|
# Install Ansible
|
||||||
|
if ! dpkg -s ansible >/dev/null 2>&1; then
|
||||||
|
print_header "Installing ansible"
|
||||||
|
cmd "sudo apt-get update"
|
||||||
|
cmd "sudo apt-get install -y software-properties-common"
|
||||||
|
cmd "sudo apt-add-repository -y ppa:ansible/ansible"
|
||||||
|
cmd "sudo apt-get update"
|
||||||
|
cmd "sudo apt-get install -y ansible"
|
||||||
|
cmd "sudo apt-get install python3-argcomplete"
|
||||||
|
cmd "sudo activate-global-python-argcomplete3"
|
||||||
|
fi
|
||||||
|
# Install Git
|
||||||
|
if ! dpkg -s git >/dev/null 2>&1; then
|
||||||
|
print_header "Installing git"
|
||||||
|
cmd "sudo apt-get install -y git"
|
||||||
|
fi
|
||||||
|
# TODO pip, watchdog
|
||||||
|
}
|
||||||
|
|
||||||
|
update_galaxy() {
|
||||||
|
local OS=$1
|
||||||
|
|
||||||
|
print_header "Installing/Updating ansible-galaxy"
|
||||||
|
cmd "ansible-galaxy install -r $DOTFILES_DIR/requirements/default.yml"
|
||||||
|
if [ -f "$DOTFILES_DIR/requirements/$OS.yml" ]; then
|
||||||
|
cmd "ansible-galaxy install -r $DOTFILES_DIR/requirements/$OS.yml"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -62,123 +120,44 @@ ________ __ .___ __ .__ .__
|
|||||||
\/ \/ \/ \/ \/ \/
|
\/ \/ \/ \/ \/ \/
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# Vars
|
# Setup
|
||||||
script_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd)"
|
case $DIST in
|
||||||
clone_dir="$HOME/git/"
|
arch)
|
||||||
|
arch_install
|
||||||
# Change working directory
|
;;
|
||||||
cd $script_dir
|
ubuntu)
|
||||||
echo "Working directory: $(pwd)"
|
ubuntu_install
|
||||||
|
;;
|
||||||
# Dependencies
|
*)
|
||||||
echo ""
|
echo "Unsupported OS"
|
||||||
echo "Installing dependencies..."
|
exit 1
|
||||||
install git
|
;;
|
||||||
install base-devel
|
|
||||||
echo "Dependencies installed!"
|
|
||||||
|
|
||||||
# AUR helper
|
|
||||||
if ! (is_installed paru || is_installed yay); then
|
|
||||||
echo ""
|
|
||||||
echo "Installing AUR helper..."
|
|
||||||
echo -e "AUR helper:\n1) paru\n2) yay"
|
|
||||||
read -p "Enter your preference (default=1): " helper
|
|
||||||
|
|
||||||
case $helper in
|
|
||||||
1) helper="paru" ;;
|
|
||||||
2) helper="yay" ;;
|
|
||||||
*) helper="paru" ;;
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if [ -d $clone_dir ]; then
|
# Clone repository
|
||||||
rm -rf $clone_dir$helper
|
if ! [[ -d "$DOTFILES_DIR" ]]; then
|
||||||
|
print_header "Cloning repo"
|
||||||
|
cmd "git clone $REPO $DOTFILES_DIR"
|
||||||
else
|
else
|
||||||
mkdir $clone_dir
|
print_header "Updating repo"
|
||||||
|
cmd "git -C $DOTFILES_DIR pull"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Installing $helper..."
|
# Change Working Dir
|
||||||
cd $clone_dir
|
cd "$DOTFILES_DIR"
|
||||||
git clone https://aur.archlinux.org/$helper.git
|
|
||||||
cd $helper
|
# Update Galaxy
|
||||||
makepkg -si
|
update_galaxy $DIST
|
||||||
cd $script_dir
|
|
||||||
echo "AUR helper installed!"
|
# Run playbook
|
||||||
|
if [[ -f "$CONFIG_DIR/vault-password.txt" ]]; then
|
||||||
|
if [[ -f "$CONFIG_DIR/values.yml" ]]; then
|
||||||
|
ansible-playbook --diff -v --ask-become-pass --extra-vars "@$CONFIG_DIR/values.yml" --vault-password-file "$CONFIG_DIR/vault-password.txt" "$DOTFILES_DIR/main.yml" "$@"
|
||||||
else
|
else
|
||||||
helper=$(get_aur_helper)
|
ansible-playbook --diff -v --ask-become-pass --vault-password-file "$CONFIG_DIR/vault-password.txt" "$DOTFILES_DIR/main.yml" "$@"
|
||||||
fi
|
fi
|
||||||
|
elif [[ -f "$CONFIG_DIR/values.yml" ]]; then
|
||||||
# Install packages
|
ansible-playbook --diff -v --ask-become-pass --extra-vars "@$CONFIG_DIR/values.yml" "$DOTFILES_DIR/main.yml" "$@"
|
||||||
echo ""
|
|
||||||
echo "Installing packages..."
|
|
||||||
|
|
||||||
for pkg_file in *.pkgs; do
|
|
||||||
[ -f "$pkg_file" ] || continue
|
|
||||||
echo "Found package file: $pkg_file"
|
|
||||||
read -p "Do you want to install the packages from this file(Y/n)?" inst
|
|
||||||
|
|
||||||
if [ "$inst" == "n" ]; then
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
|
|
||||||
while IFS= read -r pkg; do
|
|
||||||
if [[ $pkg = \#* ]] || [ -z "$pkg" ]; then
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
|
|
||||||
if is_installed $pkg; then
|
|
||||||
echo "info: package already installed, ignoring [$pkg]"
|
|
||||||
elif is_arch_pkg $pkg; then
|
|
||||||
arch_pkgs="${arch_pkgs} $pkg"
|
|
||||||
elif is_aur_pkg $pkg; then
|
|
||||||
aur_pkgs="${aur_pkgs} $pkg"
|
|
||||||
else
|
else
|
||||||
echo "error: unknown package [$pkg]"
|
ansible-playbook --diff -v --ask-become-pass "$DOTFILES_DIR/main.yml" "$@"
|
||||||
fi
|
fi
|
||||||
done < $pkg_file
|
|
||||||
done
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "Installing arch packages..."
|
|
||||||
if [ ! -z "$arch_pkgs" ]; then
|
|
||||||
sudo pacman -Sy $arch_pkgs
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "Installing AUR packages..."
|
|
||||||
if [ ! -z "$aur_pkgs" ]; then
|
|
||||||
$helper -Sy $aur_pkgs
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Install minegrub
|
|
||||||
read -p "Install grub theme 'minegrub'(Y/n)?" inst
|
|
||||||
|
|
||||||
if [ "$inst" != "n" ]; then
|
|
||||||
git clone https://github.com/Lxtharia/minegrub-theme.git
|
|
||||||
cd ./minegrub-theme
|
|
||||||
sudo cp -ruv ./minegrub /boot/grub/themes/
|
|
||||||
sed -i '/^\(#\)\?GRUB_THEME/ s/.*/GRUB_THEME=XXX/' /etc/default/grub
|
|
||||||
sudo grub-mkconfig -o /boot/grub/grub.cfg
|
|
||||||
cd ..
|
|
||||||
fi
|
|
||||||
|
|
||||||
# TODO mic-indicator, nerd font
|
|
||||||
echo "Packages installed!"
|
|
||||||
|
|
||||||
# Apply default configs
|
|
||||||
if [ "$1" != "nc" ]; then
|
|
||||||
echo ""
|
|
||||||
echo "Copying configs..."
|
|
||||||
cp -r -f .config/. ~/.config/
|
|
||||||
cp -r -f home/. ~/
|
|
||||||
sudo cp -r -f etc/. /etc/
|
|
||||||
echo "Configs copied!"
|
|
||||||
fi
|
|
||||||
|
|
||||||
#TODO Set theme
|
|
||||||
|
|
||||||
#TODO Enable services
|
|
||||||
# cups (is_isnstalled $pkg -> ask? -> enable)
|
|
||||||
# bluetooth
|
|
||||||
# sddm
|
|
||||||
|
|
||||||
echo "Finished!"
|
|
||||||
|
|||||||
52
main.yml
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
---
|
||||||
|
- name: Dotfiles
|
||||||
|
hosts: localhost
|
||||||
|
connection: local
|
||||||
|
tasks:
|
||||||
|
- name: Get username
|
||||||
|
command: whoami
|
||||||
|
register: whoami
|
||||||
|
tags:
|
||||||
|
- always
|
||||||
|
|
||||||
|
- name: Set username
|
||||||
|
set_fact:
|
||||||
|
username: "{{ whoami.stdout }}"
|
||||||
|
tags:
|
||||||
|
- always
|
||||||
|
|
||||||
|
- name: Set default roles
|
||||||
|
set_fact:
|
||||||
|
roles: "{{ ansible_run_tags != ['all'] and ansible_run_tags or default_roles | difference(ansible_skip_tags | default([])) }}"
|
||||||
|
tags:
|
||||||
|
- always
|
||||||
|
|
||||||
|
- name: Set desktop roles
|
||||||
|
set_fact:
|
||||||
|
roles: "{{ (desktop_roles + roles) | difference(ansible_skip_tags | default([])) }}"
|
||||||
|
tags:
|
||||||
|
- always
|
||||||
|
when: system != 'server' and desktop_roles is defined and ansible_run_tags == ['all']
|
||||||
|
|
||||||
|
- name: Prepend system role
|
||||||
|
set_fact:
|
||||||
|
roles: "{{ ['system'] | difference(roles) + roles }}"
|
||||||
|
tags:
|
||||||
|
- always
|
||||||
|
|
||||||
|
- name: Display roles
|
||||||
|
debug: "var=roles"
|
||||||
|
tags:
|
||||||
|
- always
|
||||||
|
|
||||||
|
- name: Run roles
|
||||||
|
include_role:
|
||||||
|
apply:
|
||||||
|
tags:
|
||||||
|
- "{{ roles_item }}"
|
||||||
|
name: "{{ roles_item }}"
|
||||||
|
loop_control:
|
||||||
|
loop_var: roles_item
|
||||||
|
with_items: "{{ roles }}"
|
||||||
|
tags:
|
||||||
|
- always
|
||||||
@@ -1 +0,0 @@
|
|||||||
maven
|
|
||||||
2
requirements/arch.yml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
collections:
|
||||||
|
- name: kewlfft.aur
|
||||||
2
requirements/default.yml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
collections:
|
||||||
|
- name: community.general
|
||||||
19
roles/alacritty/files/alacritty.toml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
import = [
|
||||||
|
# Theme
|
||||||
|
"~/.config/alacritty/catppuccin-macchiato.toml"
|
||||||
|
]
|
||||||
|
|
||||||
|
[env]
|
||||||
|
TERM = "xterm-256color"
|
||||||
|
|
||||||
|
[window]
|
||||||
|
opacity = 0.7
|
||||||
|
decorations = "None"
|
||||||
|
padding = { x = 0, y = 0 }
|
||||||
|
|
||||||
|
[font]
|
||||||
|
normal = {family = "CaskaydiaCove Nerd Font", style = "Mono"}
|
||||||
|
|
||||||
|
[cursor]
|
||||||
|
style = {shape = "Beam", blinking = "On"}
|
||||||
|
vi_mode_style = {shape = "Block", blinking = "On"}
|
||||||
97
roles/alacritty/files/catppuccin-macchiato.toml
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
# MIT License
|
||||||
|
#
|
||||||
|
# Copyright (c) 2021 Catppuccin
|
||||||
|
#
|
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
# of this software and associated documentation files (the "Software"), to deal
|
||||||
|
# in the Software without restriction, including without limitation the rights
|
||||||
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
# copies of the Software, and to permit persons to whom the Software is
|
||||||
|
# furnished to do so, subject to the following conditions:
|
||||||
|
#
|
||||||
|
# The above copyright notice and this permission notice shall be included in all
|
||||||
|
# copies or substantial portions of the Software.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
# SOFTWARE.
|
||||||
|
|
||||||
|
[colors.primary]
|
||||||
|
background = "#24273A"
|
||||||
|
foreground = "#CAD3F5"
|
||||||
|
dim_foreground = "#CAD3F5"
|
||||||
|
bright_foreground = "#CAD3F5"
|
||||||
|
|
||||||
|
[colors.cursor]
|
||||||
|
text = "#24273A"
|
||||||
|
cursor = "#F4DBD6"
|
||||||
|
|
||||||
|
[colors.vi_mode_cursor]
|
||||||
|
text = "#24273A"
|
||||||
|
cursor = "#B7BDF8"
|
||||||
|
|
||||||
|
[colors.search.matches]
|
||||||
|
foreground = "#24273A"
|
||||||
|
background = "#A5ADCB"
|
||||||
|
|
||||||
|
[colors.search.focused_match]
|
||||||
|
foreground = "#24273A"
|
||||||
|
background = "#A6DA95"
|
||||||
|
|
||||||
|
[colors.footer_bar]
|
||||||
|
foreground = "#24273A"
|
||||||
|
background = "#A5ADCB"
|
||||||
|
|
||||||
|
[colors.hints.start]
|
||||||
|
foreground = "#24273A"
|
||||||
|
background = "#EED49F"
|
||||||
|
|
||||||
|
[colors.hints.end]
|
||||||
|
foreground = "#24273A"
|
||||||
|
background = "#A5ADCB"
|
||||||
|
|
||||||
|
[colors.selection]
|
||||||
|
text = "#24273A"
|
||||||
|
background = "#F4DBD6"
|
||||||
|
|
||||||
|
[colors.normal]
|
||||||
|
black = "#494D64"
|
||||||
|
red = "#ED8796"
|
||||||
|
green = "#A6DA95"
|
||||||
|
yellow = "#EED49F"
|
||||||
|
blue = "#8AADF4"
|
||||||
|
magenta = "#F5BDE6"
|
||||||
|
cyan = "#8BD5CA"
|
||||||
|
white = "#B8C0E0"
|
||||||
|
|
||||||
|
[colors.bright]
|
||||||
|
black = "#5B6078"
|
||||||
|
red = "#ED8796"
|
||||||
|
green = "#A6DA95"
|
||||||
|
yellow = "#EED49F"
|
||||||
|
blue = "#8AADF4"
|
||||||
|
magenta = "#F5BDE6"
|
||||||
|
cyan = "#8BD5CA"
|
||||||
|
white = "#A5ADCB"
|
||||||
|
|
||||||
|
[colors.dim]
|
||||||
|
black = "#494D64"
|
||||||
|
red = "#ED8796"
|
||||||
|
green = "#A6DA95"
|
||||||
|
yellow = "#EED49F"
|
||||||
|
blue = "#8AADF4"
|
||||||
|
magenta = "#F5BDE6"
|
||||||
|
cyan = "#8BD5CA"
|
||||||
|
white = "#B8C0E0"
|
||||||
|
|
||||||
|
[[colors.indexed_colors]]
|
||||||
|
index = 16
|
||||||
|
color = "#F5A97F"
|
||||||
|
|
||||||
|
[[colors.indexed_colors]]
|
||||||
|
index = 17
|
||||||
|
color = "#F4DBD6"
|
||||||
22
roles/alacritty/tasks/main.yml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
---
|
||||||
|
- name: "[Alacritty] Install"
|
||||||
|
kewlfft.aur.aur:
|
||||||
|
name:
|
||||||
|
- alacritty
|
||||||
|
- ueberzugpp
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: "[Alacritty] Create config folder"
|
||||||
|
ansible.builtin.file:
|
||||||
|
mode: "0755"
|
||||||
|
path: "{{ ansible_user_dir }}/.config/alacritty"
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: "[Alacritty] Configure"
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: "./"
|
||||||
|
dest: "{{ ansible_user_dir }}/.config/alacritty"
|
||||||
|
|
||||||
|
- name: "[Alacritty] Set default"
|
||||||
|
shell: gsettings set org.cinnamon.desktop.default-applications.terminal exec alacritty && gsettings set org.gnome.desktop.default-applications.terminal exec alacritty
|
||||||
|
ignore_errors: true
|
||||||
67
roles/bash/files/.bashrc
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
# If not running interactively, don't do anything
|
||||||
|
[[ $- != *i* ]] && return
|
||||||
|
|
||||||
|
# Env vars
|
||||||
|
export EDITOR=nvim
|
||||||
|
export VISUAL=nvim
|
||||||
|
|
||||||
|
# Load starship prompt if starship is installed
|
||||||
|
if [ -f /usr/bin/starship ]; then
|
||||||
|
eval "$(starship init bash)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
## Functions
|
||||||
|
# Yazi
|
||||||
|
function ya() {
|
||||||
|
local tmp="$(mktemp -t "yazi-cwd.XXXXX")"
|
||||||
|
yazi "$@" --cwd-file="$tmp"
|
||||||
|
if cwd="$(cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
|
||||||
|
cd -- "$cwd"
|
||||||
|
fi
|
||||||
|
rm -f -- "$tmp"
|
||||||
|
}
|
||||||
|
|
||||||
|
## Aliases
|
||||||
|
# Replace ls with eza
|
||||||
|
alias ls='eza -al --color=always --group-directories-first' # preferred listing
|
||||||
|
alias la='eza -a --color=always --group-directories-first' # all files and dirs
|
||||||
|
alias ll='eza -l --color=always --group-directories-first' # long format
|
||||||
|
alias lt='eza -aT --color=always --group-directories-first' # tree listing
|
||||||
|
alias l.='eza -ald --color=always --group-directories-first .*' # show only dotfiles
|
||||||
|
|
||||||
|
# Replace cat with bat
|
||||||
|
if [ -f /usr/bin/bat ]; then
|
||||||
|
alias cat='bat --style header --style snip --style changes --style header'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Replace yay with paru
|
||||||
|
if [ -f /usr/bin/paru ]; then
|
||||||
|
alias yay='paru'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Aliases
|
||||||
|
alias :q='exit'
|
||||||
|
alias cls='clear'
|
||||||
|
alias dir='dir --color=auto'
|
||||||
|
alias grepe='grep -E --color=auto'
|
||||||
|
alias grepf='grep -F --color=auto'
|
||||||
|
alias grepi='grep -i --color=auto'
|
||||||
|
alias fixpacman="sudo rm /var/lib/pacman/db.lck"
|
||||||
|
alias grep='grep --color=auto'
|
||||||
|
alias grubup="sudo update-grub"
|
||||||
|
alias hw='hwinfo --short'
|
||||||
|
alias psmem10='ps auxf | sort -nr -k 4 | head -10'
|
||||||
|
alias psmem='ps auxf | sort -nr -k 4'
|
||||||
|
alias rmpkg="sudo pacman -Rdd"
|
||||||
|
alias tarnow='tar -acf '
|
||||||
|
alias untar='tar -zxvf '
|
||||||
|
alias wget='wget -c '
|
||||||
|
|
||||||
|
# Cleanup orphaned packages
|
||||||
|
alias cleanup='sudo pacman -Rns `pacman -Qtdq`'
|
||||||
|
|
||||||
|
# Get the error messages from journalctl
|
||||||
|
alias jctl="journalctl -p 3 -xb"
|
||||||
|
|
||||||
|
# Recent installed packages
|
||||||
|
alias rip="expac --timefmt='%Y-%m-%d %T' '%l\t%n %v' | sort | tail -200 | nl"
|
||||||
12
roles/bash/tasks/main.yml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
- name: "[Bash] Install"
|
||||||
|
ansible.builtin.package:
|
||||||
|
name:
|
||||||
|
- bash
|
||||||
|
state: latest
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: "[Bash] Configure"
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: "./"
|
||||||
|
dest: "{{ ansible_user_dir }}/"
|
||||||
248
roles/btop/files/btop.conf
Normal file
@@ -0,0 +1,248 @@
|
|||||||
|
#? Config file for btop v. 1.3.2
|
||||||
|
|
||||||
|
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
||||||
|
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
||||||
|
color_theme = "Default"
|
||||||
|
|
||||||
|
#* If the theme set background should be shown, set to False if you want terminal background transparency.
|
||||||
|
theme_background = True
|
||||||
|
|
||||||
|
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
|
||||||
|
truecolor = True
|
||||||
|
|
||||||
|
#* Set to true to force tty mode regardless if a real tty has been detected or not.
|
||||||
|
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
|
||||||
|
force_tty = False
|
||||||
|
|
||||||
|
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
|
||||||
|
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
|
||||||
|
#* Use whitespace " " as separator between different presets.
|
||||||
|
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
|
||||||
|
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
|
||||||
|
|
||||||
|
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
|
||||||
|
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
|
||||||
|
vim_keys = True
|
||||||
|
|
||||||
|
#* Rounded corners on boxes, is ignored if TTY mode is ON.
|
||||||
|
rounded_corners = True
|
||||||
|
|
||||||
|
#* Default symbols to use for graph creation, "braille", "block" or "tty".
|
||||||
|
#* "braille" offers the highest resolution but might not be included in all fonts.
|
||||||
|
#* "block" has half the resolution of braille but uses more common characters.
|
||||||
|
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
|
||||||
|
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
|
||||||
|
graph_symbol = "braille"
|
||||||
|
|
||||||
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||||
|
graph_symbol_cpu = "default"
|
||||||
|
|
||||||
|
# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty".
|
||||||
|
graph_symbol_gpu = "default"
|
||||||
|
|
||||||
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||||
|
graph_symbol_mem = "default"
|
||||||
|
|
||||||
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||||
|
graph_symbol_net = "default"
|
||||||
|
|
||||||
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||||
|
graph_symbol_proc = "default"
|
||||||
|
|
||||||
|
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
|
||||||
|
shown_boxes = "cpu mem net proc"
|
||||||
|
|
||||||
|
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
|
||||||
|
update_ms = 2000
|
||||||
|
|
||||||
|
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
||||||
|
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
||||||
|
proc_sorting = "memory"
|
||||||
|
|
||||||
|
#* Reverse sorting order, True or False.
|
||||||
|
proc_reversed = False
|
||||||
|
|
||||||
|
#* Show processes as a tree.
|
||||||
|
proc_tree = False
|
||||||
|
|
||||||
|
#* Use the cpu graph colors in the process list.
|
||||||
|
proc_colors = True
|
||||||
|
|
||||||
|
#* Use a darkening gradient in the process list.
|
||||||
|
proc_gradient = True
|
||||||
|
|
||||||
|
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
|
||||||
|
proc_per_core = True
|
||||||
|
|
||||||
|
#* Show process memory as bytes instead of percent.
|
||||||
|
proc_mem_bytes = True
|
||||||
|
|
||||||
|
#* Show cpu graph for each process.
|
||||||
|
proc_cpu_graphs = True
|
||||||
|
|
||||||
|
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
|
||||||
|
proc_info_smaps = False
|
||||||
|
|
||||||
|
#* Show proc box on left side of screen instead of right.
|
||||||
|
proc_left = False
|
||||||
|
|
||||||
|
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
|
||||||
|
proc_filter_kernel = False
|
||||||
|
|
||||||
|
#* In tree-view, always accumulate child process resources in the parent process.
|
||||||
|
proc_aggregate = False
|
||||||
|
|
||||||
|
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
|
||||||
|
#* Select from a list of detected attributes from the options menu.
|
||||||
|
cpu_graph_upper = "total"
|
||||||
|
|
||||||
|
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
|
||||||
|
#* Select from a list of detected attributes from the options menu.
|
||||||
|
cpu_graph_lower = "total"
|
||||||
|
|
||||||
|
#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off".
|
||||||
|
show_gpu_info = "Auto"
|
||||||
|
|
||||||
|
#* Toggles if the lower CPU graph should be inverted.
|
||||||
|
cpu_invert_lower = True
|
||||||
|
|
||||||
|
#* Set to True to completely disable the lower CPU graph.
|
||||||
|
cpu_single_graph = False
|
||||||
|
|
||||||
|
#* Show cpu box at bottom of screen instead of top.
|
||||||
|
cpu_bottom = False
|
||||||
|
|
||||||
|
#* Shows the system uptime in the CPU box.
|
||||||
|
show_uptime = True
|
||||||
|
|
||||||
|
#* Show cpu temperature.
|
||||||
|
check_temp = True
|
||||||
|
|
||||||
|
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
|
||||||
|
cpu_sensor = "Auto"
|
||||||
|
|
||||||
|
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
|
||||||
|
show_coretemp = True
|
||||||
|
|
||||||
|
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
|
||||||
|
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
|
||||||
|
#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
|
||||||
|
#* Example: "4:0 5:1 6:3"
|
||||||
|
cpu_core_map = ""
|
||||||
|
|
||||||
|
#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
|
||||||
|
temp_scale = "celsius"
|
||||||
|
|
||||||
|
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
|
||||||
|
base_10_sizes = False
|
||||||
|
|
||||||
|
#* Show CPU frequency.
|
||||||
|
show_cpu_freq = True
|
||||||
|
|
||||||
|
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
|
||||||
|
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
|
||||||
|
clock_format = "%X"
|
||||||
|
|
||||||
|
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
|
||||||
|
background_update = True
|
||||||
|
|
||||||
|
#* Custom cpu model name, empty string to disable.
|
||||||
|
custom_cpu_name = ""
|
||||||
|
|
||||||
|
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
|
||||||
|
#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user".
|
||||||
|
disks_filter = ""
|
||||||
|
|
||||||
|
#* Show graphs instead of meters for memory values.
|
||||||
|
mem_graphs = True
|
||||||
|
|
||||||
|
#* Show mem box below net box instead of above.
|
||||||
|
mem_below_net = False
|
||||||
|
|
||||||
|
#* Count ZFS ARC in cached and available memory.
|
||||||
|
zfs_arc_cached = True
|
||||||
|
|
||||||
|
#* If swap memory should be shown in memory box.
|
||||||
|
show_swap = True
|
||||||
|
|
||||||
|
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
|
||||||
|
swap_disk = True
|
||||||
|
|
||||||
|
#* If mem box should be split to also show disks info.
|
||||||
|
show_disks = True
|
||||||
|
|
||||||
|
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
|
||||||
|
only_physical = True
|
||||||
|
|
||||||
|
#* Read disks list from /etc/fstab. This also disables only_physical.
|
||||||
|
use_fstab = True
|
||||||
|
|
||||||
|
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
|
||||||
|
zfs_hide_datasets = False
|
||||||
|
|
||||||
|
#* Set to true to show available disk space for privileged users.
|
||||||
|
disk_free_priv = False
|
||||||
|
|
||||||
|
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
|
||||||
|
show_io_stat = True
|
||||||
|
|
||||||
|
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
|
||||||
|
io_mode = False
|
||||||
|
|
||||||
|
#* Set to True to show combined read/write io graphs in io mode.
|
||||||
|
io_graph_combined = False
|
||||||
|
|
||||||
|
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
|
||||||
|
#* Example: "/mnt/media:100 /:20 /boot:1".
|
||||||
|
io_graph_speeds = ""
|
||||||
|
|
||||||
|
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
|
||||||
|
net_download = 100
|
||||||
|
|
||||||
|
net_upload = 100
|
||||||
|
|
||||||
|
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
|
||||||
|
net_auto = True
|
||||||
|
|
||||||
|
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
|
||||||
|
net_sync = True
|
||||||
|
|
||||||
|
#* Starts with the Network Interface specified here.
|
||||||
|
net_iface = ""
|
||||||
|
|
||||||
|
#* Show battery stats in top right if battery is present.
|
||||||
|
show_battery = True
|
||||||
|
|
||||||
|
#* Which battery to use if multiple are present. "Auto" for auto detection.
|
||||||
|
selected_battery = "Auto"
|
||||||
|
|
||||||
|
#* Show power stats of battery next to charge indicator.
|
||||||
|
show_battery_watts = True
|
||||||
|
|
||||||
|
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
|
||||||
|
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
|
||||||
|
log_level = "WARNING"
|
||||||
|
|
||||||
|
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
|
||||||
|
nvml_measure_pcie_speeds = True
|
||||||
|
|
||||||
|
#* Horizontally mirror the GPU graph.
|
||||||
|
gpu_mirror_graph = True
|
||||||
|
|
||||||
|
#* Custom gpu0 model name, empty string to disable.
|
||||||
|
custom_gpu_name0 = ""
|
||||||
|
|
||||||
|
#* Custom gpu1 model name, empty string to disable.
|
||||||
|
custom_gpu_name1 = ""
|
||||||
|
|
||||||
|
#* Custom gpu2 model name, empty string to disable.
|
||||||
|
custom_gpu_name2 = ""
|
||||||
|
|
||||||
|
#* Custom gpu3 model name, empty string to disable.
|
||||||
|
custom_gpu_name3 = ""
|
||||||
|
|
||||||
|
#* Custom gpu4 model name, empty string to disable.
|
||||||
|
custom_gpu_name4 = ""
|
||||||
|
|
||||||
|
#* Custom gpu5 model name, empty string to disable.
|
||||||
|
custom_gpu_name5 = ""
|
||||||
18
roles/btop/tasks/main.yml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
---
|
||||||
|
- name: "[Btop] Install"
|
||||||
|
ansible.builtin.package:
|
||||||
|
name:
|
||||||
|
- btop
|
||||||
|
state: latest
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: "[Btop] Create config folder"
|
||||||
|
ansible.builtin.file:
|
||||||
|
mode: "0755"
|
||||||
|
path: "{{ ansible_user_dir }}/.config/btop"
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: "[Btop] Configure"
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: "./"
|
||||||
|
dest: "{{ ansible_user_dir }}/.config/btop"
|
||||||
1
roles/discord/files/Preferences
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"spellcheck":{"dictionaries":["en-GB", "de-DE"],"dictionary":""}}
|
||||||
3
roles/discord/files/storage/lang.json
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"lang": "en-US"
|
||||||
|
}
|
||||||
62
roles/discord/files/storage/settings.json
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
{
|
||||||
|
"windowStyle": "native",
|
||||||
|
"channel": "stable",
|
||||||
|
"armcordCSP": true,
|
||||||
|
"minimizeToTray": false,
|
||||||
|
"keybinds": [],
|
||||||
|
"alternativePaste": false,
|
||||||
|
"multiInstance": false,
|
||||||
|
"mods": [
|
||||||
|
"none"
|
||||||
|
],
|
||||||
|
"spellcheck": true,
|
||||||
|
"performanceMode": "none",
|
||||||
|
"skipSplash": false,
|
||||||
|
"inviteWebsocket": true,
|
||||||
|
"startMinimized": false,
|
||||||
|
"dynamicIcon": false,
|
||||||
|
"tray": "dynamic",
|
||||||
|
"customJsBundle": "https://armcord.app/placeholder.js",
|
||||||
|
"customCssBundle": "https://armcord.app/placeholder.css",
|
||||||
|
"disableAutogain": false,
|
||||||
|
"useLegacyCapturer": false,
|
||||||
|
"mobileMode": false,
|
||||||
|
"trayIcon": "dynamic",
|
||||||
|
"doneSetup": true,
|
||||||
|
"clientName": "ArmCord",
|
||||||
|
"customIcon": "/usr/lib/armcord/app.asar/assets/desktop.png",
|
||||||
|
"modCache": {
|
||||||
|
"shelter": "1b35b8802a85809742af99f454bb941f56f759a3"
|
||||||
|
},
|
||||||
|
"hardwareAcceleration": true,
|
||||||
|
"audio": {
|
||||||
|
"workaround": false,
|
||||||
|
"deviceSelect": true,
|
||||||
|
"granularSelect": true,
|
||||||
|
"ignoreVirtual": false,
|
||||||
|
"ignoreDevices": false,
|
||||||
|
"ignoreInputMedia": false,
|
||||||
|
"onlySpeakers": false,
|
||||||
|
"onlyDefaultSpeakers": true,
|
||||||
|
"loopbackType": "loopback"
|
||||||
|
},
|
||||||
|
"transparency": "none",
|
||||||
|
"legcordCSP": true,
|
||||||
|
"bounceOnPing": false,
|
||||||
|
"disableHttpCache": false,
|
||||||
|
"autoHideMenuBar": true,
|
||||||
|
"blockPowerSavingInVoiceChat": false,
|
||||||
|
"useMacSystemPicker": true,
|
||||||
|
"popoutPiP": false,
|
||||||
|
"spellcheckLanguage": [
|
||||||
|
"en-US",
|
||||||
|
"de-DE"
|
||||||
|
],
|
||||||
|
"sleepInBackground": false,
|
||||||
|
"noBundleUpdates": false,
|
||||||
|
"additionalArguments": "",
|
||||||
|
"smoothScroll": true,
|
||||||
|
"autoScroll": false,
|
||||||
|
"useSystemCssEditor": false,
|
||||||
|
"overlayButtonColor": "#121214"
|
||||||
|
}
|
||||||
21
roles/discord/files/themes/Catppuccin-Macchiato-BD/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2022 Catppuccin
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"theme": "src.css",
|
||||||
|
"name": "Catppuccin Macchiato",
|
||||||
|
"author": "winston#0001",
|
||||||
|
"authorId": "505490445468696576",
|
||||||
|
"version": "0.2.0",
|
||||||
|
"description": "🎮 Soothing pastel theme for Discord",
|
||||||
|
"website": "https://github.com/catppuccin/discord",
|
||||||
|
"invite": "r6Mdz5dpFc",
|
||||||
|
"updateSrc": "https://raw.githubusercontent.com/catppuccin/discord/main/themes/macchiato.theme.css",
|
||||||
|
"supportsArmCordTitlebar": false,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
11
roles/discord/files/themes/Catppuccin-Macchiato-BD/src.css
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
/**
|
||||||
|
* @name Catppuccin Macchiato
|
||||||
|
* @author winston#0001
|
||||||
|
* @authorId 505490445468696576
|
||||||
|
* @version 0.2.0
|
||||||
|
* @description 🎮 Soothing pastel theme for Discord
|
||||||
|
* @website https://github.com/catppuccin/discord
|
||||||
|
* @invite r6Mdz5dpFc
|
||||||
|
* **/
|
||||||
|
|
||||||
|
@import url("https://catppuccin.github.io/discord/dist/catppuccin-macchiato.theme.css");
|
||||||
18
roles/discord/tasks/main.yml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
---
|
||||||
|
- name: "[Discord] Install"
|
||||||
|
kewlfft.aur.aur:
|
||||||
|
name:
|
||||||
|
- legcord
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: "[Discord] Create config folder"
|
||||||
|
ansible.builtin.file:
|
||||||
|
mode: "0755"
|
||||||
|
path: "{{ ansible_user_dir }}/.config/legcord"
|
||||||
|
state: directory
|
||||||
|
force: false
|
||||||
|
|
||||||
|
- name: "[Discord] Configure"
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: "./"
|
||||||
|
dest: "{{ ansible_user_dir }}/.config/legcord"
|
||||||
115
.config/fish/config.fish → roles/fish/files/config.fish
Executable file → Normal file
@@ -5,28 +5,35 @@ set VIRTUAL_ENV_DISABLE_PROMPT "1"
|
|||||||
set -x MANROFFOPT "-c"
|
set -x MANROFFOPT "-c"
|
||||||
set -x MANPAGER "sh -c 'col -bx | bat -l man -p'"
|
set -x MANPAGER "sh -c 'col -bx | bat -l man -p'"
|
||||||
|
|
||||||
## Set settings for https://github.com/franciscolourenco/done
|
|
||||||
set -U __done_min_cmd_duration 10000
|
|
||||||
set -U __done_notification_urgency_level low
|
|
||||||
|
|
||||||
## Environment setup
|
## Environment setup
|
||||||
|
# Env vars
|
||||||
|
export EDITOR=nvim
|
||||||
|
export VISUAL=nvim
|
||||||
|
|
||||||
if test -f ~/.fish_profile
|
if test -f ~/.fish_profile
|
||||||
source ~/.fish_profile
|
source ~/.fish_profile
|
||||||
end
|
end
|
||||||
|
|
||||||
export EDITOR=nvim
|
# Add ~/.local/bin to PATH
|
||||||
export VISUAL=nvim
|
|
||||||
|
|
||||||
## Add ~/.local/bin to PATH
|
|
||||||
if test -d ~/.local/bin
|
if test -d ~/.local/bin
|
||||||
if not contains -- ~/.local/bin $PATH
|
if not contains -- ~/.local/bin $PATH
|
||||||
set -p PATH ~/.local/bin
|
set -p PATH ~/.local/bin
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
## Starship prompt
|
## Plugin configuration
|
||||||
|
# Set settings for https://github.com/franciscolourenco/done
|
||||||
|
set -U __done_min_cmd_duration 10000
|
||||||
|
set -U __done_notification_urgency_level low
|
||||||
|
|
||||||
|
# Starship prompt
|
||||||
if type -q starship && status --is-interactive
|
if type -q starship && status --is-interactive
|
||||||
source ("/usr/bin/starship" init fish --print-full-init | psub)
|
starship init fish | source
|
||||||
|
end
|
||||||
|
|
||||||
|
# Zoxide
|
||||||
|
if type -q zoxide && status --is-interactive
|
||||||
|
zoxide init fish | source
|
||||||
end
|
end
|
||||||
|
|
||||||
## Functions
|
## Functions
|
||||||
@@ -47,6 +54,39 @@ function cp_bar
|
|||||||
kill $cpid &> /dev/null
|
kill $cpid &> /dev/null
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function unzip -a input_file
|
||||||
|
if test -z "$input_file"
|
||||||
|
echo "Usage: unzip <filename.zip>"
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
|
||||||
|
if test ! -f $input_file
|
||||||
|
echo "Error: File not found - $input_file"
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
|
||||||
|
set folder_name (basename -s .zip $input_file)
|
||||||
|
|
||||||
|
command unzip "$input_file" -d "$folder_name" && echo "File '$input_file' successfully extracted to '$folder_name/'"
|
||||||
|
end
|
||||||
|
|
||||||
|
function untar -a input_file
|
||||||
|
if test -z "$input_file"
|
||||||
|
echo "Usage: untar <filename.zip>"
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
|
||||||
|
if test ! -f $input_file
|
||||||
|
echo "Error: File not found - $input_file"
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
|
||||||
|
set folder_name (string split -m 1 "." $input_file)[1]
|
||||||
|
mkdir $folder_name
|
||||||
|
|
||||||
|
command tar -xvf "$input_file" -C "$folder_name" && echo "File '$input_file' successfully extracted to '$folder_name/'"
|
||||||
|
end
|
||||||
|
|
||||||
# Maven
|
# Maven
|
||||||
function mvn-init -a groupId artifactId -d "Create a simple maven project"
|
function mvn-init -a groupId artifactId -d "Create a simple maven project"
|
||||||
if test -z "$groupId" -o -z "$artifactId"
|
if test -z "$groupId" -o -z "$artifactId"
|
||||||
@@ -73,14 +113,24 @@ function mvn-run -a mainClass -d "Run your current maven project"
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Yazi wrapper
|
||||||
|
function ya
|
||||||
|
set tmp (mktemp -t "yazi-cwd.XXXXX")
|
||||||
|
yazi $argv --cwd-file="$tmp"
|
||||||
|
if set cwd (cat -- "$tmp"); and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ]
|
||||||
|
cd "$cwd"
|
||||||
|
end
|
||||||
|
rm -f -- "$tmp"
|
||||||
|
end
|
||||||
|
|
||||||
## Aliases
|
## Aliases
|
||||||
# Replace ls with exa
|
# Replace ls with eza
|
||||||
if type -q exa
|
if type -q eza
|
||||||
alias ls='exa -al --color=always --group-directories-first --icons' # preferred listing
|
alias ls='eza -al --color=always --group-directories-first --icons' # preferred listing
|
||||||
alias la='exa -a --color=always --group-directories-first --icons' # all files and dirs
|
alias la='eza -a --color=always --group-directories-first --icons' # all files and dirs
|
||||||
alias ll='exa -l --color=always --group-directories-first --icons' # long format
|
alias ll='eza -l --color=always --group-directories-first --icons' # long format
|
||||||
alias lt='exa -aT --color=always --group-directories-first --icons' # tree listing
|
alias lt='eza -aT --color=always --group-directories-first --icons' # tree listing
|
||||||
alias l.='exa -ald --color=always --group-directories-first --icons .*' # show only dotfiles
|
alias l.='eza -ald --color=always --group-directories-first --icons .*' # show only dotfiles
|
||||||
end
|
end
|
||||||
|
|
||||||
# Replace cat with bat
|
# Replace cat with bat
|
||||||
@@ -88,21 +138,31 @@ if type -q bat
|
|||||||
alias cat='bat --style header --style snip --style changes --style header'
|
alias cat='bat --style header --style snip --style changes --style header'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Replace yay with paru
|
||||||
|
if type -q paru
|
||||||
|
alias yay='paru'
|
||||||
|
end
|
||||||
|
|
||||||
|
# Replace cd with zoxide
|
||||||
|
if type -q zoxide
|
||||||
|
alias cd='z'
|
||||||
|
end
|
||||||
|
|
||||||
# Common use
|
# Common use
|
||||||
|
alias :q=exit
|
||||||
alias ipn='ip'
|
alias ipn='ip'
|
||||||
alias nano=nvim
|
alias nano=nvim
|
||||||
alias cls='clear'
|
alias cls='clear'
|
||||||
alias please='sudo'
|
alias please='sudo'
|
||||||
alias ip='ip -color'
|
alias ip='ip -color'
|
||||||
|
alias wip=curl https://ipinfo.io/ip
|
||||||
alias mkdirs='mkdir --parents'
|
alias mkdirs='mkdir --parents'
|
||||||
alias ssh="kitty +kitten ssh" #For kitty terminal or use (on client)-> sudo apt install kitty-terminfo
|
|
||||||
alias grubup="sudo update-grub"
|
alias grubup="sudo update-grub"
|
||||||
alias fixpacman="sudo rm /var/lib/pacman/db.lck"
|
alias fixpacman="sudo rm /var/lib/pacman/db.lck"
|
||||||
alias tarnow='tar -acf '
|
alias tarnow='tar -acf '
|
||||||
alias tarlist="tar -tvf"
|
alias tarlist='tar -tvf '
|
||||||
alias untar='tar -xvf '
|
|
||||||
alias wget='wget -c '
|
alias wget='wget -c '
|
||||||
alias rmpkg="sudo pacman -Rcns "
|
alias rmpkg='sudo pacman -Rcns '
|
||||||
alias purgepkg="sudo pacman -Rdd "
|
alias purgepkg="sudo pacman -Rdd "
|
||||||
alias psmem='ps auxf | sort -nr -k 4'
|
alias psmem='ps auxf | sort -nr -k 4'
|
||||||
alias psmem10='ps auxf | sort -nr -k 4 | head -10'
|
alias psmem10='ps auxf | sort -nr -k 4 | head -10'
|
||||||
@@ -110,15 +170,16 @@ alias ..='cd ..'
|
|||||||
alias ...='cd ../..'
|
alias ...='cd ../..'
|
||||||
alias ....='cd ../../..'
|
alias ....='cd ../../..'
|
||||||
alias grep='grep --color=auto'
|
alias grep='grep --color=auto'
|
||||||
alias fgrep='grep -F --color=auto'
|
alias grepf='grep -F --color=auto'
|
||||||
alias egrep='grep -E --color=auto'
|
alias grepe='grep -E --color=auto'
|
||||||
alias igrep='grep -i --color=auto'
|
alias grepi='grep -i --color=auto'
|
||||||
alias hw='hwinfo --short' # Hardware Info
|
alias hw='hwinfo --short' # Hardware Info
|
||||||
alias big="expac -H M '%m\t%n' | sort -h | nl" # Sort installed packages according to size in MB
|
alias bigpkg="expac -H M '%m\t%n' | sort -h | nl" # Sort installed packages according to size in MB
|
||||||
alias gitpkg='pacman -Q | grep -i "\-git" | wc -l' # List amount of -git packages
|
alias gitpkg='pacman -Q | grep -i "\-git" | wc -l' # List amount of -git packages
|
||||||
alias cleanup='sudo pacman -Rns (pacman -Qtdq)' # Cleanup orphaned packages
|
alias cleanup='sudo pacman -Rns (pacman -Qtdq)' # Cleanup orphaned packages
|
||||||
alias jctl="journalctl -p 3 -xb" # Get the error messages from journalctl
|
alias jctl="journalctl -p 3 -xb" # Get the error messages from journalctl
|
||||||
alias rip="expac --timefmt='%Y-%m-%d %T' '%l\t%n %v' | sort | tail -200 | nl" # Recent installed packages
|
alias rip="expac --timefmt='%Y-%m-%d %T' '%l\t%n %v' | sort | tail -200 | nl" # Recent installed packages
|
||||||
|
alias h="cliphist list | fzf | cliphist decode | wl-copy"
|
||||||
|
|
||||||
# Get fastest mirrors
|
# Get fastest mirrors
|
||||||
alias mirror="sudo reflector -f 30 -l 30 --number 10 --verbose --save /etc/pacman.d/mirrorlist"
|
alias mirror="sudo reflector -f 30 -l 30 --number 10 --verbose --save /etc/pacman.d/mirrorlist"
|
||||||
@@ -126,11 +187,9 @@ alias mirrord="sudo reflector --latest 50 --number 20 --sort delay --save /etc/p
|
|||||||
alias mirrors="sudo reflector --latest 50 --number 20 --sort score --save /etc/pacman.d/mirrorlist"
|
alias mirrors="sudo reflector --latest 50 --number 20 --sort score --save /etc/pacman.d/mirrorlist"
|
||||||
alias mirrora="sudo reflector --latest 50 --number 20 --sort age --save /etc/pacman.d/mirrorlist"
|
alias mirrora="sudo reflector --latest 50 --number 20 --sort age --save /etc/pacman.d/mirrorlist"
|
||||||
|
|
||||||
## Run fastfetch if session is interactive
|
## Run fastfetch
|
||||||
if status --is-interactive
|
if status --is-interactive
|
||||||
if type -q fastfetch
|
if type -q fastfetch
|
||||||
fastfetch -l arch
|
fastfetch -l arch
|
||||||
else if type -q neofetch
|
|
||||||
neofetch --ascii_distro arch
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
26
roles/fish/tasks/main.yml
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
---
|
||||||
|
- name: "[Fish] Install"
|
||||||
|
kewlfft.aur.aur:
|
||||||
|
name:
|
||||||
|
- fish
|
||||||
|
- fish-done
|
||||||
|
- fastfetch
|
||||||
|
- zoxide
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: "[Fish] Create config folder"
|
||||||
|
ansible.builtin.file:
|
||||||
|
mode: "0755"
|
||||||
|
path: "{{ ansible_user_dir }}/.config/fish"
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: "[Fish] Configure"
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: "./"
|
||||||
|
dest: "{{ ansible_user_dir }}/.config/fish"
|
||||||
|
|
||||||
|
- name: "[Fish] Set shell"
|
||||||
|
ansible.builtin.shell:
|
||||||
|
cmd: "sudo usermod -s $(which fish) {{ username }}"
|
||||||
|
become: true
|
||||||
|
ignore_errors: true
|
||||||
5
roles/hypr/files/devices.conf
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
# Devices
|
||||||
|
device {
|
||||||
|
name = roccat-roccat-kone-emp-mouse
|
||||||
|
sensitivity = -0.5
|
||||||
|
}
|
||||||
9
roles/hypr/files/env.conf
Executable file
@@ -0,0 +1,9 @@
|
|||||||
|
# Environment
|
||||||
|
env = XCURSOR_SIZE,24
|
||||||
|
env = XCURSOR_THEME,Breeze
|
||||||
|
env = HYPRCURSOR_SIZE,24
|
||||||
|
env = HYPRCURSOR_THEME,rose-pine-hyprcursor
|
||||||
|
env = XDG_SESSION_TYPE,wayland
|
||||||
|
env = WLR_NO_HARDWARE_CURSORS,1
|
||||||
|
env = QT_QPA_PLATFORMTHEME,gtk3
|
||||||
|
env = QT_STYLE_OVERRIDE,qt5ct
|
||||||
@@ -1,24 +1,24 @@
|
|||||||
## Environment
|
# Env
|
||||||
source = ~/.config/hypr/env.conf
|
source = ~/.config/hypr/env.conf
|
||||||
|
|
||||||
# Nvidia
|
# Nvidia
|
||||||
# source = ~/.config/hypr/nvidia.conf
|
# source = ~/.config/hypr/nvidia.conf
|
||||||
|
|
||||||
## Keybinds
|
# Keybinds
|
||||||
source = ~/.config/hypr/keybinds.conf
|
source = ~/.config/hypr/keybinds.conf
|
||||||
|
|
||||||
## Monitors/Workspaces
|
# Monitors/Workspaces
|
||||||
source = ~/.config/hypr/windowrule.conf
|
source = ~/.config/hypr/windowrule.conf
|
||||||
|
|
||||||
## Startup
|
# Startup
|
||||||
source = ~/.config/hypr/startup.conf
|
source = ~/.config/hypr/startup.conf
|
||||||
|
|
||||||
## Input
|
# Devices
|
||||||
|
source = ~/.config/hypr/devices.conf
|
||||||
|
|
||||||
|
# Input
|
||||||
input {
|
input {
|
||||||
kb_layout = de
|
kb_layout = us
|
||||||
kb_variant =
|
|
||||||
kb_model =
|
|
||||||
kb_options =
|
|
||||||
kb_rules =
|
|
||||||
numlock_by_default = 1
|
numlock_by_default = 1
|
||||||
|
|
||||||
follow_mouse = 1
|
follow_mouse = 1
|
||||||
@@ -26,16 +26,12 @@ input {
|
|||||||
touchpad {
|
touchpad {
|
||||||
natural_scroll = yes
|
natural_scroll = yes
|
||||||
}
|
}
|
||||||
|
|
||||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
|
||||||
}
|
}
|
||||||
|
|
||||||
## General
|
# General
|
||||||
general {
|
general {
|
||||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
gaps_in = 2
|
||||||
|
gaps_out = 2
|
||||||
gaps_in = 5
|
|
||||||
gaps_out = 5
|
|
||||||
border_size = 2
|
border_size = 2
|
||||||
col.active_border = rgba(7dc4e4ee) rgba(7dc4e4ee) 45deg
|
col.active_border = rgba(7dc4e4ee) rgba(7dc4e4ee) 45deg
|
||||||
col.inactive_border = rgba(595959aa)
|
col.inactive_border = rgba(595959aa)
|
||||||
@@ -43,10 +39,8 @@ general {
|
|||||||
layout = dwindle
|
layout = dwindle
|
||||||
}
|
}
|
||||||
|
|
||||||
## Decoration
|
# Decoration
|
||||||
decoration {
|
decoration {
|
||||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
|
||||||
|
|
||||||
rounding = 0
|
rounding = 0
|
||||||
|
|
||||||
blur {
|
blur {
|
||||||
@@ -60,19 +54,12 @@ decoration {
|
|||||||
blurls = rofi
|
blurls = rofi
|
||||||
blurls = gtk-layer-shell
|
blurls = gtk-layer-shell
|
||||||
}
|
}
|
||||||
|
|
||||||
drop_shadow = yes
|
|
||||||
shadow_range = 4
|
|
||||||
shadow_render_power = 3
|
|
||||||
col.shadow = rgba(1a1a1aee)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
## Animations
|
# Animations
|
||||||
animations {
|
animations {
|
||||||
enabled = yes
|
enabled = yes
|
||||||
|
|
||||||
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
|
||||||
|
|
||||||
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||||
|
|
||||||
animation = windows, 1, 7, myBezier
|
animation = windows, 1, 7, myBezier
|
||||||
@@ -83,29 +70,14 @@ animations {
|
|||||||
animation = workspaces, 1, 6, default
|
animation = workspaces, 1, 6, default
|
||||||
}
|
}
|
||||||
|
|
||||||
## Dwindle
|
# Dwindle
|
||||||
dwindle {
|
dwindle {
|
||||||
pseudotile = yes
|
pseudotile = yes
|
||||||
preserve_split = yes # you probably want thisr
|
preserve_split = yes
|
||||||
}
|
}
|
||||||
|
|
||||||
## Master
|
# Misc
|
||||||
master {
|
|
||||||
new_is_master = true
|
|
||||||
}
|
|
||||||
|
|
||||||
## Gestures
|
|
||||||
gestures {
|
|
||||||
workspace_swipe = on
|
|
||||||
}
|
|
||||||
|
|
||||||
## Misc
|
|
||||||
misc {
|
misc {
|
||||||
#mouse_move_enables_dpms = true
|
#mouse_move_enables_dpms = true
|
||||||
key_press_enables_dpms = true
|
key_press_enables_dpms = true
|
||||||
}
|
}
|
||||||
|
|
||||||
## Devices
|
|
||||||
device:roccat-roccat-kone-emp-mouse {
|
|
||||||
sensitivity = 0.5
|
|
||||||
}
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
## Keybindings
|
# Keybindings
|
||||||
$mainMod = SUPER
|
$mainMod = SUPER
|
||||||
|
|
||||||
# General
|
# General
|
||||||
@@ -7,16 +7,14 @@ bind = $mainMod, DELETE, exit,
|
|||||||
bind = $mainMod, C, killactive,
|
bind = $mainMod, C, killactive,
|
||||||
bind = $mainMod, M, fullscreen,
|
bind = $mainMod, M, fullscreen,
|
||||||
bind = $mainMod, S, togglesplit,
|
bind = $mainMod, S, togglesplit,
|
||||||
bind = $mainMod, F4, exec, wlogout
|
|
||||||
bind = $mainMod, F, togglefloating,
|
bind = $mainMod, F, togglefloating,
|
||||||
bind = $mainMod, N, exec, swaync-client -t -sw
|
bind = $mainMod, O, global, caelestia:lock
|
||||||
bind = $mainMod SHIFT, P, exec, hyprpicker -n -a -r
|
bind = $mainMod, G, global, caelestia:dashboard
|
||||||
bind = $mainMod, O, exec, ~/.config/hypr/scripts/lock.sh
|
bind = $mainMod, F4, exec, ags -t powermenu
|
||||||
bind = $mainMod, B, exec, ~/.config/hypr/scripts/game_mode.sh
|
bind = $mainMod, SPACE, global, caelestia:launcher
|
||||||
bind = $mainMod, V, exec, pkill rofi || ~/.config/hypr/scripts/clipboard.sh c
|
bind = $mainMod, TAB, exec, ags -t overview
|
||||||
bind = $mainMod, TAB, exec, pkill rofi || ~/.config/hypr/scripts/app_launcher.sh w
|
bind = $mainMod, V, exec, caelestia clipboard
|
||||||
bind = $mainMod, COMMA, exec, pkill rofi || ~/.config/hypr/scripts/app_launcher.sh e
|
bind = $mainMod, COMMA, exec, caelestia emoji -p
|
||||||
bindr = $mainMod, SUPER_L, exec, pkill rofi || ~/.config/hypr/scripts/app_launcher.sh d
|
|
||||||
bind = $mainMod SHIFT, S, exec, grimblast --freeze copy area
|
bind = $mainMod SHIFT, S, exec, grimblast --freeze copy area
|
||||||
bind = $mainMod CTRL, S, exec, grimblast --freeze copysave area ~/Pictures/Screenshots/"$(date --rfc-3339=seconds)".png
|
bind = $mainMod CTRL, S, exec, grimblast --freeze copysave area ~/Pictures/Screenshots/"$(date --rfc-3339=seconds)".png
|
||||||
|
|
||||||
@@ -25,18 +23,19 @@ bind = , XF86AudioNext, exec, playerctl next
|
|||||||
bind = , XF86AudioPrev, exec, playerctl previous
|
bind = , XF86AudioPrev, exec, playerctl previous
|
||||||
bind = , XF86AudioPlay, exec, playerctl play
|
bind = , XF86AudioPlay, exec, playerctl play
|
||||||
bind = , XF86AudioPause, exec, playerctl pause
|
bind = , XF86AudioPause, exec, playerctl pause
|
||||||
bind = , XF86AudioMute, exec, ~/.config/eww/scripts/audio.sh mutesink @DEFAULT_SINK@
|
bind = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||||
bind = , XF86AudioMicMute, exec, ~/.config/eww/scripts/audio.sh mutesource @DEFAULT_SOURCE@
|
bind = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle
|
||||||
binde = , XF86AudioRaiseVolume, exec, ~/.config/eww/scripts/audio.sh vol up
|
binde = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_SINK@ 5%+
|
||||||
binde = , XF86AudioLowerVolume, exec, ~/.config/eww/scripts/audio.sh vol down
|
binde = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_SINK@ 5%-
|
||||||
binde = , XF86MonBrightnessDown, exec, brightnessctl set 5%-
|
binde = , XF86MonBrightnessDown, exec, brightnessctl set 5%-
|
||||||
binde = , XF86MonBrightnessUp, exec, brightnessctl set 5%+
|
binde = , XF86MonBrightnessUp, exec, brightnessctl set 5%+
|
||||||
|
#bind = , XF86PowerOff, exec, systemctl shutdown
|
||||||
|
|
||||||
# Applications
|
# Applications
|
||||||
bind = $mainMod, T, exec, kitty
|
bind = $mainMod, T, exec, alacritty
|
||||||
bind = $mainMod, E, exec, thunar || dolphin
|
bind = $mainMod, E, exec, nemo
|
||||||
bind = $mainMod, G, exec, ~/.config/hypr/scripts/app_launcher.sh c
|
bind = $mainMod, G, exec, ags -t calc
|
||||||
bind = CTRL SHIFT, ESCAPE, exec, gnome-system-monitor
|
bind = CTRL SHIFT, ESCAPE, exec, alacritty -e btop
|
||||||
|
|
||||||
# Move focus
|
# Move focus
|
||||||
bind = $mainMod, left, movefocus, l
|
bind = $mainMod, left, movefocus, l
|
||||||
@@ -48,6 +47,10 @@ bind = $mainMod, K, movefocus, u
|
|||||||
bind = $mainMod, down, movefocus, d
|
bind = $mainMod, down, movefocus, d
|
||||||
bind = $mainMod, J, movefocus, d
|
bind = $mainMod, J, movefocus, d
|
||||||
|
|
||||||
|
# Scrachtpad
|
||||||
|
bind = $mainMod CTRL, 2, togglespecialworkspace,
|
||||||
|
bind = $mainMod CTRL, 1, movetoworkspace, special
|
||||||
|
|
||||||
# Move window
|
# Move window
|
||||||
bind = $mainMod SHIFT, left, movewindow, l
|
bind = $mainMod SHIFT, left, movewindow, l
|
||||||
bind = $mainMod SHIFT, H, movewindow, l
|
bind = $mainMod SHIFT, H, movewindow, l
|
||||||
@@ -60,14 +63,14 @@ bind = $mainMod SHIFT, J, movewindow, d
|
|||||||
bindm = $mainMod, mouse:272, movewindow
|
bindm = $mainMod, mouse:272, movewindow
|
||||||
|
|
||||||
# Resize windows
|
# Resize windows
|
||||||
binde = $mainMod CTRL, left, resizeactive, -10 0
|
binde = $mainMod CTRL, left, resizeactive, -20 0
|
||||||
binde = $mainMod CTRL, h, resizeactive, -10 0
|
binde = $mainMod CTRL, h, resizeactive, -20 0
|
||||||
binde = $mainMod CTRL, right, resizeactive, 10 0
|
binde = $mainMod CTRL, right, resizeactive, 20 0
|
||||||
binde = $mainMod CTRL, l, resizeactive, 10 0
|
binde = $mainMod CTRL, l, resizeactive, 20 0
|
||||||
binde = $mainMod CTRL, up, resizeactive, 0 -10
|
binde = $mainMod CTRL, up, resizeactive, 0 -20
|
||||||
binde = $mainMod CTRL, k, resizeactive, 0 -10
|
binde = $mainMod CTRL, k, resizeactive, 0 -20
|
||||||
binde = $mainMod CTRL, down, resizeactive, 0 10
|
binde = $mainMod CTRL, down, resizeactive, 0 20
|
||||||
binde = $mainMod CTRL, j, resizeactive, 0 10
|
binde = $mainMod CTRL, j, resizeactive, 0 20
|
||||||
bindm = $mainMod, mouse:273, resizewindow
|
bindm = $mainMod, mouse:273, resizewindow
|
||||||
|
|
||||||
# Move active window to a workspace
|
# Move active window to a workspace
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
## Nvidia env
|
# Nvidia env
|
||||||
env = GBM_BACKEND,nvidia-drm
|
env = GBM_BACKEND,nvidia-drm
|
||||||
env = LIBVA_DRIVER_NAME,nvidia
|
env = LIBVA_DRIVER_NAME,nvidia
|
||||||
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||||
34
roles/hypr/tasks/main.yml
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
- name: "[Hyprland] Install"
|
||||||
|
kewlfft.aur.aur:
|
||||||
|
name:
|
||||||
|
- hyprland
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: "[Hyprland] Create config folder"
|
||||||
|
ansible.builtin.file:
|
||||||
|
mode: 0755
|
||||||
|
path: "{{ ansible_user_dir }}/.config/hypr"
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: "[Hyprland] Create screenshot folder"
|
||||||
|
ansible.builtin.file:
|
||||||
|
mode: 0755
|
||||||
|
path: "{{ ansible_user_dir }}/Pictures/Screenshots"
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: "[Hyprland] Configure"
|
||||||
|
ansible.builtin.copy:
|
||||||
|
mode: 0755
|
||||||
|
src: "./"
|
||||||
|
dest: "{{ ansible_user_dir }}/.config/hypr"
|
||||||
|
|
||||||
|
- name: "[Hyprland] Configure startup"
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: startup.conf
|
||||||
|
dest: "{{ ansible_user_dir }}/.config/hypr"
|
||||||
|
|
||||||
|
- name: "[Hyprland] Configure windowrules"
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: windowrule.conf
|
||||||
|
dest: "{{ ansible_user_dir }}/.config/hypr"
|
||||||
19
roles/hypr/templates/startup.conf
Executable file
@@ -0,0 +1,19 @@
|
|||||||
|
# Shell
|
||||||
|
exec-once = caelestia shell -d
|
||||||
|
|
||||||
|
# Programms
|
||||||
|
{% if system == "desktop_full" %}
|
||||||
|
exec-once = legcord
|
||||||
|
exec-once = feishin
|
||||||
|
exec-once = nextcloud
|
||||||
|
{% endif %}
|
||||||
|
exec-once = nm-applet
|
||||||
|
exec-once = blueman-applet
|
||||||
|
exec-once = playerctld daemon
|
||||||
|
|
||||||
|
# Clipboard
|
||||||
|
exec-once = wl-paste --type text --watch cliphist store #Stores only text data
|
||||||
|
exec-once = wl-paste --type image --watch cliphist store #Stores only image data
|
||||||
|
|
||||||
|
# Misc
|
||||||
|
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
## Monitors
|
# Monitors
|
||||||
|
{% if system == "desktop_full" %}
|
||||||
$monitorOne = HDMI-A-1
|
$monitorOne = HDMI-A-1
|
||||||
$monitorTwo = DP-2
|
$monitorTwo = DP-2
|
||||||
$monitorThree = HDMI-A-2
|
$monitorThree = HDMI-A-2
|
||||||
@@ -6,23 +7,21 @@ $monitorThree = HDMI-A-2
|
|||||||
monitor = $monitorOne,1920x1080@144.001007,0x0,1
|
monitor = $monitorOne,1920x1080@144.001007,0x0,1
|
||||||
monitor = $monitorTwo,2560x1440@143.912003,1920x0,1
|
monitor = $monitorTwo,2560x1440@143.912003,1920x0,1
|
||||||
monitor = $monitorThree,1920x1080@60.000000,4480x0,1
|
monitor = $monitorThree,1920x1080@60.000000,4480x0,1
|
||||||
|
{% endif %}
|
||||||
monitor = ,preferred,auto,1
|
monitor = ,preferred,auto,1
|
||||||
|
|
||||||
|
|
||||||
## Window Rules - (hyprctl -j clients | grep class)
|
# Window Rules - (hyprctl -j clients | grep class)
|
||||||
windowrule = workspace 2,^(YouTube Music)$
|
windowrule = workspace 2, class:feishin
|
||||||
windowrule = workspace 4,^(explorer.exe)$
|
windowrule = workspace 5, class:discord
|
||||||
windowrule = workspace 4, ^(league of legends.exe)$
|
windowrule = workspace 5, class:legcord
|
||||||
windowrule = workspace 4,^(lutris)$
|
|
||||||
windowrule = workspace 5,^(discord)$
|
|
||||||
windowrule = workspace 5,^(de.keule.client.ui.JavaFX)$
|
|
||||||
|
|
||||||
windowrule = float,^(lutris)$
|
# windowrule = float,class:lutris
|
||||||
windowrule = size 965 545, ^(lutris)$
|
# windowrule = size 965 545, class:lutris
|
||||||
windowrule = float,title:^.*culator.*$
|
# windowrule = float,title:^.*culator.*$
|
||||||
|
|
||||||
|
# Workspace
|
||||||
## Workspace
|
{% if system == "desktop_full" %}
|
||||||
workspace = 1, monitor:$monitorOne, default:true
|
workspace = 1, monitor:$monitorOne, default:true
|
||||||
workspace = 2, monitor:$monitorOne
|
workspace = 2, monitor:$monitorOne
|
||||||
|
|
||||||
@@ -31,3 +30,4 @@ workspace = 4, monitor:$monitorTwo
|
|||||||
|
|
||||||
workspace = 5, monitor:$monitorThree, default:true
|
workspace = 5, monitor:$monitorThree, default:true
|
||||||
workspace = 6, monitor:$monitorThree
|
workspace = 6, monitor:$monitorThree
|
||||||
|
{% endif %}
|
||||||
@@ -0,0 +1,464 @@
|
|||||||
|
[%General]
|
||||||
|
author=elkrien based on Arc Dark style
|
||||||
|
comment=Catppuccin-Frappe-Rosewater
|
||||||
|
spread_menuitems=true
|
||||||
|
left_tabs=true
|
||||||
|
mirror_doc_tabs=true
|
||||||
|
scroll_width=8
|
||||||
|
attach_active_tab=true
|
||||||
|
composite=true
|
||||||
|
menu_shadow_depth=7
|
||||||
|
tooltip_shadow_depth=0
|
||||||
|
splitter_width=7
|
||||||
|
check_size=16
|
||||||
|
slider_width=4
|
||||||
|
slider_handle_width=18
|
||||||
|
slider_handle_length=18
|
||||||
|
textless_progressbar=false
|
||||||
|
menubar_mouse_tracking=true
|
||||||
|
slim_toolbars=false
|
||||||
|
toolbutton_style=1
|
||||||
|
x11drag=menubar_and_primary_toolbar
|
||||||
|
double_click=false
|
||||||
|
translucent_windows=false
|
||||||
|
blurring=false
|
||||||
|
popup_blurring=true
|
||||||
|
opaque=kaffeine,kmplayer,subtitlecomposer,kdenlive,vlc,smplayer,smplayer2,avidemux,avidemux2_qt4,avidemux3_qt4,avidemux3_qt5,kamoso,QtCreator,VirtualBox,trojita,dragon,digikam,qmplay2
|
||||||
|
group_toolbar_buttons=false
|
||||||
|
vertical_spin_indicators=false
|
||||||
|
fill_rubberband=false
|
||||||
|
spread_progressbar=true
|
||||||
|
merge_menubar_with_toolbar=true
|
||||||
|
small_icon_size=16
|
||||||
|
large_icon_size=32
|
||||||
|
button_icon_size=16
|
||||||
|
scroll_arrows=false
|
||||||
|
iconless_pushbutton=true
|
||||||
|
toolbar_icon_size=16
|
||||||
|
combo_as_lineedit=true
|
||||||
|
button_contents_shift=false
|
||||||
|
groupbox_top_label=true
|
||||||
|
inline_spin_indicators=true
|
||||||
|
joined_inactive_tabs=false
|
||||||
|
layout_spacing=2
|
||||||
|
submenu_overlap=0
|
||||||
|
tooltip_delay=-1
|
||||||
|
animate_states=false
|
||||||
|
transient_scrollbar=true
|
||||||
|
alt_mnemonic=true
|
||||||
|
combo_menu=true
|
||||||
|
layout_margin=4
|
||||||
|
no_window_pattern=false
|
||||||
|
respect_DE=true
|
||||||
|
scroll_min_extent=36
|
||||||
|
scrollable_menu=false
|
||||||
|
scrollbar_in_view=false
|
||||||
|
spin_button_width=16
|
||||||
|
submenu_delay=250
|
||||||
|
tree_branch_line=true
|
||||||
|
progressbar_thickness=8
|
||||||
|
click_behavior=0
|
||||||
|
contrast=1.00
|
||||||
|
dialog_button_layout=0
|
||||||
|
drag_from_buttons=false
|
||||||
|
hide_combo_checkboxes=false
|
||||||
|
intensity=1.00
|
||||||
|
no_inactiveness=false
|
||||||
|
reduce_menu_opacity=0
|
||||||
|
reduce_window_opacity=10
|
||||||
|
saturation=1.00
|
||||||
|
shadowless_popup=false
|
||||||
|
transient_groove=false
|
||||||
|
|
||||||
|
[GeneralColors]
|
||||||
|
window.color=#303446
|
||||||
|
base.color=#292C3C
|
||||||
|
alt.base.color=#292C3C
|
||||||
|
button.color=#414559
|
||||||
|
light.color=#51576D
|
||||||
|
mid.light.color=#51576D
|
||||||
|
dark.color=#292C3C
|
||||||
|
mid.color=#292C3C
|
||||||
|
highlight.color=#F2D5CF
|
||||||
|
inactive.highlight.color=#F2D5CF
|
||||||
|
text.color=#C6D0F5
|
||||||
|
window.text.color=#C6D0F5
|
||||||
|
button.text.color=#C6D0F5
|
||||||
|
disabled.text.color=#626880
|
||||||
|
tooltip.text.color=#C6D0F5
|
||||||
|
highlight.text.color=#292C3C
|
||||||
|
link.color=#F2D5CF
|
||||||
|
link.visited.color=#8CAAEE
|
||||||
|
|
||||||
|
[ItemView]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame.element=itemview
|
||||||
|
interior.element=itemview
|
||||||
|
frame=true
|
||||||
|
interior=true
|
||||||
|
text.iconspacing=3
|
||||||
|
text.toggle.color=#292C3C
|
||||||
|
|
||||||
|
[RadioButton]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame=false
|
||||||
|
interior.element=radio
|
||||||
|
|
||||||
|
[CheckBox]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame=false
|
||||||
|
interior.element=checkbox
|
||||||
|
|
||||||
|
[TreeExpander]
|
||||||
|
indicator.element=tree
|
||||||
|
indicator.size=8
|
||||||
|
|
||||||
|
[ToolTip]
|
||||||
|
frame.top=4
|
||||||
|
frame.right=4
|
||||||
|
frame.bottom=4
|
||||||
|
frame.left=4
|
||||||
|
frame=true
|
||||||
|
|
||||||
|
[PanelButtonCommand]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
interior.element=button
|
||||||
|
frame.element=button
|
||||||
|
text.normal.color=#C6D0F5
|
||||||
|
text.focus.color=#C6D0F5
|
||||||
|
text.press.color=#292C3C
|
||||||
|
text.toggle.color=#292C3C
|
||||||
|
|
||||||
|
[PanelButtonTool]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
|
||||||
|
[DockTitle]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
interior=false
|
||||||
|
frame=false
|
||||||
|
text.margin.top=5
|
||||||
|
text.margin.bottom=5
|
||||||
|
text.margin.left=5
|
||||||
|
text.margin.right=5
|
||||||
|
indicator.size=0
|
||||||
|
|
||||||
|
[Dock]
|
||||||
|
interior.element=toolbar
|
||||||
|
frame.element=toolbar
|
||||||
|
frame=true
|
||||||
|
interior=true
|
||||||
|
|
||||||
|
[GroupBox]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
interior.element=tabframe
|
||||||
|
interior=true
|
||||||
|
frame=false
|
||||||
|
|
||||||
|
[Focus]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame=true
|
||||||
|
frame.element=focus
|
||||||
|
frame.top=1
|
||||||
|
frame.bottom=1
|
||||||
|
frame.left=1
|
||||||
|
frame.right=1
|
||||||
|
frame.patternsize=20
|
||||||
|
|
||||||
|
[GenericFrame]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame.element=common
|
||||||
|
frame.top=1
|
||||||
|
frame.bottom=1
|
||||||
|
frame.left=1
|
||||||
|
frame.right=1
|
||||||
|
|
||||||
|
[Slider]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
interior=true
|
||||||
|
frame.element=slider
|
||||||
|
interior.element=slider
|
||||||
|
frame.top=3
|
||||||
|
frame.bottom=3
|
||||||
|
frame.left=3
|
||||||
|
frame.right=3
|
||||||
|
focusFrame=true
|
||||||
|
|
||||||
|
[SliderCursor]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
interior=true
|
||||||
|
interior.element=slidercursor
|
||||||
|
frame=false
|
||||||
|
|
||||||
|
[LineEdit]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame.element=lineedit
|
||||||
|
interior.element=lineedit
|
||||||
|
|
||||||
|
[IndicatorSpinBox]
|
||||||
|
inherits=LineEdit
|
||||||
|
frame.element=lineedit
|
||||||
|
interior.element=lineedit
|
||||||
|
frame.top=0
|
||||||
|
frame.bottom=2
|
||||||
|
frame.left=2
|
||||||
|
frame.right=2
|
||||||
|
indicator.size=8
|
||||||
|
|
||||||
|
[DropDownButton]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame.top=2
|
||||||
|
frame.bottom=2
|
||||||
|
frame.left=0
|
||||||
|
frame.right=1
|
||||||
|
indicator.size=8
|
||||||
|
|
||||||
|
[ToolboxTab]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame.element=tabframe
|
||||||
|
frame.top=1
|
||||||
|
frame.bottom=1
|
||||||
|
frame.left=1
|
||||||
|
frame.right=1
|
||||||
|
|
||||||
|
[Tab]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
interior.element=tab
|
||||||
|
frame.element=tab
|
||||||
|
frame.top=2
|
||||||
|
frame.bottom=3
|
||||||
|
frame.left=3
|
||||||
|
frame.right=3
|
||||||
|
indicator.size=10
|
||||||
|
text.normal.color=#626880
|
||||||
|
text.focus.color=#C6D0F5
|
||||||
|
text.press.color=#C6D0F5
|
||||||
|
text.toggle.color=#C6D0F5
|
||||||
|
focusFrame=true
|
||||||
|
|
||||||
|
[TabBarFrame]
|
||||||
|
inherits=GenericFrame
|
||||||
|
frame=true
|
||||||
|
frame.element=tabBarFrame
|
||||||
|
interior=false
|
||||||
|
frame.top=4
|
||||||
|
frame.bottom=4
|
||||||
|
frame.left=4
|
||||||
|
frame.right=4
|
||||||
|
|
||||||
|
[TabFrame]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame.element=tabframe
|
||||||
|
interior.element=tabframe
|
||||||
|
|
||||||
|
[Dialog]
|
||||||
|
inherits=TabBarFrame
|
||||||
|
frame.element=tabframe
|
||||||
|
interior=false
|
||||||
|
frame=false
|
||||||
|
frame.top=1
|
||||||
|
frame.bottom=1
|
||||||
|
frame.left=1
|
||||||
|
frame.right=1
|
||||||
|
|
||||||
|
[HeaderSection]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
interior.element=header
|
||||||
|
frame.element=header
|
||||||
|
frame.top=0
|
||||||
|
frame.bottom=1
|
||||||
|
frame.left=1
|
||||||
|
frame.right=1
|
||||||
|
frame.expansion=0
|
||||||
|
text.normal.color=#C6D0F5
|
||||||
|
text.focus.color=#F2D5CF
|
||||||
|
text.press.color=#C6D0F5
|
||||||
|
text.toggle.color=#C6D0F5
|
||||||
|
indicator.element=harrow
|
||||||
|
|
||||||
|
[SizeGrip]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame=false
|
||||||
|
interior=false
|
||||||
|
indicator.element=resize-grip
|
||||||
|
indicator.size=0
|
||||||
|
|
||||||
|
[Toolbar]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
interior.element=menubar
|
||||||
|
frame.element=menubar
|
||||||
|
frame=true
|
||||||
|
frame.bottom=4
|
||||||
|
frame.left=4
|
||||||
|
frame.right=4
|
||||||
|
text.normal.color=#C6D0F5
|
||||||
|
text.focus.color=#C6D0F5
|
||||||
|
text.press.color=#F2D5CF
|
||||||
|
text.toggle.color=#F2D5CF
|
||||||
|
text.bold=false
|
||||||
|
|
||||||
|
[MenuBar]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame.element=menubar
|
||||||
|
interior.element=menubar
|
||||||
|
frame.bottom=0
|
||||||
|
text.normal.color=#C6D0F5
|
||||||
|
frame.expansion=0
|
||||||
|
text.bold=false
|
||||||
|
|
||||||
|
[ToolbarButton]
|
||||||
|
frame.element=tbutton
|
||||||
|
interior.element=tbutton
|
||||||
|
indicator.element=arrow
|
||||||
|
text.normal.color=#C6D0F5
|
||||||
|
text.focus.color=#C6D0F5
|
||||||
|
text.press.color=#292C3C
|
||||||
|
text.toggle.color=#292C3C
|
||||||
|
text.bold=false
|
||||||
|
|
||||||
|
[Scrollbar]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
indicator.size=0
|
||||||
|
interior=false
|
||||||
|
frame=false
|
||||||
|
|
||||||
|
[ScrollbarGroove]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
interior=false
|
||||||
|
frame=false
|
||||||
|
|
||||||
|
[ScrollbarSlider]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
interior=false
|
||||||
|
frame.element=scrollbarslider
|
||||||
|
frame.top=4
|
||||||
|
frame.bottom=4
|
||||||
|
frame.left=4
|
||||||
|
frame.right=4
|
||||||
|
|
||||||
|
[ProgressbarContents]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame=true
|
||||||
|
frame.element=progress-pattern
|
||||||
|
interior.element=progress-pattern
|
||||||
|
frame.top=2
|
||||||
|
frame.bottom=2
|
||||||
|
frame.left=2
|
||||||
|
frame.right=2
|
||||||
|
|
||||||
|
[Progressbar]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame.element=progress
|
||||||
|
interior.element=progress
|
||||||
|
frame.top=2
|
||||||
|
frame.bottom=2
|
||||||
|
frame.left=2
|
||||||
|
frame.right=2
|
||||||
|
text.margin=0
|
||||||
|
text.normal.color=#C6D0F5
|
||||||
|
text.focus.color=#C6D0F5
|
||||||
|
text.press.color=#292C3C
|
||||||
|
text.toggle.color=#292C3C
|
||||||
|
text.bold=false
|
||||||
|
frame.expansion=18
|
||||||
|
|
||||||
|
[RadioButton]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
|
||||||
|
[Menu]
|
||||||
|
frame.element=menu
|
||||||
|
interior.element=menu
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
text.press.color=#292C3C
|
||||||
|
text.toggle.color=#292C3C
|
||||||
|
text.bold=false
|
||||||
|
frame.top=3
|
||||||
|
frame.bottom=3
|
||||||
|
frame.left=3
|
||||||
|
frame.right=3
|
||||||
|
|
||||||
|
[MenuItem]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
interior.element=menuitem
|
||||||
|
indicator.size=8
|
||||||
|
text.focus.color=#C6D0F5
|
||||||
|
text.press.color=#C6D0F5
|
||||||
|
|
||||||
|
[MenuBarItem]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
interior.element=menubaritem
|
||||||
|
frame=false
|
||||||
|
text.margin.top=3
|
||||||
|
text.margin.bottom=3
|
||||||
|
text.margin.left=5
|
||||||
|
text.margin.right=5
|
||||||
|
|
||||||
|
[StatusBar]
|
||||||
|
inherits=Toolbar
|
||||||
|
frame.element=toolbar
|
||||||
|
font.bold=true
|
||||||
|
text.normal.color=#C6D0F5
|
||||||
|
frame=true
|
||||||
|
frame.top=0
|
||||||
|
frame.bottom=0
|
||||||
|
|
||||||
|
[TitleBar]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
frame=false
|
||||||
|
interior=false
|
||||||
|
text.margin.top=2
|
||||||
|
text.margin.bottom=2
|
||||||
|
text.margin.left=3
|
||||||
|
text.margin.right=3
|
||||||
|
|
||||||
|
[ComboBox]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
indicator.size=8
|
||||||
|
frame.top=3
|
||||||
|
frame.bottom=3
|
||||||
|
frame.left=3
|
||||||
|
frame.right=3
|
||||||
|
text.margin.top=1
|
||||||
|
text.margin.bottom=1
|
||||||
|
text.margin.left=3
|
||||||
|
text.margin.right=3
|
||||||
|
text.toggle.color=#C6D0F5
|
||||||
|
|
||||||
|
[ToolboxTab]
|
||||||
|
inherits=PanelButtonCommand
|
||||||
|
text.normal.color=#C6D0F5
|
||||||
|
text.press.color=#C6D0F5
|
||||||
|
text.focus.color=#C6D0F5
|
||||||
|
|
||||||
|
[Hacks]
|
||||||
|
transparent_dolphin_view=false
|
||||||
|
blur_konsole=true
|
||||||
|
transparent_ktitle_label=true
|
||||||
|
transparent_menutitle=true
|
||||||
|
respect_darkness=true
|
||||||
|
kcapacitybar_as_progressbar=true
|
||||||
|
force_size_grip=false
|
||||||
|
iconless_pushbutton=true
|
||||||
|
iconless_menu=false
|
||||||
|
disabled_icon_opacity=100
|
||||||
|
lxqtmainmenu_iconsize=0
|
||||||
|
normal_default_pushbutton=true
|
||||||
|
single_top_toolbar=false
|
||||||
|
tint_on_mouseover=0
|
||||||
|
transparent_pcmanfm_sidepane=true
|
||||||
|
transparent_pcmanfm_view=false
|
||||||
|
blur_translucent=true
|
||||||
|
centered_forms=false
|
||||||
|
kinetic_scrolling=false
|
||||||
|
middle_click_scroll=false
|
||||||
|
no_selection_tint=false
|
||||||
|
noninteger_translucency=false
|
||||||
|
style_vertical_toolbars=false
|
||||||
|
blur_only_active_window=false
|
||||||
|
|
||||||
|
[Window]
|
||||||
|
interior=true
|
||||||
|
interior.element=window
|
||||||
|
frame.top=0
|
||||||
|
frame.bottom=0
|
||||||
|
frame.left=0
|
||||||
|
frame.right=0
|
||||||
|
After Width: | Height: | Size: 146 KiB |
21
roles/kvantum/files/Catppuccin-Frappe-Rosewater/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2021 Catppuccin
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
2
roles/kvantum/files/kvantum.kvconfig
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
[General]
|
||||||
|
theme=Catppuccin-Macchiato-Rosewater
|
||||||
17
roles/kvantum/tasks/main.yml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
- name: "[Kvantum] Install"
|
||||||
|
kewlfft.aur.aur:
|
||||||
|
name:
|
||||||
|
- kvantum-qt5-git
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: "[Kvantum] Create config folder"
|
||||||
|
ansible.builtin.file:
|
||||||
|
mode: "0755"
|
||||||
|
path: "{{ ansible_user_dir }}/.config/Kvantum"
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: "[Kvantum] Configure"
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: "./"
|
||||||
|
dest: "{{ ansible_user_dir }}/.config/Kvantum"
|
||||||
23
roles/minegrub/files/minegrub/LICENSE
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2022 Lxtharia
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
|
||||||
|
https://github.com/Lxtharia/minegrub-theme
|
||||||