Compare commits

..

25 Commits

Author SHA1 Message Date
80d16ab6ff [Install] Properly install yazi plugins 2025-08-22 14:21:19 +02:00
1c8b72867e [Yazi] Add new plugin 2025-08-22 12:00:06 +02:00
9d59b24995 [Scripts] Add script to update open-webui 2025-08-21 12:14:30 +02:00
e78d07b25b [Base] Remove unnecessary files 2025-08-20 17:25:48 +02:00
a2c11e5cd1 [Yazi] Add keybind to open in evince 2025-08-05 11:21:27 +02:00
70aceee3ca [Build] Build config 2025-07-31 09:08:07 +02:00
8e6340e4c7 [Hyprlock] Update to V0.9 2025-07-31 09:07:19 +02:00
46a4d7628d [Yazi] Add keybinds, start configuring openers 2025-07-28 11:10:03 +02:00
2ec9356aca [Scripts] Prepare for cleanup 2025-07-22 15:52:52 +02:00
3c19159c23 [Install] Use bvi instead of ghex 2025-07-16 15:38:45 +02:00
f6afd785fd [Setup] Fix yazi plugin updates 2025-06-22 15:21:45 +02:00
e20a33e132 [Setup] Fix 2025-06-22 14:49:58 +02:00
4683a171b9 [Astal] Finish up audio fix 2025-06-18 11:59:03 +02:00
4189258def [Astal] Fix audio issues 2025-06-18 11:40:58 +02:00
2e8f1ec9ae [Hypr] Add easy docked switching 2025-06-12 10:08:57 +02:00
78c97c5d84 [Hypr] Add docked config 2025-06-12 10:05:16 +02:00
4540dc00e7 [Eslint] Fix newline 2025-06-11 10:56:47 +02:00
294d7a9a98 [Eslint] Add max-len config 2025-06-11 09:48:34 +02:00
77dd4b4ca8 [Eslint] Add function-paren-newline option 2025-06-11 09:43:48 +02:00
7394ab63bf [Eslint] Change a few options 2025-06-10 17:23:43 +02:00
7f851fac73 [Eslint] Fix errors with single-line interface defintions 2025-06-07 11:18:58 +02:00
a5a6d9a916 [Eslint] Fix issues with end of file extra line 2025-06-06 15:36:12 +02:00
3967a4cd5c [latexfmt] Update align delims 2025-06-06 13:27:45 +02:00
f684f52d8f [latexfmt] Add indents for code 2025-06-06 13:20:52 +02:00
1079f62c06 [Eslint] Fix no-extra-parens config 2025-06-06 13:20:39 +02:00
25 changed files with 306 additions and 160 deletions

View File

@@ -1,5 +0,0 @@
{
"gen": {
"overrides": {}
}
}

View File

@@ -1,4 +1,4 @@
import { bind, Binding } from "astal"; import { bind } from "astal";
import { Gtk } from "astal/gtk4"; import { Gtk } from "astal/gtk4";
import AstalWp from "gi://AstalWp"; import AstalWp from "gi://AstalWp";
@@ -13,8 +13,8 @@ const AudioModule = () => {
wp.defaultMicrophone.set_volume(volume / 100); wp.defaultMicrophone.set_volume(volume / 100);
}; };
const speakerSelector = SinkSelectPopover(AstalWp.MediaClass.AUDIO_SPEAKER); const speakerSelector = SinkSelectPopover(AstalWp.MediaClass.AUDIO_SINK);
const micSelector = SinkSelectPopover(AstalWp.MediaClass.AUDIO_MICROPHONE); const micSelector = SinkSelectPopover(AstalWp.MediaClass.AUDIO_SOURCE);
return ( return (
<box cssClasses={["audio-box"]} vertical> <box cssClasses={["audio-box"]} vertical>
@@ -107,12 +107,18 @@ const AudioModule = () => {
}; };
const SinkPicker = (type: AstalWp.MediaClass) => { const SinkPicker = (type: AstalWp.MediaClass) => {
const devices = bind(wp, "endpoints"); const devices = bind(wp, "nodes");
wp.connect("ready", () => {
const dev = wp.get_nodes()!
for (let i = 0; i < dev.length; i++) {
const d = dev[i];
}
})
return ( return (
<box vertical> <box vertical>
<label <label
label={`Available Audio ${type === AstalWp.MediaClass.AUDIO_SPEAKER ? "Output" : type === AstalWp.MediaClass.AUDIO_MICROPHONE ? "Input" : ""} Devices`} label={`Available Audio ${type === AstalWp.MediaClass.AUDIO_SINK ? "Output" : type === AstalWp.MediaClass.AUDIO_SOURCE ? "Input" : ""} Devices`}
cssClasses={[ 'title-2' ]} cssClasses={[ 'title-2' ]}
></label> ></label>
<Gtk.Separator marginBottom={5} marginTop={3}></Gtk.Separator> <Gtk.Separator marginBottom={5} marginTop={3}></Gtk.Separator>
@@ -128,11 +134,11 @@ const SinkPicker = (type: AstalWp.MediaClass) => {
if ( if (
id === id ===
(type === (type ===
AstalWp.MediaClass.AUDIO_SPEAKER AstalWp.MediaClass.AUDIO_SINK
? wp.defaultSpeaker.id ? wp.defaultSpeaker.id
: type === : type ===
AstalWp.MediaClass AstalWp.MediaClass
.AUDIO_MICROPHONE .AUDIO_SOURCE
? wp.defaultMicrophone.id ? wp.defaultMicrophone.id
: "") : "")
) { ) {

View File

@@ -0,0 +1,51 @@
{devices.as(d => {
return d.map(device => {
if (device.get_media_class() !== type) {
return <box cssClasses={[ 'empty' ]}></box>;
}
return (
<button
cssClasses={bind(device, "id").as(id => {
if (
id ===
(type ===
AstalWp.MediaClass.AUDIO_SPEAKER
? wp.defaultSpeaker.id
: type ===
AstalWp.MediaClass
.AUDIO_MICROPHONE
? wp.defaultMicrophone.id
: "")
) {
return [
"sink-option",
"currently-selected-sink-option",
];
} else {
return ["sink-option"];
}
})}
child={
<box halign={Gtk.Align.START}>
<image
iconName={bind(device, "icon").as(
icon => icon,
)}
marginEnd={3}
></image>
<label
label={bind(
device,
"description",
).as(t => t ?? "")}
></label>
</box>
}
onClicked={() => {
device.set_is_default(true);
}}
></button>
);
});
})}

View File

@@ -1,5 +1,5 @@
$fg-color: #C8DCFF; $fg-color: #E6E6E6;
$bg-color: #0A0A0F; $bg-color: #141414;
$accent-color: #591641; $accent-color: #591641;
$accent-color-2: #97103A; $accent-color-2: #97103A;
$shadow-color: rgba(0, 0, 2, 0.3); $shadow-color: rgba(40, 40, 40, 0.3);

View File

@@ -9,15 +9,15 @@
#██████████████ █████ ████████████████████████████████████████████████████████████████████████████████████████████████ ██ #██████████████ █████ ████████████████████████████████████████████████████████████████████████████████████████████████ ██
general { general {
lock_cmd = hyprlock --immediate lock_cmd = hyprlock
unlock_cmd = loginctl unlock-session unlock_cmd = loginctl unlock-session
before_sleep_cmd = hyprlock --immediate before_sleep_cmd = hyprlock
after_sleep_cmd = hyprlock --immediate after_sleep_cmd = hyprlock
} }
listener { listener {
timeout = 300 timeout = 300
on-timeout = hyprlock on-timeout = hyprlock --grace 15
} }
listener { listener {

View File

@@ -13,6 +13,6 @@ general {
decoration { decoration {
shadow { shadow {
color = rgb(000002) color = rgb(282828)
} }
} }

View File

@@ -0,0 +1,58 @@
#░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
#░ ░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░
#▒ ▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒ ▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒
#▒ ▒▒▒▒ ▒ ▒▒▒ ▒ ▒ ▒▒▒ ▒ ▒ ▒▒▒▒ ▒▒▒▒▒ ▒ ▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒ ▒ ▒▒▒ ▒ ▒▒▒▒▒▒▒ ▒▒
#▓ ▓▓ ▓ ▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓ ▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓
#▓ ▓▓▓▓ ▓▓▓▓ ▓▓▓ ▓▓▓ ▓▓ ▓▓▓▓ ▓ ▓▓▓ ▓▓▓ ▓▓ ▓ ▓▓▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓▓
#▓ ▓▓▓▓ ▓▓▓▓▓ ▓▓▓ ▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓▓ ▓▓▓ ▓▓ ▓ ▓▓▓ ▓▓▓▓▓▓▓▓▓ ▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓
#█ ████ ████ ████ ██████ ████ ███ █ █ ██ ██ █ ███████████ ██████ █████ ██ ███ ████ █████ █
#██████████████ █████ ██████████████████████████████████████████████████████████████████████████████████████████████████████ ██
# ────────────────────────────────────────────────────────────────────
# ╭────────────────────────────────────────────────╮
# │ MONITORS │
# ╰────────────────────────────────────────────────╯
# ────────────────────────────────────────────────────────────────────
monitor=eDP-1, disable
monitor=,highres highrr, auto, 1
source=./hyprland/binds.conf
source=./hyprland/general.conf
source=./hyprland/windowrules.conf
# ┌ ┐
# │ LAPTOP │
# └ ┘
exec = hyprctl setcursor oreo_spark_blue_cursors 36
env = HYPRCURSOR_THEME, Oreo_spark_blue_cursor
env = X_CURSOR_THEME, Oreo_spark_blue_cursor
env = XCURSOR_SIZE,24
env = XDG_SESSION_TYPE, wayland
env = QT_QPA_PLATFORM,wayland
env = ELECTRON_OZONE_PLATFORM_HINT,wayland
exec-once = hyprpm reload -nn
xwayland {
force_zero_scaling = true
}
# ── Volume control ──────────────────────────────────────────────────
bind = ,code:123, exec, pamixer -i 5
bind = ,code:122, exec, pamixer -d 5
bind = ,code:121, exec, pamixer -t
# ── Brightness-Control ──────────────────────────────────────────────
bind = ,code:232, exec, light -U 5 && notify-send 'Display brightness decreased by 5%'
bind = ,code:233, exec, light -A 5 && notify-send 'Display brightness increased by 5%'
# ── Vivado inversion ────────────────────────────────────────────────
windowrule = plugin:invertwindow, class:Vivado
windowrule = tile, title:(.*)Vivado(.*)

View File

@@ -19,7 +19,7 @@
# ──────────────────────────────────────────────────────────────────── # ────────────────────────────────────────────────────────────────────
monitor=eDP-1, 2880x1800@60, 0x0, 1.5 monitor=eDP-1, 2880x1800@60, 0x0, 1.5
# monitor=,highres highrr, auto, 1 monitor=,highres highrr, auto, 1
# exec = swaybg -m fill -i /home/janis/Pictures/arch-bg.png # exec = swaybg -m fill -i /home/janis/Pictures/arch-bg.png
@@ -68,6 +68,8 @@ bind = $mainMod CTRL, E, exec, hyprctl keyword monitor HDMI-A-1, 1920x1080@60, 1
bind = $mainMod ALT, E, exec, hyprctl keyword monitor eDP-1, 2880x1800@60, 0x0, 1.5 && cpupower-gui -b && notify-send 'Set to battery optimized settings' bind = $mainMod ALT, E, exec, hyprctl keyword monitor eDP-1, 2880x1800@60, 0x0, 1.5 && cpupower-gui -b && notify-send 'Set to battery optimized settings'
bind = $mainMod ALT, P, exec, hyprctl keyword monitor eDP-1, 2880x1800@120, 0x0, 1.5 && cpupower-gui -p && notify-send 'Set to performance optimized settings' bind = $mainMod ALT, P, exec, hyprctl keyword monitor eDP-1, 2880x1800@120, 0x0, 1.5 && cpupower-gui -p && notify-send 'Set to performance optimized settings'
# ── Using docked ────────────────────────────────────────────────────
bind = $mainMod ALT, D, exec, hyprctl keyword monitor eDP-1, disable
# ── Vivado inversion ──────────────────────────────────────────────── # ── Vivado inversion ────────────────────────────────────────────────
windowrule = plugin:invertwindow, class:Vivado windowrule = plugin:invertwindow, class:Vivado

View File

@@ -9,10 +9,6 @@
#██████████████ █████ ███████████████████████████████████████████████████████████████████████████████████████████████████ ██ #██████████████ █████ ███████████████████████████████████████████████████████████████████████████████████████████████████ ██
general {
grace = 15
}
# ┌ ┐ # ┌ ┐
# │ BACKGROUND │ # │ BACKGROUND │
# └ ┘ # └ ┘

View File

@@ -81,6 +81,14 @@ const style = {
'error', 'error',
'never' 'never'
], ],
'@stylistic/function-paren-newline': [
'error',
'multiline'
],
'@stylistic/function-call-argument-newline': [
'error',
'consistent'
],
'@stylistic/implicit-arrow-linebreak': [ '@stylistic/implicit-arrow-linebreak': [
'error', 'error',
'beside' 'beside'
@@ -107,17 +115,30 @@ const style = {
'error', 'error',
'always' 'always'
], ],
'@stylistic/max-len': [
'warn',
{
'code': 90,
'comments': 100,
'ignoreComments': false,
'ignoreUrls': true,
'ignoreStrings': false
}
],
'@stylistic/new-parens': [ '@stylistic/new-parens': [
'error', 'error',
'always' 'always'
], ],
'@stylistic/newline-per-chained-call': [ '@stylistic/newline-per-chained-call': [ 'error' ],
'error',
{ 'ignoreChainWithDepth': 2 }
],
'@stylistic/no-extra-parens': [ '@stylistic/no-extra-parens': [
'error', 'error',
'all' 'all',
{
'nestedBinaryExpressions': false,
'ternaryOperandBinaryExpressions': false,
'ignoreJSX': 'multi-line',
'nestedConditionalExpressions': false
}
], ],
'@stylistic/no-extra-semi': 'error', '@stylistic/no-extra-semi': 'error',
'@stylistic/no-floating-decimal': 'error', '@stylistic/no-floating-decimal': 'error',
@@ -128,7 +149,7 @@ const style = {
'error', 'error',
{ {
'max': 3, 'max': 3,
'maxEOF': 1 'maxEOF': 2
} }
], ],
'@stylistic/no-tabs': 'error', '@stylistic/no-tabs': 'error',
@@ -138,7 +159,7 @@ const style = {
'error', 'error',
{ {
'multiline': true, 'multiline': true,
'minProperties': 2 'minProperties': 1
} }
], ],
'@stylistic/object-curly-spacing': [ '@stylistic/object-curly-spacing': [
@@ -161,7 +182,6 @@ const style = {
], ],
// Padding lines. The most in-depth part of this config // Padding lines. The most in-depth part of this config
// ['block', 'block-like', 'break', 'cjs-export', 'cjs-import', 'class', 'const', 'continue', 'debugger', 'directive', 'do', 'empty', 'export', 'expression', 'for', 'function', 'if', 'iife', 'import', 'let', 'return', 'switch', 'throw', 'try', 'var', 'while', 'with']
'@stylistic/padding-line-between-statements': [ '@stylistic/padding-line-between-statements': [
'error', 'error',
// Variables, Constants // Variables, Constants
@@ -584,7 +604,9 @@ const style = {
], ],
'@stylistic/space-infix-ops': [ '@stylistic/space-infix-ops': [
'error', 'error',
{ 'int32Hint': false } {
'int32Hint': false
}
], ],
'@stylistic/space-unary-ops': 'error', '@stylistic/space-unary-ops': 'error',
'@stylistic/spaced-comment': [ '@stylistic/spaced-comment': [
@@ -619,7 +641,9 @@ export default tseslint.config(
'sourceType': 'module', 'sourceType': 'module',
'ecmaVersion': 'latest', 'ecmaVersion': 'latest',
'globals': globals.browser, 'globals': globals.browser,
'parserOptions': { 'parser': tseslint.parser, }, 'parserOptions': {
'parser': tseslint.parser,
},
}, },
'plugins': { 'plugins': {
'vue': vue, 'vue': vue,

View File

@@ -29,3 +29,47 @@ indentRules:
formula: " " formula: " "
conjugation: " " conjugation: " "
forms: " " forms: " "
lookForAlignDelims:
tables:
delims: 1
alignDoubleBackSlash: 1
spacesBeforeDoubleBackSlash: 1
multiColumnGrouping: 0
alignRowsWithoutMaxDelims: 1
spacesBeforeAmpersand: 1
spacesAfterAmpersand: 1
justification: left
alignFinalDoubleBackSlash: 0
dontMeasure: 0
delimiterRegEx: (?<!\\)(&)
delimiterJustification: left
lookForChildCodeBlocks: 1
alignContentAfterDoubleBackSlash: 0
spacesAfterDoubleBackSlash: 1
specialBeginEnd:
If:
begin: '\\If'
middle:
- '\\ElsIf'
- '\\Else'
end: '\\EndIf'
lookForThis: 1
For:
begin: '\\For'
end: '\\EndFor'
lookForThis: 1
Procedure:
begin: '\\Procedure'
end: '\\EndProcedure'
lookForThis: 1
Function:
begin: '\\Function'
end: '\\EndFunction'
lookForThis: 1
While:
begin: '\\While'
end: '\\EndWhile'
lookForThis: 1
specialBeforeCommand: 1

View File

@@ -1,7 +1,7 @@
* { * {
background: #0A0A0F; background: #141414;
background-selected: #141419; background-selected: #1E1E1E;
foreground: #C8DCFF; foreground: #E6E6E6;
accent: #591641; accent: #591641;
accent-two: #97103A; accent-two: #97103A;
// border-color: #2D2057; // border-color: #2D2057;

View File

@@ -7,7 +7,7 @@ window {
font-family: monospace; font-family: monospace;
font-size: 14pt; font-size: 14pt;
color: #ffffff; /* text */ color: #ffffff; /* text */
background-color: rgba(10, 10, 15, 0.5); background-color: rgba(20, 20, 20, 0.5);
} }
button { button {
@@ -27,7 +27,7 @@ button:hover {
button:focus { button:focus {
background-color: rgb(151, 16, 58); background-color: rgb(151, 16, 58);
color: rgb(200, 220, 255); color: rgb(230, 230, 230);
} }
#lock { #lock {

View File

@@ -19,6 +19,7 @@ prepend_keymap = [
{ on = [ "g", "c", "k" ], run = "cd ~/projects/active/dotfiles/config/kitty", desc = "Go to kitty config" }, { on = [ "g", "c", "k" ], run = "cd ~/projects/active/dotfiles/config/kitty", desc = "Go to kitty config" },
{ on = [ "g", "c", "r" ], run = "cd ~/projects/active/dotfiles/config/rofi", desc = "Go to rofi config" }, { on = [ "g", "c", "r" ], run = "cd ~/projects/active/dotfiles/config/rofi", desc = "Go to rofi config" },
{ on = [ "g", "c", "s" ], run = "cd ~/projects/active/dotfiles/scripts", desc = "Go to script" }, { on = [ "g", "c", "s" ], run = "cd ~/projects/active/dotfiles/scripts", desc = "Go to script" },
{ on = [ "g", "c", "d" ], run = "cd ~/projects/active/dotfiles", desc = "Go to NeoVim config" },
{ on = [ "g", "c", "n" ], run = "cd ~/projects/active/nvim", desc = "Go to NeoVim config" }, { on = [ "g", "c", "n" ], run = "cd ~/projects/active/nvim", desc = "Go to NeoVim config" },
{ on = [ "g", "n" ], run = "cd ~/NextCloud/Documents/", desc = "Go to NextCloud Documents" }, { on = [ "g", "n" ], run = "cd ~/NextCloud/Documents/", desc = "Go to NextCloud Documents" },
{ on = [ "g", "w" ], run = "cd ~/NextCloud/Wallpapers", desc = "Go to Wallpapers" }, { on = [ "g", "w" ], run = "cd ~/NextCloud/Wallpapers", desc = "Go to Wallpapers" },
@@ -39,4 +40,5 @@ prepend_keymap = [
{ on = [ "g", "/" ], run = "cd /", desc = "Go to /" }, { on = [ "g", "/" ], run = "cd /", desc = "Go to /" },
{ on = [ "g", "m" ], run = "cd /run/media/$USER", desc = "Go to /run/media" }, { on = [ "g", "m" ], run = "cd /run/media/$USER", desc = "Go to /run/media" },
{ on = [ "g", "<Space>" ], run = "cd --interactive", desc = "Go to interactively" }, { on = [ "g", "<Space>" ], run = "cd --interactive", desc = "Go to interactively" },
{ on = [ "g", "c" ], run = "plugin vcs-files", desc = "Show Git file changes" },
] ]

View File

@@ -8,5 +8,10 @@ use = "boydaihungst/restore"
rev = "5d22884" rev = "5d22884"
hash = "8e6fc2d660f661c91e30b10dd1a251b8" hash = "8e6fc2d660f661c91e30b10dd1a251b8"
[[plugin.deps]]
use = "yazi-rs/plugins:vcs-files"
rev = "e95c7b3"
hash = "cc8da55f1deda45ee3787cc97b58ffc9"
[flavor] [flavor]
deps = [] deps = []

View File

@@ -1,2 +1,2 @@
[flavor] [flavor]
use = "tokyo-night" use = "vscode-dark-modern"

View File

@@ -8,3 +8,10 @@ prepend_previewers = [
{ mime = "application/x-rar", run = "ouch" }, { mime = "application/x-rar", run = "ouch" },
{ mime = "application/x-xz", run = "ouch" }, { mime = "application/x-xz", run = "ouch" },
] ]
[opener]
open = [
{ run = 'xdg-open "$@"', desc = "Open" },
{ run = 'okular "$@"', desc = "Open in Okular" },
{ run = 'evince "$@"', desc = "Open in Evince" },
]

View File

@@ -19,13 +19,13 @@
/* /*
* ── Foreground color, main interface text colour ───────────────────── * ── Foreground color, main interface text colour ─────────────────────
*/ */
@define-color fg #C8DCFF; @define-color fg #E6E6E6;
@define-color fg_rgba_07 rgba(200, 220, 255, 0.7); @define-color fg_rgba_07 rgba(230, 230, 230, 0.7);
@define-color fg_rgba_06 rgba(200, 220, 255, 0.6); @define-color fg_rgba_06 rgba(230, 230, 230, 0.6);
@define-color fg_rgba_05 rgba(200, 220, 255, 0.5); @define-color fg_rgba_05 rgba(230, 230, 230, 0.5);
@define-color fg_rgba_03 rgba(200, 220, 255, 0.3); @define-color fg_rgba_03 rgba(230, 230, 230, 0.3);
@define-color fg_rgba_02 rgba(200, 220, 255, 0.2); @define-color fg_rgba_02 rgba(230, 230, 230, 0.2);
@define-color fg_rgba_01 rgba(200, 220, 255, 0.1); @define-color fg_rgba_01 rgba(230, 230, 230, 0.1);
/* /*
* ── Foreground accent, usually brighter or darker than default ─────── * ── Foreground accent, usually brighter or darker than default ───────
@@ -51,14 +51,14 @@
/* /*
* ── Accent Gradient ────────────────────────────────────────────────── * ── Accent Gradient ──────────────────────────────────────────────────
*/ */
@define-color accent_gradient_1 #481235; @define-color accent_gradient_1 #390E2A;
@define-color accent_gradient_2 #41102F; @define-color accent_gradient_2 #2E0B21;
@define-color accent_gradient_3 #3A0E2B; @define-color accent_gradient_3 #24091B;
@define-color accent_gradient_4 #350D26; @define-color accent_gradient_4 #1D0715;
@define-color accent_gradient_5 #2F0C23; @define-color accent_gradient_5 #170611;
@define-color accent_gradient_inverse_1 #6E1B50; @define-color accent_gradient_inverse_1 #8B2266;
@define-color accent_gradient_inverse_2 #6E1B50; @define-color accent_gradient_inverse_2 #8B2266;
@define-color accent_gradient_inverse_3 #6E1B50; @define-color accent_gradient_inverse_3 #8B2266;
/* /*
* ── Secondary accent colour ────────────────────────────────────────── * ── Secondary accent colour ──────────────────────────────────────────
@@ -97,33 +97,33 @@
/* /*
* ── Background color, main interface background ────────────────────── * ── Background color, main interface background ──────────────────────
*/ */
@define-color bg #0A0A0F; @define-color bg #141414;
@define-color bg_rgba_07 rgba(10, 10, 15, 0.7); @define-color bg_rgba_07 rgba(20, 20, 20, 0.7);
@define-color bg_rgba_05 rgba(10, 10, 15, 0.5); @define-color bg_rgba_05 rgba(20, 20, 20, 0.5);
@define-color bg_rgba_03 rgba(10, 10, 15, 0.3); @define-color bg_rgba_03 rgba(20, 20, 20, 0.3);
@define-color bg_rgba_02 rgba(10, 10, 15, 0.2); @define-color bg_rgba_02 rgba(20, 20, 20, 0.2);
@define-color bg_rgba_015 rgba(10, 10, 15, 0.15); @define-color bg_rgba_015 rgba(20, 20, 20, 0.15);
@define-color bg_rgba_011 rgba(10, 10, 15, 0.11); @define-color bg_rgba_011 rgba(20, 20, 20, 0.11);
/* /*
* ── Accent background color ────────────────────────────────────────── * ── Accent background color ──────────────────────────────────────────
*/ */
@define-color bg_accent #141419; @define-color bg_accent #1E1E1E;
@define-color bg_accent_rgba_07 rgba(20, 20, 25, 0.7); @define-color bg_accent_rgba_07 rgba(30, 30, 30, 0.7);
@define-color bg_accent_rgba_06 rgba(20, 20, 25, 0.6); @define-color bg_accent_rgba_06 rgba(30, 30, 30, 0.6);
@define-color bg_accent_rgba_05 rgba(20, 20, 25, 0.5); @define-color bg_accent_rgba_05 rgba(30, 30, 30, 0.5);
@define-color bg_accent_rgba_04 rgba(20, 20, 25, 0.4); @define-color bg_accent_rgba_04 rgba(30, 30, 30, 0.4);
@define-color bg_accent_rgba_03 rgba(20, 20, 25, 0.3); @define-color bg_accent_rgba_03 rgba(30, 30, 30, 0.3);
@define-color bg_accent_rgba_02 rgba(20, 20, 25, 0.2); @define-color bg_accent_rgba_02 rgba(30, 30, 30, 0.2);
@define-color bg_accent_rgba_015 rgba(20, 20, 25, 0.15); @define-color bg_accent_rgba_015 rgba(30, 30, 30, 0.15);
@define-color bg_accent_rgba_01 rgba(20, 20, 25, 0.1); @define-color bg_accent_rgba_01 rgba(30, 30, 30, 0.1);
/* /*
* ── Tertiary background colour ─────────────────────────────────────── * ── Tertiary background colour ───────────────────────────────────────
*/ */
@define-color bg_tertiary #000000; @define-color bg_tertiary #2D2D2D;
@define-color bg_tertiary_rgba_05 rgba(0, 0, 0, 0.5); @define-color bg_tertiary_rgba_05 rgba(45, 45, 45, 0.5);
@define-color bg_tertiary_rgba_02 rgba(0, 0, 0, 0.2); @define-color bg_tertiary_rgba_02 rgba(45, 45, 45, 0.2);
/* /*
* ── Inactive background colour ─────────────────────────────────────── * ── Inactive background colour ───────────────────────────────────────
@@ -140,10 +140,10 @@
/* /*
* ── Shadow colours ─────────────────────────────────────────────────── * ── Shadow colours ───────────────────────────────────────────────────
*/ */
@define-color shadow #000002; @define-color shadow #282828;
@define-color shadow_rgba_07 rgba(0, 0, 2, 0.7); @define-color shadow_rgba_07 rgba(40, 40, 40, 0.7);
@define-color shadow_rgba_05 rgba(0, 0, 2, 0.5); @define-color shadow_rgba_05 rgba(40, 40, 40, 0.5);
@define-color shadow_rgba_03 rgba(0, 0, 2, 0.3); @define-color shadow_rgba_03 rgba(40, 40, 40, 0.3);
@define-color shadow_rgba_02 rgba(0, 0, 2, 0.2); @define-color shadow_rgba_02 rgba(40, 40, 40, 0.2);
@define-color shadow_rgba_015 rgba(0, 0, 2, 0.15); @define-color shadow_rgba_015 rgba(40, 40, 40, 0.15);
@define-color shadow_rgba_011 rgba(0, 0, 2, 0.11); @define-color shadow_rgba_011 rgba(40, 40, 40, 0.11);

View File

@@ -13,14 +13,15 @@ yay -S hyprland hypridle hyprfreeze hyprlock plymouth aylurs-gtk-shell-git brigh
yay -S pipewire pipewire-alsa pipewire-pulse pipewire-jack mesa fish thunar yazi wireplumber grimblast wl-clipboard wget vimiv zoxide trash-cli fzf ouch zathura sensors radeontop lm-sensors yay -S pipewire pipewire-alsa pipewire-pulse pipewire-jack mesa fish thunar yazi wireplumber grimblast wl-clipboard wget vimiv zoxide trash-cli fzf ouch zathura sensors radeontop lm-sensors
# Set up yazi # Set up yazi
ya pack -a ndtoan96/ouch ya pkg add ndtoan96/ouch
ya pack -a boydaihungst/restore ya pkg add boydaihungst/restore
ya pkg add yazi-rs/plugins:vcs-files
# Fonts # Fonts
yay -S adobe-source-code-pro-fonts gnome-font-viewer gnome-characters gnome-tweaks lxappearance kvantum gnome-keyring smartmontools ffmpeg polkit-gnome swaybg network-manager-applet polkit-kde-agent cpupower-gui ttf-fantasque-nerd ttf-jetbrains-mono-nerd ttf-fluentui-system-icons ttf-comfortaa yay -S adobe-source-code-pro-fonts gnome-font-viewer gnome-characters gnome-tweaks lxappearance kvantum gnome-keyring smartmontools ffmpeg polkit-gnome swaybg network-manager-applet polkit-kde-agent cpupower-gui ttf-fantasque-nerd ttf-jetbrains-mono-nerd ttf-fluentui-system-icons ttf-comfortaa
# Programming # Programming
yay -S meld docker vscodium kitty fish docker terminator ghex nodejs npm python-pip git-credential-manager-core-bin wine kate rustup cargo filezilla php jdk yay -S meld docker vscodium kitty fish docker terminator bvi nodejs npm python-pip git-credential-manager-core-bin wine kate rustup cargo filezilla php jdk
# nvim # nvim
yay -S neovim lua lua-language-server tree-sitter texlab stylua luarocks jdtls perl julia autojump pyright vscode-css-languageserver vscode-html-languageserver bash-language-server lazygit python-black proselint asmfmt typescript-language-server yay -S neovim lua lua-language-server tree-sitter texlab stylua luarocks jdtls perl julia autojump pyright vscode-css-languageserver vscode-html-languageserver bash-language-server lazygit python-black proselint asmfmt typescript-language-server
@@ -34,3 +35,5 @@ yay -S okular vlc nextcloud-client p7zip zip unzip gnome-keyring noto-fonts thun
# LaTeX # LaTeX
yay -S texlive biber yay -S texlive biber
sudo npm i -g create-vue sitemap-generator-cli

View File

@@ -1,60 +0,0 @@
# Bar
## Attempt 1
Use Astal (https://aylur.github.io/astal) to write me a new status bar for hyprland. You may use JSX (be aware, it's not react, but gjs based and has therefore some limitations), but I prefer using the other syntax that is similar to what it was for AGS (the old version of astal), which more closely resembles GTK syntax. The bar should include the following, from left to right:
Left aligned
- Date & Time (with seconds, preferably)
- System stats (i.e. CPU, Memory util, Screen Brightness & Battery status, if available)
- Workspace number
Centered
- The window name
Right aligned (still left to right)
- System tray
- QuickAction menu in GNOME QuickAction menu style, but only the closed version showing icons for volume, mic, WiFi / Ethernet and a Power icon. For the icons (all throughout the bar) use the fluentui-icons (so the Windows 11 icons). If you can't provide them here, tell me what icon should go there and I will put it there manually
The actual QuickAction Menu (which you could also write in a separate file) will provide options where I can pick WiFi, Bluetooth (also turn it on and off), change volume of mic and output, pick the mic and output, have media controls and have a power menu).
For the QuickAction menu, provide a function that is exposed from the file to open and close it, as for all the features (like enabling BT, WiFi, etc).
### Followups
To the WiFi and Bluetooth menus, add the option to pick a WiFi Network / Bluetooth device. Please also fully extract the QuickActions menu to a separate file.
Now, can you also provide scss for the bar, such that:
- I have an easy way to customize colours (which I will be doing using one of my scripts, so having a separate colour config file will be a great option)
- it is very rounded (the corners)
- it has a very sleek, but modern design, with only a single accent colour
- Hovering over something clickable uses a hover colour
## Attempt 2
Using AstalNetwork, can you write a UI (that can be integrated into a popover) and a corresponding backend that allows me to:
- Turn on/off networking and WiFi
- Select a WiFi Network
- Some way of adding a new connection (can be a special UI or simply opens up another tool like nm-applet's network config)
- WiFi-Auto-Connect
- Exposes a function (or multiple) through which I can get (as a bindable porperty):
- Current up/down speed
- Connection type
- WiFi SSID (if applicable)
- WiFi Signal Strength (if applicable)
- Local IP
I would prefer if you could split up the logic from the UI, i.e. have the logic in a separate TS file and have the UI as its own TSX file and simply import the logic
# GTK THEME
Provide GTK CSS for Gtk 4, as short as possible, but including everything that is necessary to make it look good, where you have the following options for colours to pick. They will be replaced by a script (no need to provide that) according to some variables
- #000 (normal background)
- #111 (accent background, to differentiate, will be slightly brighter / darker
- #222 (secondary accent background, slightly brighter / darker than #111)
- #333 (inactive background, but could also be used to be slightly brighter / dark than #222)
- #555 (shadow colour)
- #555A (shadow colour, but as RGBA value)
- #F00 (accent colour, primary accent colour)
- #0F0 (secondary accent colour, use if it makes sense to differentiate from the primary accent)
- #00F (tertiary accent colour, use sparingly)
- #AAA (inactive colour, darker / brighter than primary foreground colour)
- #FFF (primary foreground colour)
Propose additional colours in a similar format (three-digit hex) and explain what they are for if necessary. Make the theme rounded and include as many of the widgets as needed or possible

View File

@@ -9,10 +9,6 @@
#██████████████ █████ ███████████████████████████████████████████████████████████████████████████████████████████████████ ██ #██████████████ █████ ███████████████████████████████████████████████████████████████████████████████████████████████████ ██
general {
grace = 15
}
# ┌ ┐ # ┌ ┐
# │ BACKGROUND │ # │ BACKGROUND │
# └ ┘ # └ ┘

15
scripts/laptop-docked Executable file
View File

@@ -0,0 +1,15 @@
#!/bin/sh
cp -f ~/.config/hypr/hyprland_docked.conf ~/.config/hypr/hyprland.conf
cp -f ~/.config/rofi/config_desktop.rasi ~/.config/rofi/config.rasi
echo " ==> Restarting ags... "
killall gjs
killall ags
sleep 5
ags run -d ~/projects/active/dotfiles/config/astal --gtk4 & disown
sleep 2
ags run -d ~/projects/active/dotfiles/config/ags/notifications & disown
echo " ==> Done! To revert to normal config, run change-wallpaper"

5
scripts/update-open-webui Executable file
View File

@@ -0,0 +1,5 @@
#!/bin/sh
docker container rm open-webui
docker image pull ghcr.io/open-webui/open-webui
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v /home/janis/projects/otherProjects/open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:latest

View File

@@ -28,10 +28,11 @@ const config = {
* Recursively find all files with extension in a directory * Recursively find all files with extension in a directory
* @param {string} dir The directory to search. Either absolute or relative path * @param {string} dir The directory to search. Either absolute or relative path
* @param {string} extension The file extension to look for * @param {string} extension The file extension to look for
* @param {boolean} cleanup If helper files (like .DS_STORE and Windows helpers should be auto-deleted)
* @param {string[]} ignoreList A list of filenames or directories to ignore * @param {string[]} ignoreList A list of filenames or directories to ignore
* @returns {{ files: string, directories: string }} returns a list of html files with their full path * @returns {{ files: string, directories: string }} returns a list of html files with their full path
*/ */
const treeWalker = (dir, extension, ignoreList) => { const treeWalker = (dir, extension, cleanup, ignoreList) => {
const ls = fs.readdirSync(dir); const ls = fs.readdirSync(dir);
const fileList = []; const fileList = [];
const dirList = []; const dirList = [];

16
setup
View File

@@ -23,7 +23,7 @@ echo "
" "
trap 'echo -e "\nCaught Ctrl+C, exiting..."; exit 1' SIGINT trap 'echo -e "\nCaught Ctrl+C, exiting..."; exit 130' SIGINT
# Read platform to install on (only if no platform file present in ~/.config/) # Read platform to install on (only if no platform file present in ~/.config/)
platform="" platform=""
@@ -59,16 +59,12 @@ cp -r ./config/rofi ~/.config/
# Depending on platform, remove one or the other config and rename remaining one # Depending on platform, remove one or the other config and rename remaining one
if [[ "$platform" == "d" ]]; then if [[ "$platform" == "d" ]]; then
echo "Running on desktop" echo "Running on desktop"
mv ~/.config/hypr/hyprland_desktop.conf ~/.config/hypr/hyprland.conf cp -f ~/.config/hypr/hyprland_desktop.conf ~/.config/hypr/hyprland.conf
rm ~/.config/hypr/hyprland_* cp -f ~/.config/rofi/config_desktop.rasi ~/.config/rofi/config.rasi
mv ~/.config/rofi/config_desktop.rasi ~/.config/rofi/config.rasi
rm ~/.config/rofi/config_*
else else
echo "Running on laptop" echo "Running on laptop"
mv ~/.config/hypr/hyprland_laptop.conf ~/.config/hypr/hyprland.conf cp -f ~/.config/hypr/hyprland_laptop.conf ~/.config/hypr/hyprland.conf
rm ~/.config/hypr/hyprland_* cp -f ~/.config/rofi/config_laptop.rasi ~/.config/rofi/config.rasi
mv ~/.config/rofi/config_laptop.rasi ~/.config/rofi/config.rasi
rm ~/.config/rofi/config_*
fi fi
cp -r ./config/kitty ~/.config/ cp -r ./config/kitty ~/.config/
@@ -85,7 +81,7 @@ cp ./config/lint/.indentconfig.yaml ~
echo " echo "
=> Installing yazi plugins => Installing yazi plugins
" "
ya pack -i ya pkg upgrade
echo " echo "
=> Installing GTK Theme => Installing GTK Theme