Compare commits
47 Commits
e36719997a
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 3ec778781d | |||
| 30425fa1e4 | |||
| b55b45f25e | |||
| 6bb29b7539 | |||
| 3481125919 | |||
| 798ecf40a2 | |||
| eabcc3de6b | |||
| bf9d570ff3 | |||
| 2c3c58e92d | |||
| bc2c508969 | |||
| 8b12bc3a3b | |||
| e628456780 | |||
| 3c463300b5 | |||
| 984027efcb | |||
| 1c12506728 | |||
| 568a81a94d | |||
| 9ee3da3100 | |||
| fab1c53cb3 | |||
| f29cf5e920 | |||
| 3ef8420a21 | |||
| 7805b3c98d | |||
| ccb5b1ab96 | |||
| c65c286606 | |||
| 34ce514c75 | |||
| 6e6376eee9 | |||
| d3617c3866 | |||
| 378cc51cc3 | |||
| 1bd5bebcda | |||
| d96970bc8d | |||
| 4bf3764855 | |||
| af00cb8735 | |||
| 1ba46fb540 | |||
| 6796b1a28f | |||
| 88575db93b | |||
| c14d09c169 | |||
| 939e9fbc88 | |||
| 93f9c77ad3 | |||
| 337b2f1ffd | |||
| cd1126b2ea | |||
| 22e667051a | |||
| b1f76d6ac2 | |||
| f171fe16fb | |||
| dac5c77bed | |||
| 4b3fd8bfa6 | |||
| 0506b1fa6d | |||
| d91355f602 | |||
| d5ce4b4b19 |
13
.config/Code/User/extensions.txt
Normal file
13
.config/Code/User/extensions.txt
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
github.copilot-chat
|
||||||
|
ms-azuretools.vscode-containers
|
||||||
|
ms-python.debugpy
|
||||||
|
ms-python.python
|
||||||
|
ms-python.vscode-pylance
|
||||||
|
ms-python.vscode-python-envs
|
||||||
|
ms-vscode-remote.remote-containers
|
||||||
|
ms-vscode.cmake-tools
|
||||||
|
ms-vscode.cpp-devtools
|
||||||
|
ms-vscode.cpptools
|
||||||
|
ms-vscode.cpptools-extension-pack
|
||||||
|
ms-vscode.cpptools-themes
|
||||||
|
tomoki1207.pdf
|
||||||
8
.config/Code/User/settings.json
Normal file
8
.config/Code/User/settings.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"explorer.confirmDragAndDrop": false,
|
||||||
|
"python.defaultInterpreterPath": "/sbin/python3.14",
|
||||||
|
"git.autofetch": true,
|
||||||
|
"explorer.confirmDelete": false,
|
||||||
|
"git.confirmSync": false,
|
||||||
|
"editor.fontSize": 12
|
||||||
|
}
|
||||||
@@ -46,7 +46,7 @@ decoration {
|
|||||||
animations {
|
animations {
|
||||||
enabled = yes
|
enabled = yes
|
||||||
|
|
||||||
# Light, fast easing — no bounce, no drag
|
bezier = overshoot, 0.22, 0.61, 0.36, 1.15
|
||||||
bezier = breeze, 0.22, 0.61, 0.36, 1.0
|
bezier = breeze, 0.22, 0.61, 0.36, 1.0
|
||||||
|
|
||||||
# Windows: quick, soft, intentional
|
# Windows: quick, soft, intentional
|
||||||
@@ -54,15 +54,14 @@ animations {
|
|||||||
animation = windowsOut, 1, 4, breeze, slidefade
|
animation = windowsOut, 1, 4, breeze, slidefade
|
||||||
|
|
||||||
# Workspaces: airy glide, finishes fast
|
# Workspaces: airy glide, finishes fast
|
||||||
animation = workspaces, 1, 5, breeze, slide
|
animation = workspaces, 1, 4, overshoot, slidefade
|
||||||
|
|
||||||
# Subtle polish
|
# Subtle polish
|
||||||
animation = fade, 1, 4, breeze
|
animation = fade, 1, 4, breeze
|
||||||
animation = windowsMove, 1, 3, breeze
|
animation = windowsMove, 1, 1, breeze
|
||||||
animation = border, 1, 3, breeze
|
animation = border, 1, 3, breeze
|
||||||
}
|
}
|
||||||
|
|
||||||
gesture = 3, horizontal, workspace
|
|
||||||
|
|
||||||
gesture = 3, down, fullscreen, 1
|
|
||||||
|
|
||||||
|
|||||||
5
.config/hypr/hypridle.conf
Normal file
5
.config/hypr/hypridle.conf
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
general {
|
||||||
|
lock_cmd = pidof hyprlock || hyprlock
|
||||||
|
before_sleep_cmd = loginctl lock-session
|
||||||
|
}
|
||||||
|
|
||||||
@@ -9,10 +9,15 @@ $browser = brave
|
|||||||
exec-once = /usr/lib/xdg-desktop-portal-hyprland &
|
exec-once = /usr/lib/xdg-desktop-portal-hyprland &
|
||||||
exec-once = /usr/lib/xdg-desktop-portal &
|
exec-once = /usr/lib/xdg-desktop-portal &
|
||||||
exec-once = hyprpaper
|
exec-once = hyprpaper
|
||||||
|
exec-once = hypridle
|
||||||
exec = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark" # for GTK4 apps
|
exec = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark" # for GTK4 apps
|
||||||
exec = gsettings set org.gnome.desktop.interface gtk-theme "adw-gtk3-dark" # for GTK3 apps
|
exec = gsettings set org.gnome.desktop.interface gtk-theme "adw-gtk3-dark" # for GTK3 apps
|
||||||
|
|
||||||
misc:initial_workspace_tracking=1
|
misc {
|
||||||
|
force_default_wallpaper = 0
|
||||||
|
disable_hyprland_logo = true
|
||||||
|
initial_workspace_tracking = 1
|
||||||
|
}
|
||||||
|
|
||||||
#############################
|
#############################
|
||||||
### ENVIRONMENT VARIABLES ###
|
### ENVIRONMENT VARIABLES ###
|
||||||
@@ -25,9 +30,9 @@ env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
|||||||
env = NVD_BACKEND,direct
|
env = NVD_BACKEND,direct
|
||||||
env = QT_QPA_PLATFORMTHEME,qt6ct # for Qt apps# Theme
|
env = QT_QPA_PLATFORMTHEME,qt6ct # for Qt apps# Theme
|
||||||
|
|
||||||
exec-once = waybar
|
|
||||||
exec-once = nextcloud
|
exec-once = nextcloud
|
||||||
exec-once = hyprctl setcursor Breeze 24
|
exec-once = waybar
|
||||||
|
exec-once = hyprctl setcursor breeze 24
|
||||||
|
|
||||||
source = ~/.config/hypr/input.conf
|
source = ~/.config/hypr/input.conf
|
||||||
source = ~/.config/hypr/keybinds.conf
|
source = ~/.config/hypr/keybinds.conf
|
||||||
|
|||||||
@@ -1 +1,3 @@
|
|||||||
splash = false
|
splash = false
|
||||||
|
preload = ~/.wallpapers/liminal.png
|
||||||
|
wallpaper = ,~/.wallpapers/liminal.png
|
||||||
|
|||||||
@@ -7,17 +7,25 @@ input {
|
|||||||
|
|
||||||
follow_mouse = 1
|
follow_mouse = 1
|
||||||
accel_profile = flat
|
accel_profile = flat
|
||||||
force_no_accel=2
|
|
||||||
|
|
||||||
sensitivity = 1
|
sensitivity = 0.75
|
||||||
|
|
||||||
touchpad {
|
touchpad {
|
||||||
natural_scroll = true
|
natural_scroll = true
|
||||||
scroll_factor = 0.2
|
scroll_factor = 0.45
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
device {
|
device {
|
||||||
name = logitech-usb-receiver
|
name = logitech-pro-x-1
|
||||||
sensitivity = 0
|
sensitivity = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gestures {
|
||||||
|
workspace_swipe_cancel_ratio = 0
|
||||||
|
workspace_swipe_min_speed_to_force = 10
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
gesture = 3, horizontal, scale: 0.1, workspace
|
||||||
|
gesture = 3, down, fullscreen
|
||||||
|
|||||||
@@ -47,16 +47,18 @@ bindel = $mainMod, L, exec, brightnessctl -e4 -n2 set 5%+
|
|||||||
bindel = $mainMod, K, exec, brightnessctl -e4 -n2 set 5%-
|
bindel = $mainMod, K, exec, brightnessctl -e4 -n2 set 5%-
|
||||||
|
|
||||||
# Volume
|
# Volume
|
||||||
bindl = , F4, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
bindl = , F6, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||||
bindl = , F5, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
|
bindl = , F7, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
|
||||||
bindl = , F6, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
bindl = , F8, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||||
bindl = , F7, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
bindl = , F9, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
||||||
|
|
||||||
# Playback (requires playerctl)
|
# Playback (requires playerctl)
|
||||||
bindl = , F2, exec, playerctl previous
|
bindl = , F3, exec, playerctl previous
|
||||||
bindl = , F1, exec, playerctl play-pause
|
bindl = , F4, exec, playerctl play-pause
|
||||||
bindl = , F3, exec, playerctl next
|
bindl = , F5, exec, playerctl next
|
||||||
|
|
||||||
|
bindl = , switch:on:Lid Switch, exec, hyprctl dispatch dpms off
|
||||||
|
bindl = , switch:off:Lid Switch, exec, hyprctl dispatch dpms on
|
||||||
|
|
||||||
bind = SUPER CTRL, left, swapwindow, l
|
bind = SUPER CTRL, left, swapwindow, l
|
||||||
bind = SUPER CTRL, right, swapwindow, r
|
bind = SUPER CTRL, right, swapwindow, r
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
"modules-right": [
|
"modules-right": [
|
||||||
"tray",
|
"tray",
|
||||||
"pulseaudio",
|
"pulseaudio",
|
||||||
|
"bluetooth",
|
||||||
"custom/micmute",
|
"custom/micmute",
|
||||||
"battery",
|
"battery",
|
||||||
"custom/power"
|
"custom/power"
|
||||||
@@ -62,6 +63,16 @@
|
|||||||
"on-click-right": "pavucontrol"
|
"on-click-right": "pavucontrol"
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"bluetooth": {
|
||||||
|
"format": " {num_connections}",
|
||||||
|
"format-connected": " {num_connections}",
|
||||||
|
"format-disabled": "",
|
||||||
|
"tooltip-format-connected": "{device_enumerate}",
|
||||||
|
"tooltip-format-enumerate-connected": " {device_alias} ({device_battery_percentage}%)",
|
||||||
|
"on-click": "blueman-manager",
|
||||||
|
"on-click-right": "bluectl power toggle"
|
||||||
|
},
|
||||||
|
|
||||||
"battery": {
|
"battery": {
|
||||||
"interval":2,
|
"interval":2,
|
||||||
"states": {
|
"states": {
|
||||||
|
|||||||
@@ -1,148 +1,238 @@
|
|||||||
@define-color Buttons #262522;
|
/* ============================================================
|
||||||
@define-color Buttonshover #4d4a44;
|
WAYBAR STYLE — Dark Industrial / Refined Utility
|
||||||
@define-color Text #A69F92;
|
Palette: deep charcoal base, amber accents, cool greys
|
||||||
|
============================================================ */
|
||||||
|
|
||||||
|
/* ── Root Variables ───────────────────────────────────────── */
|
||||||
/* --- Global Styles --- */
|
|
||||||
* {
|
* {
|
||||||
font-family: "JetBrainsMono Nerd Font Propo";
|
font-family: "JetBrainsMono Nerd Font Propo";
|
||||||
font-size: 14px;
|
font-size: 13px;
|
||||||
min-height: 25px;
|
|
||||||
padding-right: 0px;
|
|
||||||
padding-left: 0px;
|
|
||||||
padding-bottom: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* --- Waybar Container --- */
|
|
||||||
#waybar {
|
|
||||||
background: transparent;
|
|
||||||
color: #c6d0f5;
|
|
||||||
margin: 0px;
|
|
||||||
font-weight: 500;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* --- Left Modules (Individual, Fully Rounded Blocks - With Horizontal Spacing & Simple Hover) --- */
|
|
||||||
#workspaces,
|
|
||||||
#cpu,
|
|
||||||
#memory{
|
|
||||||
background-color: @Buttons;
|
|
||||||
padding: 0.3rem 0.7rem;
|
|
||||||
margin: 5px 0px; /* 5px top/bottom margin, 0px left/right (base for individual control) */
|
|
||||||
border-radius: 10px; /* These modules are always rounded */
|
|
||||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
||||||
min-width: 0;
|
|
||||||
border: none;
|
border: none;
|
||||||
/* Transition for background-color and color only */
|
border-radius: 0;
|
||||||
transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
|
}
|
||||||
|
|
||||||
|
/* ── Bar ──────────────────────────────────────────────────── */
|
||||||
|
window#waybar {
|
||||||
|
background: rgba(10, 10, 14, 0);
|
||||||
|
color: #dcdce8;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ── Tooltip ──────────────────────────────────────────────── */
|
||||||
|
tooltip {
|
||||||
|
background: #0e0e12;
|
||||||
|
border: 1px solid rgba(255, 180, 60, 0.35);
|
||||||
|
color: #dcdce8;
|
||||||
|
padding: 6px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip label {
|
||||||
|
color: #dcdce8;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ── Shared Module Base ───────────────────────────────────── */
|
||||||
|
#clock,
|
||||||
|
#cpu,
|
||||||
|
#memory,
|
||||||
|
#pulseaudio,
|
||||||
|
#bluetooth,
|
||||||
|
#battery,
|
||||||
|
#tray,
|
||||||
|
#custom-micmute,
|
||||||
|
#custom-power {
|
||||||
|
padding: 6px 12px;
|
||||||
|
margin: 5px 0;
|
||||||
|
color: #dcdce8;
|
||||||
|
background: rgba(10, 10, 14, 0.3);
|
||||||
|
transition: color 0.2s ease, background 0.2s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ── Separator dots between modules ──────────────────────── */
|
||||||
|
#cpu,
|
||||||
|
#memory,
|
||||||
|
#pulseaudio,
|
||||||
|
#bluetooth,
|
||||||
|
#custom-micmute,
|
||||||
|
#battery {
|
||||||
|
border-left: 1px solid rgba(255, 255, 255, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ═══════════════════════════════════════════════════════════
|
||||||
|
LEFT — System Info: Clock · CPU · Memory
|
||||||
|
═══════════════════════════════════════════════════════════ */
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
font-family: "JetBrainsMono Nerd Font Propo";
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 12.5px;
|
||||||
|
color: #f0de9c;
|
||||||
|
letter-spacing: 0.04em;
|
||||||
|
padding-left: 0.4em;
|
||||||
|
border-left: 3px solid rgba(255, 180, 60, 0.3);
|
||||||
|
margin-left: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cpu {
|
||||||
|
color: #b8d8ee;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cpu:hover {
|
||||||
|
color: #d8f0ff;
|
||||||
|
background: rgba(160, 196, 216, 0.14);
|
||||||
}
|
}
|
||||||
|
|
||||||
#memory {
|
#memory {
|
||||||
margin: 5px 10px;
|
color: #b0d4be;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#memory:hover {
|
||||||
|
color: #ceeede;
|
||||||
|
background: rgba(157, 191, 173, 0.14);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ═══════════════════════════════════════════════════════════
|
||||||
|
CENTER — Workspaces
|
||||||
|
═══════════════════════════════════════════════════════════ */
|
||||||
|
|
||||||
#workspaces {
|
#workspaces {
|
||||||
padding: 0px;
|
margin: 0;
|
||||||
border-radius: 10px;
|
padding: 0;
|
||||||
}
|
background: transparent;
|
||||||
|
|
||||||
|
|
||||||
/* Simple Hover effects for individual left modules - BRIGHTER COLOR */
|
|
||||||
#cpu:hover, #memory:hover {
|
|
||||||
background-color: @Buttonshover; /* Brighter highlight */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces button {
|
#workspaces button {
|
||||||
color: @Text;
|
font-family: 'JetBrains Nerd Font Propo';
|
||||||
border-radius: 10px; /* Workspaces buttons are always rounded */
|
font-size: 12px;
|
||||||
padding: 0.3rem 0.6rem;
|
padding: 2px 10px;
|
||||||
background: transparent;
|
margin: 4px 2px;
|
||||||
transition: all 0.2s ease-in-out;
|
color: #6e6e88;
|
||||||
border: none;
|
background: rgba(255, 255, 255, 0.05);
|
||||||
outline: none;
|
border: 1px solid transparent;
|
||||||
}
|
border-radius: 3px;
|
||||||
|
transition: all 0.15s ease;
|
||||||
#workspaces button.active {
|
min-width: 32px;
|
||||||
color: @Text;
|
|
||||||
background-color: rgba(153, 209, 219, 0.1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces button:hover {
|
#workspaces button:hover {
|
||||||
background: @Buttonshover; /* Reference bright hover color */
|
color: #c0c0d8;
|
||||||
color: @Text;
|
background: rgba(255, 255, 255, 0.1);
|
||||||
|
border-color: rgba(255, 255, 255, 0.15);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* --- Center Module (Individual, Fully Rounded Block - With Simple Hover) --- */
|
#workspaces button.active {
|
||||||
#clock {
|
color: #f0c060;
|
||||||
background-color: @Buttons;
|
background: rgba(255, 180, 60, 0.14);
|
||||||
padding: 0.3rem 0.7rem;
|
border-color: rgba(255, 180, 60, 0.5);
|
||||||
margin: 5px 0px;
|
font-weight: 600;
|
||||||
margin-left: 7px;
|
}
|
||||||
margin-right: 10px;
|
|
||||||
border-radius: 10px; /* This module is always rounded */
|
#workspaces button.urgent {
|
||||||
min-width: 0;
|
color: #f08080;
|
||||||
border: none;
|
background: rgba(240, 80, 80, 0.15);
|
||||||
transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
|
border-color: rgba(240, 80, 80, 0.45);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Simple Hover effect for clock module - BRIGHTER COLOR */
|
/* ═══════════════════════════════════════════════════════════
|
||||||
#clock:hover {
|
RIGHT — Audio · Bluetooth · Mic · Battery · Power
|
||||||
background-color: @Buttonshover; /* Brighter highlight */
|
═══════════════════════════════════════════════════════════ */
|
||||||
|
|
||||||
|
/* ── Tray ─────────────────────────────────────────────────── */
|
||||||
|
#tray {
|
||||||
|
padding: 2px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray > .passive {
|
||||||
|
-gtk-icon-effect: dim;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray > .needs-attention {
|
||||||
|
-gtk-icon-effect: highlight;
|
||||||
|
background-color: rgba(240, 120, 60, 0.25);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ── Audio ────────────────────────────────────────────────── */
|
||||||
|
#pulseaudio {
|
||||||
|
color: #c4bce8;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio:hover {
|
||||||
|
color: #e0d8ff;
|
||||||
|
background: rgba(176, 168, 216, 0.14);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ── Bluetooth ────────────────────────────────────────────── */
|
||||||
|
#bluetooth {
|
||||||
|
color: #90c8f0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#bluetooth.connected {
|
||||||
|
color: #70d8ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#bluetooth:hover {
|
||||||
|
background: rgba(128, 184, 224, 0.14);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ── Microphone Mute ──────────────────────────────────────── */
|
||||||
|
#custom-micmute {
|
||||||
|
color: #b0d4be;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-micmute.muted {
|
||||||
|
color: #585870;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* --- Right Modules (Single, Seamless Bar ) --- */
|
|
||||||
#custom-power:hover,
|
|
||||||
#pulseaudio:hover,
|
|
||||||
#battery:hover,
|
|
||||||
#tray:hover,
|
|
||||||
#custom-micmute:hover {
|
#custom-micmute:hover {
|
||||||
background-color: @Buttonshover;
|
background: rgba(157, 191, 173, 0.14);
|
||||||
}
|
|
||||||
|
|
||||||
#cpu, #memory {
|
|
||||||
color: @Text;
|
|
||||||
}
|
|
||||||
|
|
||||||
#clock {
|
|
||||||
color: @Text;
|
|
||||||
font-weight: 500;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#tray, #battery, #pulseaudio, #custom-power, #custom-micmute {
|
|
||||||
background-color: @Buttons;
|
|
||||||
color: @Text;
|
|
||||||
border-radius: 10px;
|
|
||||||
padding: 0.7rem;
|
|
||||||
margin: 0.35rem;
|
|
||||||
transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-power {
|
|
||||||
margin-right: 11px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ── Battery ──────────────────────────────────────────────── */
|
||||||
#battery {
|
#battery {
|
||||||
color: @Text;
|
color: #b8dc98;
|
||||||
}
|
}
|
||||||
#battery.charging {
|
|
||||||
color: @Text;
|
#battery.charging,
|
||||||
|
#battery.plugged {
|
||||||
|
color: #d4f098;
|
||||||
}
|
}
|
||||||
|
|
||||||
#battery.warning:not(.charging) {
|
#battery.warning:not(.charging) {
|
||||||
color: @Text;
|
color: #eecb68;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#battery.critical:not(.charging) {
|
||||||
/* --- Tooltip Styles --- */
|
color: #f07060;
|
||||||
tooltip {
|
animation: battery-pulse 1.5s ease-in-out infinite;
|
||||||
background-color: #1a1b26;
|
|
||||||
color: #dddddd;
|
|
||||||
padding: 5px 12px;
|
|
||||||
margin: 5px 0px;
|
|
||||||
border-radius: 6px;
|
|
||||||
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
||||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
|
|
||||||
font-size: 12px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@keyframes battery-pulse {
|
||||||
|
0% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
opacity: 0.4;
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery:hover {
|
||||||
|
background: rgba(168, 204, 136, 0.14);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ── Power Button ─────────────────────────────────────────── */
|
||||||
|
#custom-power {
|
||||||
|
color: #d07070;
|
||||||
|
font-size: 14px;
|
||||||
|
padding: 2px 14px 2px 12px;
|
||||||
|
margin-right: 8px;
|
||||||
|
border-right: 3px solid rgba(255, 0, 0, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-power:hover {
|
||||||
|
color: #f09090;
|
||||||
|
background: rgba(200, 60, 60, 0.2);
|
||||||
|
}
|
||||||
|
|||||||
36
.config/wlogout/layout
Normal file
36
.config/wlogout/layout
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"label" : "lock",
|
||||||
|
"action" : "loginctl lock-session",
|
||||||
|
"text" : "Lock",
|
||||||
|
"keybind" : "l"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "hibernate",
|
||||||
|
"action" : "systemctl hibernate",
|
||||||
|
"text" : "Hibernate",
|
||||||
|
"keybind" : "h"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "logout",
|
||||||
|
"action" : "hyprctl dispatch exit",
|
||||||
|
"text" : "Logout",
|
||||||
|
"keybind" : "e"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "shutdown",
|
||||||
|
"action" : "systemctl poweroff",
|
||||||
|
"text" : "Shutdown",
|
||||||
|
"keybind" : "s"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "suspend",
|
||||||
|
"action" : "systemctl suspend",
|
||||||
|
"text" : "Suspend",
|
||||||
|
"keybind" : "u"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "reboot",
|
||||||
|
"action" : "systemctl reboot",
|
||||||
|
"text" : "Reboot",
|
||||||
|
"keybind" : "r"
|
||||||
|
}
|
||||||
50
.config/wlogout/style.css
Normal file
50
.config/wlogout/style.css
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
* {
|
||||||
|
background-image: none;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
background-color: rgba(12, 12, 12, 0.9);
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
border-radius: 0;
|
||||||
|
border-color: black;
|
||||||
|
text-decoration-color: #FFFFFF;
|
||||||
|
color: #FFFFFF;
|
||||||
|
background-color: #1E1E1E;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 1px;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: center;
|
||||||
|
background-size: 25%;
|
||||||
|
}
|
||||||
|
|
||||||
|
button:focus, button:active, button:hover {
|
||||||
|
background-color: #3700B3;
|
||||||
|
outline-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#lock {
|
||||||
|
background-image: image(url("/usr/share/wlogout/icons/lock.png"), url("/usr/local/share/wlogout/icons/lock.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#logout {
|
||||||
|
background-image: image(url("/usr/share/wlogout/icons/logout.png"), url("/usr/local/share/wlogout/icons/logout.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#suspend {
|
||||||
|
background-image: image(url("/usr/share/wlogout/icons/suspend.png"), url("/usr/local/share/wlogout/icons/suspend.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#hibernate {
|
||||||
|
background-image: image(url("/usr/share/wlogout/icons/hibernate.png"), url("/usr/local/share/wlogout/icons/hibernate.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#shutdown {
|
||||||
|
background-image: image(url("/usr/share/wlogout/icons/shutdown.png"), url("/usr/local/share/wlogout/icons/shutdown.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#reboot {
|
||||||
|
background-image: image(url("/usr/share/wlogout/icons/reboot.png"), url("/usr/local/share/wlogout/icons/reboot.png"));
|
||||||
|
}
|
||||||
@@ -1,3 +1,10 @@
|
|||||||
[user]
|
[user]
|
||||||
email = dylanseandefaoite@gmail.com
|
email = dylanseandefaoite@gmail.com
|
||||||
name = Dylan De Faoite
|
name = Dylan De Faoite
|
||||||
|
[filter "lfs"]
|
||||||
|
clean = git-lfs clean -- %f
|
||||||
|
smudge = git-lfs smudge -- %f
|
||||||
|
process = git-lfs filter-process
|
||||||
|
required = true
|
||||||
|
[core]
|
||||||
|
autocrlf = input
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 54 KiB |
@@ -3,4 +3,11 @@
|
|||||||
2) Add `monitors.conf` in `~/.config/hypr/` for your specific monitor setup
|
2) Add `monitors.conf` in `~/.config/hypr/` for your specific monitor setup
|
||||||
|
|
||||||
# Packages
|
# Packages
|
||||||
- Used `pacman -Qqen > packages.txt` to get all explicit packages
|
- Used `sudo pacman -Qqen` to get all explicit offical packages
|
||||||
|
- Used `sudo pacman -Qqem` to get all explicit unofficial AUR packages
|
||||||
|
## Meaning
|
||||||
|
- `-Q`: Query local package database
|
||||||
|
- `-q`: Quiet flag, print only package name
|
||||||
|
- `-e`: Only show **explicitly** installed packages
|
||||||
|
- `-n`: Native packages only
|
||||||
|
- `-m`: Foreign packages only
|
||||||
|
|||||||
235
bootstrap.sh
Executable file → Normal file
235
bootstrap.sh
Executable file → Normal file
@@ -1,8 +1,235 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
# =============================================================================
|
||||||
|
# birch-dots bootstrap.sh
|
||||||
|
# Goes from a bare Arch install to a fully configured Hyprland desktop.
|
||||||
|
# Run as your normal user (with sudo access), NOT as root.
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
## SDDM Confs
|
set -euo pipefail
|
||||||
|
|
||||||
|
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
PKG_DIR="$REPO_ROOT/packages"
|
||||||
|
|
||||||
|
# Colours
|
||||||
|
GREEN='\033[0;32m'
|
||||||
|
YELLOW='\033[1;33m'
|
||||||
|
RED='\033[0;31m'
|
||||||
|
NC='\033[0m'
|
||||||
|
|
||||||
|
log() { echo -e "${GREEN}==>${NC} $*"; }
|
||||||
|
warn() { echo -e "${YELLOW}[!]${NC} $*"; }
|
||||||
|
die() { echo -e "${RED}[✗]${NC} $*"; exit 1; }
|
||||||
|
|
||||||
|
# Guard: must not run as root
|
||||||
|
[[ "$EUID" -ne 0 ]] || die "Run as your normal user, not root."
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# 1. SYSTEM SETUP
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
log "Setting locale (en_IE.UTF-8)"
|
||||||
|
sudo sed -i 's/^#en_IE.UTF-8 UTF-8/en_IE.UTF-8 UTF-8/' /etc/locale.gen
|
||||||
|
sudo locale-gen
|
||||||
|
echo "LANG=en_IE.UTF-8" | sudo tee /etc/locale.conf > /dev/null
|
||||||
|
|
||||||
|
log "Setting keymap (uk)"
|
||||||
|
echo "KEYMAP=uk" | sudo tee /etc/vconsole.conf > /dev/null
|
||||||
|
|
||||||
|
log "Setting timezone (Europe/Dublin)"
|
||||||
|
sudo ln -sf /usr/share/zoneinfo/Europe/Dublin /etc/localtime
|
||||||
|
sudo hwclock --systohc
|
||||||
|
|
||||||
|
log "Setting hostname"
|
||||||
|
read -rp " Enter hostname [dylanvm]: " HOSTNAME
|
||||||
|
HOSTNAME="${HOSTNAME:-dylanvm}"
|
||||||
|
echo "$HOSTNAME" | sudo tee /etc/hostname > /dev/null
|
||||||
|
sudo tee /etc/hosts > /dev/null <<EOF
|
||||||
|
127.0.0.1 localhost
|
||||||
|
::1 localhost
|
||||||
|
127.0.1.1 $HOSTNAME.localdomain $HOSTNAME
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# 2. NETWORKING
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
log "Enabling NetworkManager"
|
||||||
|
sudo systemctl enable --now NetworkManager
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# 3. PACMAN SETUP
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
log "Configuring pacman (colour + parallel downloads)"
|
||||||
|
sudo sed -i 's/^#Color/Color/' /etc/pacman.conf
|
||||||
|
sudo sed -i 's/^#ParallelDownloads.*/ParallelDownloads = 5/' /etc/pacman.conf
|
||||||
|
|
||||||
|
log "Enabling multilib repo"
|
||||||
|
sudo sed -i '/\[multilib\]/,/Include/s/^#//' /etc/pacman.conf
|
||||||
|
|
||||||
|
log "Updating mirrors and syncing package database"
|
||||||
|
sudo pacman -Sy --noconfirm reflector 2>/dev/null || true
|
||||||
|
sudo reflector --country Ireland,Germany --age 12 --protocol https \
|
||||||
|
--sort rate --save /etc/pacman.d/mirrorlist 2>/dev/null \
|
||||||
|
|| warn "reflector failed, using existing mirrorlist"
|
||||||
|
sudo pacman -Syyu --noconfirm
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# 4. PACMAN PACKAGES
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
log "Installing pacman packages"
|
||||||
|
for file in "$PKG_DIR"/pacman/*.txt; do
|
||||||
|
log " → $(basename "$file")"
|
||||||
|
while IFS= read -r pkg; do
|
||||||
|
[[ -z "$pkg" || "$pkg" == \#* ]] && continue
|
||||||
|
sudo pacman -S --needed --noconfirm "$pkg" \
|
||||||
|
|| warn " Skipping pacman package not found: $pkg"
|
||||||
|
done < "$file"
|
||||||
|
done
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# 5. ZSH AS DEFAULT SHELL
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
log "Setting zsh as default shell"
|
||||||
|
chsh -s /bin/zsh
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# 6. YAY (AUR HELPER)
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
log "Installing yay"
|
||||||
|
if ! command -v yay &>/dev/null; then
|
||||||
|
tmpdir=$(mktemp -d)
|
||||||
|
git clone https://aur.archlinux.org/yay.git "$tmpdir/yay"
|
||||||
|
pushd "$tmpdir/yay" > /dev/null
|
||||||
|
makepkg -si --noconfirm
|
||||||
|
popd > /dev/null
|
||||||
|
rm -rf "$tmpdir"
|
||||||
|
else
|
||||||
|
log " yay already installed, skipping"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# 7. AUR PACKAGES
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
log "Installing AUR packages"
|
||||||
|
for file in "$PKG_DIR"/aur/*.txt; do
|
||||||
|
log " → $(basename "$file")"
|
||||||
|
while IFS= read -r pkg; do
|
||||||
|
[[ -z "$pkg" || "$pkg" == \#* ]] && continue
|
||||||
|
yay -S --needed --noconfirm "$pkg" \
|
||||||
|
|| warn " Skipping AUR package not found: $pkg"
|
||||||
|
done < "$file"
|
||||||
|
done
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# 8. POWERLEVEL10K
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
log "Installing Powerlevel10k"
|
||||||
|
if [[ ! -d "$HOME/powerlevel10k" ]]; then
|
||||||
|
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \
|
||||||
|
"$HOME/powerlevel10k"
|
||||||
|
else
|
||||||
|
log " powerlevel10k already present, skipping"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# 9. DOTFILES
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
log "Deploying dotfiles from repo into HOME"
|
||||||
|
# Copy everything except git internals, system/, packages/, bootstrap.sh
|
||||||
|
rsync -av --exclude='.git' \
|
||||||
|
--exclude='system/' \
|
||||||
|
--exclude='packages/' \
|
||||||
|
--exclude='bootstrap.sh' \
|
||||||
|
--exclude='README.md' \
|
||||||
|
--exclude='dotfiles_log.txt' \
|
||||||
|
"$REPO_ROOT/" "$HOME/"
|
||||||
|
|
||||||
|
# Make scripts executable
|
||||||
|
find "$HOME/.config" -name "*.sh" -exec chmod +x {} \;
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# 10. SYSTEM CONFIG FILES (SDDM etc.)
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
log "Applying SDDM configuration"
|
||||||
sudo mkdir -p /etc/sddm.conf.d
|
sudo mkdir -p /etc/sddm.conf.d
|
||||||
sudo cp -a system/sddm.conf.d /etc/
|
sudo cp -a "$REPO_ROOT/system/sddm.conf.d/." /etc/sddm.conf.d/
|
||||||
sudo cp -a system/sddm /etc/
|
sudo cp -a "$REPO_ROOT/system/sddm/." /etc/sddm/
|
||||||
sudo chown -R root:root /etc/sddm.conf.d /etc/sddm
|
sudo chown -R root:root /etc/sddm.conf.d /etc/sddm
|
||||||
sudo chmod -R 644 /etc/sddm.conf.d /etc/sddm
|
sudo chmod 644 /etc/sddm.conf.d/*.conf
|
||||||
|
sudo chmod +x /etc/sddm/scripts/Xsetup 2>/dev/null || true
|
||||||
|
|
||||||
|
log "Enabling SDDM"
|
||||||
|
sudo systemctl enable sddm
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# 11. SERVICES
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
log "Enabling system services"
|
||||||
|
sudo systemctl enable bluetooth
|
||||||
|
sudo systemctl enable docker
|
||||||
|
sudo usermod -aG docker "$USER"
|
||||||
|
sudo systemctl enable earlyoom 2>/dev/null || true
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# 12. MONITOR CONFIG (machine-specific)
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
MONITORS_CONF="$HOME/.config/hypr/monitors.conf"
|
||||||
|
if [[ ! -f "$MONITORS_CONF" ]]; then
|
||||||
|
warn "No monitors.conf found — creating a safe default (single monitor)"
|
||||||
|
cat > "$MONITORS_CONF" <<'EOF'
|
||||||
|
# Auto-generated default — replace with your actual monitor config.
|
||||||
|
# See: https://wiki.hyprland.org/Configuring/Monitors/
|
||||||
|
monitor = , preferred, auto, 1
|
||||||
|
EOF
|
||||||
|
warn "Edit ~/.config/hypr/monitors.conf before starting Hyprland."
|
||||||
|
else
|
||||||
|
log "monitors.conf already exists, skipping"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# 13. VSCODE EXTENSIONS
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
EXTENSIONS_FILE="$HOME/.config/Code/User/extensions.txt"
|
||||||
|
if command -v code &>/dev/null && [[ -f "$EXTENSIONS_FILE" ]]; then
|
||||||
|
log "Installing VS Code extensions"
|
||||||
|
while IFS= read -r ext; do
|
||||||
|
code --install-extension "$ext" --force 2>/dev/null || true
|
||||||
|
done < "$EXTENSIONS_FILE"
|
||||||
|
else
|
||||||
|
warn "VS Code not found or extensions.txt missing — skipping"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# 14. WALLPAPER DIRECTORY
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
log "Creating wallpaper directory"
|
||||||
|
mkdir -p "$HOME/.wallpapers"
|
||||||
|
warn "Add wallpapers to ~/.wallpapers/ for hyprpaper + wofi selector to work."
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# DONE
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo -e "${GREEN}============================================${NC}"
|
||||||
|
echo -e "${GREEN} Bootstrap complete!${NC}"
|
||||||
|
echo -e "${GREEN}============================================${NC}"
|
||||||
|
echo ""
|
||||||
|
echo " Next steps:"
|
||||||
|
echo " 1. Edit ~/.config/hypr/monitors.conf for your display layout"
|
||||||
|
echo " 2. Add wallpapers to ~/.wallpapers/"
|
||||||
|
echo " 3. Run p10k configure after first zsh launch"
|
||||||
|
echo " 4. Reboot"
|
||||||
|
echo ""
|
||||||
|
|||||||
21
common-issues.md
Normal file
21
common-issues.md
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
# Creating a new user
|
||||||
|
1) Login to root account
|
||||||
|
2) Type `useradd -m -G wheel -s /bin/bash <NAME>`
|
||||||
|
3) Install `sudo` and `nvim`
|
||||||
|
4) Type `EDITOR=nvim visudo`
|
||||||
|
5) Uncomment the line `# %wheel ALL=(ALL:ALL) ALL`
|
||||||
|
- Towards the end of the file
|
||||||
|
|
||||||
|
# Broken Internet Access on VM
|
||||||
|
- This works for a VM with `enp1s0` link.
|
||||||
|
```
|
||||||
|
ip addr add 192.168.122.100/24 dev enp1s0
|
||||||
|
ip route add default via 192.168.122.1
|
||||||
|
echo "nameserver 8.8.8.8" > /etc/resolv.conf
|
||||||
|
ping 8.8.8.8
|
||||||
|
```
|
||||||
|
- Then install dhcpcd
|
||||||
|
```
|
||||||
|
pacman -S dhcpcd
|
||||||
|
systemctl enable --now dhcpcd@enp1s0
|
||||||
|
```
|
||||||
3
packages/aur/apps.txt
Normal file
3
packages/aur/apps.txt
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
brave-bin
|
||||||
|
play-timer
|
||||||
|
spotify
|
||||||
2
packages/aur/desktop.txt
Normal file
2
packages/aur/desktop.txt
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
sddm-sugar-candy-git
|
||||||
|
wlogout
|
||||||
4
packages/aur/dev.txt
Normal file
4
packages/aur/dev.txt
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
visual-studio-code-bin
|
||||||
|
intellij-idea-ultimate-edition
|
||||||
|
bruno
|
||||||
|
jre-openjdk
|
||||||
1
packages/aur/fonts.txt
Normal file
1
packages/aur/fonts.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
apple-fonts
|
||||||
@@ -1,11 +1,7 @@
|
|||||||
chromium
|
|
||||||
discord
|
discord
|
||||||
obsidian
|
obsidian
|
||||||
anki
|
anki
|
||||||
libreoffice-fresh
|
libreoffice-fresh
|
||||||
foliate
|
|
||||||
file-roller
|
file-roller
|
||||||
kate
|
kate
|
||||||
nextcloud-client
|
nextcloud-client
|
||||||
cmatrix
|
|
||||||
quickshell
|
|
||||||
@@ -1,8 +1,5 @@
|
|||||||
hyprland
|
hyprland
|
||||||
hyprpaper
|
hyprpaper
|
||||||
hyprcursor
|
|
||||||
hyprlang
|
|
||||||
hyprutils
|
|
||||||
waybar
|
waybar
|
||||||
wofi
|
wofi
|
||||||
mako
|
mako
|
||||||
@@ -19,26 +16,21 @@ pavucontrol
|
|||||||
pipewire-alsa
|
pipewire-alsa
|
||||||
pipewire-jack
|
pipewire-jack
|
||||||
pipewire-pulse
|
pipewire-pulse
|
||||||
|
wireplumber
|
||||||
xdg-desktop-portal-hyprland
|
xdg-desktop-portal-hyprland
|
||||||
xdg-desktop-portal-wlr
|
|
||||||
qt5ct
|
qt5ct
|
||||||
qt6ct
|
qt6ct
|
||||||
qt6-wayland
|
qt6-wayland
|
||||||
adw-gtk-theme
|
adw-gtk-theme
|
||||||
breeze
|
breeze
|
||||||
inter-font
|
|
||||||
ttf-0xproto-nerd
|
|
||||||
ttf-jetbrains-mono-nerd
|
|
||||||
ttf-noto-nerd
|
|
||||||
woff2-font-awesome
|
|
||||||
lxappearance
|
lxappearance
|
||||||
kvantum-qt5
|
kvantum-qt5
|
||||||
sddm
|
sddm
|
||||||
sddm-sugar-candy-git
|
|
||||||
libva-nvidia-driver
|
libva-nvidia-driver
|
||||||
nvidia-open
|
nvidia-open
|
||||||
nvidia-settings
|
nvidia-settings
|
||||||
nvidia-utils
|
nvidia-utils
|
||||||
|
lib32-nvidia-utils
|
||||||
sof-firmware
|
sof-firmware
|
||||||
alsa-utils
|
alsa-utils
|
||||||
blueman
|
blueman
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
git
|
git
|
||||||
|
git-lfs
|
||||||
neovim
|
neovim
|
||||||
vim
|
|
||||||
tmux
|
tmux
|
||||||
fzf
|
fzf
|
||||||
btop
|
btop
|
||||||
@@ -13,6 +13,7 @@ python
|
|||||||
python-pip
|
python-pip
|
||||||
python-pipx
|
python-pipx
|
||||||
python-pydbus
|
python-pydbus
|
||||||
|
python-virtualenv
|
||||||
npm
|
npm
|
||||||
jdk21-openjdk
|
jdk21-openjdk
|
||||||
maven
|
maven
|
||||||
@@ -21,9 +22,9 @@ docker
|
|||||||
docker-compose
|
docker-compose
|
||||||
postgresql
|
postgresql
|
||||||
postgresql-libs
|
postgresql-libs
|
||||||
libdwarf
|
|
||||||
nmap
|
nmap
|
||||||
ncdu
|
ncdu
|
||||||
ufw
|
ufw
|
||||||
sshfs
|
sshfs
|
||||||
nvidia-container-toolkit
|
nvidia-container-toolkit
|
||||||
|
rsync
|
||||||
10
packages/pacman/fonts.txt
Normal file
10
packages/pacman/fonts.txt
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
inter-font
|
||||||
|
ttf-0xproto-nerd
|
||||||
|
ttf-jetbrains-mono-nerd
|
||||||
|
ttf-noto-nerd
|
||||||
|
woff2-font-awesome
|
||||||
|
noto-fonts
|
||||||
|
noto-fonts-emoji
|
||||||
|
noto-fonts-cjk
|
||||||
|
ttf-dejavu
|
||||||
|
ttf-liberation
|
||||||
@@ -5,3 +5,4 @@ obs-studio
|
|||||||
gpu-screen-recorder
|
gpu-screen-recorder
|
||||||
gpu-screen-recorder-ui
|
gpu-screen-recorder-ui
|
||||||
wf-recorder
|
wf-recorder
|
||||||
|
yt-dlp
|
||||||
Reference in New Issue
Block a user