feat: migrated to chezmoi
@@ -0,0 +1,15 @@
|
|||||||
|
encryption = "age"
|
||||||
|
|
||||||
|
[age]
|
||||||
|
identity = "~/.config/chezmoi/key"
|
||||||
|
recipient = "age1pq1q8zvperhkgayvaeyppanuwml6l54a2ehp8au3z96qzsympcjxhsvzdk9exks48fufdr3xaq8n65tque5xmfe5q6gjelsv55y6wa38fxxnurujk8dzup9zl9j3343mvdndnl0y20uejscwe3lfzn382ftspcespwdkpy063nz2ne4jalf5amuk9uuhyq7gezyg0ryhps2vwrsesckqe3md9nt50szym5zwmc9n3mq4faxahrlvystfcs4wq9ccjv9552v5x34vjs5zn83qy4skktkgvppdga95kt9jjx2fc3jvtqrusrf8rr3qlpckz0nqxndcqkstxlte3n8tjmuahnj8ph4prfhn899ze9wnxyznregyu6nnj365rry86rdagj53fwg0x6n9zhx62e2x7jshzyydahzp264efhakf9llacfvlwx6efe2sppk5zfsp0m8vgeyv3fvrxqrv3y4zj6cgj29kdlc6mvtpeqrcxkkd0xcka44p2287nphx6shwk426jl3v8qedtg5n6rcq68r454dfhxffr356gj6x3sc7a6890pkn55qa63s74nju4ytakmzescsrxamd6psgx8vjrcyvxfqlapywd74z5456dr2h3s49yud9ekzly7gcl04jss9kg8zelgfnqatslz6qtv6tzrgcqzm2rqc3asjylh2vhe9ze3qvtnucnqkddzygqtkr99apg67r23ur6ey2dznw5j546qq3uxnf4vydj8wv9cxd0xzs8xvn9cxu93xt5kxnr8j3ry2al7rszczu5faf24wqqh835uevdwn2r5szjvjdrtg7fw4zgkcpft2fgqm35fafavvulezhj44d5jy6yly4zmckeh4xpfh82zkwkegav373t65upepvykqfgcnwvtsatewmska82ud76ak37gw0x94xycwszq8sm29q4gpq9f8f2eyk6dj8aqhmdurr7hh87scqf4sjt669w95fsyrkr7eynltw8u3fcaur2yq44yk6sgr38wlnrxlcxzmv4st5d5c0zwjprds3kn26j5d6arx7gxw8nrgs57cetjnx586h25ltv2hh5c27xvdj20l2cpd7434mkscfe0jp395mphsyrl0hfh69vvxvh3yyq7a2eeqvc03fcnkfju5lksvexg3nr43qtgk5wqcw36h4z4jy772qdusu6x8wsnh23c9v48cfvm5q3r6x79ptr63sdrejd9gpun9wwckp5r0qusp7g9qysyt8yz9235e0reungjlaz2pnvaqksuaxjy2fpyn8f4uvg82rtlhq8f3373np259sq3fl39d32whyk62a5dukf7se6qkaykwwxgcprp0patv5prfukyjdtpx3ym40nnye9a8m9snk4g2xyenwh6wcldt230c6zvanp3vyfmtvc6tsdgmsvu62n5jkw2cfc9yzxyv9st72ampfns3e96ymack4fvz49p6c7vq0xf84380axzs9ajx9ssdwwra4auczj3f4uutpwh4rypmdxs3y2qvutzh0am08yq5w6wjwgv6yad2aex3s2s2gmzwllw2tpnlzv2vejnm3t24zrlkyfhcuqu0a5ppfex3r2ekrwsy4lz9w045wen4tms7pg638zu3wwg7fjrf6ctjtsjh8yuxf58gcwpy50ym8xg30n2gr09kmp9dyaeqsespdfvz9m4085pk25jdtdhprr8dh9m44wyndc8zhsz4gwx26kkyscq7kctd3lxpl8jwszkjyk9tmqrxyvjxe29c7w8g0qcqulnc326xwpt9nrgqssww0wnya3w42392dwpukthq79zvzlw60qruh6vnnxe6w849ajxe3lss8e0rthnq6gpfm0f0q754nvn9f05xvz3ptj5kch6d5hpzgwdkrjuw7rrwxhs7gdn3gkk6puvs62yge6zrg7jalyx"
|
||||||
|
|
||||||
|
[data]
|
||||||
|
{{ $system := promptStringOnce . "system" "Which system class is this machine?" "desktop" }}
|
||||||
|
system = {{ $system | quote }}
|
||||||
|
|
||||||
|
{{ $email := promptStringOnce . "email" "What is your email address (git)" }}
|
||||||
|
email = {{ $email | quote }}
|
||||||
|
|
||||||
|
{{ $name := promptStringOnce . "name" "What is your name (git)" }}
|
||||||
|
name = {{ $name | quote }}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
assets/
|
||||||
|
README.md
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
roles/z
|
|
||||||
roles/test
|
|
||||||
error.log
|
error.log
|
||||||
callback_plugins/__pycache__
|
.callback_plugins/__pycache__
|
||||||
|
# chezmoi local state — never committed
|
||||||
|
.chezmoi/
|
||||||
|
*.chezmoi.state
|
||||||
@@ -1,46 +1,64 @@
|
|||||||
# Installation
|
# Dotfiles (chezmoi)
|
||||||
Clone the repo and execute the `install.sh` script.<br/>
|
|
||||||
Or use this command:
|
Dotfiles managed by [chezmoi](https://www.chezmoi.io/). The repo works on
|
||||||
|
Arch and Ubuntu (not complete) and has three machine classes: **server**, **desktop**, and **laptop**.
|
||||||
|
|
||||||
|
|
||||||
|
## First-time install on a new machine
|
||||||
|
|
||||||
|
### 1. Install prerequisites
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
bash -c "$(curl -fsSL https://gitea.keuledrive.de/Keule2/Dotfiles/raw/branch/main/install.sh)"
|
# Arch
|
||||||
```
|
sudo pacman -S git curl age jq chezmoi
|
||||||
Or this command to use arguments:
|
|
||||||
```bash
|
# Ubuntu
|
||||||
curl -fsSL "https://gitea.keuledrive.de/Keule2/Dotfiles/raw/branch/main/install.sh" | bash -s -- -e "system=server"
|
sudo apt-get install -y git curl age jq
|
||||||
|
# chezmoi: see https://www.chezmoi.io/install/
|
||||||
```
|
```
|
||||||
|
|
||||||
# Update
|
### 2. Provision the age key
|
||||||
Just execute the `install.sh` script again.
|
|
||||||
|
|
||||||
# Usage
|
The age key needs to be placed at `~/.config/chezmoi/key`
|
||||||
All additional parameters are passed to the ansible playbook. This means that you can skip tags or only execute desired tags.<br/>
|
With following permissions
|
||||||
Example: Skip alacritty
|
|
||||||
```bash
|
```bash
|
||||||
./install.sh --skip-tags alacritty
|
chmod 600 ~/.config/chezmoi/key
|
||||||
```
|
|
||||||
Example: Only execute alacritty and fish
|
|
||||||
```bash
|
|
||||||
./install.sh -t alacritty,fish
|
|
||||||
```
|
```
|
||||||
|
|
||||||
# Settings
|
### 3. Bootstrap
|
||||||
There are two ways to set settings/values.
|
|
||||||
1. Create/Edit: `$HOME/.config/dotfiles/values.yml`
|
|
||||||
2. Edit: `$HOME/.dotfiles/group_vars/all`
|
|
||||||
|
|
||||||
## Ansible Vault
|
```bash
|
||||||
Vault password file: `$HOME/.config/dotfiles/vault-password.txt`
|
chezmoi init --apply git@gitea.keuledrive.de:Keule2/Dotfiles.git
|
||||||
|
```
|
||||||
|
|
||||||
## Settings
|
Will ask:
|
||||||
### System
|
|
||||||
|Value |Desc |Default|
|
|
||||||
|------------|-------------------------------------------------------|-------|
|
|
||||||
|server |Minimal installation (CMD tools) | |
|
|
||||||
|desktop |Install WM and desktop applications |x |
|
|
||||||
|desktop_full|Install additional packages for the desktop (e.g. wine)| |
|
|
||||||
<br/>
|
|
||||||
|
|
||||||
# TODO
|
- **Which system class is this machine?** — pick `server`, `desktop`, or `laptop`.
|
||||||
- AGS: Bar, AppLauncher, PowerMenu, Notifications, Calculator, Emoji-Picker, ...
|
- **EMAIL** — for git config.
|
||||||
- Ubuntu/Debian Support
|
|
||||||
- ...
|
## Usage
|
||||||
|
|
||||||
|
| Command | Effect |
|
||||||
|
|---|---|
|
||||||
|
| `chezmoi apply` | apply any local changes to dotfiles and run-once scripts |
|
||||||
|
| `chezmoi update` | `git pull` + `apply` |
|
||||||
|
| `chezmoi edit <file>` | open a tracked file in `$EDITOR` |
|
||||||
|
| `chezmoi cd` | shell into the source dir |
|
||||||
|
| `chezmoi diff` | show pending changes against your home |
|
||||||
|
| `chezmoi managed` | list files chezmoi manages |
|
||||||
|
|
||||||
|
## Changing the system class
|
||||||
|
|
||||||
|
Two ways:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Option A: re-prompt
|
||||||
|
chezmoi init --apply --force --prompt
|
||||||
|
|
||||||
|
# Option B: edit the cached value
|
||||||
|
$EDITOR ~/.config/chezmoi/chezmoi.toml # change [data].system
|
||||||
|
chezmoi apply
|
||||||
|
```
|
||||||
|
|
||||||
|
## TODO
|
||||||
|
- Check packages e.g. gaming Steam/Lutris
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
[defaults]
|
|
||||||
stdout_callback = beautiful_output
|
|
||||||
# Use the stdout_callback when running ad-hoc commands.
|
|
||||||
bin_ansible_callbacks = True
|
|
||||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 822 KiB After Width: | Height: | Size: 822 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 549 B After Width: | Height: | Size: 549 B |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 529 B After Width: | Height: | Size: 529 B |
|
Before Width: | Height: | Size: 515 B After Width: | Height: | Size: 515 B |
|
Before Width: | Height: | Size: 1012 B After Width: | Height: | Size: 1012 B |
|
Before Width: | Height: | Size: 515 B After Width: | Height: | Size: 515 B |
|
Before Width: | Height: | Size: 508 B After Width: | Height: | Size: 508 B |
|
Before Width: | Height: | Size: 540 B After Width: | Height: | Size: 540 B |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 552 B After Width: | Height: | Size: 552 B |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 529 B After Width: | Height: | Size: 529 B |
|
Before Width: | Height: | Size: 513 B After Width: | Height: | Size: 513 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 515 B After Width: | Height: | Size: 515 B |
|
Before Width: | Height: | Size: 508 B After Width: | Height: | Size: 508 B |
|
Before Width: | Height: | Size: 535 B After Width: | Height: | Size: 535 B |
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 547 B After Width: | Height: | Size: 547 B |
|
Before Width: | Height: | Size: 553 B After Width: | Height: | Size: 553 B |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 553 B After Width: | Height: | Size: 553 B |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 546 B After Width: | Height: | Size: 546 B |
@@ -23,20 +23,22 @@ function ya() {
|
|||||||
|
|
||||||
## Aliases
|
## Aliases
|
||||||
# Replace ls with eza
|
# Replace ls with eza
|
||||||
alias ls='eza -al --color=always --group-directories-first' # preferred listing
|
if [ -f /usr/bin/eza ]; then
|
||||||
alias la='eza -a --color=always --group-directories-first' # all files and dirs
|
alias ls='eza -al --color=always --group-directories-first --icons=auto' # preferred listing
|
||||||
alias ll='eza -l --color=always --group-directories-first' # long format
|
alias la='eza -a --color=always --group-directories-first --icons=auto' # all files and dirs
|
||||||
alias lt='eza -aT --color=always --group-directories-first' # tree listing
|
alias ll='eza -l --color=always --group-directories-first --icons=auto' # long format
|
||||||
alias l.='eza -ald --color=always --group-directories-first .*' # show only dotfiles
|
alias lt='eza -aT --color=always --group-directories-first --icons=auto' # tree listing
|
||||||
|
alias l.='eza -ald --color=always --group-directories-first --icons=auto .*' # show only dotfiles
|
||||||
|
fi
|
||||||
|
|
||||||
# Replace cat with bat
|
# Replace cat with bat
|
||||||
if [ -f /usr/bin/bat ]; then
|
if [ -f /usr/bin/bat ]; then
|
||||||
alias cat='bat --style header --style snip --style changes --style header'
|
alias cat='bat --style header --style snip --style changes --style header'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Replace yay with paru
|
# Replace paru with yay
|
||||||
if [ -f /usr/bin/paru ]; then
|
if [ -f /usr/bin/yay ]; then
|
||||||
alias yay='paru'
|
alias paru='yay'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Aliases
|
# Aliases
|
||||||
@@ -56,12 +58,14 @@ alias rmpkg="sudo pacman -Rdd"
|
|||||||
alias tarnow='tar -acf '
|
alias tarnow='tar -acf '
|
||||||
alias untar='tar -zxvf '
|
alias untar='tar -zxvf '
|
||||||
alias wget='wget -c '
|
alias wget='wget -c '
|
||||||
|
|
||||||
# Cleanup orphaned packages
|
# Cleanup orphaned packages
|
||||||
alias cleanup='sudo pacman -Rns `pacman -Qtdq`'
|
alias cleanup='sudo pacman -Rns `pacman -Qtdq`'
|
||||||
|
|
||||||
# Get the error messages from journalctl
|
# Get the error messages from journalctl
|
||||||
alias jctl="journalctl -p 3 -xb"
|
alias jctl="journalctl -p 3 -xb"
|
||||||
|
|
||||||
# Recent installed packages
|
# Recent installed packages
|
||||||
alias rip="expac --timefmt='%Y-%m-%d %T' '%l\t%n %v' | sort | tail -200 | nl"
|
alias ripp="expac --timefmt='%Y-%m-%d %T' '%l\t%n %v' | sort | tail -200 | nl"
|
||||||
|
|
||||||
|
|
||||||
|
if [ -f /usr/bin/fastfetch ]; then
|
||||||
|
fastfetch
|
||||||
|
fi
|
||||||
@@ -21,7 +21,7 @@ if test -d ~/.local/bin
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# Add ~/go/bin to PATH
|
# Add ~/go to PATH
|
||||||
if test -d ~/go/bin
|
if test -d ~/go/bin
|
||||||
if not contains -- ~/go/bin $PATH
|
if not contains -- ~/go/bin $PATH
|
||||||
set -p PATH ~/go/bin
|
set -p PATH ~/go/bin
|
||||||
@@ -29,10 +29,6 @@ if test -d ~/go/bin
|
|||||||
end
|
end
|
||||||
|
|
||||||
## Plugin configuration
|
## Plugin configuration
|
||||||
# Set settings for https://github.com/franciscolourenco/done
|
|
||||||
set -U __done_min_cmd_duration 10000
|
|
||||||
set -U __done_notification_urgency_level low
|
|
||||||
|
|
||||||
# Starship prompt
|
# Starship prompt
|
||||||
if type -q starship && status --is-interactive
|
if type -q starship && status --is-interactive
|
||||||
starship init fish | source
|
starship init fish | source
|
||||||
@@ -141,11 +137,11 @@ end
|
|||||||
## Aliases
|
## Aliases
|
||||||
# Replace ls with eza
|
# Replace ls with eza
|
||||||
if type -q eza
|
if type -q eza
|
||||||
alias ls='eza -al --color=always --group-directories-first --icons' # preferred listing
|
alias ls='eza -al --color=always --group-directories-first --icons=auto' # preferred listing
|
||||||
alias la='eza -a --color=always --group-directories-first --icons' # all files and dirs
|
alias la='eza -a --color=always --group-directories-first --icons=auto' # all files and dirs
|
||||||
alias ll='eza -l --color=always --group-directories-first --icons' # long format
|
alias ll='eza -l --color=always --group-directories-first --icons=auto' # long format
|
||||||
alias lt='eza -aT --color=always --group-directories-first --icons' # tree listing
|
alias lt='eza -aT --color=always --group-directories-first --icons=auto' # tree listing
|
||||||
alias l.='eza -ald --color=always --group-directories-first --icons .*' # show only dotfiles
|
alias l.='eza -ald --color=always --group-directories-first --icons=auto .*' # show only dotfiles
|
||||||
end
|
end
|
||||||
|
|
||||||
# Replace cat with bat
|
# Replace cat with bat
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
-- DMS user keybind overrides (edit via Control Center or dms; do not remove this header)
|
||||||
|
|
||||||
|
hl.unbind("CTRL + SHIFT + Escape")
|
||||||
|
hl.bind("CTRL + SHIFT + Escape", hl.dsp.exec_cmd("dms ipc call processlist focusOrToggle"), { description = "dms ipc call processlist focusOrToggle" })
|
||||||
|
hl.unbind("SUPER + CTRL + S")
|
||||||
|
hl.bind("SUPER + CTRL + S", hl.dsp.exec_cmd("dms ipc call quickCapture screenshot window edit"), { description = "screenshot window" })
|
||||||
|
hl.unbind("SUPER + I")
|
||||||
|
hl.bind("SUPER + I", hl.dsp.exec_cmd("dms ipc notifications toggle"), { description = "notification toggle" })
|
||||||
|
hl.unbind("SUPER + N")
|
||||||
|
hl.bind("SUPER + N", hl.dsp.exec_cmd("dms ipc call notepad toggle"), { description = "dms ipc call notepad toggle" })
|
||||||
|
hl.unbind("SUPER + O")
|
||||||
|
hl.bind("SUPER + O", hl.dsp.exec_cmd("dms ipc call lock lock"), { description = "dms ipc call lock lock" })
|
||||||
|
hl.unbind("SUPER + SHIFT + B")
|
||||||
|
hl.bind("SUPER + SHIFT + B", hl.dsp.exec_cmd("dms ipc call mpris previous"), { locked = true, description = "dms ipc call mpris previous" })
|
||||||
|
hl.unbind("SUPER + SHIFT + N")
|
||||||
|
hl.bind("SUPER + SHIFT + N", hl.dsp.exec_cmd("dms ipc call mpris next"), { locked = true, description = "dms ipc call mpris next" })
|
||||||
|
hl.unbind("SUPER + SHIFT + P")
|
||||||
|
hl.bind("SUPER + SHIFT + P", hl.dsp.exec_cmd("dms ipc call mpris playPause"), { locked = true, description = "dms ipc call mpris playPause" })
|
||||||
|
hl.unbind("SUPER + SHIFT + S")
|
||||||
|
hl.bind("SUPER + SHIFT + S", hl.dsp.exec_cmd("dms ipc call quickCapture screenshot region edit"), { description = "screenshot region" })
|
||||||
|
hl.unbind("SUPER + SHIFT + T")
|
||||||
|
hl.bind("SUPER + SHIFT + T", hl.dsp.exec_cmd("dms ipc call timer toggle"), { description = "timer toggle" })
|
||||||
|
hl.unbind("SUPER + B")
|
||||||
|
hl.bind("SUPER + B", hl.dsp.exec_cmd("brave"))
|
||||||
|
hl.unbind("SUPER + E")
|
||||||
|
hl.bind("SUPER + E", hl.dsp.exec_cmd("thunar"))
|
||||||
|
hl.unbind("SUPER + SHIFT + O")
|
||||||
|
hl.bind("SUPER + SHIFT + O", hl.dsp.dpms({ action = "toggle" }), { description = "dpms toggle" })
|
||||||
|
hl.unbind("CTRL + ALT + Delete")
|
||||||
|
hl.unbind("CTRL + SHIFT + T")
|
||||||
|
hl.unbind("SUPER + C")
|
||||||
|
hl.bind("SUPER + C", hl.dsp.window.close(), { description = "Close window" })
|
||||||
|
hl.unbind("SUPER + CTRL + F")
|
||||||
|
hl.unbind("SUPER + F")
|
||||||
|
hl.bind("SUPER + F", hl.dsp.window.float({ action = "toggle" }), { description = "Float/unfloat window" })
|
||||||
|
hl.unbind("SUPER + M")
|
||||||
|
hl.bind("SUPER + M", hl.dsp.window.fullscreen({ mode = "maximized", action = "toggle" }), { description = "Toggle maximization" })
|
||||||
|
hl.unbind("SUPER + Q")
|
||||||
@@ -0,0 +1,171 @@
|
|||||||
|
-- DMS default keybinds (Hyprland 0.55+ Lua)
|
||||||
|
|
||||||
|
-- === Application Launchers ===
|
||||||
|
hl.bind("SUPER + T", hl.dsp.exec_cmd("ghostty"))
|
||||||
|
hl.bind("SUPER + space", hl.dsp.exec_cmd("dms ipc call spotlight toggle"))
|
||||||
|
hl.bind("ALT + space", hl.dsp.exec_cmd("dms ipc call spotlight-bar toggle"))
|
||||||
|
hl.bind("SUPER + V", hl.dsp.exec_cmd("dms ipc call clipboard toggle"))
|
||||||
|
hl.bind("SUPER + M", hl.dsp.exec_cmd("dms ipc call processlist focusOrToggle"))
|
||||||
|
hl.bind("SUPER + comma", hl.dsp.exec_cmd("dms ipc call settings focusOrToggle"))
|
||||||
|
hl.bind("SUPER + N", hl.dsp.exec_cmd("dms ipc call notifications toggle"))
|
||||||
|
hl.bind("SUPER + SHIFT + N", hl.dsp.exec_cmd("dms ipc call notepad toggle"))
|
||||||
|
hl.bind("SUPER + Y", hl.dsp.exec_cmd("dms ipc call dash toggle wallpaper"))
|
||||||
|
hl.bind("SUPER + TAB", hl.dsp.exec_cmd("dms ipc call hypr toggleOverview"))
|
||||||
|
hl.bind("SUPER + O", hl.dsp.exec_cmd("dms ipc call hypr toggleOverview"))
|
||||||
|
hl.bind("SUPER + X", hl.dsp.exec_cmd("dms ipc call powermenu toggle"))
|
||||||
|
|
||||||
|
-- === Cheat sheet
|
||||||
|
hl.bind("SUPER + SHIFT + Slash", hl.dsp.exec_cmd("dms ipc call keybinds toggle hyprland"))
|
||||||
|
|
||||||
|
-- === Security ===
|
||||||
|
hl.bind("SUPER + ALT + L", hl.dsp.exec_cmd("dms ipc call lock lock"))
|
||||||
|
hl.bind("SUPER + SHIFT + E", hl.dsp.exit())
|
||||||
|
hl.bind("CTRL + ALT + Delete", hl.dsp.exec_cmd("dms ipc call processlist focusOrToggle"))
|
||||||
|
|
||||||
|
-- === Audio Controls ===
|
||||||
|
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("dms ipc call audio increment 3"), { locked = true, repeating = true })
|
||||||
|
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("dms ipc call audio decrement 3"), { locked = true, repeating = true })
|
||||||
|
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("dms ipc call audio mute"), { locked = true })
|
||||||
|
hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd("dms ipc call audio micmute"), { locked = true })
|
||||||
|
hl.bind("XF86AudioPause", hl.dsp.exec_cmd("dms ipc call mpris playPause"), { locked = true })
|
||||||
|
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("dms ipc call mpris playPause"), { locked = true })
|
||||||
|
hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("dms ipc call mpris previous"), { locked = true })
|
||||||
|
hl.bind("XF86AudioNext", hl.dsp.exec_cmd("dms ipc call mpris next"), { locked = true })
|
||||||
|
hl.bind("CTRL + XF86AudioRaiseVolume", hl.dsp.exec_cmd("dms ipc call mpris increment 3"), { locked = true, repeating = true })
|
||||||
|
hl.bind("CTRL + XF86AudioLowerVolume", hl.dsp.exec_cmd("dms ipc call mpris decrement 3"), { locked = true, repeating = true })
|
||||||
|
|
||||||
|
-- === Brightness Controls ===
|
||||||
|
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd([[dms ipc call brightness increment 5 ""]]), { locked = true, repeating = true })
|
||||||
|
hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd([[dms ipc call brightness decrement 5 ""]]), { locked = true, repeating = true })
|
||||||
|
|
||||||
|
-- === Window Management ===
|
||||||
|
hl.bind("SUPER + Q", hl.dsp.window.close())
|
||||||
|
hl.bind("SUPER + F", hl.dsp.window.fullscreen({ mode = "maximized", action = "toggle" }))
|
||||||
|
hl.bind("SUPER + SHIFT + F", hl.dsp.window.fullscreen({ mode = "fullscreen", action = "toggle" }))
|
||||||
|
hl.bind("SUPER + SHIFT + T", hl.dsp.window.float({ action = "toggle" }))
|
||||||
|
hl.bind("SUPER + W", hl.dsp.group.toggle())
|
||||||
|
hl.bind("SUPER + SHIFT + W", hl.dsp.exec_cmd("dms ipc call window-rules toggle"))
|
||||||
|
|
||||||
|
-- === Focus Navigation ===
|
||||||
|
hl.bind("SUPER + left", hl.dsp.focus({ direction = "l" }))
|
||||||
|
hl.bind("SUPER + down", hl.dsp.focus({ direction = "d" }))
|
||||||
|
hl.bind("SUPER + up", hl.dsp.focus({ direction = "u" }))
|
||||||
|
hl.bind("SUPER + right", hl.dsp.focus({ direction = "r" }))
|
||||||
|
hl.bind("SUPER + H", hl.dsp.focus({ direction = "l" }))
|
||||||
|
hl.bind("SUPER + J", hl.dsp.focus({ direction = "d" }))
|
||||||
|
hl.bind("SUPER + K", hl.dsp.focus({ direction = "u" }))
|
||||||
|
hl.bind("SUPER + L", hl.dsp.focus({ direction = "r" }))
|
||||||
|
|
||||||
|
-- === Window Movement ===
|
||||||
|
hl.bind("SUPER + SHIFT + left", hl.dsp.window.move({ direction = "l" }))
|
||||||
|
hl.bind("SUPER + SHIFT + down", hl.dsp.window.move({ direction = "d" }))
|
||||||
|
hl.bind("SUPER + SHIFT + up", hl.dsp.window.move({ direction = "u" }))
|
||||||
|
hl.bind("SUPER + SHIFT + right", hl.dsp.window.move({ direction = "r" }))
|
||||||
|
hl.bind("SUPER + SHIFT + H", hl.dsp.window.move({ direction = "l" }))
|
||||||
|
hl.bind("SUPER + SHIFT + J", hl.dsp.window.move({ direction = "d" }))
|
||||||
|
hl.bind("SUPER + SHIFT + K", hl.dsp.window.move({ direction = "u" }))
|
||||||
|
hl.bind("SUPER + SHIFT + L", hl.dsp.window.move({ direction = "r" }))
|
||||||
|
|
||||||
|
-- === Column Navigation ===
|
||||||
|
hl.bind("SUPER + Home", hl.dsp.focus({ window = "first" }))
|
||||||
|
hl.bind("SUPER + End", hl.dsp.focus({ window = "last" }))
|
||||||
|
|
||||||
|
-- === Monitor Navigation ===
|
||||||
|
hl.bind("SUPER + CTRL + left", hl.dsp.focus({ monitor = "l" }))
|
||||||
|
hl.bind("SUPER + CTRL + right", hl.dsp.focus({ monitor = "r" }))
|
||||||
|
hl.bind("SUPER + CTRL + H", hl.dsp.focus({ monitor = "l" }))
|
||||||
|
hl.bind("SUPER + CTRL + J", hl.dsp.focus({ monitor = "d" }))
|
||||||
|
hl.bind("SUPER + CTRL + K", hl.dsp.focus({ monitor = "u" }))
|
||||||
|
hl.bind("SUPER + CTRL + L", hl.dsp.focus({ monitor = "r" }))
|
||||||
|
|
||||||
|
-- === Move to Monitor ===
|
||||||
|
hl.bind("SUPER + SHIFT + CTRL + left", hl.dsp.window.move({ monitor = "l" }))
|
||||||
|
hl.bind("SUPER + SHIFT + CTRL + down", hl.dsp.window.move({ monitor = "d" }))
|
||||||
|
hl.bind("SUPER + SHIFT + CTRL + up", hl.dsp.window.move({ monitor = "u" }))
|
||||||
|
hl.bind("SUPER + SHIFT + CTRL + right", hl.dsp.window.move({ monitor = "r" }))
|
||||||
|
hl.bind("SUPER + SHIFT + CTRL + H", hl.dsp.window.move({ monitor = "l" }))
|
||||||
|
hl.bind("SUPER + SHIFT + CTRL + J", hl.dsp.window.move({ monitor = "d" }))
|
||||||
|
hl.bind("SUPER + SHIFT + CTRL + K", hl.dsp.window.move({ monitor = "u" }))
|
||||||
|
hl.bind("SUPER + SHIFT + CTRL + L", hl.dsp.window.move({ monitor = "r" }))
|
||||||
|
|
||||||
|
-- === Workspace Navigation ===
|
||||||
|
hl.bind("SUPER + Page_Down", hl.dsp.focus({ workspace = "e+1" }))
|
||||||
|
hl.bind("SUPER + Page_Up", hl.dsp.focus({ workspace = "e-1" }))
|
||||||
|
hl.bind("SUPER + U", hl.dsp.focus({ workspace = "e+1" }))
|
||||||
|
hl.bind("SUPER + I", hl.dsp.focus({ workspace = "e-1" }))
|
||||||
|
hl.bind("SUPER + CTRL + down", hl.dsp.window.move({ workspace = "e+1" }))
|
||||||
|
hl.bind("SUPER + CTRL + up", hl.dsp.window.move({ workspace = "e-1" }))
|
||||||
|
hl.bind("SUPER + CTRL + U", hl.dsp.window.move({ workspace = "e+1" }))
|
||||||
|
hl.bind("SUPER + CTRL + I", hl.dsp.window.move({ workspace = "e-1" }))
|
||||||
|
|
||||||
|
-- === Workspace Management ===
|
||||||
|
hl.bind("CTRL + SHIFT + R", hl.dsp.exec_cmd("dms ipc call workspace-rename open"))
|
||||||
|
|
||||||
|
-- === Move Workspaces ===
|
||||||
|
hl.bind("SUPER + SHIFT + Page_Down", hl.dsp.window.move({ workspace = "e+1" }))
|
||||||
|
hl.bind("SUPER + SHIFT + Page_Up", hl.dsp.window.move({ workspace = "e-1" }))
|
||||||
|
hl.bind("SUPER + SHIFT + U", hl.dsp.window.move({ workspace = "e+1" }))
|
||||||
|
hl.bind("SUPER + SHIFT + I", hl.dsp.window.move({ workspace = "e-1" }))
|
||||||
|
|
||||||
|
-- === Mouse Wheel Navigation ===
|
||||||
|
hl.bind("SUPER + mouse_down", hl.dsp.focus({ workspace = "e+1" }))
|
||||||
|
hl.bind("SUPER + mouse_up", hl.dsp.focus({ workspace = "e-1" }))
|
||||||
|
hl.bind("SUPER + CTRL + mouse_down", hl.dsp.window.move({ workspace = "e+1" }))
|
||||||
|
hl.bind("SUPER + CTRL + mouse_up", hl.dsp.window.move({ workspace = "e-1" }))
|
||||||
|
|
||||||
|
-- === Touchpad Gestures ===
|
||||||
|
hl.gesture({ fingers = 3, direction = "horizontal", action = "workspace" })
|
||||||
|
|
||||||
|
-- === Numbered Workspaces ===
|
||||||
|
hl.bind("SUPER + 1", hl.dsp.focus({ workspace = "1" }))
|
||||||
|
hl.bind("SUPER + 2", hl.dsp.focus({ workspace = "2" }))
|
||||||
|
hl.bind("SUPER + 3", hl.dsp.focus({ workspace = "3" }))
|
||||||
|
hl.bind("SUPER + 4", hl.dsp.focus({ workspace = "4" }))
|
||||||
|
hl.bind("SUPER + 5", hl.dsp.focus({ workspace = "5" }))
|
||||||
|
hl.bind("SUPER + 6", hl.dsp.focus({ workspace = "6" }))
|
||||||
|
hl.bind("SUPER + 7", hl.dsp.focus({ workspace = "7" }))
|
||||||
|
hl.bind("SUPER + 8", hl.dsp.focus({ workspace = "8" }))
|
||||||
|
hl.bind("SUPER + 9", hl.dsp.focus({ workspace = "9" }))
|
||||||
|
|
||||||
|
-- === Move to Numbered Workspaces ===
|
||||||
|
hl.bind("SUPER + SHIFT + 1", hl.dsp.window.move({ workspace = "1" }))
|
||||||
|
hl.bind("SUPER + SHIFT + 2", hl.dsp.window.move({ workspace = "2" }))
|
||||||
|
hl.bind("SUPER + SHIFT + 3", hl.dsp.window.move({ workspace = "3" }))
|
||||||
|
hl.bind("SUPER + SHIFT + 4", hl.dsp.window.move({ workspace = "4" }))
|
||||||
|
hl.bind("SUPER + SHIFT + 5", hl.dsp.window.move({ workspace = "5" }))
|
||||||
|
hl.bind("SUPER + SHIFT + 6", hl.dsp.window.move({ workspace = "6" }))
|
||||||
|
hl.bind("SUPER + SHIFT + 7", hl.dsp.window.move({ workspace = "7" }))
|
||||||
|
hl.bind("SUPER + SHIFT + 8", hl.dsp.window.move({ workspace = "8" }))
|
||||||
|
hl.bind("SUPER + SHIFT + 9", hl.dsp.window.move({ workspace = "9" }))
|
||||||
|
|
||||||
|
-- === Column Management ===
|
||||||
|
hl.bind("SUPER + bracketleft", hl.dsp.layout("preselect l"))
|
||||||
|
hl.bind("SUPER + bracketright", hl.dsp.layout("preselect r"))
|
||||||
|
|
||||||
|
-- === Sizing & Layout ===
|
||||||
|
hl.bind("SUPER + R", hl.dsp.layout("togglesplit"))
|
||||||
|
hl.bind("SUPER + CTRL + F", hl.dsp.window.fullscreen({ mode = "maximized", action = "set" }))
|
||||||
|
|
||||||
|
-- === Move/resize windows with mainMod + LMB/RMB and dragging ===
|
||||||
|
hl.bind("SUPER + mouse:272", hl.dsp.window.drag(), { mouse = true, description = "Move window" })
|
||||||
|
hl.bind("SUPER + mouse:273", hl.dsp.window.resize(), { mouse = true, description = "Resize window" })
|
||||||
|
|
||||||
|
hl.bind("SUPER + code:20", hl.dsp.window.resize({ x = -100, y = 0, relative = true }), { description = "Expand window left" })
|
||||||
|
hl.bind("SUPER + code:21", hl.dsp.window.resize({ x = 100, y = 0, relative = true }), { description = "Shrink window left" })
|
||||||
|
|
||||||
|
-- === Manual Sizing ===
|
||||||
|
hl.bind("SUPER + minus", hl.dsp.window.resize({ x = -100, y = 0, relative = true }), { repeating = true })
|
||||||
|
hl.bind("SUPER + equal", hl.dsp.window.resize({ x = 100, y = 0, relative = true }), { repeating = true })
|
||||||
|
hl.bind("SUPER + SHIFT + minus", hl.dsp.window.resize({ x = 0, y = -100, relative = true }), { repeating = true })
|
||||||
|
hl.bind("SUPER + SHIFT + equal", hl.dsp.window.resize({ x = 0, y = 100, relative = true }), { repeating = true })
|
||||||
|
|
||||||
|
-- === Screenshots ===
|
||||||
|
hl.bind("Print", hl.dsp.exec_cmd("dms screenshot"))
|
||||||
|
hl.bind("CTRL + Print", hl.dsp.exec_cmd("dms screenshot full"))
|
||||||
|
hl.bind("ALT + Print", hl.dsp.exec_cmd("dms screenshot window"))
|
||||||
|
|
||||||
|
-- === Display Profiles ===
|
||||||
|
hl.bind("SUPER + P", hl.dsp.exec_cmd("dms ipc outputs cycleProfile"))
|
||||||
|
|
||||||
|
-- === System Controls ===
|
||||||
|
hl.bind("SUPER + SHIFT + P", hl.dsp.dpms({ action = "toggle" }))
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
-- Auto-generated by DMS Matugen hook — do not edit manually.
|
||||||
|
-- Remove require("dms.colors") from hyprland.lua to override.
|
||||||
|
|
||||||
|
hl.config({
|
||||||
|
general = {
|
||||||
|
col = {
|
||||||
|
active_border = "rgb(9fd49b)",
|
||||||
|
inactive_border = "rgb(8c9388)",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
group = {
|
||||||
|
col = {
|
||||||
|
border_active = "rgb(9fd49b)",
|
||||||
|
border_inactive = "rgb(8c9388)",
|
||||||
|
border_locked_active = "rgb(ffb4ab)",
|
||||||
|
border_locked_inactive = "rgb(8c9388)",
|
||||||
|
},
|
||||||
|
groupbar = {
|
||||||
|
col = {
|
||||||
|
active = "rgb(9fd49b)",
|
||||||
|
inactive = "rgb(8c9388)",
|
||||||
|
locked_active = "rgb(ffb4ab)",
|
||||||
|
locked_inactive = "rgb(8c9388)",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
-- Auto-generated by DMS — do not edit manually
|
||||||
|
|
||||||
|
hl.env("HYPRCURSOR_THEME", "breeze_cursors")
|
||||||
|
hl.env("XCURSOR_THEME", "breeze_cursors")
|
||||||
|
hl.env("HYPRCURSOR_SIZE", "24")
|
||||||
|
hl.env("XCURSOR_SIZE", "24")
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
-- Auto-generated by DMS — do not edit manually
|
||||||
|
|
||||||
|
hl.config({
|
||||||
|
general = {
|
||||||
|
gaps_in = 4,
|
||||||
|
gaps_out = 4,
|
||||||
|
border_size = 1,
|
||||||
|
resize_on_border = false,
|
||||||
|
},
|
||||||
|
decoration = {
|
||||||
|
rounding = 12,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
hl.layer_rule({
|
||||||
|
match = { namespace = "^dms:bar$" },
|
||||||
|
xray = true,
|
||||||
|
})
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
-- Auto-generated by DMS — do not edit manually
|
||||||
|
-- Templated by chezmoi: per-system monitor configuration.
|
||||||
|
|
||||||
|
{{ if eq .system "desktop" }}
|
||||||
|
hl.monitor({ output = "", mode = "preferred", position = "0x0", scale = 1 })
|
||||||
|
hl.monitor({ output = "HDMI-A-2", mode = "1920x1080@60.000", position = "6400x1080", scale = 1, vrr = 0 })
|
||||||
|
hl.monitor({ output = "DP-2", mode = "3840x2160@120.000", position = "2560x0", scale = 1, vrr = 0 })
|
||||||
|
hl.monitor({ output = "HDMI-A-1", mode = "2560x1440@119.998", position = "0x0", scale = 1, vrr = 0 })
|
||||||
|
{{ else if eq .system "laptop" }}
|
||||||
|
hl.monitor({ output = "", mode = "preferred", position = "0x0", scale = 1 })
|
||||||
|
hl.monitor({ output = "eDP-1", mode = "preferred", position = "0x0", scale = 1 })
|
||||||
|
{{ else }}
|
||||||
|
-- server has no GUI; no monitors defined
|
||||||
|
{{ end }}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
-- DMS Window Rules — managed by DankMaterialShell
|
||||||
|
-- Do not edit manually; changes may be overwritten
|
||||||
|
|
||||||
|
-- DMS-RULE: id=wr_1785350111586245435, name=feishin
|
||||||
|
hl.window_rule({ match = { class = "^feishin$" }, workspace = "2" })
|
||||||
|
|
||||||
|
-- DMS-RULE: id=wr_1785350520619777540, name=vesktop
|
||||||
|
hl.window_rule({ match = { class = "^vesktop$" }, workspace = "6" })
|
||||||
@@ -0,0 +1,112 @@
|
|||||||
|
-- Hyprland configuration (Lua) — https://wiki.hypr.land/Configuring/Start/
|
||||||
|
-- Templated by chezmoi: per-system autostart, touchpad, and workspace rules.
|
||||||
|
hl.config({ autogenerated = false })
|
||||||
|
|
||||||
|
hl.on("hyprland.start", function()
|
||||||
|
-- DMS_STARTUP_BEGIN
|
||||||
|
hl.exec_cmd("dbus-update-activation-environment --systemd --all")
|
||||||
|
hl.exec_cmd("systemctl --user start hyprland-session.target")
|
||||||
|
-- DMS_STARTUP_END
|
||||||
|
|
||||||
|
-- Auto Start Applications
|
||||||
|
{{ if eq .system "desktop" }}
|
||||||
|
hl.exec_cmd("kdeconnectd")
|
||||||
|
hl.exec_cmd("feishin")
|
||||||
|
hl.exec_cmd("vesktop")
|
||||||
|
{{ else if eq .system "laptop" }}
|
||||||
|
hl.exec_cmd("kdeconnectd")
|
||||||
|
{{ else }}
|
||||||
|
-- server has no GUI; nothing to autostart
|
||||||
|
{{ end }}
|
||||||
|
end)
|
||||||
|
|
||||||
|
hl.config({
|
||||||
|
input = {
|
||||||
|
kb_layout = "us",
|
||||||
|
numlock_by_default = true,
|
||||||
|
follow_mouse = 1,
|
||||||
|
repeat_delay = 300,
|
||||||
|
touchpad = {
|
||||||
|
tap_to_click = true,
|
||||||
|
natural_scroll = true,
|
||||||
|
{{ if eq .system "laptop" }}
|
||||||
|
disable_while_typing = true,
|
||||||
|
{{ end }}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
general = {
|
||||||
|
gaps_in = 4,
|
||||||
|
gaps_out = 4,
|
||||||
|
border_size = 1,
|
||||||
|
layout = "dwindle",
|
||||||
|
},
|
||||||
|
decoration = {
|
||||||
|
rounding = 12,
|
||||||
|
active_opacity = 1.0,
|
||||||
|
inactive_opacity = 0.97,
|
||||||
|
dim_inactive = true,
|
||||||
|
dim_strength = 0.1,
|
||||||
|
shadow = {
|
||||||
|
enabled = true,
|
||||||
|
range = 30,
|
||||||
|
render_power = 5,
|
||||||
|
offset = "0 5",
|
||||||
|
color = "rgba(00000070)",
|
||||||
|
},
|
||||||
|
blur = {
|
||||||
|
enabled = true,
|
||||||
|
size = 8,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
dwindle = {
|
||||||
|
preserve_split = true,
|
||||||
|
},
|
||||||
|
master = {
|
||||||
|
mfact = 0.5,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
hl.animation({ leaf = "windowsIn", enabled = true, speed = 3, bezier = "default" })
|
||||||
|
hl.animation({ leaf = "windowsOut", enabled = true, speed = 3, bezier = "default" })
|
||||||
|
hl.animation({ leaf = "workspaces", enabled = true, speed = 5, bezier = "default" })
|
||||||
|
hl.animation({ leaf = "windowsMove", enabled = true, speed = 4, bezier = "default" })
|
||||||
|
hl.animation({ leaf = "fade", enabled = true, speed = 3, bezier = "default" })
|
||||||
|
hl.animation({ leaf = "border", enabled = true, speed = 3, bezier = "default" })
|
||||||
|
hl.layer_rule({ match = { namespace = "^(quickshell)$" }, no_anim = true })
|
||||||
|
hl.layer_rule({ match = { namespace = "^dms:.*" }, no_anim = true })
|
||||||
|
|
||||||
|
-- Workspaces rules
|
||||||
|
{{ if eq .system "desktop" }}
|
||||||
|
hl.workspace_rule({ workspace = "1", monitor = "HDMI-A-1" })
|
||||||
|
hl.workspace_rule({ workspace = "2", monitor = "HDMI-A-1" })
|
||||||
|
|
||||||
|
hl.workspace_rule({ workspace = "3", monitor = "DP-2" })
|
||||||
|
hl.workspace_rule({ workspace = "4", monitor = "DP-2" })
|
||||||
|
hl.workspace_rule({ workspace = "5", monitor = "DP-2" })
|
||||||
|
|
||||||
|
hl.workspace_rule({ workspace = "6", monitor = "HDMI-A-2" })
|
||||||
|
hl.workspace_rule({ workspace = "7", monitor = "HDMI-A-2" })
|
||||||
|
{{ else if eq .system "laptop" }}
|
||||||
|
hl.workspace_rule({ workspace = "1", monitor = "eDP-1" })
|
||||||
|
hl.workspace_rule({ workspace = "2", monitor = "eDP-1" })
|
||||||
|
hl.workspace_rule({ workspace = "3", monitor = "eDP-1" })
|
||||||
|
hl.workspace_rule({ workspace = "4", monitor = "eDP-1" })
|
||||||
|
hl.workspace_rule({ workspace = "5", monitor = "eDP-1" })
|
||||||
|
{{ else }}
|
||||||
|
-- server has no GUI; no workspace rules
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
-- Env vars
|
||||||
|
hl.env("XDG_MENU_PREFIX", "plasma-")
|
||||||
|
hl.env("QT_QPA_PLATFORM", "wayland")
|
||||||
|
hl.env("QT_QPA_PLATFORMTHEME", "gtk3")
|
||||||
|
hl.env("ELECTRON_OZONE_PLATFORM_HINT", "auto")
|
||||||
|
|
||||||
|
-- Dank Material Shell
|
||||||
|
require("dms.colors")
|
||||||
|
require("dms.outputs")
|
||||||
|
require("dms.layout")
|
||||||
|
require("dms.cursor")
|
||||||
|
require("dms.binds")
|
||||||
|
require("dms.binds-user")
|
||||||
|
require("dms.windowrules")
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
general {
|
||||||
|
col.active_border = rgba(8c938877)
|
||||||
|
col.inactive_border = rgba(42494055)
|
||||||
|
}
|
||||||
|
|
||||||
|
misc {
|
||||||
|
background_color = rgba(10140fFF)
|
||||||
|
}
|
||||||
|
|
||||||
|
plugin {
|
||||||
|
hyprbars {
|
||||||
|
# Honestly idk if it works like css, but well, why not
|
||||||
|
bar_text_font = Google Sans Flex Medium, Rubik, Geist, AR One Sans, Reddit Sans, Inter, Roboto, Ubuntu, Noto Sans, sans-serif
|
||||||
|
bar_height = 30
|
||||||
|
bar_padding = 10
|
||||||
|
bar_button_padding = 5
|
||||||
|
bar_precedence_over_border = true
|
||||||
|
bar_part_of_window = true
|
||||||
|
|
||||||
|
bar_color = rgba(10140fFF)
|
||||||
|
col.text = rgba(e0e4dbFF)
|
||||||
|
|
||||||
|
|
||||||
|
# example buttons (R -> L)
|
||||||
|
# hyprbars-button = color, size, on-click
|
||||||
|
hyprbars-button = rgb(e0e4db), 13, , hyprctl dispatch killactive
|
||||||
|
hyprbars-button = rgb(e0e4db), 13, , hyprctl dispatch fullscreen 1
|
||||||
|
hyprbars-button = rgb(e0e4db), 13, , hyprctl dispatch movetoworkspacesilent special
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
windowrule = border_color rgba(9fd49bAA) rgba(9fd49b77), match:pin 1
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
# This configuration is generated by matugen
|
||||||
|
# Changing these variables with matugen still enabled will overwrite them.
|
||||||
|
|
||||||
|
$text_color = rgba(bbf0b6FF)
|
||||||
|
$entry_background_color = rgba(00210511)
|
||||||
|
$entry_border_color = rgba(8c938855)
|
||||||
|
$entry_color = rgba(bbf0b6FF)
|
||||||
|
$font_family = Google Sans Flex Medium
|
||||||
|
$font_family_clock = Google Sans Flex Medium
|
||||||
|
$font_material_symbols = Material Symbols Rounded
|
||||||
|
|
||||||
|
$background_image = /home/keule/Pictures/wallpapers/background.jpg
|
||||||
@@ -44,7 +44,9 @@ min_time = 1
|
|||||||
# Somethere at the beginning
|
# Somethere at the beginning
|
||||||
[battery]
|
[battery]
|
||||||
charging_symbol = ""
|
charging_symbol = ""
|
||||||
disabled = true
|
{{ if eq .system "laptop" }}disabled = false
|
||||||
|
{{ else }}disabled = true
|
||||||
|
{{ end }}
|
||||||
discharging_symbol = ""
|
discharging_symbol = ""
|
||||||
full_symbol = ""
|
full_symbol = ""
|
||||||
|
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
[user]
|
||||||
|
email = {{ .email }}
|
||||||
|
name = {{ .name }}
|
||||||
|
signingkey = 3EBCBD305D1C69450CEBF4A8B57235A0D139F9FD
|
||||||
|
[init]
|
||||||
|
defaultBranch = main
|
||||||
|
[core]
|
||||||
|
autocrlf = input
|
||||||
|
[commit]
|
||||||
|
gpgsign = true
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IG1sa2VtNzY4eDI1NTE5IE9PTEZEc21o
|
||||||
|
Tm9QRWFCblZ0eURVZURmQTRLMU9jN1Iza29rV21SUndiS29CYmtlenlKV3pUMEpE
|
||||||
|
Y0hKU3phTjJnbjMzNnYzUkdYa3g3MitNSzB1ZVVSYkNOMzJTbVNUU3ZuRlAxRXNL
|
||||||
|
SzN3SmhIUGhxd1RXZHI0RmNqaUNmSTJpaVlpVFA4QmF2ZVFEWTJlK01UZFB3dDd0
|
||||||
|
NXMxWXhtMmFrVURxUW52aWZhMUovc0tNUjZYWXFOMU1YVGllT1pxemtrUU9ldlZU
|
||||||
|
bHVOYlhVS2tYUm1kUElvd2hBK1RBNXZpWGwrR2R3R0hSNUVyc1RrQUR4MFZXRmgz
|
||||||
|
eStwZUxMSVFhV0t2UThtL09VR1FnL2NMa3c3a2o3OEtMTkVHblpyd2phajhSTkZC
|
||||||
|
N2NoUnZpZnpHRTdFTGtERGg5US9USWlDbnBRWTAyb2NzK0dZOGplWWxsWXhiVkoy
|
||||||
|
b0pmOW5mdHE2TnlhNEx2bUVoeVZqUTdKN3YzYTJQQ2Z5VzA1WGFxSjZhUWgwbndv
|
||||||
|
UUtBclJtOUdlWVQ1RW54cDJ6b1BWc3VhTnpRZEc0WXlMQmRUVjB0ZlYrTnVNV2Zu
|
||||||
|
ZGtTaitqRkdGVWorQTBNcnpReHY5bnBWeTAxRHI3YVg0WUdyVHd5NlBkNER6NzYz
|
||||||
|
c2RWTFB3cVBaUFpZMzUzU3NYRmZHV1gvMnZLUFd6WldLOWVyLytCWHhBOStDOFBm
|
||||||
|
Z05KUms0OVh0QzFlNEdqdEU3c3NZelNkMGxtdXhBeWd0L0Zha1JFNVhZc1pnbHNW
|
||||||
|
WDRNeTdRajFodEhFRmRmdlkxNEYyTzFpWmk1eWJQdnJIN1VseUtlTTFtRTJibGlj
|
||||||
|
QjRkdThpdDhZU1hJT2s5SUx4MGZGbVRYY3psdVgxSm9hbmV1aUpTQzdxbm9xYkVr
|
||||||
|
dkx4a2d5TStBcytVTjgydUlLU2hwcWJ6TFRlZjZIRVRaSWNObXFGU2NDMWxQMUFQ
|
||||||
|
akM4UkxhY3VUZUdHKzAyb0wzNTM1L2xIQmJpaUVLSFlNZWIvbE1HVnVnVElWRzlP
|
||||||
|
RnRRUzRKazJmamtlYXhDazd6ZG12dUZ2a3JQR0FUOERCUDN2TVUvN0pXNHNRRnBr
|
||||||
|
RWlIRDltenRtR3F1TkR0aXRERHVGeVZJTGF1b3pYbFpVREc1TUhDTlhCQjJlN3hl
|
||||||
|
MzBCZVRyM0kxRSt1MFU5TDA4ZTF1VUtCSEFZQkl5Zit2TnNCaUU0cUhFNlhFcG9W
|
||||||
|
TjR6eTZJbEJiS2gyVE1PWWUycDlYQ3dvZlFUc2plMDBMZXFqUkpUMFJpWGhnSWtj
|
||||||
|
N0JQSzBuM0pFY1B1bXEzclowbFFhaElXa1RPSFJ6ZHRtZHRDdXRFZStVcGw0dGpx
|
||||||
|
Q21wK0VBc0xpak9rMUNHMVBISFQ2bndqYnNSblUrVmM2bTVCZ3NIQU16RGkxOUJU
|
||||||
|
Mk9haE5RRTAxVGlOY3NCbFQ3V2xrc0YxeS83QVEyamJrN2crWnhNY2FEb3RMKy9P
|
||||||
|
Z1BoOWYwMlRLVWZqL2FxYkp5TE9seWFjMUVXcE12S1ZEZjA0bW5FUmh1N2FLY0Va
|
||||||
|
dnVJNHhNSlFONnk1L2xEcHFpWlRuMXJadHp6NFc3WjBqZTdGWWc5TjhPbmNFaDdZ
|
||||||
|
cGpjcHhqUXV2NTZ5Ny9seE5RMlZxb01TSG9KbVdheHNtQTRYWTNVak40VzZpY2ZU
|
||||||
|
OC8xekVwa0s4elBVUC9MMzBCSmRkckhjajc5SVM3VjhvZFFyRDRjRHRzcWZISWJB
|
||||||
|
blZnLzMwVW1aTjRBSVpDNERzR24rRDU1cCtzL3Uwb2RIUjRtUWZnZFJONGJha3or
|
||||||
|
aFhaME54dEwzMGJvQ0ZHbVhPZXdWUCtIN05UdmlwbkhjaFV3aCtGMnFHU2pTK21z
|
||||||
|
NTlPNEtwR0NRZmJWWStwWFJtY2N4djV5WmpnSmJtYkQvVXRKbWlZL0YrMnRKSzY1
|
||||||
|
MlBXQ2dUMzluQ2ZNQ3dJSFFrYUxVS0FRY3BNK0dLck9QcG1EVVJLbVJYdnRZQQpE
|
||||||
|
OTluZjV2ZWN1RG9tSnpEQ1htVzZRMlFJcDJFSW9hc1BsVWoyaHc2ek1BCi0tLSAx
|
||||||
|
bVFZODh0eTRyemtKcEtabU5iOFltR1RPYndvV0h4ME5CZ0V6a0k2dkgwCjMcrv1i
|
||||||
|
X/Q7cSztMHyJ2h7X/Pua0a8+Uw21d8rJwvbiCTTIrje4HLT7+CtHl+wRand/yPpj
|
||||||
|
13od2ldCW020adzS8h2EL9erX0SCGtD6Kk4Au9rX9TKEEZCFkffimYgMnTt+MUAZ
|
||||||
|
HAY2QbGOQsqOynDdeWBTwemKQep8kSgLoGONKO7Tz2l2/MqUCS2W7YQRFb783i03
|
||||||
|
kicX6irr+EaVq9BdX2KOO/c7K7DshJ6AXYMFhcGBY0wn5TnXoO/3ANBTg0zj7CgO
|
||||||
|
WU3oMKfc1tgHCzXfp5t8UdTnmiMxPussFxil/rVIiUmhtg6R/ADfaENALYreOxKT
|
||||||
|
Y6zMgQ==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
default_roles:
|
|
||||||
- bash
|
|
||||||
- btop
|
|
||||||
- fish
|
|
||||||
- nvim
|
|
||||||
- starship
|
|
||||||
- yazi
|
|
||||||
|
|
||||||
desktop_roles:
|
|
||||||
- alacritty
|
|
||||||
- discord
|
|
||||||
- hypr
|
|
||||||
- kvantum
|
|
||||||
- minegrub
|
|
||||||
- nwg-look
|
|
||||||
- qt5ct
|
|
||||||
- sddm
|
|
||||||
- wakatime
|
|
||||||
|
|
||||||
system: desktop
|
|
||||||
|
|
||||||
wakapi_key: !vault |
|
|
||||||
$ANSIBLE_VAULT;1.1;AES256
|
|
||||||
39346164353734613634356635383464636463373437333463616530346162303666343962383364
|
|
||||||
3862316162646639353665336530613965663437316263310a646464663038346539393039666537
|
|
||||||
32636139616239643934353135656662376262356433616635343830646164363435353739343966
|
|
||||||
6233303036393538370a656564643033383334323631663631336137346161326464373364346230
|
|
||||||
64323564663534393766356166393363376237633565316363363138373033353030373139366365
|
|
||||||
6435323438633233363166626330633164346534363335666433
|
|
||||||
@@ -1,163 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Vars
|
|
||||||
DOTFILES_DIR="$HOME/.dotfiles"
|
|
||||||
CONFIG_DIR="$HOME/.config/dotfiles"
|
|
||||||
REPO="https://gitea.keuledrive.de/Keule2/Dotfiles.git"
|
|
||||||
DIST=$(source /etc/os-release && echo $ID)
|
|
||||||
|
|
||||||
# Colors
|
|
||||||
COLOR_RESET='\033[0m'
|
|
||||||
RED='\033[0;31m'
|
|
||||||
LGREEN='\033[01;32m'
|
|
||||||
|
|
||||||
# Helper Functions
|
|
||||||
print_header() {
|
|
||||||
echo -e "${LGREEN}$1${COLOR_RESET}"
|
|
||||||
}
|
|
||||||
|
|
||||||
cmd() {
|
|
||||||
local DOTFILES_LOG="./error.log"
|
|
||||||
|
|
||||||
if eval "$1" 1> /dev/null 2> $DOTFILES_LOG; then
|
|
||||||
rm "$DOTFILES_LOG"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo -e "${RED}"
|
|
||||||
cat $DOTFILES_LOG
|
|
||||||
echo -e "${COLOR_RESET}"
|
|
||||||
rm "$DOTFILES_LOG"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
paru_install() {
|
|
||||||
if [ -x "$(command -v paru)" ]; then
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Install Base-Devel
|
|
||||||
if [ -z "$(pacman -Q | grep base-devel)" ]; then
|
|
||||||
print_header "Installing base-devel"
|
|
||||||
cmd "sudo pacman -S base-devel --noconfirm"
|
|
||||||
fi
|
|
||||||
# Install RustUp
|
|
||||||
if ! [ -x "$(command -v rustup)" ]; then
|
|
||||||
print_header "Installing rustup"
|
|
||||||
cmd "sudo pacman -S rustup --noconfirm"
|
|
||||||
cmd "rustup default stable"
|
|
||||||
fi
|
|
||||||
# Instal Paru
|
|
||||||
FOLDER=$(mktemp -d)
|
|
||||||
print_header "Installing paru"
|
|
||||||
cmd "git clone https://aur.archlinux.org/paru.git $FOLDER"
|
|
||||||
cd $FOLDER
|
|
||||||
cmd "makepkg -si --noconfirm"
|
|
||||||
}
|
|
||||||
|
|
||||||
arch_install() {
|
|
||||||
# Install Ansible
|
|
||||||
if ! [ -x "$(command -v ansible)" ]; then
|
|
||||||
print_header "Installing ansible"
|
|
||||||
cmd "sudo pacman -S ansible --noconfirm"
|
|
||||||
fi
|
|
||||||
# Install Git
|
|
||||||
if ! [ -x "$(command -v git)" ]; then
|
|
||||||
print_header "Installing git"
|
|
||||||
cmd "sudo pacman -S git --noconfirm"
|
|
||||||
fi
|
|
||||||
# Installl Paru
|
|
||||||
paru_install
|
|
||||||
# Install PIP
|
|
||||||
if ! [ -x "$(command -v pip)" ]; then
|
|
||||||
print_header "Installing pip"
|
|
||||||
cmd "sudo pacman -S python-pip --noconfirm"
|
|
||||||
fi
|
|
||||||
# Install Watchdog
|
|
||||||
if [ -z "$(pip list | grep watchdog)" ]; then
|
|
||||||
print_header "Installing watchdog"
|
|
||||||
cmd "pip install --break-system-packages watchdog"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
ubuntu_install() {
|
|
||||||
# Install Ansible
|
|
||||||
if ! dpkg -s ansible >/dev/null 2>&1; then
|
|
||||||
print_header "Installing ansible"
|
|
||||||
cmd "sudo apt-get update"
|
|
||||||
cmd "sudo apt-get install -y software-properties-common"
|
|
||||||
cmd "sudo apt-add-repository -y ppa:ansible/ansible"
|
|
||||||
cmd "sudo apt-get update"
|
|
||||||
cmd "sudo apt-get install -y ansible"
|
|
||||||
cmd "sudo apt-get install python3-argcomplete"
|
|
||||||
cmd "sudo activate-global-python-argcomplete3"
|
|
||||||
fi
|
|
||||||
# Install Git
|
|
||||||
if ! dpkg -s git >/dev/null 2>&1; then
|
|
||||||
print_header "Installing git"
|
|
||||||
cmd "sudo apt-get install -y git"
|
|
||||||
fi
|
|
||||||
# TODO pip, watchdog
|
|
||||||
}
|
|
||||||
|
|
||||||
update_galaxy() {
|
|
||||||
local OS=$1
|
|
||||||
|
|
||||||
print_header "Installing/Updating ansible-galaxy"
|
|
||||||
cmd "ansible-galaxy install -r $DOTFILES_DIR/requirements/default.yml"
|
|
||||||
if [ -f "$DOTFILES_DIR/requirements/$OS.yml" ]; then
|
|
||||||
cmd "ansible-galaxy install -r $DOTFILES_DIR/requirements/$OS.yml"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Banner
|
|
||||||
cat << "EOF"
|
|
||||||
________ __ .___ __ .__ .__
|
|
||||||
\______ \ _____/ |_ ______ | | ____ _______/ |______ | | | | ___________
|
|
||||||
| | \ / _ \ __\/ ___/ | |/ \ / ___/\ __\__ \ | | | | _/ __ \_ __ \
|
|
||||||
| ` ( <_> ) | \___ \ | | | \\___ \ | | / __ \| |_| |_\ ___/| | \/
|
|
||||||
/_______ /\____/|__| /____ > |___|___| /____ > |__| (____ /____/____/\___ >__|
|
|
||||||
\/ \/ \/ \/ \/ \/
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# Setup
|
|
||||||
case $DIST in
|
|
||||||
arch)
|
|
||||||
arch_install
|
|
||||||
;;
|
|
||||||
ubuntu)
|
|
||||||
ubuntu_install
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Unsupported OS"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# Clone repository
|
|
||||||
if ! [[ -d "$DOTFILES_DIR" ]]; then
|
|
||||||
print_header "Cloning repo"
|
|
||||||
cmd "git clone $REPO $DOTFILES_DIR"
|
|
||||||
else
|
|
||||||
print_header "Updating repo"
|
|
||||||
cmd "git -C $DOTFILES_DIR pull"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Change Working Dir
|
|
||||||
cd "$DOTFILES_DIR"
|
|
||||||
|
|
||||||
# Update Galaxy
|
|
||||||
update_galaxy $DIST
|
|
||||||
|
|
||||||
# Run playbook
|
|
||||||
if [[ -f "$CONFIG_DIR/vault-password.txt" ]]; then
|
|
||||||
if [[ -f "$CONFIG_DIR/values.yml" ]]; then
|
|
||||||
ansible-playbook --diff -v --ask-become-pass --extra-vars "@$CONFIG_DIR/values.yml" --vault-password-file "$CONFIG_DIR/vault-password.txt" "$DOTFILES_DIR/main.yml" "$@"
|
|
||||||
else
|
|
||||||
ansible-playbook --diff -v --ask-become-pass --vault-password-file "$CONFIG_DIR/vault-password.txt" "$DOTFILES_DIR/main.yml" "$@"
|
|
||||||
fi
|
|
||||||
elif [[ -f "$CONFIG_DIR/values.yml" ]]; then
|
|
||||||
ansible-playbook --diff -v --ask-become-pass --extra-vars "@$CONFIG_DIR/values.yml" "$DOTFILES_DIR/main.yml" "$@"
|
|
||||||
else
|
|
||||||
ansible-playbook --diff -v --ask-become-pass "$DOTFILES_DIR/main.yml" "$@"
|
|
||||||
fi
|
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Dotfiles
|
|
||||||
hosts: localhost
|
|
||||||
connection: local
|
|
||||||
tasks:
|
|
||||||
- name: Get username
|
|
||||||
command: whoami
|
|
||||||
register: whoami
|
|
||||||
tags:
|
|
||||||
- always
|
|
||||||
|
|
||||||
- name: Set username
|
|
||||||
set_fact:
|
|
||||||
username: "{{ whoami.stdout }}"
|
|
||||||
tags:
|
|
||||||
- always
|
|
||||||
|
|
||||||
- name: Set default roles
|
|
||||||
set_fact:
|
|
||||||
roles: "{{ ansible_run_tags != ['all'] and ansible_run_tags or default_roles | difference(ansible_skip_tags | default([])) }}"
|
|
||||||
tags:
|
|
||||||
- always
|
|
||||||
|
|
||||||
- name: Set desktop roles
|
|
||||||
set_fact:
|
|
||||||
roles: "{{ (desktop_roles + roles) | difference(ansible_skip_tags | default([])) }}"
|
|
||||||
tags:
|
|
||||||
- always
|
|
||||||
when: system != 'server' and desktop_roles is defined and ansible_run_tags == ['all']
|
|
||||||
|
|
||||||
- name: Prepend system role
|
|
||||||
set_fact:
|
|
||||||
roles: "{{ ['system'] | difference(roles) + roles }}"
|
|
||||||
tags:
|
|
||||||
- always
|
|
||||||
|
|
||||||
- name: Display roles
|
|
||||||
debug: "var=roles"
|
|
||||||
tags:
|
|
||||||
- always
|
|
||||||
|
|
||||||
- name: Run roles
|
|
||||||
include_role:
|
|
||||||
apply:
|
|
||||||
tags:
|
|
||||||
- "{{ roles_item }}"
|
|
||||||
name: "{{ roles_item }}"
|
|
||||||
loop_control:
|
|
||||||
loop_var: roles_item
|
|
||||||
with_items: "{{ roles }}"
|
|
||||||
tags:
|
|
||||||
- always
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
collections:
|
|
||||||
- name: kewlfft.aur
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
collections:
|
|
||||||
- name: community.general
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
import = [
|
|
||||||
# Theme
|
|
||||||
"~/.config/alacritty/catppuccin-macchiato.toml"
|
|
||||||
]
|
|
||||||
|
|
||||||
[env]
|
|
||||||
TERM = "xterm-256color"
|
|
||||||
|
|
||||||
[window]
|
|
||||||
opacity = 0.7
|
|
||||||
decorations = "None"
|
|
||||||
padding = { x = 0, y = 0 }
|
|
||||||
|
|
||||||
[font]
|
|
||||||
normal = {family = "CaskaydiaCove Nerd Font", style = "Mono"}
|
|
||||||
|
|
||||||
[cursor]
|
|
||||||
style = {shape = "Beam", blinking = "On"}
|
|
||||||
vi_mode_style = {shape = "Block", blinking = "On"}
|
|
||||||
@@ -1,97 +0,0 @@
|
|||||||
# MIT License
|
|
||||||
#
|
|
||||||
# Copyright (c) 2021 Catppuccin
|
|
||||||
#
|
|
||||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
# of this software and associated documentation files (the "Software"), to deal
|
|
||||||
# in the Software without restriction, including without limitation the rights
|
|
||||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
# copies of the Software, and to permit persons to whom the Software is
|
|
||||||
# furnished to do so, subject to the following conditions:
|
|
||||||
#
|
|
||||||
# The above copyright notice and this permission notice shall be included in all
|
|
||||||
# copies or substantial portions of the Software.
|
|
||||||
#
|
|
||||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
# SOFTWARE.
|
|
||||||
|
|
||||||
[colors.primary]
|
|
||||||
background = "#24273A"
|
|
||||||
foreground = "#CAD3F5"
|
|
||||||
dim_foreground = "#CAD3F5"
|
|
||||||
bright_foreground = "#CAD3F5"
|
|
||||||
|
|
||||||
[colors.cursor]
|
|
||||||
text = "#24273A"
|
|
||||||
cursor = "#F4DBD6"
|
|
||||||
|
|
||||||
[colors.vi_mode_cursor]
|
|
||||||
text = "#24273A"
|
|
||||||
cursor = "#B7BDF8"
|
|
||||||
|
|
||||||
[colors.search.matches]
|
|
||||||
foreground = "#24273A"
|
|
||||||
background = "#A5ADCB"
|
|
||||||
|
|
||||||
[colors.search.focused_match]
|
|
||||||
foreground = "#24273A"
|
|
||||||
background = "#A6DA95"
|
|
||||||
|
|
||||||
[colors.footer_bar]
|
|
||||||
foreground = "#24273A"
|
|
||||||
background = "#A5ADCB"
|
|
||||||
|
|
||||||
[colors.hints.start]
|
|
||||||
foreground = "#24273A"
|
|
||||||
background = "#EED49F"
|
|
||||||
|
|
||||||
[colors.hints.end]
|
|
||||||
foreground = "#24273A"
|
|
||||||
background = "#A5ADCB"
|
|
||||||
|
|
||||||
[colors.selection]
|
|
||||||
text = "#24273A"
|
|
||||||
background = "#F4DBD6"
|
|
||||||
|
|
||||||
[colors.normal]
|
|
||||||
black = "#494D64"
|
|
||||||
red = "#ED8796"
|
|
||||||
green = "#A6DA95"
|
|
||||||
yellow = "#EED49F"
|
|
||||||
blue = "#8AADF4"
|
|
||||||
magenta = "#F5BDE6"
|
|
||||||
cyan = "#8BD5CA"
|
|
||||||
white = "#B8C0E0"
|
|
||||||
|
|
||||||
[colors.bright]
|
|
||||||
black = "#5B6078"
|
|
||||||
red = "#ED8796"
|
|
||||||
green = "#A6DA95"
|
|
||||||
yellow = "#EED49F"
|
|
||||||
blue = "#8AADF4"
|
|
||||||
magenta = "#F5BDE6"
|
|
||||||
cyan = "#8BD5CA"
|
|
||||||
white = "#A5ADCB"
|
|
||||||
|
|
||||||
[colors.dim]
|
|
||||||
black = "#494D64"
|
|
||||||
red = "#ED8796"
|
|
||||||
green = "#A6DA95"
|
|
||||||
yellow = "#EED49F"
|
|
||||||
blue = "#8AADF4"
|
|
||||||
magenta = "#F5BDE6"
|
|
||||||
cyan = "#8BD5CA"
|
|
||||||
white = "#B8C0E0"
|
|
||||||
|
|
||||||
[[colors.indexed_colors]]
|
|
||||||
index = 16
|
|
||||||
color = "#F5A97F"
|
|
||||||
|
|
||||||
[[colors.indexed_colors]]
|
|
||||||
index = 17
|
|
||||||
color = "#F4DBD6"
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
---
|
|
||||||
- name: "[Alacritty] Install"
|
|
||||||
kewlfft.aur.aur:
|
|
||||||
name:
|
|
||||||
- alacritty
|
|
||||||
- ueberzugpp
|
|
||||||
state: present
|
|
||||||
|
|
||||||
- name: "[Alacritty] Create config folder"
|
|
||||||
ansible.builtin.file:
|
|
||||||
mode: "0755"
|
|
||||||
path: "{{ ansible_user_dir }}/.config/alacritty"
|
|
||||||
state: directory
|
|
||||||
|
|
||||||
- name: "[Alacritty] Configure"
|
|
||||||
ansible.builtin.copy:
|
|
||||||
src: "./"
|
|
||||||
dest: "{{ ansible_user_dir }}/.config/alacritty"
|
|
||||||
|
|
||||||
- name: "[Alacritty] Set default"
|
|
||||||
shell: gsettings set org.cinnamon.desktop.default-applications.terminal exec alacritty && gsettings set org.gnome.desktop.default-applications.terminal exec alacritty
|
|
||||||
ignore_errors: true
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
---
|
|
||||||
- name: "[Bash] Install"
|
|
||||||
ansible.builtin.package:
|
|
||||||
name:
|
|
||||||
- bash
|
|
||||||
state: latest
|
|
||||||
become: yes
|
|
||||||
|
|
||||||
- name: "[Bash] Configure"
|
|
||||||
ansible.builtin.copy:
|
|
||||||
src: "./"
|
|
||||||
dest: "{{ ansible_user_dir }}/"
|
|
||||||
@@ -1,248 +0,0 @@
|
|||||||
#? Config file for btop v. 1.3.2
|
|
||||||
|
|
||||||
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
|
||||||
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
|
||||||
color_theme = "Default"
|
|
||||||
|
|
||||||
#* If the theme set background should be shown, set to False if you want terminal background transparency.
|
|
||||||
theme_background = True
|
|
||||||
|
|
||||||
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
|
|
||||||
truecolor = True
|
|
||||||
|
|
||||||
#* Set to true to force tty mode regardless if a real tty has been detected or not.
|
|
||||||
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
|
|
||||||
force_tty = False
|
|
||||||
|
|
||||||
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
|
|
||||||
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
|
|
||||||
#* Use whitespace " " as separator between different presets.
|
|
||||||
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
|
|
||||||
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
|
|
||||||
|
|
||||||
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
|
|
||||||
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
|
|
||||||
vim_keys = True
|
|
||||||
|
|
||||||
#* Rounded corners on boxes, is ignored if TTY mode is ON.
|
|
||||||
rounded_corners = True
|
|
||||||
|
|
||||||
#* Default symbols to use for graph creation, "braille", "block" or "tty".
|
|
||||||
#* "braille" offers the highest resolution but might not be included in all fonts.
|
|
||||||
#* "block" has half the resolution of braille but uses more common characters.
|
|
||||||
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
|
|
||||||
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
|
|
||||||
graph_symbol = "braille"
|
|
||||||
|
|
||||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
|
||||||
graph_symbol_cpu = "default"
|
|
||||||
|
|
||||||
# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty".
|
|
||||||
graph_symbol_gpu = "default"
|
|
||||||
|
|
||||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
|
||||||
graph_symbol_mem = "default"
|
|
||||||
|
|
||||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
|
||||||
graph_symbol_net = "default"
|
|
||||||
|
|
||||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
|
||||||
graph_symbol_proc = "default"
|
|
||||||
|
|
||||||
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
|
|
||||||
shown_boxes = "cpu mem net proc"
|
|
||||||
|
|
||||||
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
|
|
||||||
update_ms = 2000
|
|
||||||
|
|
||||||
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
|
||||||
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
|
||||||
proc_sorting = "memory"
|
|
||||||
|
|
||||||
#* Reverse sorting order, True or False.
|
|
||||||
proc_reversed = False
|
|
||||||
|
|
||||||
#* Show processes as a tree.
|
|
||||||
proc_tree = False
|
|
||||||
|
|
||||||
#* Use the cpu graph colors in the process list.
|
|
||||||
proc_colors = True
|
|
||||||
|
|
||||||
#* Use a darkening gradient in the process list.
|
|
||||||
proc_gradient = True
|
|
||||||
|
|
||||||
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
|
|
||||||
proc_per_core = True
|
|
||||||
|
|
||||||
#* Show process memory as bytes instead of percent.
|
|
||||||
proc_mem_bytes = True
|
|
||||||
|
|
||||||
#* Show cpu graph for each process.
|
|
||||||
proc_cpu_graphs = True
|
|
||||||
|
|
||||||
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
|
|
||||||
proc_info_smaps = False
|
|
||||||
|
|
||||||
#* Show proc box on left side of screen instead of right.
|
|
||||||
proc_left = False
|
|
||||||
|
|
||||||
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
|
|
||||||
proc_filter_kernel = False
|
|
||||||
|
|
||||||
#* In tree-view, always accumulate child process resources in the parent process.
|
|
||||||
proc_aggregate = False
|
|
||||||
|
|
||||||
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
|
|
||||||
#* Select from a list of detected attributes from the options menu.
|
|
||||||
cpu_graph_upper = "total"
|
|
||||||
|
|
||||||
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
|
|
||||||
#* Select from a list of detected attributes from the options menu.
|
|
||||||
cpu_graph_lower = "total"
|
|
||||||
|
|
||||||
#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off".
|
|
||||||
show_gpu_info = "Auto"
|
|
||||||
|
|
||||||
#* Toggles if the lower CPU graph should be inverted.
|
|
||||||
cpu_invert_lower = True
|
|
||||||
|
|
||||||
#* Set to True to completely disable the lower CPU graph.
|
|
||||||
cpu_single_graph = False
|
|
||||||
|
|
||||||
#* Show cpu box at bottom of screen instead of top.
|
|
||||||
cpu_bottom = False
|
|
||||||
|
|
||||||
#* Shows the system uptime in the CPU box.
|
|
||||||
show_uptime = True
|
|
||||||
|
|
||||||
#* Show cpu temperature.
|
|
||||||
check_temp = True
|
|
||||||
|
|
||||||
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
|
|
||||||
cpu_sensor = "Auto"
|
|
||||||
|
|
||||||
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
|
|
||||||
show_coretemp = True
|
|
||||||
|
|
||||||
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
|
|
||||||
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
|
|
||||||
#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
|
|
||||||
#* Example: "4:0 5:1 6:3"
|
|
||||||
cpu_core_map = ""
|
|
||||||
|
|
||||||
#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
|
|
||||||
temp_scale = "celsius"
|
|
||||||
|
|
||||||
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
|
|
||||||
base_10_sizes = False
|
|
||||||
|
|
||||||
#* Show CPU frequency.
|
|
||||||
show_cpu_freq = True
|
|
||||||
|
|
||||||
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
|
|
||||||
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
|
|
||||||
clock_format = "%X"
|
|
||||||
|
|
||||||
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
|
|
||||||
background_update = True
|
|
||||||
|
|
||||||
#* Custom cpu model name, empty string to disable.
|
|
||||||
custom_cpu_name = ""
|
|
||||||
|
|
||||||
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
|
|
||||||
#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user".
|
|
||||||
disks_filter = ""
|
|
||||||
|
|
||||||
#* Show graphs instead of meters for memory values.
|
|
||||||
mem_graphs = True
|
|
||||||
|
|
||||||
#* Show mem box below net box instead of above.
|
|
||||||
mem_below_net = False
|
|
||||||
|
|
||||||
#* Count ZFS ARC in cached and available memory.
|
|
||||||
zfs_arc_cached = True
|
|
||||||
|
|
||||||
#* If swap memory should be shown in memory box.
|
|
||||||
show_swap = True
|
|
||||||
|
|
||||||
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
|
|
||||||
swap_disk = True
|
|
||||||
|
|
||||||
#* If mem box should be split to also show disks info.
|
|
||||||
show_disks = True
|
|
||||||
|
|
||||||
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
|
|
||||||
only_physical = True
|
|
||||||
|
|
||||||
#* Read disks list from /etc/fstab. This also disables only_physical.
|
|
||||||
use_fstab = True
|
|
||||||
|
|
||||||
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
|
|
||||||
zfs_hide_datasets = False
|
|
||||||
|
|
||||||
#* Set to true to show available disk space for privileged users.
|
|
||||||
disk_free_priv = False
|
|
||||||
|
|
||||||
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
|
|
||||||
show_io_stat = True
|
|
||||||
|
|
||||||
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
|
|
||||||
io_mode = False
|
|
||||||
|
|
||||||
#* Set to True to show combined read/write io graphs in io mode.
|
|
||||||
io_graph_combined = False
|
|
||||||
|
|
||||||
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
|
|
||||||
#* Example: "/mnt/media:100 /:20 /boot:1".
|
|
||||||
io_graph_speeds = ""
|
|
||||||
|
|
||||||
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
|
|
||||||
net_download = 100
|
|
||||||
|
|
||||||
net_upload = 100
|
|
||||||
|
|
||||||
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
|
|
||||||
net_auto = True
|
|
||||||
|
|
||||||
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
|
|
||||||
net_sync = True
|
|
||||||
|
|
||||||
#* Starts with the Network Interface specified here.
|
|
||||||
net_iface = ""
|
|
||||||
|
|
||||||
#* Show battery stats in top right if battery is present.
|
|
||||||
show_battery = True
|
|
||||||
|
|
||||||
#* Which battery to use if multiple are present. "Auto" for auto detection.
|
|
||||||
selected_battery = "Auto"
|
|
||||||
|
|
||||||
#* Show power stats of battery next to charge indicator.
|
|
||||||
show_battery_watts = True
|
|
||||||
|
|
||||||
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
|
|
||||||
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
|
|
||||||
log_level = "WARNING"
|
|
||||||
|
|
||||||
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
|
|
||||||
nvml_measure_pcie_speeds = True
|
|
||||||
|
|
||||||
#* Horizontally mirror the GPU graph.
|
|
||||||
gpu_mirror_graph = True
|
|
||||||
|
|
||||||
#* Custom gpu0 model name, empty string to disable.
|
|
||||||
custom_gpu_name0 = ""
|
|
||||||
|
|
||||||
#* Custom gpu1 model name, empty string to disable.
|
|
||||||
custom_gpu_name1 = ""
|
|
||||||
|
|
||||||
#* Custom gpu2 model name, empty string to disable.
|
|
||||||
custom_gpu_name2 = ""
|
|
||||||
|
|
||||||
#* Custom gpu3 model name, empty string to disable.
|
|
||||||
custom_gpu_name3 = ""
|
|
||||||
|
|
||||||
#* Custom gpu4 model name, empty string to disable.
|
|
||||||
custom_gpu_name4 = ""
|
|
||||||
|
|
||||||
#* Custom gpu5 model name, empty string to disable.
|
|
||||||
custom_gpu_name5 = ""
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
---
|
|
||||||
- name: "[Btop] Install"
|
|
||||||
ansible.builtin.package:
|
|
||||||
name:
|
|
||||||
- btop
|
|
||||||
state: latest
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: "[Btop] Create config folder"
|
|
||||||
ansible.builtin.file:
|
|
||||||
mode: "0755"
|
|
||||||
path: "{{ ansible_user_dir }}/.config/btop"
|
|
||||||
state: directory
|
|
||||||
|
|
||||||
- name: "[Btop] Configure"
|
|
||||||
ansible.builtin.copy:
|
|
||||||
src: "./"
|
|
||||||
dest: "{{ ansible_user_dir }}/.config/btop"
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{"spellcheck":{"dictionaries":["en-GB", "de-DE"],"dictionary":""}}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"lang": "en-US"
|
|
||||||
}
|
|
||||||
@@ -1,62 +0,0 @@
|
|||||||
{
|
|
||||||
"windowStyle": "native",
|
|
||||||
"channel": "stable",
|
|
||||||
"armcordCSP": true,
|
|
||||||
"minimizeToTray": false,
|
|
||||||
"keybinds": [],
|
|
||||||
"alternativePaste": false,
|
|
||||||
"multiInstance": false,
|
|
||||||
"mods": [
|
|
||||||
"none"
|
|
||||||
],
|
|
||||||
"spellcheck": true,
|
|
||||||
"performanceMode": "none",
|
|
||||||
"skipSplash": false,
|
|
||||||
"inviteWebsocket": true,
|
|
||||||
"startMinimized": false,
|
|
||||||
"dynamicIcon": false,
|
|
||||||
"tray": "dynamic",
|
|
||||||
"customJsBundle": "https://armcord.app/placeholder.js",
|
|
||||||
"customCssBundle": "https://armcord.app/placeholder.css",
|
|
||||||
"disableAutogain": false,
|
|
||||||
"useLegacyCapturer": false,
|
|
||||||
"mobileMode": false,
|
|
||||||
"trayIcon": "dynamic",
|
|
||||||
"doneSetup": true,
|
|
||||||
"clientName": "ArmCord",
|
|
||||||
"customIcon": "/usr/lib/armcord/app.asar/assets/desktop.png",
|
|
||||||
"modCache": {
|
|
||||||
"shelter": "1b35b8802a85809742af99f454bb941f56f759a3"
|
|
||||||
},
|
|
||||||
"hardwareAcceleration": true,
|
|
||||||
"audio": {
|
|
||||||
"workaround": false,
|
|
||||||
"deviceSelect": true,
|
|
||||||
"granularSelect": true,
|
|
||||||
"ignoreVirtual": false,
|
|
||||||
"ignoreDevices": false,
|
|
||||||
"ignoreInputMedia": false,
|
|
||||||
"onlySpeakers": false,
|
|
||||||
"onlyDefaultSpeakers": true,
|
|
||||||
"loopbackType": "loopback"
|
|
||||||
},
|
|
||||||
"transparency": "none",
|
|
||||||
"legcordCSP": true,
|
|
||||||
"bounceOnPing": false,
|
|
||||||
"disableHttpCache": false,
|
|
||||||
"autoHideMenuBar": true,
|
|
||||||
"blockPowerSavingInVoiceChat": false,
|
|
||||||
"useMacSystemPicker": true,
|
|
||||||
"popoutPiP": false,
|
|
||||||
"spellcheckLanguage": [
|
|
||||||
"en-US",
|
|
||||||
"de-DE"
|
|
||||||
],
|
|
||||||
"sleepInBackground": false,
|
|
||||||
"noBundleUpdates": false,
|
|
||||||
"additionalArguments": "",
|
|
||||||
"smoothScroll": true,
|
|
||||||
"autoScroll": false,
|
|
||||||
"useSystemCssEditor": false,
|
|
||||||
"overlayButtonColor": "#121214"
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2022 Catppuccin
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"theme": "src.css",
|
|
||||||
"name": "Catppuccin Macchiato",
|
|
||||||
"author": "winston#0001",
|
|
||||||
"authorId": "505490445468696576",
|
|
||||||
"version": "0.2.0",
|
|
||||||
"description": "🎮 Soothing pastel theme for Discord",
|
|
||||||
"website": "https://github.com/catppuccin/discord",
|
|
||||||
"invite": "r6Mdz5dpFc",
|
|
||||||
"updateSrc": "https://raw.githubusercontent.com/catppuccin/discord/main/themes/macchiato.theme.css",
|
|
||||||
"supportsArmCordTitlebar": false,
|
|
||||||
"enabled": true
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
/**
|
|
||||||
* @name Catppuccin Macchiato
|
|
||||||
* @author winston#0001
|
|
||||||
* @authorId 505490445468696576
|
|
||||||
* @version 0.2.0
|
|
||||||
* @description 🎮 Soothing pastel theme for Discord
|
|
||||||
* @website https://github.com/catppuccin/discord
|
|
||||||
* @invite r6Mdz5dpFc
|
|
||||||
* **/
|
|
||||||
|
|
||||||
@import url("https://catppuccin.github.io/discord/dist/catppuccin-macchiato.theme.css");
|
|
||||||