docs: rewrite README and update installation guide

- Rewrite README with index, repo structure tree and contents breakdown
- Fix stow command: use `stow -d stow_me/ -t ~ .` with explicit flags
- Rewrite installation.md with cleaner index and back-to-index links
- Add bash syntax highlighting to all code blocks
- Fix heading hierarchy: Install packages promoted to top-level section
- Break Flatpak install into one package per line
- Add claudeCode.preferredLocation to VSCodium settings
This commit is contained in:
2026-05-22 17:23:53 +02:00
parent 9c5d01e242
commit a147ff681e
3 changed files with 217 additions and 88 deletions
+127 -15
View File
@@ -1,21 +1,133 @@
## Installation (stow on Linux)
# .dotfiles
Assuming the repository is already present locally (e.g., at ~/.dotfiles):
- `git clone https://codeberg.org/GlennIgen/.dotfiles.git`
Personal dotfiles for Fedora KDE, managed with GNU Stow.
## Index
1. [Repo structure](#repo-structure)
2. [Installation](#installation)
- [Clone & stow](#clone--stow)
- [Set fish as login shell](#set-fish-as-login-shell)
3. [What's included](#whats-included)
- [Fish shell](#fish-shell)
- [Kitty terminal](#kitty-terminal)
- [PipeWire](#pipewire)
- [VSCodium](#vscodium)
- [OBS Studio](#obs-studio)
- [Scripts](#scripts)
4. [Fedora KDE setup guide](#fedora-kde-setup-guide)
---
## Repo structure
1. From the repo root, run:
```
.dotfiles/
├── stow_me/ ← GNU Stow package (symlinked to ~)
│ ├── .config/
│ │ ├── fish/ ← Fish shell config, functions & completions
│ │ ├── kitty/ ← Kitty terminal config (Catppuccin Macchiato)
│ │ ├── pipewire/ ← PipeWire audio (sinks loopback)
│ │ └── VSCodium/ ← VSCodium user settings
│ ├── obs-settings/ ← OBS Studio profile & scene settings
│ └── scripts/ ← Shell scripts (app_close_and_restart, shutdown)
└── fedora/
└── kde/
├── installation.md ← Full Fedora KDE setup guide
└── kde_shortcuts/ ← KDE keyboard shortcut exports (1Password)
```
---
## Installation
### Clone & stow
```fish
git clone https://git.itedb.dk/glennigen/.dotfiles.git ~/.dotfiles
cd ~/.dotfiles
stow .
```
- Running `stow .` from the repo root is sufficient; no `--target` is needed.
- Preview changes with `stow -n .` before applying.
2. Optional — set fish as your login shell:
```
chsh -s "$(which fish)" "$USER"
stow -d stow_me/ -t ~ .
```
Notes:
- Resolve any file conflicts before running `stow` (move or remove existing files).
- This repository is private; manage updates using your preferred method.
- `-d stow_me/` sets the stow directory, `-t ~` sets the target — nothing outside `stow_me/` is touched.
- Preview changes first with `stow -n -d stow_me/ -t ~ .`.
- Resolve any conflicting files before running stow (move or delete them).
### Set fish as login shell
```fish
chsh -s (which fish) $USER
```
---
## What's included
### Fish shell
`stow_me/.config/fish/`
| File/Dir | Purpose |
|---|---|
| `config.fish` | Runs `fastfetch` on interactive sessions |
| `fish_variables` | Fish universal variables |
| `conf.d/fish_frozen_key_bindings.fish` | Key binding overrides |
| `conf.d/fish_frozen_theme.fish` | Theme config |
| `completions/jotta-cli.fish` | Tab completions for jotta-cli |
**Functions:**
| Function | Description |
|---|---|
| `ll` | `lsd -Alh --group-dirs first` |
| `sll` | `sudo lsd -Alh --group-dirs first` |
| `dup` | `sudo dnf upgrade` |
| `sudo!!` | Re-run last command with sudo |
| `zup` | `sudo zypper ref && sudo zypper dup` (openSUSE) |
### Kitty terminal
`stow_me/.config/kitty/`
- `kitty.conf` — main config
- `Catppuccin-Macchiato.conf` — color theme
- `current-theme.conf` — active theme symlink/include
### PipeWire
`stow_me/.config/pipewire/pipewire.conf.d/sinks-loopback.conf`
Custom loopback sink configuration.
### VSCodium
`stow_me/.config/VSCodium/User/settings.json`
User settings for VSCodium.
### OBS Studio
`stow_me/obs-settings/`
OBS settings are split into two directories that mirror OBS's config layout:
- `Profile-files/GlennIgen/` — encoder and recording settings
- `Settings-files/` — global settings, scenes, plugin configs (websocket, rtmp-services, plugin manager)
### Scripts
`stow_me/scripts/`
| Script | Description |
|---|---|
| `app_close_and_restart.sh` | Close an app and restart it |
| `app_close_and_shutdown.sh` | Close an app and shut down the system |
---
## Fedora KDE setup guide
Full installation guide for a fresh Fedora KDE system:
[fedora/kde/installation.md](fedora/kde/installation.md)
Covers: RPM Fusion, multimedia codecs, package installation (DNF + Flatpak), Jottacloud, VSCodium, 1Password, and KDE shortcuts.
+88 -72
View File
@@ -1,60 +1,36 @@
# Installations for new Fedora KDE instance
Setup guide for a fresh Fedora KDE install. Follow sections in order.
## Index
1. [RPM Fusion Tweaks](#rpm-fusion-tweaks)
1. [Configurations](#configurations)
2. [Multimedia](#multimedia)
1. [Intel (Recent CPU)](#intel-recent-cpu)
3. [DVD stuff](#dvd-stuff)
4. [Firmware stuff](#firmware-stuff)
- [Configurations](#configurations)
- [Multimedia](#multimedia)
- [DVD stuff](#dvd-stuff)
- [Firmware stuff](#firmware-stuff)
2. [Packages](#packages)
1. [Import keys & repos](#import-keys--repos)
1. [1Password](#1password)
2. [Jottacloud](#jottacloud)
3. [VSCodium](#vscodium)
4. [Cider](#cider)
2. [Install packages](#install-packages)
1. [DNF](#dnf)
2. [Flatpak](#flatpak)
3. [Configs](#configs)
1. [Jottacloud](#jottacloud-1)
2. [Firefox about:config](#firefox-aboutconfig)
- [Import keys & repos](#import-keys--repos)
- [Install packages](#install-packages)
- [Configs](#configs)
3. [System Settings](#system-settings)
- [NetworkManager & systemd-resolved](#fix-common-issues-with-networkmanager--systemd-resolved)
1. [NetworkManager & systemd-resolved](#fix-common-issues-with-networkmanager--systemd-resolved)
4. [KDE Shortcuts](#kde-shortcuts)
---
## RPM Fusion Tweaks
[Index](#index)
> [RPM Fusion (External)](https://rpmfusion.org/)\
> [RPM Fusion Configurations (External)](https://rpmfusion.org/Configuration)
> [RPM Fusion](https://rpmfusion.org/) — [Configuration guide](https://rpmfusion.org/Configuration)
### Configurations
```
Enable RPM Fusion repos and update core:
```bash
sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
sudo dnf config-manager setopt fedora-cisco-openh264.enabled=1
sudo dnf update @core
@@ -62,37 +38,45 @@ sudo dnf install rpmfusion-\*-appstream-data
```
### Multimedia
> [RPM Fusion Multimedia (External)](https://rpmfusion.org/Howto/Multimedia)
```
> [RPM Fusion Multimedia guide](https://rpmfusion.org/Howto/Multimedia)
```bash
sudo dnf swap ffmpeg-free ffmpeg --allowerasing
sudo dnf update @multimedia --setopt="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin
```
#### Intel (Recent CPU)
```
```bash
sudo dnf install intel-media-driver
```
### DVD stuff
```
```bash
sudo dnf install rpmfusion-free-release-tainted
sudo dnf install libdvdcss
```
### Firmware stuff
```
```bash
sudo dnf install rpmfusion-nonfree-release-tainted
sudo dnf --repo=rpmfusion-nonfree-tainted install "*-firmware"
```
## Packages
[Index](#index)
[↑ Index](#index)
---
## Packages
### Import keys & repos
#### 1Password
```
```bash
sudo rpm --import https://downloads.1password.com/linux/keys/1password.asc
sudo sh -c 'echo -e "[1password]\nname=1Password Stable Channel\nbaseurl=https://downloads.1password.com/linux/rpm/stable/\$basearch\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=\"https://downloads.1password.com/linux/keys/1password.asc\"" > /etc/yum.repos.d/1password.repo'
sudo rpm -v --import https://download.sublimetext.com/sublimehq-rpm-pub.gpg
@@ -101,7 +85,8 @@ sudo dnf config-manager addrepo --from-repofile=https://repo.librewolf.net/libre
```
#### Jottacloud
```
```bash
sudo tee /etc/yum.repos.d/JottaCLI.repo > /dev/null << 'EOF'
[jotta-cli]
name=Jottacloud CLI
@@ -112,7 +97,8 @@ EOF
```
#### VSCodium
```
```bash
sudo tee -a /etc/yum.repos.d/vscodium.repo << 'EOF'
[gitlab.com_paulcarroty_vscodium_repo]
name=gitlab.com_paulcarroty_vscodium_repo
@@ -126,7 +112,8 @@ EOF
```
#### Cider
```
```bash
sudo rpm --import https://repo.cider.sh/RPM-GPG-KEY
sudo tee /etc/yum.repos.d/cider.repo << 'EOF'
[cidercollective]
@@ -138,48 +125,77 @@ gpgkey=https://repo.cider.sh/RPM-GPG-KEY
EOF
```
### Install packages
#### Install packages
#### DNF
##### DNF
```
```bash
sudo dnf install fastfetch stow fish steam git gh nvim tldr btop 1password sublime-text mangojuice gamemode gamescope obs-studio jotta-cli codium rpmconf Cider
```
##### Flatpak
```
flatpak install -y com.discordapp.Discord io.github.Faugus.faugus-launcher com.adamcake.Bolt com.notesnook.Notesnook com.saivert.pwvucontrol com.github.tchx84.Flatseal org.kde.kdenlive it.mijorus.gearlever com.github.Matoking.protontricks com.vysp3r.ProtonPlus org.musicbrainz.Picard io.github.lullabyX.sone
#### Flatpak
```bash
flatpak install -y \
com.discordapp.Discord \
io.github.Faugus.faugus-launcher \
com.adamcake.Bolt \
com.notesnook.Notesnook \
com.saivert.pwvucontrol \
com.github.tchx84.Flatseal \
org.kde.kdenlive \
it.mijorus.gearlever \
com.github.Matoking.protontricks \
com.vysp3r.ProtonPlus \
org.musicbrainz.Picard \
io.github.lullabyX.sone
```
### Configs
#### Configs
#### Jottacloud
##### Jottacloud
```
```bash
run_jottad
jotta-cli help
```
##### Firefox about:config
#### Firefox about:config
Open `about:config` and set:
```
accessibility.typeaheadfind.enablesound = false
media.hardwaremediakeys.enabled = false
clipboard.autocopy = false
middlemouse.paste = false
widget.gtk.native-emoji-dialog = false
media.hardwaremediakeys.enabled = false
clipboard.autocopy = false
middlemouse.paste = false
widget.gtk.native-emoji-dialog = false
```
[↑ Index](#index)
---
## System Settings
### Fix common issues with NetworkManager + systemd-resolved
```
```bash
sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
```
### KDE Shortcuts
[↑ Index](#index)
#### 1Password
> Import in KDE Settings menu
---
## KDE Shortcuts
[TOP](#installations-for-new-fedora-kde-instance)
### 1Password
Import the shortcut file via **System Settings → Shortcuts → Import**:
```
fedora/kde/kde_shortcuts/1password_shortcuts.kksrc
```
[↑ Index](#index)
+2 -1
View File
@@ -1,3 +1,4 @@
{
"editor.selectionClipboard": false
"editor.selectionClipboard": false,
"claudeCode.preferredLocation": "panel"
}