Compare commits
20
Commits
new
..
new-waybar
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
03bbcd2434 | ||
|
|
f484f5a2c8 | ||
|
|
a43d446f2c | ||
|
|
2d1e44d45b | ||
|
|
1fc8748f91 | ||
|
|
95825dc8d1 | ||
|
|
4cfee8e16b | ||
|
|
9387be3be8 | ||
|
|
49d3f7550e | ||
|
|
2fdc8e735a | ||
|
|
8f0f861b5f | ||
|
|
33b27d9410 | ||
|
|
3517e7be3f | ||
|
|
ffdf09d173 | ||
|
|
3ca3f2eece | ||
|
|
17e404b67c | ||
|
|
66f85fe590 | ||
|
|
1a97f301c2 | ||
|
|
dce6a6cafb | ||
|
|
2ab86906c7 |
@@ -11,11 +11,6 @@ For my neovim config, see [here](https://git.janishutz.com/janishutz/nvim)
|
||||
|
||||
The whole desktop will likely eventually move back to Waybar (because it has evolved massively since I last used it and now supports custom menus)
|
||||
|
||||
DankMaterialShell is a stop-gap solution, which, albeit it looking nice,
|
||||
doesn't go well with my ethos of using non-slop programs.
|
||||
Luckily, I can keep most of my configs when moving to something else, because I will be using Matugen.
|
||||
The plan is to use some of the config templates from DMS (or some other source) for matugen for my own desktop with some changes
|
||||
|
||||
Furthermore, my system may migrate to NixOS by early September 2026, to finally have my laptop and desktop configs synced properly
|
||||
|
||||
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
# TODOs
|
||||
- [X] Notifications management via dms
|
||||
- [X] Launcher via dms
|
||||
- [X] DMS screenshots
|
||||
- [X] Hyprland theming using mutagen with dms integration
|
||||
- [ ] DMS config sync to here using script
|
||||
- [ ] Remove `decman` because it's a pain and use smaller scope `archmgr` (only copy all files to locations always and package diff)
|
||||
- [ ] Generate matugen stuff from colour in new script
|
||||
- [X] Binds for other DMS features (with subcommand)
|
||||
- [X] Finish decman config
|
||||
- [X] Remove wlogout and replace with dms setup
|
||||
- [ ] Yazi theming
|
||||
- [X] Kitty theming
|
||||
- [ ] Fish theming
|
||||
- [ ] Fastfetch theming
|
||||
- [X] DMS instead of Hyprlock for locker?
|
||||
@@ -1,10 +0,0 @@
|
||||
grub_theme = {
|
||||
"desktop": "/usr/share/grub/themes/monterey-grub-theme/theme.txt",
|
||||
"laptop": "/usr/share/grub/themes/monterey-grub-theme/theme.txt",
|
||||
}
|
||||
grub_os_prober = {"desktop": True, "laptop": False}
|
||||
kernel_args_all = {"desktop": "", "laptop": ""}
|
||||
kernel_args_debug_only = {"desktop": "", "laptop": ""}
|
||||
kernel_args_normal_only = {"desktop": "", "laptop": ""}
|
||||
|
||||
user = "janis"
|
||||
@@ -1,6 +1,6 @@
|
||||
[general]
|
||||
import = [
|
||||
"~/.config/alacritty/dank-theme.toml"
|
||||
"~/.config/alacritty/theme.toml"
|
||||
]
|
||||
|
||||
[font]
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
[colors.primary]
|
||||
background = '#0e1513'
|
||||
foreground = '#dde4e1'
|
||||
|
||||
[colors.selection]
|
||||
text = '#dde4e1'
|
||||
background = '#005049'
|
||||
|
||||
[colors.cursor]
|
||||
text = '#0e1513'
|
||||
cursor = '#82d5c9'
|
||||
|
||||
[colors.normal]
|
||||
black = '#0e1513'
|
||||
red = '#f49c6e'
|
||||
green = '#6ad571'
|
||||
yellow = '#fff372'
|
||||
blue = '#6bcabc'
|
||||
magenta = '#1c6258'
|
||||
cyan = '#82d5c9'
|
||||
white = '#d2dfdd'
|
||||
|
||||
[colors.bright]
|
||||
black = '#808a88'
|
||||
red = '#ffc09f'
|
||||
green = '#a5ffab'
|
||||
yellow = '#fff7a5'
|
||||
blue = '#9ceadf'
|
||||
magenta = '#b9fff4'
|
||||
cyan = '#d2fff8'
|
||||
white = '#f8fffe'
|
||||
@@ -109,9 +109,6 @@ if status is-interactive
|
||||
echo -n $white'─'$__fish_prompt_char $normal
|
||||
end
|
||||
|
||||
# NOTE: disable `VIRTUAL_ENV_DISABLE_PROMPT` in `config.fish`
|
||||
# see: https://virtualenv.pypa.io/en/latest/reference/#envvar-VIRTUAL_ENV_DISABLE_PROMPT
|
||||
# support for virtual env name
|
||||
if set -q VIRTUAL_ENV
|
||||
echo -n "($turquoise"(basename "$VIRTUAL_ENV")"$white)"
|
||||
end
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
@import 'colors.css';
|
||||
@@ -51,8 +51,9 @@ require("hyprland.windowrules.idle")
|
||||
require("hyprland.windowrules.tags")
|
||||
require("hyprland.windowrules.workspaces")
|
||||
|
||||
-- Workspace rules
|
||||
-- Workspace & Layer rules
|
||||
require("hyprland.workspacerules.main")(laptop_config, is_docked)
|
||||
require("hyprland.layerrules")
|
||||
|
||||
-- Monitors
|
||||
require("hyprland.monitors")(laptop_config, is_docked)
|
||||
|
||||
@@ -3,13 +3,12 @@ local function exit_submap()
|
||||
end
|
||||
|
||||
-- TODO: Update this for laptop
|
||||
hl.bind("code:232", hl.dsp.exec_cmd("brightnessctl -S"), { description = "Doesn't do anything yet" })
|
||||
-- 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%'
|
||||
hl.bind("code:232", hl.dsp.exec_cmd("brightnessctl set 5%-"), { description = "Decrease screen brightness" })
|
||||
hl.bind("code:233", hl.dsp.exec_cmd("brightnessctl set +5%"), { description = "Increase screen brightness" })
|
||||
|
||||
hl.bind("code:123", hl.dsp.exec_cmd("pamixer -i 5"), { description = "Increase volume by 5%" })
|
||||
hl.bind("code:122", hl.dsp.exec_cmd("pamixer -d 5"), { description = "Decrease volume by 5%" })
|
||||
hl.bind("code:121", hl.dsp.exec_cmd("pamixer t"), { description = "Open mixer" })
|
||||
hl.bind("code:123", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"), { description = "Increase volume by 5%" })
|
||||
hl.bind("code:122", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"), { description = "Decrease volume by 5%" })
|
||||
hl.bind("code:121", hl.dsp.exec_cmd("hyprpwcenter"), { description = "Open mixer" })
|
||||
|
||||
hl.define_submap("device", function()
|
||||
hl.bind("m", function()
|
||||
@@ -33,31 +32,12 @@ hl.define_submap("device", function()
|
||||
hl.dispatch(hl.dsp.exec_cmd("notify-send 'Enabled Trackpad' --app-name='Hyprctl'"))
|
||||
end, { description = "Enable trackpad" })
|
||||
|
||||
-- ── DMS controls ─────────────────────────────────────────────────
|
||||
-- clipboard history
|
||||
hl.bind("h", function()
|
||||
hl.dispatch(hl.dsp.exec_cmd("dms ipc call clipboard toggle"))
|
||||
hl.dispatch(hl.dsp.exec_cmd("cliphist list | rofi -dmenu -display-columns 2 | cliphist decode | wl-copy"))
|
||||
exit_submap()
|
||||
end, { description = "Toggle clipboard history panel" })
|
||||
|
||||
-- Dash
|
||||
hl.bind("d", function()
|
||||
hl.dispatch(hl.dsp.exec_cmd("dms ipc call dash toggle"))
|
||||
exit_submap()
|
||||
end, { description = "Toggle DMS dash (top left)" })
|
||||
|
||||
-- Wallpaper
|
||||
hl.bind("w", function()
|
||||
hl.dispatch(hl.dsp.exec_cmd("dms ipc call dankdash wallpaper"))
|
||||
exit_submap()
|
||||
end, { description = "Open DMS wallpaper picker" })
|
||||
|
||||
-- Settings
|
||||
hl.bind("s", function()
|
||||
hl.dispatch(hl.dsp.exec_cmd("dms ipc call settings toggle"))
|
||||
exit_submap()
|
||||
end, { description = "Toggle DMS settings" })
|
||||
|
||||
hl.bind("Escape", function()
|
||||
exit_submap()
|
||||
end)
|
||||
|
||||
@@ -5,8 +5,6 @@ end
|
||||
hl.bind("SUPER + SHIFT + H", hl.dsp.group.prev(), { description = "Go to previous group member" })
|
||||
hl.bind("SUPER + SHIFT + L", hl.dsp.group.next(), { description = "Go to next group member" })
|
||||
|
||||
-- TODO: Improve mapping (also global mapping, for moving between els if to use regularly)
|
||||
-- Improve colours
|
||||
hl.define_submap("groups", function()
|
||||
hl.bind("c", function()
|
||||
hl.dispatch(hl.dsp.group.toggle())
|
||||
|
||||
@@ -8,8 +8,9 @@ hl.bind("SUPER + A", hl.dsp.submap("workspace"), { description = "Workspace cont
|
||||
hl.bind("SUPER + P", hl.dsp.submap("groupedlaunch"), { description = "Launch groups of programs" })
|
||||
hl.bind("SUPER + Q", hl.dsp.window.close(), { description = "Close active window" })
|
||||
|
||||
hl.bind("SUPER + Space", hl.dsp.exec_cmd("dms ipc call spotlight toggle"), { description = "Toggle app launcher" })
|
||||
hl.bind("SUPER + SHIFT + Space", hl.dsp.exec_cmd("dms ipc call spotlight-bar toggle"), { description = "Toggle app launcher as small bar" })
|
||||
hl.bind(
|
||||
"SUPER + Space",
|
||||
hl.dsp.exec_cmd('killall rofi || rofi -show combi -modes combi -combi-modes "window,drun,run"'),
|
||||
{ description = "Toggle app launcher" }
|
||||
)
|
||||
hl.bind("SUPER + Escape", hl.dsp.exec_cmd("wlogout"), { description = "Toggle logout screen" })
|
||||
hl.bind("SUPER + I", hl.dsp.exec_cmd("dms ipc call control-center open"), { description = "Toggle control centre" })
|
||||
hl.bind("SUPER + CTRL + H", hl.dsp.exec_cmd("dms ipc call keybinds toggle hyprland"), { description = "Toggle keybinds panel" })
|
||||
|
||||
@@ -4,32 +4,32 @@ end
|
||||
|
||||
hl.define_submap("notifications", function()
|
||||
hl.bind("c", function()
|
||||
hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications dismissAllPopups"))
|
||||
hl.dispatch(hl.dsp.exec_cmd("swaync-client --hide-all"))
|
||||
exit_submap()
|
||||
end, { description = "Hide notifications" })
|
||||
|
||||
hl.bind("d", function()
|
||||
hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications clearAll"))
|
||||
hl.dispatch(hl.dsp.exec_cmd("swaync-client --close-all"))
|
||||
exit_submap()
|
||||
end, { description = "Delete all notifications" })
|
||||
|
||||
hl.bind("m", function()
|
||||
hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications toggleDoNotDisturb"))
|
||||
hl.dispatch(hl.dsp.exec_cmd("swaync-client -d"))
|
||||
exit_submap()
|
||||
end, { description = "Toggle Do Not Disturb" })
|
||||
|
||||
hl.bind("h", function()
|
||||
hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications close"))
|
||||
hl.dispatch(hl.dsp.exec_cmd("swaync-client -cp"))
|
||||
exit_submap()
|
||||
end, { description = "Close notification panel" })
|
||||
|
||||
hl.bind("s", function()
|
||||
hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications open"))
|
||||
hl.dispatch(hl.dsp.exec_cmd("swaync-client -op"))
|
||||
exit_submap()
|
||||
end, { description = "Open notification panel" })
|
||||
|
||||
hl.bind("t", function()
|
||||
hl.dispatch(hl.dsp.exec_cmd("dms ipc call notifications toggle"))
|
||||
hl.dispatch(hl.dsp.exec_cmd("swaync-client -t"))
|
||||
exit_submap()
|
||||
end, { description = "Toggle notification panel" })
|
||||
|
||||
|
||||
@@ -4,32 +4,40 @@ end
|
||||
|
||||
hl.define_submap("screenshot", function()
|
||||
hl.bind("y", function()
|
||||
hl.dispatch(hl.dsp.exec_cmd("dms screenshot --no-file"))
|
||||
hl.dispatch(hl.dsp.exec_cmd('grim -g "$(slurp -d)" - | wl-copy'))
|
||||
exit_submap()
|
||||
end, { description = "Take sceenshot of are and Yank" })
|
||||
end, { description = "Take sceenshot of area and Yank" })
|
||||
|
||||
hl.bind("c", function()
|
||||
hl.dispatch(hl.dsp.exec_cmd("dms screenshot"))
|
||||
hl.dispatch(
|
||||
hl.dsp.exec_cmd(
|
||||
'grim -g "$(slurp -d)" - | satty -f - --copy-command wl-copy -o "~/Pictures/Screenshots/%Y-%m-%dT%H:%M:%SZ%z.png"'
|
||||
)
|
||||
)
|
||||
exit_submap()
|
||||
end, { description = "Take screenshot of area, yank and save" })
|
||||
|
||||
hl.bind("s", function()
|
||||
hl.dispatch(hl.dsp.exec_cmd("dms screenshot --no-clipboard"))
|
||||
hl.dispatch(hl.dsp.exec_cmd("grim -g '$(slurp -d)' $(xdg-user-dir PICTURES)/Screenshots/$(date +'%Y-%m-%dT%H:%M:%SZ%z.png')"))
|
||||
exit_submap()
|
||||
end, { description = "Take screenshot of area and Save" })
|
||||
|
||||
hl.bind("SHIFT + y", function()
|
||||
hl.dispatch(hl.dsp.exec_cmd("dms screenshot full --no-file"))
|
||||
hl.dispatch(hl.dsp.exec_cmd("grim - | wl-copy"))
|
||||
exit_submap()
|
||||
end, { description = "Take screenshot and Yank" })
|
||||
|
||||
hl.bind("SHIFT + c", function()
|
||||
hl.dispatch(hl.dsp.exec_cmd("dms screenshot full"))
|
||||
hl.dispatch(
|
||||
hl.dsp.exec_cmd(
|
||||
'grim - | satty -f - --copy-command wl-copy -o "~/Pictures/Screenshots/%Y-%m-%dT%H:%M:%SZ%z.png"'
|
||||
)
|
||||
)
|
||||
exit_submap()
|
||||
end, { description = "Take sceenshot, yank and save" })
|
||||
|
||||
hl.bind("SHIFT + s", function()
|
||||
hl.dispatch(hl.dsp.exec_cmd("dms screenshot full --no-clipboard"))
|
||||
hl.dispatch(hl.dsp.exec_cmd("grim $(xdg-user-dir PICTURES)/Screenshots/$(date +'%Y-%m-%dT%H:%M:%SZ%z.png')"))
|
||||
exit_submap()
|
||||
end, { description = "Take screenshot and Save" })
|
||||
|
||||
|
||||
@@ -18,7 +18,6 @@ hl.config({
|
||||
|
||||
dim_inactive = true,
|
||||
dim_strength = 0.1,
|
||||
-- TODO: Consider adding glow?
|
||||
},
|
||||
animations = {
|
||||
enabled = true,
|
||||
|
||||
@@ -15,8 +15,10 @@ return function(is_laptop)
|
||||
|
||||
-- Start bar and utilities
|
||||
hl.exec_cmd("hypridle")
|
||||
hl.exec_cmd("waybar")
|
||||
hl.exec_cmd("hyprpaper")
|
||||
hl.exec_cmd("swaync")
|
||||
hl.exec_cmd("nextcloud --background")
|
||||
hl.exec_cmd("dms run")
|
||||
hl.exec_cmd("wl-paste --watch cliphist store")
|
||||
|
||||
if is_laptop then
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
hl.layer_rule({
|
||||
dim_around = true,
|
||||
match = { namespace = "rofi" },
|
||||
})
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
ui {
|
||||
window_size = 400 800
|
||||
}
|
||||
@@ -3,8 +3,7 @@
|
||||
# │ Kitty Config │
|
||||
# ╰────────────────────────────────────────────────╯
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
include dank-tabs.conf
|
||||
include dank-theme.conf
|
||||
include colors.conf
|
||||
|
||||
|
||||
# ┌ ┐
|
||||
|
||||
@@ -1,9 +1,16 @@
|
||||
# Matugen configs
|
||||
Shamelessly copied from [End-4's dotfiles](https://github.com/end-4/dots-hyprland/tree/main/dots/.config/matugen)
|
||||
Sources:
|
||||
- [End-4's dotfiles](https://github.com/end-4/dots-hyprland/tree/main/dots/.config/matugen)
|
||||
- [InioX matugen themes](https://github.com/InioX/matugen-themes)
|
||||
|
||||
|
||||
# TODOs
|
||||
- [ ] Custom yazi theme
|
||||
- [ ] Qt theme
|
||||
- [X] Remove unneeded elements
|
||||
- [ ] Quickshell stuff
|
||||
## Config files
|
||||
- Hyprland (my own)
|
||||
- Hyprlock (my own)
|
||||
- Hyprtoolkit (my own)
|
||||
- Yazi (my own)
|
||||
- Wlogout (Colour template files from InioX)
|
||||
- Waybar (Colour template files from InioX)
|
||||
- Discord theme (fully from InioX)
|
||||
- GTK (From InioX)
|
||||
- Swaync (from InioX)
|
||||
- Qt TODO!
|
||||
|
||||
@@ -1,18 +1,72 @@
|
||||
[config]
|
||||
version_check = false
|
||||
|
||||
# From https://github.com/InioX/matugen-themes
|
||||
[templates.gtk3]
|
||||
input_path = '~/.config/matugen/templates/gtk/colors.css'
|
||||
output_path = '~/.config/gtk-3.0/colors.css'
|
||||
post_hook = 'gsettings set org.gnome.desktop.interface gtk-theme ""; gsettings set org.gnome.desktop.interface gtk-theme adw-gtk3-{{mode}}'
|
||||
|
||||
[templates.gtk4]
|
||||
input_path = '~/.config/matugen/templates/gtk/colors.css'
|
||||
output_path = '~/.config/gtk-4.0/colors.css'
|
||||
post_hook = '~/.config/matugen/post-hook-scripts/gtk-themes-reload.sh'
|
||||
|
||||
[templates.waybar-colors]
|
||||
input_path = '~/.config/matugen/templates/colors.css'
|
||||
output_path = "~/.config/waybar/colors.css"
|
||||
post_hook = "swaync-client -rs"
|
||||
|
||||
[templates.color-scheme]
|
||||
input_path = '~/.config/matugen/templates/qt/colors.colors'
|
||||
output_path = '~/.local/share/color-schemes/Matugen.colors'
|
||||
|
||||
[templates.kitty]
|
||||
input_path = '~/.config/matugen/templates/kitty/colors.conf'
|
||||
output_path = '~/.config/kitty/colors.conf'
|
||||
|
||||
[templates.alacritty]
|
||||
input_path = '~/.config/matugen/templates/alacritty/theme.toml'
|
||||
output_path = '~/.config/alacritty/colors.toml'
|
||||
|
||||
[templates.vesktop]
|
||||
input_path = '~/.config/matugen/templates/vesktop/midnight.css'
|
||||
output_path = '~/.config/vesktop/themes/midnight-discord.css'
|
||||
|
||||
# From https://github.com/ErikReider/Linux/blob/master/dotfiles/.config/swaync/style.css
|
||||
[templates.swaync]
|
||||
input_path = '~/.config/matugen/templates/swaync/style.css'
|
||||
output_path = "~/.config/swaync/style.css"
|
||||
post_hook = "swaync-client -rs"
|
||||
|
||||
|
||||
# My own
|
||||
[templates.hyprland]
|
||||
input_path = '~/.config/matugen/templates/hyprland/colors.lua'
|
||||
output_path = '~/.config/hypr/hyprland/colors.lua'
|
||||
|
||||
[templates.waybar]
|
||||
input_path = '~/.config/matugen/templates/waybar/style.css'
|
||||
output_path = '~/.config/waybar/style.css'
|
||||
post_hook = 'pkill -SIGUSR2 waybar'
|
||||
|
||||
[templates.hyprlock]
|
||||
input_path = '~/.config/matugen/templates/hyprland/hyprlock-colors.conf'
|
||||
output_path = '~/.config/hypr/hyprlock-colors.conf'
|
||||
|
||||
[templates.hyprpaper]
|
||||
input_path = '~/.config/matugen/templates/hyprland/hyprpaper.conf'
|
||||
output_path = '~/.config/hypr/hyprpaper.conf'
|
||||
post_hook = 'pkill -SIGUSR2 hyprpaper'
|
||||
|
||||
[templates.wlogout]
|
||||
input_path = '~/.config/matugen/templates/wlogout/style.css'
|
||||
output_path = '~/.config/wlogout/style.css'
|
||||
|
||||
[templates.rofi]
|
||||
input_path = '~/.config/matugen/templates/rofi/style.rasi'
|
||||
output_path = '~/.config/rofi/style.rasi'
|
||||
|
||||
[templates.yazi]
|
||||
input_path = '~/.config/matugen/templates/yazi/theme.toml'
|
||||
output_path = '~/.config/yazi/theme.toml'
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Thanks to https://github.com/InioX/matugen-themes/blob/main/post-hook-scripts/gtk-themes-reload.sh
|
||||
|
||||
current=$(gsettings get org.gnome.desktop.interface color-scheme)
|
||||
|
||||
if [[ "$current" == "'prefer-dark'" ]]; then
|
||||
gsettings set org.gnome.desktop.interface color-scheme prefer-light
|
||||
gsettings set org.gnome.desktop.interface color-scheme prefer-dark
|
||||
else
|
||||
gsettings set org.gnome.desktop.interface color-scheme prefer-dark
|
||||
gsettings set org.gnome.desktop.interface color-scheme prefer-light
|
||||
fi
|
||||
@@ -0,0 +1,68 @@
|
||||
[colors.primary]
|
||||
background = '{{colors.background.default.hex}}'
|
||||
foreground = '{{colors.on_surface.default.hex}}'
|
||||
|
||||
[colors.cursor]
|
||||
text = '{{colors.on_surface.default.hex}}'
|
||||
cursor = '{{colors.on_surface_variant.default.hex}}'
|
||||
|
||||
[colors.vi_mode_cursor]
|
||||
text = '{{colors.background.default.hex}}'
|
||||
cursor = '{{colors.primary.default.hex}}'
|
||||
|
||||
[colors.search.matches]
|
||||
foreground = '{{colors.surface_variant.default.hex}}'
|
||||
background = '{{colors.tertiary.default.hex}}'
|
||||
|
||||
[colors.search.focused_match]
|
||||
foreground = '{{colors.surface_variant.default.hex}}'
|
||||
background = '{{colors.primary.default.hex}}'
|
||||
|
||||
[colors.footer_bar]
|
||||
foreground = '{{colors.surface_variant.default.hex}}'
|
||||
background = '{{colors.inverse_surface.default.hex}}'
|
||||
|
||||
[colors.hints.start]
|
||||
foreground = '{{colors.surface_variant.default.hex}}'
|
||||
background = '{{colors.secondary.default.hex}}'
|
||||
|
||||
[colors.hints.end]
|
||||
foreground = '{{colors.surface_variant.default.hex}}'
|
||||
background = '{{colors.secondary.default.hex}}'
|
||||
|
||||
[colors.selection]
|
||||
text = '{{colors.background.default.hex}}'
|
||||
background = '{{colors.primary.default.hex}}'
|
||||
|
||||
|
||||
[colors.normal]
|
||||
black = '#181818'
|
||||
red = '{{colors.error.default.hex}}'
|
||||
green = '{{colors.primary.default.hex}}'
|
||||
yellow = '{{colors.inverse_primary.default.hex}}'
|
||||
blue = '{{colors.primary.default.hex}}'
|
||||
magenta = '{{colors.tertiary.default.hex}}'
|
||||
cyan = '{{colors.secondary.default.hex}}'
|
||||
white = '#BAC2DE'
|
||||
|
||||
|
||||
[colors.bright]
|
||||
black = '#585B70'
|
||||
red = '#F38BA8'
|
||||
green = '#A6E3A1'
|
||||
yellow = '#F9E2AF'
|
||||
blue = '#89B4FA'
|
||||
magenta = '#F5C2E7'
|
||||
cyan = '#94E2D5'
|
||||
white = '#A6ADC8'
|
||||
|
||||
|
||||
[colors.dim]
|
||||
black = '#45475A'
|
||||
red = '#F38BA8'
|
||||
green = '#A6E3A1'
|
||||
yellow = '#F9E2AF'
|
||||
blue = '#89B4FA'
|
||||
magenta = '#F5C2E7'
|
||||
cyan = '#94E2D5'
|
||||
white = '#BAC2DE'
|
||||
@@ -0,0 +1,7 @@
|
||||
/*
|
||||
* Css Colors
|
||||
* Generated with Matugen
|
||||
*/
|
||||
<* for name, value in colors *>
|
||||
@define-color {{name}} {{value.default.hex}};
|
||||
<* endfor *>
|
||||
@@ -0,0 +1,22 @@
|
||||
/*
|
||||
* GTK Colors
|
||||
* Generated with Matugen
|
||||
*/
|
||||
|
||||
@define-color accent_color {{colors.primary_fixed_dim.default.hex}};
|
||||
@define-color accent_fg_color {{colors.on_primary_fixed.default.hex}};
|
||||
@define-color accent_bg_color {{colors.primary_fixed_dim.default.hex}};
|
||||
@define-color window_bg_color {{colors.surface_dim.default.hex}};
|
||||
@define-color window_fg_color {{colors.on_surface.default.hex}};
|
||||
@define-color headerbar_bg_color {{colors.surface_dim.default.hex}};
|
||||
@define-color headerbar_fg_color {{colors.on_surface.default.hex}};
|
||||
@define-color popover_bg_color {{colors.surface_dim.default.hex}};
|
||||
@define-color popover_fg_color {{colors.on_surface.default.hex}};
|
||||
@define-color view_bg_color {{colors.surface.default.hex}};
|
||||
@define-color view_fg_color {{colors.on_surface.default.hex}};
|
||||
@define-color card_bg_color {{colors.surface.default.hex}};
|
||||
@define-color card_fg_color {{colors.on_surface.default.hex}};
|
||||
@define-color sidebar_bg_color @window_bg_color;
|
||||
@define-color sidebar_fg_color @window_fg_color;
|
||||
@define-color sidebar_border_color @window_bg_color;
|
||||
@define-color sidebar_backdrop_color @window_bg_color;
|
||||
@@ -0,0 +1,5 @@
|
||||
wallpaper {
|
||||
monitor =
|
||||
path = {{image}}
|
||||
fit_mode = cover
|
||||
}
|
||||
@@ -3,8 +3,13 @@
|
||||
|
||||
background = rgba({{colors.background.default.hex_stripped}}FF)
|
||||
base = rgba({{colors.surface.default.hex_stripped}}FF)
|
||||
alternate_base = rgba({{colors.surface.default.hex_stripped | lighten: -5.0}}FF)
|
||||
text = rgba({{colors.on_background.default.hex_stripped}}FF)
|
||||
accent = rgba({{colors.primary.default.hex_stripped}}FF)
|
||||
accent_secondary = rgba({{colors.secondary.default.hex_stripped}}FF)
|
||||
font_family = Comfortaa
|
||||
font_family_monospace = Source Code Pro
|
||||
font_size = 13
|
||||
h1_size = 22
|
||||
h2_size = 18
|
||||
h3_size = 15
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
# --- Main Colors ---
|
||||
background {{ colors.surface.default.hex | lighten: -2.5 }}
|
||||
foreground {{ colors.on_surface.default.hex }}
|
||||
cursor {{ colors.on_surface.default.hex }}
|
||||
cursor_text_color {{ colors.surface.default.hex }}
|
||||
|
||||
selection_background {{ colors.secondary_container.default.hex }}
|
||||
selection_foreground {{ colors.on_secondary_container.default.hex }}
|
||||
|
||||
url_color {{ colors.tertiary.default.hex }}
|
||||
|
||||
# --- UI Elements ---
|
||||
active_tab_foreground {{ colors.on_primary.default.hex }}
|
||||
active_tab_background {{ colors.primary.default.hex }}
|
||||
inactive_tab_foreground {{ colors.on_primary_container.default.hex }}
|
||||
inactive_tab_background {{ colors.primary_container.default.hex }}
|
||||
|
||||
active_border_color {{ colors.primary.default.hex }}
|
||||
inactive_border_color {{ colors.outline.default.hex }}
|
||||
|
||||
# --- Marks ---
|
||||
mark1_foreground {{ colors.on_primary_fixed.default.hex }}
|
||||
mark1_background {{ colors.primary_fixed.default.hex }}
|
||||
mark2_foreground {{ colors.on_secondary_fixed.default.hex }}
|
||||
mark2_background {{ colors.secondary_fixed.default.hex }}
|
||||
mark3_foreground {{ colors.on_tertiary_fixed.default.hex }}
|
||||
mark3_background {{ colors.tertiary_fixed.default.hex }}
|
||||
@@ -0,0 +1,149 @@
|
||||
[ColorEffects:Disabled]
|
||||
Color={{colors.surface_dim.default.hex}}
|
||||
ColorAmount=0
|
||||
ColorEffect=0
|
||||
ContrastAmount=0.65
|
||||
ContrastEffect=1
|
||||
IntensityAmount=0.1
|
||||
IntensityEffect=2
|
||||
|
||||
[ColorEffects:Inactive]
|
||||
ChangeSelectionColor=true
|
||||
Color={{colors.surface_variant.default.hex}}
|
||||
ColorAmount=0.025
|
||||
ColorEffect=2
|
||||
ContrastAmount=0.1
|
||||
ContrastEffect=2
|
||||
Enable=false
|
||||
IntensityAmount=0
|
||||
IntensityEffect=0
|
||||
|
||||
[Colors:Button]
|
||||
BackgroundAlternate={{colors.surface_container_low.default.hex}}
|
||||
BackgroundNormal={{colors.surface_container_high.default.hex}}
|
||||
DecorationFocus={{colors.primary.default.hex}}
|
||||
DecorationHover={{colors.primary.default.hex}}
|
||||
ForegroundActive={{colors.primary.default.hex}}
|
||||
ForegroundInactive={{colors.on_surface_variant.default.hex}}
|
||||
ForegroundLink={{colors.secondary.default.hex}}
|
||||
ForegroundNegative={{colors.error.default.hex}}
|
||||
ForegroundNeutral={{colors.tertiary.default.hex}}
|
||||
ForegroundNormal={{colors.on_surface.default.hex}}
|
||||
ForegroundPositive={{colors.tertiary_fixed.default.hex}}
|
||||
ForegroundVisited={{colors.on_secondary_container.default.hex}}
|
||||
|
||||
[Colors:Complementary]
|
||||
BackgroundAlternate={{colors.surface_container_low.default.hex}}
|
||||
BackgroundNormal={{colors.surface.default.hex}}
|
||||
DecorationFocus={{colors.primary.default.hex}}
|
||||
DecorationHover={{colors.primary.default.hex}}
|
||||
ForegroundActive={{colors.primary.default.hex}}
|
||||
ForegroundInactive={{colors.on_surface_variant.default.hex}}
|
||||
ForegroundLink={{colors.secondary.default.hex}}
|
||||
ForegroundNegative={{colors.error.default.hex}}
|
||||
ForegroundNeutral={{colors.tertiary.default.hex}}
|
||||
ForegroundNormal={{colors.on_primary_container.default.hex}}
|
||||
ForegroundPositive={{colors.tertiary_fixed.default.hex}}
|
||||
ForegroundVisited={{colors.on_secondary_container.default.hex}}
|
||||
|
||||
[Colors:Header]
|
||||
BackgroundAlternate={{colors.surface.default.hex}}
|
||||
BackgroundNormal={{colors.surface_container.default.hex}}
|
||||
DecorationFocus={{colors.primary.default.hex}}
|
||||
DecorationHover={{colors.primary.default.hex}}
|
||||
ForegroundActive={{colors.primary.default.hex}}
|
||||
ForegroundInactive={{colors.on_surface_variant.default.hex}}
|
||||
ForegroundLink={{colors.secondary.default.hex}}
|
||||
ForegroundNegative={{colors.error.default.hex}}
|
||||
ForegroundNeutral={{colors.tertiary.default.hex}}
|
||||
ForegroundNormal={{colors.on_surface.default.hex}}
|
||||
ForegroundPositive={{colors.tertiary_fixed.default.hex}}
|
||||
ForegroundVisited={{colors.on_secondary_container.default.hex}}
|
||||
|
||||
[Colors:Header][Inactive]
|
||||
BackgroundAlternate={{colors.surface_container.default.hex}}
|
||||
BackgroundNormal={{colors.surface_container.default.hex}}
|
||||
DecorationFocus={{colors.primary.default.hex}}
|
||||
DecorationHover={{colors.primary.default.hex}}
|
||||
ForegroundActive={{colors.primary.default.hex}}
|
||||
ForegroundInactive={{colors.on_surface_variant.default.hex}}
|
||||
ForegroundLink={{colors.secondary.default.hex}}
|
||||
ForegroundNegative={{colors.error.default.hex}}
|
||||
ForegroundNeutral={{colors.tertiary.default.hex}}
|
||||
ForegroundNormal={{colors.on_surface.default.hex}}
|
||||
ForegroundPositive={{colors.tertiary_fixed.default.hex}}
|
||||
ForegroundVisited={{colors.on_secondary_container.default.hex}}
|
||||
|
||||
[Colors:Selection]
|
||||
BackgroundAlternate={{colors.surface_container_low.default.hex}}
|
||||
BackgroundNormal={{colors.primary.default.hex}}
|
||||
DecorationFocus={{colors.primary.default.hex}}
|
||||
DecorationHover={{colors.primary.default.hex}}
|
||||
ForegroundActive={{colors.on_primary.default.hex}}
|
||||
ForegroundInactive={{colors.on_surface_variant.default.hex}}
|
||||
ForegroundLink={{colors.secondary_fixed.default.hex}}
|
||||
ForegroundNegative={{colors.error_container.default.hex}}
|
||||
ForegroundNeutral={{colors.tertiary_fixed_dim.default.hex}}
|
||||
ForegroundNormal={{colors.secondary_fixed.default.hex}}
|
||||
ForegroundPositive={{colors.tertiary_container.default.hex}}
|
||||
ForegroundVisited={{colors.on_secondary_container.default.hex}}
|
||||
|
||||
[Colors:Tooltip]
|
||||
BackgroundAlternate={{colors.surface.default.hex}}
|
||||
BackgroundNormal={{colors.surface_container.default.hex}}
|
||||
DecorationFocus={{colors.primary.default.hex}}
|
||||
DecorationHover={{colors.primary.default.hex}}
|
||||
ForegroundActive={{colors.primary.default.hex}}
|
||||
ForegroundInactive={{colors.on_surface_variant.default.hex}}
|
||||
ForegroundLink={{colors.secondary.default.hex}}
|
||||
ForegroundNegative={{colors.error.default.hex}}
|
||||
ForegroundNeutral={{colors.tertiary.default.hex}}
|
||||
ForegroundNormal={{colors.on_background.default.hex}}
|
||||
ForegroundPositive={{colors.tertiary_fixed.default.hex}}
|
||||
ForegroundVisited={{colors.on_secondary_container.default.hex}}
|
||||
|
||||
[Colors:View]
|
||||
BackgroundAlternate={{colors.surface_container.default.hex}}
|
||||
BackgroundNormal={{colors.background.default.hex}}
|
||||
DecorationFocus={{colors.primary_container.default.hex}}
|
||||
DecorationHover={{colors.on_primary.default.hex}}
|
||||
ForegroundActive={{colors.primary.default.hex}}
|
||||
ForegroundInactive={{colors.on_surface_variant.default.hex}}
|
||||
ForegroundLink={{colors.secondary.default.hex}}
|
||||
ForegroundNegative={{colors.error.default.hex}}
|
||||
ForegroundNeutral={{colors.tertiary.default.hex}}
|
||||
ForegroundNormal={{colors.on_background.default.hex}}
|
||||
ForegroundPositive={{colors.tertiary_fixed.default.hex}}
|
||||
ForegroundVisited={{colors.on_secondary_container.default.hex}}
|
||||
|
||||
[Colors:Window]
|
||||
BackgroundAlternate={{colors.primary_container.default.hex}}
|
||||
BackgroundNormal={{colors.surface_container.default.hex}}
|
||||
DecorationFocus={{colors.primary.default.hex}}
|
||||
DecorationHover={{colors.primary.default.hex}}
|
||||
ForegroundActive={{colors.primary.default.hex}}
|
||||
ForegroundInactive={{colors.on_surface_variant.default.hex}}
|
||||
ForegroundLink={{colors.secondary.default.hex}}
|
||||
ForegroundNegative={{colors.error.default.hex}}
|
||||
ForegroundNeutral={{colors.tertiary.default.hex}}
|
||||
ForegroundNormal={{colors.on_background.default.hex}}
|
||||
ForegroundPositive={{colors.tertiary_fixed.default.hex}}
|
||||
ForegroundVisited={{colors.on_secondary_container.default.hex}}
|
||||
|
||||
[General]
|
||||
ColorScheme=Matugen
|
||||
Name=Matugen
|
||||
|
||||
[Appearance]
|
||||
color_scheme=Matugen
|
||||
|
||||
[KDE]
|
||||
contrast=4
|
||||
|
||||
[WM]
|
||||
activeBackground={{colors.primary_container.default.hex}}
|
||||
activeBlend={{colors.on_primary_container.default.hex}}
|
||||
activeForeground={{colors.on_primary_container.default.hex}}
|
||||
inactiveBackground={{colors.surface.default.hex}}
|
||||
inactiveBlend={{colors.on_surface_variant.default.hex}}
|
||||
inactiveForeground={{colors.on_surface_variant.default.hex}}
|
||||
@@ -0,0 +1,82 @@
|
||||
* {
|
||||
background: {{colors.background.default.hex}};
|
||||
background-selected: {{colors.primary.default.hex}};
|
||||
foreground: {{colors.on_background.default.hex}};
|
||||
foreground-selected: {{colors.on_primary.default.hex}};
|
||||
accent: {{colors.secondary.default.hex}};
|
||||
inactive: {{colors.outline.default.hex}};
|
||||
spacing: 2;
|
||||
width: 30em;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#window {
|
||||
background-color: @background;
|
||||
border-color: @accent;
|
||||
border: 1px;
|
||||
border-radius: 10px;
|
||||
padding: 0;
|
||||
location: center;
|
||||
anchor: center;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#mainbox {
|
||||
background-color: @background;
|
||||
spacing: 10px;
|
||||
margin: 10px 0 0 0;
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
#inputbar {
|
||||
children: [prompt,entry];
|
||||
background-color: @background;
|
||||
}
|
||||
|
||||
#listview {
|
||||
background-color: @background;
|
||||
fixed-height: true;
|
||||
margin: 5px 0 0 10px;
|
||||
}
|
||||
|
||||
#element {
|
||||
padding: 5px;
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
|
||||
element selected {
|
||||
background-color: @background-selected;
|
||||
text-color: @foreground-selected;
|
||||
border: 1px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
element-text {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
background-color: inherit;
|
||||
margin: 0 4px 0 0;
|
||||
size: 35px;
|
||||
}
|
||||
|
||||
#entry {
|
||||
background-color: @background;
|
||||
text-color: @accent;
|
||||
placeholder: "Search";
|
||||
placeholder-color: @inactive;
|
||||
font: "Comfortaa Regular 20";
|
||||
}
|
||||
|
||||
#prompt {
|
||||
background-color: @background;
|
||||
padding: 0 4px;
|
||||
margin: 0 5px 0 0;
|
||||
text-color: @foreground;
|
||||
font: "Adwaita Sans Regular 20";
|
||||
}
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
:root {
|
||||
--border-radius: 22px;
|
||||
--cc-bg: transparent;
|
||||
|
||||
--widget-background: {{ colors.surface.default.rgba | set_alpha: 0.7 }};
|
||||
--noti-bg-alpha: 0.6;
|
||||
|
||||
--padding: calc(var(--border-radius) / 2);
|
||||
}
|
||||
|
||||
.control-center {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.widgets>.widget,
|
||||
.widget-mpris>carouselindicatordots,
|
||||
.widget-mpris>box>button {
|
||||
background: var(--widget-background);
|
||||
border-radius: var(--border-radius);
|
||||
padding: calc(var(--border-radius) / 2);
|
||||
border: var(--border);
|
||||
}
|
||||
|
||||
.control-center-list-placeholder {
|
||||
padding: var(--border-radius);
|
||||
}
|
||||
|
||||
.notification-group {
|
||||
border-radius: var(--border-radius);
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
.widget.widget-mpris {
|
||||
background: transparent;
|
||||
border-radius: 0;
|
||||
padding: 0;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.widget.widget-mpris>carouselindicatordots {
|
||||
--dots-padding: 4px;
|
||||
padding: var(--dots-padding);
|
||||
padding-left: var(--dots-padding);
|
||||
padding-right: calc(6px + var(--dots-padding));
|
||||
margin: 0;
|
||||
margin-top: var(--padding);
|
||||
}
|
||||
|
||||
.widget-mpris>box>button:hover {
|
||||
background: rgba(46, 46, 46, 1);
|
||||
}
|
||||
|
||||
.widget-mpris-player {
|
||||
box-shadow: none;
|
||||
border: var(--border);
|
||||
margin: 0 var(--padding);
|
||||
}
|
||||
|
||||
.widget-mpris-player:only-child {
|
||||
margin: 0;
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
/**
|
||||
* @name midnight
|
||||
* @description A dark, rounded discord theme.
|
||||
* @author refact0r
|
||||
* @version 1.6.2
|
||||
* @invite nz87hXyvcy
|
||||
* @website https://github.com/refact0r/midnight-discord
|
||||
* @source https://github.com/refact0r/midnight-discord/blob/master/midnight.theme.css
|
||||
* @authorId 508863359777505290
|
||||
* @authorLink https://www.refact0r.dev
|
||||
*/
|
||||
|
||||
/* IMPORTANT: make sure to enable dark mode in discord settings for the theme to apply properly!!! */
|
||||
|
||||
@import url('https://refact0r.github.io/midnight-discord/build/midnight.css');
|
||||
|
||||
/* customize things here */
|
||||
:root {
|
||||
/* font, change to 'gg sans' for default discord font*/
|
||||
--font: 'figtree';
|
||||
|
||||
/* top left corner text */
|
||||
--corner-text: 'Midnight';
|
||||
|
||||
/* color of status indicators and window controls */
|
||||
--online-indicator: #23a55a;
|
||||
--dnd-indicator: #f13f43;
|
||||
--idle-indicator: #f0b232;
|
||||
--streaming-indicator: #593695;
|
||||
|
||||
/* accent colors */
|
||||
--accent-1: {{colors.tertiary.default.hex}}; /* links */
|
||||
--accent-2: {{colors.primary.default.hex}}; /* general unread/mention elements, some icons when active */
|
||||
--accent-3: {{colors.primary.default.hex}}; /* accent buttons */
|
||||
--accent-4: {{colors.surface_bright.default.hex}}; /* accent buttons when hovered */
|
||||
--accent-5: {{colors.primary_fixed_dim.default.hex}}; /* accent buttons when clicked */
|
||||
--accent-new: {{colors.inverse_primary.default.hex}}; /* user panel mute & deafen buttons */
|
||||
--mention: {{colors.surface.default.hex}}; /* mentions & mention messages */
|
||||
--mention-hover: {{colors.surface_bright.default.hex}}; /* mentions & mention messages when hovered */
|
||||
|
||||
/* text colors */
|
||||
--text-0: {{colors.surface.default.hex}}; /* text on colored elements */
|
||||
--text-1: {{colors.on_surface.default.hex}}; /* other normally white text */
|
||||
--text-2: {{colors.on_surface.default.hex}}; /* headings and important text */
|
||||
--text-3: {{colors.on_surface_variant.default.hex}}; /* normal text */
|
||||
--text-4: {{colors.on_surface_variant.default.hex}}; /* icon buttons and channels */
|
||||
--text-5: {{colors.outline.default.hex}}; /* muted channels/chats and timestamps */
|
||||
|
||||
/* background and dark colors */
|
||||
--bg-1: {{colors.surface_variant.default.hex}}; /* dark buttons when clicked */
|
||||
--bg-2: {{colors.surface_container_high.default.hex}}; /* dark buttons */
|
||||
--bg-3: {{colors.surface_container_low.default.hex}}; /* spacing, secondary elements */
|
||||
--bg-4: {{colors.surface.default.hex | lighten: -1.0}}; /* main background color */
|
||||
--hover: {{colors.surface_bright.default.hex}}; /* channels and buttons when hovered */
|
||||
--active: {{colors.surface_bright.default.hex}}; /* channels and buttons when clicked or selected */
|
||||
--message-hover: {{colors.surface_bright.default.hex}}; /* messages when hovered */
|
||||
|
||||
/* amount of spacing and padding */
|
||||
--spacing: 12px;
|
||||
|
||||
/* animations */
|
||||
/* ALL ANIMATIONS CAN BE DISABLED WITH REDUCED MOTION IN DISCORD SETTINGS */
|
||||
--list-item-transition: 0.2s ease; /* channels/members/settings hover transition */
|
||||
--unread-bar-transition: 0.2s ease; /* unread bar moving into view transition */
|
||||
--moon-spin-transition: 0.4s ease; /* moon icon spin */
|
||||
--icon-spin-transition: 1s ease; /* round icon button spin (settings, emoji, etc.) */
|
||||
|
||||
/* corner roundness (border-radius) */
|
||||
--roundness-xl: 22px; /* roundness of big panel outer corners */
|
||||
--roundness-l: 20px; /* popout panels */
|
||||
--roundness-m: 16px; /* smaller panels, images, embeds */
|
||||
--roundness-s: 12px; /* members, settings inputs */
|
||||
--roundness-xs: 10px; /* channels, buttons */
|
||||
--roundness-xxs: 8px; /* searchbar, small elements */
|
||||
|
||||
/* direct messages moon icon */
|
||||
/* change to block to show, none to hide */
|
||||
--discord-icon: none; /* discord icon */
|
||||
--moon-icon: block; /* moon icon */
|
||||
--moon-icon-url: url('https://upload.wikimedia.org/wikipedia/commons/c/c4/Font_Awesome_5_solid_moon.svg'); /* custom icon url */
|
||||
--moon-icon-size: auto;
|
||||
|
||||
/* filter uncolorable elements to fit theme */
|
||||
/* (just set to none, they're too much work to configure) */
|
||||
--login-bg-filter: saturate(0.3) hue-rotate(-15deg) brightness(0.4); /* login background artwork */
|
||||
--green-to-accent-3-filter: hue-rotate(56deg) saturate(1.43); /* add friend page explore icon */
|
||||
--blurple-to-accent-3-filter: hue-rotate(304deg) saturate(0.84) brightness(1.2); /* add friend page school icon */
|
||||
}
|
||||
|
||||
/* Selected chat/friend text */
|
||||
.selected_f5eb4b,
|
||||
.selected_f6f816 .link_d8bfb3 {
|
||||
color: var(--text-0) !important;
|
||||
background: var(--accent-3) !important;
|
||||
}
|
||||
|
||||
.selected_f6f816 .link_d8bfb3 * {
|
||||
color: var(--text-0) !important;
|
||||
fill: var(--text-0) !important;
|
||||
}
|
||||
@@ -0,0 +1,111 @@
|
||||
@import "colors.css";
|
||||
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
font-family: 'Comfortaa, FiraMono Nerd Font';
|
||||
font-weight: bold;
|
||||
font-size: 15px;
|
||||
min-height: 0;
|
||||
margin-left: 3px;
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background-color: {{ colors.shadow.default.rgba | set_alpha: 0.5 }};
|
||||
color: @primary;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
background-color: @background;
|
||||
border-radius: 10px;
|
||||
border-width: 2px;
|
||||
border-style: solid;
|
||||
border-color: @outline;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 3px;
|
||||
background-color: @primary_container;
|
||||
color: @on_primary_container;
|
||||
margin-right: 1px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
color: @on_primary;
|
||||
background-color: @primary;
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
color: @on_secondary;
|
||||
background-color: @secondary;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
color: @on_error;
|
||||
background-color: @error;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
color: @on_secondary;
|
||||
background-color: @secondary;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
background-color: black;
|
||||
border-radius: 10px;
|
||||
margin-left: 10px;
|
||||
padding-right: 0px;
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
#clock,
|
||||
#tray,
|
||||
#submap,
|
||||
#workspaces {
|
||||
background-color: @surface;
|
||||
color: @primary;
|
||||
padding: 3px 9px;
|
||||
margin: 3px 2px;
|
||||
margin-top: 9px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#window {
|
||||
border-radius: 10px;
|
||||
margin-left: 60px;
|
||||
margin-right: 60px;
|
||||
background-color: @surface;
|
||||
}
|
||||
|
||||
#clock {
|
||||
min-width: 125px;
|
||||
}
|
||||
|
||||
#pulseaudio,
|
||||
#memory,
|
||||
#network,
|
||||
#bluetooth,
|
||||
#brightness,
|
||||
#backlight,
|
||||
#battery,
|
||||
#cpu {
|
||||
padding: 3px 5px;
|
||||
margin: 3px 0px;
|
||||
margin-top: 9px;
|
||||
border-radius: 0;
|
||||
background-color: @surface;
|
||||
color: @primary;
|
||||
}
|
||||
|
||||
#cpu {
|
||||
border-radius: 10px 0px 0px 10px;
|
||||
padding-left: 9px;
|
||||
}
|
||||
|
||||
#pulseaudio.microphone {
|
||||
border-radius: 0px 10px 10px 0px;
|
||||
padding-right: 9px;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
[Appearance]
|
||||
color_scheme_path=~/.local/share/color-schemes/Matugen.colors
|
||||
custom_palette=true
|
||||
standard_dialogs=default
|
||||
style=Fusion
|
||||
|
||||
[Fonts]
|
||||
fixed="Source Code Pro,9,-1,2,400,0,0,0,0,0,0,0,0,0,0,1,,0,0"
|
||||
general="Comfortaa,9,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,,0,0"
|
||||
@@ -0,0 +1,28 @@
|
||||
[Appearance]
|
||||
color_scheme_path=~/.local/share/color-schemes/Matugen.colors
|
||||
custom_palette=true
|
||||
standard_dialogs=default
|
||||
style=Fusion
|
||||
|
||||
[Fonts]
|
||||
fixed="Source Code Pro,9,-1,2,400,0,0,0,0,0,0,0,0,0,0,1,,0,0"
|
||||
general="Comfortaa,9,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,,0,0"
|
||||
|
||||
[Interface]
|
||||
activate_item_on_single_click=1
|
||||
buttonbox_layout=0
|
||||
cursor_flash_time=1000
|
||||
dialog_buttons_have_icons=1
|
||||
double_click_interval=400
|
||||
gui_effects=@Invalid()
|
||||
keyboard_scheme=2
|
||||
menus_have_icons=true
|
||||
show_shortcuts_in_context_menus=true
|
||||
stylesheets=@Invalid()
|
||||
toolbutton_style=4
|
||||
underline_shortcut=1
|
||||
wheel_scroll_lines=3
|
||||
|
||||
[Troubleshooting]
|
||||
force_raster_widgets=1
|
||||
ignored_applications=@Invalid()
|
||||
@@ -0,0 +1,12 @@
|
||||
/** Basic config file **/
|
||||
|
||||
configuration {
|
||||
show-icons: true;
|
||||
icon-theme: "Candy";
|
||||
display-drun: "";
|
||||
display-run: "🏃🏽♂️ ";
|
||||
display-window: "🗔 ";
|
||||
display-combi: "🔎 ";
|
||||
}
|
||||
|
||||
@theme "style.rasi"
|
||||
@@ -0,0 +1,101 @@
|
||||
{
|
||||
"$schema": "/etc/xdg/swaync/configSchema.json",
|
||||
"ignore-gtk-theme": true,
|
||||
"positionX": "right",
|
||||
"positionY": "top",
|
||||
"layer": "overlay",
|
||||
"control-center-layer": "top",
|
||||
"layer-shell": true,
|
||||
"layer-shell-cover-screen": true,
|
||||
"cssPriority": "user",
|
||||
"control-center-margin-top": 3,
|
||||
"control-center-margin-bottom": 3,
|
||||
"control-center-margin-right": 3,
|
||||
"control-center-margin-left": 3,
|
||||
"notification-2fa-action": true,
|
||||
"notification-inline-replies": false,
|
||||
"notification-body-image-height": 100,
|
||||
"notification-body-image-width": 200,
|
||||
"timeout": 10,
|
||||
"timeout-low": 5,
|
||||
"timeout-critical": 0,
|
||||
"fit-to-screen": true,
|
||||
"relative-timestamps": true,
|
||||
"control-center-width": 500,
|
||||
"control-center-height": 600,
|
||||
"notification-window-width": 500,
|
||||
"keyboard-shortcuts": true,
|
||||
"notification-grouping": true,
|
||||
"image-visibility": "when-available",
|
||||
"transition-time": 200,
|
||||
"hide-on-clear": false,
|
||||
"hide-on-action": true,
|
||||
"text-empty": "No Notifications",
|
||||
"script-fail-notify": true,
|
||||
// "scripts": {
|
||||
// "example-script": {
|
||||
// "app-name": "example.app.id",
|
||||
// "exec": "echo 'Do something...'",
|
||||
// "urgency": "Normal"
|
||||
// },
|
||||
// "example-action-script": {
|
||||
// "app-name": "example.app.id",
|
||||
// "exec": "echo 'Do something actionable!'",
|
||||
// "urgency": "Normal",
|
||||
// "run-on": "action"
|
||||
// }
|
||||
// },
|
||||
// "notification-visibility": {
|
||||
// "example-name": {
|
||||
// "state": "muted",
|
||||
// "urgency": "Normal",
|
||||
// "app-name": "example.app.id"
|
||||
// }
|
||||
// },
|
||||
"widgets": [
|
||||
"inhibitors",
|
||||
"title",
|
||||
"dnd",
|
||||
"notifications"
|
||||
],
|
||||
"widget-config": {
|
||||
"notifications": {
|
||||
"vexpand": true
|
||||
},
|
||||
"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": {
|
||||
"blacklist": [],
|
||||
"autohide": false,
|
||||
"show-album-art": "always",
|
||||
"loop-carousel": false
|
||||
},
|
||||
"buttons-grid": {
|
||||
"buttons-per-row": 7,
|
||||
"actions": [
|
||||
{
|
||||
"label": "直",
|
||||
"type": "toggle",
|
||||
"active": true,
|
||||
"command": "sh -c '[[ $SWAYNC_TOGGLE_STATE == true ]] && nmcli radio wifi on || nmcli radio wifi off'",
|
||||
"update-command": "sh -c '[[ $(nmcli radio wifi) == \"enabled\" ]] && echo true || echo false'"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,194 @@
|
||||
{
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
"mod": "dock",
|
||||
"exclusive": true,
|
||||
"passthrough": false,
|
||||
"gtk-layer-shell": true,
|
||||
"height": 0,
|
||||
"modules-left": [
|
||||
"hyprland/submap",
|
||||
"clock",
|
||||
"hyprland/workspaces"
|
||||
],
|
||||
"modules-center": [
|
||||
"hyprland/window"
|
||||
],
|
||||
"modules-right": [
|
||||
"tray",
|
||||
"cpu",
|
||||
"memory",
|
||||
"network",
|
||||
"bluetooth",
|
||||
"backlight",
|
||||
"battery",
|
||||
"pulseaudio",
|
||||
"pulseaudio#microphone"
|
||||
],
|
||||
"bluetooth": {
|
||||
"format": "{icon}",
|
||||
"format-disabled": "\udb80\udcb2",
|
||||
"format-off": "\udb80\udcb2",
|
||||
"format-on": "\udb80\udcaf",
|
||||
"format-connected": "\udb80\udcb1",
|
||||
"format-icons": [
|
||||
"\udb82\udd47",
|
||||
"\udb82\udd3e",
|
||||
"\udb82\udd3f",
|
||||
"\udb82\udd40",
|
||||
"\udb82\udd41",
|
||||
"\udb82\udd42",
|
||||
"\udb82\udd43",
|
||||
"\udb82\udd44",
|
||||
"\udb82\udd45",
|
||||
"\udb82\udd46"
|
||||
],
|
||||
"tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected",
|
||||
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}",
|
||||
"tooltip-format-enumerate-connected": "{device_alias}\t{device_address}",
|
||||
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%",
|
||||
"on-click": "alacritty -e bluetui -T bluetui"
|
||||
},
|
||||
"hyprland/submap": {
|
||||
// "format": "{icon}",
|
||||
"max-length": 4,
|
||||
"tooltip": false
|
||||
// "icons": {
|
||||
// "device": "\uf4a9",
|
||||
// "groups": "\udb80\udec3",
|
||||
// "launch": "\udb85\udcde",
|
||||
// "notifications": "\uf400",
|
||||
// "screenshot": "\udb83\ude51",
|
||||
// "window": "\ueb7f",
|
||||
// "workspace": "\ueb23",
|
||||
// "groupedlaunch": "\uf0c0"
|
||||
// }
|
||||
},
|
||||
"hyprland/window": {
|
||||
"format": "{}",
|
||||
"tooltip-format": "Class: {class}",
|
||||
"rewrite": {
|
||||
"(.*) — Librewolf": "🌎 $1",
|
||||
"nvim - (.*)": "\ue6ae $1",
|
||||
"Yazi: (.*)": "\udb81\ude45 $1"
|
||||
}
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 14,
|
||||
"spacing": 8
|
||||
},
|
||||
"network": {
|
||||
"format-disconnected": "\udb80\udf19",
|
||||
"format-wifi": "{icon} {essid}",
|
||||
"format-ethernet": "\udb80\ude00",
|
||||
"tooltip-format-ethernet": "<big>Ethernet</big>\nInterface: {ifname}\nIP: {ipaddr}\nUp/Down (bps): {bandwidthUpBits}/{bandwidthDownBits}",
|
||||
"tooltip-format-wifi": "<big>Wi-Fi</big>\nSSID: {essid}\nIP: {ipaddr}\nSignal strength: {signalStrength}%\nUp/Down (bps): {bandwidthUpBits}/{bandwidthDownBits}\nFrequency: {frequency}GHz",
|
||||
"tooltip-format-disconnected": "<big>Networking</big>\n{ifname} disconnected",
|
||||
"on-click": "alacritty -e nmtui -T nmtui",
|
||||
"format-icons": [
|
||||
"\udb82\udd2f",
|
||||
"\udb82\udd1f",
|
||||
"\udb82\udd22",
|
||||
"\udb82\udd25",
|
||||
"\udb82\udd28"
|
||||
]
|
||||
},
|
||||
"clock": {
|
||||
"format": "{:%a, %d.%m %H:%M:%S}",
|
||||
"tooltip-format": "<big>Calendar</big>\n<tt><small>{calendar}</small></tt>",
|
||||
"interval": 1
|
||||
},
|
||||
"hyprland/workspaces": {
|
||||
"disable-scroll": true,
|
||||
"all-outputs": true,
|
||||
"tooltips": {
|
||||
"default": "{name}: {windows}",
|
||||
"empty": "" // Will result in no tooltip
|
||||
}
|
||||
},
|
||||
"cpu": {
|
||||
"tooltip-format": "<big>CPU</big>\n<tt>Total: {usage}</tt>",
|
||||
"format": "\uf4bc {usage}",
|
||||
"interval": 5,
|
||||
"on-click": "alacritty -e dgop -T dgop"
|
||||
},
|
||||
"memory": {
|
||||
"format": "\uefc5 {percentage}",
|
||||
"interval": 5,
|
||||
"on-click": "alacritty -e dgop -T dgop"
|
||||
},
|
||||
"pulseaudio": {
|
||||
"format": "{icon} {volume}",
|
||||
"tooltip": true,
|
||||
"format-muted": "\udb81\udcc4 Off",
|
||||
"on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle",
|
||||
"on-scroll-up": "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+",
|
||||
"on-scroll-down": "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-",
|
||||
"scroll-step": 5,
|
||||
"format-icons": {
|
||||
"headphone": "\uf025",
|
||||
"hands-free": "",
|
||||
"headset": "\uee59",
|
||||
"phone": "\udb82\udd70",
|
||||
"portable": "\udb82\udda2",
|
||||
"car": "🏎",
|
||||
"default": [
|
||||
"\udb81\udcc3",
|
||||
"\udb81\udf1f"
|
||||
]
|
||||
}
|
||||
},
|
||||
"battery":{
|
||||
"states": {
|
||||
"95": 100,
|
||||
"85": 90,
|
||||
"75": 80,
|
||||
"65": 70,
|
||||
"55": 60,
|
||||
"45": 50,
|
||||
"35": 40,
|
||||
"25": 30,
|
||||
"15": 20,
|
||||
"5": 10,
|
||||
"critical": 0,
|
||||
},
|
||||
"format":" {capacity}",
|
||||
"format-95": " {capacity}",
|
||||
"format-85": " {capacity}",
|
||||
"format-75": " {capacity}",
|
||||
"format-65": " {capacity}",
|
||||
"format-55": " {capacity}",
|
||||
"format-45": " {capacity}",
|
||||
"format-35": " {capacity}",
|
||||
"format-25": " {capacity}",
|
||||
"format-15": " {capacity}",
|
||||
"format-15": " {capacity}",
|
||||
"format-critical": " {capacity}",
|
||||
"format-charging":" {capacity}",
|
||||
"format-plugged": " ",
|
||||
"format-full": " 100",
|
||||
"format-empty": " ({capacity}%)",
|
||||
"tooltip-format":"<big>Battery</big>\nCurrently {timeTo}\nCurrently drawing: {power}W\nBattery status: {capacity}%"
|
||||
},
|
||||
"backlight": {
|
||||
"stages": {
|
||||
"high": 50,
|
||||
"low": 0,
|
||||
},
|
||||
"format": "🌣 {percent}",
|
||||
"format-high": " {percent}",
|
||||
"format-low": " {percent}",
|
||||
"tooltip-format": "<big>Brightness</big>\n🌣 {percent}",
|
||||
"on-scroll-up": "light -A 1",
|
||||
"on-scroll-down": "light -U 1"
|
||||
},
|
||||
"pulseaudio#microphone": {
|
||||
"format": "{format_source}",
|
||||
"format-source": "\uf130 {volume}",
|
||||
"format-source-muted": "\uf131 Off",
|
||||
"on-click": "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle",
|
||||
"on-scroll-up": "wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 5%+",
|
||||
"on-scroll-down": "wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 5%-",
|
||||
"scroll-step": 5
|
||||
}
|
||||
}
|
||||
@@ -21,14 +21,15 @@ prepend_keymap = [
|
||||
{ on = [ "g", "c", "s" ], run = "cd ~/projects/dotfiles/scripts", desc = "Go to script" },
|
||||
{ on = [ "g", "c", "d" ], run = "cd ~/projects/dotfiles", desc = "Go to Dotfiles folder" },
|
||||
{ on = [ "g", "c", "n" ], run = "cd ~/projects/nvim", desc = "Go to NeoVim config" },
|
||||
{ on = [ "g", "w" ], run = "cd ~/NextCloud/Wallpapers/00_rotation/", desc = "Go to ~/.config" },
|
||||
{ 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", "e", "n" ], run = "cd ~/NextCloud/Documents/ETH/Semester4/", desc = "Go to ETH Nextcloud" },
|
||||
{ on = [ "g", "e", "n" ], run = "cd ~/NextCloud/Documents/ETH/Semester5/", desc = "Go to ETH Nextcloud" },
|
||||
{ on = [ "g", "e", "p" ], run = "cd ~/projects/eth/projects/", desc = "Go to ETH projects folder" },
|
||||
{ on = [ "g", "e", "a" ], run = "cd ~/projects/eth/semesters/semester4/", desc = "Go to ETH assignments folder" },
|
||||
{ on = [ "g", "e", "a" ], run = "cd ~/projects/eth/semesters/semester5/", desc = "Go to ETH assignments folder" },
|
||||
{ on = [ "g", "e", "t" ], run = "cd ~/NextCloud/Documents/ETH/Others/projects/eyetap/", desc = "Go to eyetap data folder" },
|
||||
{ on = [ "g", "e", "g" ], run = "cd ~/projects/eth/gitlab/", desc = "Go to ETH Gitlab folder" },
|
||||
{ on = [ "g", "e", "s" ], run = "cd ~/projects/eth/eth-summaries/semester4/", desc = "Go to ETH Summaries folder" },
|
||||
{ on = [ "g", "e", "s" ], run = "cd ~/projects/eth/eth-summaries/core/", desc = "Go to ETH Summaries folder" },
|
||||
{ on = [ "g", "s", "h" ], run = "cd ~/.steam/steam/steamapps/common", desc = "Go to ~/.steam/steam/steamapps/common" },
|
||||
{ on = [ "g", "s", "g" ], run = "cd /mnt/games/SteamLibrary", desc = "Go to SteamLibrary on NTFS partition" },
|
||||
{ on = [ "g", "s", "s" ], run = "cd /mnt/secondary/SteamLibrary", desc = "Go to SteamLibrary on main games drive" },
|
||||
|
||||
+13
-1
@@ -10,8 +10,20 @@ prepend_previewers = [
|
||||
]
|
||||
|
||||
[opener]
|
||||
open = [
|
||||
pdf = [
|
||||
{ run = 'xdg-open "$@"', desc = "Open" },
|
||||
{ run = 'okular "$@"', desc = "Open in Okular" },
|
||||
{ run = 'evince "$@"', desc = "Open in Evince" },
|
||||
]
|
||||
image = [
|
||||
{ run = 'xdg-open "$@"', desc = "Open" },
|
||||
{ run = 'set-theme "$@"', desc = "Set desktop theme from this image" },
|
||||
]
|
||||
|
||||
[open]
|
||||
prepend_rules = [
|
||||
{ mime = "application/pdf", use = "pdf" },
|
||||
{ mime = "image/png", use = "image" },
|
||||
{ mime = "image/jpg", use = "image" },
|
||||
{ mime = "image/jpeg", use = "image" },
|
||||
]
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
# Lines configured by zsh-newuser-install
|
||||
HISTFILE=~/.histfile
|
||||
HISTSIZE=1000
|
||||
SAVEHIST=1000
|
||||
bindkey -e
|
||||
# End of lines configured by zsh-newuser-install
|
||||
# The following lines were added by compinstall
|
||||
zstyle :compinstall filename '/home/janis/.zshrc'
|
||||
|
||||
autoload -Uz compinit
|
||||
compinit
|
||||
autoload -U promptinit
|
||||
promptinit
|
||||
# End of lines added by compinstall
|
||||
ENABLE_CORRECTION=true
|
||||
|
||||
# Handy aliases
|
||||
alias ls='ls -l --color'
|
||||
alias ll='ls -la --color'
|
||||
alias v='nvim'
|
||||
alias c='clear'
|
||||
alias cv='clear && nvim'
|
||||
alias fm='thunar .'
|
||||
alias gl='git ls-files --others --exclude-standard'
|
||||
alias gm='git ls-files -m'
|
||||
alias gp='git pull'
|
||||
alias cfh='nvim ~/projects/system/dotfiles/config/hypr/'
|
||||
alias cfn='nvim ~/projects/system/nvim/'
|
||||
alias cff='nvim ~/projects/system/dotfiles/config/fish/'
|
||||
alias cfa='nvim ~/projects/system/dotfiles/config/astal/'
|
||||
alias cf='nvim ~/projects/system/dotfiles/'
|
||||
alias g='lazygit'
|
||||
alias ff='fastfetch'
|
||||
alias p='nvimpager -p'
|
||||
alias latexdocs='zathura ~/projects/latex/docs/docs.pdf &>> /dev/null & disown'
|
||||
alias gccerr='gcc -Wall -Wextra -Wpedantic -Werror -Wmissing-prototypes -std=c99'
|
||||
alias linecount='cloc --vcs git .'
|
||||
|
||||
# Aliases from ohmyzsh
|
||||
alias cp='nocorrect cp'
|
||||
alias man='nocorrect man'
|
||||
alias mkdir='nocorrect mkdir'
|
||||
alias mv='nocorrect mv'
|
||||
alias sudo='nocorrect sudo'
|
||||
alias su='nocorrect su'
|
||||
alias rm='nocorrect rm'
|
||||
alias -g ...='../..'
|
||||
alias -g ....='../../..'
|
||||
alias -g .....='../../../..'
|
||||
alias -g ......='../../../../..'
|
||||
|
||||
alias -- -='cd -'
|
||||
alias 1='cd -1'
|
||||
alias 2='cd -2'
|
||||
alias 3='cd -3'
|
||||
alias 4='cd -4'
|
||||
alias 5='cd -5'
|
||||
alias 6='cd -6'
|
||||
alias 7='cd -7'
|
||||
alias 8='cd -8'
|
||||
alias 9='cd -9'
|
||||
|
||||
export PATH=$PATH:~/projects/system/dotfiles/scripts/
|
||||
|
||||
# Yazi wrapper
|
||||
function y() {
|
||||
local tmp cwd; tmp="$(mktemp -t "yazi-cwd.XXXXXX")"
|
||||
command yazi "$@" --cwd-file="$tmp"
|
||||
IFS= read -r -d '' cwd < "$tmp"
|
||||
[ "$cwd" != "$PWD" ] && [ -d "$cwd" ] && builtin cd -- "$cwd" || builtin true
|
||||
command rm -f -- "$tmp"
|
||||
}
|
||||
|
||||
source ~/.config/zsh/theme.zsh
|
||||
eval "$(zoxide init --cmd j zsh)"
|
||||
|
||||
# for file in ~/projects/system/dotfiles/system/completions/*
|
||||
# do
|
||||
# source $file
|
||||
# done
|
||||
@@ -0,0 +1,15 @@
|
||||
local return_code="%F{9}%? ↵%{$reset_color%})"
|
||||
local user_host="%B%F{9}%n%F{15}@%F{172}%m%f "
|
||||
local user_symbol='%(!.#.$)'
|
||||
local current_dir="%B%F{2}%1~ %f"
|
||||
local vcs_info=''
|
||||
local venv_prompt=''
|
||||
|
||||
precmd () {
|
||||
vcs_info='git status'
|
||||
}
|
||||
|
||||
|
||||
PS1="╭─${user_host}${current_dir}${vcs_info}${venv_prompt}
|
||||
╰─%B${user_symbol}%b "
|
||||
RPROMPT="%B${return_code}%b"
|
||||
@@ -1,81 +0,0 @@
|
||||
{
|
||||
"hyprlandSubmapIndicator": {
|
||||
"enabled": true,
|
||||
"submapLabels": [
|
||||
{
|
||||
"submap": "device",
|
||||
"label": "dev",
|
||||
"color": "#FF0000"
|
||||
},
|
||||
{
|
||||
"submap": "groups",
|
||||
"label": "GRP",
|
||||
"color": "#AABBCC"
|
||||
}
|
||||
],
|
||||
"defaultTextColor": {
|
||||
"r": 0.12941177189350128,
|
||||
"g": 0.12941177189350128,
|
||||
"b": 0.12941177189350128,
|
||||
"a": 1,
|
||||
"hsvHue": -1,
|
||||
"hsvSaturation": 0,
|
||||
"hsvValue": 0.12941177189350128,
|
||||
"hslHue": -1,
|
||||
"hslSaturation": 0,
|
||||
"hslLightness": 0.12941177189350128,
|
||||
"valid": true
|
||||
},
|
||||
"defaultIconName": "home",
|
||||
"defaultIconColor": {},
|
||||
"submapIcons": [
|
||||
{
|
||||
"submap": "device",
|
||||
"icon": "build",
|
||||
"color": "#FF0000"
|
||||
},
|
||||
{
|
||||
"submap": "groups",
|
||||
"icon": "group",
|
||||
"color": "#AABBCC"
|
||||
},
|
||||
{
|
||||
"submap": "launch",
|
||||
"icon": "rocket_launch",
|
||||
"color": "#00B51E"
|
||||
},
|
||||
{
|
||||
"submap": "notifications",
|
||||
"icon": "notification_settings",
|
||||
"color": "#eec100"
|
||||
},
|
||||
{
|
||||
"submap": "screenshot",
|
||||
"icon": "screenshot_monitor",
|
||||
"color": "#ad00ee"
|
||||
},
|
||||
{
|
||||
"submap": "window",
|
||||
"icon": "select_window",
|
||||
"color": "#00b2ee"
|
||||
},
|
||||
{
|
||||
"submap": "workspace",
|
||||
"icon": "monitor",
|
||||
"color": "#2800ee"
|
||||
},
|
||||
{
|
||||
"submap": "groupedlaunch",
|
||||
"icon": "open_in_new",
|
||||
"color": "#005207"
|
||||
}
|
||||
],
|
||||
"fontSize": "none"
|
||||
},
|
||||
"calculator": {
|
||||
"enabled": true,
|
||||
"trigger": "=",
|
||||
"calcEngine": "qalc",
|
||||
"noTrigger": false
|
||||
}
|
||||
}
|
||||
@@ -1,792 +0,0 @@
|
||||
{
|
||||
"currentThemeName": "dynamic",
|
||||
"currentThemeCategory": "dynamic",
|
||||
"customThemeFile": "",
|
||||
"registryThemeVariants": {},
|
||||
"matugenScheme": "scheme-tonal-spot",
|
||||
"matugenContrast": 0,
|
||||
"runUserMatugenTemplates": true,
|
||||
"matugenTargetMonitor": "",
|
||||
"popupTransparency": 1,
|
||||
"dockTransparency": 1,
|
||||
"widgetBackgroundColor": "sch",
|
||||
"widgetBackgroundCustomColor": "#6750A4",
|
||||
"widgetBackgroundCustomStrength": 0.5,
|
||||
"widgetColorMode": "colorful",
|
||||
"controlCenterTileColorMode": "primary",
|
||||
"buttonColorMode": "primary",
|
||||
"cornerRadius": 12,
|
||||
"niriLayoutGapsOverride": -1,
|
||||
"niriLayoutRadiusOverride": -1,
|
||||
"niriLayoutBorderSize": -1,
|
||||
"hyprlandLayoutGapsOverride": -1,
|
||||
"hyprlandLayoutGapsOutOverride": -1,
|
||||
"hyprlandLayoutRadiusOverride": -1,
|
||||
"hyprlandLayoutBorderSize": -1,
|
||||
"hyprlandResizeOnBorder": false,
|
||||
"mangoLayoutGapsOverride": -1,
|
||||
"mangoLayoutGapsOutOverride": -1,
|
||||
"mangoLayoutRadiusOverride": -1,
|
||||
"mangoLayoutBorderSize": -1,
|
||||
"mangoTrackpadNaturalScrolling": true,
|
||||
"firstDayOfWeek": -1,
|
||||
"showWeekNumber": false,
|
||||
"calendarBackend": "auto",
|
||||
"clockFormat": "24h",
|
||||
"showSeconds": true,
|
||||
"padHours12Hour": false,
|
||||
"useFahrenheit": false,
|
||||
"windSpeedUnit": "kmh",
|
||||
"nightModeEnabled": false,
|
||||
"animationSpeed": 4,
|
||||
"customAnimationDuration": 150,
|
||||
"syncComponentAnimationSpeeds": true,
|
||||
"popoutAnimationSpeed": 1,
|
||||
"popoutCustomAnimationDuration": 150,
|
||||
"modalAnimationSpeed": 1,
|
||||
"modalCustomAnimationDuration": 150,
|
||||
"enableRippleEffects": true,
|
||||
"animationVariant": 0,
|
||||
"motionEffect": 0,
|
||||
"m3ElevationEnabled": true,
|
||||
"m3ElevationIntensity": 12,
|
||||
"m3ElevationOpacity": 30,
|
||||
"m3ElevationColorMode": "default",
|
||||
"m3ElevationLightDirection": "top",
|
||||
"m3ElevationCustomColor": "#000000",
|
||||
"modalElevationEnabled": true,
|
||||
"popoutElevationEnabled": true,
|
||||
"barElevationEnabled": false,
|
||||
"blurEnabled": false,
|
||||
"blurForegroundLayers": true,
|
||||
"blurLayerOutlineOpacity": 0.12,
|
||||
"blurBorderEnabled": true,
|
||||
"blurBorderColor": "outline",
|
||||
"blurBorderCustomColor": "#ffffff",
|
||||
"blurBorderOpacity": 0.35,
|
||||
"wallpaperFillMode": "Fill",
|
||||
"blurredWallpaperLayer": false,
|
||||
"blurWallpaperOnOverview": false,
|
||||
"wallpaperBackgroundColorMode": "black",
|
||||
"wallpaperBackgroundCustomColor": "#000000",
|
||||
"showLauncherButton": true,
|
||||
"showWorkspaceSwitcher": true,
|
||||
"showFocusedWindow": true,
|
||||
"showWeather": true,
|
||||
"showMusic": true,
|
||||
"showClipboard": true,
|
||||
"showCpuUsage": true,
|
||||
"showMemUsage": true,
|
||||
"showCpuTemp": true,
|
||||
"showGpuTemp": true,
|
||||
"selectedGpuIndex": 0,
|
||||
"enabledGpuPciIds": [],
|
||||
"showSystemTray": true,
|
||||
"systemTrayIconTintMode": "primary",
|
||||
"systemTrayIconTintSaturation": 0,
|
||||
"systemTrayIconTintStrength": 100,
|
||||
"showClock": true,
|
||||
"showNotificationButton": true,
|
||||
"showBattery": true,
|
||||
"showBatteryPercent": true,
|
||||
"showBatteryPercentOnlyOnBattery": false,
|
||||
"showBatteryTime": false,
|
||||
"showBatteryTimeOnlyOnBattery": false,
|
||||
"batteryPillStyle": false,
|
||||
"batteryPillPercentSign": false,
|
||||
"showControlCenterButton": true,
|
||||
"showCapsLockIndicator": true,
|
||||
"controlCenterShowNetworkIcon": true,
|
||||
"controlCenterShowBluetoothIcon": true,
|
||||
"controlCenterShowAudioIcon": true,
|
||||
"controlCenterShowAudioPercent": false,
|
||||
"controlCenterShowVpnIcon": true,
|
||||
"controlCenterShowBrightnessIcon": false,
|
||||
"controlCenterShowBrightnessPercent": false,
|
||||
"controlCenterShowMicIcon": false,
|
||||
"controlCenterShowMicPercent": true,
|
||||
"controlCenterShowBatteryIcon": false,
|
||||
"controlCenterShowPrinterIcon": false,
|
||||
"controlCenterShowScreenSharingIcon": true,
|
||||
"controlCenterShowIdleInhibitorIcon": false,
|
||||
"controlCenterShowDoNotDisturbIcon": false,
|
||||
"showPrivacyButton": true,
|
||||
"privacyShowMicIcon": false,
|
||||
"privacyShowCameraIcon": false,
|
||||
"privacyShowScreenShareIcon": false,
|
||||
"controlCenterWidgets": [
|
||||
{
|
||||
"id": "volumeSlider",
|
||||
"enabled": true,
|
||||
"width": 50
|
||||
},
|
||||
{
|
||||
"id": "inputVolumeSlider",
|
||||
"enabled": true,
|
||||
"width": 50
|
||||
},
|
||||
{
|
||||
"id": "brightnessSlider",
|
||||
"enabled": true,
|
||||
"width": 100,
|
||||
"instanceId": "mqkkrmb3egxs1ld56tbk0v52ce4yj5",
|
||||
"deviceName": ""
|
||||
},
|
||||
{
|
||||
"id": "bluetooth",
|
||||
"enabled": true,
|
||||
"width": 50
|
||||
},
|
||||
{
|
||||
"id": "battery",
|
||||
"enabled": true,
|
||||
"width": 50
|
||||
},
|
||||
{
|
||||
"id": "builtin_vpn",
|
||||
"enabled": true,
|
||||
"width": 50
|
||||
},
|
||||
{
|
||||
"id": "wifi",
|
||||
"enabled": true,
|
||||
"width": 50
|
||||
},
|
||||
{
|
||||
"id": "audioInput",
|
||||
"enabled": true,
|
||||
"width": 50
|
||||
},
|
||||
{
|
||||
"id": "audioOutput",
|
||||
"enabled": true,
|
||||
"width": 50
|
||||
}
|
||||
],
|
||||
"showWorkspaceIndex": true,
|
||||
"showWorkspaceName": false,
|
||||
"showWorkspacePadding": false,
|
||||
"workspaceScrolling": false,
|
||||
"showWorkspaceApps": false,
|
||||
"workspaceDragReorder": true,
|
||||
"maxWorkspaceIcons": 2,
|
||||
"workspaceAppIconSizeOffset": 0,
|
||||
"groupWorkspaceApps": true,
|
||||
"groupActiveWorkspaceApps": false,
|
||||
"workspaceFollowFocus": true,
|
||||
"showOccupiedWorkspacesOnly": false,
|
||||
"reverseScrolling": false,
|
||||
"dwlShowAllTags": false,
|
||||
"workspaceActiveAppHighlightEnabled": false,
|
||||
"workspaceColorMode": "default",
|
||||
"workspaceFocusedCustomColor": "#6750A4",
|
||||
"workspaceOccupiedColorMode": "none",
|
||||
"workspaceOccupiedCustomColor": "#625B71",
|
||||
"workspaceUnfocusedColorMode": "default",
|
||||
"workspaceUnfocusedCustomColor": "#49454E",
|
||||
"workspaceUrgentColorMode": "default",
|
||||
"workspaceUrgentCustomColor": "#B3261E",
|
||||
"workspaceFocusedBorderEnabled": false,
|
||||
"workspaceFocusedBorderColor": "primary",
|
||||
"workspaceFocusedBorderCustomColor": "#6750A4",
|
||||
"workspaceFocusedBorderThickness": 2,
|
||||
"workspaceUnfocusedMonitorSeparateAppearance": false,
|
||||
"workspaceUnfocusedMonitorColorMode": "default",
|
||||
"workspaceUnfocusedMonitorFocusedCustomColor": "#6750A4",
|
||||
"workspaceUnfocusedMonitorOccupiedColorMode": "none",
|
||||
"workspaceUnfocusedMonitorOccupiedCustomColor": "#625B71",
|
||||
"workspaceUnfocusedMonitorUnfocusedColorMode": "default",
|
||||
"workspaceUnfocusedMonitorUnfocusedCustomColor": "#49454E",
|
||||
"workspaceUnfocusedMonitorUrgentColorMode": "default",
|
||||
"workspaceUnfocusedMonitorUrgentCustomColor": "#B3261E",
|
||||
"workspaceUnfocusedMonitorBorderEnabled": false,
|
||||
"workspaceUnfocusedMonitorBorderColor": "primary",
|
||||
"workspaceUnfocusedMonitorBorderCustomColor": "#6750A4",
|
||||
"workspaceUnfocusedMonitorBorderThickness": 2,
|
||||
"workspaceNameIcons": {},
|
||||
"waveProgressEnabled": true,
|
||||
"scrollTitleEnabled": true,
|
||||
"mediaAdaptiveWidthEnabled": true,
|
||||
"audioVisualizerEnabled": true,
|
||||
"mediaUseAlbumArtAccent": false,
|
||||
"audioScrollMode": "volume",
|
||||
"audioWheelScrollAmount": 5,
|
||||
"audioDeviceScrollVolumeEnabled": false,
|
||||
"mediaExcludePlayers": [],
|
||||
"clockCompactMode": false,
|
||||
"focusedWindowCompactMode": false,
|
||||
"focusedWindowSize": 1,
|
||||
"focusedWindowShowIcon": true,
|
||||
"runningAppsCompactMode": true,
|
||||
"barMaxVisibleApps": 0,
|
||||
"barMaxVisibleRunningApps": 0,
|
||||
"barShowOverflowBadge": true,
|
||||
"trayAutoOverflow": true,
|
||||
"trayPopupSingleLine": true,
|
||||
"trayMaxVisibleItems": 0,
|
||||
"appsDockHideIndicators": false,
|
||||
"appsDockColorizeActive": false,
|
||||
"appsDockActiveColorMode": "primary",
|
||||
"appsDockEnlargeOnHover": false,
|
||||
"appsDockEnlargePercentage": 125,
|
||||
"appsDockIconSizePercentage": 100,
|
||||
"keyboardLayoutNameCompactMode": false,
|
||||
"keyboardLayoutNameShowIcon": false,
|
||||
"runningAppsCurrentWorkspace": true,
|
||||
"runningAppsGroupByApp": false,
|
||||
"runningAppsCurrentMonitor": false,
|
||||
"appIdSubstitutions": [],
|
||||
"centeringMode": "index",
|
||||
"clockDateFormat": "",
|
||||
"lockDateFormat": "",
|
||||
"greeterRememberLastSession": true,
|
||||
"greeterRememberLastUser": true,
|
||||
"greeterAutoLogin": false,
|
||||
"greeterEnableFprint": false,
|
||||
"greeterEnableU2f": false,
|
||||
"greeterWallpaperPath": "",
|
||||
"greeterLockDateFormat": "",
|
||||
"greeterFontFamily": "",
|
||||
"greeterWallpaperFillMode": "",
|
||||
"greeterPamExternallyManaged": false,
|
||||
"greeterSyncPending": false,
|
||||
"greeterSyncBaseline": {},
|
||||
"mediaSize": 1,
|
||||
"appLauncherViewMode": "list",
|
||||
"spotlightModalViewMode": "list",
|
||||
"browserPickerViewMode": "grid",
|
||||
"browserUsageHistory": {},
|
||||
"appPickerViewMode": "grid",
|
||||
"filePickerUsageHistory": {},
|
||||
"sortAppsAlphabetically": false,
|
||||
"appLauncherGridColumns": 4,
|
||||
"spotlightCloseNiriOverview": true,
|
||||
"rememberLastQuery": false,
|
||||
"rememberLastMode": true,
|
||||
"spotlightSectionViewModes": {
|
||||
"apps": "list"
|
||||
},
|
||||
"appDrawerSectionViewModes": {},
|
||||
"niriOverviewOverlayEnabled": true,
|
||||
"niriOverviewLauncherStyle": "full",
|
||||
"dankLauncherV2Size": "compact",
|
||||
"dankLauncherV2ShowSourceBadges": true,
|
||||
"dankLauncherV2BorderEnabled": false,
|
||||
"dankLauncherV2BorderThickness": 2,
|
||||
"dankLauncherV2BorderColor": "primary",
|
||||
"dankLauncherV2ShowFooter": true,
|
||||
"dankLauncherV2UnloadOnClose": false,
|
||||
"dankLauncherV2IncludeFilesInAll": false,
|
||||
"dankLauncherV2IncludeFoldersInAll": false,
|
||||
"launcherUseOverlayLayer": false,
|
||||
"launcherStyle": "full",
|
||||
"spotlightBarShowModeChips": false,
|
||||
"keybindsFloatingWindow": false,
|
||||
"useAutoLocation": false,
|
||||
"weatherEnabled": true,
|
||||
"dashTabs": [
|
||||
{
|
||||
"id": "overview",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"id": "media",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"id": "wallpaper",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"id": "weather",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"id": "settings",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"networkPreference": "wifi",
|
||||
"iconThemeDark": "Papirus-Dark",
|
||||
"iconThemeLight": "System Default",
|
||||
"iconThemePerMode": false,
|
||||
"lastAppliedIconTheme": "",
|
||||
"cursorSettings": {
|
||||
"theme": "oreo_spark_blue_cursors",
|
||||
"size": 24,
|
||||
"niri": {
|
||||
"hideWhenTyping": false,
|
||||
"hideAfterInactiveMs": 0
|
||||
},
|
||||
"hyprland": {
|
||||
"hideOnKeyPress": false,
|
||||
"hideOnTouch": false,
|
||||
"inactiveTimeout": 5
|
||||
},
|
||||
"dwl": {
|
||||
"cursorHideTimeout": 0
|
||||
}
|
||||
},
|
||||
"launcherLogoMode": "apps",
|
||||
"launcherLogoCustomPath": "",
|
||||
"launcherLogoColorOverride": "",
|
||||
"launcherLogoColorInvertOnMode": false,
|
||||
"launcherLogoBrightness": 0.5,
|
||||
"launcherLogoContrast": 1,
|
||||
"launcherLogoSizeOffset": 0,
|
||||
"fontFamily": "Comfortaa Medium",
|
||||
"monoFontFamily": "Source Code Pro",
|
||||
"fontWeight": 400,
|
||||
"fontScale": 1,
|
||||
"textRenderType": 0,
|
||||
"textRenderQuality": 0,
|
||||
"notepadUseMonospace": true,
|
||||
"notepadFontFamily": "",
|
||||
"notepadFontSize": 14,
|
||||
"notificationSummaryFontSize": 0,
|
||||
"notificationBodyFontSize": 0,
|
||||
"notepadShowLineNumbers": false,
|
||||
"notepadAutoSave": false,
|
||||
"notepadSlideoutSide": "right",
|
||||
"notepadDefaultMode": "slideout",
|
||||
"notepadTransparencyOverride": -1,
|
||||
"notepadLastCustomTransparency": 0.7,
|
||||
"notepadUseCompositorGap": false,
|
||||
"notepadEdgeGap": 0,
|
||||
"soundsEnabled": true,
|
||||
"useSystemSoundTheme": false,
|
||||
"soundLogin": false,
|
||||
"soundNewNotification": true,
|
||||
"soundVolumeChanged": false,
|
||||
"soundPluggedIn": false,
|
||||
"muteSoundsWhenMediaPlaying": true,
|
||||
"acMonitorTimeout": 0,
|
||||
"acLockTimeout": 0,
|
||||
"acSuspendTimeout": 0,
|
||||
"acSuspendBehavior": 0,
|
||||
"acProfileName": "",
|
||||
"acPostLockMonitorTimeout": 0,
|
||||
"batteryMonitorTimeout": 0,
|
||||
"batteryLockTimeout": 0,
|
||||
"batterySuspendTimeout": 0,
|
||||
"batterySuspendBehavior": 0,
|
||||
"batteryProfileName": "",
|
||||
"batteryPostLockMonitorTimeout": 0,
|
||||
"batteryChargeLimit": 100,
|
||||
"batteryNotifyChargeLimit": false,
|
||||
"batteryCriticalThreshold": 10,
|
||||
"batteryNotifyCritical": true,
|
||||
"batteryLowThreshold": 20,
|
||||
"batteryNotifyLow": false,
|
||||
"batteryChargeLimitNotificationType": 0,
|
||||
"batteryLowNotificationType": 0,
|
||||
"batteryCriticalNotificationType": 1,
|
||||
"batteryAutoPowerSaver": false,
|
||||
"lockBeforeSuspend": false,
|
||||
"loginctlLockIntegration": true,
|
||||
"fadeToLockEnabled": true,
|
||||
"fadeToLockGracePeriod": 5,
|
||||
"fadeToDpmsEnabled": true,
|
||||
"fadeToDpmsGracePeriod": 5,
|
||||
"launchPrefix": "",
|
||||
"gtkThemingEnabled": false,
|
||||
"qtThemingEnabled": false,
|
||||
"syncModeWithPortal": true,
|
||||
"terminalsAlwaysDark": false,
|
||||
"muxType": "tmux",
|
||||
"muxUseCustomCommand": false,
|
||||
"muxCustomCommand": "",
|
||||
"muxSessionFilter": "",
|
||||
"runDmsMatugenTemplates": true,
|
||||
"matugenTemplateGtk": true,
|
||||
"matugenTemplateNiri": false,
|
||||
"matugenTemplateHyprland": false,
|
||||
"matugenTemplateMangowc": false,
|
||||
"matugenTemplateQt5ct": true,
|
||||
"matugenTemplateQt6ct": true,
|
||||
"matugenTemplateFirefox": false,
|
||||
"matugenTemplatePywalfox": false,
|
||||
"matugenTemplateZenBrowser": false,
|
||||
"matugenTemplateVesktop": true,
|
||||
"matugenTemplateVencord": true,
|
||||
"matugenTemplateEquibop": false,
|
||||
"matugenTemplateGhostty": false,
|
||||
"matugenTemplateKitty": true,
|
||||
"matugenTemplateFoot": false,
|
||||
"matugenTemplateAlacritty": true,
|
||||
"matugenTemplateNeovim": true,
|
||||
"matugenTemplateWezterm": false,
|
||||
"matugenTemplateDgop": true,
|
||||
"matugenTemplateKcolorscheme": true,
|
||||
"matugenTemplateVscode": false,
|
||||
"matugenTemplateEmacs": false,
|
||||
"matugenTemplateZed": false,
|
||||
"matugenTemplateNeovimSettings": {
|
||||
"dark": {
|
||||
"baseTheme": "github_dark",
|
||||
"harmony": 0.5
|
||||
},
|
||||
"light": {
|
||||
"baseTheme": "github_light",
|
||||
"harmony": 0.5
|
||||
}
|
||||
},
|
||||
"matugenTemplateNeovimSetBackground": true,
|
||||
"showDock": false,
|
||||
"dockAutoHide": false,
|
||||
"dockSmartAutoHide": false,
|
||||
"dockUseOverlayLayer": false,
|
||||
"dockGroupByApp": false,
|
||||
"dockRestoreSpecialWorkspaceOnClick": false,
|
||||
"dockOpenOnOverview": false,
|
||||
"dockPosition": 1,
|
||||
"dockSpacing": 4,
|
||||
"dockBottomGap": 0,
|
||||
"dockMargin": 0,
|
||||
"dockIconSize": 40,
|
||||
"dockIndicatorStyle": "circle",
|
||||
"dockBorderEnabled": false,
|
||||
"dockBorderColor": "surfaceText",
|
||||
"dockBorderOpacity": 1,
|
||||
"dockBorderThickness": 1,
|
||||
"dockIsolateDisplays": false,
|
||||
"dockLauncherEnabled": false,
|
||||
"dockLauncherLogoMode": "apps",
|
||||
"dockLauncherLogoCustomPath": "",
|
||||
"dockLauncherLogoColorOverride": "",
|
||||
"dockLauncherLogoSizeOffset": 0,
|
||||
"dockLauncherLogoBrightness": 0.5,
|
||||
"dockLauncherLogoContrast": 1,
|
||||
"dockMaxVisibleApps": 0,
|
||||
"dockMaxVisibleRunningApps": 0,
|
||||
"dockShowOverflowBadge": true,
|
||||
"dockShowTrash": false,
|
||||
"dockTrashFileManager": "default",
|
||||
"dockTrashCustomCommand": "",
|
||||
"notificationOverlayEnabled": false,
|
||||
"notificationPopupShadowEnabled": true,
|
||||
"notificationPopupPrivacyMode": false,
|
||||
"notificationForegroundLayers": true,
|
||||
"modalDarkenBackground": true,
|
||||
"lockScreenShowPowerActions": true,
|
||||
"lockScreenShowSystemIcons": true,
|
||||
"lockScreenShowTime": true,
|
||||
"lockScreenShowDate": true,
|
||||
"lockScreenShowProfileImage": true,
|
||||
"lockScreenShowPasswordField": true,
|
||||
"lockScreenShowMediaPlayer": true,
|
||||
"lockScreenPowerOffMonitorsOnLock": false,
|
||||
"lockAtStartup": false,
|
||||
"enableFprint": false,
|
||||
"maxFprintTries": 15,
|
||||
"enableU2f": false,
|
||||
"u2fMode": "or",
|
||||
"lockPamPath": "",
|
||||
"lockPamInlineFprint": false,
|
||||
"lockPamInlineU2f": false,
|
||||
"lockPamExternallyManaged": false,
|
||||
"lockU2fPamPath": "",
|
||||
"lockScreenInactiveColor": "#000000",
|
||||
"lockScreenNotificationMode": 0,
|
||||
"lockScreenVideoEnabled": false,
|
||||
"lockScreenVideoPath": "",
|
||||
"lockScreenVideoCycling": false,
|
||||
"lockScreenWallpaperPath": "",
|
||||
"lockScreenWallpaperFillMode": "",
|
||||
"lockScreenFontFamily": "",
|
||||
"hideBrightnessSlider": false,
|
||||
"notificationTimeoutLow": 5000,
|
||||
"notificationTimeoutNormal": 5000,
|
||||
"notificationTimeoutCritical": 0,
|
||||
"notificationCompactMode": false,
|
||||
"notificationShowTimeoutBar": false,
|
||||
"notificationDedupeEnabled": true,
|
||||
"notificationPopupPosition": 0,
|
||||
"notificationAnimationSpeed": 1,
|
||||
"notificationCustomAnimationDuration": 400,
|
||||
"notificationHistoryEnabled": true,
|
||||
"notificationHistoryMaxCount": 50,
|
||||
"notificationHistoryMaxAgeDays": 7,
|
||||
"notificationHistorySaveLow": true,
|
||||
"notificationHistorySaveNormal": true,
|
||||
"notificationHistorySaveCritical": true,
|
||||
"notificationRules": [],
|
||||
"notificationFocusedMonitor": false,
|
||||
"osdAlwaysShowValue": false,
|
||||
"osdPosition": 5,
|
||||
"osdVolumeEnabled": true,
|
||||
"osdMediaVolumeEnabled": true,
|
||||
"osdMediaPlaybackEnabled": true,
|
||||
"osdBrightnessEnabled": true,
|
||||
"osdIdleInhibitorEnabled": true,
|
||||
"osdMicMuteEnabled": true,
|
||||
"osdCapsLockEnabled": true,
|
||||
"osdPowerProfileEnabled": true,
|
||||
"osdAudioOutputEnabled": true,
|
||||
"powerActionConfirm": false,
|
||||
"powerActionHoldDuration": 0.5,
|
||||
"powerMenuActions": [
|
||||
"reboot",
|
||||
"logout",
|
||||
"poweroff",
|
||||
"lock",
|
||||
"suspend",
|
||||
"restart"
|
||||
],
|
||||
"powerMenuDefaultAction": "logout",
|
||||
"powerMenuGridLayout": false,
|
||||
"customPowerActionLock": "",
|
||||
"customPowerActionLogout": "",
|
||||
"customPowerActionSuspend": "",
|
||||
"customPowerActionHibernate": "",
|
||||
"customPowerActionReboot": "",
|
||||
"customPowerActionPowerOff": "",
|
||||
"updaterHideWidget": false,
|
||||
"updaterCheckOnStart": false,
|
||||
"updaterUseCustomCommand": false,
|
||||
"updaterCustomCommand": "",
|
||||
"updaterTerminalAdditionalParams": "",
|
||||
"updaterIntervalSeconds": 86400,
|
||||
"updaterIncludeFlatpak": true,
|
||||
"updaterAllowAUR": false,
|
||||
"updaterIgnoredPackages": [],
|
||||
"displayNameMode": "system",
|
||||
"screenPreferences": {
|
||||
"wallpaper": [
|
||||
"all"
|
||||
],
|
||||
"dock": [],
|
||||
"notepad": []
|
||||
},
|
||||
"showOnLastDisplay": {
|
||||
"dock": false
|
||||
},
|
||||
"niriOutputSettings": {},
|
||||
"hyprlandOutputSettings": {},
|
||||
"displayProfiles": {},
|
||||
"activeDisplayProfile": {},
|
||||
"displayProfileAutoSelect": false,
|
||||
"displayShowDisconnected": false,
|
||||
"displaySnapToEdge": true,
|
||||
"connectedFrameBarStyleBackups": {},
|
||||
"barConfigs": [
|
||||
{
|
||||
"id": "default",
|
||||
"name": "Main Bar",
|
||||
"enabled": true,
|
||||
"position": 0,
|
||||
"screenPreferences": [
|
||||
"all"
|
||||
],
|
||||
"showOnLastDisplay": true,
|
||||
"leftWidgets": [
|
||||
{
|
||||
"id": "hyprlandSubmapIndicator",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"id": "clock",
|
||||
"enabled": true,
|
||||
"clockCompactMode": false
|
||||
},
|
||||
{
|
||||
"id": "workspaceSwitcher",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"centerWidgets": [
|
||||
{
|
||||
"id": "music",
|
||||
"enabled": true,
|
||||
"mediaSize": 1
|
||||
},
|
||||
{
|
||||
"id": "focusedWindow",
|
||||
"enabled": true,
|
||||
"focusedWindowCompactMode": false
|
||||
}
|
||||
],
|
||||
"rightWidgets": [
|
||||
{
|
||||
"id": "systemTray",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"id": "cpuUsage",
|
||||
"enabled": true,
|
||||
"minimumWidth": true
|
||||
},
|
||||
{
|
||||
"id": "memUsage",
|
||||
"enabled": true,
|
||||
"showSwap": false
|
||||
},
|
||||
"notificationButton",
|
||||
{
|
||||
"id": "controlCenterButton",
|
||||
"enabled": true,
|
||||
"showNetworkIcon": true,
|
||||
"showAudioPercent": true,
|
||||
"showVpnIcon": false,
|
||||
"showMicIcon": true,
|
||||
"showBatteryIcon": true,
|
||||
"showPrinterIcon": false,
|
||||
"showScreenSharingIcon": false
|
||||
}
|
||||
],
|
||||
"spacing": 4,
|
||||
"innerPadding": 5,
|
||||
"bottomGap": 0,
|
||||
"transparency": 0.7,
|
||||
"widgetTransparency": 1,
|
||||
"squareCorners": false,
|
||||
"noBackground": false,
|
||||
"maximizeWidgetIcons": false,
|
||||
"maximizeWidgetText": false,
|
||||
"removeWidgetPadding": false,
|
||||
"widgetPadding": 7,
|
||||
"gothCornersEnabled": false,
|
||||
"gothCornerRadiusOverride": false,
|
||||
"gothCornerRadiusValue": 12,
|
||||
"borderEnabled": false,
|
||||
"borderColor": "surfaceText",
|
||||
"borderOpacity": 1,
|
||||
"borderThickness": 1,
|
||||
"widgetOutlineEnabled": false,
|
||||
"widgetOutlineColor": "primary",
|
||||
"widgetOutlineOpacity": 1,
|
||||
"widgetOutlineThickness": 1,
|
||||
"fontScale": 1.25,
|
||||
"iconScale": 1.25,
|
||||
"autoHide": false,
|
||||
"autoHideDelay": 250,
|
||||
"showOnWindowsOpen": false,
|
||||
"openOnOverview": false,
|
||||
"visible": true,
|
||||
"popupGapsAuto": true,
|
||||
"popupGapsManual": 4,
|
||||
"maximizeDetection": false,
|
||||
"scrollEnabled": false,
|
||||
"scrollXBehavior": "column",
|
||||
"scrollYBehavior": "workspace",
|
||||
"shadowIntensity": 0,
|
||||
"shadowOpacity": 60,
|
||||
"shadowColorMode": "text",
|
||||
"shadowCustomColor": "#000000",
|
||||
"clickThrough": false
|
||||
}
|
||||
],
|
||||
"desktopClockEnabled": false,
|
||||
"desktopClockStyle": "analog",
|
||||
"desktopClockTransparency": 0.8,
|
||||
"desktopClockColorMode": "primary",
|
||||
"desktopClockCustomColor": {
|
||||
"r": 1,
|
||||
"g": 1,
|
||||
"b": 1,
|
||||
"a": 1,
|
||||
"hsvHue": -1,
|
||||
"hsvSaturation": 0,
|
||||
"hsvValue": 1,
|
||||
"hslHue": -1,
|
||||
"hslSaturation": 0,
|
||||
"hslLightness": 1,
|
||||
"valid": true
|
||||
},
|
||||
"desktopClockShowDate": true,
|
||||
"desktopClockShowAnalogNumbers": false,
|
||||
"desktopClockShowAnalogSeconds": true,
|
||||
"desktopClockX": -1,
|
||||
"desktopClockY": -1,
|
||||
"desktopClockWidth": 280,
|
||||
"desktopClockHeight": 180,
|
||||
"desktopClockDisplayPreferences": [
|
||||
"all"
|
||||
],
|
||||
"systemMonitorEnabled": false,
|
||||
"systemMonitorShowHeader": true,
|
||||
"systemMonitorTransparency": 0.8,
|
||||
"systemMonitorColorMode": "primary",
|
||||
"systemMonitorCustomColor": {
|
||||
"r": 1,
|
||||
"g": 1,
|
||||
"b": 1,
|
||||
"a": 1,
|
||||
"hsvHue": -1,
|
||||
"hsvSaturation": 0,
|
||||
"hsvValue": 1,
|
||||
"hslHue": -1,
|
||||
"hslSaturation": 0,
|
||||
"hslLightness": 1,
|
||||
"valid": true
|
||||
},
|
||||
"systemMonitorShowCpu": true,
|
||||
"systemMonitorShowCpuGraph": true,
|
||||
"systemMonitorShowCpuTemp": true,
|
||||
"systemMonitorShowGpuTemp": false,
|
||||
"systemMonitorGpuPciId": "",
|
||||
"systemMonitorShowMemory": true,
|
||||
"systemMonitorShowMemoryGraph": true,
|
||||
"systemMonitorShowNetwork": true,
|
||||
"systemMonitorShowNetworkGraph": true,
|
||||
"systemMonitorShowDisk": true,
|
||||
"systemMonitorShowTopProcesses": false,
|
||||
"systemMonitorTopProcessCount": 3,
|
||||
"systemMonitorTopProcessSortBy": "cpu",
|
||||
"systemMonitorGraphInterval": 60,
|
||||
"systemMonitorLayoutMode": "auto",
|
||||
"systemMonitorX": -1,
|
||||
"systemMonitorY": -1,
|
||||
"systemMonitorWidth": 320,
|
||||
"systemMonitorHeight": 480,
|
||||
"systemMonitorDisplayPreferences": [
|
||||
"all"
|
||||
],
|
||||
"systemMonitorVariants": [],
|
||||
"desktopWidgetPositions": {},
|
||||
"desktopWidgetGridSettings": {},
|
||||
"desktopWidgetInstances": [],
|
||||
"desktopWidgetGroups": [],
|
||||
"builtInPluginSettings": {
|
||||
"dms_settings_search": {
|
||||
"trigger": "?"
|
||||
},
|
||||
"dms_notepad": {
|
||||
"enabled": false
|
||||
},
|
||||
"dms_clipboard_search": {
|
||||
"trigger": "cb"
|
||||
}
|
||||
},
|
||||
"clipboardClickToPaste": false,
|
||||
"clipboardEnterToPaste": false,
|
||||
"clipboardRememberTypeFilter": false,
|
||||
"clipboardTypeFilter": "all",
|
||||
"clipboardVisibleEntryActions": [
|
||||
"pin",
|
||||
"edit",
|
||||
"delete"
|
||||
],
|
||||
"launcherPluginVisibility": {},
|
||||
"launcherPluginOrder": [],
|
||||
"frameEnabled": false,
|
||||
"frameThickness": 16,
|
||||
"frameRounding": 23,
|
||||
"frameColor": "",
|
||||
"frameOpacity": 1,
|
||||
"frameScreenPreferences": [
|
||||
"all"
|
||||
],
|
||||
"frameBarSize": 40,
|
||||
"frameShowOnOverview": false,
|
||||
"frameBlurEnabled": true,
|
||||
"frameCloseGaps": true,
|
||||
"frameLauncherEmergeSide": "bottom",
|
||||
"frameLauncherArcExtender": false,
|
||||
"frameLauncherEdgeHover": false,
|
||||
"frameMode": "connected",
|
||||
"barInsetPaddingShared": -1,
|
||||
"barInsetPaddingSyncAll": false,
|
||||
"frameBarInsetPadding": -1,
|
||||
"configVersion": 13
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
import decman
|
||||
from modules.core import utilities
|
||||
from modules.core.system import base, pipewire
|
||||
from modules.core.applications import dev_tools, games, steering_wheel, virtual_machines
|
||||
from modules.core.ui import file_manager, fonts, hyprland, login, shell
|
||||
from modules.coding import latex, neovim
|
||||
|
||||
if decman.aur:
|
||||
decman.aur.ignored_packages |= {"yay"}
|
||||
|
||||
if decman.pacman:
|
||||
decman.pacman.ignored_packages |= {"yay", "aylurs-gtk-shell"}
|
||||
|
||||
decman.modules += [
|
||||
base.BasePackages("desktop"),
|
||||
pipewire.Pipewire(),
|
||||
dev_tools.DevTools(),
|
||||
games.Games(),
|
||||
steering_wheel.SteeringWheel(),
|
||||
file_manager.FileManager(),
|
||||
fonts.Fonts(),
|
||||
hyprland.Hyprland(),
|
||||
login.LoginManager("desktop"),
|
||||
shell.DesktopShell(),
|
||||
neovim.Neovim(),
|
||||
latex.Latex(),
|
||||
utilities.UtilPackages(),
|
||||
virtual_machines.VirtualMachines(),
|
||||
]
|
||||
@@ -1,50 +0,0 @@
|
||||
import decman
|
||||
from decman.plugins import pacman
|
||||
|
||||
import config
|
||||
|
||||
|
||||
class Latex(decman.Module):
|
||||
def __init__(self):
|
||||
"""Base packages that should never be uninstalled"""
|
||||
super().__init__("latex")
|
||||
|
||||
@pacman.packages
|
||||
def pkgs(self) -> set[str]:
|
||||
return {
|
||||
"biber",
|
||||
"perl-yaml-tiny",
|
||||
"perl-file-homedir",
|
||||
"python-pygments",
|
||||
"texlab",
|
||||
"texlive-basic",
|
||||
"texlive-bibtexextra",
|
||||
"texlive-binextra",
|
||||
"texlive-context",
|
||||
"texlive-fontsextra",
|
||||
"texlive-fontsrecommended",
|
||||
"texlive-fontutils",
|
||||
"texlive-formatsextra",
|
||||
"texlive-games",
|
||||
"texlive-humanities",
|
||||
"texlive-latex",
|
||||
"texlive-latexextra",
|
||||
"texlive-latexrecommended",
|
||||
"texlive-luatex",
|
||||
"texlive-mathscience",
|
||||
"texlive-metapost",
|
||||
"texlive-music",
|
||||
"texlive-pictures",
|
||||
"texlive-plaingeneric",
|
||||
"texlive-pstricks",
|
||||
"texlive-publishers",
|
||||
"texlive-xetex",
|
||||
"texlive-langgerman",
|
||||
}
|
||||
|
||||
def files(self) -> dict[str, decman.File]:
|
||||
return {
|
||||
f"/home/{config.user}.indentconfig.yaml": decman.File(
|
||||
source_file="./linters/indentconfig.yaml"
|
||||
)
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
import decman
|
||||
from decman.plugins import pacman, aur
|
||||
|
||||
|
||||
class Neovim(decman.Module):
|
||||
def __init__(self):
|
||||
"""Neovim Packages"""
|
||||
super().__init__("neovim")
|
||||
|
||||
@pacman.packages
|
||||
def pkgs(self) -> set[str]:
|
||||
return {
|
||||
"neovim",
|
||||
"lua",
|
||||
"lua-language-server",
|
||||
"tree-sitter",
|
||||
"tree-sitter-cli",
|
||||
"stylua",
|
||||
}
|
||||
|
||||
# def directories(self) -> dict[str, decman.Directory]:
|
||||
# return { "": decman.Directory() }
|
||||
|
||||
@aur.packages
|
||||
def aurpkgs(self) -> set[str]:
|
||||
return {"shell-color-scripts-git", "nvimpager"}
|
||||
@@ -1,51 +0,0 @@
|
||||
import decman
|
||||
import config
|
||||
from decman.plugins import pacman
|
||||
|
||||
|
||||
class DevTools(decman.Module):
|
||||
def __init__(self):
|
||||
"""Base packages that should never be uninstalled"""
|
||||
super().__init__("dev-tools")
|
||||
|
||||
@pacman.packages
|
||||
def pkgs(self) -> set[str]:
|
||||
return {
|
||||
"act",
|
||||
"cronie",
|
||||
"cloc",
|
||||
"cmake",
|
||||
"dart-sass",
|
||||
"docker",
|
||||
"docker-buildx",
|
||||
"docker-compose",
|
||||
"filezilla",
|
||||
"git-lfs",
|
||||
"hugo",
|
||||
"helm",
|
||||
"kitty",
|
||||
"kubectl",
|
||||
"lazygit",
|
||||
"meld",
|
||||
"meson",
|
||||
"minisign",
|
||||
"python-argcomplete",
|
||||
"python-black",
|
||||
"python-build",
|
||||
"python-colorama",
|
||||
"python-installer",
|
||||
"python-jsonschema",
|
||||
"python-pip",
|
||||
"python-pyaml",
|
||||
"python-numpy",
|
||||
"python-scipy",
|
||||
"python-sympy",
|
||||
"serpl",
|
||||
"terminator",
|
||||
}
|
||||
|
||||
def directories(self) -> dict[str, decman.Directory]:
|
||||
return {
|
||||
f"/home/{config.user}/.config/lazygit": decman.Directory("./config/lazygit", owner=config.user, group=config.user),
|
||||
f"/home/{config.user}/.config/kitty": decman.Directory("./config/kitty", owner=config.user, group=config.user),
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
import decman
|
||||
from decman.plugins import pacman, aur
|
||||
|
||||
|
||||
class Games(decman.Module):
|
||||
def __init__(self):
|
||||
"""Base packages that should never be uninstalled"""
|
||||
super().__init__("games")
|
||||
|
||||
@pacman.packages
|
||||
def pkgs(self) -> set[str]:
|
||||
return {
|
||||
"android-udev",
|
||||
"android-tools",
|
||||
"gamemode",
|
||||
"gamescope",
|
||||
# "lib32-vulkan-radeon",
|
||||
"obs-studio",
|
||||
"obs-studio-plugin-browser",
|
||||
"prismlauncher",
|
||||
"steam",
|
||||
"vulkan-radeon",
|
||||
"v4l2loopback-dkms",
|
||||
}
|
||||
|
||||
@aur.packages
|
||||
def aurpkgs(self) -> set[str]:
|
||||
# Consider switching to WiVRN
|
||||
return {"bs-manager-bin", "alvr-bin"}
|
||||
@@ -1,15 +0,0 @@
|
||||
import decman
|
||||
from decman.plugins import aur
|
||||
|
||||
|
||||
class SteeringWheel(decman.Module):
|
||||
def __init__(self):
|
||||
"""Base packages that should never be uninstalled"""
|
||||
super().__init__("steering-wheel")
|
||||
|
||||
@aur.packages
|
||||
def aurpkgs(self) -> set[str]:
|
||||
return {"oversteer", "hid-tmff2-dkms-git"}
|
||||
|
||||
def on_enable(self, store: decman.Store):
|
||||
return super().on_enable(store)
|
||||
@@ -1,27 +0,0 @@
|
||||
import decman
|
||||
from decman.plugins import pacman
|
||||
|
||||
import config
|
||||
|
||||
|
||||
class VirtualMachines(decman.Module):
|
||||
def __init__(self):
|
||||
"""Set up virtual machines"""
|
||||
super().__init__("virtualmachines")
|
||||
|
||||
@pacman.packages
|
||||
def pkgs(self) -> set[str]:
|
||||
return {
|
||||
"dnsmasq",
|
||||
"libayatana-appindicator",
|
||||
"libvirt-python",
|
||||
"lvm2",
|
||||
"qemu-base",
|
||||
"vde2",
|
||||
"virt-manager",
|
||||
"virt-viewer",
|
||||
}
|
||||
|
||||
def on_enable(self, store: decman.Store):
|
||||
# TODO: Everywhere, make user configurable
|
||||
decman.prg(["usermod", "-G", "libvirt", "-a", config.user])
|
||||
@@ -1,74 +0,0 @@
|
||||
from typing import Literal
|
||||
|
||||
import decman
|
||||
from decman.plugins import pacman, aur
|
||||
|
||||
|
||||
class BasePackages(decman.Module):
|
||||
def __init__(self, platform: Literal["desktop", "laptop"]):
|
||||
"""Base packages that should never be uninstalled"""
|
||||
self._platform: Literal["desktop", "laptop"] = platform
|
||||
super().__init__("base")
|
||||
|
||||
@pacman.packages
|
||||
def pkgs(self) -> set[str]:
|
||||
return {
|
||||
"base",
|
||||
"base-devel",
|
||||
"cifs-utils",
|
||||
"cups",
|
||||
"dosfstools",
|
||||
"efibootmgr",
|
||||
"exfatprogs",
|
||||
"git",
|
||||
"grub",
|
||||
"gsl",
|
||||
"libisoburn",
|
||||
"libguestfs",
|
||||
"libmicrohttpd",
|
||||
"linux",
|
||||
"linux-firmware",
|
||||
"linux-headers",
|
||||
"lzop",
|
||||
"mesa",
|
||||
"mesa-utils",
|
||||
"mtools",
|
||||
"ntfs-3g",
|
||||
"ntfsprogs",
|
||||
"networkmanager",
|
||||
"pacman-contrib",
|
||||
"plymouth",
|
||||
"reflector",
|
||||
"samba",
|
||||
"sdl12-compat",
|
||||
"sdl2-compat",
|
||||
"sudo",
|
||||
"systemd-resolvconf",
|
||||
"trash-cli",
|
||||
}
|
||||
|
||||
@aur.packages
|
||||
def aurpkgs(self) -> set[str]:
|
||||
return {"decman"}
|
||||
|
||||
# TODO:
|
||||
# def file_variables(self) -> dict[str, str]:
|
||||
# return super().file_variables()
|
||||
|
||||
def files(self) -> dict[str, decman.File]:
|
||||
# TODO: File substitutions (for PC and laptop)
|
||||
if self._platform == "desktop":
|
||||
return {
|
||||
"/etc/mkinitcpio.conf": decman.File(
|
||||
source_file="./system/mkinitcpio.conf"
|
||||
),
|
||||
"/etc/pacman.conf": decman.File(source_file="./system/pacman.conf"),
|
||||
"/etc/default/grub": decman.File(source_file="./system/grub"),
|
||||
"/etc/environment": decman.File(source_file="./system/environment"),
|
||||
}
|
||||
else:
|
||||
return {}
|
||||
|
||||
def on_change(self, store):
|
||||
decman.prg(["mkinitcpio", "-P"])
|
||||
decman.prg(["grub-mkconfig", "-o", "/boot/grub/grub.cfg"])
|
||||
@@ -1,20 +0,0 @@
|
||||
import decman
|
||||
from decman.plugins import pacman
|
||||
|
||||
|
||||
class Pipewire(decman.Module):
|
||||
def __init__(self):
|
||||
"""Base packages that should never be uninstalled"""
|
||||
super().__init__("pipewire")
|
||||
|
||||
@pacman.packages
|
||||
def pkgs(self) -> set[str]:
|
||||
return {
|
||||
"gst-plugin-pipewire",
|
||||
"pavucontrol",
|
||||
"pipewire",
|
||||
"pipewire-alsa",
|
||||
"pipewire-pulse",
|
||||
"pipewire-jack",
|
||||
"wireplumber",
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
import decman
|
||||
from decman.plugins import pacman, aur
|
||||
|
||||
import config
|
||||
|
||||
|
||||
class FileManager(decman.Module):
|
||||
def __init__(self):
|
||||
"""Base packages that should never be uninstalled"""
|
||||
super().__init__("filemanager")
|
||||
|
||||
@pacman.packages
|
||||
def pkgs(self) -> set[str]:
|
||||
return {
|
||||
"ifuse",
|
||||
"libimobiledevice",
|
||||
"fuse2",
|
||||
"movit",
|
||||
"ouch",
|
||||
"resvg",
|
||||
"yazi",
|
||||
}
|
||||
|
||||
@aur.packages
|
||||
def aurpkgs(self) -> set[str]:
|
||||
return {"xdg-desktop-portal-termfilechooser-hunkyburrito-git"}
|
||||
|
||||
def directories(self) -> dict[str, decman.Directory]:
|
||||
return {
|
||||
f"/home/{config.user}/.config/xdg-desktop-portal": decman.Directory(
|
||||
"./config/xdg-desktop-portal", owner=config.user, group=config.user
|
||||
),
|
||||
f"/home/{config.user}/.config/xdg-desktop-portal-termfilechooser": decman.Directory(
|
||||
"./config/xdg-desktop-portal-termfilechooser", owner=config.user, group=config.user
|
||||
),
|
||||
f"/home/{config.user}/.config/yazi": decman.Directory("./config/yazi", owner=config.user, group=config.user),
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
import decman
|
||||
from decman.plugins import pacman, aur
|
||||
|
||||
|
||||
class Fonts(decman.Module):
|
||||
def __init__(self):
|
||||
"""Base packages that should never be uninstalled"""
|
||||
super().__init__("fonts")
|
||||
|
||||
@pacman.packages
|
||||
def pkgs(self) -> set[str]:
|
||||
return {
|
||||
"adobe-source-code-pro-fonts",
|
||||
"ttf-fantasque-nerd",
|
||||
"ttf-jetbrains-mono-nerd",
|
||||
"ttf-iosevka-nerd",
|
||||
"ttf-nerd-fonts-symbols-common",
|
||||
"inter-font",
|
||||
}
|
||||
|
||||
@aur.packages
|
||||
def aurpkgs(self) -> set[str]:
|
||||
return {"ttf-comfortaa"}
|
||||
@@ -1,40 +0,0 @@
|
||||
import decman
|
||||
from decman.plugins import pacman
|
||||
|
||||
import config
|
||||
|
||||
|
||||
class Hyprland(decman.Module):
|
||||
def __init__(self):
|
||||
"""Base packages that should never be uninstalled"""
|
||||
super().__init__("hyprland")
|
||||
|
||||
@pacman.packages
|
||||
def pkgs(self) -> set[str]:
|
||||
return {
|
||||
"cliphist",
|
||||
# "grimblast",
|
||||
"hyprland",
|
||||
"hyprlock",
|
||||
"hypridle",
|
||||
"hyprshutdown",
|
||||
"hyprpwcenter",
|
||||
"hyprtoolkit",
|
||||
"hyprpolkitagent",
|
||||
"hyprpaper",
|
||||
"libappindicator",
|
||||
"rtkit",
|
||||
"wl-clipboard",
|
||||
"wev",
|
||||
"xdg-desktop-portal-hyprland",
|
||||
}
|
||||
|
||||
def directories(self) -> dict[str, decman.Directory]:
|
||||
return {
|
||||
f"/home/{config.user}/.config/hypr": decman.Directory(
|
||||
"./config/hypr", owner=config.user, group=config.user
|
||||
),
|
||||
f"/home/{config.user}/.config/wlogout": decman.Directory(
|
||||
"./config/wlogout", owner=config.user, group=config.user
|
||||
)
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
from typing import Literal
|
||||
|
||||
import decman
|
||||
from decman.plugins import pacman, systemd
|
||||
|
||||
|
||||
class LoginManager(decman.Module):
|
||||
def __init__(self, platform: Literal["desktop", "laptop"]):
|
||||
"""Base packages that should never be uninstalled"""
|
||||
self._platform: Literal["desktop", "laptop"] = platform
|
||||
super().__init__("login")
|
||||
|
||||
@pacman.packages
|
||||
def pkgs(self) -> set[str]:
|
||||
if self._platform == "desktop":
|
||||
return {
|
||||
"greetd",
|
||||
"greetd-tuigreet",
|
||||
}
|
||||
else:
|
||||
return {"gdm"}
|
||||
|
||||
@systemd.units
|
||||
def units(self) -> set[str]:
|
||||
if self._platform == "desktop":
|
||||
return {"greetd.service"}
|
||||
else:
|
||||
return {"gdm.service"}
|
||||
|
||||
def files(self) -> dict[str, decman.File]:
|
||||
if self._platform == "desktop":
|
||||
return {
|
||||
"/etc/greetd/config.toml": decman.File("./system/greetd/config.toml"),
|
||||
"/etc/pam.d/greetd": decman.File("./system/greetd/pam"),
|
||||
}
|
||||
else:
|
||||
# TODO: GDM config files
|
||||
return {}
|
||||
@@ -1,21 +0,0 @@
|
||||
# NOTE: Bar may eventually be replaced by custom bar
|
||||
import decman
|
||||
from decman.plugins import pacman
|
||||
|
||||
import config
|
||||
|
||||
|
||||
class DesktopShell(decman.Module):
|
||||
def __init__(self):
|
||||
"""DesktopShell"""
|
||||
super().__init__("desktopshell")
|
||||
|
||||
@pacman.packages
|
||||
def pkgs(self) -> set[str]:
|
||||
return {"dms-shell", "cava", "matugen", "papirus-icon-theme", "adw-gtk-theme", "power-profiles-daemon", "qt6ct"}
|
||||
|
||||
# TODO: Copy the config of dms, once done
|
||||
def directories(self) -> dict[str, decman.Directory]:
|
||||
return {
|
||||
f"/home/{config.user}/.config/matugen": decman.Directory("./config/matugen", owner=config.user, group=config.user)
|
||||
}
|
||||
@@ -1,78 +0,0 @@
|
||||
import decman
|
||||
from decman.plugins import pacman, aur
|
||||
|
||||
import config
|
||||
|
||||
|
||||
class UtilPackages(decman.Module):
|
||||
def __init__(self):
|
||||
"""Util packages"""
|
||||
super().__init__("util")
|
||||
|
||||
@pacman.packages
|
||||
def pkgs(self) -> set[str]:
|
||||
return {
|
||||
"bashtop",
|
||||
"brightnessctl",
|
||||
"bind",
|
||||
"bluez",
|
||||
"clamav",
|
||||
"evince",
|
||||
"fastfetch",
|
||||
"fd",
|
||||
"ffmpeg",
|
||||
"ffmpegthumbnailer",
|
||||
"fish",
|
||||
"fzf",
|
||||
"gdu",
|
||||
"gimp",
|
||||
"go",
|
||||
"gnome-disk-utility",
|
||||
"gwenview",
|
||||
"handbrake",
|
||||
"iptables",
|
||||
"libdvdcss",
|
||||
"man-pages",
|
||||
"man-db",
|
||||
"mpv",
|
||||
"nextcloud-client",
|
||||
"okular",
|
||||
"openconnect",
|
||||
"os-prober",
|
||||
"qalculate-qt",
|
||||
"ripgrep",
|
||||
"simple-scan",
|
||||
"smartmontools",
|
||||
"thunderbird",
|
||||
"tldr",
|
||||
"unzip",
|
||||
"wget",
|
||||
"wine",
|
||||
"xclip",
|
||||
"zathura",
|
||||
"zathura-pdf-poppler",
|
||||
"zip",
|
||||
"zoxide",
|
||||
"networkmanager-openconnect",
|
||||
}
|
||||
|
||||
@aur.packages
|
||||
def aurpkgs(self) -> set[str]:
|
||||
return {
|
||||
"librewolf-bin",
|
||||
"brave-bin",
|
||||
"vesktop-bin",
|
||||
"uxplay",
|
||||
"git-credential-manager-bin",
|
||||
"gradia",
|
||||
"parabolic",
|
||||
}
|
||||
|
||||
def directories(self) -> dict[str, decman.Directory]:
|
||||
return {
|
||||
f"/home/{config.user}/.config/fish": decman.Directory("./config/fish", owner=config.user, group=config.user),
|
||||
f"/home/{config.user}/.config/fastfetch": decman.Directory(
|
||||
"./config/fastfetch", owner=config.user, group=config.user
|
||||
),
|
||||
f"/home/{config.user}/.config/mpv": decman.Directory("./config/mpv", owner=config.user, group=config.user),
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
hyprland
|
||||
hyprlock
|
||||
hypridle
|
||||
hyprpaper
|
||||
hyprpolkitagent
|
||||
waybar
|
||||
wlogout
|
||||
rofi
|
||||
alacritty
|
||||
dgop
|
||||
bluetui
|
||||
qt6ct-kde
|
||||
yazi
|
||||
swaync
|
||||
xdg-desktop-portal-hyprland
|
||||
zsh
|
||||
fd
|
||||
ripgrep
|
||||
ripgrep-all
|
||||
resvg
|
||||
wl-clipboard
|
||||
nextcloud-client
|
||||
slurp
|
||||
grim
|
||||
satty
|
||||
@@ -16,7 +16,9 @@ Container can be one of:
|
||||
- base
|
||||
- node
|
||||
- php
|
||||
- postgres
|
||||
- python
|
||||
- rust
|
||||
- torch-rocm
|
||||
- vue
|
||||
- webserver
|
||||
|
||||
Executable
+4
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
|
||||
cd "$(dirname "$0")/.."
|
||||
./setup.sh $1
|
||||
@@ -9,10 +9,12 @@ echo "
|
||||
( )_| |
|
||||
\___/
|
||||
|
||||
=> Migration to V4
|
||||
-> WARNING: This will remove the old configurations from the system
|
||||
=> Setup + Theming script <=
|
||||
"
|
||||
|
||||
# ┌ ┐
|
||||
# │ Platform setup │
|
||||
# └ ┘
|
||||
if ! [[ -f ~/.config/janishutz/platform ]]; then
|
||||
platform=""
|
||||
read -p "Choose on the platform (l/D): " platform
|
||||
@@ -24,31 +26,53 @@ if ! [[ -f ~/.config/janishutz/platform ]]; then
|
||||
echo "n" >~/.config/janishutz/docked
|
||||
fi
|
||||
|
||||
# ┌ ┐
|
||||
# │ System config file │
|
||||
# └ ┘
|
||||
# (currently only env)
|
||||
confirmation=""
|
||||
read -p "Also install the system-wide environment file? (y/N) " confirmation
|
||||
if [[ "$confirmation" == "y" ]]; then
|
||||
sudo cp ./system/environment /etc/environment
|
||||
fi
|
||||
|
||||
# ┌ ┐
|
||||
# │ Install configs │
|
||||
# └ ┘
|
||||
rm -rf ~/.config/hypr/*.conf
|
||||
rm ~/.config/platform
|
||||
rm -rf ~/.config/rofi
|
||||
rm -rf ~/.config/ags
|
||||
rm -rf ~/.config/astal
|
||||
rm ~/.config/platform &> /dev/null || true
|
||||
rm -rf ~/.config/ags &> /dev/null || true
|
||||
rm -rf ~/.config/astal &> /dev/null || true
|
||||
|
||||
cp -r ./config/* ~/.config
|
||||
# Makes kitty use the DMS theme config
|
||||
|
||||
cp ./config/zsh/.zshrc ~/.zshrc
|
||||
# Makes kitty use the matugen theme config
|
||||
rm ~/.config/kitty/current-theme.conf
|
||||
cp ./linters/indentconfig_import.yaml ~/.indentconfig.yaml
|
||||
|
||||
confirmation=""
|
||||
read -p "Use repo version of DMS config? (y/N) " confirmation
|
||||
if [[ "$confirmation" == "y" ]]; then
|
||||
cp -r ./dms/* ~/.config/DankMaterialShell/
|
||||
# ┌ ┐
|
||||
# │ Theming │
|
||||
# └ ┘
|
||||
# Picker works via argument and open bind in Yazi (set image via Ctrl + W)
|
||||
# If no image is specified, then the previous one is used
|
||||
# If no image was used previously and none is specified, an error is raised
|
||||
if [[ -n $1 ]]; then
|
||||
matugen image --prefer value $1
|
||||
mkdir ~/.local/state/janishutz &> /dev/null || true
|
||||
echo "$1" >~/.local/state/janishutz/imgcache
|
||||
else
|
||||
cp -r ~/.config/DankMaterialShell/settings.json ./dms
|
||||
cp -r ~/.config/DankMaterialShell/plugin_settings.json ./dms
|
||||
cp -r ~/.config/DankMaterialShell/.firstlaunch ./dms
|
||||
if ! [[ -f ~/.local/state/janishutz/imgcache ]]; then
|
||||
echo "No image to use for theme generation specified, aborting"
|
||||
exit 1
|
||||
else
|
||||
echo "Falling back to previous image"
|
||||
matugen image --prefer value $(cat ~/.local/state/janishutz/imgcache)
|
||||
fi
|
||||
fi
|
||||
|
||||
killall hyprpaper &>/dev/null
|
||||
hyprpaper &>/dev/null &
|
||||
disown
|
||||
|
||||
hyprctl reload
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
complete -a "base jupyter node php postgres python torch-rocm vue webserver" -c dev-containers -f
|
||||
complete -a "base jupyter node php postgres python rust torch-rocm vue webserver" -c dev-containers -f
|
||||
complete -a "rm" -d "Delete the container for this folder" -c dev-containers -f
|
||||
complete -a "help" -d "Show help" -c dev-containers -f
|
||||
complete -a "shell" -d "Create an extra shell for the currently running container" -c dev-containers -f
|
||||
|
||||
Reference in New Issue
Block a user