internal: move all configs into this

This commit is contained in:
2 * r + 2 * t 2025-06-15 20:58:39 +10:00
parent 0b645115bb
commit 2e066bbbc1
47 changed files with 5691 additions and 46 deletions

65
fastfetch/config.jsonc Normal file
View file

@ -0,0 +1,65 @@
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": null,
"display": {
"separator": " ",
"color": "white",
"constants": ["\u001b[37m", "\u001b[38;5;16m", "\u001b[38;5;17m", "\u001b[38;5;18m"]
},
"modules": [
"break",
{
"type": "custom",
"key": "╭───────────────────────────────────╮"
},
{
"type": "kernel",
"key": "│ {$2}{$1} kernel",
"format": "{$2}{release>22}{$1} │"
},
{
"type": "command",
"key": "│  uptime",
"text": "uptime -p | cut -d ' ' -f 2-",
"format": "{>22} │"
},
{
"type": "shell",
"key": "│ {$2}{$1} shell ",
"format": "{$2}{pretty-name>22}{$1} │"
},
{
"type": "command",
"key": "│ {$3}{$1} mem ",
"text": "free -m | awk 'NR==2{printf \"%.2f GiB / %.2f GiB\",$3/1024,$2/1024}'",
"format": "{$3}{>22}{$1} │"
},
{
"type": "packages",
"key": "│  pkgs ",
"format": "{all>22} │"
},
{
"type": "command",
"key": "│ {$2}{$1} user ",
"text": "echo $USER",
"format": "{$2}{>22}{$1} │"
},
{
"type": "command",
"key": "│  hname ",
"text": "hostnamectl hostname",
"format": "{>22} │"
},
{
"type": "os",
"key": "│ {$4}󰻀{$1} distro",
"format": "{$4}{pretty-name>22}{$1} │"
},
{
"type": "custom",
"key": "╰───────────────────────────────────╯"
},
"break"
]
}

12
fish/config.fish Normal file
View file

@ -0,0 +1,12 @@
if status is-interactive
# Starship custom prompt
starship init fish | source
# Custom colours
cat ~/.local/state/caelestia/sequences.txt 2> /dev/null
# For jumping between prompts in foot terminal
function mark_prompt_start --on-event fish_prompt
echo -en "\e]133;A\e\\"
end
end

View file

@ -0,0 +1,10 @@
function fish_greeting
echo -ne '\x1b[38;5;16m' # Set colour to primary
echo ' ______ __ __ _ '
echo ' / ____/___ ____ / /__ _____/ /_(_)___ _ '
echo ' / / / __ `/ _ \/ / _ \/ ___/ __/ / __ `/ '
echo ' / /___/ /_/ / __/ / __(__ ) /_/ / /_/ / '
echo ' \____/\__,_/\___/_/\___/____/\__/_/\__,_/ '
set_color normal
fastfetch --key-padding-left 5
end

28
foot/foot.ini Normal file
View file

@ -0,0 +1,28 @@
shell=fish
title=foot
font=JetBrains Mono Nerd Font:size=12
letter-spacing=0
dpi-aware=no
pad=25x25
bold-text-in-bright=no
gamma-correct-blending=no
[scrollback]
lines=10000
[cursor]
style=beam
beam-thickness=1.5
[colors]
alpha=0.78
[key-bindings]
scrollback-up-page=Page_Up
scrollback-down-page=Page_Down
search-start=Control+f
[search-bindings]
cancel=Escape
find-prev=Shift+F3
find-next=F3 Control+G

View file

@ -1,4 +1,3 @@
/hyprland/ignore.conf
/hyprland/overrides.conf
/scheme/current.conf
/hyprlock.conf

View file

@ -95,6 +95,6 @@ source = $hypr/colours.conf
exec = ~/.config/hypr/scripts/get-overrides.fish
source = $hypr/overrides.conf
# Stuff to not put in git
exec = test -f $hypr/ignore.conf || touch $hypr/ignore.conf
source = $hypr/ignore.conf
# User styles in ~/.config/caelestia
exec = test -f ~/.config/caelestia/hypr.conf || touch ~/.config/caelestia/hypr.conf
source = ~/.config/caelestia/hypr.conf

View file

@ -1,5 +1,3 @@
exec-once = ~/.config/hypr/scripts/monitor-scheme.fish
exec = ~/.config/hypr/scripts/gen-scheme.fish
source = ~/.config/hypr/scheme/current.conf
group {

21
hypr/hyprland/env.conf Normal file
View file

@ -0,0 +1,21 @@
# ############# Themes #############
env = QT_QPA_PLATFORMTHEME, qt5ct
env = QT_WAYLAND_DISABLE_WINDOWDECORATION, 1
env = QT_AUTO_SCREEN_SCALE_FACTOR, 1
env = XCURSOR_THEME, sweet-rainbow
env = XCURSOR_SIZE, 24
# ######## Toolkit backends ########
env = GDK_BACKEND, wayland,x11
env = QT_QPA_PLATFORM, wayland;xcb
env = SDL_VIDEODRIVER, wayland,x11
env = CLUTTER_BACKEND, wayland
env = ELECTRON_OZONE_PLATFORM_HINT, auto
# ####### XDG specifications #######
env = XDG_CURRENT_DESKTOP, Hyprland
env = XDG_SESSION_TYPE, wayland
env = XDG_SESSION_DESKTOP, Hyprland
# ############# Others #############
env = _JAVA_AWT_WM_NONREPARENTING, 1

View file

@ -1,4 +1,4 @@
# Core components (authentication, lock screen)
# Keyring and auth
exec-once = gnome-keyring-daemon --start --components=secrets
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1

View file

@ -147,7 +147,6 @@ bind = Super, E, exec, app2unit -- thunar
bind = Super+Alt, E, exec, app2unit -- nemo
bind = Ctrl+Alt, Escape, exec, app2unit -- qps
bind = Ctrl+Alt, V, exec, app2unit -- pavucontrol
bind = Ctrl+Super, Slash, exec, pkill fuzzel || fuzzel --launch-prefix='app2unit --fuzzel-compat -- ' # Secondary app launcher
# Utilities
bindl = , Print, exec, caelestia screenshot # Full screen capture > clipboard
@ -164,9 +163,6 @@ bindl = Super+Shift, M, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindle = , XF86AudioRaiseVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0; wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 10%+
bindle = , XF86AudioLowerVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0; wpctl set-volume @DEFAULT_AUDIO_SINK@ 10%-
# Power
bind = Ctrl+Shift+Alt, Delete, exec, pkill wlogout || wlogout -p layer-shell
# Lock and sleep
bind = Super, L, exec, loginctl lock-session
bind = Super+Shift, L, exec, systemctl suspend-then-hibernate

View file

@ -24,7 +24,7 @@ if test (get-width $font $size $string) -gt $max_width
if test (math abs $st - $ed) -le 1
set done
set string (string sub -e $idx $string)
else
else
set st $idx
end
end

View file

@ -1,4 +0,0 @@
splash = false
preload = $HOME/.local/state/caelestia/wallpaper/current
wallpaper = , $HOME/.local/state/caelestia/wallpaper/current

View file

@ -1,22 +0,0 @@
#!/bin/fish
function read-scheme -a scheme_path
cat $scheme_path | while read line
set -l colour (string split ' ' $line)
echo "\$$colour[1] = $colour[2]"
end
end
set -q XDG_STATE_HOME && set -l state $XDG_STATE_HOME || set -l state $HOME/.local/state
set -l scheme_path $state/caelestia/scheme/current.txt
if test -f $scheme_path
set -l tmp (mktemp)
read-scheme $scheme_path > $tmp
if ! cmp -s $tmp ~/.config/hypr/scheme/current.conf
cp $tmp ~/.config/hypr/scheme/current.conf
hyprctl reload
end
else
cp ~/.config/hypr/scheme/default.conf ~/.config/hypr/scheme/current.conf
end

View file

@ -1,8 +0,0 @@
#!/bin/fish
set -q XDG_STATE_HOME && set -l state $XDG_STATE_HOME || set -l state $HOME/.local/state
set -l scheme_path $state/caelestia/scheme/current.txt
inotifywait -e 'close_write,moved_to,create' -m (dirname $scheme_path) | while read dir events file
test "$dir$file" = $scheme_path && hyprctl reload
end

View file

@ -0,0 +1,29 @@
/* Background buttons, main play/pause button and progress bar */
.encore-bright-accent-set,
.encore-inverted-light-set,
.x-progressBar-fillColor {
background-color: var(--spice-button-active) !important;
}
/* Left sidebar search button */
.x-filterBox-expandButton {
border-radius: 1000px !important;
}
/* Queue and recently played right sidebar buttons */
.encore-text-body-small-bold {
border-radius: 10px !important;
}
/* Hover animations for buttons, tracklist and context menu */
button,
.main-trackList-trackListRow,
.main-contextMenu-menuItemButton {
transition: color 200ms cubic-bezier(0, 0.55, 0.45, 1), background-color 200ms cubic-bezier(0, 0.55, 0.45, 1) !important;
}
/* Search bar and dropdown */
.main-topBar-searchBar,
#recent-searches-dropdown > div {
background-color: var(--spice-main-elevated) !important;
}

316
starship.toml Normal file
View file

@ -0,0 +1,316 @@
# version: 1.0.0
add_newline = false
continuation_prompt = "[▸▹ ](dimmed white)"
format = """($nix_shell$container$fill$git_metrics\n)$cmd_duration\
$hostname\
$localip\
$shlvl\
$shell\
$env_var\
$jobs\
$sudo\
$username\
$character"""
right_format = """
$singularity\
$kubernetes\
$directory\
$vcsh\
$fossil_branch\
$git_branch\
$git_commit\
$git_state\
$git_status\
$hg_branch\
$pijul_channel\
$docker_context\
$package\
$c\
$cmake\
$cobol\
$daml\
$dart\
$deno\
$dotnet\
$elixir\
$elm\
$erlang\
$fennel\
$golang\
$guix_shell\
$haskell\
$haxe\
$helm\
$java\
$julia\
$kotlin\
$gradle\
$lua\
$nim\
$nodejs\
$ocaml\
$opa\
$perl\
$php\
$pulumi\
$purescript\
$python\
$raku\
$rlang\
$red\
$ruby\
$rust\
$scala\
$solidity\
$swift\
$terraform\
$vlang\
$vagrant\
$zig\
$buf\
$conda\
$meson\
$spack\
$memory_usage\
$aws\
$gcloud\
$openstack\
$azure\
$crystal\
$custom\
$status\
$os\
$battery\
$time"""
[fill]
symbol = ' '
[character]
format = "$symbol "
success_symbol = "[◎](bold italic bright-yellow)"
error_symbol = "[○](italic purple)"
vimcmd_symbol = "[■](italic dimmed green)"
# not supported in zsh
vimcmd_replace_one_symbol = "◌"
vimcmd_replace_symbol = "□"
vimcmd_visual_symbol = "▼"
[env_var.VIMSHELL]
format = "[$env_value]($style)"
style = 'green italic'
[sudo]
format = "[$symbol]($style)"
style = "bold italic bright-purple"
symbol = "⋈┈"
disabled = false
[username]
style_user = "bright-yellow bold italic"
style_root = "purple bold italic"
format = "[⭘ $user]($style) "
disabled = false
show_always = false
[directory]
home_symbol = "⌂"
truncation_length = 2
truncation_symbol = "□ "
read_only = " ◈"
use_os_path_sep = true
style = "italic blue"
format = '[$path]($style)[$read_only]($read_only_style)'
repo_root_style = 'bold blue'
repo_root_format = '[$before_root_path]($before_repo_root_style)[$repo_root]($repo_root_style)[$path]($style)[$read_only]($read_only_style) [△](bold bright-blue)'
[cmd_duration]
min_time = 0
format = "[◄ $duration ](italic white)"
[jobs]
format = "[$symbol$number]($style) "
style = "white"
symbol = "[▶](blue italic)"
[localip]
ssh_only = true
format = " ◯[$localipv4](bold magenta)"
disabled = false
[time]
disabled = false
format = "[ $time]($style)"
time_format = "%R"
utc_time_offset = "local"
style = "italic dimmed white"
[battery]
format = "[ $percentage $symbol]($style)"
full_symbol = "█"
charging_symbol = "[↑](italic bold green)"
discharging_symbol = "↓"
unknown_symbol = "░"
empty_symbol = "▃"
[[battery.display]]
threshold = 20
style = "italic bold red"
[[battery.display]]
threshold = 60
style = "italic dimmed bright-purple"
[[battery.display]]
threshold = 70
style = "italic dimmed yellow"
[git_branch]
format = " [$branch(:$remote_branch)]($style)"
symbol = "[△](bold italic bright-blue)"
style = "italic bright-blue"
truncation_symbol = "⋯"
truncation_length = 11
ignore_branches = ["main", "master"]
only_attached = true
[git_metrics]
format = '([▴$added]($added_style))([▿$deleted]($deleted_style))'
added_style = 'italic dimmed green'
deleted_style = 'italic dimmed red'
ignore_submodules = true
disabled = false
[git_status]
style = "bold italic bright-blue"
format = "([⎪$ahead_behind$staged$modified$untracked$renamed$deleted$conflicted$stashed⎥]($style))"
conflicted = "[◪◦](italic bright-magenta)"
ahead = "[▴│[${count}](bold white)│](italic green)"
behind = "[▿│[${count}](bold white)│](italic red)"
diverged = "[◇ ▴┤[${ahead_count}](regular white)│▿┤[${behind_count}](regular white)│](italic bright-magenta)"
untracked = "[◌◦](italic bright-yellow)"
stashed = "[◃◈](italic white)"
modified = "[●◦](italic yellow)"
staged = "[▪┤[$count](bold white)│](italic bright-cyan)"
renamed = "[◎◦](italic bright-blue)"
deleted = "[✕](italic red)"
[deno]
format = " [deno](italic) [∫ $version](green bold)"
version_format = "${raw}"
[lua]
format = " [lua](italic) [${symbol}${version}]($style)"
version_format = "${raw}"
symbol = "⨀ "
style = "bold bright-yellow"
[nodejs]
format = " [node](italic) [◫ ($version)](bold bright-green)"
version_format = "${raw}"
detect_files = ["package-lock.json", "yarn.lock"]
detect_folders = ["node_modules"]
detect_extensions = []
[python]
format = " [py](italic) [${symbol}${version}]($style)"
symbol = "[⌉](bold bright-blue)⌊ "
version_format = "${raw}"
style = "bold bright-yellow"
[ruby]
format = " [rb](italic) [${symbol}${version}]($style)"
symbol = "◆ "
version_format = "${raw}"
style = "bold red"
[rust]
format = " [rs](italic) [$symbol$version]($style)"
symbol = "⊃ "
version_format = "${raw}"
style = "bold red"
[package]
format = " [pkg](italic dimmed) [$symbol$version]($style)"
version_format = "${raw}"
symbol = "◨ "
style = "dimmed yellow italic bold"
[swift]
format = " [sw](italic) [${symbol}${version}]($style)"
symbol = "◁ "
style = "bold bright-red"
version_format = "${raw}"
[aws]
disabled = true
format = " [aws](italic) [$symbol $profile $region]($style)"
style = "bold blue"
symbol = "▲ "
[buf]
symbol = "■ "
format = " [buf](italic) [$symbol $version $buf_version]($style)"
[c]
symbol = " "
format = " [$symbol($version(-$name))]($style)"
[conda]
symbol = "◯ "
format = " conda [$symbol$environment]($style)"
[dart]
symbol = "◁◅ "
format = " dart [$symbol($version )]($style)"
[docker_context]
symbol = "◧ "
format = " docker [$symbol$context]($style)"
[elixir]
symbol = "△ "
format = " exs [$symbol $version OTP $otp_version ]($style)"
[elm]
symbol = "◩ "
format = " elm [$symbol($version )]($style)"
[golang]
symbol = "∩ "
format = " go [$symbol($version )]($style)"
[haskell]
symbol = "❯λ "
format = " hs [$symbol($version )]($style)"
[java]
symbol = " "
format = " java [${symbol}(${version} )]($style)"
[julia]
symbol = "◎ "
format = " jl [$symbol($version )]($style)"
[memory_usage]
symbol = "▪▫▪ "
format = " mem [${ram}( ${swap})]($style)"
[nim]
symbol = "▴▲▴ "
format = " nim [$symbol($version )]($style)"
[nix_shell]
style = 'bold italic dimmed blue'
symbol = '✶'
format = '[$symbol nix⎪$state⎪]($style) [$name](italic dimmed white)'
impure_msg = '[⌽](bold dimmed red)'
pure_msg = '[⌾](bold dimmed green)'
unknown_msg = '[◌](bold dimmed ellow)'
[spack]
symbol = "◇ "
format = " spack [$symbol$environment]($style)"

View file

@ -0,0 +1,34 @@
[
{
"key": "ctrl+shift+alt+r",
"command": "workbench.action.reloadWindow"
},
{
"key": "ctrl+pageup",
"command": "workbench.action.previousEditor"
},
{
"key": "ctrl+pagedown",
"command": "workbench.action.nextEditor"
},
{
"key": "ctrl+shift+up",
"command": "editor.action.moveLinesUpAction",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+shift+down",
"command": "editor.action.moveLinesDownAction",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "shift+alt+up",
"command": "editor.action.insertCursorAbove",
"when": "editorTextFocus"
},
{
"key": "shift+alt+down",
"command": "editor.action.insertCursorBelow",
"when": "editorTextFocus"
}
]

44
vscode/User/settings.json Normal file
View file

@ -0,0 +1,44 @@
{
"editor.renderWhitespace": "trailing",
"editor.multiCursorModifier": "ctrlCmd",
"editor.cursorSmoothCaretAnimation": "on",
"editor.fontLigatures": true,
"prettier.tabWidth": 4,
"editor.minimap.autohide": true,
"security.workspace.trust.startupPrompt": "always",
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"prettier.printWidth": 120,
"prettier.arrowParens": "avoid",
"workbench.colorTheme": "Caelestia",
"diffEditor.hideUnchangedRegions.enabled": true,
"workbench.list.smoothScrolling": true,
"editor.smoothScrolling": true,
"terminal.integrated.smoothScrolling": true,
"javascript.preferences.importModuleSpecifierEnding": "minimal",
"typescript.preferences.importModuleSpecifierEnding": "minimal",
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit"
},
"codeium.enableCodeLens": false,
"typescript.preferences.preferTypeOnlyAutoImports": true,
"editor.suggestSelection": "recentlyUsedByPrefix",
"workbench.iconTheme": "catppuccin-mocha",
"git.enableSmartCommit": true,
"codeium.enableConfig": {
"*": true,
"fish": true,
"qml": true
},
"[c]": {
"editor.defaultFormatter": "llvm-vs-code-extensions.vscode-clangd"
},
"doxdocgen.generic.boolReturnsTrueFalse": false,
"terminal.integrated.enableMultiLinePasteWarning": "never",
"qt-qml.qmlls.additionalImportPaths": ["/usr/lib/qt6/qml"],
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff"
},
"ruff.lineLength": 120,
"python.languageServer": "Pylance"
}

View file

@ -0,0 +1,2 @@
out/
node_modules/

View file

@ -0,0 +1,17 @@
// A launch configuration that compiles the extension and then opens it inside a new window
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
{
"version": "0.2.0",
"configurations": [
{
"name": "Run Extension",
"type": "extensionHost",
"request": "launch",
"args": ["--extensionDevelopmentPath=${workspaceFolder}"],
"outFiles": ["${workspaceFolder}/out/**/*.js"],
"preLaunchTask": "${defaultBuildTask}"
}
]
}

View file

@ -0,0 +1,11 @@
.vscode/**
.vscode-test/**
src/**
.gitignore
.yarnrc
vsc-extension-quickstart.md
**/tsconfig.json
**/eslint.config.mjs
**/*.map
**/*.ts
**/.vscode-test.*

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,50 @@
{
"name": "caelestia-vscode-integration",
"displayName": "caelestia-vscode-integration",
"description": "VSCode integration for caelestia dotfiles",
"version": "1.1.0",
"publisher": "soramanew",
"engines": {
"vscode": "^1.96.0"
},
"categories": [
"Themes"
],
"activationEvents": [
"onStartupFinished"
],
"capabilities": {
"untrustedWorkspaces": {
"supported": true
}
},
"main": "./out/extension.js",
"contributes": {
"themes": [
{
"label": "Caelestia",
"uiTheme": "vs-dark",
"path": "./themes/caelestia.json",
"_watch": true
}
]
},
"repository": {
"type": "git",
"url": "https://github.com/caelestia-dots/vscode.git",
"directory": "caelestia-vscode-integration"
},
"dependencies": {
"tinycolor2": "^1.6.0"
},
"devDependencies": {
"@types/node": "20.x",
"@types/tinycolor2": "^1.4.6",
"@types/vscode": "^1.96.0",
"@vscode/vsce": "^3.2.1",
"typescript": "^5.7.2"
},
"scripts": {
"vscode:prepublish": "tsc -p ./"
}
}

View file

@ -0,0 +1,50 @@
import { existsSync } from "fs";
import { readFile, writeFile } from "fs/promises";
import { homedir } from "os";
import { join } from "path";
import { ConfigurationTarget, extensions, RelativePattern, workspace, type ExtensionContext } from "vscode";
import theme from "./theme";
const statedir = () => process.env.XDG_STATE_HOME ?? join(homedir(), ".local", "state");
const schemedir = () => join(statedir(), "caelestia", "scheme");
const update = async () => {
if (!existsSync(join(schemedir(), "current.txt"))) {
console.log("No current scheme.");
return;
}
// Update theme colours with scheme
const scheme = await readFile(join(schemedir(), "current.txt"), "utf-8");
const colours = scheme.split("\n").reduce((acc, l) => {
const [name, hex] = l.split(" ");
acc[name] = `#${hex}`;
return acc;
}, {} as { [k: string]: string });
await writeFile(join(__dirname, "..", "themes", "caelestia.json"), JSON.stringify(theme(colours)));
// Sync icon theme
const workbench = workspace.getConfiguration("workbench");
if (
workbench.get("colorTheme") === "Caelestia" &&
/catppuccin-(latte|frappe|macchiato|mocha)/.test(workbench.get("iconTheme") ?? "") &&
extensions.getExtension("catppuccin.catppuccin-vsc-icons")
) {
const colourMode = await readFile(join(schemedir(), "current-mode.txt"), "utf-8");
workbench.update(
"iconTheme",
`catppuccin-${colourMode === "light" ? "latte" : "mocha"}`,
ConfigurationTarget.Global
);
}
console.log("Updated scheme.");
};
export const activate = (context: ExtensionContext) => {
update();
const watcher = workspace.createFileSystemWatcher(new RelativePattern(schemedir(), "current.txt"));
context.subscriptions.push(watcher, watcher.onDidCreate(update), watcher.onDidChange(update));
console.log(`Watching for changes to ${join(schemedir(), "current.txt")}`);
};

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,15 @@
{
"compilerOptions": {
"module": "Node16",
"target": "ES2022",
"outDir": "out",
"lib": ["ES2022"],
"sourceMap": false,
"rootDir": "src",
"strict": true /* enable all strict type-checking options */
/* Additional Checks */
// "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
// "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
// "noUnusedParameters": true, /* Report errors on unused parameters. */
}
}