diff --git a/README.md b/README.md index e19db79..0f1b63d 100644 --- a/README.md +++ b/README.md @@ -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. diff --git a/fedora/kde/installation.md b/fedora/kde/installation.md index 0324502..31c6ce7 100644 --- a/fedora/kde/installation.md +++ b/fedora/kde/installation.md @@ -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) diff --git a/stow_me/.config/VSCodium/User/settings.json b/stow_me/.config/VSCodium/User/settings.json index 3ad2a95..67854f2 100644 --- a/stow_me/.config/VSCodium/User/settings.json +++ b/stow_me/.config/VSCodium/User/settings.json @@ -1,3 +1,4 @@ { - "editor.selectionClipboard": false + "editor.selectionClipboard": false, + "claudeCode.preferredLocation": "panel" } \ No newline at end of file