Migrated to ansible

This commit is contained in:
2024-04-02 00:59:42 +02:00
parent c53268e307
commit 0ccf6427f2
136 changed files with 5157 additions and 1407 deletions

View File

@@ -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)]
};

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -1,3 +0,0 @@
#!/bin/bash
eww close bar1 || eww open bar1 & disown

View File

@@ -1 +0,0 @@
/home/keule/Data/Pictures/Backgrounds/Desktop/144565.jpg

View File

@@ -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

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -1,3 +0,0 @@
action = copy
files = [emojis, gitmoji, hebrew, fontawesome6, math]
skin-tone=ask

View File

@@ -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"
}
]
}
}
}

View File

@@ -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;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

View File

@@ -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"
}

View File

@@ -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"));
}

View File

@@ -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
View File

@@ -0,0 +1,4 @@
roles/z
roles/test
error.log
callback_plugins/__pycache__

View File

@@ -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
View File

@@ -0,0 +1,4 @@
[defaults]
stdout_callback = beautiful_output
# Use the stdout_callback when running ad-hoc commands.
bin_ansible_callbacks = True

View File

@@ -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

File diff suppressed because it is too large Load Diff

View File

@@ -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

View File

@@ -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

View File

@@ -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
View 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

View File

@@ -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
View 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

View File

@@ -1,5 +0,0 @@
# Programming languages
jdk-openjdk
maven
rustup
npm

2
requirements/arch.yml Normal file
View File

@@ -0,0 +1,2 @@
collections:
- name: kewlfft.aur

2
requirements/default.yml Normal file
View File

@@ -0,0 +1,2 @@
collections:
- name: community.general

48
roles/ags/files/config.js Normal file
View 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
View 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"

View 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
View 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
View 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
View 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"

View File

@@ -0,0 +1 @@
{"spellcheck":{"dictionaries":["en-GB", "de-DE"],"dictionary":""}}

View File

@@ -0,0 +1,3 @@
{
"lang": "en-US"
}

View 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"
}

View 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.

View File

@@ -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}

View 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");

View 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"

View File

@@ -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
View 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"

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -1,6 +1,6 @@
#!/bin/bash
program_name="eww"
program_name="ags"
check_program_running() {
pgrep -x "$program_name" > /dev/null

View File

@@ -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

View File

@@ -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
View 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"

View File

@@ -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

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 146 KiB

View 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.

View File

@@ -0,0 +1,2 @@
[General]
theme=Catppuccin-Macchiato-Rosewater

View 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"

View 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

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View 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!

Binary file not shown.

After

Width:  |  Height:  |  Size: 822 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 549 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 529 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 515 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1012 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 515 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 508 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 540 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Some files were not shown because too many files have changed in this diff Show More