Migrated to ansible
@@ -1,48 +0,0 @@
|
||||
const systemtray = await Service.import('systemtray')
|
||||
|
||||
/** @param {import('types/service/systemtray').TrayItem} item */
|
||||
const SysTrayItem = item => Widget.Button({
|
||||
child: Widget.Icon().bind('icon', item, 'icon'),
|
||||
tooltipMarkup: item.bind('tooltip_markup'),
|
||||
onPrimaryClick: (_, event) => item.activate(event),
|
||||
onSecondaryClick: (_, event) => item.openMenu(event),
|
||||
});
|
||||
|
||||
function SysTray() {
|
||||
return Widget.Box({ children: systemtray.bind('items').transform(i => i.map(SysTrayItem)) });
|
||||
}
|
||||
|
||||
function Bar(monitor = 0) {
|
||||
const lTime = Widget.Label({
|
||||
label: 'TIME',
|
||||
});
|
||||
|
||||
Utils.interval(1000, () => {
|
||||
lTime.label = Utils.exec('date +%H:%M');
|
||||
//date +%d.%m.%Y
|
||||
});
|
||||
|
||||
const bTimeDate = Widget.Box({
|
||||
children: [lTime]
|
||||
});
|
||||
|
||||
const bInfo = Widget.Box({
|
||||
hpack: "end",
|
||||
children: [SysTray()]
|
||||
});
|
||||
|
||||
return Widget.Window({
|
||||
monitor,
|
||||
exclusivity: 'exclusive',
|
||||
name: `bar ${monitor}`,
|
||||
anchor: ['top', 'left', 'right'],
|
||||
child: Widget.CenterBox({
|
||||
centerWidget: bTimeDate,
|
||||
endWidget: bInfo,
|
||||
}),
|
||||
});
|
||||
}
|
||||
|
||||
export default {
|
||||
windows: [Bar(1), Bar(2)]
|
||||
};
|
||||
@@ -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,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,19 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
bat=$(upower -e | grep BAT)
|
||||
|
||||
if [ -z $bat ]; then
|
||||
echo "No battery available!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
while true; do
|
||||
per=$(upower -i $bat | grep percentage | awk '{print $2}')
|
||||
per="${per%\%}"
|
||||
|
||||
if "$per" -lt 15 #&& ! is_charging
|
||||
eww open battery_warning
|
||||
fi
|
||||
|
||||
sleep 120
|
||||
done
|
||||
@@ -1,3 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
eww close bar1 || eww open bar1 & disown
|
||||
@@ -1 +0,0 @@
|
||||
/home/keule/Data/Pictures/Backgrounds/Desktop/144565.jpg
|
||||
@@ -1,14 +0,0 @@
|
||||
[$Version]
|
||||
update_info=filepicker.upd:filepicker-remove-old-previews-entry
|
||||
|
||||
[General]
|
||||
TerminalApplication=alacritty
|
||||
|
||||
[KDE]
|
||||
ShowDeleteCommand=true
|
||||
|
||||
[KShortcutsDialog Settings]
|
||||
Dialog Size=600,480
|
||||
|
||||
[PreviewSettings]
|
||||
MaximumRemoteSize=0
|
||||
@@ -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,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;
|
||||
}
|
||||
|
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"));
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
# Bookmarks
|
||||
[[manager.prepend_keymap]]
|
||||
on = [ "b", "g" ]
|
||||
run = "cd ~/git/"
|
||||
desc = "GIT"
|
||||
|
||||
[[manager.prepend_keymap]]
|
||||
on = [ "b", "d" ]
|
||||
run = "cd ~/Data/"
|
||||
desc = "DATA"
|
||||
4
.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
roles/z
|
||||
roles/test
|
||||
error.log
|
||||
callback_plugins/__pycache__
|
||||
42
README.md
@@ -1,6 +1,40 @@
|
||||
# My Dotfiles
|
||||
- Simple install script
|
||||
- Arch
|
||||
# Installation
|
||||
Clone the repo and execute the `install.sh` script.<br/>
|
||||
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.
|
||||
1. Create/Edit: `$HOME/.config/dotfiles/values.yml`
|
||||
2. Edit: `$HOME/.dotfiles/group_vars/all`
|
||||
|
||||
## Install Option
|
||||
The variable `system` has three valid options.
|
||||
1. server: Minimal installation, only install and configure CMD tools
|
||||
2. desktop (default): Install WM and desktop applications
|
||||
3. desktop_full: Install additional packages for the desktop (wine)
|
||||
|
||||
# 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,32 +0,0 @@
|
||||
libreoffice-fresh
|
||||
nextcloud-client
|
||||
youtube-music
|
||||
waypaper-git
|
||||
pavucontrol
|
||||
hyprpicker
|
||||
brave-bin
|
||||
vscodium
|
||||
obsidian
|
||||
discord
|
||||
yt-dlp
|
||||
mpv
|
||||
|
||||
#Device configuration
|
||||
#openrazer-daemon
|
||||
#openrgb
|
||||
#piper
|
||||
|
||||
#AMD Stats
|
||||
#amdgpu_top
|
||||
|
||||
#Explorer
|
||||
#qt5-imageformats
|
||||
#thunar
|
||||
#dolphin
|
||||
#ark
|
||||
|
||||
#Character map
|
||||
#gucharmap
|
||||
|
||||
#Calculator
|
||||
#galculator
|
||||
1466
callback_plugins/beautiful_output.py
Normal file
80
default.pkgs
@@ -1,80 +0,0 @@
|
||||
# Core
|
||||
hyprland
|
||||
sddm
|
||||
hyprshade
|
||||
swaync
|
||||
rofi-lbonn-wayland
|
||||
rofi-calc
|
||||
rofimoji
|
||||
aylurs-gtk-shell
|
||||
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
|
||||
eza
|
||||
bat
|
||||
|
||||
# Terminal
|
||||
# ueberzugpp #Image preview
|
||||
alacritty
|
||||
fish
|
||||
fish-done
|
||||
imagemagick
|
||||
fastfetch
|
||||
starship
|
||||
neovim
|
||||
nvtop
|
||||
btop
|
||||
yazi
|
||||
@@ -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
|
||||
19
group_vars/all
Normal file
@@ -0,0 +1,19 @@
|
||||
default_roles:
|
||||
- bash
|
||||
- btop
|
||||
- fish
|
||||
- nvim
|
||||
- starship
|
||||
- yazi
|
||||
|
||||
desktop_roles:
|
||||
- ags
|
||||
- alacritty
|
||||
- discord
|
||||
- hypr
|
||||
- kvantum
|
||||
- minegrub
|
||||
- sddm
|
||||
- swaylock
|
||||
|
||||
system: desktop
|
||||
263
install.sh
@@ -1,55 +1,89 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Helpers
|
||||
get_aur_helper() {
|
||||
if is_installed paru; then
|
||||
echo "paru"
|
||||
elif is_installed yay; then
|
||||
echo "yay"
|
||||
fi
|
||||
# Vars
|
||||
DOTFILES_DIR="$HOME/.dotfiles"
|
||||
CONFIG_DIR="$HOME/.config/dotfiles"
|
||||
REPO="https://gitea.keuledrive.de/Keule2/Dotfiles.git"
|
||||
DIST=$(source /etc/os-release && echo $ID)
|
||||
|
||||
# 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() {
|
||||
if pacman -Qi $1 &> /dev/null; then
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
cmd() {
|
||||
local DOTFILES_LOG="./error.log"
|
||||
|
||||
if ! [[ -f $DOTFILES_LOG ]]; then
|
||||
touch $DOTFILES_LOG
|
||||
fi
|
||||
|
||||
if eval "$1" 1> /dev/null 2> $DOTFILES_LOG; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo -e "${RED}"
|
||||
cat $DOTFILES_LOG
|
||||
echo -e "${COLOR_RESET}"
|
||||
exit 1
|
||||
}
|
||||
|
||||
is_pkg() {
|
||||
if "$1" -Si "$2" &>/dev/null; then
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
arch_install() {
|
||||
# Install Ansible
|
||||
if ! [ -x "$(command -v ansible)" ]; then
|
||||
print_header "Installing ansible"
|
||||
cmd "pacman -S ansible --noconfirm"
|
||||
fi
|
||||
# Install Git
|
||||
if ! [ -x "$(command -v git)" ]; then
|
||||
print_header "Installing git"
|
||||
cmd "sudo pacman -S git --noconfirm"
|
||||
fi
|
||||
# Install PIP
|
||||
if ! [ -x "$(command -v pip)" ]; then
|
||||
print_header "Installing pip"
|
||||
cmd "sudo pacman -S python-pip --noconfirm"
|
||||
fi
|
||||
# Install Watchdog
|
||||
if [ -x "$(pip list | grep watchdog)" ]; then
|
||||
print_header "Installing watchdog"
|
||||
cmd "pip install --break-system-packages watchdog"
|
||||
fi
|
||||
}
|
||||
|
||||
is_aur_pkg() {
|
||||
helper=$(get_aur_helper)
|
||||
if [ -z $helper ]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
return $(is_pkg $helper $1)
|
||||
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
|
||||
}
|
||||
|
||||
is_arch_pkg() {
|
||||
return $(is_pkg pacman $1)
|
||||
}
|
||||
update_galaxy() {
|
||||
local OS=$1
|
||||
|
||||
install() {
|
||||
if is_installed "$1"; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
if is_arch_pkg "$1"; then
|
||||
sudo pacman -S $1
|
||||
elif is_aur_pkg "$1"; then
|
||||
sudo $(get_aur_helper) -S $1
|
||||
else
|
||||
echo "error: unknown package [$1]"
|
||||
fi
|
||||
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
|
||||
}
|
||||
|
||||
# Banner
|
||||
@@ -62,123 +96,44 @@ ________ __ .___ __ .__ .__
|
||||
\/ \/ \/ \/ \/ \/
|
||||
EOF
|
||||
|
||||
# Vars
|
||||
script_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd)"
|
||||
clone_dir="$HOME/git/"
|
||||
# Setup
|
||||
case $DIST in
|
||||
arch)
|
||||
arch_install
|
||||
;;
|
||||
ubuntu)
|
||||
ubuntu_install
|
||||
;;
|
||||
*)
|
||||
echo "Unsupported OS"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# Change working directory
|
||||
cd $script_dir
|
||||
echo "Working directory: $(pwd)"
|
||||
|
||||
# Dependencies
|
||||
echo ""
|
||||
echo "Installing dependencies..."
|
||||
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
|
||||
|
||||
if [ -d $clone_dir ]; then
|
||||
rm -rf $clone_dir$helper
|
||||
else
|
||||
mkdir $clone_dir
|
||||
fi
|
||||
|
||||
echo "Installing $helper..."
|
||||
cd $clone_dir
|
||||
git clone https://aur.archlinux.org/$helper.git
|
||||
cd $helper
|
||||
makepkg -si
|
||||
cd $script_dir
|
||||
echo "AUR helper installed!"
|
||||
# Clone repository
|
||||
if ! [[ -d "$DOTFILES_DIR" ]]; then
|
||||
print_header "Cloning repo"
|
||||
cmd "git clone $REPO $DOTFILES_DIR"
|
||||
else
|
||||
helper=$(get_aur_helper)
|
||||
print_header "Updating repo"
|
||||
cmd "git -C $DOTFILES_DIR pull"
|
||||
fi
|
||||
|
||||
# Install packages
|
||||
echo ""
|
||||
echo "Installing packages..."
|
||||
# Change Working Dir
|
||||
cd "$DOTFILES_DIR"
|
||||
|
||||
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
|
||||
# Update Galaxy
|
||||
update_galaxy $DIST
|
||||
|
||||
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
|
||||
echo "error: unknown package [$pkg]"
|
||||
fi
|
||||
done < $pkg_file
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "Installing arch packages..."
|
||||
if [ ! -z "$arch_pkgs" ]; then
|
||||
sudo pacman -Sy $arch_pkgs
|
||||
# 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
|
||||
ansible-playbook --diff -v --ask-become-pass --vault-password-file "$CONFIG_DIR/vault-password.txt" "$DOTFILES_DIR/main.yml" "$@"
|
||||
fi
|
||||
elif [[ -f "$CONFIG_DIR/values.yml" ]]; then
|
||||
ansible-playbook --diff -v --ask-become-pass --extra-vars "@$CONFIG_DIR/values.yml" "$DOTFILES_DIR/main.yml" "$@"
|
||||
else
|
||||
ansible-playbook --diff -v --ask-become-pass "$DOTFILES_DIR/main.yml" "$@"
|
||||
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/
|
||||
sudo sed -i '/^\(#\)\?GRUB_THEME/ s~.*~GRUB_THEME=/boot/grub/themes/minegrub/theme.txt~' /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!"
|
||||
|
||||
40
main.yml
Normal file
@@ -0,0 +1,40 @@
|
||||
---
|
||||
- name: Dotfiles
|
||||
hosts: localhost
|
||||
connection: local
|
||||
tasks:
|
||||
- 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,5 +0,0 @@
|
||||
# Programming languages
|
||||
jdk-openjdk
|
||||
maven
|
||||
rustup
|
||||
npm
|
||||
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
|
||||
48
roles/ags/files/config.js
Normal file
@@ -0,0 +1,48 @@
|
||||
const systemtray = await Service.import('systemtray')
|
||||
|
||||
/** @param {import('types/service/systemtray').TrayItem} item */
|
||||
const SysTrayItem = item => Widget.Button({
|
||||
child: Widget.Icon().bind('icon', item, 'icon'),
|
||||
tooltipMarkup: item.bind('tooltip_markup'),
|
||||
onPrimaryClick: (_, event) => item.activate(event),
|
||||
onSecondaryClick: (_, event) => item.openMenu(event),
|
||||
});
|
||||
|
||||
function SysTray() {
|
||||
return Widget.Box({ children: systemtray.bind('items').transform(i => i.map(SysTrayItem)) });
|
||||
}
|
||||
|
||||
function Bar(monitor = 0) {
|
||||
const lTime = Widget.Label({
|
||||
label: 'TIME',
|
||||
});
|
||||
|
||||
Utils.interval(1000, () => {
|
||||
lTime.label = Utils.exec('date +%H:%M');
|
||||
//date +%d.%m.%Y
|
||||
});
|
||||
|
||||
const bTimeDate = Widget.Box({
|
||||
children: [lTime]
|
||||
});
|
||||
|
||||
const bInfo = Widget.Box({
|
||||
hpack: "end",
|
||||
children: [SysTray()]
|
||||
});
|
||||
|
||||
return Widget.Window({
|
||||
monitor,
|
||||
exclusivity: 'exclusive',
|
||||
name: `bar ${monitor}`,
|
||||
anchor: ['top', 'left', 'right'],
|
||||
child: Widget.CenterBox({
|
||||
centerWidget: bTimeDate,
|
||||
endWidget: bInfo,
|
||||
}),
|
||||
});
|
||||
}
|
||||
|
||||
export default {
|
||||
windows: [Bar(1), Bar(2)]
|
||||
};
|
||||
19
roles/ags/tasks/main.yml
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
- name: "[AGS] Install"
|
||||
kewlfft.aur.aur:
|
||||
name:
|
||||
- aylurs-gtk-shell-git
|
||||
use: paru
|
||||
state: present
|
||||
become: true
|
||||
|
||||
- name: "[AGS] Create config folder"
|
||||
ansible.builtin.file:
|
||||
mode: "0755"
|
||||
path: "{{ ansible_user_dir }}/.config/ags"
|
||||
state: directory
|
||||
|
||||
- name: "[AGS] Configure"
|
||||
ansible.builtin.copy:
|
||||
src: "./"
|
||||
dest: "{{ ansible_user_dir }}/.config/ags"
|
||||
20
roles/alacritty/tasks/main.yml
Normal file
@@ -0,0 +1,20 @@
|
||||
---
|
||||
- name: "[Alacritty] Install"
|
||||
kewlfft.aur.aur:
|
||||
name:
|
||||
- alacritty
|
||||
- ueberzugpp
|
||||
use: paru
|
||||
state: present
|
||||
become: true
|
||||
|
||||
- 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"
|
||||
27
home/.bashrc → roles/bash/files/.bashrc
Executable file → Normal file
@@ -2,28 +2,15 @@
|
||||
[[ $- != *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
|
||||
eval "$(starship init bash)"
|
||||
|
||||
## 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 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
|
||||
alias cat='bat --style header --style snip --style changes --style header'
|
||||
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 }}/"
|
||||
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"
|
||||
}
|
||||
26
roles/discord/files/storage/settings.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"windowStyle": "native",
|
||||
"channel": "stable",
|
||||
"armcordCSP": true,
|
||||
"minimizeToTray": true,
|
||||
"keybinds": [],
|
||||
"alternativePaste": false,
|
||||
"multiInstance": false,
|
||||
"mods": "none",
|
||||
"spellcheck": true,
|
||||
"performanceMode": "none",
|
||||
"skipSplash": false,
|
||||
"inviteWebsocket": true,
|
||||
"startMinimized": false,
|
||||
"dynamicIcon": false,
|
||||
"tray": true,
|
||||
"customJsBundle": "https://armcord.app/placeholder.js",
|
||||
"customCssBundle": "https://armcord.app/placeholder.css",
|
||||
"disableAutogain": false,
|
||||
"useLegacyCapturer": false,
|
||||
"mobileMode": false,
|
||||
"trayIcon": "default",
|
||||
"doneSetup": true,
|
||||
"clientName": "ArmCord",
|
||||
"customIcon": "/usr/lib/armcord/app.asar/assets/desktop.png"
|
||||
}
|
||||
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 @@
|
||||
{"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}
|
||||
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");
|
||||
19
roles/discord/tasks/main.yml
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
- name: "[Discord] Install"
|
||||
kewlfft.aur.aur:
|
||||
name:
|
||||
- armcord
|
||||
use: paru
|
||||
state: present
|
||||
|
||||
- name: "[Discord] Create config folder"
|
||||
ansible.builtin.file:
|
||||
mode: "0755"
|
||||
path: "{{ ansible_user_dir }}/.config/ArmCord"
|
||||
state: directory
|
||||
force: false
|
||||
|
||||
- name: "[Discord] Configure"
|
||||
ansible.builtin.copy:
|
||||
src: "./"
|
||||
dest: "{{ ansible_user_dir }}/.config/ArmCord"
|
||||
@@ -10,6 +10,10 @@ if test -f ~/.fish_profile
|
||||
source ~/.fish_profile
|
||||
end
|
||||
|
||||
# Other env vars
|
||||
export EDITOR=nvim
|
||||
export VISUAL=nvim
|
||||
|
||||
# Add ~/.local/bin to PATH
|
||||
if test -d ~/.local/bin
|
||||
if not contains -- ~/.local/bin $PATH
|
||||
@@ -17,10 +21,6 @@ if test -d ~/.local/bin
|
||||
end
|
||||
end
|
||||
|
||||
# Other env vars
|
||||
export EDITOR=nvim
|
||||
export VISUAL=nvim
|
||||
|
||||
# Plugin configuration
|
||||
# Set settings for https://github.com/franciscolourenco/done
|
||||
set -U __done_min_cmd_duration 10000
|
||||
20
roles/fish/tasks/main.yml
Normal file
@@ -0,0 +1,20 @@
|
||||
---
|
||||
- name: "[Fish] Install"
|
||||
kewlfft.aur.aur:
|
||||
name:
|
||||
- fish
|
||||
- fish-done
|
||||
- fastfetch
|
||||
use: paru
|
||||
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"
|
||||
@@ -1,6 +1,7 @@
|
||||
# Environment
|
||||
env = XCURSOR_SIZE,24
|
||||
env = HYPRCURSOR_THEME,breeze_cursor
|
||||
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,qt5ct
|
||||
@@ -34,7 +34,7 @@ binde = , XF86MonBrightnessUp, exec, brightnessctl set 5%+
|
||||
|
||||
# Applications
|
||||
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 = CTRL SHIFT, ESCAPE, exec, gnome-system-monitor
|
||||
|
||||
@@ -47,7 +47,7 @@ while true; do
|
||||
fi
|
||||
|
||||
swww img "$img" --transition-type wipe --resize=fit
|
||||
ln -sf "$img" ~/.config/hypr/theme/current_background.jpg
|
||||
ln -sf "$img" ~/.config/background
|
||||
sleep $INTERVAL
|
||||
done
|
||||
done
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
program_name="eww"
|
||||
program_name="ags"
|
||||
|
||||
check_program_running() {
|
||||
pgrep -x "$program_name" > /dev/null
|
||||
@@ -2,16 +2,13 @@
|
||||
exec-once = ags -c /home/keule/test/config.js
|
||||
|
||||
# Programms
|
||||
exec-once = webcord
|
||||
exec-once = armcord
|
||||
exec-once = nextcloud
|
||||
exec-once = youtube-music
|
||||
exec-once = element-desktop
|
||||
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
|
||||
|
||||
@@ -14,7 +14,8 @@ windowrule = workspace 2,^(YouTube Music)$
|
||||
windowrule = workspace 4,^(explorer.exe)$
|
||||
windowrule = workspace 4,^(lutris)$
|
||||
windowrule = workspace 5,^(discord)$
|
||||
windowrule = workspace 5,^(Webcord)$
|
||||
windowrule = workspace 5,^(WebCord)$
|
||||
windowrule = workspace 5,^(Element)$
|
||||
windowrule = workspace 5,^(de.keule.client.ui.JavaFX)$
|
||||
|
||||
windowrule = float,^(lutris)$
|
||||
18
roles/hypr/tasks/main.yml
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
- name: "[Hyprland] Install"
|
||||
ansible.builtin.package:
|
||||
name:
|
||||
- hyprland
|
||||
state: latest
|
||||
become: true
|
||||
|
||||
- name: "[Hyprland] Create config folder"
|
||||
ansible.builtin.file:
|
||||
mode: "0755"
|
||||
path: "{{ ansible_user_dir }}/.config/hypr"
|
||||
state: directory
|
||||
|
||||
- name: "[Hyprland] Configure"
|
||||
ansible.builtin.copy:
|
||||
src: "./"
|
||||
dest: "{{ ansible_user_dir }}/.config/hypr"
|
||||
@@ -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
|
||||
18
roles/kvantum/tasks/main.yml
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
- name: "[Kvantum] Install"
|
||||
ansible.builtin.package:
|
||||
name:
|
||||
- kvantum
|
||||
state: latest
|
||||
become: true
|
||||
|
||||
- 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
|
||||
BIN
roles/minegrub/files/minegrub/Minecraft24.pf2
Normal file
BIN
roles/minegrub/files/minegrub/Minecraft30.pf2
Normal file
BIN
roles/minegrub/files/minegrub/Monocraft22.pf2
Normal file
BIN
roles/minegrub/files/minegrub/assets/MinecraftRegular-Bmg3.otf
Normal file
BIN
roles/minegrub/files/minegrub/assets/Monocraft.otf
Normal file
BIN
roles/minegrub/files/minegrub/assets/logo_clear.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
50
roles/minegrub/files/minegrub/assets/splashes.txt
Normal file
@@ -0,0 +1,50 @@
|
||||
I use Arch BTW!
|
||||
Now with 100% more Linux!
|
||||
GNU's not UNIX!
|
||||
Praise Tux!
|
||||
Wine is not an Emulator!
|
||||
I am Root!
|
||||
Still stuck in Vim!
|
||||
Won't sell your data!
|
||||
Now with Rust!
|
||||
Full of Distros!
|
||||
Do redistribute!
|
||||
May contain penguins!
|
||||
Support FOSS devs!
|
||||
Bailing out!
|
||||
Everything is a file!
|
||||
May contain systemd...
|
||||
Open source!
|
||||
Made in Finland!
|
||||
It's not a bug, it's a feature!
|
||||
It's GNU/Linux!
|
||||
Sudo rm -rf!
|
||||
Yes, do as I say!
|
||||
90% bug free!
|
||||
Not water proof!
|
||||
Used by billions!
|
||||
12345 is a bad password!
|
||||
Turing complete!
|
||||
Woah.
|
||||
I have a suggestion.
|
||||
pls fix
|
||||
beep beep
|
||||
Boop!
|
||||
Splash!
|
||||
[Insert splash text here]
|
||||
Made by "real" people!
|
||||
Viruses have no power here!
|
||||
No place like ~
|
||||
Used in space!
|
||||
No reboots required!
|
||||
Case sensitive!
|
||||
.exe won't work here!
|
||||
No ads!
|
||||
May contain spaghetti...
|
||||
No registry needed!
|
||||
Forward slashes only!
|
||||
No DLLs needed!
|
||||
127.0.0.1 > localhost :)
|
||||
No caffeine!
|
||||
Zero calories!
|
||||
Do not eat!
|
||||
BIN
roles/minegrub/files/minegrub/background.png
Normal file
|
After Width: | Height: | Size: 822 KiB |
BIN
roles/minegrub/files/minegrub/dirt.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
roles/minegrub/files/minegrub/item_c.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
roles/minegrub/files/minegrub/item_e.png
Normal file
|
After Width: | Height: | Size: 549 B |
BIN
roles/minegrub/files/minegrub/item_n.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
roles/minegrub/files/minegrub/item_ne.png
Normal file
|
After Width: | Height: | Size: 529 B |
BIN
roles/minegrub/files/minegrub/item_nw.png
Normal file
|
After Width: | Height: | Size: 515 B |
BIN
roles/minegrub/files/minegrub/item_s.png
Normal file
|
After Width: | Height: | Size: 1012 B |
BIN
roles/minegrub/files/minegrub/item_se.png
Normal file
|
After Width: | Height: | Size: 515 B |
BIN
roles/minegrub/files/minegrub/item_sw.png
Normal file
|
After Width: | Height: | Size: 508 B |
BIN
roles/minegrub/files/minegrub/item_w.png
Normal file
|
After Width: | Height: | Size: 540 B |
BIN
roles/minegrub/files/minegrub/logo.png
Normal file
|
After Width: | Height: | Size: 15 KiB |