Compare commits
74
Commits
da6f073bdc
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
99517bbb6c | ||
|
|
1ac77c4045 | ||
|
|
61e0ab126f | ||
|
|
b6b079b8f0 | ||
|
|
f9b35addae | ||
|
|
8425ceb709 | ||
|
|
fa77bc2514 | ||
|
|
84e96f175c | ||
|
|
09c1e312cb | ||
|
|
b14133bbec | ||
|
|
3d1011e17c | ||
|
|
34e978e84c | ||
|
|
1e99a15f6c | ||
|
|
26a29b3182 | ||
|
|
75b1383edf | ||
|
|
d215693df4 | ||
|
|
6423eaa29d | ||
|
|
6f4c331dd4 | ||
|
|
37f4a0391f | ||
|
|
829b0de65e | ||
|
|
2c5365343e | ||
|
|
39c2dc2ac4 | ||
|
|
4c90a40ab5 | ||
|
|
c98d949ea7 | ||
|
|
dd964df37b | ||
|
|
55ca1573e5 | ||
|
|
a75a04c814 | ||
|
|
d37d12e5d8 | ||
|
|
e7729693df | ||
|
|
bed14dac95 | ||
|
|
1e02f21072 | ||
|
|
bf71fa6174 | ||
|
|
e78076944a | ||
|
|
34989c95ae | ||
|
|
4264022a87 | ||
|
|
2796c820d3 | ||
|
|
46d240e5cd | ||
|
|
435a761d22 | ||
|
|
6d5b84db51 | ||
|
|
592e4a838c | ||
|
|
19bc0e3212 | ||
|
|
1b0a6e6d42 | ||
|
|
467c2ebf07 | ||
|
|
cb026ebe5d | ||
|
|
fe5c70240e | ||
|
|
2cee5ce877 | ||
|
|
f62b2b1e4a | ||
|
|
8f2ece4fb7 | ||
|
|
5830509c0d | ||
|
|
6ff9cb4351 | ||
|
|
ea6ea60025 | ||
|
|
7d6f26a6d5 | ||
|
|
10a6a8862f | ||
|
|
76a0ab7891 | ||
|
|
82c4edd500 | ||
|
|
b046ddb942 | ||
|
|
678fb8eb63 | ||
|
|
d3cddc9414 | ||
|
|
560e978a34 | ||
|
|
47f0e4018f | ||
|
|
126a6333a7 | ||
|
|
c1f1cc13eb | ||
|
|
576e20682e | ||
|
|
356ad9d74b | ||
|
|
31465ed3f6 | ||
|
|
09e22050e5 | ||
|
|
1ca097ce6d | ||
|
|
a57e66e31f | ||
|
|
a943f7893e | ||
|
|
93f8712adf | ||
|
|
f2b980d1df | ||
|
|
dec5f076be | ||
|
|
05244511c2 | ||
|
|
aa85f4ff43 |
No files matched your search
@@ -1,29 +1,55 @@
|
|||||||
# My personal dotfiles
|
# Personal dotfiles
|
||||||
|
|
||||||
## Requirement
|
These are my config files for macOS and KDE, managed with GNU Stow. You need `stow` and `zsh` installed.
|
||||||
|
|
||||||
- **GNU** `stow`
|
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
1. clone this repo to your `$HOME` and switch to cloned dir:
|
```sh
|
||||||
|
git clone https://git.trivk.dev/tri/.dotfiles.git "$HOME/.dotfiles"
|
||||||
```
|
cd "$HOME/.dotfiles"
|
||||||
git -C $HOME clone https://github.com/vokhactri/.dotfiles.git && cd "$(basename "$_" .git)"
|
|
||||||
```
|
```
|
||||||
|
|
||||||
2. use `stow` to symlink configs to `$HOME/.config`:
|
The packages are split into three groups:
|
||||||
|
|
||||||
- to symlink all config dirs
|
- [common/](common/README.md) has Fastfetch, Git, Micro, mpv, npm, Starship and Zsh.
|
||||||
```
|
- [mac/](mac/README.md) has Ghostty.
|
||||||
stow */
|
- [kde/](kde/README.md) has the Darwin Breeze theme, Helium, Spectacle and tray icons.
|
||||||
```
|
|
||||||
- to symlink only one config dir, for example `zsh`
|
Install all of `common`, then the group for your platform:
|
||||||
```
|
|
||||||
stow zsh
|
```sh
|
||||||
|
(cd common && stow -t "$HOME" */)
|
||||||
|
(cd mac && stow -t "$HOME" */) # macOS
|
||||||
|
(cd kde && stow -t "$HOME" */) # KDE
|
||||||
```
|
```
|
||||||
|
|
||||||
## Credit
|
`*/` matches every package in the group. Each line runs in a subshell, so you stay in the repo root and can run them one after another. KDE needs a few more steps after this. They're in [`kde/README.md`](kde/README.md).
|
||||||
|
|
||||||
|
### Picking packages
|
||||||
|
|
||||||
|
You don't have to install everything. List only the packages you want:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
stow -d common -t "$HOME" git zsh starship
|
||||||
|
stow -d mac -t "$HOME" ghostty
|
||||||
|
stow -d kde -t "$HOME" spectacle
|
||||||
|
```
|
||||||
|
|
||||||
|
`-d` tells Stow which group to read from. `-t` puts the symlinks in your home directory. You can mix packages from different groups.
|
||||||
|
|
||||||
|
### Previewing and removing
|
||||||
|
|
||||||
|
`-n -v` prints what Stow would do and changes nothing. `-D` removes the symlinks. Pass the same `-d` and `-t` you used to install:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
stow -n -v -d kde -t "$HOME" spectacle
|
||||||
|
stow -D -d kde -t "$HOME" spectacle
|
||||||
|
```
|
||||||
|
|
||||||
|
Once the Zsh config is linked, run `exec zsh` to reload the shell.
|
||||||
|
|
||||||
|
## Credits
|
||||||
|
|
||||||
- [Machfiles](https://github.com/ChristianChiarulli/Machfiles/)
|
- [Machfiles](https://github.com/ChristianChiarulli/Machfiles/)
|
||||||
- [zsh_unplugged](https://github.com/mattmc3/zsh_unplugged)
|
- [zsh_unplugged](https://github.com/mattmc3/zsh_unplugged)
|
||||||
|
- [ayanrajpoot10/dotfiles](https://github.com/ayanrajpoot10/dotfiles)
|
||||||
@@ -1 +0,0 @@
|
|||||||
[]
|
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
{
|
|
||||||
"editor.acceptSuggestionOnEnter": "on",
|
|
||||||
"editor.accessibilitySupport": "off",
|
|
||||||
"editor.bracketPairColorization.enabled": true,
|
|
||||||
"editor.colorDecorators": true,
|
|
||||||
"editor.cursorBlinking": "smooth",
|
|
||||||
"editor.cursorSmoothCaretAnimation": "on",
|
|
||||||
"editor.fontFamily": "JetBrainsMono Nerd Font",
|
|
||||||
"editor.fontLigatures": true,
|
|
||||||
"editor.formatOnPaste": false,
|
|
||||||
"editor.formatOnSave": false,
|
|
||||||
"editor.formatOnType": false,
|
|
||||||
"editor.largeFileOptimizations": false,
|
|
||||||
"editor.linkedEditing": true,
|
|
||||||
"editor.quickSuggestions": {
|
|
||||||
"strings": true
|
|
||||||
},
|
|
||||||
"editor.rulers": [
|
|
||||||
80
|
|
||||||
],
|
|
||||||
"editor.semanticHighlighting.enabled": "configuredByTheme",
|
|
||||||
"editor.smoothScrolling": true,
|
|
||||||
"editor.suggestSelection": "first",
|
|
||||||
"editor.tabSize": 2,
|
|
||||||
"emmet.includeLanguages": {
|
|
||||||
"postcss": "css"
|
|
||||||
},
|
|
||||||
"eslint.format.enable": true,
|
|
||||||
"explorer.fileNesting.enabled": false,
|
|
||||||
"files.eol": "\n",
|
|
||||||
"files.exclude": {},
|
|
||||||
"files.simpleDialog.enable": true,
|
|
||||||
"files.trimTrailingWhitespace": true,
|
|
||||||
"json.maxItemsComputed": 100000,
|
|
||||||
"search.searchOnType": false,
|
|
||||||
"security.workspace.trust.untrustedFiles": "open",
|
|
||||||
"telemetry.telemetryLevel": "off",
|
|
||||||
"terminal.integrated.cursorStyle": "line",
|
|
||||||
"terminal.integrated.defaultProfile.linux": "zsh",
|
|
||||||
"terminal.integrated.defaultProfile.windows": "PowerShell Core",
|
|
||||||
"terminal.integrated.fontFamily": "JetBrainsMono Nerd Font",
|
|
||||||
"terminal.integrated.gpuAcceleration": "on",
|
|
||||||
"terminal.integrated.persistentSessionReviveProcess": "never",
|
|
||||||
"typescript.tsdk": "node_modules/typescript/lib",
|
|
||||||
"typescript.updateImportsOnFileMove.enabled": "always",
|
|
||||||
"vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
|
|
||||||
"window.autoDetectColorScheme": false,
|
|
||||||
"workbench.editor.preferHistoryBasedLanguageDetection": true,
|
|
||||||
"workbench.list.smoothScrolling": true,
|
|
||||||
"workbench.startupEditor": "none",
|
|
||||||
"git.autofetch": true,
|
|
||||||
"css.validate": false,
|
|
||||||
"diffEditor.ignoreTrimWhitespace": false,
|
|
||||||
"files.watcherExclude": {
|
|
||||||
// "**/public/**": true
|
|
||||||
},
|
|
||||||
"search.exclude": {
|
|
||||||
// "**/public": true
|
|
||||||
},
|
|
||||||
"editor.inlineSuggest.enabled": false,
|
|
||||||
"git.ignoreRebaseWarning": true,
|
|
||||||
"[vue]": {
|
|
||||||
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
|
|
||||||
},
|
|
||||||
"vue.complete.casing.props": "kebab",
|
|
||||||
"vue.complete.casing.tags": "kebab",
|
|
||||||
"vsicons.dontShowNewVersionMessage": true,
|
|
||||||
"[typescriptreact]": {
|
|
||||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
|
||||||
},
|
|
||||||
"[jsonc]": {
|
|
||||||
"editor.defaultFormatter": "vscode.json-language-features"
|
|
||||||
},
|
|
||||||
"[javascript]": {
|
|
||||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
|
||||||
},
|
|
||||||
"git.enableSmartCommit": true,
|
|
||||||
"syncSettings.resources": [
|
|
||||||
"extensions",
|
|
||||||
"keybindings",
|
|
||||||
"settings",
|
|
||||||
"snippets",
|
|
||||||
"uiState"
|
|
||||||
],
|
|
||||||
"workbench.iconTheme": "vscode-icons",
|
|
||||||
"editor.fontSize": 14
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
{
|
|
||||||
"extensionsGallery": {
|
|
||||||
"serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
|
|
||||||
"itemUrl": "https://marketplace.visualstudio.com/items",
|
|
||||||
"cacheUrl": "https://vscode.blob.core.windows.net/gallery/index",
|
|
||||||
"controlUrl": ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
# Common packages
|
||||||
|
|
||||||
|
Shared configuration for Fastfetch, Git, Micro, mpv, npm, Starship, and Zsh.
|
||||||
|
From the repository root, install all shared packages:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
(cd common && stow -t "$HOME" */)
|
||||||
|
```
|
||||||
|
|
||||||
|
Or choose individual packages:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
stow -d common -t "$HOME" git
|
||||||
|
stow -d common -t "$HOME" zsh starship
|
||||||
|
```
|
||||||
|
|
||||||
|
Choose any of `fastfetch`, `git`, `micro`, `mpv`, `npm`, `starship`, and `zsh`.
|
||||||
|
Reload Zsh with `exec zsh` after installing its configuration.
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
_Ga=T,f=100,t=d,c=20,r=10,q=2,m=1;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\_Gm=1;R+I1tGnTxpUIALupermOJgMSCAQCocgRAEVRUABcUMncKQEgIgA4GU8z+1WrBo888gjLdf/xh+gubA7cBZ8+fRpWr14No0ePhnvvvReSk5PB39/Wc1902jOKAUwTNG7QRosKsLbBpaSkUJs2mDOYVT14e/tqEYBOnTq5JACkCMByagdMIBAIBGciAJUA4KQrPQAEgV26dIl1vhs5ciScPXvWlOiR8LBMEC9vRH67du2CMWPGsEhBpUqVDJEBb53BMDAgFOJjmrESvNIkBPAxMUqRmdqDmR/Fc8YIiIsmQFEFME/u6UAgEAgEQmEFQAAAbBcc7UoVgBFI9GI0rkgVOFpGcWC8P4wQfPvtt3DrrbeyUjpblYEneEkTBNE8iBP7cGCPo7bCxSsAsFPgEDZSWK4EePrpp7Vj5GQKQEwFnCJXdBAIBAKBUJROgD+rZHK1qGkAYx8AmfTlv9/obo3lhEIUCEEg49ChQ/DOO+9Aw4YN7aIC4jqO7MWIAEsNqK16izsaICYJ4uMnJbbWPccvvvjCFQGgSAObvlD7AFAjIAKBQCAUeQ7A2yqZFLkRkBmRuzDtzu6+xKWZGMDfz5o1Czp27OhQCGBqIKVhtq65UHFGAjD6gJEIjErIfRHmzp1rNyypaIdGa9r0P2oFTCAQCARnBUBHlUxEHwBrGNwiGKMM8nhhARy927NnT10PAjk1gB0Ic1v3ZYa84hIBokSxS/5QqFa5jvZc/Pz8YNu2ba6UAcqNgIaRACAQCASCsymA8gBw3NVhQMUBo3fAGBVYv3498wnIZYTCeY8dB9EkKEcC3C0AhA8gJChce05YLnn58mXt9ThxDGQB0E54AOjjTyAQCARLine truncated
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 138 KiB |
@@ -0,0 +1,80 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/master/doc/json_schema.json",
|
||||||
|
"display": {
|
||||||
|
"key": {
|
||||||
|
"width": 10
|
||||||
|
},
|
||||||
|
"size": {
|
||||||
|
"binaryPrefix": "jedec"
|
||||||
|
},
|
||||||
|
"separator": ""
|
||||||
|
},
|
||||||
|
"logo": {
|
||||||
|
"type": "raw",
|
||||||
|
"source": "~/.config/fastfetch/albedo.kitty",
|
||||||
|
"width": 20,
|
||||||
|
"height": 10
|
||||||
|
},
|
||||||
|
"modules": [
|
||||||
|
"break",
|
||||||
|
{
|
||||||
|
"type": "os",
|
||||||
|
"key": "os",
|
||||||
|
"keyColor": "yellow",
|
||||||
|
"format": "{name}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "kernel",
|
||||||
|
"key": "ker",
|
||||||
|
"keyColor": "green"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "packages",
|
||||||
|
"key": "pkgs",
|
||||||
|
"keyColor": "cyan"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "shell",
|
||||||
|
"key": "sh",
|
||||||
|
"keyColor": "blue",
|
||||||
|
"format": "{pretty-name}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "wm",
|
||||||
|
"key": "wm",
|
||||||
|
"keyColor": "red",
|
||||||
|
"format": "{pretty-name}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "uptime",
|
||||||
|
"key": "up",
|
||||||
|
"keyColor": "green"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "cpu",
|
||||||
|
"key": "cpu",
|
||||||
|
"keyColor": "red",
|
||||||
|
"format": "{name}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "memory",
|
||||||
|
"key": "ram",
|
||||||
|
"keyColor": "yellow",
|
||||||
|
"format": "{used} / {total}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "disk",
|
||||||
|
"key": "disk",
|
||||||
|
"keyColor": "cyan",
|
||||||
|
"folders": [
|
||||||
|
"/"
|
||||||
|
],
|
||||||
|
"format": "{size-used} / {size-total}"
|
||||||
|
},
|
||||||
|
"break",
|
||||||
|
{
|
||||||
|
"type": "custom",
|
||||||
|
"format": "\u001b[33m \u001b[32m \u001b[34m \u001b[31m \u001b[36m \u001b[35m \u001b[37m \u001b[97m"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
^/README.*
|
||||||
|
^/build\.py
|
||||||
|
__pycache__
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# Fastfetch
|
||||||
|
|
||||||
|
```sh
|
||||||
|
stow -d common -t "$HOME" fastfetch
|
||||||
|
```
|
||||||
|
|
||||||
|
The logo is `albedo.png`, sent inline through the kitty graphics protocol from
|
||||||
|
the pre-encoded `albedo.kitty`. This works in Ghostty and Kwi. The
|
||||||
|
`kitty-direct` logo type is not used because Kwi ignores images passed as a
|
||||||
|
file path.
|
||||||
|
|
||||||
|
After changing `albedo.png` or the logo size in `config.jsonc`, regenerate the
|
||||||
|
logo from the repository root:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
python3 common/fastfetch/build.py
|
||||||
|
```
|
||||||
Executable
+33
@@ -0,0 +1,33 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
"""Encode albedo.png as kitty graphics escapes for fastfetch's "raw" logo.
|
||||||
|
|
||||||
|
fastfetch's "kitty-direct" logo sends the terminal a file path (t=f), which
|
||||||
|
Kwi ignores. This file carries the PNG inline (t=d) instead, so it works in
|
||||||
|
any terminal with the kitty graphics protocol, Ghostty and Kwi included. q=2
|
||||||
|
keeps the terminal from answering. Rerun after changing the image or the
|
||||||
|
logo size.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import base64
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
DIR = Path(__file__).resolve().parent / ".config/fastfetch"
|
||||||
|
# Logo size in cells; keep in sync with "width" and "height" in config.jsonc.
|
||||||
|
COLS, ROWS = 20, 10
|
||||||
|
|
||||||
|
|
||||||
|
def encode(png: bytes) -> bytes:
|
||||||
|
data = base64.b64encode(png)
|
||||||
|
chunks = [data[i : i + 4096] for i in range(0, len(data), 4096)]
|
||||||
|
out = bytearray()
|
||||||
|
for n, chunk in enumerate(chunks):
|
||||||
|
more = int(n < len(chunks) - 1)
|
||||||
|
if n == 0:
|
||||||
|
keys = b"a=T,f=100,t=d,c=%d,r=%d,q=2,m=%d" % (COLS, ROWS, more)
|
||||||
|
else:
|
||||||
|
keys = b"m=%d" % more
|
||||||
|
out += b"\x1b_G" + keys + b";" + chunk + b"\x1b\\"
|
||||||
|
return bytes(out)
|
||||||
|
|
||||||
|
|
||||||
|
(DIR / "albedo.kitty").write_bytes(encode((DIR / "albedo.png").read_bytes()))
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
[init]
|
||||||
|
defaultBranch = main
|
||||||
|
|
||||||
|
[user]
|
||||||
|
name = Tri Vo Khac
|
||||||
|
email = git@trivk.dev
|
||||||
|
|
||||||
|
[core]
|
||||||
|
compression = 9
|
||||||
|
whitespace = error
|
||||||
|
preloadindex = true
|
||||||
|
|
||||||
|
[advice]
|
||||||
|
addEmptyPathspec = false
|
||||||
|
pushNonFastForward = false
|
||||||
|
statusHints = false
|
||||||
|
|
||||||
|
[push]
|
||||||
|
autoSetupRemote = true
|
||||||
|
|
||||||
|
[url "git@github.com:"]
|
||||||
|
insteadOf = "gh:"
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
**/.claude/settings.local.json
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,2 @@
|
|||||||
|
min-release-age=1 ; 1 day for npm
|
||||||
|
minimum-release-age=1440 ; 1 day in minutes for pnpm
|
||||||
+44
-1
@@ -10,9 +10,18 @@ symbol = " "
|
|||||||
[buf]
|
[buf]
|
||||||
symbol = " "
|
symbol = " "
|
||||||
|
|
||||||
|
[bun]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
[c]
|
[c]
|
||||||
symbol = " "
|
symbol = " "
|
||||||
|
|
||||||
|
[cpp]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[cmake]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
[conda]
|
[conda]
|
||||||
symbol = " "
|
symbol = " "
|
||||||
|
|
||||||
@@ -22,6 +31,9 @@ symbol = " "
|
|||||||
[dart]
|
[dart]
|
||||||
symbol = " "
|
symbol = " "
|
||||||
|
|
||||||
|
[deno]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
[directory]
|
[directory]
|
||||||
read_only = " "
|
read_only = " "
|
||||||
|
|
||||||
@@ -37,15 +49,27 @@ symbol = " "
|
|||||||
[fennel]
|
[fennel]
|
||||||
symbol = " "
|
symbol = " "
|
||||||
|
|
||||||
|
[fortran]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
[fossil_branch]
|
[fossil_branch]
|
||||||
symbol = " "
|
symbol = " "
|
||||||
|
|
||||||
|
[gcloud]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
[git_branch]
|
[git_branch]
|
||||||
symbol = " "
|
symbol = " "
|
||||||
|
|
||||||
|
[git_commit]
|
||||||
|
tag_symbol = ' '
|
||||||
|
|
||||||
[golang]
|
[golang]
|
||||||
symbol = " "
|
symbol = " "
|
||||||
|
|
||||||
|
[gradle]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
[guix_shell]
|
[guix_shell]
|
||||||
symbol = " "
|
symbol = " "
|
||||||
|
|
||||||
@@ -94,13 +118,17 @@ symbol = " "
|
|||||||
[os.symbols]
|
[os.symbols]
|
||||||
Alpaquita = " "
|
Alpaquita = " "
|
||||||
Alpine = " "
|
Alpine = " "
|
||||||
|
AlmaLinux = " "
|
||||||
Amazon = " "
|
Amazon = " "
|
||||||
Android = " "
|
Android = " "
|
||||||
|
AOSC = " "
|
||||||
Arch = " "
|
Arch = " "
|
||||||
Artix = " "
|
Artix = " "
|
||||||
|
CachyOS = " "
|
||||||
CentOS = " "
|
CentOS = " "
|
||||||
Debian = " "
|
Debian = " "
|
||||||
DragonFly = " "
|
DragonFly = " "
|
||||||
|
Elementary = " "
|
||||||
Emscripten = " "
|
Emscripten = " "
|
||||||
EndeavourOS = " "
|
EndeavourOS = " "
|
||||||
Fedora = " "
|
Fedora = " "
|
||||||
@@ -109,6 +137,8 @@ Garuda = " "
|
|||||||
Gentoo = " "
|
Gentoo = " "
|
||||||
HardenedBSD = " "
|
HardenedBSD = " "
|
||||||
Illumos = " "
|
Illumos = " "
|
||||||
|
Ios = " "
|
||||||
|
Kali = " "
|
||||||
Linux = " "
|
Linux = " "
|
||||||
Mabox = " "
|
Mabox = " "
|
||||||
Macos = " "
|
Macos = " "
|
||||||
@@ -118,6 +148,7 @@ MidnightBSD = " "
|
|||||||
Mint = " "
|
Mint = " "
|
||||||
NetBSD = " "
|
NetBSD = " "
|
||||||
NixOS = " "
|
NixOS = " "
|
||||||
|
Nobara = " "
|
||||||
OpenBSD = " "
|
OpenBSD = " "
|
||||||
openSUSE = " "
|
openSUSE = " "
|
||||||
OracleLinux = " "
|
OracleLinux = " "
|
||||||
@@ -125,12 +156,15 @@ Pop = " "
|
|||||||
Raspbian = " "
|
Raspbian = " "
|
||||||
Redhat = " "
|
Redhat = " "
|
||||||
RedHatEnterprise = " "
|
RedHatEnterprise = " "
|
||||||
|
RockyLinux = " "
|
||||||
Redox = " "
|
Redox = " "
|
||||||
Solus = " "
|
Solus = " "
|
||||||
SUSE = " "
|
SUSE = " "
|
||||||
Ubuntu = " "
|
Ubuntu = " "
|
||||||
Unknown = " "
|
Unknown = " "
|
||||||
|
Void = " "
|
||||||
Windows = " "
|
Windows = " "
|
||||||
|
Zorin = " "
|
||||||
|
|
||||||
[package]
|
[package]
|
||||||
symbol = " "
|
symbol = " "
|
||||||
@@ -144,6 +178,9 @@ symbol = " "
|
|||||||
[pijul_channel]
|
[pijul_channel]
|
||||||
symbol = " "
|
symbol = " "
|
||||||
|
|
||||||
|
[pixi]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
[python]
|
[python]
|
||||||
symbol = " "
|
symbol = " "
|
||||||
|
|
||||||
@@ -154,13 +191,19 @@ symbol = " "
|
|||||||
symbol = " "
|
symbol = " "
|
||||||
|
|
||||||
[rust]
|
[rust]
|
||||||
symbol = " "
|
symbol = " "
|
||||||
|
|
||||||
[scala]
|
[scala]
|
||||||
symbol = " "
|
symbol = " "
|
||||||
|
|
||||||
|
[status]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
[swift]
|
[swift]
|
||||||
symbol = " "
|
symbol = " "
|
||||||
|
|
||||||
|
[xmake]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
[zig]
|
[zig]
|
||||||
symbol = " "
|
symbol = " "
|
||||||
@@ -2,3 +2,4 @@
|
|||||||
.zsh_history
|
.zsh_history
|
||||||
.zcompcache/
|
.zcompcache/
|
||||||
.zsh_sessions/
|
.zsh_sessions/
|
||||||
|
config/secrets.zsh
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
# install zinit
|
||||||
|
if ! source "$ZDOTDIR/zinit.zsh"; then
|
||||||
|
print -u2 "zinit: failed to initialize; skipping plugin configuration"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
zinit light zdharma-continuum/zinit-annex-bin-gem-node
|
||||||
|
zinit light zdharma-continuum/zinit-annex-binary-symlink
|
||||||
|
|
||||||
|
zinit wait lucid light-mode id-as depth'1' for \
|
||||||
|
wintermi/zsh-brew \
|
||||||
|
hlissner/zsh-autopair \
|
||||||
|
Aloxaf/fzf-tab \
|
||||||
|
atinit'zicompinit; zicdreplay -q' \
|
||||||
|
zdharma-continuum/fast-syntax-highlighting \
|
||||||
|
atload'_zsh_autosuggest_start' \
|
||||||
|
zsh-users/zsh-autosuggestions
|
||||||
|
|
||||||
|
zinit id-as from'gh-r' lbin'!' completions for \
|
||||||
|
lsd-rs/lsd \
|
||||||
|
micro-editor/micro \
|
||||||
|
mv'**/bat.zsh -> _bat' \
|
||||||
|
@sharkdp/bat
|
||||||
|
|
||||||
|
zinit for \
|
||||||
|
id-as \
|
||||||
|
as'completion' \
|
||||||
|
from'gh-r' \
|
||||||
|
mv'**/_fastfetch -> _fastfetch' \
|
||||||
|
atpull'%atclone' \
|
||||||
|
lbin'!**bin/fastfetch -> fastfetch' \
|
||||||
|
@fastfetch-cli/fastfetch
|
||||||
|
|
||||||
|
zinit for \
|
||||||
|
id-as \
|
||||||
|
from'gh-r' \
|
||||||
|
atclone'./zoxide init zsh > init.zsh' \
|
||||||
|
atpull'%atclone' \
|
||||||
|
lbin'!' \
|
||||||
|
@ajeetdsouza/zoxide
|
||||||
|
|
||||||
|
zinit for \
|
||||||
|
id-as \
|
||||||
|
from'gh-r' \
|
||||||
|
atclone'
|
||||||
|
VP_SELF_SETUP_NO_MODIFY_PATH=1 ./vp env setup --refresh > /dev/null; \
|
||||||
|
./vp env on > /dev/null; \
|
||||||
|
VP_COMPLETE=zsh "$XDG_DATA_HOME/vite-plus/bin/vp" > init.zsh;
|
||||||
|
' \
|
||||||
|
atpull'%atclone' \
|
||||||
|
atload'source "$XDG_CONFIG_HOME/vite-plus/env"' \
|
||||||
|
@voidzero-dev/vite-plus
|
||||||
|
|
||||||
|
zinit for \
|
||||||
|
id-as \
|
||||||
|
from'gh-r' \
|
||||||
|
atclone'
|
||||||
|
./starship init zsh > init.zsh; \
|
||||||
|
./starship completions zsh > _starship;
|
||||||
|
' \
|
||||||
|
atpull'%atclone' \
|
||||||
|
sbin'starship' \
|
||||||
|
@starship/starship
|
||||||
|
|
||||||
|
zinit for \
|
||||||
|
id-as \
|
||||||
|
from'gh-r' \
|
||||||
|
atclone'./fzf --zsh > init.zsh' \
|
||||||
|
atpull'%atclone' \
|
||||||
|
lbin'!fzf' \
|
||||||
|
@junegunn/fzf
|
||||||
|
|
||||||
|
for script in $ZDOTDIR/config/*.zsh; do
|
||||||
|
source "$script"
|
||||||
|
done
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
#!/usr/bin/env zsh
|
||||||
|
|
||||||
|
# Modern alternatives to traditional commands
|
||||||
|
alias cat='bat'
|
||||||
|
alias ls='lsd -A'
|
||||||
|
alias la='lsd -lA'
|
||||||
|
alias tree='lsd --tree'
|
||||||
|
alias nano='micro'
|
||||||
|
alias fetch='fastfetch'
|
||||||
|
|
||||||
|
# Global alias
|
||||||
|
alias \-g -- --help="--help | bat -plhelp"
|
||||||
|
|
||||||
|
docker() {
|
||||||
|
if command -v podman >/dev/null 2>&1; then
|
||||||
|
podman "$@"
|
||||||
|
else
|
||||||
|
command docker "$@"
|
||||||
|
fi
|
||||||
|
}
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
#!/usr/bin/env zsh
|
||||||
|
|
||||||
|
local brew_prefix="${HOMEBREW_PREFIX:-}"
|
||||||
|
# `brew --prefix` costs ~12 ms because it runs Ruby. Check the standard
|
||||||
|
# Apple Silicon location first, then fall back for anything else.
|
||||||
|
if [[ -z "$brew_prefix" ]]; then
|
||||||
|
[[ -x /opt/homebrew/bin/brew ]] && brew_prefix=/opt/homebrew
|
||||||
|
fi
|
||||||
|
if [[ -z "$brew_prefix" ]] && command -v brew >/dev/null 2>&1; then
|
||||||
|
brew_prefix="$(brew --prefix 2>/dev/null)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -n "$brew_prefix" ]]; then
|
||||||
|
gnu_tools=(
|
||||||
|
"coreutils"
|
||||||
|
"findutils"
|
||||||
|
"gnu-tar"
|
||||||
|
"gnu-sed"
|
||||||
|
"gawk"
|
||||||
|
"gnu-indent"
|
||||||
|
"grep"
|
||||||
|
)
|
||||||
|
|
||||||
|
if [[ -n "$XDG_BIN_HOME" ]] && mkdir -p "$XDG_BIN_HOME"; then
|
||||||
|
for tool in $gnu_tools; do
|
||||||
|
gnubin="$brew_prefix/opt/$tool/libexec/gnubin"
|
||||||
|
if [[ -d "$gnubin" ]]; then
|
||||||
|
for bin in "$gnubin"/*(N); do
|
||||||
|
target="$XDG_BIN_HOME/${bin:t}"
|
||||||
|
[[ "$target" -ef "$bin" ]] || ln -sf "$bin" "$target"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
local bin_paths=(
|
||||||
|
"$XDG_BIN_HOME"
|
||||||
|
"${brew_prefix:+$brew_prefix/opt/gnu-getopt/bin}"
|
||||||
|
)
|
||||||
|
for bin_path in "${bin_paths[@]}"; do
|
||||||
|
if [[ -d "$bin_path" ]]; then
|
||||||
|
case ":$PATH:" in
|
||||||
|
*":$bin_path:"*) ;;
|
||||||
|
*) path=("$bin_path" $path) ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
done
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
#!/usr/bin/env zsh
|
||||||
|
|
||||||
|
export MANWIDTH=999
|
||||||
|
|
||||||
|
export EDITOR="micro"
|
||||||
|
export PAGER="bat"
|
||||||
|
export VISUAL="micro"
|
||||||
|
export SUDO_EDITOR="micro"
|
||||||
|
|
||||||
|
export STARSHIP_CONFIG="$XDG_CONFIG_HOME"/starship/starship.toml
|
||||||
|
export HOMEBREW_NO_UPGRADE_AUTO_UPDATES_CASKS=1
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
#!/usr/bin/env zsh
|
||||||
|
|
||||||
|
# NetBird is installed from the official signed .pkg, not Homebrew: the brew
|
||||||
|
# cask removed the launchd plist in uninstall_preflight and then ran the app's
|
||||||
|
# installer.sh against the missing service, leaving the daemon crash-looping.
|
||||||
|
# The pkg's preinstall aborts if the brew formula is present, so keep it out.
|
||||||
|
nbup() {
|
||||||
|
local pkg tmp
|
||||||
|
tmp="$(mktemp -d)" || return 1
|
||||||
|
pkg="$tmp/netbird.pkg"
|
||||||
|
|
||||||
|
print "netbird: downloading arm64 pkg"
|
||||||
|
curl -fL --progress-bar -o "$pkg" "https://pkgs.netbird.io/macos/arm64" || { rm -rf "${tmp:?}"; return 1; }
|
||||||
|
|
||||||
|
if ! pkgutil --check-signature "$pkg" | grep -q "NetBird GmbH"; then
|
||||||
|
print -u2 "netbird: unexpected pkg signature, refusing to install"
|
||||||
|
rm -rf "${tmp:?}"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
sudo installer -pkg "$pkg" -target / || { rm -rf "${tmp:?}"; return 1; }
|
||||||
|
rm -rf "${tmp:?}"
|
||||||
|
|
||||||
|
local i
|
||||||
|
for i in {1..30}; do
|
||||||
|
[[ -S /var/run/netbird.sock ]] && break
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
/usr/local/bin/netbird status 2>/dev/null |
|
||||||
|
grep -E '^(Daemon version|CLI version|Management|Signal|NetBird IP):'
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
#!/usr/bin/env zsh
|
||||||
|
|
||||||
|
unsetopt BEEP
|
||||||
|
setopt AUTO_CD
|
||||||
|
setopt GLOB_DOTS
|
||||||
|
setopt NOMATCH
|
||||||
|
setopt MENU_COMPLETE
|
||||||
|
setopt EXTENDED_GLOB
|
||||||
|
setopt INTERACTIVE_COMMENTS
|
||||||
|
setopt APPEND_HISTORY
|
||||||
|
setopt PUSHD_IGNORE_DUPS
|
||||||
|
|
||||||
|
setopt BANG_HIST # Treat the '!' character specially during expansion.
|
||||||
|
setopt EXTENDED_HISTORY # Write the history file in the ":start:elapsed;command" format.
|
||||||
|
setopt INC_APPEND_HISTORY # Write to the history file immediately, not when the shell exits.
|
||||||
|
setopt SHARE_HISTORY # Share history between all sessions.
|
||||||
|
setopt HIST_EXPIRE_DUPS_FIRST # Expire duplicate entries first when trimming history.
|
||||||
|
setopt HIST_IGNORE_DUPS # Don't record an entry that was just recorded again.
|
||||||
|
setopt HIST_IGNORE_ALL_DUPS # Delete old recorded entry if new entry is a duplicate.
|
||||||
|
setopt HIST_FIND_NO_DUPS # Do not display a line previously found.
|
||||||
|
setopt HIST_IGNORE_SPACE # Don't record an entry starting with a space.
|
||||||
|
setopt HIST_SAVE_NO_DUPS # Don't write duplicate entries in the history file.
|
||||||
|
setopt HIST_REDUCE_BLANKS # Remove superfluous blanks before recording entry.
|
||||||
|
setopt HIST_VERIFY # Don't execute immediately upon history expansion.
|
||||||
|
|
||||||
|
HISTFILE="${ZDOTDIR:-$HOME}/.zsh_history"
|
||||||
|
HISTSIZE=5000000
|
||||||
|
SAVEHIST=5000000
|
||||||
|
|
||||||
|
zstyle ':fzf-tab:complete:cd:*' fzf-preview 'lsd -1 --color=always --icon=always $realpath'
|
||||||
|
|
||||||
|
# Starship counts every entry in jobstates, including completed jobs that zsh
|
||||||
|
# hasn't reaped yet. Run jobs before Starship's precmd hook so parallel Zinit
|
||||||
|
# updates don't leave a stale job badge in the prompt.
|
||||||
|
autoload -Uz add-zsh-hook
|
||||||
|
|
||||||
|
_zinit_reap_done_jobs() {
|
||||||
|
jobs -p >/dev/null 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
|
add-zsh-hook -d precmd _zinit_reap_done_jobs 2>/dev/null || true
|
||||||
|
precmd_functions=( _zinit_reap_done_jobs ${precmd_functions:#_zinit_reap_done_jobs} )
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
#!/usr/bin/env zsh
|
||||||
|
|
||||||
|
ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git"
|
||||||
|
if [[ ! -d "$ZINIT_HOME/.git" ]]; then
|
||||||
|
mkdir -p "$(dirname "$ZINIT_HOME")" || return 1
|
||||||
|
git clone --depth 1 https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME" || return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -r "$ZINIT_HOME/zinit.zsh" ]]; then
|
||||||
|
print -u2 "zinit: bootstrap is incomplete at $ZINIT_HOME"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# not to use aliases: zi or zini
|
||||||
|
typeset -A ZINIT
|
||||||
|
ZINIT[NO_ALIASES]=1
|
||||||
|
ZINIT[LIST_COMMAND]='lsd --tree'
|
||||||
|
|
||||||
|
source "${ZINIT_HOME}/zinit.zsh"
|
||||||
Whitespace-only changes.
@@ -0,0 +1,10 @@
|
|||||||
|
export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
|
||||||
|
export XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}"
|
||||||
|
export XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}"
|
||||||
|
export XDG_STATE_HOME="${XDG_STATE_HOME:-$HOME/.local/state}"
|
||||||
|
|
||||||
|
XDG_BIN_HOME="${XDG_BIN_HOME:-$HOME/.local/bin}"
|
||||||
|
ZDOTDIR="$XDG_CONFIG_HOME/zsh"
|
||||||
|
|
||||||
|
# Per-machine settings that stay out of the repo, like PATH entries for a VPS.
|
||||||
|
[ -r "$XDG_CONFIG_HOME/zshenv.local" ] && . "$XDG_CONFIG_HOME/zshenv.local"
|
||||||
@@ -1,323 +0,0 @@
|
|||||||
# Fastfetch configuration
|
|
||||||
# Write every argument in different lines.
|
|
||||||
# Direct arguments will overwrite the corresponding ones in this file.
|
|
||||||
# Argument keys are not case sensitive.
|
|
||||||
# Whitespaces are trimmed at the beginning and the end.
|
|
||||||
# Empty lines or lines starting with # are ignored.
|
|
||||||
|
|
||||||
# This file was shipped with 1.7.2.
|
|
||||||
# Use fastfetch --print-config-user > ~/.config/fastfetch/config.conf to overwrite this file with the current defaults
|
|
||||||
|
|
||||||
# Below some often usefull options are listed. Uncomment and modify them so they take affect.
|
|
||||||
# Note that there are a lot more options than the ones listed here, take a look at "fastfetch --help".
|
|
||||||
# Of course all of them can be made persistent here too.
|
|
||||||
|
|
||||||
# Config option:
|
|
||||||
# Load additional config files.
|
|
||||||
# Some are shipped with fastfetch, list them with "fastfetch --list-presets".
|
|
||||||
# Must be a path to a config file or the name of a shipped preset.
|
|
||||||
# The config file is completly loaded before continuing in the current file, so the placement of this option matters, as later options overwrite already set ones.
|
|
||||||
# Can be used multiple times to load multiple config files / presets.
|
|
||||||
#--load-config /path/to/config.txt
|
|
||||||
|
|
||||||
# Structure option:
|
|
||||||
# Sets the modules to use and their order.
|
|
||||||
# Must be a list of module names, separated by colons.
|
|
||||||
# List available modules with "fastfetch --list-modules".
|
|
||||||
# Get the default structure with "fastfetch --print-structure".
|
|
||||||
#--structure Title:Separator:OS:Host:Kernel:Uptime:Packages:Shell:Resolution:DE:WM:WMTheme:Theme:Icons:Font:Cursor:Terminal:TerminalFont:CPU:GPU:Memory:Disk:Battery:Locale:Break:Colors
|
|
||||||
|
|
||||||
# Multithreading option:
|
|
||||||
# Sets if fastfetch should use multiple threads to detect the values.
|
|
||||||
# Must be true or false.
|
|
||||||
# Default is true.
|
|
||||||
#--multithreading true
|
|
||||||
|
|
||||||
# Slow operations option:
|
|
||||||
# Sets if fastfetch is allowed to use known slow operations to detect more / better values.
|
|
||||||
# Must be true or false.
|
|
||||||
# Default is false.
|
|
||||||
#--allow-slow-operations false
|
|
||||||
|
|
||||||
# Linewrap option:
|
|
||||||
# Sets if fastfetch should disable linewrap during the run.
|
|
||||||
# Must be true or false.
|
|
||||||
# Default is true.
|
|
||||||
#--disable-linewrap true
|
|
||||||
|
|
||||||
# Cursor option:
|
|
||||||
# Sets if fastfetch should hide the console cursor during the run.
|
|
||||||
# Must be true or false.
|
|
||||||
# Default is true.
|
|
||||||
#--hide-cursor true
|
|
||||||
|
|
||||||
# Logo option:
|
|
||||||
# Sets the logo to use.
|
|
||||||
# List available logos with "fastfetch --list-logos".
|
|
||||||
# Print available logos with "fastfetch --print-logos".
|
|
||||||
# Must be the name of an available logo or a path to a text file containing a custom logo.
|
|
||||||
# Default is the current distribution.
|
|
||||||
#--logo arch
|
|
||||||
|
|
||||||
# Logo type option:
|
|
||||||
# Sets the logo type to use.
|
|
||||||
# Must be auto, builtin, file, raw, sixel, kitty or chafa.
|
|
||||||
# Default is auto.
|
|
||||||
#--logo-type auto
|
|
||||||
|
|
||||||
# Logo width option:
|
|
||||||
# Sets the width of the logo (in characters) if the logo is an image.
|
|
||||||
# Must be a positive integer.
|
|
||||||
# Default is 65.
|
|
||||||
#--logo-width 65
|
|
||||||
|
|
||||||
# Logo height option:
|
|
||||||
# Sets the height of the logo (in characters) if the logo is an image.
|
|
||||||
# Must be a positive integer.
|
|
||||||
# Default is 0 (keeps aspect ration).
|
|
||||||
#--logo-height 0
|
|
||||||
|
|
||||||
# Logo color options:
|
|
||||||
# Overwrite a color in the logo. Also works for user provided logos.
|
|
||||||
# In the user logo, they replace $[1-9]. Use $$ to print a single $ sign.
|
|
||||||
# Must be linux console color codes or the name of a color.
|
|
||||||
# Default is the one specified by the logo.
|
|
||||||
# Use "fastfetch --help color" to learn more and see examples.
|
|
||||||
# Valid index range is [1-9].
|
|
||||||
#--logo-color-1 red
|
|
||||||
#--logo-color-2 32
|
|
||||||
# [...]
|
|
||||||
#--logo-color-9 yellow
|
|
||||||
|
|
||||||
# Logo padding option:
|
|
||||||
# Adds a padding to the left and the right side of the logo.
|
|
||||||
# Must be a positive integer.
|
|
||||||
# Default is 0.
|
|
||||||
#--logo-padding 0
|
|
||||||
|
|
||||||
# Logo padding left option:
|
|
||||||
# Adds a padding to the left side of the logo.
|
|
||||||
# Must be a positive integer.
|
|
||||||
# Default is 0.
|
|
||||||
#--logo-padding-left 0
|
|
||||||
|
|
||||||
# Logo padding right option:
|
|
||||||
# Adds a padding to the right side of the logo.
|
|
||||||
# Must be a positive integer.
|
|
||||||
# Default is 0.
|
|
||||||
#--logo-padding-right 0
|
|
||||||
|
|
||||||
# Logo print remaining option:
|
|
||||||
# Sets if the remaining logo should be printed, it is has more lines than modules to show.
|
|
||||||
# Must be true or false.
|
|
||||||
# Default is true.
|
|
||||||
#--logo-print-remaining true
|
|
||||||
|
|
||||||
# Color keys option:
|
|
||||||
# Sets the color of the keys.
|
|
||||||
# Must be linux console color codes or the name of a color.
|
|
||||||
# Default is the key color of the logo.
|
|
||||||
# Use "fastfetch --help color" to learn more and see examples.
|
|
||||||
#--color-keys magenta
|
|
||||||
|
|
||||||
# Color title option:
|
|
||||||
# Sets the color of the title.
|
|
||||||
# Must be linux console color codes or the name of a color.
|
|
||||||
# Default is the title color of the logo.
|
|
||||||
# Use "fastfetch --help color" to learn more and see examples.
|
|
||||||
#--color-title magenta
|
|
||||||
|
|
||||||
# Binary prefix option:
|
|
||||||
# Sets the binary prefix to use.
|
|
||||||
# Must be a IEC, SI or JEDEC.
|
|
||||||
# Default is IEC.
|
|
||||||
#--binary-prefix IEC
|
|
||||||
|
|
||||||
# Title FQDN option:
|
|
||||||
# Sets if the title should use the fully qualified domain name.
|
|
||||||
# Must be true or false.
|
|
||||||
# Default is false.
|
|
||||||
#--title-fqdn false
|
|
||||||
|
|
||||||
# Separator option:
|
|
||||||
# Sets the string placed between a key and its value.
|
|
||||||
# Can be any string.
|
|
||||||
# Default is ": ".
|
|
||||||
#--separator ": "
|
|
||||||
|
|
||||||
# Separator string option:
|
|
||||||
# Sets the string printed by the "separator" module (usually between title and rest of output)
|
|
||||||
# Must be any string. It is repated / cut to fit perfectly.
|
|
||||||
# Default is "-"
|
|
||||||
#--separator-string -
|
|
||||||
|
|
||||||
# Public IP timeout option:
|
|
||||||
# Sets the time to wait for the public ip server to respond.
|
|
||||||
# Must be a positive integer.
|
|
||||||
# Default is 0 (disabled).
|
|
||||||
#--public-ip-timeout 0
|
|
||||||
|
|
||||||
# OS file option
|
|
||||||
# Sets the path to the file containing the operating system information.
|
|
||||||
# Should be a valid path to an existing file.
|
|
||||||
# Note that you might need to run fastfetch with --recache once for it to take affect.
|
|
||||||
# Default is /etc/os-release.
|
|
||||||
#--os-file /etc/os-release
|
|
||||||
|
|
||||||
# Player name option
|
|
||||||
# Sets the name of the player. This is also used in song detection
|
|
||||||
# Must be the exact name of the player or a dbus address (e.g. org.mpris.MediaPlayer2.spotify)
|
|
||||||
# Default is the first match starting with org.mpris.MediaPlayer2.
|
|
||||||
#--player-name spotify
|
|
||||||
|
|
||||||
# Escape bedrock option
|
|
||||||
# Sets if fastfetch should escape the bedrock jail, if it detectes that it is running in one
|
|
||||||
# Must be true or false.
|
|
||||||
# Default is true.
|
|
||||||
#--escape-bedrock true
|
|
||||||
|
|
||||||
# GL option
|
|
||||||
# Sets with opengl context creation library to use
|
|
||||||
# Must be either auto, egl, glx or osmesa
|
|
||||||
# Default is auto.
|
|
||||||
#--gl auto
|
|
||||||
|
|
||||||
# Key options:
|
|
||||||
# Sets the displayed key of a module
|
|
||||||
# Can be any string. Some of theme take an argument like a format string. See "fastfetch --help format" for help.
|
|
||||||
#--os-key OS
|
|
||||||
#--host-key Host
|
|
||||||
#--kernel-key Kernel
|
|
||||||
#--uptime-key Uptime
|
|
||||||
#--processes-key Processes
|
|
||||||
#--packages-key Packages
|
|
||||||
#--shell-key Shell
|
|
||||||
#--resolution-key Resolution {1}
|
|
||||||
#--de-key DE
|
|
||||||
#--wm-key WM
|
|
||||||
#--wm-theme-key WM Theme
|
|
||||||
#--theme-key Theme
|
|
||||||
#--icons-key Icons
|
|
||||||
#--font-key Font
|
|
||||||
#--cursor-key Cursor
|
|
||||||
#--terminal-key Terminal
|
|
||||||
#--terminal-font-key Terminal Font
|
|
||||||
#--cpu-key CPU
|
|
||||||
#--cpu-usage-key CPU Usage
|
|
||||||
#--gpu-key GPU {1}
|
|
||||||
#--memory-key Memory
|
|
||||||
#--swap-key Swap
|
|
||||||
#--disk-key Disk ({1})
|
|
||||||
#--battery-key Battery {1}
|
|
||||||
#--locale-key Locale
|
|
||||||
#--local-ip-key Local IP ({1})
|
|
||||||
#--public-ip-key Public IP
|
|
||||||
#--player-key Media Player
|
|
||||||
#--song-key Song
|
|
||||||
#--datetime-key Date Time
|
|
||||||
#--vulkan-key Vulkan
|
|
||||||
#--opengl-key OpenGL
|
|
||||||
#--opencl-key OpenCL
|
|
||||||
|
|
||||||
# Format options:
|
|
||||||
# Sets the format string for module values.
|
|
||||||
# For information on format strings, see "fastfetch --help format".
|
|
||||||
# To see the parameter they take and their default value, see "fastfetch --help *-format", e.g. "fastfetch --help os-format".
|
|
||||||
# An empty format string (As they are currently below) will behave as if it was not set.
|
|
||||||
#--os-format
|
|
||||||
#--host-format
|
|
||||||
#--kernel-format
|
|
||||||
#--uptime-format
|
|
||||||
#--processes-format
|
|
||||||
#--packages-format
|
|
||||||
#--shell-format
|
|
||||||
#--resolution-format
|
|
||||||
#--de-format
|
|
||||||
#--wm-format
|
|
||||||
#--wm-theme-format
|
|
||||||
#--theme-format
|
|
||||||
#--icons-format
|
|
||||||
#--font-format
|
|
||||||
#--cursor-format
|
|
||||||
#--terminal-format
|
|
||||||
#--terminal-font-format
|
|
||||||
#--cpu-format
|
|
||||||
#--cpu-usage-format
|
|
||||||
#--gpu-format
|
|
||||||
#--memory-format
|
|
||||||
#--swap-format
|
|
||||||
#--disk-format
|
|
||||||
#--battery-format
|
|
||||||
#--locale-format
|
|
||||||
#--local-ip-format
|
|
||||||
#--public-ip-format
|
|
||||||
#--player-format
|
|
||||||
#--song-format
|
|
||||||
#--datetime-format
|
|
||||||
#--vulkan-format
|
|
||||||
#--opengl-format
|
|
||||||
#--opencl-format
|
|
||||||
|
|
||||||
# Error options:
|
|
||||||
# Sets the format string to use if an error occured
|
|
||||||
# For information on format strings, see "fastfetch --help format".
|
|
||||||
# Each of them take the error as first and only argument.
|
|
||||||
# If one of them is set, the module will appear, even if --show-errors is not given.
|
|
||||||
#--os-error
|
|
||||||
#--host-error
|
|
||||||
#--kernel-error
|
|
||||||
#--uptime-error
|
|
||||||
#--processes-error
|
|
||||||
#--packages-error
|
|
||||||
#--shell-error
|
|
||||||
#--resolution-error
|
|
||||||
#--de-error
|
|
||||||
#--wm-error
|
|
||||||
#--wm-theme-error
|
|
||||||
#--theme-error
|
|
||||||
#--icons-error
|
|
||||||
#--font-error
|
|
||||||
#--cursor-error
|
|
||||||
#--terminal-error
|
|
||||||
#--terminal-font-error
|
|
||||||
#--cpu-error
|
|
||||||
#--cpu-usage-error
|
|
||||||
#--gpu-error
|
|
||||||
#--memory-error
|
|
||||||
#--swap-error
|
|
||||||
#--disk-error
|
|
||||||
#--battery-error
|
|
||||||
#--locale-error
|
|
||||||
#--local-ip-error
|
|
||||||
#--public-ip-error
|
|
||||||
#--player-error
|
|
||||||
#--song-error
|
|
||||||
#--datetime-error
|
|
||||||
#--vulkan-error
|
|
||||||
#--opengl-error
|
|
||||||
#--opencl-error
|
|
||||||
|
|
||||||
# Library options:
|
|
||||||
# Sets an user specific path to a library to load.
|
|
||||||
# Must be a valid path to a library.
|
|
||||||
#--lib-PCI /usr/lib/libpci.so
|
|
||||||
#--lib-vulkan /usr/lib/libvulkan.so
|
|
||||||
#--lib-wayland /usr/lib/libwayland-client.so
|
|
||||||
#--lib-xcb-randr /usr/lib/libxcb-randr.so
|
|
||||||
#--lib-xcb /usr/lib/libxcb.so
|
|
||||||
#--lib-Xrandr /usr/lib/libXrandr.so
|
|
||||||
#--lib-X11 /usr/lib/libX11.so
|
|
||||||
#--lib-gio /usr/lib/libgio-2.0.so
|
|
||||||
#--lib-DConf /usr/lib/libdconf.so
|
|
||||||
#--lib-DBus /usr/lib/libdbus-1.so
|
|
||||||
#--lib-XFConf /usr/lib/libxfconf-0.so
|
|
||||||
#--lib-sqlite3 /usr/lib/libsqlite3.so
|
|
||||||
#--lib-rpm /usr/lib/librpm.so
|
|
||||||
#--lib-imagemagick /usr/lib/libMagickCore-7.Q16HDRI.so
|
|
||||||
#--lib-z /usr/lib/libz.so
|
|
||||||
#--lib-chafa /usr/lib/libchafa.so
|
|
||||||
#--lib-egl /usr/lib/libEGL.so
|
|
||||||
#--lib-glx /usr/lib/libGLX.so
|
|
||||||
#--lib-osmesa /usr/lib/libOSMesa.so
|
|
||||||
#--lib-opencl /usr/lib/libOpenCL.so
|
|
||||||
| |||||||