initial commit
This commit is contained in:
parent
abb2282343
commit
ac88efbb9b
7
.obsidian/app.json
vendored
Normal file
7
.obsidian/app.json
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"newLinkFormat": "shortest",
|
||||
"useMarkdownLinks": true,
|
||||
"showUnsupportedFiles": true,
|
||||
"attachmentFolderPath": "./",
|
||||
"promptDelete": false
|
||||
}
|
8
.obsidian/appearance.json
vendored
Normal file
8
.obsidian/appearance.json
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"accentColor": "",
|
||||
"cssTheme": "Ukiyo",
|
||||
"textFontFamily": "",
|
||||
"theme": "moonstone",
|
||||
"monospaceFontFamily": "Hack",
|
||||
"baseFontSize": 20
|
||||
}
|
30
.obsidian/core-plugins-migration.json
vendored
Normal file
30
.obsidian/core-plugins-migration.json
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
{
|
||||
"file-explorer": true,
|
||||
"global-search": true,
|
||||
"switcher": true,
|
||||
"graph": true,
|
||||
"backlink": true,
|
||||
"canvas": true,
|
||||
"outgoing-link": true,
|
||||
"tag-pane": true,
|
||||
"properties": false,
|
||||
"page-preview": true,
|
||||
"daily-notes": false,
|
||||
"templates": true,
|
||||
"note-composer": true,
|
||||
"command-palette": true,
|
||||
"slash-command": false,
|
||||
"editor-status": true,
|
||||
"bookmarks": true,
|
||||
"markdown-importer": false,
|
||||
"zk-prefixer": false,
|
||||
"random-note": false,
|
||||
"outline": true,
|
||||
"word-count": true,
|
||||
"slides": false,
|
||||
"audio-recorder": false,
|
||||
"workspaces": false,
|
||||
"file-recovery": true,
|
||||
"publish": false,
|
||||
"sync": false
|
||||
}
|
30
.obsidian/core-plugins.json
vendored
Normal file
30
.obsidian/core-plugins.json
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
{
|
||||
"file-explorer": true,
|
||||
"global-search": true,
|
||||
"switcher": true,
|
||||
"graph": true,
|
||||
"backlink": true,
|
||||
"canvas": true,
|
||||
"outgoing-link": true,
|
||||
"tag-pane": true,
|
||||
"properties": false,
|
||||
"page-preview": true,
|
||||
"daily-notes": false,
|
||||
"templates": true,
|
||||
"note-composer": true,
|
||||
"command-palette": true,
|
||||
"slash-command": false,
|
||||
"editor-status": true,
|
||||
"bookmarks": true,
|
||||
"markdown-importer": false,
|
||||
"zk-prefixer": false,
|
||||
"random-note": false,
|
||||
"outline": true,
|
||||
"word-count": true,
|
||||
"slides": false,
|
||||
"audio-recorder": false,
|
||||
"workspaces": false,
|
||||
"file-recovery": true,
|
||||
"publish": false,
|
||||
"sync": false
|
||||
}
|
3
.obsidian/daily-notes.json
vendored
Normal file
3
.obsidian/daily-notes.json
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"autorun": true
|
||||
}
|
22
.obsidian/graph.json
vendored
Normal file
22
.obsidian/graph.json
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
"collapse-filter": true,
|
||||
"search": "",
|
||||
"showTags": false,
|
||||
"showAttachments": false,
|
||||
"hideUnresolved": false,
|
||||
"showOrphans": true,
|
||||
"collapse-color-groups": true,
|
||||
"colorGroups": [],
|
||||
"collapse-display": true,
|
||||
"showArrow": false,
|
||||
"textFadeMultiplier": 0,
|
||||
"nodeSizeMultiplier": 1,
|
||||
"lineSizeMultiplier": 1,
|
||||
"collapse-forces": true,
|
||||
"centerStrength": 0.518713248970312,
|
||||
"repelStrength": 10,
|
||||
"linkStrength": 1,
|
||||
"linkDistance": 250,
|
||||
"scale": 1,
|
||||
"close": true
|
||||
}
|
7
.obsidian/themes/Ukiyo/manifest.json
vendored
Normal file
7
.obsidian/themes/Ukiyo/manifest.json
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"name": "Ukiyo",
|
||||
"version": "2.3.2",
|
||||
"minAppVersion": "1.0.0",
|
||||
"author": "kinmury",
|
||||
"authorURI": "https://github.com/kinmury/obsidian-ukiyo"
|
||||
}
|
478
.obsidian/themes/Ukiyo/theme.css
vendored
Normal file
478
.obsidian/themes/Ukiyo/theme.css
vendored
Normal file
File diff suppressed because one or more lines are too long
199
.obsidian/workspace.json
vendored
Normal file
199
.obsidian/workspace.json
vendored
Normal file
@ -0,0 +1,199 @@
|
||||
{
|
||||
"main": {
|
||||
"id": "3b1350090083c35b",
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "c070334a11181ae1",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "8b669fe838f51401",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "Reasons why I use Obsidian.md",
|
||||
"mode": "source",
|
||||
"source": false
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "Reasons why I use Obsidian"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "vertical"
|
||||
},
|
||||
"left": {
|
||||
"id": "2f948c89e91b2b1f",
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "737a9832bd3544c6",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "11dccb20e4fc4f35",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "file-explorer",
|
||||
"state": {
|
||||
"sortOrder": "alphabetical"
|
||||
},
|
||||
"icon": "lucide-folder-closed",
|
||||
"title": "Files"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "0e049eebf730bc4b",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "search",
|
||||
"state": {
|
||||
"query": "tag:#warning",
|
||||
"matchingCase": false,
|
||||
"explainSearch": false,
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical"
|
||||
},
|
||||
"icon": "lucide-search",
|
||||
"title": "Search"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "38e455407c61bdb2",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "bookmarks",
|
||||
"state": {},
|
||||
"icon": "lucide-bookmark",
|
||||
"title": "Bookmarks"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "horizontal",
|
||||
"width": 287.5
|
||||
},
|
||||
"right": {
|
||||
"id": "0bfa8326f85831ec",
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "4bfd5b1a8c7ba56d",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "c25b13aa53abe4d3",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "backlink",
|
||||
"state": {
|
||||
"file": "Beehive.md",
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical",
|
||||
"showSearch": false,
|
||||
"searchQuery": "",
|
||||
"backlinkCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
},
|
||||
"icon": "links-coming-in",
|
||||
"title": "Backlinks for Beehive"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "154673b615c4160f",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "outgoing-link",
|
||||
"state": {
|
||||
"file": "Beehive.md",
|
||||
"linksCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
},
|
||||
"icon": "links-going-out",
|
||||
"title": "Outgoing links from Beehive"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "e8bb84fe228c7dbf",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "tag",
|
||||
"state": {
|
||||
"sortOrder": "frequency",
|
||||
"useHierarchy": true
|
||||
},
|
||||
"icon": "lucide-tags",
|
||||
"title": "Tags"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "d7c450af99edeb10",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "outline",
|
||||
"state": {
|
||||
"file": "Beehive.md"
|
||||
},
|
||||
"icon": "lucide-list",
|
||||
"title": "Outline of Beehive"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "horizontal",
|
||||
"width": 300,
|
||||
"collapsed": true
|
||||
},
|
||||
"left-ribbon": {
|
||||
"hiddenItems": {
|
||||
"switcher:Open quick switcher": false,
|
||||
"graph:Open graph view": false,
|
||||
"canvas:Create new canvas": false,
|
||||
"templates:Insert template": false,
|
||||
"command-palette:Open command palette": false
|
||||
}
|
||||
},
|
||||
"active": "8b669fe838f51401",
|
||||
"lastOpenFiles": [
|
||||
"Framework.md",
|
||||
"Beehive.md",
|
||||
"Speech synthesis.md",
|
||||
"Updating.md",
|
||||
"Satan.md",
|
||||
"Reasons why I use Obsidian.md",
|
||||
"Knowledge Base/labwc.md",
|
||||
"Knowledge Base",
|
||||
"Hentai.md",
|
||||
"Lutz.md",
|
||||
"FHTW/KOKO/2024-09-25.md",
|
||||
"FHTW/KOKO",
|
||||
"FHTW/MACS/2024-09-23.md",
|
||||
"FHTW/Technical English/2024-09-24.md",
|
||||
"FHTW/Technical English",
|
||||
"FHTW/MACS",
|
||||
"FHTW",
|
||||
"Technical English.md",
|
||||
"NVS.md",
|
||||
"The funny.md",
|
||||
"Bee.md",
|
||||
"Untitled 1",
|
||||
"Personal/Major systematic changes to Hentai.md",
|
||||
"Personal/Beehive.md",
|
||||
"Personal/Updating.md",
|
||||
"Inhaltsverzeichnis.md",
|
||||
"Datei upload.md",
|
||||
"Schnittstellen.md",
|
||||
"XML vs JSON.md",
|
||||
"Probleme.md",
|
||||
"Chunking.md",
|
||||
"Personal"
|
||||
]
|
||||
}
|
69
Beehive.md
Normal file
69
Beehive.md
Normal file
@ -0,0 +1,69 @@
|
||||
#note Serial Number (SN) taken from output of `ls /dev/disk/by_id`
|
||||
Drive Positions inside Case (Top to Bottom)
|
||||
1. SN: ZDHA12Q8
|
||||
2. SN: ZDHAQ59P
|
||||
3. SN: ZHZ61CYE (only in for backups)
|
||||
4. SN: ZR144EQN
|
||||
|
||||
## Backup Strategy
|
||||
- weekly [incremental backups](https://xai.sh/2018/08/27/zfs-incremental-backups.html) send to hsmr
|
||||
- I should consider automatically creating daily snapshots
|
||||
|
||||
## Systemd
|
||||
- enabled
|
||||
- sshd.service
|
||||
- nfs-server.service
|
||||
- fstrim.timer
|
||||
- paccache.timer
|
||||
- docker.service
|
||||
- zfs-scrub@data.timer
|
||||
- zfs-mount.service
|
||||
|
||||
## etc
|
||||
- `/etc/ssh/sshd_config`
|
||||
- PasswordAuthentication: no
|
||||
- PubkeyAuthentication: yes
|
||||
- `/etc/pacman.conf`: added `NetworkManager` to `HoldPkg`. `NetworkManager` is needed for internet.
|
||||
|
||||
## ZFS
|
||||
https://wiki.archlinux.org/title/ZFS#Scrubbing
|
||||
#important I need to at least monthly scrub hsmr manually
|
||||
### zpools
|
||||
- data
|
||||
- SN: ZDHA12Q8
|
||||
- SN: ZDHAQ59P
|
||||
- SN: ZR144EQN
|
||||
- hsmr
|
||||
- SN: ZHZ61CYE
|
||||
|
||||
### common commands
|
||||
Generally, you use the zpool command if you wanna work with pools and you use the zfs command if you wanna work with datasets. There are some exceptions to this.
|
||||
|
||||
To get a list of all importable pools.
|
||||
```bash
|
||||
zpool import
|
||||
```
|
||||
You can either import all or a specific pool. To export, you just replace import with export.
|
||||
```bash
|
||||
zpool import [-a|<poolname>]
|
||||
```
|
||||
If the pool wasn't auto-mounted, then you can use this. To unmount, you just need to replace mount with unmount.
|
||||
```bash
|
||||
zfs mount [-a|<poolname>]
|
||||
```
|
||||
To get a list of all datasets
|
||||
```bash
|
||||
zfs list
|
||||
```
|
||||
To get a list of all snapshots
|
||||
```bash
|
||||
zfs list -t snaphots
|
||||
```
|
||||
To create a recursive snapshot. A recursive snapshot means to also create a snapshot of all child datasets. #todo complete date command
|
||||
```bash
|
||||
zfs snapshot -r data@$(date +'%Y-%m-%dT%H:%M:%S')
|
||||
```
|
||||
To send a recursive snapshot to another zfs pool
|
||||
```bash
|
||||
zfs send -RI data@<some older date> data@<some newer date> | zfs send -Fu hsmr/data
|
||||
```
|
1
Framework.md
Normal file
1
Framework.md
Normal file
@ -0,0 +1 @@
|
||||
I am currently in the process of a fresh re-install
|
14
Knowledge Base/labwc.md
Normal file
14
Knowledge Base/labwc.md
Normal file
@ -0,0 +1,14 @@
|
||||
## Description
|
||||
[Labwc](https://labwc.github.io/) is a [[wlroots]]-based [[stacking compositor]] for [[wayland]]. It is very similar to [[openbox]]. Labwc uses the openbox 3.6 specification for the configuration files.
|
||||
|
||||
## Configs and Themes
|
||||
### Locations
|
||||
- configs => `XDG_CONFIG_HOME/labwc`
|
||||
- [rc.xml](https://github.com/labwc/labwc/blob/master/docs/rc.xml.all)
|
||||
- [menu.xml](https://github.com/labwc/labwc/blob/master/docs/menu.xml)
|
||||
- [autostart](https://github.com/labwc/labwc/blob/master/docs/autostart)
|
||||
- [shutdown](https://github.com/labwc/labwc/blob/master/docs/shutdown)
|
||||
- [environment](https://github.com/labwc/labwc/blob/master/docs/environment)
|
||||
- [themerc-override](https://github.com/labwc/labwc/blob/master/docs/themerc)
|
||||
- themes => `XDG_DATA_{DIRS,HOME}/themes/<theme-name>/openbox-3/`
|
||||
|
1
Reasons why I use Obsidian.md
Normal file
1
Reasons why I use Obsidian.md
Normal file
@ -0,0 +1 @@
|
||||
I want to use Obsidian for documentation purposes and to write down everything I know. I mostly document things like my NAS, PC, Laptop and random projects. For now I haven't really written down any of my knowledge about IT, Linux or any other field.
|
105
Satan.md
Normal file
105
Satan.md
Normal file
@ -0,0 +1,105 @@
|
||||
## Systemd
|
||||
- enabled:
|
||||
- fstrim.timer
|
||||
- paccache.timer
|
||||
- --user syncthing.service
|
||||
- systemd-networkd
|
||||
- disabled:
|
||||
- none
|
||||
- shadowed:
|
||||
- none
|
||||
|
||||
## Firefox
|
||||
To enable hardware acceleration, VA-API is needed. For my AMD GPU, I installed `libva-mesa-driver`. [Reference](https://wiki.archlinux.org/title/Hardware_video_acceleration)
|
||||
Then in Firefox you type 'about:config' into the search bar. This should open a configuration menu with a search bar at the top. I set `media.ffmpeg.vaapi.enabled` to true. [Reference](https://wiki.archlinux.org/title/Firefox#Hardware_video_acceleration)
|
||||
|
||||
## System settings
|
||||
- Input & Output
|
||||
- Mouse & Touchpad
|
||||
- Screen Edges
|
||||
- Corner and Edge barrier: disabled
|
||||
- Sound
|
||||
- Line Out (Headset): Analog Stereo Output
|
||||
- Navi 21/23 HDMI/DP Audio Controller (Monitor): Off
|
||||
- Digital Input (Mic): Digital Stereo (IEC958) Input
|
||||
- Accessibility
|
||||
- Shake Cursor: disabled
|
||||
- Apps & Windows
|
||||
- Default Applications
|
||||
- PDF viewer: Firefox Web Browser
|
||||
- Window Management
|
||||
- Desktop Effects
|
||||
- Sheet: enabled
|
||||
- Translucency: enabled
|
||||
- Dim Screen for Administrator Mode: enabled
|
||||
- Virtual Desktop Switching Animation: Fade Desktop
|
||||
- Window Open/Close Animation: Fade
|
||||
- Workspace
|
||||
- Search
|
||||
- File Indexing: disabled (delete prompt after disabling)
|
||||
- Security & Privacy
|
||||
- Recent Files: disabled and cleared history
|
||||
- System
|
||||
- Power Management
|
||||
- After a period of inactivity: Do nothing
|
||||
- Change screen brightness: 1%
|
||||
- Dim automatically: Never
|
||||
- Turn of screen: Never
|
||||
|
||||
## Desktop
|
||||
- Taskbar
|
||||
- Panel height: 34
|
||||
- Visibility: dodge windows
|
||||
- Digital Clock
|
||||
- Show seconds: Always
|
||||
- Date format: ISO date
|
||||
- Widgets
|
||||
- Fuzzy Clock to Left Monitor at the top left
|
||||
|
||||
## GPG Key
|
||||
You first generate the key by using the following command.
|
||||
```bash
|
||||
gpg --full-generate-key
|
||||
```
|
||||
After this step you need to figure out your id.
|
||||
```bash
|
||||
gpg --list-secret-keys --keyid-format=long
|
||||
```
|
||||
The necessary key is the part after the / in the sec part.
|
||||
```bash
|
||||
gpg --armor --export <id>
|
||||
```
|
||||
Then I followed the instructions in Gitea for the rest. For the verification part, I needed to use a fix because it errors out. The fix can be found in the `etc` section.
|
||||
|
||||
## Git
|
||||
```bash
|
||||
git config --global user.name AustrianToast
|
||||
git config --global user.email "austriantoast@hopeless-cloud.xyz"
|
||||
git config --global user.signingkey 1B4D0AAF6E558816
|
||||
git config --global commit.gpgsign true
|
||||
```
|
||||
I used ksshaskpass as a credentials helper. The necessary config lives at `~/.config/environment.d/git_askpass.conf`. Now my git credentials are stored in Kwallet.
|
||||
To store and use the gpg passphrase in kwallet, I needed to tell gpg that I wanted to use a specific program for the gpg-agent. [Reference](https://wiki.archlinux.org/title/GnuPG#pinentry)
|
||||
`~/.gnupg/gpg-agent.conf`
|
||||
```
|
||||
pinentry-program /usr/bin/pinentry-qt
|
||||
```
|
||||
But because of random KDE bullshit, I needed to modify a specific environment variable. I set `PINENTRY_KDE_USE_WALLET` to **any** non-empty value and I mean this quite literally.
|
||||
|
||||
## ZSH
|
||||
For fancy ZSH, I mostly followed [this guide](https://bookstack.hopeless-cloud.xyz/books/zsh/page/setup). The only change is that I didn't go for powerlevel10k, because it is now only community maintained and I wanted to try something different. So I went with starship instead. Useful links:
|
||||
- https://starship.rs/presets/nerd-font
|
||||
- https://starship.rs/presets/bracketed-segments
|
||||
|
||||
## Random
|
||||
I added myself to the following groups.
|
||||
- docker: So I don't need to use sudo for docker
|
||||
- uucp: Needed so I can upload programs to my esp32 inside Arduino IDE
|
||||
```bash
|
||||
sudo usermod -aG docker uucp <username>
|
||||
```
|
||||
|
||||
## Yakuake
|
||||
I added transparency to yakuake by doing the following: [Reference](https://www.reddit.com/r/kde/comments/7zy11k/transparent_yakuake)
|
||||
Right-click the shell -> "modify current Profile" -> Appearance -> "Edit" button at the right -> Background transparency slider -> 20%.
|
||||
I also the width to 80% and set the height to 50%. I also hid the borders.
|
16
Speech synthesis.md
Normal file
16
Speech synthesis.md
Normal file
@ -0,0 +1,16 @@
|
||||
## Goal
|
||||
The goal is to write a text to speech program, where all sounds are purely created through mathematical equations, in order to create my own true 100% machine speech synthesis.
|
||||
|
||||
## Planning
|
||||
### Language
|
||||
The language is one of the most important aspects of this program and as such needs to be carefully chosen. The possible languages from which I wanted to choose from where German, English or Japanese.
|
||||
In order to help me which of those three languages I should choose, I came up with these requirements.
|
||||
- Small alphabet in order to minimise the amount of code required
|
||||
- Individual letters stitched into words together require no further processing in order to be understandable
|
||||
- The words need to be understandable even without proper or any emphasising at all
|
||||
I speak German and English fluently and they have a relatively small alphabet. In the end, I chose Japanese, because it may have a way bigger alphabet, but at least it is consistent in the way different combinations of letters create words.
|
||||
|
||||
### Programming Language
|
||||
There are a many options, but to help narrow it down, I came up with these requirements.
|
||||
- functional programming (pure functions)
|
||||
- compiles to ELF
|
Loading…
x
Reference in New Issue
Block a user