update for guix

Signed-off-by: Skylar "The Cobra" Widulski <cobra@vern.cc>
This commit is contained in:
Skylar "The Cobra" Widulski 2022-11-23 15:18:02 -05:00
parent 756b45f57d
commit 3e1b5e4856
Signed by: cobra
GPG Key ID: 4FD8F812083FF6F9
17 changed files with 1036 additions and 32 deletions

View File

@ -1 +1,17 @@
. ~/.bashrc
# Honor per-interactive-shell startup file
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
export PATH="~/.local/bin:$PATH"
export EDITOR="vim"
export LESS_TERMCAP_mb=''
export LESS_TERMCAP_md=''
export LESS_TERMCAP_me=''
export LESS_TERMCAP_se=''
export LESS_TERMCAP_so=''
export LESS_TERMCAP_ue=''
export LESS_TERMCAP_us=''
export LESS=-R
export TERM=xterm-256color
if [[ $(tty) == /dev/tty2 ]]; then
sway
fi

35
.bashrc
View File

@ -3,7 +3,6 @@
[ -r ~/.devspec ] && . ~/.devspec
[ -r ~/.config/isotope.dark ] && . ~/.config/isotope.dark
[ -z "$EDITOR" ] && . ~/.profile
[ "$TERM" == "screen.linux" ] && export TERM="screen"
# History stuff
@ -17,24 +16,18 @@ clear() {
printf '\033c' # faster than ncurses clear by a lot
}
# We hate sudo here
alias sudo='sh -c "exit 1"'
# Other aliases
alias c='clear'
alias ls='ls --color=auto -FAh'
alias ll='ls -l'
alias nf='neofetch'
alias sshd='boas /usr/sbin/sshd'
alias ga='git add'
alias gc='git commit -sS'
alias gp='git push'
alias wv='mpv $($PASTE_COMMAND)'
alias wv='swayhide mpv $($PASTE_COMMAND)'
alias curl='curl -L'
alias prof='profanity'
# Completions for elevation program (https://codeberg.org/Bowuigi/Unit21 in management/boas)
complete -cf boas
# Random string (passwords)
randstr() {
tr -cd '[:graph:]' </dev/urandom | head -c ${1:-256}
@ -46,7 +39,7 @@ cpusage() {
}
# Update and upgrade system
update() { boas sh -c "$UPDATE"; }
update() { sudo sh -c "$UPDATE"; }
# Im too lazy to type
copy() {
@ -183,6 +176,26 @@ baseto() {
rebash() { . ~/.bashrc; }
bashrc() { "$EDITOR" ~/.bashrc && rebash; }
curplot() {
ssh typhoon "~/gnuplot/gnuplot.sh; cat ~/gnuplot/$(date -I).svg" > $(date -I).svg
tnplot() {
ssh typhoon "${1:-~/gnuplot/gnuplot.sh}; cat ~/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
}

View File

@ -1,15 +1,79 @@
# configversion: 1
font=monospace:size=6
dpi-aware=no
# -*- 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=<bold variant of regular font>
# font-italic=<italic variant of regular font>
# font-bold-italic=<bold+italic variant of regular font>
# line-height=<font metrics>
# letter-spacing=0
# horizontal-letter-offset=0
# vertical-letter-offset=0
# underline-offset=<font metrics>
# box-drawings-uses-font-glyphs=no
dpi-aware=false
# initial-window-size-pixels=700x500 # Or,
# initial-window-size-chars=<COLSxROWS>
# 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=no
# word-delimiters=,│`|:"'()[]{}<>
# selection-target=primary
# workers=<number of logical CPUs>
[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=<inverse foreground/background>
blink=yes
# beam-thickness=1.5
# underline-thickness=<font underline thickness>
[mouse]
hide-when-typing=yes
# alternate-scroll-mode=yes
[colors]
alpha=0.7
alpha=0.8
#Default
foreground=d0d0d0
background=000000
regular0=000000 # black
regular0=222222 # black
regular1=ff0000 # red
regular2=33ff00 # green
regular3=ff0099 # yellow
regular3=ff9900 # yellow
regular4=0066ff # blue
regular5=cc00ff # magenta
regular6=00ffff # cyan
@ -17,9 +81,106 @@ regular7=d0d0d0 # white
bright0=808080 # bright black
bright1=ff0000 # bright red
bright2=33ff00 # bright green
bright3=ff0099 # bright yellow
bright3=ff9900 # bright yellow
bright4=0066ff # bright blue
bright5=cc00ff # bright magenta
bright6=00ffff # bright cyan
bright7=ffffff # bright white
## dimmed colors (see foot.ini(5) man page)
# dim0=<not set>
# ...
# dim7=<not-set>
## The remaining 256-color palette
#16 = <256-color palette #16>
# ...
#255 = <256-color palette #255>
## Misc colors
#selection-foreground=<inverse foreground/background>
#selection-background=<inverse foreground/background>
#jump-labels=<regular0> <regular3>
#urls=<regular3>
#scrollback-indicator=<regular0> <bright4>
[csd]
# preferred=server
# size=26
# font=<primary font>
# color=<foreground color>
# hide-when-typing=no
# border-width=0
# border-color=<csd.color>
# button-width=26
# button-color=<background color>
# button-minimize-color=<regular4>
# button-maximize-color=<regular2>
# button-close-color=<regular1>
[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

57
.config/guix/home.scm Normal file
View File

@ -0,0 +1,57 @@
(use-modules
(gnu home)
(gnu packages)
(gnu services)
(gnu home services shells)
)
(home-environment
(packages (cons*
(specifications->packages (list
"git"
"libqalculate"
"bc"
"icecat"
"cryptsetup"
"gnupg"
"openssh"
"profanity"
"go"
"adanaxisgpl"
"supertuxkart"
"minetest"
"mpv"
"imagemagick"
"rsync"
"neofetch"
"gnunet"
"lm-sensors"
"acpi"
"gnupg"
"password-store"
"xclip"
"font-fira-mono"
"font-fira-code"
"newsboat"
"kodi"
"yt-dlp"
"gcc-toolchain"
"icedove"
"irssi"
"monero-gui"
"pamixer"
"slurp"
"grim"
"foot"
"wofi"
"swayidle"
"swayhide"
"wl-clipboard"
"mako"
"xorg-server-xwayland"
"htop"
"pinentry"
"ungoogled-chromium-wayland"
"make"
))
)))

182
.config/sway/config Executable file
View File

@ -0,0 +1,182 @@
# SWAY CONFIG
# Variables
set $mod Mod4
set $left h
set $down n
set $up e
set $right i
set $menu wofi --show drun -i -H 500 -W 450
set $term foot
floating_modifier $mod normal
default_border pixel 1
client.focused #ffffff #ffffff #000000 #fc2d2d
client.unfocused #000000 #000000 #ffffff
client.focused_inactive #000000 #000000 #ffffff
gaps inner 5
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
}
# Input configuration
# 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+m exec pulsemixer --toggle-mute
bindsym $mod+p exec ~/.local/bin/screenshot -w
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
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
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
# 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
# Ditto, with arrow keys
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
bindsym XF86AudioRaiseVolume exec pamixer -i 5
bindsym XF86AudioMute exec pulsemixer --toggle-mute
bindsym XF86MonBrightnessUp exec brightnessctl s +5%
bindsym XF86MonBrightnessDown exec brightnessctl s 5%-
#bindsym XF86KbdBrightnessDown exec brightnessctl -d apple::kbd_backlight s 10%-
#bindsym XF86KbdBrightnessUp exec brightnessctl -d apple::kbd_backlight s 10%+
bindsym XF86AudioStop exec playerctl stop
bindsym XF86AudioPlay exec playerctl play-pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
# Rules
for_window [app_id="float"] floating enable;
for_window [app_id="org.gnome.Calculator"] floating enable;
for_window [app_id="org.kde.kdenlive"] floating enable;
for_window [app_id="gcolor3"] floating enable;
exec autotiling
exec swayidle -w timeout 240 '~/.local/bin/lock' before-sleep '~/.local/bin/lock'
bindswitch --reload --locked lid:on exec ~/.local/bin/lock
bar {
swaybar_command waybar
}
}
include /etc/sway/config.d/*

175
.config/waybar/config Normal file
View File

@ -0,0 +1,175 @@
// =============================================================================
//
// 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": "BAT ^{capacity}%", // Icon: bolt
// Not connected to AC
"format-discharging": "BAT {capacity}%",
"format-icons": [
"DEAD", // Icon: battery-full
"LOW", // Icon: battery-three-quarters
"HALF", // Icon: battery-half
"OK", // Icon: battery-quarter
"FULL" // Icon: battery-empty
],
"tooltip": true
},
"clock#time": {
"interval": 1,
"format": "{:%H:%M:%S}",
"tooltip": false
},
"clock#date": {
"interval": 10,
"format": " {:%e %b %Y}", // Icon: calendar-alt
"tooltip-format": "{:%e %B %Y}"
},
"cpu": {
"interval": 5,
"format": "CPU {usage}% ({load})", // Icon: microchip
"states": {
"warning": 70,
"critical": 90
}
},
"custom/keyboard-layout": {
"exec": "swaymsg -t get_inputs | grep -m1 'xkb_active_layout_name' | cut -d '\"' -f4",
// Interval set only as a fallback, as the value is updated by signal
"interval": 30,
"format": "{}", // Icon: keyboard
// Signal sent by Sway key binding (~/.config/sway/key-bindings)
"signal": 1, // SIGHUP
"tooltip": false
},
"memory": {
"interval": 5,
"format": "RAM {}%", // Icon: memory
"states": {
"warning": 70,
"critical": 90
}
},
"network": {
"interval": 5,
"format-wifi": "WIFI {essid} ({signalStrength}%)", // Icon: wifi
"format-ethernet": "ETH {ifname}: {ipaddr}/{cidr}", // Icon: ethernet
"format-disconnected": "⚠ Disconnected",
"tooltip-format": "{ifname}: {ipaddr}"
},
"sway/mode": {
"format": "<span style=\"italic\"> {}</span>", // Icon: expand-arrows-alt
"tooltip": false
},
"sway/window": {
"format": "{}",
"max-length": 120
},
"sway/workspaces": {
"all-outputs": false,
"disable-scroll": true,
"format": "{icon} {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": "{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
}
}

196
.config/waybar/style.css Normal file
View File

@ -0,0 +1,196 @@
/* =============================================================================
*
* 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: #323232;
color: white;
font-family: 'FiraMono Nerd Font';
font-size: 12px;
}
/* Each module */
#battery,
#clock,
#cpu,
#custom-keyboard-layout,
#memory,
#mode,
#network,
#pulseaudio,
#temperature,
#tray {
padding-left: 10px;
padding-right: 10px;
}
/* -----------------------------------------------------------------------------
* Module styles
* -------------------------------------------------------------------------- */
#battery {
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#battery.warning {
color: orange;
}
#battery.critical {
color: red;
}
#battery.warning.discharging {
animation-name: blink-warning;
animation-duration: 3s;
}
#battery.critical.discharging {
animation-name: blink-critical;
animation-duration: 2s;
}
#clock {
font-weight: bold;
}
#cpu {
/* No styles */
}
#cpu.warning {
color: orange;
}
#cpu.critical {
color: red;
}
#memory {
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#memory.warning {
color: orange;
}
#memory.critical {
color: red;
animation-name: blink-critical;
animation-duration: 2s;
}
#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 */
}
#network.disconnected {
color: orange;
}
#pulseaudio {
/* No styles */
}
#pulseaudio.muted {
/* No styles */
}
#custom-spotify {
color: rgb(102, 220, 105);
}
#temperature {
/* No styles */
}
#temperature.critical {
color: red;
}
#tray {
/* No styles */
}
#window {
font-weight: bold;
padding-left: 5px;
}
#workspaces button {
border-top: 2px solid transparent;
/* To compensate for the top border and still have vertical centering */
padding-bottom: 2px;
padding-left: 10px;
padding-right: 10px;
color: #888888;
}
#workspaces button.focused {
border-color: #4c7899;
color: white;
background-color: #285577;
}
#workspaces button.urgent {
border-color: #c9545d;
color: #c9545d;
}

View File

@ -5,6 +5,11 @@ if [[ "$SXMO_WM" ]]; then
COPY_COMMAND="wl-copy"
PASTE_COMMAND="wl-paste"
WIFI=wlan0
elif [[ -d /gnu ]]; then
UPDATE="guix pull --branch=master && guix package -u"
COPY_COMMAND="wl-copy"
PASTE_COMMAND="wl-paste"
WIFI=wlp2s0
else
UPDATE="apt update && apt upgrade && apt autoremove"
COPY_COMMAND="xclip -i -selection clipboard"

15
.local/bin/backtick Executable file
View File

@ -0,0 +1,15 @@
#!/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)"

4
.local/bin/lock Executable file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
swayidle -w timeout 15 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' &
swaylock -eFfkl -i ~/.config/sway/background.png --font "Fira Code"
pkill --newest swayidle

10
.local/bin/logout-wofi Executable file
View File

@ -0,0 +1,10 @@
#!/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') swaylock -f -F -e -i ~/.config/sway/wall -k -l -s fill --font IBM Plex Mono && systemctl suspend ;;
'reboot') reboot ;;
'shutdown') poweroff ;;
*) exit 1 ;;
esac

44
.local/bin/screenshot Executable file
View File

@ -0,0 +1,44 @@
#!/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

View File

@ -1,4 +1,4 @@
browser "mpv --user-agent=Mozilla/5.0 '--ytdl-format=bestvideo[height=?480][fps<=?30]+bestaudio/best' %u"
browser "swayhide mpv --user-agent=Mozilla/5.0 '--ytdl-format=bestvideo[height=?480][fps<=?30]+bestaudio/best' %u"
use-proxy yes
proxy-type socks5h
proxy 127.0.0.1:9050

View File

@ -1,12 +0,0 @@
export EDITOR=vim
export INVIDIOUS="https://inv.vern.cc"
export PATH="$HOME/.local/bin:$PATH"
export LESS_TERMCAP_mb=''
export LESS_TERMCAP_md=''
export LESS_TERMCAP_me=''
export LESS_TERMCAP_se=''
export LESS_TERMCAP_so=''
export LESS_TERMCAP_ue=''
export LESS_TERMCAP_us=''
export LESS=-R

36
.screenrc Normal file
View File

@ -0,0 +1,36 @@
backtick 0 1 1 "/home/cobra/.local/bin/backtick"
hardstatus alwayslastline "%{=b}%{G}%{b}%w %=%{r}%` %{kG}%C%A %d/%M/%Y "
termcapinfo xterm|xterms|xs|rxvt ti@:te@
startup_message off
msgwait 3
defscrollback 4096
vbell off
bell " %n %t !"
nethack on
caption splitonly "%2n %t"
bindkey -k k1 select 0
bindkey -k k2 select 1
bindkey -k k3 select 2
bindkey -k k4 select 3
bindkey -k k5 select 4
bindkey -k k6 select 5
bindkey -k k7 copy
bindkey -k k8 paste .
bindkey -k k9 screen
#bindkey -k k8 kill
#bindkey -k k9 screen
#bindkey -k k; title
#bindkey -k F1 prev
#bindkey -k F2 next
#unbind s
bind s

View File

@ -1,3 +1,5 @@
# Dotfiles
My configs, its that simple
Some of the stuff is copied and modified from others' configs, including .config/sway, .config/waybar, and some files under .local/bin, so they are not under the same license.

100
guix/config.scm Normal file
View File

@ -0,0 +1,100 @@
(use-modules
(gnu)
(gnu system nss)
)
(use-package-modules
certs
linux
wm
)
(use-service-modules
desktop
networking
xorg
cups
ssh
)
(operating-system
(kernel linux-libre)
(keyboard-layout (keyboard-layout "us" "altgr-intl"))
(bootloader
(bootloader-configuration
(bootloader (bootloader
(inherit grub-bootloader)
(installer #~(const #t))
))
(keyboard-layout keyboard-layout)
)
)
(host-name "PC")
(mapped-devices (list
(mapped-device
(source (uuid "e836ef6e-97a8-442b-a025-e81ab58bbc04"))
(target "fde")
(type luks-device-mapping)
)
(mapped-device
(source "matrix")
(targets (list
"matrix-rootvol"
"matrix-swapvol"
))
(type lvm-device-mapping)
)
))
(file-systems (append (list
(file-system
(type "btrfs")
(mount-point "/")
(device (file-system-label "root"))
(flags '(no-atime))
(options "space_cache=v2")
(needed-for-boot? #t)
(dependencies mapped-devices))
) %base-file-systems))
(swap-devices (list (swap-space (target (file-system-label "swap")))))
(users (append (list
(user-account
(name "cobra")
(comment "Skylar \"The Cobra\" Widulski")
(group "users")
(supplementary-groups '("audio" "cdrom" "kvm" "lp" "netdev" "tape" "video" "wheel")))
) %base-user-accounts))
(packages (append
(map specification->package (list
"nss-certs"
"tor"
"vim"
"screen"
"lynx"
"curl"
"wget"
"net-tools"
"sway"
"waybar"
"swaylock"
"openssh"
"i2pd"
))
(cons*
%base-packages
)
))
(timezone "America/New_York")
(locale "en_US.utf8")
(name-service-switch %mdns-host-lookup-nss)
(services
(cons*
(service openssh-service-type)
(service network-manager-service-type)
(service wpa-supplicant-service-type)
(service gpm-service-type)
(service ntp-service-type)
(service cups-service-type)
(service tor-service-type)
(service elogind-service-type)
(screen-locker-service swaylock)
%base-services
)
)
)