internal: move all configs into this
This commit is contained in:
parent
0b645115bb
commit
2e066bbbc1
47 changed files with 5691 additions and 46 deletions
65
fastfetch/config.jsonc
Normal file
65
fastfetch/config.jsonc
Normal 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
12
fish/config.fish
Normal 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
|
||||
10
fish/functions/fish_greeting.fish
Normal file
10
fish/functions/fish_greeting.fish
Normal 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
28
foot/foot.ini
Normal 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
|
||||
1
.gitignore → hypr/.gitignore
vendored
1
.gitignore → hypr/.gitignore
vendored
|
|
@ -1,4 +1,3 @@
|
|||
/hyprland/ignore.conf
|
||||
/hyprland/overrides.conf
|
||||
/scheme/current.conf
|
||||
/hyprlock.conf
|
||||
|
|
@ -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
|
||||
|
|
@ -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
21
hypr/hyprland/env.conf
Normal 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
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
splash = false
|
||||
|
||||
preload = $HOME/.local/state/caelestia/wallpaper/current
|
||||
wallpaper = , $HOME/.local/state/caelestia/wallpaper/current
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
29
spicetify/Themes/caelestia/user.css
Normal file
29
spicetify/Themes/caelestia/user.css
Normal 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
316
starship.toml
Normal 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)"
|
||||
34
vscode/User/keybindings.json
Normal file
34
vscode/User/keybindings.json
Normal 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
44
vscode/User/settings.json
Normal 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"
|
||||
}
|
||||
2
vscode/caelestia-vscode-integration/.gitignore
vendored
Normal file
2
vscode/caelestia-vscode-integration/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
out/
|
||||
node_modules/
|
||||
17
vscode/caelestia-vscode-integration/.vscode/launch.json
vendored
Normal file
17
vscode/caelestia-vscode-integration/.vscode/launch.json
vendored
Normal 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}"
|
||||
}
|
||||
]
|
||||
}
|
||||
11
vscode/caelestia-vscode-integration/.vscodeignore
Normal file
11
vscode/caelestia-vscode-integration/.vscodeignore
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
.vscode/**
|
||||
.vscode-test/**
|
||||
src/**
|
||||
.gitignore
|
||||
.yarnrc
|
||||
vsc-extension-quickstart.md
|
||||
**/tsconfig.json
|
||||
**/eslint.config.mjs
|
||||
**/*.map
|
||||
**/*.ts
|
||||
**/.vscode-test.*
|
||||
Binary file not shown.
2812
vscode/caelestia-vscode-integration/package-lock.json
generated
Normal file
2812
vscode/caelestia-vscode-integration/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
50
vscode/caelestia-vscode-integration/package.json
Normal file
50
vscode/caelestia-vscode-integration/package.json
Normal 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 ./"
|
||||
}
|
||||
}
|
||||
50
vscode/caelestia-vscode-integration/src/extension.ts
Normal file
50
vscode/caelestia-vscode-integration/src/extension.ts
Normal 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")}`);
|
||||
};
|
||||
2169
vscode/caelestia-vscode-integration/src/theme.ts
Normal file
2169
vscode/caelestia-vscode-integration/src/theme.ts
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
15
vscode/caelestia-vscode-integration/tsconfig.json
Normal file
15
vscode/caelestia-vscode-integration/tsconfig.json
Normal 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. */
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue