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:
@@ -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
@@ -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)
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
{
|
{
|
||||||
"editor.selectionClipboard": false
|
"editor.selectionClipboard": false,
|
||||||
|
"claudeCode.preferredLocation": "panel"
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user