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): Personal dotfiles for Fedora KDE, managed with GNU Stow.
- `git clone https://codeberg.org/GlennIgen/.dotfiles.git`
## 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 cd ~/.dotfiles
stow . stow -d stow_me/ -t ~ .
```
- 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"
``` ```
Notes: - `-d stow_me/` sets the stow directory, `-t ~` sets the target — nothing outside `stow_me/` is touched.
- Resolve any file conflicts before running `stow` (move or remove existing files). - Preview changes first with `stow -n -d stow_me/ -t ~ .`.
- This repository is private; manage updates using your preferred method. - 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.
+84 -68
View File
@@ -1,60 +1,36 @@
# Installations for new Fedora KDE instance # Installations for new Fedora KDE instance
Setup guide for a fresh Fedora KDE install. Follow sections in order.
## Index ## Index
1. [RPM Fusion Tweaks](#rpm-fusion-tweaks) 1. [RPM Fusion Tweaks](#rpm-fusion-tweaks)
- [Configurations](#configurations)
1. [Configurations](#configurations) - [Multimedia](#multimedia)
- [DVD stuff](#dvd-stuff)
2. [Multimedia](#multimedia) - [Firmware stuff](#firmware-stuff)
1. [Intel (Recent CPU)](#intel-recent-cpu)
3. [DVD stuff](#dvd-stuff)
4. [Firmware stuff](#firmware-stuff)
2. [Packages](#packages) 2. [Packages](#packages)
- [Import keys & repos](#import-keys--repos)
1. [Import keys & repos](#import-keys--repos) - [Install packages](#install-packages)
- [Configs](#configs)
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)
3. [System Settings](#system-settings) 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 ## RPM Fusion Tweaks
[Index](#index)
> [RPM Fusion (External)](https://rpmfusion.org/)\ > [RPM Fusion](https://rpmfusion.org/) — [Configuration guide](https://rpmfusion.org/Configuration)
> [RPM Fusion Configurations (External)](https://rpmfusion.org/Configuration)
### Configurations ### 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 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 config-manager setopt fedora-cisco-openh264.enabled=1
sudo dnf update @core sudo dnf update @core
@@ -62,37 +38,45 @@ sudo dnf install rpmfusion-\*-appstream-data
``` ```
### Multimedia ### 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 swap ffmpeg-free ffmpeg --allowerasing
sudo dnf update @multimedia --setopt="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin sudo dnf update @multimedia --setopt="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin
``` ```
#### Intel (Recent CPU) #### Intel (Recent CPU)
```
```bash
sudo dnf install intel-media-driver sudo dnf install intel-media-driver
``` ```
### DVD stuff ### DVD stuff
```
```bash
sudo dnf install rpmfusion-free-release-tainted sudo dnf install rpmfusion-free-release-tainted
sudo dnf install libdvdcss sudo dnf install libdvdcss
``` ```
### Firmware stuff ### Firmware stuff
```
```bash
sudo dnf install rpmfusion-nonfree-release-tainted sudo dnf install rpmfusion-nonfree-release-tainted
sudo dnf --repo=rpmfusion-nonfree-tainted install "*-firmware" sudo dnf --repo=rpmfusion-nonfree-tainted install "*-firmware"
``` ```
## Packages [↑ Index](#index)
[Index](#index)
---
## Packages
### Import keys & repos ### Import keys & repos
#### 1Password #### 1Password
```
```bash
sudo rpm --import https://downloads.1password.com/linux/keys/1password.asc 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 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 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 #### Jottacloud
```
```bash
sudo tee /etc/yum.repos.d/JottaCLI.repo > /dev/null << 'EOF' sudo tee /etc/yum.repos.d/JottaCLI.repo > /dev/null << 'EOF'
[jotta-cli] [jotta-cli]
name=Jottacloud CLI name=Jottacloud CLI
@@ -112,7 +97,8 @@ EOF
``` ```
#### VSCodium #### VSCodium
```
```bash
sudo tee -a /etc/yum.repos.d/vscodium.repo << 'EOF' sudo tee -a /etc/yum.repos.d/vscodium.repo << 'EOF'
[gitlab.com_paulcarroty_vscodium_repo] [gitlab.com_paulcarroty_vscodium_repo]
name=gitlab.com_paulcarroty_vscodium_repo name=gitlab.com_paulcarroty_vscodium_repo
@@ -126,7 +112,8 @@ EOF
``` ```
#### Cider #### Cider
```
```bash
sudo rpm --import https://repo.cider.sh/RPM-GPG-KEY sudo rpm --import https://repo.cider.sh/RPM-GPG-KEY
sudo tee /etc/yum.repos.d/cider.repo << 'EOF' sudo tee /etc/yum.repos.d/cider.repo << 'EOF'
[cidercollective] [cidercollective]
@@ -138,29 +125,45 @@ gpgkey=https://repo.cider.sh/RPM-GPG-KEY
EOF 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 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
```
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 ```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 run_jottad
jotta-cli help jotta-cli help
``` ```
##### Firefox about:config #### Firefox about:config
Open `about:config` and set:
``` ```
accessibility.typeaheadfind.enablesound = false accessibility.typeaheadfind.enablesound = false
media.hardwaremediakeys.enabled = false media.hardwaremediakeys.enabled = false
@@ -169,17 +172,30 @@ middlemouse.paste = false
widget.gtk.native-emoji-dialog = false widget.gtk.native-emoji-dialog = false
``` ```
[↑ Index](#index)
---
## System Settings ## System Settings
### Fix common issues with NetworkManager + systemd-resolved ### Fix common issues with NetworkManager + systemd-resolved
```
```bash
sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf 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"
} }