diff --git a/.config/guix/cobra/bin.scm b/.config/guix/cobra/bin.scm
deleted file mode 100644
index e77f165..0000000
--- a/.config/guix/cobra/bin.scm
+++ /dev/null
@@ -1,210 +0,0 @@
-(define-module (cobra bin)
- #:use-module (guix gexp)
- #:use-module (gnu packages base)
- #:export (%bin:torbrowser
- %bin:suspend-wrap
- %bin:suspend
- %bin:start-pipewire
- %bin:screenshot
- %bin:logout-wofi
- %bin:lock
- %bin:fss
- %bin:beep-wrapper
- %bin:beep
- %bin:backtick))
-
-(define %bin:torbrowser
- (computed-file "bin-torbrowser"
- #~(begin
- (system (string-append #$coreutils "/bin/cat << \"EOF\" >" #$output "\n" "\
-#!/usr/bin/env bash
-
-cd ~/.local/share/torbrowser/tor-browser/
-guix shell --check --pure --expression='(list (@@ (gnu packages gcc) gcc-11) \"lib\")' coreutils bash grep sed gcc-toolchain patchelf gtk+ dbus-glib libxt libevent openssl file alsa-lib << EOT
-set -x
-cd Browser
-patchelf --set-interpreter \\$LIBRARY_PATH/ld-linux-x86-64.so.2 firefox.real
-patchelf --set-interpreter \\$LIBRARY_PATH/ld-linux-x86-64.so.2 TorBrowser/Tor/tor
-LD_LIBRARY_PATH=\\$LIBRARY_PATH ./start-tor-browser -v
-EOT" "\nEOF"))
- (chmod #$output #o755))))
-
-(define %bin:suspend-wrap
- (computed-file "bin-suspend-wrap"
- #~(begin
- (system (string-append #$coreutils "/bin/cat << \"EOF\" >" #$output "\n" "\
-#!/usr/bin/env bash
-sudo ~/.local/bin/__suspend
-while grep -v '\\[' /sys/power/state; do
- swaylock
- break
-done" "\nEOF"))
- (chmod #$output #o755))))
-
-(define %bin:suspend
- (computed-file "bin-suspend"
- #~(begin
- (system (string-append #$coreutils "/bin/cat << \"EOF\" >" #$output "\n" "\
-#!/usr/bin/env bash
-echo mem > /sys/power/state" "\nEOF"))
- (chmod #$output #o755))))
-
-(define %bin:start-pipewire
- (computed-file "bin-start-pipewire"
- #~(begin
- (system (string-append #$coreutils "/bin/cat << \"EOF\" >" #$output "\n" "\
-#!/usr/bin/env bash
-
-rm -rf /run/user/$UID/pulse
-pkill pulseaudio
-rm -rf /run/user/$UID/pulse
-
-pipewire &
-pipewire-pulse &
-wireplumber &" "\nEOF"))
- (chmod #$output #o755))))
-
-(define %bin:screenshot
- (computed-file "bin-screenshot"
- #~(begin
- (system (string-append #$coreutils "/bin/cat << \"EOF\" >" #$output "\n" "\
-#!/usr/bin/env bash
-
-if [ ! -d $HOME/Pictures/Screenshots ]
-then
- mkdir -p $HOME/Pictures/Screenshots
-fi
-
-fullscreen() {
- filename=$HOME/Pictures/Screenshots/$(date +%Y%m%d_%H:%M:%S_Fullscreen).png
- grim $filename
- cat $filename | wl-copy \
- && notify-send -i $filename \"Fullscreen Screenshot taken\"
- }
-
-selecting() {
- filename=$HOME/Pictures/Screenshots/$(date +%Y%m%d_%H:%M:%S_Selected).png
- grim -g \"$(slurp -b e3eaf699)\" $filename \
- && notify-send -i $filename \"Selective Screenshot taken\"
- cat $filename | wl-copy
- }
-
-wofirun() {
- case \"$(printf \"fullscreen\\nselect\\n\" | wofi --dmenu -i -H 500 -W 250 -x 0 -y 0 )\" in
- 'fullscreen')fullscreen;;
- 'select')selecting;;
- esac
-}
-
-helpscreen() {
- echo \"Usage: screenshot [-f] [-s] [-w] [-h] \"
- echo \"Options:\"
- echo \"-f : Fullscreen screenshot\"
- echo \"-s : Select a region for the screenshot\"
- echo \"-w : Shows a wofi prompt for screenshot\"
- echo \"-h : Shows this fucking help menu\"
- echo \"If no flags are selected then -f is chosen\"
-}
-case $1 in
- -f)fullscreen;;
- -s)selecting;;
- -h)helpscreen;;
- -w)wofirun;;
- *)fullscreen;;
-esac" "\nEOF"))
- (chmod #$output #o755))))
-
-(define %bin:logout-wofi
- (computed-file "bin-logout-wofi"
- #~(begin
- (system (string-append #$coreutils "/bin/cat << \"EOF\" >" #$output "\n" "\
-#!/usr/bin/env bash
-
-case \"$(printf \"logout\\nreboot\\nshutdown\\nsleep\\n\" | wofi --dmenu -i -H 500 -W 250 -x 0 -y 0 )\" in
- 'logout') swaymsg exit;;
- 'sleep') ~/.local/bin/suspend ;;
- 'reboot') sudo reboot ;;
- 'shutdown') sudo poweroff ;;
- *) exit 1 ;;
-esac" "\nEOF"))
- (chmod #$output #o755))))
-
-(define %bin:lock
- (computed-file "bin-lock"
- #~(begin
- (system (string-append #$coreutils "/bin/cat << \"EOF\" >" #$output "\n" "\
-#!/usr/bin/env bash
-if ! ps aux | grep -v grep | grep swaylock; then
-# if [[ $(playerctl status) != \"Playing\" ]]; then
-# swayidle -w timeout 600 'sudo ~/.local/bin/__suspend' &
-# SUSPEND=$!
-# fi
- swayidle -w timeout 15 'swaymsg \"output * dpms off\"' resume 'swaymsg \"output * dpms on\"' &
- SCREENOFF=$!
- swaylock
- kill $SUSPEND $SCREENOFF
-fi" "\nEOF"))
- (chmod #$output #o755))))
-
-(define %bin:fss
- (computed-file "bin-fss"
- #~(begin
- (system (string-append #$coreutils "/bin/cat << \"EOF\" >" #$output "\n" "\
-#!/usr/bin/env bash
-# made by aryak.vern.cc modified by cobra.vern.cc
-if [[ -S \"/tmp/mpvfsfsock\" ]]; then
- echo quit | socat - /tmp/mpvfsfsock
-else
- mpv --input-ipc-server=/tmp/mpvfsfsock ~/.local/share/fss.ogg
- trap \"rm -rf /tmp/mpvfsfsock\" EXIT
-fi" "\nEOF"))
- (chmod #$output #o755))))
-
-(define %bin:beep-wrapper
- (computed-file "bin-beep-wrapper"
- #~(begin
- (system (string-append #$coreutils "/bin/cat << \"EOF\" >" #$output "\n" "\
-#!/usr/bin/env bash
-while sleep 1; do
- ## Battery beep
- if ls /sys/class/power_supply/BAT* &>/dev/null; then
- BAT0=$(" #$output "\n" "\
-#!/usr/bin/env sh
-echo $1 > /proc/acpi/ibm/beep" "\nEOF"))
- (chmod #$output #o755))))
-
-(define %bin:backtick
- (computed-file "bin-backtick"
- #~(begin
- (system (string-append #$coreutils "/bin/cat << \"EOF\" >" #$output "\n" "\
-#!/usr/bin/env bash
-
-cpu() {
- bc<<<\"scale=3;$(ps aux | awk 'BEGIN {sum=0} {sum+=$3}; END {print sum}') / $(nproc --all)\"
-}
-
-ram() {
- free -h | sed '2!d' | (read _ _ used _; echo $used)
-}
-
-bat() {
- acpi -b | sed 's/Battery /BAT/'
-}
-
-echo \"$(cpu)% $(ram) $(bat)\"" "\nEOF"))
- (chmod #$output #o755))))
diff --git a/.config/guix/cobra/config.scm b/.config/guix/cobra/config.scm
deleted file mode 100644
index f9b3047..0000000
--- a/.config/guix/cobra/config.scm
+++ /dev/null
@@ -1,978 +0,0 @@
-(define-module (cobra config)
- #:use-module (guix gexp)
- #:export (%waybar:style
- %waybar:config
- %config:swaylock
- %config:sway
- %config:mpv
- %config:mako
- %config:foot
- %config:colorscheme
- %config:hyfetch
- %config:neofetch))
-
-(define %waybar:style
- (plain-file "waybar-style" "\
-/* =============================================================================
- *
- * Waybar configuration
- *
- * Configuration reference: https://github.com/Alexays/Waybar/wiki/Configuration
- *
- * =========================================================================== */
-
-/* -----------------------------------------------------------------------------
- * Keyframes
- * -------------------------------------------------------------------------- */
-
-@keyframes blink-warning {
- 70% {
- color: white;
- }
-
- to {
- color: white;
- background-color: orange;
- }
-}
-
-@keyframes blink-critical {
- 70% {
- color: white;
- }
-
- to {
- color: white;
- background-color: red;
- }
-}
-
-
-/* -----------------------------------------------------------------------------
- * Base styles
- * -------------------------------------------------------------------------- */
-
-/* Reset all styles */
-* {
- border: none;
- border-radius: 0;
- min-height: 0;
- margin: 0;
- padding: 0;
-}
-
-/* The whole bar */
-#waybar {
- background: transparent;
- color: black;
- font-family: 'Fira Mono';
- font-size: 14px;
-}
-
-/* Each module */
-#battery,
-#clock,
-#cpu,
-#memory,
-#mode,
-#network,
-#pulseaudio,
-#temperature,
-#tray {
- padding-left: 10px;
- padding-right: 10px;
-}
-
-
-/* -----------------------------------------------------------------------------
- * Module styles
- * -------------------------------------------------------------------------- */
-
-#battery {
- background-color: #F79489;
- color: black;
- animation-timing-function: linear;
- animation-iteration-count: infinite;
- animation-direction: alternate;
- border-top-right-radius: 15px;
- border-bottom-right-radius: 15px;
-}
-
-#battery.warning {
- color: orange;
- font-weight: bold;
-}
-
-#battery.critical {
- color: red;
- font-weight: bold;
-}
-
-#battery.warning.discharging {
- animation-name: blink-warning;
- animation-duration: 3s;
- font-weight: bold;
-}
-
-#battery.critical.discharging {
- animation-name: blink-critical;
- animation-duration: 2s;
-}
-
-#clock {
- font-weight: bold;
- color: black;
- text-shadow: -1px 0 white, 0 1px white, 1px 0 white, 0 -1px white;
- border-radius: 50%;
-}
-
-#cpu {
- /* No styles */
- background-color: #F9C6C0;
- color: black;
-}
-
-#cpu.warning {
- color: orange;
- font-weight: bold;
-}
-
-#cpu.critical {
- color: red;
- font-weight: bold;
-}
-
-#memory {
- animation-timing-function: linear;
- animation-iteration-count: infinite;
- animation-direction: alternate;
- background-color: #FADCD9;
- color: black;
-}
-
-#memory.warning {
- color: orange;
- font-weight: bold;
-}
-
-#memory.critical {
- color: red;
- animation-name: blink-critical;
- animation-duration: 2s;
- font-weight: bold;
-}
-
-#mode {
- background: #64727D;
- border-top: 2px solid white;
- /* To compensate for the top border and still have vertical centering */
- padding-bottom: 2px;
- margin-left: 10px;
-}
-
-#network {
- /* No styles */
- background-color: #F9F1F0;
- color: black;
- border-top-left-radius: 15px;
- border-bottom-left-radius: 15px;
-}
-
-#network.disconnected {
-/* color: orange;*/
-}
-
-#pulseaudio {
- /* No styles */
-}
-
-#pulseaudio.muted {
- /* No styles */
-}
-
-#temperature {
- /* No styles */
- background-color: #F8AFA6;
- color: black;
-}
-
-#temperature.critical {
- color: red;
-}
-
-#tray {
- /* No styles */
-}
-
-#window {
- font-weight: bold;
- padding-left: 5px;
-}
-
-#workspaces button {
- border: 2px solid black;
- border-radius: 15px;
- padding-left: 10px;
- padding-right: 10px;
- color: black;
-}
-
-#workspaces button.focused {
- background-color: #F79489;
-}
-
-#workspaces button.urgent {
- border-color: #f4c815;
- color: #f4c815;
-}"))
-
-(define %waybar:config
- (plain-file "waybar-config" "\
-// =============================================================================
-//
-// Waybar configuration
-//
-// Configuration reference: https://github.com/Alexays/Waybar/wiki/Configuration
-//
-// =============================================================================
-
-{
- // -------------------------------------------------------------------------
- // Global configuration
- // -------------------------------------------------------------------------
-
- \"layer\": \"top\",
-
- \"position\": \"top\",
-
- // If height property would be not present, it'd be calculated dynamically
- \"height\": 30,
-
- \"modules-left\": [
- \"sway/workspaces\",
- \"sway/window\",
- \"sway/mode\",
- ],
-// \"modules-center\": [
-// ],
- \"modules-right\": [
- \"network\",
- \"memory\",
- \"cpu\",
- \"temperature\",
- \"custom/keyboard-layout\",
- \"battery\",
- \"tray\",
- \"clock#date\",
- \"clock#time\"
- ],
-
-
- // -------------------------------------------------------------------------
- // Modules
- // -------------------------------------------------------------------------
-
- \"battery\": {
- \"interval\": 10,
- \"states\": {
- \"warning\": 30,
- \"critical\": 15
- },
- // Connected to AC
- \"format\": \"{icon} ^{capacity}%\", // Icon: bolt
- // Not connected to AC
- \"format-discharging\": \"{icon} {capacity}%\",
- \"format-icons\": [
- \"\",
- \"\",
- \"\",
- \"\",
- \"\"
- ],
- \"tooltip\": true
- },
-
- \"clock#time\": {
- \"interval\": 1,
- \"format\": \"{:%H:%M:%S}\",
- \"tooltip\": false
- },
-
- \"clock#date\": {
- \"interval\": 10,
- \"format\": \"{:%Y-%m-%d}\", // Icon: calendar-alt
- \"tooltip-format\": \"{:%e %B %Y}\"
- },
-
- \"cpu\": {
- \"interval\": 5,
- \"format\": \" {usage}%\", // Icon: microchip
- \"states\": {
- \"warning\": 70,
- \"critical\": 90
- }
- },
-
- \"memory\": {
- \"interval\": 5,
- \"format\": \"MEM {}%\", // Icon: memory
- \"states\": {
- \"warning\": 70,
- \"critical\": 90
- }
- },
-
- \"network\": {
- \"interval\": 5,
- \"format-wifi\": \" {signalStrength}%\", // Icon: wifi
- \"format-ethernet\": \" {ifname}: {ipaddr}/{cidr}\", // Icon: ethernet
- \"format-disconnected\": \"⚠ Disconnected\",
- \"tooltip-format\": \"{ifname}: {ipaddr}\"
- },
-
- \"sway/mode\": {
- \"format\": \" {}\", // Icon: expand-arrows-alt
- \"tooltip\": false
- },
-
- \"sway/window\": {
- \"format\": \"{}\",
- \"max-length\": 120
- },
-
- \"sway/workspaces\": {
- \"all-outputs\": false,
- \"disable-scroll\": true,
- \"format\": \"{name}\",
- \"format-icons\": {
-// \"1:www\": \"龜\", // Icon: firefox-browser
-// \"2:mail\": \"\", // Icon: mail
-// \"3:editor\": \"\", // Icon: code
-// \"4:terminals\": \"\", // Icon: terminal
-// \"5:portal\": \"\", // Icon: terminal
-// \"urgent\": \"\",
- \"focused\": \"\",
- \"default\": \"\"
- }
- },
-
- //\"pulseaudio\": {
- // //\"scroll-step\": 1,
- // \"format\": \"{icon} {volume}%\",
- // \"format-bluetooth\": \"{icon} {volume}%\",
- // \"format-muted\": \"\",
- // \"format-icons\": {
- // \"headphones\": \"\",
- // \"handsfree\": \"\",
- // \"headset\": \"\",
- // \"phone\": \"\",
- // \"portable\": \"\",
- // \"car\": \"\",
- // \"default\": [\"\", \"\"]
- // },
- // \"on-click\": \"pavucontrol\"
- //},
-
- \"temperature\": {
- \"critical-threshold\": 80,
- \"interval\": 5,
- \"format\": \"{icon} {temperatureC}°C\",
- \"format-icons\": [
- \"\", // Icon: temperature-empty
- \"\", // Icon: temperature-quarter
- \"\", // Icon: temperature-half
- \"\", // Icon: temperature-three-quarters
- \"\" // Icon: temperature-full
- ],
- \"tooltip\": true
- },
-
- \"tray\": {
- \"icon-size\": 21,
- \"spacing\": 10
- }
-
-}"))
-
-(define %config:swaylock
- (plain-file "config-swaylock" "\
-ignore-empty-password
-show-failed-attempts
-hide-keyboard-layout
-disable-caps-lock-text
-bs-hl-color=d88f96
-inside-color=4730327f
-inside-clear-color=dbbc2f7f
-inside-ver-color=1961e67f
-inside-wrong-color=d88f967f
-key-hl-color=c6888d
-line-color=fcf5f3
-line-clear-color=fcf5f3
-line-ver-color=fcf5f3
-line-wrong-color=fcf5f3
-ring-color=b3787e
-ring-clear-color=f3d64d
-ring-ver-color=4545db
-ring-wrong-color=d88f96
-separator-color=fcf5f3
-text-color=fcf5f3
-text-clear-color=fcf5f3
-text-ver-color=fcf5f3
-text-wrong-color=fcf5f3
-image=~/.config/sway/background.png
-font=\"Fira Code\""))
-
-(define %config:sway
- (plain-file "config-sway" "\
-# SWAY CONFIG
-
-
-# Variables
-
-set $mod Mod4
-set $menu wofi --show drun -i -H 500 -W 450
-set $term foot
-
-set $WOBSOCK $XDG_RUNTIME_DIR/wob.sock
-
-floating_modifier $mod normal
-default_border pixel 2
-client.focused #1c81e6 #1c81e6 #771cb7 #bf1541
-client.unfocused #3436a7 #3436a7 #ffffff
-client.focused_inactive #3436a7 #3436a7 #ffffff
-gaps inner 10
-gaps outer 0
-font pango: Fira Code 12
-
-# No gaps if there's only 1 window
-smart_gaps on
-
-# Hides the borders if theres only 1 window
-hide_edge_borders smart
-
-# Output configuration
-output * {
- bg ~/.config/sway/background.png fill
-}
-
-output LVDS-1 pos 640 1080
-output DP-1 pos 1280 0
-output VGA-1 pos 0 56
-
-# Input configuration
-input type:touchpad {
- dwt disabled
- scroll_method edge
-}
-
-# Key bindings
-bindsym $mod+Return exec $term
-bindsym $mod+Shift+Return exec $term -a float
-bindsym $mod+q kill
-bindsym $mod+F4 wkill
-bindsym $mod+d exec $menu
-bindsym $mod+Shift+c reload
-bindsym mod1+shift+w exec setbg -s
-bindsym $mod+Shift+l exec ~/.local/bin/lock
-bindsym $mod+Shift+q exec ~/.local/bin/logout-wofi
-
-# Moving around:
-
-# Move your focus around
-bindsym $mod+Left focus left
-bindsym $mod+Down focus down
-bindsym $mod+Up focus up
-bindsym $mod+Right focus right
-
-# Move the focused window with the same, but add Shift
-bindsym $mod+Shift+Left move left
-bindsym $mod+Shift+Down move down
-bindsym $mod+Shift+Up move up
-bindsym $mod+Shift+Right move right
-
-#resize
-bindsym $mod+mod1+Left exec swaymsg resize shrink right 10px || swaymsg resize grow left 10px
-bindsym $mod+mod1+Down exec swaymsg resize grow down 10px || swaymsg resize shrink up 10px
-bindsym $mod+mod1+Up exec swaymsg resize shrink down 10px || swaymsg resize grow up 10px
-bindsym $mod+mod1+Right exec swaymsg resize grow right 10px || swaymsg resize shrink left 10px
-
-# Workspaces:
-
-# Switch to workspace
-bindsym $mod+1 workspace number 1
-bindsym $mod+2 workspace number 2
-bindsym $mod+3 workspace number 3
-bindsym $mod+4 workspace number 4
-bindsym $mod+5 workspace number 5
-bindsym $mod+6 workspace number 6
-bindsym $mod+7 workspace number 7
-bindsym $mod+8 workspace number 8
-bindsym $mod+9 workspace number 9
-bindsym $mod+0 workspace number 10
-# Move focused container to workspace
-bindsym $mod+Shift+1 move container to workspace number 1
-bindsym $mod+Shift+2 move container to workspace number 2
-bindsym $mod+Shift+3 move container to workspace number 3
-bindsym $mod+Shift+4 move container to workspace number 4
-bindsym $mod+Shift+5 move container to workspace number 5
-bindsym $mod+Shift+6 move container to workspace number 6
-bindsym $mod+Shift+7 move container to workspace number 7
-bindsym $mod+Shift+8 move container to workspace number 8
-bindsym $mod+Shift+9 move container to workspace number 9
-bindsym $mod+Shift+0 move container to workspace number 10
-
-# Layout stuff:
-bindsym $mod+b splith
-bindsym $mod+v splitv
-
-# Switch the current container between different layout styles
-bindsym $mod+t layout toggle split
-bindsym $mod+Shift+t layout tabbed
-bindsym $mod+Shift+s layout stacking
-
-# Make the current focus fullscreen
-bindsym $mod+f fullscreen
-
-# Toggle the current focus between tiling and floating mode
-bindsym $mod+space floating toggle
-
-# Swap focus between the tiling area and the floating area
-bindsym $mod+Shift+space focus mode_toggle
-
-# Move focus to the parent container
-bindsym $mod+a focus parent
-
-# Sticky
-bindsym $mod+s sticky toggle
-# Scratchpad:
-
-bindsym $mod+bracketleft move scratchpad
-bindsym $mod+bracketright scratchpad show
-
-# Tor Browser
-bindsym $mod+w exec ~/.local/bin/torbrowser
-
-
-# Resizing containers:
-
-mode \"resize\" {
- bindsym Left resize shrink width 10px
- bindsym Down resize grow height 10px
- bindsym Up resize shrink height 10px
- bindsym Right resize grow width 10px
-
- # Return to default mode
- bindsym Return mode \"default\"
- bindsym Escape mode \"default\"
-}
-
-
-# Media Keys
-bindsym XF86AudioLowerVolume exec pamixer -d 5 && pamixer --get-volume > $WOBSOCK
-bindsym XF86AudioRaiseVolume exec pamixer -i 5 && pamixer --get-volume > $WOBSOCK
-
-bindsym XF86MonBrightnessUp exec brightnessctl s +5%
-bindsym XF86MonBrightnessDown exec brightnessctl s 5%-
-
-bindsym XF86AudioStop exec cmus-remote -s
-bindsym XF86AudioPlay exec cmus-remote -u
-bindsym XF86AudioNext exec cmus-remote -n
-bindsym XF86AudioPrev exec cmus-remote -r
-
-# Funny noises
-bindsym XF86Launch1 exec mpv ~/Audio/boom.opus
-bindsym KP_Enter exec mpv ~/Audio/metal-pipe.opus
-bindsym KP_0 exec mpv ~/Audio/running.opus
-bindsym KP_Decimal exec mpv ~/Audio/among-us.opus
-bindsym KP_Add exec mpv ~/Audio/wah-wah-wah-wah.opus
-bindsym KP_1 exec mpv ~/Audio/boowomp.opus
-bindsym KP_2 exec mpv ~/Audio/chomp.ogg
-bindsym KP_3 exec mpv ~/Audio/slip.opus
-bindsym KP_Subtract exec mpv ~/Audio/inception.opus
-bindsym KP_4 exec mpv ~/Audio/waltuh.opus
-bindsym KP_5 exec mpv ~/Audio/hallway.opus
-bindsym KP_6 exec mpv ~/Audio/bell.opus
-bindsym KP_Multiply exec mpv ~/Audio/lego.opus
-bindsym KP_7 exec mpv ~/Audio/mega.opus
-
-# clipped
-exec ~/.local/bin/make-combined
-
-bindsym $mod+r exec ~/.local/bin/wf-shadow -r LVDS-1
-bindsym $mod+g exec ~/.local/bin/wf-shadow -r DP-1
-
-bindsym XF86ScreenSaver exec ~/.local/bin/lock
-bindsym Print exec ~/.local/bin/screenshot -w
-bindsym Pause exec ~/.local/bin/logout-wofi
-
-# Mumble
-
-bindsym $mod+z exec mumble rpc starttalking
-bindsym --release $mod+z exec mumble rpc stoptalking
-
-# Rules
-for_window [app_id=\"float\"] floating enable;
-
-exec swayidle -w timeout 290 'brightnessctl -s; brightnessctl s 50%-' resume 'brightnessctl -r'
-exec swayidle -w timeout 300 '~/.local/bin/lock'
-exec rm -f $WOBSOCK && mkfifo $WOBSOCK && tail -f $WOBSOCK | wob
-exec ~/.local/bin/beep-wrapper
-
-# Audio
-exec ~/.local/bin/start-pipewire
-
-bindswitch --reload --locked lid:on exec ~/.local/bin/suspend
-
-bar {
- swaybar_command waybar
- }
-}
-
-include /etc/sway/config.d/*"))
-
-(define %config:mpv
- (plain-file "config-mpv" "\
-ytdl-format=\"bestvideo[height=?480][fps<=?30][vcodec!=?vp9]+bestaudio/best\"
-user-agent=\"Mozilla/5.0\"
-
-
-msg-level=ffmpeg=fatal
-vo=gpu
-hwdec=vaapi
-hwdec-codecs=all
-video-sync=display-resample"))
-
-(define %config:mako
- (plain-file "config-mako" "\
-default-timeout=8000
-# configversion: b2dba52da9a482ccd1a8170517e502c5
-background-color=#22225588
-text-color=#ffffff
-border-color=#6666cc
-layer=overlay
-group-by=app-name
-
-[urgency=low]
-default-timeout=5000
-background-color=#222222
-text-color=#888888
-
-[urgency=high]
-default-timeout=10000
-background-color=#900000
-text-color=#ffffff
-background-color=#ff0000"))
-
-(define %config:foot
- (plain-file "config-foot" "\
-# -*- conf -*-
-# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
-# term=foot (or xterm-256color if built with -Dterminfo=disabled)
-# login-shell=no
-
-# app-id=foot
-# title=foot
-# locked-title=no
-
- font= Fira Code:size=8
-
-# font-bold=
-# font-italic=
-# font-bold-italic=
-# line-height=
-# letter-spacing=0
-# horizontal-letter-offset=0
-# vertical-letter-offset=0
-# underline-offset=
-# box-drawings-uses-font-glyphs=no
-
-dpi-aware=false
-
-# initial-window-size-pixels=700x500 # Or,
-# initial-window-size-chars=
-# initial-window-mode=windowed
-pad=10x10 # optionally append 'center'
-# resize-delay-ms=100
-
-# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body}
-
-bold-text-in-bright=yes
-# word-delimiters=,│`|:\"'()[]{}<>
-# selection-target=primary
-# workers=
-
-[bell]
-# urgent=no
-# notify=no
-# command=
-# command-focused=no
-
-[scrollback]
-# lines=1000
-# multiplier=3.0
-# indicator-position=relative
-# indicator-format=
-
-[url]
-# launch=xdg-open ${url}
-# label-letters=sadfjklewcmpgh
-# osc8-underline=url-mode
-# protocols=http, https, ftp, ftps, file, gemini, gopher
-# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+=\"'()[]
-
-[cursor]
-# style=block
-# color=
-blink=yes
-# beam-thickness=1.5
-# underline-thickness=
-
-[mouse]
-hide-when-typing=yes
-# alternate-scroll-mode=yes
-
-[colors]
-alpha=0.7
-#Default
-
-foreground=e0e0e0
-background=000000
-regular0=2e2016 # black
-regular1=d88f96 # red
-regular2=16af38 # green
-regular3=dbbc2f # yellow
-regular4=1961e6 # blue
-regular5=b3787e # magenta
-regular6=32cbe6 # cyan
-regular7=f4e5e7 # white
-bright0=473032 # bright black
-bright1=e5a7aa # bright red
-bright2=27d64d # bright green
-bright3=f3d64d # bright yellow
-bright4=4545db # bright blue
-bright5=c6888d # bright magenta
-bright6=67cbe6 # bright cyan
-bright7=fcf5f3 # bright white
-
-## dimmed colors (see foot.ini(5) man page)
-# dim0=
-# ...
-# dim7=
-
-## The remaining 256-color palette
-#16 = <256-color palette #16>
-# ...
-#255 = <256-color palette #255>
-
-## Misc colors
-#selection-foreground=
-#selection-background=
-#jump-labels=
-#urls=
-#scrollback-indicator=
-
-[csd]
-# preferred=server
-# size=26
-# font=
-# color=
-# hide-when-typing=no
-# border-width=0
-# border-color=
-# button-width=26
-# button-color=
-# button-minimize-color=
-# button-maximize-color=
-# button-close-color=
-
-[key-bindings]
-scrollback-up-page=none
-scrollback-up-half-page=Mod1+Shift+e
-scrollback-up-line=Mod1+e
-scrollback-down-page=none
-scrollback-down-half-page=Mod1+Shift+n
-scrollback-down-line=Mod1+n
-#clipboard-copy=Control+Shift+c XF86Copy
-#clipboard-paste=Control+Shift+v XF86Paste
-# primary-paste=Shift+Insert
-# search-start=Control+Shift+r
-# font-increase=Control+plus Control+equal Control+KP_Add
-# font-decrease=Control+minus Control+KP_Subtract
-# font-reset=Control+0 Control+KP_0
-# spawn-terminal=Control+Shift+n
-# minimize=none
-# maximize=none
-# fullscreen=none
-# pipe-visible=[sh -c \"xurls | fuzzel | xargs -r firefox\"] none
-# pipe-scrollback=[sh -c \"xurls | fuzzel | xargs -r firefox\"] none
-# pipe-selected=[xargs -r firefox] none
-# show-urls-launch=Control+Shift+u
-# show-urls-copy=none
-# show-urls-persistent=none
-# noop=none
-
-[search-bindings]
-# cancel=Control+g Control+c Escape
-# commit=Return
-# find-prev=Control+r
-# find-next=Control+s
-# cursor-left=Left Control+b
-# cursor-left-word=Control+Left Mod1+b
-# cursor-right=Right Control+f
-# cursor-right-word=Control+Right Mod1+f
-# cursor-home=Home Control+a
-# cursor-end=End Control+e
-# delete-prev=BackSpace
-# delete-prev-word=Mod1+BackSpace Control+BackSpace
-# delete-next=Delete
-# delete-next-word=Mod1+d Control+Delete
-# extend-to-word-boundary=Control+w
-# extend-to-next-whitespace=Control+Shift+w
-# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste
-# primary-paste=Shift+Insert
-
-[url-bindings]
-# cancel=Control+g Control+c Control+d Escape
-# toggle-url-visible=t
-
-[text-bindings]
-# \\x03=Mod4+c # Map Super+c -> Ctrl+c
-
-[mouse-bindings]
-# selection-override-modifiers=Shift
-# primary-paste=BTN_MIDDLE
-# select-begin=BTN_LEFT
-# select-begin-block=Control+BTN_LEFT
-# select-extend=BTN_RIGHT
-# select-extend-character-wise=Control+BTN_RIGHT
-# select-word=BTN_LEFT-2
-# select-word-whitespace=Control+BTN_LEFT-2
-# select-row=BTN_LEFT-3
-
-# vim: ft=dosini"))
-
-(define %config:colorscheme
- (plain-file "config-colorscheme" "\
-#!/bin/sh
-foreground=e0e0e0
-background=000000
-regular0=2e2016 # black
-regular1=d88f96 # red
-regular2=16af38 # green
-regular3=dbbc2f # yellow
-regular4=1961e6 # blue
-regular5=b3787e # magenta
-regular6=32cbe6 # cyan
-regular7=f4e5e7 # white
-bright0=473032 # bright black
-bright1=e5a7aa # bright red
-bright2=27d64d # bright green
-bright3=f3d64d # bright yellow
-bright4=4545db # bright blue
-bright5=c6888d # bright magenta
-bright6=67cbe6 # bright cyan
-bright7=fcf5f3 # bright white
-
-if [[ \"$TERM\" = \"vt102\" || \"$TERM\" = \"linux\" ]]; then
- printf \"\\e]P$background\\e]P1$regular1\\e]P2$regular2\\e]P3$regular3\\e]P4$regular4\\e]P5$regular5\\e]P6$regular6\\e]P7$foreground\\e]P8$bright0\\e]P9$bright1\\e]PA$bright2\\e]PB$bright3\\e]PC$bright4\\e]PD$bright5\\e]PE$bright6\\e]PF$bright7\"
-fi"))
-
-(define %config:hyfetch
- (plain-file "config-hyfetch" "{\"preset\": \"transgender\", \"mode\": \"rgb\", \"light_dark\": \"dark\", \"lightness\": 0.65, \"color_align\": {\"mode\": \"horizontal\", \"custom_colors\": [], \"fore_back\": null}}"))
-
-(define %config:neofetch
- (plain-file "config-neofetch" "\
-print_info() {
- info title
- info underline
- info \"OS\" distro
- info \"Host\" model
- info \"Kernel\" kernel
- info \"Uptime\" uptime
- info \"Packages\" packages
- info \"Shell\" shell
- info \"Resolution\" resolution
- info \"DE\" de
- info \"WM\" wm
- info \"WM Theme\" wm_theme
- info \"Theme\" theme
- info \"Icons\" icons
- info \"Terminal\" term
- info \"Terminal Font\" term_font
- info \"Font\" font
- [[ \"$player\" ]] && prin \"Music Player\" \"$player\"
- info \"Song\" song
- info \"CPU\" cpu
- info \"CPU Usage\" cpu_usage
- info \"GPU\" gpu
- info \"GPU Driver\" gpu_driver # Linux/macOS only
- info \"Disk\" disk
- info \"Memory\" memory
- info cols
-}
-title_fqdn=\"off\"
-kernel_shorthand=\"on\"
-distro_shorthand=\"off\"
-os_arch=\"on\"
-uptime_shorthand=\"on\"
-memory_percent=\"off\"
-package_managers=\"on\"
-shell_path=\"off\"
-shell_version=\"on\"
-speed_type=\"bios_limit\"
-speed_shorthand=\"off\"
-cpu_brand=\"on\"
-cpu_speed=\"on\"
-cpu_cores=\"logical\"
-cpu_temp=\"off\"
-gpu_brand=\"on\"
-gpu_type=\"all\"
-refresh_rate=\"off\"
-gtk_shorthand=\"off\"
-gtk2=\"on\"
-gtk3=\"on\"
-public_ip_host=\"http://ident.me\"
-public_ip_timeout=2
-de_version=\"off\"
-disk_show=('/')
-disk_subtitle=\"mount\"
-disk_percent=\"on\"
-music_player=\"auto\"
-song_format=\"%artist% - %album% - %title%\"
-song_shorthand=\"off\"
-mpc_args=()
-colors=(distro)
-bold=\"on\"
-underline_enabled=\"on\"
-underline_char=\"-\"
-separator=\":\"
-block_range=(0 15)
-color_blocks=\"on\"
-block_width=3
-block_height=1
-col_offset=\"auto\"
-bar_char_elapsed=\"-\"
-bar_char_total=\"=\"
-bar_border=\"on\"
-bar_length=15
-bar_color_elapsed=\"distro\"
-bar_color_total=\"distro\"
-cpu_display=\"off\"
-memory_display=\"off\"
-battery_display=\"off\"
-disk_display=\"off\"
-image_backend=\"ascii\"
-image_source=\"auto\"
-ascii_distro=\"auto\"
-ascii_colors=(distro)
-ascii_bold=\"on\"
-image_loop=\"off\"
-thumbnail_dir=\"${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch\"
-crop_mode=\"normal\"
-crop_offset=\"center\"
-image_size=\"auto\"
-gap=3
-yoffset=0
-xoffset=0
-background_color=
-stdout=\"off\""))
diff --git a/.config/guix/cobra/homedir.scm b/.config/guix/cobra/homedir.scm
deleted file mode 100644
index d4e97b6..0000000
--- a/.config/guix/cobra/homedir.scm
+++ /dev/null
@@ -1,547 +0,0 @@
-(define-module (cobra homedir)
- #:use-module (guix gexp)
- #:export (%home:devspec
- %home:bashrc
- %home:prompt
- %home:bash-profile))
-
-(define %home:devspec
- (plain-file "devspec" "\
-#!/usr/bin/env bash
-
-if [[ $HOSTNAME == pp ]]; then
- PRIV=doas
- UPDATE=\"$PRIV sh -c 'apk update && apk upgrade -aiv && apk fix'\"
- COPY_COMMAND=\"wl-copy\"
- PASTE_COMMAND=\"wl-paste\"
- WIFI=wlan0
- WM=\"bash\"
-elif [[ $HOSTNAME == Oganesson ]]; then :
- #export WLR_DRM_DEVICES=/dev/dri/card1:/dev/dri/card0
-elif [[ $HOSTNAME == Neon ]]; then
- export WLR_NO_HARDWARE_CURSORS=1
-else
- PRIV=sudo
- UPDATE=\"$PRIV sh -c 'apt update && apt upgrade && apt autoremove'\"
- COPY_COMMAND=\"xclip -i -selection clipboard\"
- PASTE_COMMAND=\"xclip -o -selection clipboard\"
- WIFI=wlp2s0
- WM=\"bash\"
-fi"))
-
-(define %home:bash-profile
- (plain-file "bash_profile" "\
-# Honor per-interactive-shell startup file
-if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
-export PATH=\"~/.local/bin:$PATH\"
-export LESS_TERMCAP_mb='[01;32m'
-export LESS_TERMCAP_md='[01;32m'
-export LESS_TERMCAP_me='[0m'
-export LESS_TERMCAP_se='[0m'
-export LESS_TERMCAP_so='[01;47;34m'
-export LESS_TERMCAP_ue='[0m'
-export LESS_TERMCAP_us='[01;36m'
-export LESS=-R
-export PATH=~/.guix-home/profile/bin:$PATH
-
-PATH=\"/home/cobra/perl5/bin${PATH:+:${PATH}}\"; export PATH;
-PERL5LIB=\"/home/cobra/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}\"; export PERL5LIB;
-PERL_LOCAL_LIB_ROOT=\"/home/cobra/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}\"; export PERL_LOCAL_LIB_ROOT;
-PERL_MB_OPT=\"--install_base \\\"/home/cobra/perl5\\\"\"; export PERL_MB_OPT;
-PERL_MM_OPT=\"INSTALL_BASE=/home/cobra/perl5\"; export PERL_MM_OPT;
-
-. ~/.devspec
-. ~/.guix-home/setup-environment
-if [[ $(tty) == /dev/tty2 ]]; then
- exec $WM
-fi"))
-
-(define %home:prompt
- (plain-file "prompt" "\
-#!/bin/bash
-# shebang for syntax highlighting purposes
-
-# Colors
-_NON=\"\\[\\033[0m\\]\"
-_BLD=\"\\[\\033[1m\\]\"
-_BLK=\"\\[\\033[30m\\]\"
-_RED=\"\\[\\033[31m\\]\"
-_GRN=\"\\[\\033[32m\\]\"
-_YLW=\"\\[\\033[33m\\]\"
-_BLU=\"\\[\\033[34m\\]\"
-_PRP=\"\\[\\033[35m\\]\"
-_CYN=\"\\[\\033[36m\\]\"
-_WHT=\"\\[\\033[37m\\]\"
-
-__debug_trap() {
- # Set necessary pre-command variables (PROMPT_COMMAND is a
- # command so its excluded here)
- if [[ \"$BASH_COMMAND\" != \"$PROMPT_COMMAND\"
- && \"$LAST_BASH_COMMAND\" == \"$PROMPT_COMMAND\" ]]; then
- INC_TIME=1
- LAST_RT=\"$EPOCHREALTIME\" # This should be the last thing done in this function
- fi
- LAST_BASH_COMMAND=\"$BASH_COMMAND\"
-}
-
-trap '__debug_trap' DEBUG
-
-__get_cmd_time() {
- # Set hours minutes seconds and remove preceding zeros
- local YEAR
- local DAYS
- local HOUR
- local MINS
- local SECS
- ((YEAR=10#$(($(TZ=UTC printf '%(%Y)T' \"$CMD_TIME\")))-1970))
- ((DAYS=10#$(TZ=UTC printf '%(%j)T' \"$CMD_TIME\")))
- ((HOUR=10#$(TZ=UTC printf '%(%H)T' \"$CMD_TIME\")))
- ((MINS=10#$(TZ=UTC printf '%(%M)T' \"$CMD_TIME\")))
- ((SECS=10#$(TZ=UTC printf '%(%S)T' \"$CMD_TIME\")))
-
- # Choose whether or not to print hours minutes and seconds
- [[ $CMD_TIME -ge 31536000 ]] && printf '%sy ' \"${YEAR}\"
- [[ $CMD_TIME -ge 86400 ]] && printf '%sd ' \"${DAYS}\"
- [[ $CMD_TIME -ge 3600 ]] && printf '%sh ' \"${HOUR}\"
- [[ $CMD_TIME -ge 60 ]] && printf '%sm ' \"${MINS}\"
- [[ $CMD_TIME -ge 1 ]] && printf '%ss ' \"${SECS}\"
- # If you want to have a limit uncomment the next line and replace somenum with
- # the minimum microseconds
-# [[ $CMD_US -ge somenum ]] &&
- printf '%sμs' \"${CMD_US:-0}\"
-}
-
-__sig() {
- # Giant switch case for getting the name of the signal (`kill -l`)
- local ITR=0
- local RET
- for RET in \"$@\"; do
- if [[ $ITR != 0 ]]; then
- printf '%s|%s' \"$_WHT\" \"$_RED\"
- fi
- ((ITR++))
- case $RET in
- 126): \"ACCES\" ;;
- 127): \"NOENT\" ;;
- 129): \"HUP\" ;;
- 130): \"INT\" ;;
- 131): \"QUIT\" ;;
- 132): \"ILL\" ;;
- 133): \"TRAP\" ;;
- 134): \"ABRT\" ;;
- 135): \"BUS\" ;;
- 136): \"FPE\" ;;
- 137): \"KILL\" ;;
- 138): \"USR\"1 ;;
- 139): \"SEGV\" ;;
- 140): \"USR\"2 ;;
- 141): \"PIPE\" ;;
- 142): \"ALRM\" ;;
- 143): \"TERM\" ;;
- 144): \"STKFLT\" ;;
- 145): \"CHLD\" ;;
- 146): \"CONT\" ;;
- 147): \"STOP\" ;;
- 148): \"TSTP\" ;;
- 149): \"TTIN\" ;;
- 150): \"TTOU\" ;;
- 151): \"URG\" ;;
- 152): \"XCPU\" ;;
- 153): \"XFSZ\" ;;
- 154): \"VTALRM\" ;;
- 155): \"PROF\" ;;
- 156): \"WINCH\" ;;
- 157): \"IO\" ;;
- 158): \"PWR\" ;;
- 159): \"SYS\" ;;
- 16[3-9]|1[7-8][0-9]|19[0-2]): \"RT$((RET-128))\" ;; # Savagery
- *): \"$RET\" ;; # Print exit code if not in list
- esac
- printf '%s' \"$_\"
- done
-}
-
-__ssh() {
- local CON=($SSH_CONNECTION)
- local SRV_IP=\"${CON[2]}\"
- [[ -z \"$SRV_IP\" ]] && return
- local SRV_PORT=\"${CON[3]}\"
- # 4 chars from startand 4 chars from end
- local SRV_IP_CUT=\"${_CYN}${SRV_IP}\"
- [[ ${#SRV_IP} -gt 8 ]] && local SRV_IP_CUT=\"${_CYN}${SRV_IP:0:4}${_WHT}*${_CYN}${SRV_IP: -4}\"
-
- printf '%s' \"${_GRN}${_BLU}[${SRV_IP_CUT}${_PRP}${_BLD}:${_NON}${_CYN}${SRV_PORT}${_BLU}]${_NON}\"
-}
-
-__guix_env() {
- local re='[\\(]?\\(\"([^\"]*)\"'
- if [[ \"$GUIX_ENVIRONMENT\" ]]; then
- local PACKAGES=($(while read -r line; do
- [[ \"$line\" =~ $re ]] && printf '%s ' \"${BASH_REMATCH[1]}\"
- done < $GUIX_ENVIRONMENT/manifest))
- if [[ ${#PACKAGES[@]} -eq 2 ]]; then
- printf \"${_BLD}${_BLU}[${_NON}${_YLW}Guix${_NON}: ${_WHT}%s ${_NON}+ ${_PRP}%d ${_NON}pkg${_BLD}${_BLU}] \" \"${PACKAGES[0]}\" \"$((${#PACKAGES[@]}-1))\"
- elif [[ ${#PACKAGES[@]} -gt 2 ]]; then
- printf \"${_BLD}${_BLU}[${_NON}${_YLW}Guix${_NON}: ${_WHT}%s ${_NON}+ ${_PRP}%d ${_NON}pkgs${_BLD}${_BLU}] \" \"${PACKAGES[0]}\" \"$((${#PACKAGES[@]}-1))\"
- else
- printf \"${_BLD}${_BLU}[${_NON}${_YLW}Guix${_NON}: ${_WHT}%s${_BLD}${_BLU}] \" \"${PACKAGES[@]}\"
- fi
- fi
-}
-
-__prompt() {
- # Get exit code (must be first)
- local PLC=(\"${PIPESTATUS[@]}\")
-
- # Reset time when prompt was first displayed after command
- # this contributes to the ~40 microsecond difference in $CMD_US and the actual time it took
- if [[ \"$INC_TIME\" != 0 ]]; then
- PROMPT_RT=\"$EPOCHREALTIME\"
- INC_TIME=0
- fi
-
- # *_RT may not be set
- LAST_RT=\"${LAST_RT:-$EPOCHREALTIME}\"
- PROMPT_RT=\"${PROMPT_RT:-$EPOCHREALTIME}\"
-
- # Get relative times
-
- # Remove decimal point, simulating multiplying by 1 million
- PROMPT_RT1M=\"${PROMPT_RT/.}\"
- PROMPT_RT1M=\"${PROMPT_RT1M/,}\"
- LAST_RT1M=\"${LAST_RT/.}\"
- LAST_RT1M=\"${LAST_RT1M/,}\"
-
- ((CMD_US=PROMPT_RT1M-LAST_RT1M))
-
- CMD_TIME=0
-
- # Divide by 1 million to get a more accurate difference
- ((CMD_TIME=CMD_US/1000000))
-
- [[ ${#CMD_US} -lt 6 ]] || CMD_US=\"${CMD_US: -6}\"
- ((CMD_US=10#$CMD_US))
-
- # Set prompt sections
-
- local SIG
- local COL
- local UHD
- local TIME
- local IND
- local GUIX
-
- # Text
-
- # ssh detection and indicator
- [[ \"$SSH_CONNECTION\" ]] && local SSH=\"$(__ssh) \"
-
- # [INT], [4], etc.
- local RET
- for RET in \"${PLC[@]}\"; do
- if [[ $RET -gt 0 ]]; then
- SIG=\"$(printf '%s[%s%s%s] ' \"$_BLU\" \"$_RED\" \"$(__sig \"${PLC[@]}\")\" \"$_BLU\")\"
- break
- fi
- done
-
- # Guix shell environment
- GUIX=\"$(__guix_env)\"
-
- # [user@homeserver:~]
- COL=\"$([[ $UID == 0 ]] && printf '%s' \"$_RED\" || printf '%s' \"$_YLW\")\"
- UHD=\"${_BLD}${_BLU}[${COL}\\u${_PRP}@${_CYN}\\h${_PRP}:${_GRN}\\w${_BLU}]\"
-
- # 2y 351d 12m 43s 382969μs
- TIME=\"${_YLW}$(__get_cmd_time)\"
-
- # Random colored $ or #
- _RAND256=\"\\[\\033[38;2;$((RANDOM%256));$((RANDOM%256));$((RANDOM%256))m\\]\"
- IND=\"${_RAND256}\\\\$\"
-
- # Set the prompt
- PS1=\"${_NON}${SSH}${GUIX}${SIG}${UHD} ${TIME} ${IND} ${_NON}\"
-}
-
-PROMPT_COMMAND=__prompt"))
-
-(define %home:bashrc
- (plain-file "bashrc" "\
-# Source other files
-[ -r ~/.prompt ] && . ~/.prompt
-[ -r ~/.devspec ] && . ~/.devspec
-[ -r ~/.config/colorscheme ] && . ~/.config/colorscheme
-
-[ \"$TERM\" == \"screen.linux\" ] && export TERM=\"screen\"
-
-export EDITOR=\"vim\"
-export TERM=xterm-256color
-
-# History stuff
-export HISTCONTROL=ignoredups:erasedups
-export HISTFILESIZE=1000
-export HISTSIZE=1000
-
-export GPG_TTY=$(tty)
-
-export MANPATH=/run/current-system/profile/share/man:/home/cobra/.guix-profile/share/man:/run/current-system/profile/share/man:/home/cobra/.guix-home/profile/share/man
-
-clear() {
- printf '\\033c' # faster than ncurses clear by a lot
-}
-
-# Other aliases
-alias c='clear'
-alias ls='ls --color=auto -FAh'
-alias ll='ls -l'
-alias nf='hyfetch'
-alias ga='git add'
-alias gc='git commit -sS'
-alias gp='git push'
-alias mpv='mpv --no-audio-display'
-alias wv='swayhide mpv $($PASTE_COMMAND)'
-alias curl='curl -L'
-alias prof='profanity'
-alias gomuks=\"http_proxy='socks5://127.0.0.1:9050' gomuks\"
-alias tut=\"http_proxy='socks5://127.0.0.1:9050' tut\"
-alias dico=\"dico -d en-wiktionary\"
-
-# Random string (passwords)
-randstr() {
- tr -cd '[:graph:]' >($COPY_COMMAND)
-}
-
-# URL-encode stdin
-urlencode() {
- LC_COLLATE_OLD=$LC_COLLATE
- LC_COLLATE=C
-
- local TEXT=\"$( /dev/null \\;; }
-
-fixdh() {
- diffhome | while read -r _ SRC _ DEST _; do
- cp $SRC $DEST;
- done;
-}
-
-strlen() {
- N=$(wc -c <<< \"$*\")
- ((N--))
- printf '%u\\n' \"$N\"
-}
-
-uppweb() {
- ssh vern.cc 'cd ~/public_html; git pull'
-}
-
-caption() {
- [ -z \"$3\" ] && {
- echo \"Usage: caption [input] [output] [text...]\"
- return 1
- }
- local FILE=\"$1\"
- local OUT=\"$2\"
- shift 2
- local TEXT=\"$*\"
- local WIDTH=\"$(identify -format \"%[w]\\n\" \"$FILE\" | head -n1)\"
- local HEIGHT=\"$(identify -format \"%[h]\\n\" \"$FILE\" | head -n1)\"
- local FONT_SIZE=\"$(((HEIGHT+WIDTH)/20))\"
- convert -gravity north \\( -size \"${WIDTH}x\" -pointsize \"$FONT_SIZE\" -font 'Liberation-Sans-Bold' caption:\"$TEXT\" -gravity Center -extent \"${WIDTH}x\" \\) \"$FILE\" -append \"$OUT\"
-}
-
-captionvid() {
- [ -z \"$3\" ] && {
- echo \"Usage: captionvid [input] [output] [text...]\"
- return 1
- }
- rm /tmp/caption.*.png
- FPS=\"$(ffmpeg -i \"$1\" 2>&1 |grep fps | sed 's/.* \\([0-9]\\+\\) fps.*/\\1/')\"
- IN=\"$1\"
- OUT=\"$2\"
- shift 2
- ffmpeg -i \"$IN\" \"/tmp/caption.%02d.png\"
- for i in /tmp/caption.*; do
- caption \"$i\" \"$i-new.png\" \"$*\"
- done
- ffmpeg -framerate $FPS -i \"/tmp/caption.%02d.png-new.png\" \"$OUT\"
- rm /tmp/caption.*.png
-}
-
-topbottom() {
- [ -z \"$3\" ] && {
- echo \"Usage: caption [input] [output] [text...]\"
- return 1
- }
- local FILE=\"$1\"
- local OUT=\"$2\"
- shift 2
- local WIDTH=\"$(identify -format \"%[w]\\n\" \"$FILE\" | head -n1)\"
- local HEIGHT=\"$(identify -format \"%[h]\\n\" \"$FILE\" | head -n1)\"
- local FONT_SIZE=\"$(((HEIGHT+WIDTH)/20))\"
- convert -size \"${WIDTH}x\" -stroke black -strokewidth 3 -fill white -pointsize \"$FONT_SIZE\" -font 'Liberation-Sans-Bold' -gravity Center -extent \"${WIDTH}x\" -gravity north \\( -annotate +0+0 \"$1\" \\) -gravity south \\( -annotate +0+0 \"$2\" \\) \"$FILE\" -append \"$OUT\"
-}
-
-topbottomvid() {
- [ -z \"$3\" ] && {
- echo \"Usage: captionvid [input] [output] [text...]\"
- return 1
- }
- rm /tmp/caption.*.png
- FPS=\"$(ffmpeg -i \"$1\" 2>&1 |grep fps | sed 's/.* \\([0-9]\\+\\) fps.*/\\1/')\"
- IN=\"$1\"
- OUT=\"$2\"
- shift 2
- ffmpeg -i \"$IN\" \"/tmp/caption.%02d.png\"
- for i in /tmp/caption.*; do
- topbottom \"$i\" \"$i-new.png\" \"$1\" \"$2\"
- done
- ffmpeg -framerate $FPS -i \"/tmp/caption.%02d.png-new.png\" \"$OUT\"
- rm /tmp/caption.*.png
-}
-
-subcipher() {
- local COLOR PERM L1 line grep word
- if [ $# -lt 3 ]; then
- if [ $# -lt 2 ] || [[ \"$1\" != \"0\" && \"$1\" != \"1\" ]]; then
- printf \"Usage: [0|1] subcipher file [string...]\\n\"
- return 1
- fi
- fi
- COLOR=\"$1\"
- shift
- PERM=\"$1\"
- shift
- [ -z \"$*\" ] && set -- \"$( ${1:-$(date -u -I)}.svg
-}
-
-
-mnplot() {
- ssh mythos \"${1:-/opt/gnuplot/gnuplot.sh}; cat /opt/gnuplot/${1:-$(date -u -I)}.svg\" > ${1:-$(date -u -I)}.svg
-}
-
-vnplot() {
- ssh vern \"${1:-/opt/gnuplot/net/gnuplot.sh}; cat /opt/gnuplot/net/${1:-$(date -u -I)}.svg\" > ${1:-$(date -u -I)}.svg
-}
-
-vpplot() {
- ssh vern \"${1:-/opt/gnuplot/power/gnuplot.sh}; cat /opt/gnuplot/power/${1:-$(date -u -I)}.svg\" > ${1:-$(date -u -I)}.svg
-}
-
-inplot() {
- ssh iceberg \"${1:-~/gnuplot/gnuplot.sh}; cat ~/gnuplot/${1:-$(date -u -I)}.svg\" > ${1:-$(date -u -I)}.svg
-}
-
-cnplot() {
- ssh crescent \"${1:-/opt/gnuplot/net/gnuplot.sh}; cat /opt/gnuplot/net/${1:-$(date -u -I)}.svg\" > ${1:-$(date -u -I)}.svg
-}
-
-cpplot() {
- ssh crescent \"${1:-/opt/gnuplot/power/gnuplot.sh}; cat /opt/gnuplot/power/${1:-$(date -u -I)}.svg\" > ${1:-$(date -u -I)}.svg
-}
-
-reconf() {
- $PRIV guix system reconfigure /etc/guix-config/${HOSTNAME,,}.scm
-}
-
-hreconf() {
- guix home reconfigure $HOME/.config/guix/home.scm
-}
-
-geng() {
- < \"$1\" sed 's/\\s*;.*//' | grep -ve '^$' -e '^T' | awk '{print \"N\"NR\" \"$0}' > \"$2\"
-}
-
-mkmshex() {
- FILE=\"${1%.*}\"
- microscheme \"$1\"
- avr-gcc -B /run/current-system/profile/avr/lib/avr5 -mmcu=\"$2\" -g -Os \"$FILE\".s -o \"$FILE\".elf
- avr-objcopy -Oihex \"$FILE\".o \"$FILE\".hex
-}
-
-uploadhex() {
- avrdude -C/run/current-system/profile/etc/avrdude.conf -v -p\"$2\" -carduino -P${3:-/dev/ttyS0} -U\"flash:w:$1:i\"
-}
-
-gshpkg() {
- local re='[\\(]?\\(\"([^\"]*)\"'
- if [[ \"$GUIX_ENVIRONMENT\" ]]; then
- local PACKAGES=($(while read -r line; do
- [[ \"$line\" =~ $re ]] && printf '%s ' \"${BASH_REMATCH[1]}\"
- done < $GUIX_ENVIRONMENT/manifest))
- echo ${PACKAGES[@]}
- fi
-}"))
diff --git a/.config/guix/home.scm b/.config/guix/home.scm
deleted file mode 100644
index d0345e3..0000000
--- a/.config/guix/home.scm
+++ /dev/null
@@ -1,195 +0,0 @@
-(add-to-load-path "/etc/guix-config")
-(add-to-load-path "/home/cobra/.config/guix")
-
-(use-modules (gnu home)
- (gnu home services)
- (gnu home services mcron)
- (gnu home services desktop)
- (gnu home services shells)
- (gnu packages)
- (gnu packages gl)
- (gnu services)
- (gnu services dbus)
- (gnu services mcron)
- (guix gexp)
-
- ;; Deranged Guix Home Usage(TM)
- (cobra homedir)
- (cobra config)
- (cobra bin)
- (cobra packages))
-
-(define webfetch-job
- #~(job "*/1 * * * *"
- "hyfetch > /tmp/fetch; rsync --rsh=\"ssh -i /home/cobra/.ssh/id_fetch\" /tmp/fetch vern.cc:~/public_html/${HOSTNAME,,}"))
-
-(home-environment
- (packages
- (map specification->package+output
- (list ;; Audio
- "alsa-utils"
- "cmus"
- "mumble"
- "pamixer"
- "pipewire"
- "playerctl"
- "pulseaudio"
- "pulsemixer"
- "wireplumber"
-
- ;; Browsers
- "icecat"
- "icedove"
- "lynx"
- "ungoogled-chromium-wayland"
-
- ;; CAD
- "cura"
- "freecad"
- "gpx"
- "kicad"
- "kicad-doc"
- "kicad-footprints"
- "kicad-packages3d"
- "kicad-symbols"
- "kicad-templates"
-
- ;; Chat
- "irssi"
- "pinentry"
- "profanity"
-
- ;; Desktop
- "brightnessctl"
- "foot"
- "grim"
- "libnotify"
- "light"
- "light"
- "mako"
- "slurp"
- "sway"
- "swayhide"
- "swayidle"
- "swaylock"
- "waybar"
- "wf-recorder"
- "wl-clipboard"
- "wlr-randr"
- "wob"
- "wofi"
- "xorg-server-xwayland"
-
- ;; Development
- "at-spi2-core"
- "avr-toolchain"
- "gcc-toolchain"
- "git"
- "git:send-email"
- "go"
- "make"
- "microscheme"
- "perl"
- "python"
-
- ;; DICT
- "dico"
-
- ;; Encryption
- "gnupg"
- "password-store"
-
- ;; Games
- "adanaxisgpl"
- "minetest"
- "red-eclipse"
- "supertuxkart"
- "teeworlds"
- "xonotic"
-
- ;; Multimedia
- "ffmpeg"
- "gimp"
- "handbrake"
- "imagemagick"
- "kodi"
- "mpv"
- "mpv-mpris"
- "reptyr"
- "ripit"
-
- ;; Network
- "bind:utils"
- "i2pd"
- "net-tools"
- "netcat"
- "proxychains-ng"
- "socat"
- "tmate"
- "whois"
- "wireguard-tools"
-
- ;; Utilities
- "bc"
- "dialog"
- "emacs"
- "htop"
- "hyfetch"
- "libqalculate"
- "lm-sensors"
- "macchanger"
- "monero-gui"
- "newsboat"
- "rsync"
- "scdoc"
- "screen"
- "unzip"
- "wget"
- "yt-dlp")))
- (services
- (list
- (service home-dbus-service-type)
- (service home-mcron-service-type
- (home-mcron-configuration
- (jobs (list webfetch-job))))
- (simple-service 'home-env
- home-environment-variables-service-type
- `(("LIBGL_DRIVERS_PATH" . ,(if (equal? (gethostname) "Neon")
- (file-append mesa-i915 "/lib/dri")
- (file-append mesa "/lib/dri")))
- ("PRIV" . "sudo")
- ("WM" . "sway")
- ("WIFI" . "wlp2s0")
- ("COPY_COMMAND" . "wl-copy")
- ("PASTE_COMMAND" . "wl-paste")
- ("UPDATE" . "guix pull --branch=master && reconf && hreconf")))
- (simple-service 'dotfiles
- home-files-service-type
- (list `(".bashrc" ,%home:bashrc)
- `(".prompt" ,%home:prompt)
- `(".devspec" ,%home:devspec)
- `(".bash_profile" ,%home:bash-profile)
-
- `(".local/bin/backtick" ,%bin:backtick)
- `(".local/bin/beep" ,%bin:beep)
- `(".local/bin/beep-wrapper" ,%bin:beep-wrapper)
- `(".local/bin/fss" ,%bin:fss)
- `(".local/bin/lock" ,%bin:lock)
- `(".local/bin/logout-wofi" ,%bin:logout-wofi)
- `(".local/bin/screenshot" ,%bin:screenshot)
- `(".local/bin/start-pipewire" ,%bin:start-pipewire)
- `(".local/bin/__suspend" ,%bin:suspend)
- `(".local/bin/suspend" ,%bin:suspend-wrap)
- `(".local/bin/torbrowser" ,%bin:torbrowser)
-
- `(".config/neofetch/config.conf" ,%config:neofetch)
- `(".config/hyfetch.json" ,%config:hyfetch)
- `(".config/colorscheme" ,%config:colorscheme)
- `(".config/foot/foot.ini" ,%config:foot)
- `(".config/mako/config" ,%config:mako)
- `(".config/mpv/mpv.conf" ,%config:mpv)
- `(".config/swaylock/config" ,%config:swaylock)
- `(".config/sway/config" ,%config:sway)
-
- `(".config/waybar/config" ,%waybar:config)
- `(".config/waybar/style.css" ,%waybar:style))))))