diff --git a/.claude/CONTEXT.md b/.claude/CONTEXT.md new file mode 100644 index 0000000..edd69b9 --- /dev/null +++ b/.claude/CONTEXT.md @@ -0,0 +1,33 @@ +# NixOS Dotfiles + +A single flake that builds every machine the user owns — laptop, desktop, and three servers — from one shared, modular configuration. + +## Language + +**Host**: +One physical machine the flake builds a NixOS configuration for. Each Host has a directory under `hosts/` holding its machine-specific `hardware-configuration.nix` and its choice of enabled Modules. +_Avoid_: machine, node, system, box + +**Module**: +A single `.nix` feature file under `modules/` that declares an `enable` option and the configuration it turns on. Every Module is always imported but stays inert until a Host enables it. +_Avoid_: component, package, plugin + +**Skeleton**: +The flake's plumbing — the Auto-loader, the helper lib, the flake inputs/overlays, and the shared base config — as distinct from the Modules that sit on top of it. +_Avoid_: framework, core, base, scaffolding + +**Auto-loader**: +The lib code that recursively discovers and imports every Module under `modules/` (and every Host under `hosts/`) so new files wire themselves in without manual `imports` edits. +_Avoid_: loader, importer, scanner + +**Enable convention**: +The rule that every Module is imported unconditionally and guards its own body with `mkIf config.modules..enable`, so a Host reads as a checklist of `enable = true` flags. +_Avoid_: feature flag, toggle, opt-in + +**unstable overlay**: +The overlay exposing `nixpkgs-unstable` packages as `unstable.`, used to pull an individual package fresher than the `nixos-unstable` base. +_Avoid_: bleeding-edge, latest + +**stable overlay**: +The overlay exposing the latest stable release (`nixos-25.05`) as `stable.`, used to pin an individual package to the rock-solid release from the `nixos-unstable` base. +_Avoid_: LTS, release channel diff --git a/.claude/adr/0001-sops-nix-for-secrets.md b/.claude/adr/0001-sops-nix-for-secrets.md new file mode 100644 index 0000000..3b53ec4 --- /dev/null +++ b/.claude/adr/0001-sops-nix-for-secrets.md @@ -0,0 +1,10 @@ +# Use sops-nix for secrets + +The repo is public, so no secret — including password hashes and the WireGuard/ProtonVPN key — may be committed in plaintext. We manage all secrets with **sops-nix**: encrypted into the repo and decrypted per-host at activation via an age key derived from each machine's SSH host key. + +We chose sops-nix over agenix for its multi-recipient encryption (one secret readable by both a host and the admin laptop) and its grouped-file editing workflow, which scale better across the planned five hosts with a mix of shared and per-host secrets. The cost is slightly more upfront machinery than agenix's one-file-per-secret model. + +## Consequences + +- User/root passwords use `hashedPasswordFile` backed by a sops secret, never a committed hash. +- Each new host must have its SSH host public key registered as a recipient before it can decrypt its secrets. diff --git a/.claude/spec/laptop-mvi.md b/.claude/spec/laptop-mvi.md new file mode 100644 index 0000000..f97bf43 --- /dev/null +++ b/.claude/spec/laptop-mvi.md @@ -0,0 +1,92 @@ +## Problem Statement + +I'm returning to NixOS after ~2 years away, and I want to start by moving my laptop (`neogaia`, a Dell XPS 13 9380 currently running CachyOS) onto it. My old config still exists but is stale and written in a style I no longer want to copy verbatim. Eventually this same config has to grow to cover my desktop and three servers, so whatever I build for the laptop has to be a clean, scalable foundation — not a throwaway. + +Reimaging the laptop is destructive and I only get one machine, so I need a tightly-scoped, well-understood **minimum viable install (MVI)**: the smallest config that boots the laptop into a usable state I can then iterate on live, without risking a half-defined system that strands me at a dead console. + +## Solution + +Rebuild the `Skeleton` and a single `neogaia` `Host` to the point where the laptop: + +- boots from an encrypted disk (LUKS + btrfs + zram), +- comes up on wifi, +- lets me log into a console as my user and run `nixos-rebuild switch`, +- and already carries my core terminal tooling (fish, tmux, nvim, Claude Code). + +Everything graphical and everything multi-host is deliberately left for later iterative passes, which are safe because a mistake then is "edit and rebuild," not "reimage." The MVI is the one step that must be right *before* reimaging; the rest is reversible. + +The install itself is done from the NixOS live ISO by cloning the repo from my Gitea and running a single `disko-install` against the `neogaia` `Host`, then setting a bootstrap password by hand. + +## User Stories + +1. As the operator, I want the `Skeleton` rewritten around my old scalable ideas (the `Auto-loader`, the `Enable convention`, per-`Host` layout), so that the config stays legible and shareable across all five future machines without me copying stale code. +2. As the operator, I want the flake hand-rolled and cleaned up (no framework layer), so that the whole plumbing stays readable in one place for a config that only targets a handful of `x86_64-linux` machines. +3. As the operator, I want every `Module` auto-discovered and imported but inert until a `Host` sets its `enable` flag, so that each `Host` reads as a checklist of features. +4. As the operator, I want a `nixos-unstable` base with an `unstable overlay` and a `stable overlay`, so that I can run rolling by default but reach up to bleeding-edge or down to rock-solid on a per-package basis. +5. As the operator, I want home-manager integrated as a NixOS module with global packages, so that one `nixos-rebuild switch` builds both the system and my user environment atomically. +6. As the operator, I want my user modelled as an explicit option defaulting to `alexion` (no impure environment lookup), so that the config is reproducible and honest about who the user is. +7. As the operator, I want the laptop's disk declared with `disko` as encrypted btrfs plus zram swap, so that the install is reproducible and the laptop is encrypted at rest. +8. As the operator, I want the system to prompt for the LUKS passphrase at boot via systemd-boot and the initrd, so that the encrypted disk unlocks on a normal boot. +9. As the operator, I want the CachyOS kernel from chaotic-nyx with the chaotic binary cache wired in from the first build, so that I get the performance/feel I'm used to without compiling the kernel from source. +10. As the operator, I want Intel microcode and the redistributable firmware for the QCA6174 wifi included, so that the laptop's hardware works out of the box. +11. As the operator, I want NetworkManager enabled, so that I can join wifi easily from the console. +12. As the operator, I want an SSH daemon running, so that I can drive the rest of the setup remotely if the console is inconvenient. +13. As the operator, I want my user in `wheel` with a manually-set bootstrap password, so that I can log in and use sudo on first boot without committing any secret to a public repo. +14. As the operator, I want fish as my default login shell, configured natively via home-manager with my `cachyos-config.fish` translated (greeting, bat-manpager, `done` and bang-bang plugins, helper functions, eza/nav aliases) and all Arch/pacman-specific parts dropped or replaced with NixOS equivalents, so that my shell feels like home but is correct for NixOS. +15. As the operator, I want tmux configured natively via home-manager using my exact existing `tmux.conf` text, so that my terminal multiplexer is identical to today with no plugin manager needed. +16. As the operator, I want my nvim config brought in verbatim (lazy.nvim managing its own plugins) via a writable out-of-store symlink, with `git`/`gcc`/`ripgrep`/`fd` provided by Nix, so that my editor is identical to today and lazy.nvim can still update and write its lockfile. +17. As the operator, I want Claude Code installed declaratively and authenticatable without a browser on the laptop, so that I can use it over the console/SSH via the paste-code flow or an API key. +18. As the operator, I want timezone `America/New_York`, locale `en_GB.UTF-8`, and console keymap `us` set, so that the base system matches my locale preferences. +19. As the operator, I want to install by cloning the repo from my Gitea onto the live ISO and running `disko-install` against `neogaia`, so that I avoid self-signed-TLS/auth problems with flake fetching during install. +20. As the operator, I want the `Skeleton` designed so that per-`Host` disk layouts, per-`Host` kernels, and preserved ZFS pools are all expressible, so that the same foundation extends to the desktop and the three servers later without restructuring. + +## Implementation Decisions + +**Skeleton** +- Hand-rolled flake, rewritten and trimmed; no flake-parts. +- `Auto-loader` rewritten: recursively discovers and imports every `Module` under the modules tree without the old null-placeholder traversal hack; a single discovery helper feeds the `Host` imports. The old `nixosModules` flake output is dropped. +- Helper lib trimmed to the `Auto-loader`, the host-builder, and the script-from-file helper. `with lib.my` replaced by explicit `inherit`s throughout. `enable` flags use the stdlib enable-option helper rather than bespoke sugar. +- `nixos-unstable` as the base channel. An `unstable overlay` exposes `nixpkgs-unstable` packages; a `stable overlay` exposes the latest stable release (`nixos-25.05`). chaotic-nyx added as an input with its overlay and binary cache from the start. +- home-manager sourced from `nix-community`, tracking master with nixpkgs followed, integrated as a NixOS module with global packages and user packages. +- User modelled as an explicit option defaulting to `alexion`, in `wheel`, driving the system user and the home-manager user in lockstep. + +**neogaia Host** +- Disk declared via `disko`: LUKS-encrypted btrfs with subvolumes plus zram swap. systemd-boot on an EFI system partition; initrd LUKS unlock. +- CachyOS kernel selected via a small per-`Host` kernel mechanism; chaotic substituter and trusted key in the Nix settings. +- Intel microcode; redistributable firmware enabled for the QCA6174 wifi. NetworkManager for networking. A zram toggle `Module` enabled here. +- SSH daemon enabled. Baseline CLI (git, editor, flakes) present. Claude Code installed declaratively. +- fish `Module`: native home-manager configuration; translated aliases/functions/plugins/init; set as the default login shell. tmux `Module`: native home-manager, exact existing config text inlined. nvim `Module`: verbatim config placed as a writable out-of-store symlink with runtime dependencies provided by Nix. +- Locale, timezone, and keymap set to the detected values. + +**Install flow** +- Repo pushed to Gitea first. From the NixOS live ISO: join wifi, clone the repo locally, run `disko-install` against the `neogaia` `Host` with the chaotic substituter passed to the install-time daemon, set bootstrap passwords via `nixos-enter`, reboot. + +**Secrets (design only in MVI)** +- Per ADR 0001, secrets use `sops-nix` with age keys derived from each `Host`'s SSH host key. The MVI does not wire any secret, because a `Host`'s age key does not exist until its first install generates the SSH host key. The bootstrap password is set by hand and never committed; moving passwords to a `hashedPasswordFile` backed by a sops secret is the first post-boot task, out of scope here. + +## Testing Decisions + +- A good test here asserts externally-observable evaluation/build success of the whole `Host`, not the internals of any individual `Module`. +- **Primary seam (required):** the `neogaia` `Host` evaluates and its system toplevel builds. Building the toplevel drives the entire `Skeleton` — the `Auto-loader` discovering every `Module`, all three overlays resolving, home-manager integration, and every enabled module's config merging without conflict — plus the `disko` layout, which builds from the same tree. Nearly all config-authoring errors surface at this seam short of booting real hardware. +- No unit-level tests of individual modules; the config-merge model makes the whole-`Host` build the meaningful unit, and it is the highest available seam. +- Prior art: none in this repo yet (it starts empty); this build-the-toplevel check is the pattern to reuse for every future `Host`. +- The genuine end-to-end confirmation is the real reimage, which is manual and irreversible by nature and is not automated. + +## Out of Scope + +- Any graphical environment: Wayland-vs-i3 choice, greeter/display manager, theming (Nord via Stylix or otherwise), fonts, terminal emulator, browser, general desktop apps, gaming (Steam/Lutris/proton-cachyos), emulation. +- Full `sops-nix` wiring and moving passwords off the bootstrap value (immediate post-boot follow-up, but not MVI). +- Migrating nvim to a native home-manager configuration with Nix-managed plugins. +- chaotic-nyx packages beyond the kernel (`mesa-git`, `proton-cachyos`, `scx` schedulers). +- Flatpak strategy (`nix-flatpak` vs dropping the old imperative helper). +- The desktop `Host` (`zeus`), including Nvidia. +- The three servers: deployment model, service migration (plex/arr/kavita/nfs/torrent-through-protonvpn), ZFS wiring and pool import, backups/monitoring, and per-server kernel/channel pinning. +- VM-based CI (`nixosTest` boot assertions) — explicitly a future addition, not part of this deliverable. + +## Further Notes + +- **Bootstrap ordering:** the flake must exist on Gitea before the install can consume it, and the manual password step keeps the public repo free of any secret while still yielding a login on first boot. +- **Gitea is a bootstrap dependency:** every NixOS install pulls the config from self-hosted Gitea, so the Gitea host must stay reachable during any install — relevant when sequencing the servers so the migration never locks the operator out of their own configs. +- **chaotic cache at install time:** the install-time Nix daemon on the live ISO must have the chaotic substituter configured, or it compiles the CachyOS kernel from source on the USB stick. +- **Extends to future Hosts by construction:** disk layout, kernel, and channel are all per-`Host` concerns in the `Skeleton`, and existing ZFS pools are preserved by import rather than declared through `disko`. This is what lets the desktop and the three servers join later without reworking the foundation. +- **Theme target is Nord** (the current CachyOS setup is Nord across terminal, tmux, and nvim), superseding the old repo's Dracula — relevant when the theming branch is grilled. diff --git a/reference/ENVIRONMENT.md b/reference/ENVIRONMENT.md new file mode 100644 index 0000000..718e16c --- /dev/null +++ b/reference/ENVIRONMENT.md @@ -0,0 +1,89 @@ +# Current environment profile — `neogaia` (CachyOS) + +A reconstruction of the live CachyOS environment on the laptop, captured before the NixOS migration. +This exists to define what "replicate as closely as possible" concretely means, and to feed the desktop-environment grill branch later. +It is descriptive, not a plan — nothing here is a decision. + +Source: the snapshot under `reference/home/`, plus `pacman -Qqett` (167 explicit top-level packages; no AUR, no Flatpaks). + +## In one line + +KDE Plasma 6 on Wayland, hand-configured to behave like an i3-style keyboard-driven tiling setup, wrapped around a tightly-integrated Alacritty + tmux + Neovim terminal workflow themed in Nord. + +## Desktop environment & workflow + +- **Plasma 6 on Wayland** (Plasma-6 migration markers, Xwayland scaling, powerdevil-6, SDDM via `plasma-login-manager`). +- Configured as a **tiling, keyboard-driven WM**: + - **9 virtual desktops**; **`Meta+1…9`** switch, **`Meta+Shift+1…9`** send-window (both custom — not Plasma defaults). + - **KWin built-in tiling** on every desktop, **0.25 / 0.5 / 0.25** columns; `Meta+T` tile editor. + - **`Meta+Shift+Q`** close window (i3 muscle memory). + - Quick-tile `Meta+arrows`; overview `Meta+W`; grid `Meta+G`; peek desktop `Meta+D`. + - **`Caps Lock → Escape`** (`caps:escape_shifted_capslock`). +- Fast animations (`AnimationDurationFactor=0.25`); touchpad clickfinger. + +This is effectively *Plasma-as-a-tiling-WM*. +The future desktop branch therefore forks between **Plasma 6 + this exact config** and a **dedicated Wayland tiler** (Hyprland / niri / sway) reproducing the same i3-like behaviour. + +## Terminal workflow (the core) + +One integrated, SSH-friendly, keyboard-only system: + +- **Alacritty** — MesloLGS Nerd Font Mono 12, opacity 0.8, Nord palette, save-to-clipboard, middle-click paste. +- **tmux** — `Ctrl-Space` prefix, vi mode, **OSC52** clipboard, Nord status bar, no plugins. +- **Neovim** — lazy.nvim; leader Space; **OSC52** clipboard; relativenumber; 2-space expandtab; undofile; smartcase; plugins: snacks picker, oil, neogit/gitsigns/diffview, which-key, treesitter, render-markdown, `nord.nvim`. +- Shared idioms: **`Ctrl+hjkl`** navigation across tmux panes and nvim splits; OSC52 everywhere (no `wl-copy`/`xclip`, survives SSH). + +## Theming & fonts (not unified — a replication decision point) + +- **DE chrome:** Breeze **Dark** — Qt + GTK (`Breeze`, prefer-dark) + `breeze-dark` icons + `breeze_cursors`. +- **Terminals/editor:** **Nord**. +- **micro:** catppuccin-macchiato (a third theme). +- **Installed but inactive:** `cachyos-nord-kde-theme-git` — a Nord Plasma theme is already available, so unifying the DE onto Nord is plausible. +- **Fonts:** UI Noto Sans 14; KDE mono Hack 14; terminal mono MesloLGS Nerd Font Mono. 96 DPI, 1× scale, slight hinting, antialias on, subpixel none. + +## Home layout & environment + +- Custom short XDG dirs: `~/dwn ~/doc ~/mus ~/pic ~/vid ~/wrk`; desktop hidden at `~/.desktop`; templates/public → `~/.ignoreme`. +- `EDITOR=nvim`; aliases `vi/vim→nvim`, `tmx=tmux new-session -A -s`, `cp -v`. +- git identity: **alexion / contact@alexion.dev**. + +## Toolchains (currently impure — likely "exceptions" on NixOS) + +- **Rust** via rustup (`~/.cargo`), **bun** (`~/.bun`), **Node** via a manual `~/.local/opt` unpack, **Android SDK** (`~/Android/Sdk`) on PATH. +- On NixOS these want a decision: Nix-native (nixpkgs / fenix / oxalica / etc.) vs. keeping the imperative installers. + +## Package inventory (categorised, meaningful subset) + +**Terminal / shell / editor:** alacritty, neovim, kate, micro, fish, zsh, claude-code, tea (Gitea CLI), meld. +**Browser:** firefox. +**Dev / infra:** docker, vscodium, base-devel, whisper-cpp-vulkan (backs the open-whispr dictation app). +**KDE apps:** dolphin, ark, kcalc, konsole, gwenview, haruna (mpv-based video), filelight, spectacle (screenshots), kdeconnect, kwalletmanager, partitionmanager, kinfocenter, plasma-systemmonitor, kscreen. +**Media codecs:** vlc-plugins-all, gst-plugins-{bad,ugly,va,pipewire}, gst-libav, libdvdcss, ffmpegthumbs. +**Fonts:** ttf-meslo-nerd, ttf-opensans, cantarell-fonts, noto-fonts-cjk, gsfonts, awesome-terminal-fonts. +**Networking:** networkmanager-openvpn, plasma-nm, wireguard-tools, nfs-utils, iwd, dnsmasq, bind. +**Hardware / firmware:** intel-ucode, intel-media-sdk, linux-firmware, sof-firmware, alsa-*, bluez-* + bluedevil, fwupd, cpupower, power-profiles-daemon, realtime-privileges. +**Filesystem / snapshots:** btrfs-assistant, snapper (`cachyos-snapper-support`), limine-snapper-sync, plus a broad set of fs tools (f2fs/xfs/jfs/nilfs/exfat/lvm2/dmraid) shipped by CachyOS. +**Printing:** cups-pdf, gutenprint, foomatic-db*, system-config-printer (full stack — verify it's actually used). +**CLI utils:** btop, glances, duf, tree, plocate, rsync, wget, unzip/unrar, pv, hwinfo. +**CachyOS-specific (won't port; NixOS equivalents or drop):** cachyos-* (settings, hooks, mirrorlists, kernel-manager, fish/zsh/micro configs, KDE themes, plymouth, wallpapers), cachy-update, shelly, reflector, rebuild-detector. + +## Notable current features to consider replicating + +- **btrfs + snapper snapshots** integrated into the boot menu (via Limine + `limine-snapper-sync`). On NixOS the analogue is generations (built-in) plus optionally snapper/btrbk for data snapshots — a future decision, not MVI. +- **KDE Connect** (phone integration), **Bluetooth** (bluedevil), **WireGuard** tooling, **Docker**, **KWallet** (PAM-unlocked). +- **Printing stack** fully installed. +- **fwupd** firmware updates. + +## Explicitly absent (don't assume from the old NixOS repo) + +- **No gaming** — no Steam / Lutris / Wine / Proton on this laptop (the old repo's `neogaia` had Steam; current reality does not). Gaming is a desktop (`zeus`) concern. +- **No Discord / Spotify / Slack** currently installed. +- **No emulation** stack (the old repo's retroarch/3ds/ps2 are not present here). + +## Open replication decisions this surfaces (for later grilling) + +1. **Plasma 6 Wayland (replicate config)** vs. **dedicated Wayland tiler** (Hyprland/niri/sway). +2. **Theme:** keep Breeze-Dark-DE + Nord-terminals as-is, or unify on Nord (Stylix)? +3. **Toolchains:** Nix-native Rust/Node/bun/Android vs. keep imperative. +4. **btrfs snapshots:** snapper/btrbk on NixOS, or rely on generations alone? +5. **Which apps are actually wanted** on the laptop vs. artefacts of the CachyOS default install (printing, the broad fs-tools set, etc.). diff --git a/reference/README.md b/reference/README.md new file mode 100644 index 0000000..2d8490a --- /dev/null +++ b/reference/README.md @@ -0,0 +1,28 @@ +# reference/ + +A frozen snapshot of the live CachyOS environment on `neogaia`, captured before the NixOS migration. + +This is a **read-only reference**, not part of the flake. +Nothing here is imported or built — it exists so the NixOS rebuild can be diffed against the environment it replaces. +Files mirror their real home paths under `home/` (e.g. `home/.config/nvim/` was `~/.config/nvim/`). + +## What's here + +- **Terminal / shell / editor:** alacritty, fish (minus `fish_variables`), tmux, nvim, micro (`settings.json` + colorschemes only). +- **Shell RCs:** bash and zsh rc/profile files, `.profile`. +- **KDE Plasma (curated):** the meaningful config (`kdeglobals`, `kwinrc`, `kglobalshortcutsrc`, `kxkbrc`, `kcminputrc`, panel applets, konsole, dolphin, spectacle, power management, monitor layout) — pure runtime state was skipped. +- **Theming / fonts:** gtk-3.0, gtk-4.0, gtkrc-2.0, fontconfig, xsettingsd, Qt config. +- **Misc:** `mimeapps.list`, `user-dirs.dirs`, `shelly/config.json`, `.gitconfig`, `.gitignore`. + +## What was deliberately excluded + +- **Secrets / keys:** `.ssh`, `.claude*`, `tea` (Gitea token), `kdeconnect` (device keys), `libaccounts-glib`, `kwalletrc`, `.pki`. +- **Browser data:** mozilla profiles. +- **Electron app state:** open-whispr (230M, contained a `.env` and encrypted keys), obsidian (per-vault config lives in each vault), VSCodium (no user `settings.json` existed — only default state). +- **Caches / runtime state:** `.cache`, `.npm`, `.cargo`, `.rustup`, `.local`, `.var`, dconf, pulse, micro's shipped `syntax/` defs, `*.bak`. + +## Known cleanups the rebuild must apply + +- fish `config.fish` sources CachyOS-only `cachyos-config.fish`, and hardcodes impure `~/.bun` / `~/.local/opt/node` PATHs. +- fish aliases include Arch/pacman-specific entries that don't apply on NixOS. +- The KDE and Arch package-manager (`shelly`) configs are environment-specific and only partially relevant. diff --git a/reference/home/.bash_logout b/reference/home/.bash_logout new file mode 100644 index 0000000..0e4e4f1 --- /dev/null +++ b/reference/home/.bash_logout @@ -0,0 +1,3 @@ +# +# ~/.bash_logout +# diff --git a/reference/home/.bash_profile b/reference/home/.bash_profile new file mode 100644 index 0000000..aeac56a --- /dev/null +++ b/reference/home/.bash_profile @@ -0,0 +1,6 @@ +# +# ~/.bash_profile +# + +[[ -f ~/.bashrc ]] && . ~/.bashrc +. "$HOME/.cargo/env" diff --git a/reference/home/.bashrc b/reference/home/.bashrc new file mode 100644 index 0000000..e96b5d6 --- /dev/null +++ b/reference/home/.bashrc @@ -0,0 +1,11 @@ +# +# ~/.bashrc +# + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +alias ls='ls --color=auto' +alias grep='grep --color=auto' +PS1='[\u@\h \W]\$ ' +. "$HOME/.cargo/env" diff --git a/reference/home/.config/QtProject.conf b/reference/home/.config/QtProject.conf new file mode 100644 index 0000000..f61be5f --- /dev/null +++ b/reference/home/.config/QtProject.conf @@ -0,0 +1,5 @@ +[FileDialog] +history=@Invalid() +lastVisited=file:///home/alexion/doc/notes/ +qtVersion=6.11.1 +viewMode=Detail diff --git a/reference/home/.config/Trolltech.conf b/reference/home/.config/Trolltech.conf new file mode 100644 index 0000000..4a66f4a --- /dev/null +++ b/reference/home/.config/Trolltech.conf @@ -0,0 +1,17 @@ +[qt] +GUIEffects=none +KDE\contrast=4 +KWinPalette\activeBackground=#272c31 +KWinPalette\activeBlend=#fcfcfc +KWinPalette\activeForeground=#fcfcfc +KWinPalette\activeTitleBtnBg=#202326 +KWinPalette\frame=#202326 +KWinPalette\inactiveBackground=#202428 +KWinPalette\inactiveBlend=#a1a9b1 +KWinPalette\inactiveForeground=#a1a9b1 +KWinPalette\inactiveFrame=#202326 +KWinPalette\inactiveTitleBtnBg=#202326 +Palette\active=#fcfcfc, #292c30, #393e43, #2e3337, #131516, #1c1f21, #fcfcfc, #ffffff, #fcfcfc, #141618, #202326, #0e0f10, #3daee9, #fcfcfc, #1d99f3, #9b59b6, #1d1f22, #000000, #292c30, #fcfcfc, #a1a9b1, #3daee9 +Palette\disabled=#686a6c, #272a2e, #383d42, #2d3136, #121415, #1b1d20, #606263, #ffffff, #6d6f72, #131517, #1f2124, #0d0e0f, #1f2124, #686a6c, #164160, #402b4c, #1c1e20, #000000, #292c30, #fcfcfc, #42464a, #1f2124 +Palette\inactive=#fcfcfc, #292c30, #393e43, #2e3337, #131516, #1c1f21, #fcfcfc, #ffffff, #fcfcfc, #141618, #202326, #0e0f10, #1b4155, #fcfcfc, #1d99f3, #9b59b6, #1d1f22, #000000, #292c30, #fcfcfc, #a1a9b1, #1b4155 +font="Noto Sans,14,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,,0,0" diff --git a/reference/home/.config/alacritty/alacritty.toml b/reference/home/.config/alacritty/alacritty.toml new file mode 100644 index 0000000..7411716 --- /dev/null +++ b/reference/home/.config/alacritty/alacritty.toml @@ -0,0 +1,88 @@ +[general] +working_directory = "None" +live_config_reload = true + +[env] +TERM = "xterm-256color" +WINIT_X11_SCALE_FACTOR = "1.0" + +[window] +dimensions = { columns = 100, lines = 30 } +dynamic_padding = true +decorations = "Full" +opacity = 0.8 +title = "Alacritty@CachyOS" +class = { instance = "Alacritty", general = "Alacritty" } +decorations_theme_variant = "Dark" + +[scrolling] +history = 10000 +multiplier = 3 + +[font] +normal = { family = "MesloLGS Nerd Font Mono", style = "Regular" } +bold = { family = "MesloLGS Nerd Font Mono", style = "Bold" } +italic = { family = "MesloLGS Nerd Font Mono", style = "Italic" } +bold_italic = { family = "MesloLGS Nerd Font Mono", style = "Bold Italic" } +size = 12.0 + +[colors] +draw_bold_text_with_bright_colors = true + +[colors.primary] +background = "0x2E3440" +foreground = "0xD8DEE9" + +[colors.normal] +black = "0x3B4252" +red = "0xBF616A" +green = "0xA3BE8C" +yellow = "0xEBCB8B" +blue = "0x81A1C1" +magenta = "0xB48EAD" +cyan = "0x88C0D0" +white = "0xE5E9F0" + +[colors.bright] +black = "0x4C566A" +red = "0xBF616A" +green = "0xA3BE8C" +yellow = "0xEBCB8B" +blue = "0x81A1C1" +magenta = "0xB48EAD" +cyan = "0x8FBCBB" +white = "0xECEFF4" + +[selection] +semantic_escape_chars = ",│`|:\"' ()[]{}<>\t" +save_to_clipboard = true + +[cursor] +style = { shape = "Underline", blinking = "Off" } +unfocused_hollow = true +thickness = 0.15 + +[mouse] +hide_when_typing = true +bindings = [ +{ mouse = "Middle", mods = "None", action = "PasteSelection" }, +] + +[keyboard] +bindings = [ +{ key = "Paste", mods = "None", action = "Paste" }, +{ key = "Copy", mods = "None", action = "Copy" }, +{ key = "L", mods = "Control", action = "ClearLogNotice" }, +{ key = "L", mods = "Control", mode = "~Vi", chars = "\f" }, +{ key = "PageUp", mods = "Shift", mode = "~Alt", action = "ScrollPageUp" }, +{ key = "PageDown", mods = "Shift", mode = "~Alt", action = "ScrollPageDown" }, +{ key = "Home", mods = "Shift", mode = "~Alt", action = "ScrollToTop" }, +{ key = "End", mods = "Shift", mode = "~Alt", action = "ScrollToBottom" }, +{ key = "V", mods = "Control|Shift", action = "Paste" }, +{ key = "C", mods = "Control|Shift", action = "Copy" }, +{ key = "F", mods = "Control|Shift", action = "SearchForward" }, +{ key = "B", mods = "Control|Shift", action = "SearchBackward" }, +{ key = "C", mods = "Control|Shift", mode = "Vi", action = "ClearSelection" }, +{ key = "Key0", mods = "Control", action = "ResetFontSize" }, +] + diff --git a/reference/home/.config/dolphinrc b/reference/home/.config/dolphinrc new file mode 100644 index 0000000..69c76b7 --- /dev/null +++ b/reference/home/.config/dolphinrc @@ -0,0 +1,10 @@ +[General] +Version=202 +ViewPropsTimestamp=2026,7,3,19,16,13.691 + +[KFileDialog Settings] +Places Icons Auto-resize=false +Places Icons Static Size=22 + +[MainWindow] +MenuBar=Disabled diff --git a/reference/home/.config/fish/completions/bun.fish b/reference/home/.config/fish/completions/bun.fish new file mode 100644 index 0000000..6b2dc5b --- /dev/null +++ b/reference/home/.config/fish/completions/bun.fish @@ -0,0 +1,196 @@ +# This is terribly complicated +# It's because: +# 1. bun run has to have dynamic completions +# 2. there are global options +# 3. bun {install add remove} gets special options +# 4. I don't know how to write fish completions well +# Contributions very welcome!! + +function __fish__get_bun_bins + string split ' ' (bun getcompletes b) +end + +function __fish__get_bun_scripts + set -lx SHELL bash + set -lx MAX_DESCRIPTION_LEN 40 + string trim (string split '\n' (string split '\t' (bun getcompletes z))) +end + +function __fish__get_bun_packages + if test (commandline -ct) != "" + set -lx SHELL fish + string split ' ' (bun getcompletes a (commandline -ct)) + end +end + +function __history_completions + set -l tokens (commandline --current-process --tokenize) + history --prefix (commandline) | string replace -r \^$tokens[1]\\s\* "" | string replace -r \^$tokens[2]\\s\* "" | string split ' ' +end + +function __fish__get_bun_bun_js_files + string split ' ' (bun getcompletes j) +end + +set -l bun_install_boolean_flags yarn production optional development no-save dry-run force no-cache silent verbose global +set -l bun_install_boolean_flags_descriptions "Write a yarn.lock file (yarn v1)" "Don't install devDependencies" "Add dependency to optionalDependencies" "Add dependency to devDependencies" "Don't update package.json or save a lockfile" "Don't install anything" "Always request the latest versions from the registry & reinstall all dependencies" "Ignore manifest cache entirely" "Don't output anything" "Excessively verbose logging" "Use global folder" + +set -l bun_builtin_cmds_without_run dev create help bun upgrade discord install remove add update init pm x repl +set -l bun_builtin_cmds_accepting_flags create help bun upgrade discord run init link unlink pm x update + +function __bun_complete_bins_scripts --inherit-variable bun_builtin_cmds_without_run -d "Emit bun completions for bins and scripts" + # Do nothing if we already have a builtin subcommand, + # or any subcommand other than "run". + if __fish_seen_subcommand_from $bun_builtin_cmds_without_run + or not __fish_use_subcommand && not __fish_seen_subcommand_from run + return + end + # Do we already have a bin or script subcommand? + set -l bins (__fish__get_bun_bins) + if __fish_seen_subcommand_from $bins + return + end + # Scripts have descriptions appended with a tab separator. + # Strip off descriptions for the purposes of subcommand testing. + set -l scripts (__fish__get_bun_scripts) + if __fish_seen_subcommand_from (string split \t -f 1 -- $scripts) + return + end + # Emit scripts. + for script in $scripts + echo $script + end + # Emit binaries and JS files (but only if we're doing `bun run`). + if __fish_seen_subcommand_from run + for bin in $bins + echo "$bin"\t"package bin" + end + for file in (__fish__get_bun_bun_js_files) + echo "$file"\t"Bun.js" + end + end +end + + +# Clear existing completions +complete -e -c bun + +# Dynamically emit scripts and binaries +complete -c bun -f -a "(__bun_complete_bins_scripts)" + +# Complete flags if we have no subcommand or a flag-friendly one. +set -l flag_applies "__fish_use_subcommand; or __fish_seen_subcommand_from $bun_builtin_cmds_accepting_flags" +complete -c bun \ + -n $flag_applies --no-files -s 'u' -l 'origin' -r -d 'Server URL. Rewrites import paths' +complete -c bun \ + -n $flag_applies --no-files -s 'p' -l 'port' -r -d 'Port number to start server from' +complete -c bun \ + -n $flag_applies --no-files -s 'd' -l 'define' -r -d 'Substitute K:V while parsing, e.g. --define process.env.NODE_ENV:\"development\"' +complete -c bun \ + -n $flag_applies --no-files -s 'e' -l 'external' -r -d 'Exclude module from transpilation (can use * wildcards). ex: -e react' +complete -c bun \ + -n $flag_applies --no-files -l 'use' -r -d 'Use a framework (ex: next)' +complete -c bun \ + -n $flag_applies --no-files -l 'hot' -r -d 'Enable hot reloading in Bun\'s JavaScript runtime' + +# Complete dev and create as first subcommand. +complete -c bun \ + -n "__fish_use_subcommand" -a 'dev' -d 'Start dev server' +complete -c bun \ + -n "__fish_use_subcommand" -a 'create' -f -d 'Create a new project from a template' + +# Complete "next" and "react" if we've seen "create". +complete -c bun \ + -n "__fish_seen_subcommand_from create" -a 'next' -d 'new Next.js project' + +complete -c bun \ + -n "__fish_seen_subcommand_from create" -a 'react' -d 'new React project' + +# Complete "upgrade" as first subcommand. +complete -c bun \ + -n "__fish_use_subcommand" -a 'upgrade' -d 'Upgrade bun to the latest version' -x +# Complete "-h/--help" unconditionally. +complete -c bun \ + -s "h" -l "help" -d 'See all commands and flags' -x + +# Complete "-v/--version" if we have no subcommand. +complete -c bun \ + -n "not __fish_use_subcommand" -l "version" -s "v" -d 'Bun\'s version' -x + +# Complete additional subcommands. +complete -c bun \ + -n "__fish_use_subcommand" -a 'discord' -d 'Open bun\'s Discord server' -x + + +complete -c bun \ + -n "__fish_use_subcommand" -a 'bun' -d 'Generate a new bundle' + + +complete -c bun \ + -n "__fish_seen_subcommand_from bun" -F -d 'Bundle this' + +complete -c bun \ + -n "__fish_seen_subcommand_from create; and __fish_seen_subcommand_from react next" -F -d "Create in directory" + + +complete -c bun \ + -n "__fish_use_subcommand" -a 'init' -F -d 'Start an empty Bun project' + +complete -c bun \ + -n "__fish_use_subcommand" -a 'install' -f -d 'Install packages from package.json' + +complete -c bun \ + -n "__fish_use_subcommand" -a 'add' -F -d 'Add a package to package.json' + +complete -c bun \ + -n "__fish_use_subcommand" -a 'remove' -F -d 'Remove a package from package.json' + + +for i in (seq (count $bun_install_boolean_flags)) + complete -c bun \ + -n "__fish_seen_subcommand_from install add remove update" -l "$bun_install_boolean_flags[$i]" -d "$bun_install_boolean_flags_descriptions[$i]" +end + +complete -c bun \ + -n "__fish_seen_subcommand_from install add remove update" -l 'cwd' -d 'Change working directory' + +complete -c bun \ + -n "__fish_seen_subcommand_from install add remove update" -l 'cache-dir' -d 'Choose a cache directory (default: $HOME/.bun/install/cache)' + +complete -c bun \ + -n "__fish_seen_subcommand_from add" -d 'Popular' -a '(__fish__get_bun_packages)' + +complete -c bun \ + -n "__fish_seen_subcommand_from add" -d 'History' -a '(__history_completions)' + +complete -c bun \ + -n "__fish_seen_subcommand_from pm; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) cache;" -a 'bin ls cache hash hash-print hash-string' -f + +complete -c bun \ + -n "__fish_seen_subcommand_from pm; and __fish_seen_subcommand_from cache; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts);" -a 'rm' -f + +# Add built-in subcommands with descriptions. +complete -c bun -n "__fish_use_subcommand" -a "create" -f -d "Create a new project from a template" +complete -c bun -n "__fish_use_subcommand" -a "build bun" --require-parameter -F -d "Transpile and bundle one or more files" +complete -c bun -n "__fish_use_subcommand" -a "upgrade" -d "Upgrade Bun" +complete -c bun -n "__fish_use_subcommand" -a "run" -d "Run a script or package binary" +complete -c bun -n "__fish_use_subcommand" -a "install" -d "Install dependencies from package.json" -f +complete -c bun -n "__fish_use_subcommand" -a "remove" -d "Remove a dependency from package.json" -f +complete -c bun -n "__fish_use_subcommand" -a "add" -d "Add a dependency to package.json" -f +complete -c bun -n "__fish_use_subcommand" -a "init" -d "Initialize a Bun project in this directory" -f +complete -c bun -n "__fish_use_subcommand" -a "link" -d "Register or link a local npm package" -f +complete -c bun -n "__fish_use_subcommand" -a "unlink" -d "Unregister a local npm package" -f +complete -c bun -n "__fish_use_subcommand" -a "pm" -d "Additional package management utilities" -f +complete -c bun -n "__fish_use_subcommand" -a "x" -d "Execute a package binary, installing if needed" -f +complete -c bun -n "__fish_use_subcommand" -a "outdated" -d "Display the latest versions of outdated dependencies" -f +complete -c bun -n "__fish_use_subcommand" -a "update" -d "Update dependencies to their latest versions" -f +complete -c bun -n "__fish_use_subcommand" -a "publish" -d "Publish your package from local to npm" -f +complete -c bun -n "__fish_use_subcommand" -a "repl" -d "Start a REPL session with Bun" -f +complete -c bun -n "__fish_seen_subcommand_from repl" -s "e" -l "eval" -r -d "Evaluate argument as a script, then exit" -f +complete -c bun -n "__fish_seen_subcommand_from repl" -s "p" -l "print" -r -d "Evaluate argument as a script, print the result, then exit" -f +complete -c bun -n "__fish_seen_subcommand_from repl" -s "r" -l "preload" -r -d "Import a module before other modules are loaded" +complete -c bun -n "__fish_seen_subcommand_from repl" -l "smol" -d "Use less memory, but run garbage collection more often" -f +complete -c bun -n "__fish_seen_subcommand_from repl" -s "c" -l "config" -r -d "Specify path to Bun config file" +complete -c bun -n "__fish_seen_subcommand_from repl" -l "cwd" -r -d "Absolute path to resolve files & entry points from" +complete -c bun -n "__fish_seen_subcommand_from repl" -l "env-file" -r -d "Load environment variables from the specified file(s)" +complete -c bun -n "__fish_seen_subcommand_from repl" -l "no-env-file" -d "Disable automatic loading of .env files" -f diff --git a/reference/home/.config/fish/completions/dot.fish b/reference/home/.config/fish/completions/dot.fish new file mode 100644 index 0000000..d686b0b --- /dev/null +++ b/reference/home/.config/fish/completions/dot.fish @@ -0,0 +1,34 @@ +function __dot_custom_subcommands + echo init + echo help + path basename $HOME/.config/dot/commands/*.fish 2>/dev/null | path change-extension '' + + for d in $HOME/.config/dot/commands/*/ + test -d $d; or continue + set -l name (path basename $d) + test -f $d$name.fish; or continue + echo $name + end +end + +complete -c dot -n __fish_use_subcommand -a "(__dot_custom_subcommands)" + +# --- dot install --- +complete -c dot -n "__fish_seen_subcommand_from install; and not __fish_seen_argument -l restore" -l restore -d "reinstall every package from the saved list" +complete -c dot -n "__fish_seen_subcommand_from install; and not __fish_seen_argument -l no-sync" -l no-sync -d "skip the pacman -Sy database refresh" +complete -c dot -n "__fish_seen_subcommand_from install; and not __fish_seen_argument -l restore" -f -a "(__fish_print_pacman_packages)" + +# --- dot setup --- +complete -c dot -n "__fish_seen_subcommand_from setup; and not __fish_seen_subcommand_from folders help" -f -a folders -d "bring the 8 standard XDG user directories under the short-name convention" +complete -c dot -n "__fish_seen_subcommand_from setup; and not __fish_seen_subcommand_from folders help" -f -a help -d "show usage" +complete -c dot -n "__fish_seen_subcommand_from setup; and __fish_seen_subcommand_from folders" -f -a help -d "show usage" + +# --- dot kde --- +complete -c dot -n "__fish_seen_subcommand_from kde; and not __fish_seen_subcommand_from apply diff save help" -f -a apply -d "push manifest entries onto the live system" +complete -c dot -n "__fish_seen_subcommand_from kde; and not __fish_seen_subcommand_from apply diff save help" -f -a diff -d "scan for settings whose live value differs from its default" +complete -c dot -n "__fish_seen_subcommand_from kde; and not __fish_seen_subcommand_from apply diff save help" -f -a save -d "write live KDE settings into the manifest" +complete -c dot -n "__fish_seen_subcommand_from kde; and not __fish_seen_subcommand_from apply diff save help" -f -a help -d "show usage" +complete -c dot -n "__fish_seen_subcommand_from kde; and __fish_seen_subcommand_from apply diff save" -f -a help -d "show usage" +# Sourced live from the schema mapping table (real .kcfg files), not a +# hardcoded list -- same helper kde.py's own save/refresh logic builds from. +complete -c dot -n "__fish_seen_subcommand_from kde; and __fish_seen_subcommand_from save" -f -a "(python3 $HOME/.config/dot/commands/kde/kde.py complete 2>/dev/null)" diff --git a/reference/home/.config/fish/completions/fishtape.fish b/reference/home/.config/fish/completions/fishtape.fish new file mode 100644 index 0000000..ad81efe --- /dev/null +++ b/reference/home/.config/fish/completions/fishtape.fish @@ -0,0 +1,2 @@ +complete --command fishtape --short v --long version --description "Print version" +complete --command fishtape --short h --long help --description "Print help" diff --git a/reference/home/.config/fish/conf.d/aliases.fish b/reference/home/.config/fish/conf.d/aliases.fish new file mode 100644 index 0000000..a0e0c45 --- /dev/null +++ b/reference/home/.config/fish/conf.d/aliases.fish @@ -0,0 +1,4 @@ +alias cp='cp -v' +alias vi=nvim +alias vim=nvim +alias tmx='tmux new-session -A -s' diff --git a/reference/home/.config/fish/conf.d/env.fish b/reference/home/.config/fish/conf.d/env.fish new file mode 100644 index 0000000..ceeae7e --- /dev/null +++ b/reference/home/.config/fish/conf.d/env.fish @@ -0,0 +1,4 @@ +set -gx EDITOR nvim +set -x ANDROID_HOME $HOME/Android/Sdk +fish_add_path $ANDROID_HOME/platform-tools +fish_add_path $ANDROID_HOME/tools/bin diff --git a/reference/home/.config/fish/conf.d/rustup.fish b/reference/home/.config/fish/conf.d/rustup.fish new file mode 100644 index 0000000..e4cb363 --- /dev/null +++ b/reference/home/.config/fish/conf.d/rustup.fish @@ -0,0 +1 @@ +source "$HOME/.cargo/env.fish" diff --git a/reference/home/.config/fish/config.fish b/reference/home/.config/fish/config.fish new file mode 100644 index 0000000..a3741f1 --- /dev/null +++ b/reference/home/.config/fish/config.fish @@ -0,0 +1,17 @@ +source /usr/share/cachyos-fish-config/cachyos-config.fish + +set -gx EDITOR nvim +set -gx VISUAL nvim + +# overwrite greeting +# potentially disabling fastfetch +#function fish_greeting +# # smth smth +#end + +# bun +set --export BUN_INSTALL "$HOME/.bun" +set --export PATH $BUN_INSTALL/bin $PATH + +# Pi +fish_add_path "/home/alexion/.local/opt/node-v24.18.0-linux-x64/bin" diff --git a/reference/home/.config/fish/fish_plugins b/reference/home/.config/fish/fish_plugins new file mode 100644 index 0000000..32526b8 --- /dev/null +++ b/reference/home/.config/fish/fish_plugins @@ -0,0 +1 @@ +jorgebucaran/fishtape diff --git a/reference/home/.config/fish/functions/dot.fish b/reference/home/.config/fish/functions/dot.fish new file mode 100644 index 0000000..aea4c0d --- /dev/null +++ b/reference/home/.config/fish/functions/dot.fish @@ -0,0 +1,130 @@ +function dot --wraps=git --description 'Manage dotfiles via a bare repo checked out over $HOME' + set -l dotfiles_dir $HOME/.dotfiles + + if test "$argv[1]" = init + set -e argv[1] + __dot_init $dotfiles_dir $argv + return $status + end + + if test "$argv[1]" = help + __dot_help + return $status + end + + set -l commands_dir $HOME/.config/dot/commands + set -l command_file $commands_dir/$argv[1].fish + set -l nested_command_file $commands_dir/$argv[1]/$argv[1].fish + + if test -n "$argv[1]" + if test -f "$command_file" + source $command_file + _dot_$argv[1] $argv[2..-1] + return $status + else if test -f "$nested_command_file" + source $nested_command_file + _dot_$argv[1] $argv[2..-1] + return $status + end + end + + git --git-dir=$dotfiles_dir --work-tree=$HOME $argv +end + +# Kept inline (not a separate autoloaded function file) because this is the +# only subcommand that must work before the dotfiles repo has been cloned. +function __dot_init + set -l dotfiles_dir $argv[1] + set -e argv[1] + + argparse 'url=' -- $argv + or return 1 + + set -l url $_flag_url + test -n "$url"; or set url ssh://gitea@git.alexion.dev:2022/alexion/dotfiles.git + + if test -e $dotfiles_dir + echo "dot init: $dotfiles_dir already exists, refusing to re-initialize" >&2 + return 1 + end + + git clone --bare $url $dotfiles_dir + or begin + echo "dot init: failed to clone $url" >&2 + return 1 + end + + git --git-dir=$dotfiles_dir config status.showUntrackedFiles no + + set -l checkout_output (git --git-dir=$dotfiles_dir --work-tree=$HOME checkout 2>&1) + set -l checkout_status $status + + if test $checkout_status -ne 0 + set -l conflicts + set -l in_block 0 + + for line in $checkout_output + if test $in_block -eq 1 + if string match -rq '^\s' -- $line + set -a conflicts (string trim -- $line) + continue + else + set in_block 0 + end + end + + string match -q '*would be overwritten by checkout:*' -- $line + and set in_block 1 + end + + if test (count $conflicts) -eq 0 + echo "dot init: checkout failed and no recoverable conflicts were found:" >&2 + printf '%s\n' $checkout_output >&2 + return 1 + end + + set -l backup_dir $HOME/.dotfiles-backup/(date +%Y%m%dT%H%M%S) + for f in $conflicts + mkdir -p (path dirname $backup_dir/$f) + mv $HOME/$f $backup_dir/$f + echo "dot init: backed up ~/$f to $backup_dir/$f" + end + + git --git-dir=$dotfiles_dir --work-tree=$HOME checkout + or begin + echo "dot init: checkout still failing after backing up conflicts, aborting" >&2 + return 1 + end + end + + echo "dot init: bootstrapped $dotfiles_dir from $url" +end + +# The custom-subcommand glob is duplicated (not shared with +# completions/dot.fish) because fish only autoloads a function from a file +# named after that function; a shared helper would go undefined if `dot help` +# ran in a completion context before `dot` itself had ever been sourced. +function __dot_help + echo "dot: manage dotfiles via a bare repo checked out over \$HOME + +Commands: + init bootstrap the dotfiles repo on a new machine + help show this message" + + for f in $HOME/.config/dot/commands/*.fish + test -e $f; or continue + echo " "(path basename $f | path change-extension '') + end + + for d in $HOME/.config/dot/commands/*/ + test -d $d; or continue + set -l name (path basename $d) + test -f $d$name.fish; or continue + echo " $name" + end + + echo " +Run 'dot help' for flags on a specific command. + +Any other command is passed through to git (dot status, dot add, dot commit, dot push, ...)." +end diff --git a/reference/home/.config/fish/functions/fishtape.fish b/reference/home/.config/fish/functions/fishtape.fish new file mode 100644 index 0000000..7759f92 --- /dev/null +++ b/reference/home/.config/fish/functions/fishtape.fish @@ -0,0 +1,116 @@ +function fishtape --description "Test scripts, functions, and plugins in Fish" + switch "$argv" + case -v --version + echo "fishtape, version 3.0.1" + case "" -h --help + echo "Usage: fishtape Run test files" + echo "Options:" + echo " -v or --version Print version" + echo " -h or --help Print this help message" + case \* + set --local files (realpath $argv) + + for file in $files + if test ! -f $file + echo "fishtape: Invalid file or file not found: \"$file\"" >&2 + return 1 + end + end + + set --local operators -{n,z,b,c,d,e,f,g,G,k,L,O,p,r,s,S,t,u,w,x} + set --local expectations \ + "a non-zero length string" \ + "a zero length string" \ + "a block device" \ + "a character device" \ + "a directory" \ + "an existing file" \ + "a regular file" \ + "a file with the set-group-ID bit set" \ + "a file with same group ID as the current user" \ + "a file with the sticky bit set" \ + "a symbolic link" \ + "a file owned by the current user" \ + "a named pipe" \ + "a file marked as readable" \ + "a file of size greater than zero" \ + "a socket" \ + "a terminal tty file descriptor" \ + "a file with the set-user-ID bit set" \ + "a file marked as writable" \ + "a file marked as executable" + + set --universal _fishtape_test_number 0 + set --universal _fishtape_test_passed 0 + set --universal _fishtape_test_failed 0 + + function @echo + echo "# $argv" + end + + function @test --argument-names name --inherit-variable operators --inherit-variable expectations + set --erase argv[1] + set --query argv[2] || set --append argv "" + + set _fishtape_test_number (math $_fishtape_test_number + 1) + + if test $argv + set _fishtape_test_passed (math $_fishtape_test_passed + 1) + + echo "ok $_fishtape_test_number $name" + else + if test $argv[1] = "!" + set operator "! " + set expected "not " + set --erase argv[1] + end + + if set --query argv[3] + set operator "$operator"$argv[2] + set expected (string escape -- $argv[3]) + set actual (string escape -- $argv[1]) + else + set operator "$operator"$argv[1] + set expected "$expected"$expectations[(contains --index -- $argv[1] $operators)] + set actual (string escape -- $argv[2]) + end + + set _fishtape_test_failed (math $_fishtape_test_failed + 1) + + status print-stack-trace | + string replace --filter --regex -- "\s+called on line (\d+) of file (.+)" '$2:$1' | + read --local at + + echo "not ok $_fishtape_test_number $name" + echo " ---" + echo " operator: $operator" + echo " expected: $expected" + echo " actual: $actual" + echo " at: $at" + echo " ..." + end + end + + echo TAP version 13 + + for file in $files + fish --init-command=(functions @echo | string collect) --init-command=(functions @test | string collect) $file + end + + echo + echo "1..$_fishtape_test_number" + echo "# pass $_fishtape_test_passed" + test $_fishtape_test_failed -eq 0 && + echo "# ok" || + echo "# fail $_fishtape_test_failed" + + functions --erase @echo @test + + set --local failed $_fishtape_test_failed + set --erase _fishtape_test_number + set --erase _fishtape_test_passed + set --erase _fishtape_test_failed + + test $failed -eq 0 + end +end diff --git a/reference/home/.config/fontconfig/fonts.conf b/reference/home/.config/fontconfig/fonts.conf new file mode 100644 index 0000000..acd04e3 --- /dev/null +++ b/reference/home/.config/fontconfig/fonts.conf @@ -0,0 +1,79 @@ + + + + + + + + roman + + + + roman + + + + + matrix + + 1 + 0.2 + 0 + 1 + + + + + + oblique + + + + false + + + + + + + medium + + + + bold + + + + true + + + + bold + + + + + true + + + + + hintslight + + + + + true + + + diff --git a/reference/home/.config/gtk-3.0/assets/close-active.svg b/reference/home/.config/gtk-3.0/assets/close-active.svg new file mode 100644 index 0000000..8c5c4ae --- /dev/null +++ b/reference/home/.config/gtk-3.0/assets/close-active.svg @@ -0,0 +1,33 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + + + + + + diff --git a/reference/home/.config/gtk-3.0/assets/close-backdrop-active.svg b/reference/home/.config/gtk-3.0/assets/close-backdrop-active.svg new file mode 100644 index 0000000..97b61cd --- /dev/null +++ b/reference/home/.config/gtk-3.0/assets/close-backdrop-active.svg @@ -0,0 +1,33 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + + + + + + diff --git a/reference/home/.config/gtk-3.0/assets/close-backdrop-hover.svg b/reference/home/.config/gtk-3.0/assets/close-backdrop-hover.svg new file mode 100644 index 0000000..fff82c1 --- /dev/null +++ b/reference/home/.config/gtk-3.0/assets/close-backdrop-hover.svg @@ -0,0 +1,33 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + + + + + + diff --git a/reference/home/.config/gtk-3.0/assets/close-backdrop-normal.svg b/reference/home/.config/gtk-3.0/assets/close-backdrop-normal.svg new file mode 100644 index 0000000..686fc75 --- /dev/null +++ b/reference/home/.config/gtk-3.0/assets/close-backdrop-normal.svg @@ -0,0 +1,27 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + + diff --git a/reference/home/.config/gtk-3.0/assets/close-hover.svg b/reference/home/.config/gtk-3.0/assets/close-hover.svg new file mode 100644 index 0000000..fa11728 --- /dev/null +++ b/reference/home/.config/gtk-3.0/assets/close-hover.svg @@ -0,0 +1,33 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + + + + + + diff --git a/reference/home/.config/gtk-3.0/assets/close-normal.svg b/reference/home/.config/gtk-3.0/assets/close-normal.svg new file mode 100644 index 0000000..c9b8281 --- /dev/null +++ b/reference/home/.config/gtk-3.0/assets/close-normal.svg @@ -0,0 +1,27 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + + diff --git a/reference/home/.config/gtk-3.0/assets/maximize-active.svg b/reference/home/.config/gtk-3.0/assets/maximize-active.svg new file mode 100644 index 0000000..2cb231c --- /dev/null +++ b/reference/home/.config/gtk-3.0/assets/maximize-active.svg @@ -0,0 +1,32 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + + + + + diff --git a/reference/home/.config/gtk-3.0/assets/maximize-backdrop-active.svg b/reference/home/.config/gtk-3.0/assets/maximize-backdrop-active.svg new file mode 100644 index 0000000..87452e9 --- /dev/null +++ b/reference/home/.config/gtk-3.0/assets/maximize-backdrop-active.svg @@ -0,0 +1,32 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + + + + + diff --git a/reference/home/.config/gtk-3.0/assets/maximize-backdrop-hover.svg b/reference/home/.config/gtk-3.0/assets/maximize-backdrop-hover.svg new file mode 100644 index 0000000..41112d5 --- /dev/null +++ b/reference/home/.config/gtk-3.0/assets/maximize-backdrop-hover.svg @@ -0,0 +1,32 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + + + + + diff --git a/reference/home/.config/gtk-3.0/assets/maximize-backdrop-normal.svg b/reference/home/.config/gtk-3.0/assets/maximize-backdrop-normal.svg new file mode 100644 index 0000000..2022b73 --- /dev/null +++ b/reference/home/.config/gtk-3.0/assets/maximize-backdrop-normal.svg @@ -0,0 +1,26 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + diff --git a/reference/home/.config/gtk-3.0/assets/maximize-hover.svg b/reference/home/.config/gtk-3.0/assets/maximize-hover.svg new file mode 100644 index 0000000..e185b9b --- /dev/null +++ b/reference/home/.config/gtk-3.0/assets/maximize-hover.svg @@ -0,0 +1,32 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + + + + + diff --git a/reference/home/.config/gtk-3.0/assets/maximize-normal.svg b/reference/home/.config/gtk-3.0/assets/maximize-normal.svg new file mode 100644 index 0000000..801997e --- /dev/null +++ b/reference/home/.config/gtk-3.0/assets/maximize-normal.svg @@ -0,0 +1,26 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + diff --git a/reference/home/.config/gtk-3.0/assets/maximized-active.svg b/reference/home/.config/gtk-3.0/assets/maximized-active.svg new file mode 100644 index 0000000..0d94719 --- /dev/null +++ b/reference/home/.config/gtk-3.0/assets/maximized-active.svg @@ -0,0 +1,32 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + + + + + diff --git a/reference/home/.config/gtk-3.0/assets/maximized-backdrop-active.svg b/reference/home/.config/gtk-3.0/assets/maximized-backdrop-active.svg new file mode 100644 index 0000000..2ab39cf --- /dev/null +++ b/reference/home/.config/gtk-3.0/assets/maximized-backdrop-active.svg @@ -0,0 +1,32 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + + + + + diff --git a/reference/home/.config/gtk-3.0/assets/maximized-backdrop-hover.svg b/reference/home/.config/gtk-3.0/assets/maximized-backdrop-hover.svg new file mode 100644 index 0000000..6ed6b12 --- /dev/null +++ b/reference/home/.config/gtk-3.0/assets/maximized-backdrop-hover.svg @@ -0,0 +1,32 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + + + + + diff --git a/reference/home/.config/gtk-3.0/assets/maximized-backdrop-normal.svg b/reference/home/.config/gtk-3.0/assets/maximized-backdrop-normal.svg new file mode 100644 index 0000000..2e3594f --- /dev/null +++ b/reference/home/.config/gtk-3.0/assets/maximized-backdrop-normal.svg @@ -0,0 +1,26 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + diff --git a/reference/home/.config/gtk-3.0/assets/maximized-hover.svg b/reference/home/.config/gtk-3.0/assets/maximized-hover.svg new file mode 100644 index 0000000..09e39ea --- /dev/null +++ b/reference/home/.config/gtk-3.0/assets/maximized-hover.svg @@ -0,0 +1,32 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + + + + + diff --git a/reference/home/.config/gtk-3.0/assets/maximized-normal.svg b/reference/home/.config/gtk-3.0/assets/maximized-normal.svg new file mode 100644 index 0000000..bf23e18 --- /dev/null +++ b/reference/home/.config/gtk-3.0/assets/maximized-normal.svg @@ -0,0 +1,26 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + diff --git a/reference/home/.config/gtk-3.0/assets/minimize-active.svg b/reference/home/.config/gtk-3.0/assets/minimize-active.svg new file mode 100644 index 0000000..e5835d0 --- /dev/null +++ b/reference/home/.config/gtk-3.0/assets/minimize-active.svg @@ -0,0 +1,32 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + + + + + diff --git a/reference/home/.config/gtk-3.0/assets/minimize-backdrop-active.svg b/reference/home/.config/gtk-3.0/assets/minimize-backdrop-active.svg new file mode 100644 index 0000000..5e0b1b7 --- /dev/null +++ b/reference/home/.config/gtk-3.0/assets/minimize-backdrop-active.svg @@ -0,0 +1,32 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + + + + + diff --git a/reference/home/.config/gtk-3.0/assets/minimize-backdrop-hover.svg b/reference/home/.config/gtk-3.0/assets/minimize-backdrop-hover.svg new file mode 100644 index 0000000..761d383 --- /dev/null +++ b/reference/home/.config/gtk-3.0/assets/minimize-backdrop-hover.svg @@ -0,0 +1,32 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + + + + + diff --git a/reference/home/.config/gtk-3.0/assets/minimize-backdrop-normal.svg b/reference/home/.config/gtk-3.0/assets/minimize-backdrop-normal.svg new file mode 100644 index 0000000..93226c9 --- /dev/null +++ b/reference/home/.config/gtk-3.0/assets/minimize-backdrop-normal.svg @@ -0,0 +1,26 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + diff --git a/reference/home/.config/gtk-3.0/assets/minimize-hover.svg b/reference/home/.config/gtk-3.0/assets/minimize-hover.svg new file mode 100644 index 0000000..46853fc --- /dev/null +++ b/reference/home/.config/gtk-3.0/assets/minimize-hover.svg @@ -0,0 +1,32 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + + + + + diff --git a/reference/home/.config/gtk-3.0/assets/minimize-normal.svg b/reference/home/.config/gtk-3.0/assets/minimize-normal.svg new file mode 100644 index 0000000..8034b01 --- /dev/null +++ b/reference/home/.config/gtk-3.0/assets/minimize-normal.svg @@ -0,0 +1,26 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + diff --git a/reference/home/.config/gtk-3.0/colors.css b/reference/home/.config/gtk-3.0/colors.css new file mode 100644 index 0000000..325eb22 --- /dev/null +++ b/reference/home/.config/gtk-3.0/colors.css @@ -0,0 +1,84 @@ +@define-color borders_breeze #4c4e51; +@define-color content_view_bg_breeze #141618; +@define-color error_color_backdrop_breeze #da4453; +@define-color error_color_breeze #da4453; +@define-color error_color_insensitive_backdrop_breeze #55242b; +@define-color error_color_insensitive_breeze #55242b; +@define-color insensitive_base_color_breeze #131517; +@define-color insensitive_base_fg_color_breeze #606263; +@define-color insensitive_bg_color_breeze #1f2124; +@define-color insensitive_borders_breeze #2d3033; +@define-color insensitive_fg_color_breeze #686a6c; +@define-color insensitive_selected_bg_color_breeze #1f2124; +@define-color insensitive_selected_fg_color_breeze #686a6c; +@define-color insensitive_unfocused_bg_color_breeze #1f2124; +@define-color insensitive_unfocused_fg_color_breeze #686a6c; +@define-color insensitive_unfocused_selected_bg_color_breeze #1f2124; +@define-color insensitive_unfocused_selected_fg_color_breeze #686a6c; +@define-color link_color_breeze #1d99f3; +@define-color link_visited_color_breeze #9b59b6; +@define-color success_color_backdrop_breeze #27ae60; +@define-color success_color_breeze #27ae60; +@define-color success_color_insensitive_backdrop_breeze #19482f; +@define-color success_color_insensitive_breeze #19482f; +@define-color theme_base_color_breeze #141618; +@define-color theme_bg_color_breeze #202326; +@define-color theme_button_background_backdrop_breeze #292c30; +@define-color theme_button_background_backdrop_insensitive_breeze #272a2e; +@define-color theme_button_background_insensitive_breeze #272a2e; +@define-color theme_button_background_normal_breeze #292c30; +@define-color theme_button_decoration_focus_backdrop_breeze #3daee9; +@define-color theme_button_decoration_focus_backdrop_insensitive_breeze #2e556b; +@define-color theme_button_decoration_focus_breeze #3daee9; +@define-color theme_button_decoration_focus_insensitive_breeze #2e556b; +@define-color theme_button_decoration_hover_backdrop_breeze #3daee9; +@define-color theme_button_decoration_hover_backdrop_insensitive_breeze #2e556b; +@define-color theme_button_decoration_hover_breeze #3daee9; +@define-color theme_button_decoration_hover_insensitive_breeze #2e556b; +@define-color theme_button_foreground_active_backdrop_breeze #fcfcfc; +@define-color theme_button_foreground_active_backdrop_insensitive_breeze #686a6c; +@define-color theme_button_foreground_active_breeze #fcfcfc; +@define-color theme_button_foreground_active_insensitive_breeze #686a6c; +@define-color theme_button_foreground_backdrop_breeze #fcfcfc; +@define-color theme_button_foreground_backdrop_insensitive_breeze #6d6f72; +@define-color theme_button_foreground_insensitive_breeze #6d6f72; +@define-color theme_button_foreground_normal_breeze #fcfcfc; +@define-color theme_fg_color_breeze #fcfcfc; +@define-color theme_header_background_backdrop_breeze #202326; +@define-color theme_header_background_breeze #292c30; +@define-color theme_header_background_light_breeze #202326; +@define-color theme_header_foreground_backdrop_breeze #fcfcfc; +@define-color theme_header_foreground_breeze #fcfcfc; +@define-color theme_header_foreground_insensitive_backdrop_breeze #fcfcfc; +@define-color theme_header_foreground_insensitive_breeze #fcfcfc; +@define-color theme_hovering_selected_bg_color_breeze #3daee9; +@define-color theme_selected_bg_color_breeze #3daee9; +@define-color theme_selected_fg_color_breeze #fcfcfc; +@define-color theme_text_color_breeze #fcfcfc; +@define-color theme_titlebar_background_backdrop_breeze #202326; +@define-color theme_titlebar_background_breeze #292c30; +@define-color theme_titlebar_background_light_breeze #202326; +@define-color theme_titlebar_foreground_backdrop_breeze #fcfcfc; +@define-color theme_titlebar_foreground_breeze #fcfcfc; +@define-color theme_titlebar_foreground_insensitive_backdrop_breeze #fcfcfc; +@define-color theme_titlebar_foreground_insensitive_breeze #fcfcfc; +@define-color theme_unfocused_base_color_breeze #141618; +@define-color theme_unfocused_bg_color_breeze #202326; +@define-color theme_unfocused_fg_color_breeze #fcfcfc; +@define-color theme_unfocused_selected_bg_color_alt_breeze #1b4155; +@define-color theme_unfocused_selected_bg_color_breeze #1b4155; +@define-color theme_unfocused_selected_fg_color_breeze #fcfcfc; +@define-color theme_unfocused_text_color_breeze #fcfcfc; +@define-color theme_unfocused_view_bg_color_breeze #131517; +@define-color theme_unfocused_view_text_color_breeze #606263; +@define-color theme_view_active_decoration_color_breeze #3daee9; +@define-color theme_view_hover_decoration_color_breeze #3daee9; +@define-color tooltip_background_breeze #292c30; +@define-color tooltip_border_breeze #535659; +@define-color tooltip_text_breeze #fcfcfc; +@define-color unfocused_borders_breeze #4c4e51; +@define-color unfocused_insensitive_borders_breeze #2d3033; +@define-color warning_color_backdrop_breeze #f67400; +@define-color warning_color_breeze #f67400; +@define-color warning_color_insensitive_backdrop_breeze #5e340f; +@define-color warning_color_insensitive_breeze #5e340f; diff --git a/reference/home/.config/gtk-3.0/gtk.css b/reference/home/.config/gtk-3.0/gtk.css new file mode 100644 index 0000000..c9763f7 --- /dev/null +++ b/reference/home/.config/gtk-3.0/gtk.css @@ -0,0 +1 @@ +@import 'colors.css'; \ No newline at end of file diff --git a/reference/home/.config/gtk-3.0/settings.ini b/reference/home/.config/gtk-3.0/settings.ini new file mode 100644 index 0000000..15264ab --- /dev/null +++ b/reference/home/.config/gtk-3.0/settings.ini @@ -0,0 +1,18 @@ +[Settings] +gtk-application-prefer-dark-theme=true +gtk-button-images=true +gtk-cursor-blink=true +gtk-cursor-blink-time=1000 +gtk-cursor-theme-name=breeze_cursors +gtk-cursor-theme-size=24 +gtk-decoration-layout=icon:minimize,maximize,close +gtk-enable-animations=true +gtk-font-name=Noto Sans, 14 +gtk-icon-theme-name=breeze-dark +gtk-menu-images=true +gtk-modules=colorreload-gtk-module:window-decorations-gtk-module +gtk-primary-button-warps-slider=true +gtk-sound-theme-name=ocean +gtk-theme-name=Breeze +gtk-toolbar-style=3 +gtk-xft-dpi=98304 diff --git a/reference/home/.config/gtk-3.0/window_decorations.css b/reference/home/.config/gtk-3.0/window_decorations.css new file mode 100644 index 0000000..ca70a8a --- /dev/null +++ b/reference/home/.config/gtk-3.0/window_decorations.css @@ -0,0 +1,71 @@ +headerbar button.titlebutton.close, .titlebar button.titlebutton.close { + background-image: url("assets/close-normal.svg"); } + +headerbar button.titlebutton.close:hover, .titlebar button.titlebutton.close:hover { + background-image: url("assets/close-hover.svg"); } + +headerbar button.titlebutton.close:active, .titlebar button.titlebutton.close:active { + background-image: url("assets/close-active.svg"); } + +headerbar button.titlebutton.close:backdrop, .titlebar button.titlebutton.close:backdrop { + background-image: url("assets/close-backdrop-normal.svg"); } + +headerbar button.titlebutton.close:backdrop:hover, .titlebar button.titlebutton.close:backdrop:hover { + background-image: url("assets/close-backdrop-hover.svg"); } + +headerbar button.titlebutton.close:backdrop:active, .titlebar button.titlebutton.close:backdrop:active { + background-image: url("assets/close-backdrop-active.svg"); } + +headerbar button.titlebutton.maximize, .titlebar button.titlebutton.maximize { + background-image: url("assets/maximize-normal.svg"); } + +headerbar button.titlebutton.maximize:hover, .titlebar button.titlebutton.maximize:hover { + background-image: url("assets/maximize-hover.svg"); } + +headerbar button.titlebutton.maximize:active, .titlebar button.titlebutton.maximize:active { + background-image: url("assets/maximize-active.svg"); } + +headerbar button.titlebutton.maximize:backdrop, .titlebar button.titlebutton.maximize:backdrop { + background-image: url("assets/maximize-backdrop-normal.svg"); } + +headerbar button.titlebutton.maximize:backdrop:hover, .titlebar button.titlebutton.maximize:backdrop:hover { + background-image: url("assets/maximize-backdrop-hover.svg"); } + +headerbar button.titlebutton.maximize:backdrop:active, .titlebar button.titlebutton.maximize:backdrop:active { + background-image: url("assets/maximize-backdrop-active.svg"); } + +headerbar button.titlebutton.minimize, .titlebar button.titlebutton.minimize { + background-image: url("assets/minimize-normal.svg"); } + +headerbar button.titlebutton.minimize:hover, .titlebar button.titlebutton.minimize:hover { + background-image: url("assets/minimize-hover.svg"); } + +headerbar button.titlebutton.minimize:active, .titlebar button.titlebutton.minimize:active { + background-image: url("assets/minimize-active.svg"); } + +headerbar button.titlebutton.minimize:backdrop, .titlebar button.titlebutton.minimize:backdrop { + background-image: url("assets/minimize-backdrop-normal.svg"); } + +headerbar button.titlebutton.minimize:backdrop:hover, .titlebar button.titlebutton.minimize:backdrop:hover { + background-image: url("assets/minimize-backdrop-hover.svg"); } + +headerbar button.titlebutton.minimize:backdrop:active, .titlebar button.titlebutton.minimize:backdrop:active { + background-image: url("assets/minimize-backdrop-active.svg"); } + +.maximized headerbar button.titlebutton.maximize, .maximized .titlebar button.titlebutton.maximize { + background-image: url("assets/maximized-normal.svg"); } + +.maximized headerbar button.titlebutton.maximize:hover, .maximized .titlebar button.titlebutton.maximize:hover { + background-image: url("assets/maximized-hover.svg"); } + +.maximized headerbar button.titlebutton.maximize:active, .maximized .titlebar button.titlebutton.maximize:active { + background-image: url("assets/maximized-active.svg"); } + +.maximized headerbar button.titlebutton.maximize:backdrop, .maximized .titlebar button.titlebutton.maximize:backdrop { + background-image: url("assets/maximized-backdrop-normal.svg"); } + +.maximized headerbar button.titlebutton.maximize:backdrop:hover, .maximized .titlebar button.titlebutton.maximize:backdrop:hover { + background-image: url("assets/maximized-backdrop-hover.svg"); } + +.maximized headerbar button.titlebutton.maximize:backdrop:active, .maximized .titlebar button.titlebutton.maximize:backdrop:active { + background-image: url("assets/maximized-backdrop-active.svg"); } diff --git a/reference/home/.config/gtk-4.0/colors.css b/reference/home/.config/gtk-4.0/colors.css new file mode 100644 index 0000000..325eb22 --- /dev/null +++ b/reference/home/.config/gtk-4.0/colors.css @@ -0,0 +1,84 @@ +@define-color borders_breeze #4c4e51; +@define-color content_view_bg_breeze #141618; +@define-color error_color_backdrop_breeze #da4453; +@define-color error_color_breeze #da4453; +@define-color error_color_insensitive_backdrop_breeze #55242b; +@define-color error_color_insensitive_breeze #55242b; +@define-color insensitive_base_color_breeze #131517; +@define-color insensitive_base_fg_color_breeze #606263; +@define-color insensitive_bg_color_breeze #1f2124; +@define-color insensitive_borders_breeze #2d3033; +@define-color insensitive_fg_color_breeze #686a6c; +@define-color insensitive_selected_bg_color_breeze #1f2124; +@define-color insensitive_selected_fg_color_breeze #686a6c; +@define-color insensitive_unfocused_bg_color_breeze #1f2124; +@define-color insensitive_unfocused_fg_color_breeze #686a6c; +@define-color insensitive_unfocused_selected_bg_color_breeze #1f2124; +@define-color insensitive_unfocused_selected_fg_color_breeze #686a6c; +@define-color link_color_breeze #1d99f3; +@define-color link_visited_color_breeze #9b59b6; +@define-color success_color_backdrop_breeze #27ae60; +@define-color success_color_breeze #27ae60; +@define-color success_color_insensitive_backdrop_breeze #19482f; +@define-color success_color_insensitive_breeze #19482f; +@define-color theme_base_color_breeze #141618; +@define-color theme_bg_color_breeze #202326; +@define-color theme_button_background_backdrop_breeze #292c30; +@define-color theme_button_background_backdrop_insensitive_breeze #272a2e; +@define-color theme_button_background_insensitive_breeze #272a2e; +@define-color theme_button_background_normal_breeze #292c30; +@define-color theme_button_decoration_focus_backdrop_breeze #3daee9; +@define-color theme_button_decoration_focus_backdrop_insensitive_breeze #2e556b; +@define-color theme_button_decoration_focus_breeze #3daee9; +@define-color theme_button_decoration_focus_insensitive_breeze #2e556b; +@define-color theme_button_decoration_hover_backdrop_breeze #3daee9; +@define-color theme_button_decoration_hover_backdrop_insensitive_breeze #2e556b; +@define-color theme_button_decoration_hover_breeze #3daee9; +@define-color theme_button_decoration_hover_insensitive_breeze #2e556b; +@define-color theme_button_foreground_active_backdrop_breeze #fcfcfc; +@define-color theme_button_foreground_active_backdrop_insensitive_breeze #686a6c; +@define-color theme_button_foreground_active_breeze #fcfcfc; +@define-color theme_button_foreground_active_insensitive_breeze #686a6c; +@define-color theme_button_foreground_backdrop_breeze #fcfcfc; +@define-color theme_button_foreground_backdrop_insensitive_breeze #6d6f72; +@define-color theme_button_foreground_insensitive_breeze #6d6f72; +@define-color theme_button_foreground_normal_breeze #fcfcfc; +@define-color theme_fg_color_breeze #fcfcfc; +@define-color theme_header_background_backdrop_breeze #202326; +@define-color theme_header_background_breeze #292c30; +@define-color theme_header_background_light_breeze #202326; +@define-color theme_header_foreground_backdrop_breeze #fcfcfc; +@define-color theme_header_foreground_breeze #fcfcfc; +@define-color theme_header_foreground_insensitive_backdrop_breeze #fcfcfc; +@define-color theme_header_foreground_insensitive_breeze #fcfcfc; +@define-color theme_hovering_selected_bg_color_breeze #3daee9; +@define-color theme_selected_bg_color_breeze #3daee9; +@define-color theme_selected_fg_color_breeze #fcfcfc; +@define-color theme_text_color_breeze #fcfcfc; +@define-color theme_titlebar_background_backdrop_breeze #202326; +@define-color theme_titlebar_background_breeze #292c30; +@define-color theme_titlebar_background_light_breeze #202326; +@define-color theme_titlebar_foreground_backdrop_breeze #fcfcfc; +@define-color theme_titlebar_foreground_breeze #fcfcfc; +@define-color theme_titlebar_foreground_insensitive_backdrop_breeze #fcfcfc; +@define-color theme_titlebar_foreground_insensitive_breeze #fcfcfc; +@define-color theme_unfocused_base_color_breeze #141618; +@define-color theme_unfocused_bg_color_breeze #202326; +@define-color theme_unfocused_fg_color_breeze #fcfcfc; +@define-color theme_unfocused_selected_bg_color_alt_breeze #1b4155; +@define-color theme_unfocused_selected_bg_color_breeze #1b4155; +@define-color theme_unfocused_selected_fg_color_breeze #fcfcfc; +@define-color theme_unfocused_text_color_breeze #fcfcfc; +@define-color theme_unfocused_view_bg_color_breeze #131517; +@define-color theme_unfocused_view_text_color_breeze #606263; +@define-color theme_view_active_decoration_color_breeze #3daee9; +@define-color theme_view_hover_decoration_color_breeze #3daee9; +@define-color tooltip_background_breeze #292c30; +@define-color tooltip_border_breeze #535659; +@define-color tooltip_text_breeze #fcfcfc; +@define-color unfocused_borders_breeze #4c4e51; +@define-color unfocused_insensitive_borders_breeze #2d3033; +@define-color warning_color_backdrop_breeze #f67400; +@define-color warning_color_breeze #f67400; +@define-color warning_color_insensitive_backdrop_breeze #5e340f; +@define-color warning_color_insensitive_breeze #5e340f; diff --git a/reference/home/.config/gtk-4.0/gtk.css b/reference/home/.config/gtk-4.0/gtk.css new file mode 100644 index 0000000..c9763f7 --- /dev/null +++ b/reference/home/.config/gtk-4.0/gtk.css @@ -0,0 +1 @@ +@import 'colors.css'; \ No newline at end of file diff --git a/reference/home/.config/gtk-4.0/settings.ini b/reference/home/.config/gtk-4.0/settings.ini new file mode 100644 index 0000000..b4bf85a --- /dev/null +++ b/reference/home/.config/gtk-4.0/settings.ini @@ -0,0 +1,13 @@ +[Settings] +gtk-application-prefer-dark-theme=true +gtk-cursor-blink=true +gtk-cursor-blink-time=1000 +gtk-cursor-theme-name=breeze_cursors +gtk-cursor-theme-size=24 +gtk-decoration-layout=icon:minimize,maximize,close +gtk-enable-animations=true +gtk-font-name=Noto Sans, 14 +gtk-icon-theme-name=breeze-dark +gtk-primary-button-warps-slider=true +gtk-sound-theme-name=ocean +gtk-xft-dpi=98304 diff --git a/reference/home/.config/gtk-4.0/window_decorations.css b/reference/home/.config/gtk-4.0/window_decorations.css new file mode 100644 index 0000000..ca70a8a --- /dev/null +++ b/reference/home/.config/gtk-4.0/window_decorations.css @@ -0,0 +1,71 @@ +headerbar button.titlebutton.close, .titlebar button.titlebutton.close { + background-image: url("assets/close-normal.svg"); } + +headerbar button.titlebutton.close:hover, .titlebar button.titlebutton.close:hover { + background-image: url("assets/close-hover.svg"); } + +headerbar button.titlebutton.close:active, .titlebar button.titlebutton.close:active { + background-image: url("assets/close-active.svg"); } + +headerbar button.titlebutton.close:backdrop, .titlebar button.titlebutton.close:backdrop { + background-image: url("assets/close-backdrop-normal.svg"); } + +headerbar button.titlebutton.close:backdrop:hover, .titlebar button.titlebutton.close:backdrop:hover { + background-image: url("assets/close-backdrop-hover.svg"); } + +headerbar button.titlebutton.close:backdrop:active, .titlebar button.titlebutton.close:backdrop:active { + background-image: url("assets/close-backdrop-active.svg"); } + +headerbar button.titlebutton.maximize, .titlebar button.titlebutton.maximize { + background-image: url("assets/maximize-normal.svg"); } + +headerbar button.titlebutton.maximize:hover, .titlebar button.titlebutton.maximize:hover { + background-image: url("assets/maximize-hover.svg"); } + +headerbar button.titlebutton.maximize:active, .titlebar button.titlebutton.maximize:active { + background-image: url("assets/maximize-active.svg"); } + +headerbar button.titlebutton.maximize:backdrop, .titlebar button.titlebutton.maximize:backdrop { + background-image: url("assets/maximize-backdrop-normal.svg"); } + +headerbar button.titlebutton.maximize:backdrop:hover, .titlebar button.titlebutton.maximize:backdrop:hover { + background-image: url("assets/maximize-backdrop-hover.svg"); } + +headerbar button.titlebutton.maximize:backdrop:active, .titlebar button.titlebutton.maximize:backdrop:active { + background-image: url("assets/maximize-backdrop-active.svg"); } + +headerbar button.titlebutton.minimize, .titlebar button.titlebutton.minimize { + background-image: url("assets/minimize-normal.svg"); } + +headerbar button.titlebutton.minimize:hover, .titlebar button.titlebutton.minimize:hover { + background-image: url("assets/minimize-hover.svg"); } + +headerbar button.titlebutton.minimize:active, .titlebar button.titlebutton.minimize:active { + background-image: url("assets/minimize-active.svg"); } + +headerbar button.titlebutton.minimize:backdrop, .titlebar button.titlebutton.minimize:backdrop { + background-image: url("assets/minimize-backdrop-normal.svg"); } + +headerbar button.titlebutton.minimize:backdrop:hover, .titlebar button.titlebutton.minimize:backdrop:hover { + background-image: url("assets/minimize-backdrop-hover.svg"); } + +headerbar button.titlebutton.minimize:backdrop:active, .titlebar button.titlebutton.minimize:backdrop:active { + background-image: url("assets/minimize-backdrop-active.svg"); } + +.maximized headerbar button.titlebutton.maximize, .maximized .titlebar button.titlebutton.maximize { + background-image: url("assets/maximized-normal.svg"); } + +.maximized headerbar button.titlebutton.maximize:hover, .maximized .titlebar button.titlebutton.maximize:hover { + background-image: url("assets/maximized-hover.svg"); } + +.maximized headerbar button.titlebutton.maximize:active, .maximized .titlebar button.titlebutton.maximize:active { + background-image: url("assets/maximized-active.svg"); } + +.maximized headerbar button.titlebutton.maximize:backdrop, .maximized .titlebar button.titlebutton.maximize:backdrop { + background-image: url("assets/maximized-backdrop-normal.svg"); } + +.maximized headerbar button.titlebutton.maximize:backdrop:hover, .maximized .titlebar button.titlebutton.maximize:backdrop:hover { + background-image: url("assets/maximized-backdrop-hover.svg"); } + +.maximized headerbar button.titlebutton.maximize:backdrop:active, .maximized .titlebar button.titlebutton.maximize:backdrop:active { + background-image: url("assets/maximized-backdrop-active.svg"); } diff --git a/reference/home/.config/gtkrc-2.0 b/reference/home/.config/gtkrc-2.0 new file mode 100644 index 0000000..638be81 --- /dev/null +++ b/reference/home/.config/gtkrc-2.0 @@ -0,0 +1,5 @@ +# created by KDE Plasma, Sun Jul 12 19:24:12 2026 +# + +gtk-alternative-button-order = 1 + diff --git a/reference/home/.config/kcminputrc b/reference/home/.config/kcminputrc new file mode 100644 index 0000000..ad1d422 --- /dev/null +++ b/reference/home/.config/kcminputrc @@ -0,0 +1,2 @@ +[Libinput][1739][30383][DELL08AF:00 06CB:76AF Touchpad] +ClickMethod=2 diff --git a/reference/home/.config/kdeglobals b/reference/home/.config/kdeglobals new file mode 100644 index 0000000..2f4bcb9 --- /dev/null +++ b/reference/home/.config/kdeglobals @@ -0,0 +1,177 @@ +[ColorEffects:Disabled] +ChangeSelectionColor= +Color=56,56,56 +ColorAmount=0 +ColorEffect=0 +ContrastAmount=0.65 +ContrastEffect=1 +Enable= +IntensityAmount=0.1 +IntensityEffect=2 + +[ColorEffects:Inactive] +ChangeSelectionColor=true +Color=112,111,110 +ColorAmount=0.025 +ColorEffect=2 +ContrastAmount=0.1 +ContrastEffect=2 +Enable=false +IntensityAmount=0 +IntensityEffect=0 + +[Colors:Button] +BackgroundAlternate=30,87,116 +BackgroundNormal=41,44,48 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=61,174,233 +ForegroundInactive=161,169,177 +ForegroundLink=29,153,243 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundNormal=252,252,252 +ForegroundPositive=39,174,96 +ForegroundVisited=155,89,182 + +[Colors:Complementary] +BackgroundAlternate=30,87,116 +BackgroundNormal=32,35,38 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=61,174,233 +ForegroundInactive=161,169,177 +ForegroundLink=29,153,243 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundNormal=252,252,252 +ForegroundPositive=39,174,96 +ForegroundVisited=155,89,182 + +[Colors:Header] +BackgroundAlternate=32,35,38 +BackgroundNormal=41,44,48 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=61,174,233 +ForegroundInactive=161,169,177 +ForegroundLink=29,153,243 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundNormal=252,252,252 +ForegroundPositive=39,174,96 +ForegroundVisited=155,89,182 + +[Colors:Header][Inactive] +BackgroundAlternate=41,44,48 +BackgroundNormal=32,35,38 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=61,174,233 +ForegroundInactive=161,169,177 +ForegroundLink=29,153,243 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundNormal=252,252,252 +ForegroundPositive=39,174,96 +ForegroundVisited=155,89,182 + +[Colors:Selection] +BackgroundAlternate=30,87,116 +BackgroundNormal=61,174,233 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=252,252,252 +ForegroundInactive=161,169,177 +ForegroundLink=253,188,75 +ForegroundNegative=176,55,69 +ForegroundNeutral=198,92,0 +ForegroundNormal=252,252,252 +ForegroundPositive=23,104,57 +ForegroundVisited=155,89,182 + +[Colors:Tooltip] +BackgroundAlternate=32,35,38 +BackgroundNormal=41,44,48 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=61,174,233 +ForegroundInactive=161,169,177 +ForegroundLink=29,153,243 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundNormal=252,252,252 +ForegroundPositive=39,174,96 +ForegroundVisited=155,89,182 + +[Colors:View] +BackgroundAlternate=29,31,34 +BackgroundNormal=20,22,24 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=61,174,233 +ForegroundInactive=161,169,177 +ForegroundLink=29,153,243 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundNormal=252,252,252 +ForegroundPositive=39,174,96 +ForegroundVisited=155,89,182 + +[Colors:Window] +BackgroundAlternate=41,44,48 +BackgroundNormal=32,35,38 +DecorationFocus=61,174,233 +DecorationHover=61,174,233 +ForegroundActive=61,174,233 +ForegroundInactive=161,169,177 +ForegroundLink=29,153,243 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundNormal=252,252,252 +ForegroundPositive=39,174,96 +ForegroundVisited=155,89,182 + +[General] +ColorSchemeHash=9d38eb71ded8ff549da26d57d7cbab9164da243a +UseSystemBell=true +XftAntialias=true +XftHintStyle=hintslight +XftSubPixel=none +fixed=Hack,14,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,,0,0 +font=Noto Sans,14,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,,0,0 +menuFont=Noto Sans,14,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,,0,0 +smallestReadableFont=Noto Sans,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,,0,0 +toolBarFont=Noto Sans,14,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,,0,0 + +[KDE] +AnimationDurationFactor=0.25 +LookAndFeelPackage=org.kde.breezedark.desktop +contrast=4 +frameContrast=0.2 + +[KFileDialog Settings] +Allow Expansion=false +Automatically select filename extension=true +Breadcrumb Navigation=true +Decoration position=2 +Show Full Path=false +Show Inline Previews=true +Show Preview=false +Show Speedbar=true +Show hidden files=false +Sort by=Name +Sort directories first=true +Sort hidden files last=false +Sort reversed=false +Speedbar Width=140 +View Style=DetailTree + +[WM] +activeBackground=39,44,49 +activeBlend=252,252,252 +activeFont=Noto Sans,14,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,,0,0 +activeForeground=252,252,252 +inactiveBackground=32,36,40 +inactiveBlend=161,169,177 +inactiveForeground=161,169,177 diff --git a/reference/home/.config/kglobalshortcutsrc b/reference/home/.config/kglobalshortcutsrc new file mode 100644 index 0000000..06ff1e1 --- /dev/null +++ b/reference/home/.config/kglobalshortcutsrc @@ -0,0 +1,277 @@ +[ActivityManager] +_k_friendly_name=Activity Manager +switch-to-activity-4dfe7a63-75b1-4532-89bb-9e8ebc7e360d=none,none,Switch to activity "Default" + +[KDE Keyboard Layout Switcher] +Switch to Last-Used Keyboard Layout=Meta+Alt+L,Meta+Alt+L,Switch to Last-Used Keyboard Layout +Switch to Next Keyboard Layout=Meta+Alt+K,Meta+Alt+K,Switch to Next Keyboard Layout +_k_friendly_name=Keyboard Layout Switcher + +[kaccess] +Toggle Screen Reader On and Off=Meta+Alt+S,Meta+Alt+S,Toggle Screen Reader On and Off +_k_friendly_name=Accessibility + +[kmix] +_k_friendly_name=Audio Volume +decrease_microphone_volume=Microphone Volume Down,Microphone Volume Down,Decrease Microphone Volume +decrease_volume=Volume Down,Volume Down,Decrease Volume +decrease_volume_small=Shift+Volume Down,Shift+Volume Down,Decrease Volume by 1% +increase_microphone_volume=Microphone Volume Up,Microphone Volume Up,Increase Microphone Volume +increase_volume=Volume Up,Volume Up,Increase Volume +increase_volume_small=Shift+Volume Up,Shift+Volume Up,Increase Volume by 1% +mic_mute=Microphone Mute\tMeta+Volume Mute,Microphone Mute\tMeta+Volume Mute,Mute Microphone +mute=Volume Mute,Volume Mute,Mute +push_to_talk=none,none,Push to talk + +[ksmserver] +Halt Without Confirmation=none,none,Shut Down Without Confirmation +Lock Session=Screensaver\tMeta+L,Screensaver\tMeta+L,Lock Session +Log Out=Ctrl+Alt+Del,Ctrl+Alt+Del,Show Logout Screen +Log Out Without Confirmation=none,none,Log Out Without Confirmation +LogOut=none,none,Log Out +Reboot=none,none,Reboot +Reboot Without Confirmation=none,none,Reboot Without Confirmation +Shut Down=none,none,Shut Down +_k_friendly_name=Session Management + +[kwin] +Activate Window Demanding Attention=Meta+Ctrl+A,Meta+Ctrl+A,Activate Window Demanding Attention +Cycle Overview=none,none,Cycle through Overview and Grid View +Cycle Overview Opposite=none,none,Cycle through Grid View and Overview +Decrease Opacity=none,none,Decrease Opacity of Active Window by 5% +Edit Tiles=Meta+T,Meta+T,Toggle Tiles Editor +Expose=Ctrl+F9\tMeta+F9,Ctrl+F9\tMeta+F9,Toggle Present Windows (Current desktop) +ExposeAll=Launch (C)\tCtrl+F10\tMeta+F10,Launch (C)\tCtrl+F10\tMeta+F10,Toggle Present Windows (All desktops) +ExposeClass=Ctrl+F7\tMeta+F7,Ctrl+F7\tMeta+F7,Toggle Present Windows (Window class) +ExposeClassCurrentDesktop=none,none,Toggle Present Windows (Window class on current desktop) +Grid View=Meta+G,Meta+G,Toggle Grid View +Increase Opacity=none,none,Increase Opacity of Active Window by 5% +Kill Window=Meta+Ctrl+Esc,Meta+Ctrl+Esc,Kill Window +Move Tablet to Next LogicalOutput=none,none,Move the tablet to the next output +MoveMouseToCenter=Meta+F6,Meta+F6,Move Mouse to Centre +MoveMouseToFocus=Meta+F5,Meta+F5,Move Mouse to Focus +MoveZoomDown=none,none,Move Zoomed Area Downwards +MoveZoomLeft=none,none,Move Zoomed Area to Left +MoveZoomRight=none,none,Move Zoomed Area to Right +MoveZoomUp=none,none,Move Zoomed Area Upwards +Overview=Meta+W,Meta+W,Toggle Overview +Setup Window Shortcut=none,none,Setup Window Shortcut +Show Desktop=Meta+D,Meta+D,Peek at Desktop +Switch One Desktop Down=Meta+Ctrl+Down,Meta+Ctrl+Down,Switch One Desktop Down +Switch One Desktop Up=Meta+Ctrl+Up,Meta+Ctrl+Up,Switch One Desktop Up +Switch One Desktop to the Left=Meta+Ctrl+Left,Meta+Ctrl+Left,Switch One Desktop to the Left +Switch One Desktop to the Right=Meta+Ctrl+Right,Meta+Ctrl+Right,Switch One Desktop to the Right +Switch Window Down=Meta+Alt+Down,Meta+Alt+Down,Switch to Window Below +Switch Window Left=Meta+Alt+Left,Meta+Alt+Left,Switch to Window to the Left +Switch Window Right=Meta+Alt+Right,Meta+Alt+Right,Switch to Window to the Right +Switch Window Up=Meta+Alt+Up,Meta+Alt+Up,Switch to Window Above +Switch to Desktop 1=Meta+1,Ctrl+F1\tMeta+F1,Switch to Desktop 1 +Switch to Desktop 10=none,none,Switch to Desktop 10 +Switch to Desktop 11=none,none,Switch to Desktop 11 +Switch to Desktop 12=none,none,Switch to Desktop 12 +Switch to Desktop 13=none,none,Switch to Desktop 13 +Switch to Desktop 14=none,none,Switch to Desktop 14 +Switch to Desktop 15=none,none,Switch to Desktop 15 +Switch to Desktop 16=none,none,Switch to Desktop 16 +Switch to Desktop 17=none,none,Switch to Desktop 17 +Switch to Desktop 18=none,none,Switch to Desktop 18 +Switch to Desktop 19=none,none,Switch to Desktop 19 +Switch to Desktop 2=Meta+2,Ctrl+F2\tMeta+F2,Switch to Desktop 2 +Switch to Desktop 20=none,none,Switch to Desktop 20 +Switch to Desktop 21=none,none,Switch to Desktop 21 +Switch to Desktop 22=none,none,Switch to Desktop 22 +Switch to Desktop 23=none,none,Switch to Desktop 23 +Switch to Desktop 24=none,none,Switch to Desktop 24 +Switch to Desktop 25=none,none,Switch to Desktop 25 +Switch to Desktop 3=Meta+3,Ctrl+F3\tMeta+F3,Switch to Desktop 3 +Switch to Desktop 4=Meta+4,Ctrl+F4\tMeta+F4,Switch to Desktop 4 +Switch to Desktop 5=Meta+5,none,Switch to Desktop 5 +Switch to Desktop 6=Meta+6,none,Switch to Desktop 6 +Switch to Desktop 7=Meta+7,none,Switch to Desktop 7 +Switch to Desktop 8=Meta+8,none,Switch to Desktop 8 +Switch to Desktop 9=Meta+9,none,Switch to Desktop 9 +Switch to Next Desktop=none,none,Switch to Next Desktop +Switch to Next Screen=none,none,Switch to Next Screen +Switch to Previous Desktop=none,none,Switch to Previous Desktop +Switch to Previous Screen=none,none,Switch to Previous Screen +Switch to Screen 0=none,none,Switch to Screen 0 +Switch to Screen 1=none,none,Switch to Screen 1 +Switch to Screen 2=none,none,Switch to Screen 2 +Switch to Screen 3=none,none,Switch to Screen 3 +Switch to Screen 4=none,none,Switch to Screen 4 +Switch to Screen 5=none,none,Switch to Screen 5 +Switch to Screen 6=none,none,Switch to Screen 6 +Switch to Screen 7=none,none,Switch to Screen 7 +Switch to Screen Above=none,none,Switch to Screen Above +Switch to Screen Below=none,none,Switch to Screen Below +Switch to Screen to the Left=none,none,Switch to Screen to the Left +Switch to Screen to the Right=none,none,Switch to Screen to the Right +Toggle Night Color=none,none,Suspend/Resume Night Light +Toggle Window Raise/Lower=none,none,Toggle Window Raise/Lower +Walk Through Windows=Alt+Tab\tMeta+Tab,Alt+Tab\tMeta+Tab,Walk Through Windows +Walk Through Windows (Reverse)=Alt+Shift+Tab\tMeta+Shift+Tab,Alt+Shift+Tab\tMeta+Shift+Tab,Walk Through Windows (Reverse) +Walk Through Windows Alternative=none,none,Walk Through Windows Alternative +Walk Through Windows Alternative (Reverse)=none,none,Walk Through Windows Alternative (Reverse) +Walk Through Windows of Current Application=Alt+`\tMeta+`,Alt+`\tMeta+`,Walk Through Windows of Current Application +Walk Through Windows of Current Application (Reverse)=Alt+~\tMeta+~,Alt+~\tMeta+~,Walk Through Windows of Current Application (Reverse) +Walk Through Windows of Current Application Alternative=none,none,Walk Through Windows of Current Application Alternative +Walk Through Windows of Current Application Alternative (Reverse)=none,none,Walk Through Windows of Current Application Alternative (Reverse) +Window Above Other Windows=none,none,Keep Window Above Others +Window Below Other Windows=none,none,Keep Window Below Others +Window Close=Meta+Shift+Q,Alt+F4,Close Window +Window Custom Quick Tile Bottom=none,none,Custom Quick Tile Window to the Bottom +Window Custom Quick Tile Left=none,none,Custom Quick Tile Window to the Left +Window Custom Quick Tile Right=none,none,Custom Quick Tile Window to the Right +Window Custom Quick Tile Top=none,none,Custom Quick Tile Window to the Top +Window Fullscreen=none,none,Make Window Fullscreen +Window Grow Horizontal=none,none,Expand Window Horizontally +Window Grow Vertical=none,none,Expand Window Vertically +Window Lower=none,none,Lower Window +Window Maximize=Meta+PgUp,Meta+PgUp,Maximise Window +Window Maximize Horizontal=none,none,Maximise Window Horizontally +Window Maximize Vertical=none,none,Maximise Window Vertically +Window Minimize=Meta+PgDown,Meta+PgDown,Minimise Window +Window Move=none,none,Move Window +Window Move Center=none,none,Move Window to the Centre +Window No Border=none,none,Toggle Window Titlebar and Frame +Window On All Desktops=none,none,Keep Window on All Desktops +Window One Desktop Down=Meta+Ctrl+Shift+Down,Meta+Ctrl+Shift+Down,Window One Desktop Down +Window One Desktop Up=Meta+Ctrl+Shift+Up,Meta+Ctrl+Shift+Up,Window One Desktop Up +Window One Desktop to the Left=Meta+Ctrl+Shift+Left,Meta+Ctrl+Shift+Left,Window One Desktop to the Left +Window One Desktop to the Right=Meta+Ctrl+Shift+Right,Meta+Ctrl+Shift+Right,Window One Desktop to the Right +Window One Screen Down=none,none,Move Window One Screen Down +Window One Screen Up=none,none,Move Window One Screen Up +Window One Screen to the Left=none,none,Move Window One Screen to the Left +Window One Screen to the Right=none,none,Move Window One Screen to the Right +Window Operations Menu=Alt+F3,Alt+F3,Window Menu +Window Pack Down=none,none,Move Window Down +Window Pack Left=none,none,Move Window Left +Window Pack Right=none,none,Move Window Right +Window Pack Up=none,none,Move Window Up +Window Quick Tile Bottom=Meta+Down,Meta+Down,Quick Tile Window to the Bottom +Window Quick Tile Bottom Left=none,none,Quick Tile Window to the Bottom Left +Window Quick Tile Bottom Right=none,none,Quick Tile Window to the Bottom Right +Window Quick Tile Left=Meta+Left,Meta+Left,Quick Tile Window to the Left +Window Quick Tile Right=Meta+Right,Meta+Right,Quick Tile Window to the Right +Window Quick Tile Top=Meta+Up,Meta+Up,Quick Tile Window to the Top +Window Quick Tile Top Left=none,none,Quick Tile Window to the Top Left +Window Quick Tile Top Right=none,none,Quick Tile Window to the Top Right +Window Raise=none,none,Raise Window +Window Resize=none,none,Resize Window +Window Restore=Meta+Backspace,Meta+Backspace,Restore Window +Window Shrink Horizontal=none,none,Shrink Window Horizontally +Window Shrink Vertical=none,none,Shrink Window Vertically +Window to Desktop 1=Meta+!,none,Window to Desktop 1 +Window to Desktop 10=none,none,Window to Desktop 10 +Window to Desktop 11=none,none,Window to Desktop 11 +Window to Desktop 12=none,none,Window to Desktop 12 +Window to Desktop 13=none,none,Window to Desktop 13 +Window to Desktop 14=none,none,Window to Desktop 14 +Window to Desktop 15=none,none,Window to Desktop 15 +Window to Desktop 16=none,none,Window to Desktop 16 +Window to Desktop 17=none,none,Window to Desktop 17 +Window to Desktop 18=none,none,Window to Desktop 18 +Window to Desktop 19=none,none,Window to Desktop 19 +Window to Desktop 2=Meta+@,none,Window to Desktop 2 +Window to Desktop 20=none,none,Window to Desktop 20 +Window to Desktop 21=none,none,Window to Desktop 21 +Window to Desktop 22=none,none,Window to Desktop 22 +Window to Desktop 23=none,none,Window to Desktop 23 +Window to Desktop 24=none,none,Window to Desktop 24 +Window to Desktop 25=none,none,Window to Desktop 25 +Window to Desktop 3=Meta+#,none,Window to Desktop 3 +Window to Desktop 4=Meta+$,none,Window to Desktop 4 +Window to Desktop 5=Meta+%,none,Window to Desktop 5 +Window to Desktop 6=Meta+^,none,Window to Desktop 6 +Window to Desktop 7=Meta+&,none,Window to Desktop 7 +Window to Desktop 8=Meta+*,none,Window to Desktop 8 +Window to Desktop 9=Meta+(,none,Window to Desktop 9 +Window to Next Desktop=none,none,Window to Next Desktop +Window to Next Screen=Meta+Shift+Right,Meta+Shift+Right,Move Window to Next Screen +Window to Previous Desktop=none,none,Window to Previous Desktop +Window to Previous Screen=Meta+Shift+Left,Meta+Shift+Left,Move Window to Previous Screen +Window to Screen 0=none,none,Move Window to Screen 0 +Window to Screen 1=none,none,Move Window to Screen 1 +Window to Screen 2=none,none,Move Window to Screen 2 +Window to Screen 3=none,none,Move Window to Screen 3 +Window to Screen 4=none,none,Move Window to Screen 4 +Window to Screen 5=none,none,Move Window to Screen 5 +Window to Screen 6=none,none,Move Window to Screen 6 +Window to Screen 7=none,none,Move Window to Screen 7 +_k_friendly_name=KWin +disableInputCapture=Meta+Shift+Esc,Meta+Shift+Esc,Disable Active Input Capture +view_actual_size=Meta+0,Meta+0,Zoom to Actual Size +view_zoom_in=Meta++\tMeta+=,Meta++\tMeta+=,Zoom In +view_zoom_out=Meta+-,Meta+-,Zoom Out + +[mediacontrol] +_k_friendly_name=Media Controller +mediavolumedown=none,none,Media volume down +mediavolumeup=none,none,Media volume up +nextmedia=Media Next,Media Next,Media playback next +pausemedia=Media Pause,Media Pause,Pause media playback +playmedia=none,none,Play media playback +playpausemedia=Media Play,Media Play,Play/Pause media playback +previousmedia=Media Previous,Media Previous,Media playback previous +seekbackwardmedia=Media Rewind,Media Rewind,Media playback seek backward 5s +seekbackwardmedialong=none,none,Media playback seek backward 30s +seekforwardmedia=Media Fast Forward,Media Fast Forward,Media playback seek forward 5s +seekforwardmedialong=none,none,Media playback seek forward 30s +stopmedia=Media Stop,Media Stop,Stop media playback + +[org_kde_powerdevil] +Decrease Keyboard Brightness=Keyboard Brightness Down,Keyboard Brightness Down,Decrease Keyboard Brightness +Decrease Screen Brightness=Monitor Brightness Down,Monitor Brightness Down,Decrease Screen Brightness +Decrease Screen Brightness Small=Shift+Monitor Brightness Down,Shift+Monitor Brightness Down,Decrease Screen Brightness by 1% +Hibernate=Hibernate,Hibernate,Hibernate +Increase Keyboard Brightness=Keyboard Brightness Up,Keyboard Brightness Up,Increase Keyboard Brightness +Increase Screen Brightness=Monitor Brightness Up,Monitor Brightness Up,Increase Screen Brightness +Increase Screen Brightness Small=Shift+Monitor Brightness Up,Shift+Monitor Brightness Up,Increase Screen Brightness by 1% +PowerDown=Power Down,Power Down,Power Down +PowerOff=Power Off,Power Off,Power Off +Sleep=Sleep,Sleep,Suspend +Toggle Keyboard Backlight=Keyboard Light On/Off,Keyboard Light On/Off,Toggle Keyboard Backlight +Turn Off Screen=none,none,Turn Off Screen +_k_friendly_name=Power Management +powerProfile=Battery\tMeta+B,Battery\tMeta+B,Switch Power Profile + +[plasmashell] +Slideshow Wallpaper Next Image=none,none,Next Wallpaper Image +_k_friendly_name=plasmashell +activate application launcher=Meta\tAlt+F1,Meta\tAlt+F1,Activate Application Launcher +activate task manager entry 1=none,Meta+1,Activate Task Manager Entry 1 +activate task manager entry 10=none,none,Activate Task Manager Entry 10 +activate task manager entry 2=none,Meta+2,Activate Task Manager Entry 2 +activate task manager entry 3=none,Meta+3,Activate Task Manager Entry 3 +activate task manager entry 4=none,Meta+4,Activate Task Manager Entry 4 +activate task manager entry 5=none,Meta+5,Activate Task Manager Entry 5 +activate task manager entry 6=none,Meta+6,Activate Task Manager Entry 6 +activate task manager entry 7=none,Meta+7,Activate Task Manager Entry 7 +activate task manager entry 8=none,Meta+8,Activate Task Manager Entry 8 +activate task manager entry 9=none,Meta+9,Activate Task Manager Entry 9 +clear history=none,none,Clear Notification History +clear-history=none,none,Clear Clipboard History +clipboard_action=Meta+Ctrl+X,Meta+Ctrl+X,Automatic Action Popup Menu +cycle-panels=Meta+Alt+P,Meta+Alt+P,Move keyboard focus between panels +cycleNextAction=none,none,Next History Item +cyclePrevAction=none,none,Previous History Item +edit_clipboard=none,none,Edit Contents… +manage activities=Meta+Q,Meta+Q,Show Activity Switcher +next activity=Meta+A,none,Walk through activities +previous activity=Meta+Shift+A,none,Walk through activities (Reverse) +repeat_action=none,none,Manually Invoke Action on Current Clipboard +show dashboard=Ctrl+F12,Ctrl+F12,Show Desktop +show-barcode=none,none,Show Barcode… +show-on-mouse-pos=Meta+V,Meta+V,Show Clipboard Items at Mouse Position +switch to next activity=none,none,Switch to Next Activity +switch to previous activity=none,none,Switch to Previous Activity +toggle do not disturb=none,none,Toggle do not disturb + +[services][Alacritty.desktop] +_launch=Meta+Return + +[services][net.local.fish.desktop] +_launch=Meta+Ctrl+Space + +[services][org.kde.konsole.desktop] +_launch=none diff --git a/reference/home/.config/konsolerc b/reference/home/.config/konsolerc new file mode 100644 index 0000000..ad9bfb8 --- /dev/null +++ b/reference/home/.config/konsolerc @@ -0,0 +1,5 @@ +[General] +ConfigVersion=1 + +[UiSettings] +ColorScheme= diff --git a/reference/home/.config/kwinoutputconfig.json b/reference/home/.config/kwinoutputconfig.json new file mode 100644 index 0000000..98b4a89 --- /dev/null +++ b/reference/home/.config/kwinoutputconfig.json @@ -0,0 +1,93 @@ +[ + { + "data": [ + { + "abmLevel": 0, + "allowDdcCi": true, + "allowSdrSoftwareBrightness": false, + "autoBrightnessCurve": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "autoRotation": "InTabletMode", + "automaticBrightness": false, + "brightness": 1, + "colorPowerTradeoff": "PreferEfficiency", + "colorProfileSource": "sRGB", + "connectorName": "eDP-1", + "customModes": [ + ], + "detectedDdcCi": false, + "edidHash": "5f3fe94f152da0c618ae754a160d08df", + "edidIdentifier": "AUO 23341 0 0 2018 0", + "edrPolicy": "always", + "hdrColorProfileSource": "EDID", + "hdrIccProfilePath": "", + "highDynamicRange": false, + "iccProfilePath": "", + "maxBitsPerColor": 0, + "mode": { + "flags": 1, + "height": 1080, + "refreshRate": 60033, + "width": 1920 + }, + "overscan": 0, + "rgbRange": "Automatic", + "scale": 1, + "sdrBrightness": 200, + "sdrGamutWideness": 0, + "sharpness": 0, + "transform": "Normal", + "uuid": "3f5a91e5-1c16-44d8-a5f5-b5854daa57be", + "vrrPolicy": "Never", + "wideColorGamut": false + } + ], + "name": "outputs" + }, + { + "data": [ + { + "lidClosed": false, + "outputs": [ + { + "enabled": true, + "outputIndex": 0, + "position": { + "x": 0, + "y": 0 + }, + "priority": 1, + "replicationSource": "" + } + ] + }, + { + "lidClosed": true, + "outputs": [ + { + "enabled": true, + "outputIndex": 0, + "position": { + "x": 0, + "y": 0 + }, + "priority": 0, + "replicationSource": "" + } + ] + } + ], + "name": "setups" + } +] diff --git a/reference/home/.config/kwinrc b/reference/home/.config/kwinrc new file mode 100644 index 0000000..6d0079e --- /dev/null +++ b/reference/home/.config/kwinrc @@ -0,0 +1,60 @@ +[Desktops] +Id_1=4c183a08-13bd-40a0-8131-12584ba0b0c0 +Id_2=b20e6cf5-12e6-44c9-b8f1-0bb5a5e2307a +Id_3=77ff2787-e9df-4539-b009-8da2084b3ba0 +Id_4=f4bc9302-9b20-4cbb-b73b-4cfecba52889 +Id_5=e0032b5e-9f48-4219-8800-152a21b01604 +Id_6=a3ac962a-66e0-4cfe-a9ca-a789eae23a3a +Id_7=6ecab170-20d2-4383-b152-0d443d77b8ad +Id_8=ba6489cf-4f95-4786-af9f-3d742e17e6c5 +Id_9=5f9b8e88-3740-4d2c-9ac5-e76e072606f4 +Number=9 +Rows=1 + +[Effect-zoom] +InitialZoom=4.136880223300198 + +[Plugins] +zoomEnabled=false + +[Tiling][4c183a08-13bd-40a0-8131-12584ba0b0c0][3f5a91e5-1c16-44d8-a5f5-b5854daa57be] +padding=4 +tiles={"layoutDirection":"horizontal","tiles":[{"width":0.25},{"width":0.5},{"width":0.25}]} + +[Tiling][5f9b8e88-3740-4d2c-9ac5-e76e072606f4][3f5a91e5-1c16-44d8-a5f5-b5854daa57be] +padding=4 +tiles={"layoutDirection":"horizontal","tiles":[{"width":0.25},{"width":0.5},{"width":0.25}]} + +[Tiling][6ecab170-20d2-4383-b152-0d443d77b8ad][3f5a91e5-1c16-44d8-a5f5-b5854daa57be] +padding=4 +tiles={"layoutDirection":"horizontal","tiles":[{"width":0.25},{"width":0.5},{"width":0.25}]} + +[Tiling][77ff2787-e9df-4539-b009-8da2084b3ba0][3f5a91e5-1c16-44d8-a5f5-b5854daa57be] +padding=4 +tiles={"layoutDirection":"horizontal","tiles":[{"width":0.25},{"width":0.5},{"width":0.25}]} + +[Tiling][a3ac962a-66e0-4cfe-a9ca-a789eae23a3a][3f5a91e5-1c16-44d8-a5f5-b5854daa57be] +padding=4 +tiles={"layoutDirection":"horizontal","tiles":[{"width":0.25},{"width":0.5},{"width":0.25}]} + +[Tiling][b20e6cf5-12e6-44c9-b8f1-0bb5a5e2307a][3f5a91e5-1c16-44d8-a5f5-b5854daa57be] +padding=4 +tiles={"layoutDirection":"horizontal","tiles":[{"width":0.25},{"width":0.5},{"width":0.25}]} + +[Tiling][ba6489cf-4f95-4786-af9f-3d742e17e6c5][3f5a91e5-1c16-44d8-a5f5-b5854daa57be] +padding=4 +tiles={"layoutDirection":"horizontal","tiles":[{"width":0.25},{"width":0.5},{"width":0.25}]} + +[Tiling][e0032b5e-9f48-4219-8800-152a21b01604][3f5a91e5-1c16-44d8-a5f5-b5854daa57be] +padding=4 +tiles={"layoutDirection":"horizontal","tiles":[{"width":0.25},{"width":0.5},{"width":0.25}]} + +[Tiling][f4bc9302-9b20-4cbb-b73b-4cfecba52889][3f5a91e5-1c16-44d8-a5f5-b5854daa57be] +padding=4 +tiles={"layoutDirection":"horizontal","tiles":[{"width":0.25},{"width":0.5},{"width":0.25}]} + +[Windows] +RollOverDesktops=true + +[Xwayland] +Scale=1 diff --git a/reference/home/.config/kxkbrc b/reference/home/.config/kxkbrc new file mode 100644 index 0000000..4ba34e1 --- /dev/null +++ b/reference/home/.config/kxkbrc @@ -0,0 +1,3 @@ +[Layout] +Options=caps:escape_shifted_capslock +ResetOldOptions=true diff --git a/reference/home/.config/micro/colorschemes/catppuccin-frappe.micro b/reference/home/.config/micro/colorschemes/catppuccin-frappe.micro new file mode 100644 index 0000000..6bdff93 --- /dev/null +++ b/reference/home/.config/micro/colorschemes/catppuccin-frappe.micro @@ -0,0 +1,42 @@ +color-link default "#C6D0F5,#303446" +color-link comment "#626880" + +color-link identifier "#8CAAEE" +color-link identifier.class "#8CAAEE" +color-link identifier.var "#8CAAEE" + +color-link constant "#EF9F76" +color-link constant.number "#EF9F76" +color-link constant.string "#A6D189" + +color-link symbol "#F4B8E4" +color-link symbol.brackets "#EEBEBE" +color-link symbol.tag "#8CAAEE" + +color-link type "#8CAAEE" +color-link type.keyword "#E5C890" + +color-link special "#F4B8E4" +color-link statement "#CA9EE6" +color-link preproc "#F4B8E4" + +color-link underlined "#99D1DB" +color-link error "bold #E78284" +color-link todo "bold #E5C890" + +color-link diff-added "#A6D189" +color-link diff-modified "#E5C890" +color-link diff-deleted "#E78284" + +color-link gutter-error "#E78284" +color-link gutter-warning "#E5C890" + +color-link statusline "#F2D5CF,#292C3C" +color-link tabbar "#F2D5CF,#292C3C" +color-link indent-char "#51576D" +color-link line-number "#51576D" +color-link current-line-number "#BABBF1" + +color-link cursor-line "#414559,#C6D0F5" +color-link color-column "#414559" +color-link type.extended "default" diff --git a/reference/home/.config/micro/colorschemes/catppuccin-latte.micro b/reference/home/.config/micro/colorschemes/catppuccin-latte.micro new file mode 100644 index 0000000..80b3727 --- /dev/null +++ b/reference/home/.config/micro/colorschemes/catppuccin-latte.micro @@ -0,0 +1,42 @@ +color-link default "#4C4F69,#EFF1F5" +color-link comment "#ACB0BE" + +color-link identifier "#1E66F5" +color-link identifier.class "#1E66F5" +color-link identifier.var "#1E66F5" + +color-link constant "#FE640B" +color-link constant.number "#FE640B" +color-link constant.string "#40A02B" + +color-link symbol "#EA76CB" +color-link symbol.brackets "#DD7878" +color-link symbol.tag "#1E66F5" + +color-link type "#1E66F5" +color-link type.keyword "#DF8E1D" + +color-link special "#EA76CB" +color-link statement "#8839EF" +color-link preproc "#EA76CB" + +color-link underlined "#04A5E5" +color-link error "bold #D20F39" +color-link todo "bold #DF8E1D" + +color-link diff-added "#40A02B" +color-link diff-modified "#DF8E1D" +color-link diff-deleted "#D20F39" + +color-link gutter-error "#D20F39" +color-link gutter-warning "#DF8E1D" + +color-link statusline "#4C4F69,#DCE0E8" +color-link tabbar "#4C4F69,#DCE0E8" +color-link indent-char "#BCC0CC" +color-link line-number "#BCC0CC" +color-link current-line-number "#7287FD" + +color-link cursor-line "#CCD0DA,#4C4F69" +color-link color-column "#CCD0DA" +color-link type.extended "default" diff --git a/reference/home/.config/micro/colorschemes/catppuccin-macchiato.micro b/reference/home/.config/micro/colorschemes/catppuccin-macchiato.micro new file mode 100644 index 0000000..8634683 --- /dev/null +++ b/reference/home/.config/micro/colorschemes/catppuccin-macchiato.micro @@ -0,0 +1,42 @@ +color-link default "#CAD3F5,#24273A" +color-link comment "#5B6078" + +color-link identifier "#8AADF4" +color-link identifier.class "#8AADF4" +color-link identifier.var "#8AADF4" + +color-link constant "#F5A97F" +color-link constant.number "#F5A97F" +color-link constant.string "#A6DA95" + +color-link symbol "#F5BDE6" +color-link symbol.brackets "#F0C6C6" +color-link symbol.tag "#8AADF4" + +color-link type "#8AADF4" +color-link type.keyword "#EED49F" + +color-link special "#F5BDE6" +color-link statement "#C6A0F6" +color-link preproc "#F5BDE6" + +color-link underlined "#8AADF4" +color-link error "bold #ED8796" +color-link todo "bold #EED49F" + +color-link diff-added "#A6DA95" +color-link diff-modified "#EED49F" +color-link diff-deleted "#ED8796" + +color-link gutter-error "#ED8796" +color-link gutter-warning "#EED49F" + +color-link statusline "#F4DBD6,#1E2030" +color-link tabbar "#F4DBD6,#1E2030" +color-link indent-char "#494D64" +color-link line-number "#494D64" +color-link current-line-number "#B7BDF8" + +color-link cursor-line "#363A4F,#CAD3F5" +color-link color-column "#363A4F" +color-link type.extended "default" diff --git a/reference/home/.config/micro/colorschemes/catppuccin-mocha.micro b/reference/home/.config/micro/colorschemes/catppuccin-mocha.micro new file mode 100644 index 0000000..d00718c --- /dev/null +++ b/reference/home/.config/micro/colorschemes/catppuccin-mocha.micro @@ -0,0 +1,42 @@ +color-link default "#C6D0F5,#1E1E2E" +color-link comment "#585B70" + +color-link identifier "#89B4FA" +color-link identifier.class "#89B4FA" +color-link identifier.var "#89B4FA" + +color-link constant "#FAB387" +color-link constant.number "#FAB387" +color-link constant.string "#A6E3A1" + +color-link symbol "#F5C2E7" +color-link symbol.brackets "#F2CDCD" +color-link symbol.tag "#89B4FA" + +color-link type "#89B4FA" +color-link type.keyword "#F9E2AF" + +color-link special "#F5C2E7" +color-link statement "#CBA6F7" +color-link preproc "#F5C2E7" + +color-link underlined "#89DCEB" +color-link error "bold #F38BA8" +color-link todo "bold #F9E2AF" + +color-link diff-added "#A6E3A1" +color-link diff-modified "#F9E2AF" +color-link diff-deleted "#F38BA8" + +color-link gutter-error "#F38BA8" +color-link gutter-warning "#F9E2AF" + +color-link statusline "#F5E0DC,#181825" +color-link tabbar "#F5E0DC,#181825" +color-link indent-char "#45475A" +color-link line-number "#45475A" +color-link current-line-number "#B4BEFE" + +color-link cursor-line "#313244,#C6D0F5" +color-link color-column "#313244" +color-link type.extended "default" diff --git a/reference/home/.config/micro/settings.json b/reference/home/.config/micro/settings.json new file mode 100644 index 0000000..eef4c52 --- /dev/null +++ b/reference/home/.config/micro/settings.json @@ -0,0 +1,3 @@ +{ + "colorscheme": "catppuccin-macchiato" +} diff --git a/reference/home/.config/mimeapps.list b/reference/home/.config/mimeapps.list new file mode 100644 index 0000000..03da0ea --- /dev/null +++ b/reference/home/.config/mimeapps.list @@ -0,0 +1,4 @@ + +[Default Applications] +x-scheme-handler/claude-cli=claude-code-url-handler.desktop +x-scheme-handler/openwhispr=openwhispr.desktop diff --git a/reference/home/.config/nvim/after/ftplugin/markdown.lua b/reference/home/.config/nvim/after/ftplugin/markdown.lua new file mode 100644 index 0000000..2848685 --- /dev/null +++ b/reference/home/.config/nvim/after/ftplugin/markdown.lua @@ -0,0 +1 @@ +vim.opt_local.conceallevel = 2 diff --git a/reference/home/.config/nvim/init.lua b/reference/home/.config/nvim/init.lua new file mode 100644 index 0000000..5c7f4ef --- /dev/null +++ b/reference/home/.config/nvim/init.lua @@ -0,0 +1,3 @@ +require("vim_options") +require("keys") +require("plugin") diff --git a/reference/home/.config/nvim/lazy-lock.json b/reference/home/.config/nvim/lazy-lock.json new file mode 100644 index 0000000..2ec59b6 --- /dev/null +++ b/reference/home/.config/nvim/lazy-lock.json @@ -0,0 +1,13 @@ +{ + "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, + "gitsigns.nvim": { "branch": "main", "commit": "eb60cc7b94c46005237fd34170d76f3a089a90aa" }, + "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, + "neogit": { "branch": "master", "commit": "6fc2fa890bd2031ed999c074daab0fb4feff20a5" }, + "nord.nvim": { "branch": "main", "commit": "87394d4fc35c901bbe38326a78d31ab1ead826b6" }, + "nvim-treesitter": { "branch": "master", "commit": "cf12346a3414fa1b06af75c79faebe7f76df080a" }, + "oil.nvim": { "branch": "master", "commit": "b73018b75affd13fa38e2fc94ef753b465f770d7" }, + "plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" }, + "render-markdown.nvim": { "branch": "main", "commit": "f422cb5c6855f150e2ddcfaf44e7157b98b34f6a" }, + "snacks.nvim": { "branch": "main", "commit": "882c996cf28183f4d63640de0b4c02ec886d01f2" }, + "which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" } +} diff --git a/reference/home/.config/nvim/lua/keys.lua b/reference/home/.config/nvim/lua/keys.lua new file mode 100644 index 0000000..486b5da --- /dev/null +++ b/reference/home/.config/nvim/lua/keys.lua @@ -0,0 +1,8 @@ +local map = vim.keymap.set + +map("n", "", "h", { desc = "Move focus left" }) +map("n", "", "j", { desc = "Move focus down" }) +map("n", "", "k", { desc = "Move focus up" }) +map("n", "", "l", { desc = "Move focus right" }) + +map("n", "", "nohlsearch", { desc = "Clear search highlight" }) diff --git a/reference/home/.config/nvim/lua/plugin.lua b/reference/home/.config/nvim/lua/plugin.lua new file mode 100644 index 0000000..d2eea07 --- /dev/null +++ b/reference/home/.config/nvim/lua/plugin.lua @@ -0,0 +1,23 @@ +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not vim.uv.fs_stat(lazypath) then + local lazyrepo = "https://github.com/folke/lazy.nvim.git" + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) + if vim.v.shell_error ~= 0 then + vim.api.nvim_echo({ + { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, + { out, "WarningMsg" }, + { "\nPress any key to exit..." }, + }, true, {}) + vim.fn.getchar() + os.exit(1) + end +end +vim.opt.rtp:prepend(lazypath) + +require("lazy").setup({ + spec = { + { import = "plugins" }, + }, + install = { colorscheme = { "nord" } }, + checker = { enabled = false }, +}) diff --git a/reference/home/.config/nvim/lua/plugins/git.lua b/reference/home/.config/nvim/lua/plugins/git.lua new file mode 100644 index 0000000..94d7889 --- /dev/null +++ b/reference/home/.config/nvim/lua/plugins/git.lua @@ -0,0 +1,36 @@ +return { + { + "NeogitOrg/neogit", + dependencies = { + "nvim-lua/plenary.nvim", + "sindrets/diffview.nvim", + }, + keys = { + { + "g", + function() + require("gitsigns").toggle_current_line_blame(true) + require("neogit").open() + end, + desc = "Open git (Neogit)", + }, + }, + config = function() + require("neogit").setup() + vim.api.nvim_create_autocmd("BufUnload", { + callback = function(args) + if vim.bo[args.buf].filetype == "NeogitStatus" then + require("gitsigns").toggle_current_line_blame(false) + end + end, + }) + end, + }, + { + "lewis6991/gitsigns.nvim", + event = "BufWinEnter", + opts = { + current_line_blame = false, + }, + }, +} diff --git a/reference/home/.config/nvim/lua/plugins/navigation.lua b/reference/home/.config/nvim/lua/plugins/navigation.lua new file mode 100644 index 0000000..efa86f9 --- /dev/null +++ b/reference/home/.config/nvim/lua/plugins/navigation.lua @@ -0,0 +1,27 @@ +return { + { + "stevearc/oil.nvim", + lazy = false, + opts = { + view_options = { show_hidden = true }, + }, + keys = { + { "e", "Oil", desc = "Open file browser" }, + }, + }, + { + "folke/snacks.nvim", + priority = 1000, + lazy = false, + opts = { + picker = { enabled = true }, + notifier = { enabled = true }, + input = { enabled = true }, + }, + keys = { + { "f", function() require("snacks").picker.files() end, desc = "Find files" }, + { "s", function() require("snacks").picker.grep() end, desc = "Search text" }, + { "b", function() require("snacks").picker.buffers() end, desc = "Switch buffer" }, + }, + }, +} diff --git a/reference/home/.config/nvim/lua/plugins/ui.lua b/reference/home/.config/nvim/lua/plugins/ui.lua new file mode 100644 index 0000000..5127f0a --- /dev/null +++ b/reference/home/.config/nvim/lua/plugins/ui.lua @@ -0,0 +1,55 @@ +return { + { + "gbprod/nord.nvim", + lazy = false, + priority = 1000, + opts = { + transparent = true, + }, + config = function(_, opts) + require("nord").setup(opts) + vim.cmd.colorscheme("nord") + end, + }, + { + "MeanderingProgrammer/render-markdown.nvim", + ft = { "markdown" }, + dependencies = { "nvim-treesitter/nvim-treesitter" }, + opts = {}, + }, + { + "folke/which-key.nvim", + lazy = false, + config = true, + }, + { + "nvim-treesitter/nvim-treesitter", + branch = "master", + build = ":TSUpdate", + opts = { + ensure_installed = { + "markdown", + "markdown_inline", + "lua", + "bash", + "fish", + "rust", + "javascript", + "typescript", + "java", + "kotlin", + "c", + "cpp", + "html", + "css", + "python", + }, + auto_install = false, + highlight = { enable = true }, + indent = { enable = true }, + }, + config = function(_, opts) + require("nvim-treesitter.configs").setup(opts) + end, + }, +} diff --git a/reference/home/.config/nvim/lua/vim_options.lua b/reference/home/.config/nvim/lua/vim_options.lua new file mode 100644 index 0000000..f8ee951 --- /dev/null +++ b/reference/home/.config/nvim/lua/vim_options.lua @@ -0,0 +1,29 @@ +vim.g.mapleader = " " + +local opt = vim.opt + +-- Clipboard: use neovim's built-in OSC 52 provider, no external binary needed. +vim.g.clipboard = "osc52" +opt.clipboard = "unnamedplus" + +opt.number = true +opt.relativenumber = true + +opt.shiftwidth = 2 +opt.tabstop = 2 +opt.expandtab = true + +opt.mouse = "a" + +opt.undofile = true + +opt.ignorecase = true +opt.smartcase = true + +opt.splitright = true +opt.splitbelow = true + +opt.wrap = false + +opt.scrolloff = 8 +opt.cursorline = true diff --git a/reference/home/.config/plasma-org.kde.plasma.desktop-appletsrc b/reference/home/.config/plasma-org.kde.plasma.desktop-appletsrc new file mode 100644 index 0000000..700fe24 --- /dev/null +++ b/reference/home/.config/plasma-org.kde.plasma.desktop-appletsrc @@ -0,0 +1,173 @@ +[ActionPlugins][0] +MiddleButton;NoModifier=org.kde.paste +RightButton;NoModifier=org.kde.contextmenu + +[ActionPlugins][1] +RightButton;NoModifier=org.kde.contextmenu + +[Containments][23] +activityId= +formfactor=2 +immutability=1 +lastScreen=0 +location=4 +plugin=org.kde.panel +wallpaperplugin=org.kde.image + +[Containments][23][Applets][24] +immutability=1 +plugin=org.kde.plasma.kickoff + +[Containments][23][Applets][24][Configuration] +popupHeight=593 +popupWidth=789 + +[Containments][23][Applets][24][Configuration][ConfigDialog] +DialogHeight=540 +DialogWidth=720 + +[Containments][23][Applets][24][Configuration][General] +favoritesPortedToKAstats=true +icon=org.cachyos.hello +systemFavorites=suspend\\,hibernate\\,reboot\\,shutdown + +[Containments][23][Applets][24][Configuration][Shortcuts] +global=Alt+F1 + +[Containments][23][Applets][25] +immutability=1 +plugin=org.kde.plasma.pager + +[Containments][23][Applets][26] +immutability=1 +plugin=org.kde.plasma.icontasks + +[Containments][23][Applets][26][Configuration][ConfigDialog] +DialogHeight=630 +DialogWidth=810 + +[Containments][23][Applets][26][Configuration][General] +launchers= + +[Containments][23][Applets][27] +immutability=1 +plugin=org.kde.plasma.marginsseparator + +[Containments][23][Applets][28] +activityId= +formfactor=2 +immutability=1 +lastScreen=0 +location=4 +plugin=org.kde.plasma.systemtray +popupHeight=432 +popupWidth=432 +wallpaperplugin=org.kde.image + +[Containments][23][Applets][28][Applets][29] +immutability=1 +plugin=org.kde.kdeconnect + +[Containments][23][Applets][28][Applets][30] +immutability=1 +plugin=org.kde.kscreen + +[Containments][23][Applets][28][Applets][31] +immutability=1 +plugin=org.kde.plasma.cameraindicator + +[Containments][23][Applets][28][Applets][32] +immutability=1 +plugin=org.kde.plasma.clipboard + +[Containments][23][Applets][28][Applets][33] +immutability=1 +plugin=org.kde.plasma.devicenotifier + +[Containments][23][Applets][28][Applets][34] +immutability=1 +plugin=org.kde.plasma.keyboardlayout + +[Containments][23][Applets][28][Applets][35] +immutability=1 +plugin=org.kde.plasma.manage-inputmethod + +[Containments][23][Applets][28][Applets][36] +immutability=1 +plugin=org.kde.plasma.notifications + +[Containments][23][Applets][28][Applets][37] +immutability=1 +plugin=org.kde.plasma.keyboardindicator + +[Containments][23][Applets][28][Applets][37][Configuration][General] +migrated=true + +[Containments][23][Applets][28][Applets][38] +immutability=1 +plugin=org.kde.plasma.weather + +[Containments][23][Applets][28][Applets][40] +immutability=1 +plugin=org.kde.plasma.battery + +[Containments][23][Applets][28][Applets][41] +immutability=1 +plugin=org.kde.plasma.brightness + +[Containments][23][Applets][28][Applets][42] +immutability=1 +plugin=org.kde.plasma.networkmanagement + +[Containments][23][Applets][28][Applets][43] +immutability=1 +plugin=org.kde.plasma.volume + +[Containments][23][Applets][28][Applets][43][Configuration][General] +migrated=true + +[Containments][23][Applets][28][Applets][44] +immutability=1 +plugin=org.kde.plasma.bluetooth + +[Containments][23][Applets][28][Applets][47] +immutability=1 +plugin=org.kde.plasma.mediacontroller + +[Containments][23][Applets][28][General] +extraItems=org.kde.kscreen,org.kde.plasma.battery,org.kde.plasma.brightness,org.kde.plasma.cameraindicator,org.kde.plasma.clipboard,org.kde.plasma.devicenotifier,org.kde.plasma.keyboardlayout,org.kde.plasma.manage-inputmethod,org.kde.plasma.mediacontroller,org.kde.plasma.networkmanagement,org.kde.plasma.notifications,org.kde.plasma.volume,org.kde.kdeconnect,org.kde.plasma.bluetooth,org.kde.plasma.keyboardindicator,org.kde.plasma.weather +knownItems=org.kde.kscreen,org.kde.plasma.battery,org.kde.plasma.brightness,org.kde.plasma.cameraindicator,org.kde.plasma.clipboard,org.kde.plasma.devicenotifier,org.kde.plasma.keyboardlayout,org.kde.plasma.manage-inputmethod,org.kde.plasma.mediacontroller,org.kde.plasma.networkmanagement,org.kde.plasma.notifications,org.kde.plasma.volume,org.kde.kdeconnect,org.kde.plasma.bluetooth,org.kde.plasma.keyboardindicator,org.kde.plasma.weather + +[Containments][23][Applets][38] +immutability=1 +plugin=org.kde.plasma.digitalclock + +[Containments][23][Applets][38][Configuration] +popupHeight=400 +popupWidth=560 + +[Containments][23][Applets][39] +immutability=1 +plugin=org.kde.plasma.showdesktop + +[Containments][23][General] +AppletOrder=24;25;26;27;28;38;39 + +[Containments][4][Wallpaper][org.kde.image][General] +Image=/usr/share/wallpapers/cachyos-wallpapers/north.png +PreviewImage=/usr/share/wallpapers/cachyos-wallpapers/north.png +SlidePaths=/usr/share/wallpapers/ + +[Containments][43] +ItemGeometries-1920x1080= +ItemGeometriesHorizontal= +activityId=4dfe7a63-75b1-4532-89bb-9e8ebc7e360d +formfactor=0 +immutability=1 +lastScreen=0 +location=0 +plugin=org.kde.plasma.folder +wallpaperplugin=org.kde.image + +[ScreenMapping] +itemsOnDisabledScreens= diff --git a/reference/home/.config/powermanagementprofilesrc b/reference/home/.config/powermanagementprofilesrc new file mode 100644 index 0000000..0f36073 --- /dev/null +++ b/reference/home/.config/powermanagementprofilesrc @@ -0,0 +1,2 @@ +[Migration] +MigratedProfilesToPlasma6=powerdevilrc diff --git a/reference/home/.config/shelly/config.json b/reference/home/.config/shelly/config.json new file mode 100644 index 0000000..b45ea16 --- /dev/null +++ b/reference/home/.config/shelly/config.json @@ -0,0 +1,56 @@ +{ + "FileSizeDisplay": "Megabytes", + "DefaultExecution": "UpgradeAll", + "ParallelDownloadCount": 10, + "Culture": "", + "AurEnabled": true, + "ShellySearchEnabled": false, + "AurWarningConfirmed": true, + "FlatPackEnabled": true, + "WindowWidth": 1021, + "WindowHeight": 600, + "DefaultView": "HomeScreen", + "UseOldMenu": false, + "TrayEnabled": true, + "TrayCheckIntervalHours": 72, + "NoConfirm": false, + "NewInstall": false, + "CurrentVersion": "2.4.1.2", + "UseWeeklySchedule": false, + "DaysOfWeek": [], + "Time": null, + "ShellyIconsEnabled": true, + "AppImageEnabled": true, + "NewInstallInitSettings": true, + "UseSymbolicTray": true, + "RemoveCache": false, + "TrayIconPath": "", + "TrayUpdatesIconPath": "", + "DefaultPageDropDown": "Packages", + "RecommendedEnabled": true, + "ProgressBarStyle": "Blocks", + "ProgressBarFps": 7, + "ProgressBarWidth": 24, + "OutputMode": "singlepane", + "SinglePaneMaxStickies": 6, + "TrayAutoStart": false, + "PackageDowngradeEnabled": false, + "PackageManagementCascadeDelete": true, + "PackageManagementRemoveConfigs": false, + "PackageManagementRemoveOptionalDeps": true, + "PackageManagementShowHidden": false, + "PackageInstallUpgrade": false, + "PackageInstallShowHidden": false, + "PackageUpdateShowHidden": false, + "AurInstallUseChroot": false, + "AurInstallRunChecks": false, + "AurRemoveCascadeDelete": true, + "AurRemoveShowHidden": false, + "AurUpdateRunChecks": false, + "AurUpdateShowHidden": false, + "AppImageInstallPath": "", + "StarFishEnabled": false, + "PackageInstallView": "Grid", + "PackageUpdateView": "Grid", + "PackageManageView": "Grid" +} \ No newline at end of file diff --git a/reference/home/.config/spectaclerc b/reference/home/.config/spectaclerc new file mode 100644 index 0000000..364a9e3 --- /dev/null +++ b/reference/home/.config/spectaclerc @@ -0,0 +1,6 @@ +[ImageSave] +lastImageSaveLocation=file:///home/alexion/Pictures/Screenshots/Screenshot_20260704_153951.png +translatedScreenshotsFolder=Screenshots + +[VideoSave] +translatedScreencastsFolder=Screencasts diff --git a/reference/home/.config/tmux/tmux.conf b/reference/home/.config/tmux/tmux.conf new file mode 100644 index 0000000..c478c78 --- /dev/null +++ b/reference/home/.config/tmux/tmux.conf @@ -0,0 +1,74 @@ +# Prefix: Ctrl-Space. Chosen over Ctrl-b (awkward reach) and Ctrl-a (collides +# with readline's beginning-of-line, which fights editing text in shells and +# in Claude Code's prompt). Verified clear of IME/KDE/Claude Code bindings. +unbind C-b +set -g prefix C-Space +bind C-Space send-prefix + +set -g mouse on +# OSC52 lets copy-mode selections land in the system clipboard via the +# terminal itself (Alacritty supports it) -- no wl-copy/xclip needed, and it +# still works over SSH later since the escape sequence travels with the data. +set -g set-clipboard on + +set -g mode-keys vi +set -g status-keys vi +bind -T copy-mode-vi v send -X begin-selection +bind -T copy-mode-vi y send -X copy-selection-and-cancel +bind -T copy-mode-vi MouseDragEnd1Pane send -X copy-selection-and-cancel + +# tmux's -h/-v split flags name the *arrangement*, not the divider line, which +# is backwards from how the divider looks -- so pick keys by what they draw: +# \ draws a side-by-side split (vertical line), - draws a stacked split +# (horizontal line). Unshifted versions of |/- since splitting is frequent. +unbind % +unbind '"' +bind \\ split-window -h -c "#{pane_current_path}" +bind - split-window -v -c "#{pane_current_path}" +bind c new-window -c "#{pane_current_path}" + +bind h select-pane -L +bind j select-pane -D +bind k select-pane -U +bind l select-pane -R + +set -g base-index 1 +setw -g pane-base-index 1 +set -g renumber-windows on + +bind r source-file ~/.config/tmux/tmux.conf \; display-message "tmux.conf reloaded" + +# True color passthrough. ",*" (rather than naming Alacritty's xterm-256color +# specifically) so this keeps working if the terminal emulator changes later. +set -g default-terminal "tmux-256color" +set -ag terminal-overrides ",*:RGB" + +# Default 500ms delay on Esc exists to disambiguate meta-key sequences; it +# reads as noticeable lag exiting insert mode in neovim, so drop it. +set -sg escape-time 10 + +set -g history-limit 10000 + +# Flag a background window in the status bar when its Claude Code session +# rings the terminal bell (permission prompt / task done while unfocused). +# bell-action=none stops tmux from ever passing the actual BEL through to +# Alacritty (no beep, no flash) -- monitor-bell's per-window tracking for the +# status-line highlight is independent of that and keeps working. +setw -g monitor-bell on +set -g bell-action none + +# Minimal status bar (session + window list only), styled to match the Nord +# theme already used in alacritty.toml. +set -g status-position bottom +set -g status-style "bg=#2E3440,fg=#D8DEE9" +set -g status-left " #S " +set -g status-left-length 20 +set -g status-right "" +setw -g window-status-current-style "bg=#88C0D0,fg=#2E3440,bold" +setw -g window-status-current-format " #I:#W " +setw -g window-status-format " #I:#W " +setw -g window-status-style "fg=#4C566A" +setw -g window-status-bell-style "bg=#BF616A,fg=#2E3440,bold" + +set -g pane-border-style "fg=#3B4252" +set -g pane-active-border-style "fg=#88C0D0" diff --git a/reference/home/.config/user-dirs.dirs b/reference/home/.config/user-dirs.dirs new file mode 100644 index 0000000..1b5a3ff --- /dev/null +++ b/reference/home/.config/user-dirs.dirs @@ -0,0 +1,16 @@ +# This file is written by xdg-user-dirs-update +# If you want to change or add directories, just edit the line you're +# interested in. All local changes will be retained on the next run. +# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped +# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an +# absolute path. No other format is supported. +# +XDG_DESKTOP_DIR="$HOME/.desktop" +XDG_DOWNLOAD_DIR="$HOME/dwn" +XDG_TEMPLATES_DIR="$HOME/.ignoreme" +XDG_PUBLICSHARE_DIR="$HOME/.ignoreme" +XDG_DOCUMENTS_DIR="$HOME/doc" +XDG_MUSIC_DIR="$HOME/mus" +XDG_PICTURES_DIR="$HOME/pic" +XDG_VIDEOS_DIR="$HOME/vid" +XDG_PROJECTS_DIR="$HOME/wrk" diff --git a/reference/home/.config/xsettingsd/xsettingsd.conf b/reference/home/.config/xsettingsd/xsettingsd.conf new file mode 100644 index 0000000..6f1b3fd --- /dev/null +++ b/reference/home/.config/xsettingsd/xsettingsd.conf @@ -0,0 +1,17 @@ +Net/CursorBlinkTime 1000 +Net/CursorBlink 1 +Gdk/UnscaledDPI 98304 +Gdk/WindowScalingFactor 1 +Gtk/EnableAnimations 1 +Gtk/DecorationLayout "icon:minimize,maximize,close" +Net/ThemeName "Breeze-Dark" +Gtk/PrimaryButtonWarpsSlider 1 +Gtk/ToolbarStyle 3 +Gtk/MenuImages 1 +Gtk/ButtonImages 1 +Gtk/CursorThemeSize 24 +Gtk/CursorThemeName "breeze_cursors" +Net/SoundThemeName "ocean" +Net/IconThemeName "breeze-dark" +Gtk/FontName "Noto Sans, 14" + diff --git a/reference/home/.gitconfig b/reference/home/.gitconfig new file mode 100644 index 0000000..0e25d32 --- /dev/null +++ b/reference/home/.gitconfig @@ -0,0 +1,3 @@ +[user] + name = alexion + email = contact@alexion.dev diff --git a/reference/home/.gitignore b/reference/home/.gitignore new file mode 100644 index 0000000..d5cbde1 --- /dev/null +++ b/reference/home/.gitignore @@ -0,0 +1,8 @@ +.dotfiles +.DS_Store +*.swp +*.swo +*~ +Thumbs.db +**/__pycache__ +.config/fish/conf.d/secrets.fish diff --git a/reference/home/.gtkrc-2.0 b/reference/home/.gtkrc-2.0 new file mode 100644 index 0000000..53f3e06 --- /dev/null +++ b/reference/home/.gtkrc-2.0 @@ -0,0 +1,14 @@ +gtk-enable-animations=1 +gtk-theme-name="Breeze-Dark" +gtk-primary-button-warps-slider=1 +gtk-toolbar-style=3 +gtk-menu-images=1 +gtk-button-images=1 +gtk-cursor-blink-time=1000 +gtk-cursor-blink=1 +gtk-cursor-theme-size=24 +gtk-cursor-theme-name="breeze_cursors" +gtk-sound-theme-name="ocean" +gtk-icon-theme-name="breeze-dark" +gtk-font-name="Noto Sans, 14" + diff --git a/reference/home/.profile b/reference/home/.profile new file mode 100644 index 0000000..c2f3182 --- /dev/null +++ b/reference/home/.profile @@ -0,0 +1 @@ +. "$HOME/.cargo/env" diff --git a/reference/home/.zshenv b/reference/home/.zshenv new file mode 100644 index 0000000..c2f3182 --- /dev/null +++ b/reference/home/.zshenv @@ -0,0 +1 @@ +. "$HOME/.cargo/env" diff --git a/reference/home/.zshrc b/reference/home/.zshrc new file mode 100644 index 0000000..5c34b2c --- /dev/null +++ b/reference/home/.zshrc @@ -0,0 +1 @@ +source /usr/share/cachyos-zsh-config/cachyos-config.zsh