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
|
||||
callback_plugins/__pycache__
|
||||
.callback_plugins/__pycache__
|
||||
# chezmoi local state — never committed
|
||||
.chezmoi/
|
||||
*.chezmoi.state
|
||||
@@ -1,46 +1,64 @@
|
||||
# Installation
|
||||
Clone the repo and execute the `install.sh` script.<br/>
|
||||
Or use this command:
|
||||
# Dotfiles (chezmoi)
|
||||
|
||||
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 -c "$(curl -fsSL https://gitea.keuledrive.de/Keule2/Dotfiles/raw/branch/main/install.sh)"
|
||||
```
|
||||
Or this command to use arguments:
|
||||
```bash
|
||||
curl -fsSL "https://gitea.keuledrive.de/Keule2/Dotfiles/raw/branch/main/install.sh" | bash -s -- -e "system=server"
|
||||
# Arch
|
||||
sudo pacman -S git curl age jq chezmoi
|
||||
|
||||
# Ubuntu
|
||||
sudo apt-get install -y git curl age jq
|
||||
# chezmoi: see https://www.chezmoi.io/install/
|
||||
```
|
||||
|
||||
# Update
|
||||
Just execute the `install.sh` script again.
|
||||
### 2. Provision the age key
|
||||
|
||||
# Usage
|
||||
All additional parameters are passed to the ansible playbook. This means that you can skip tags or only execute desired tags.<br/>
|
||||
Example: Skip alacritty
|
||||
The age key needs to be placed at `~/.config/chezmoi/key`
|
||||
With following permissions
|
||||
```bash
|
||||
./install.sh --skip-tags alacritty
|
||||
```
|
||||
Example: Only execute alacritty and fish
|
||||
```bash
|
||||
./install.sh -t alacritty,fish
|
||||
chmod 600 ~/.config/chezmoi/key
|
||||
```
|
||||
|
||||
# Settings
|
||||
There are two ways to set settings/values.
|
||||
1. Create/Edit: `$HOME/.config/dotfiles/values.yml`
|
||||
2. Edit: `$HOME/.dotfiles/group_vars/all`
|
||||
### 3. Bootstrap
|
||||
|
||||
## Ansible Vault
|
||||
Vault password file: `$HOME/.config/dotfiles/vault-password.txt`
|
||||
```bash
|
||||
chezmoi init --apply git@gitea.keuledrive.de:Keule2/Dotfiles.git
|
||||
```
|
||||
|
||||
## Settings
|
||||
### 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/>
|
||||
Will ask:
|
||||
|
||||
# TODO
|
||||
- AGS: Bar, AppLauncher, PowerMenu, Notifications, Calculator, Emoji-Picker, ...
|
||||
- Ubuntu/Debian Support
|
||||
- ...
|
||||
- **Which system class is this machine?** — pick `server`, `desktop`, or `laptop`.
|
||||
- **EMAIL** — for git config.
|
||||
|
||||
## 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
|
||||
# Replace ls with eza
|
||||
alias ls='eza -al --color=always --group-directories-first' # preferred listing
|
||||
alias la='eza -a --color=always --group-directories-first' # all files and dirs
|
||||
alias ll='eza -l --color=always --group-directories-first' # long format
|
||||
alias lt='eza -aT --color=always --group-directories-first' # tree listing
|
||||
alias l.='eza -ald --color=always --group-directories-first .*' # show only dotfiles
|
||||
if [ -f /usr/bin/eza ]; then
|
||||
alias ls='eza -al --color=always --group-directories-first --icons=auto' # preferred listing
|
||||
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=auto' # long format
|
||||
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
|
||||
if [ -f /usr/bin/bat ]; then
|
||||
alias cat='bat --style header --style snip --style changes --style header'
|
||||
fi
|
||||
|
||||
# Replace yay with paru
|
||||
if [ -f /usr/bin/paru ]; then
|
||||
alias yay='paru'
|
||||
# Replace paru with yay
|
||||
if [ -f /usr/bin/yay ]; then
|
||||
alias paru='yay'
|
||||
fi
|
||||
|
||||
# Aliases
|
||||
@@ -56,12 +58,14 @@ alias rmpkg="sudo pacman -Rdd"
|
||||
alias tarnow='tar -acf '
|
||||
alias untar='tar -zxvf '
|
||||
alias wget='wget -c '
|
||||
|
||||
# Cleanup orphaned packages
|
||||
alias cleanup='sudo pacman -Rns `pacman -Qtdq`'
|
||||
|
||||
# Get the error messages from journalctl
|
||||
alias jctl="journalctl -p 3 -xb"
|
||||
|
||||
# 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
|
||||
|
||||
# Add ~/go/bin to PATH
|
||||
# Add ~/go to PATH
|
||||
if test -d ~/go/bin
|
||||
if not contains -- ~/go/bin $PATH
|
||||
set -p PATH ~/go/bin
|
||||
@@ -29,10 +29,6 @@ if test -d ~/go/bin
|
||||
end
|
||||
|
||||
## 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
|
||||
if type -q starship && status --is-interactive
|
||||
starship init fish | source
|
||||
@@ -141,11 +137,11 @@ end
|
||||
## Aliases
|
||||
# Replace ls with eza
|
||||
if type -q eza
|
||||
alias ls='eza -al --color=always --group-directories-first --icons' # preferred listing
|
||||
alias la='eza -a --color=always --group-directories-first --icons' # all files and dirs
|
||||
alias ll='eza -l --color=always --group-directories-first --icons' # long format
|
||||
alias lt='eza -aT --color=always --group-directories-first --icons' # tree listing
|
||||
alias l.='eza -ald --color=always --group-directories-first --icons .*' # show only dotfiles
|
||||
alias ls='eza -al --color=always --group-directories-first --icons=auto' # preferred listing
|
||||
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=auto' # long format
|
||||
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
|
||||
end
|
||||
|
||||
# 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
|
||||
[battery]
|
||||
charging_symbol = ""
|
||||
disabled = true
|
||||
{{ if eq .system "laptop" }}disabled = false
|
||||
{{ else }}disabled = true
|
||||
{{ end }}
|
||||
discharging_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");
|
||||