Merge branch 'main' of ssh://git.zacke.dev:222/wholteza/dotfiles
This commit is contained in:
10
.bashrc
10
.bashrc
@@ -172,9 +172,15 @@ alias edit-vim='cd ~/.config/nvim && vim .'
|
||||
hostname=$(cat ~/hostname)
|
||||
if [[ $hostname == "arch-bepis" ]]; then
|
||||
export SSH_AUTH_SOCK=/home/wholteza/.bitwarden-ssh-agent.sock
|
||||
elif [[ $hostname == "surface" ]]; then
|
||||
export SSH_AUTH_SOCK=/home/wholteza/.bitwarden-ssh-agent.sock
|
||||
elif [[ $hostname == "printer" ]]; then
|
||||
export SSH_AUTH_SOCK=/home/wholteza/.bitwarden-ssh-agent.sock
|
||||
elif [[ $hostname == "bepis-laptop" ]]; then
|
||||
export PATH="$PATH:/opt/nvim-linux-x86_64/bin"
|
||||
export SSH_AUTH_SOCK=/home/wholteza/snap/bitwarden/current/.bitwarden-ssh-agent.sock
|
||||
elif [[ $hostname == "printer" ]]; then
|
||||
export SSH_AUTH_SOCK=/home/wholteza/.bitwarden-ssh-agent.sock
|
||||
elif [[ $hostname == "dev1" ]]; then
|
||||
export PATH="$PATH:/opt/nvim-linux-x86_64/bin"
|
||||
fi
|
||||
@@ -198,10 +204,12 @@ export ompPath="$HOME/.config/oh-my-posh/theme.omp.json"
|
||||
### Start oh my posh
|
||||
|
||||
eval "$(oh-my-posh init bash --config $ompPath)"
|
||||
|
||||
eval "$(fnm env --use-on-cd --shell bash)"
|
||||
if [ -d "$HOME/.cargo/env" ]; then
|
||||
. "$HOME/.cargo/env"
|
||||
fi
|
||||
|
||||
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
export PATH=/home/$USER/.fnm:$PATH
|
||||
eval "$(fnm env --use-on-cd --version-file-strategy=recursive)"
|
||||
|
||||
@@ -68,4 +68,4 @@ color = "#f5e0dc"
|
||||
size = 16.0
|
||||
|
||||
[font.normal]
|
||||
family = "Fira Code Nerd Font"
|
||||
family = "JetBrainsMono Nerd Font"
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
-- external requirements
|
||||
-- - use nvm and install @vue/typescript-plugin globally
|
||||
-- then ts_ls will use it for vue parsing. It is already in the arch install script.
|
||||
local nvm_bin = os.getenv 'NVM_BIN'
|
||||
local vue_typescript_plugin_path = nvm_bin .. '/../lib/node_modules/@vue/typescript-plugin'
|
||||
local home = os.getenv 'HOME'
|
||||
local vue_typescript_plugin_path = home .. '/node_modules/@vue/typescript-plugin'
|
||||
|
||||
-- "<leader>sh" to [s]earch the [h]elp documentation.
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "f780609807eca1f783a36a8a31c30a48fbe150c5" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
|
||||
"lazydev.nvim": { "branch": "main", "commit": "258d2a5ef4a3e3d6d9ba9da72c9725c53e9afcbd" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "a1067cf84b4ff81b66d2bf4d01f4cbdb5de40bd0" },
|
||||
"mason-nvim-dap.nvim": { "branch": "main", "commit": "86389a3dd687cfaa647b6f44731e492970034baa" },
|
||||
@@ -24,7 +24,7 @@
|
||||
"nvim-lint": { "branch": "master", "commit": "0864f81c681e15d9bdc1156fe3a17bd07db5a3ed" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "ef73a4f2a1ddf0439eb97b46de2aab265ddba1cd" },
|
||||
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||
"nvim-treesitter": { "branch": "main", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "6e51ca170563330e063720449c21f43e27ca0bc1" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" },
|
||||
|
||||
@@ -1,15 +1,38 @@
|
||||
#!/bin/bash
|
||||
# Installs requirements for my arch setup.
|
||||
|
||||
set -e
|
||||
|
||||
sudo pacman -Suy archlinux-keyring
|
||||
sudo pacman -Suy
|
||||
|
||||
sudo pacman -S \
|
||||
neovim \
|
||||
fd \
|
||||
tmux \
|
||||
nvm \
|
||||
telegram-desktop \
|
||||
signal-desktop
|
||||
signal-desktop \
|
||||
alacritty \
|
||||
rofi \
|
||||
ttf-jetbrains-mono-nerd
|
||||
|
||||
if [ ! -d /home/wholteza/repos/yay ]; then
|
||||
cd ~
|
||||
mkdir -p repos
|
||||
sudo pacman -S --needed git base-devel
|
||||
git clone https://aur.archlinux.org/yay.git
|
||||
cd yay
|
||||
makepkg -si
|
||||
fi
|
||||
|
||||
yay -S \
|
||||
librewolf-bin
|
||||
librewolf-bin \
|
||||
fnm \
|
||||
oh-my-posh
|
||||
|
||||
fnm install 24
|
||||
fnm use 24
|
||||
|
||||
npm install
|
||||
|
||||
npm install -g @vue/typescript-plugin
|
||||
|
||||
@@ -5,6 +5,10 @@ if [[ $hostname == "bepis" ]]; then
|
||||
$(~/.config/screenlayout/desktop.sh)
|
||||
elif [[ $hostname == "arch-bepis" ]]; then
|
||||
$(~/.config/screenlayout/arch-bepis-desktop-sway.sh)
|
||||
elif [[ $hostname == "printer" ]]; then
|
||||
$(~/.config/screenlayout/printer.sh)
|
||||
elif [[ $hostname == "surface" ]]; then
|
||||
$(~/.config/screenlayout/surface.sh)
|
||||
elif [[ $hostname == "bepis-laptop" ]]; then
|
||||
$(~/.config/screenlayout/laptop.sh)
|
||||
fi
|
||||
|
||||
1
.config/screenlayout/printer.sh
Executable file
1
.config/screenlayout/printer.sh
Executable file
@@ -0,0 +1 @@
|
||||
swaymsg output HDMI-A-3 mode 2560x1440 bg ~/.config/feh/wallpaper.png stretch scale 1.2
|
||||
1
.config/screenlayout/surface.sh
Executable file
1
.config/screenlayout/surface.sh
Executable file
@@ -0,0 +1 @@
|
||||
swaymsg output eDP-1 mode 2256x1504 bg ~/.config/feh/wallpaper.png stretch scale 1.2
|
||||
15
.config/sway/autostart
Normal file
15
.config/sway/autostart
Normal file
@@ -0,0 +1,15 @@
|
||||
# Autostart
|
||||
## Screen configuration
|
||||
exec_always export hostname="$(cat /etc/hostname)" && ~/.config/screenlayout/apply-screen-layout.sh
|
||||
## Applications
|
||||
exec --no-startup-id blueman-applet
|
||||
exec --no-startup-id bitwarden-desktop
|
||||
exec --no-startup-id sunshine
|
||||
## Lock screen when idle, also shut down screens
|
||||
exec swayidle -w \
|
||||
timeout 600 $swaylock \
|
||||
timeout 630 'swaymsg "output * power off"' \
|
||||
resume 'swaymsg "output * power on"'
|
||||
## Start XDG autostart .desktop files using dex. See also
|
||||
### https://wiki.archlinux.org/index.php/XDG_Autostart
|
||||
exec --no-startup-id dex --autostart --environment i3
|
||||
16
.config/sway/bar
Normal file
16
.config/sway/bar
Normal file
@@ -0,0 +1,16 @@
|
||||
# BAR
|
||||
bar {
|
||||
swaybar_command waybar
|
||||
colors {
|
||||
background $base
|
||||
statusline $text
|
||||
focused_statusline $text
|
||||
focused_separator $base
|
||||
|
||||
# target border bg text
|
||||
focused_workspace $base $mauve $crust
|
||||
active_workspace $base $surface2 $text
|
||||
inactive_workspace $base $base $text
|
||||
urgent_workspace $base $red $crust
|
||||
}
|
||||
}
|
||||
@@ -1,214 +1,21 @@
|
||||
include catppuccin-mocha
|
||||
#USER-SET VARIABLES
|
||||
#Wallpaper path
|
||||
set $wallpaper_path '/home/wholteza/.config/feh/wallpaper.png'
|
||||
# Imports
|
||||
## Color varibles for theme
|
||||
include variables
|
||||
include catppuccin-mocha-colors
|
||||
include autostart
|
||||
include keybinds
|
||||
include bar
|
||||
include window
|
||||
include workspaces
|
||||
include input
|
||||
|
||||
set $nord-aurora-red #bf616a
|
||||
set $nord-aurora-orange #d08770
|
||||
set $nord-aurora-yellow #ebcb8b
|
||||
set $nord-aurora-green #a3be8c
|
||||
set $nord-aurora-purple #b48ead
|
||||
# Settings that are either too small to have their own file, or that i cannot think of a name for.
|
||||
|
||||
set $nord-frost-1 #8fbcbb
|
||||
set $nord-frost-2 #88c0d0
|
||||
set $nord-frost-3 #81a1c1
|
||||
set $nord-frost-4 #5e81ac
|
||||
## FONT
|
||||
font pango:JetBrainsMono Nerd Font 14
|
||||
|
||||
set $nord-snow-1 #d8dee9
|
||||
set $nord-snow-2 #e5e9f0
|
||||
set $nord-snow-3 #eceff4
|
||||
|
||||
set $nord-polar-1 #2e3440
|
||||
set $nord-polar-2 #3b4252
|
||||
set $nord-polar-3 #434c5e
|
||||
set $nord-polar-4 #4c566a
|
||||
|
||||
#i3-bar colors
|
||||
set $bg-color #2f343f
|
||||
set $inactive-bg-color #2f343f
|
||||
set $text-color #0DA321
|
||||
set $inactive-text-color #505254
|
||||
set $urgent-bg-color #E53935
|
||||
|
||||
exec_always export hostname="$(cat /etc/hostname)" && ~/.config/screenlayout/apply-screen-layout.sh
|
||||
exec_always export hostname="$(cat /etc/hostname)" && ~/.config/keyboard/apply-keyboard-layout.sh
|
||||
|
||||
set $mod Mod4
|
||||
|
||||
font pango:DejaVu 14
|
||||
# This font is widely installed, provides lots of unicode glyphs, right-to-left
|
||||
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
||||
|
||||
# Start XDG autostart .desktop files using dex. See also
|
||||
# https://wiki.archlinux.org/index.php/XDG_Autostart
|
||||
exec --no-startup-id dex --autostart --environment i3
|
||||
|
||||
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
|
||||
# they are included here as an example. Modify as you see fit.
|
||||
|
||||
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
|
||||
# screen before suspend. Use loginctl lock-session to lock your screen.
|
||||
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
|
||||
|
||||
# NetworkManager is the most popular way to manage wireless networks on Linux,
|
||||
# and nm-applet is a desktop environment-independent system tray GUI for it.
|
||||
# exec --no-startup-id nm-applet
|
||||
|
||||
# Use pactl to adjust volume in PulseAudio.
|
||||
set $refresh_i3status killall -SIGUSR1 i3status
|
||||
# bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
|
||||
# bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
|
||||
# bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
|
||||
# bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
|
||||
|
||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||
floating_modifier $mod
|
||||
|
||||
# move tiling windows via drag & drop by left-clicking into the title bar,
|
||||
# or left-clicking anywhere into the window while holding the floating modifier.
|
||||
#tiling_drag modifier titlebar
|
||||
|
||||
# start a terminal
|
||||
bindsym $mod+Return exec alacritty --config-file /home/wholteza/.config/alacritty/alacritty.toml
|
||||
|
||||
# kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# start dmenu (a program launcher)
|
||||
bindsym $mod+d exec --no-startup-id "rofi -theme catppuccin-default -combi-modi window,drun,ssh -font 'pango:monospace 18' -show combi"
|
||||
# A more modern dmenu replacement is rofi:
|
||||
# bindcode $mod+40 exec "rofi -modi drun,run -show drun"
|
||||
# There also is i3-dmenu-desktop which only displays applications shipping a
|
||||
# .desktop file. It is a wrapper around dmenu, so you need that installed.
|
||||
# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop
|
||||
|
||||
# change focus
|
||||
bindsym $mod+j focus left
|
||||
bindsym $mod+k focus down
|
||||
bindsym $mod+l focus up
|
||||
bindsym $mod+odiaeresis focus right
|
||||
|
||||
# alternatively, you can use the cursor keys:
|
||||
bindsym $mod+Left focus left
|
||||
bindsym $mod+Down focus down
|
||||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
|
||||
# move focused window
|
||||
bindsym $mod+Shift+j move left
|
||||
bindsym $mod+Shift+k move down
|
||||
bindsym $mod+Shift+l move up
|
||||
bindsym $mod+Shift+odiaeresis move right
|
||||
|
||||
# move focused workspace between monitors
|
||||
bindsym $mod+Ctrl+greater move workspace to output right
|
||||
bindsym $mod+Ctrl+less move workspace to output left
|
||||
|
||||
# alternatively, you can use the cursor keys:
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Shift+Down move down
|
||||
bindsym $mod+Shift+Up move up
|
||||
bindsym $mod+Shift+Right move right
|
||||
|
||||
# split in horizontal orientation
|
||||
bindsym $mod+v split h
|
||||
|
||||
# split in vertical orientation
|
||||
bindsym $mod+h split v
|
||||
|
||||
# enter fullscreen mode for the focused container
|
||||
bindsym $mod+f fullscreen toggle
|
||||
|
||||
# change container layout (stacked, tabbed, toggle split)
|
||||
bindsym $mod+s layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+e layout toggle split
|
||||
|
||||
# toggle tiling / floating
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
|
||||
# change focus between tiling / floating windows
|
||||
bindsym $mod+space focus mode_toggle
|
||||
|
||||
# focus the parent container
|
||||
bindsym $mod+a focus parent
|
||||
|
||||
# focus the child container
|
||||
#bindsym $mod+d focus child
|
||||
|
||||
# Define names for default workspaces for which we configure key bindings later on.
|
||||
# We use variables to avoid repeating the names in multiple places.
|
||||
set $ws1 "1: Whatever"
|
||||
set $ws2 "2: Social"
|
||||
set $ws3 "3: Development"
|
||||
set $ws4 "4: Browsing"
|
||||
set $ws5 "5: Games"
|
||||
set $ws6 "6"
|
||||
set $ws7 "7"
|
||||
set $ws8 "8"
|
||||
set $ws9 "9: VPN"
|
||||
set $ws10 "10: Terminals"
|
||||
|
||||
# switch to workspace
|
||||
bindsym $mod+1 workspace number $ws1
|
||||
bindsym $mod+2 workspace number $ws2
|
||||
bindsym $mod+3 workspace number $ws3
|
||||
bindsym $mod+4 workspace number $ws4
|
||||
bindsym $mod+5 workspace number $ws5
|
||||
bindsym $mod+6 workspace number $ws6
|
||||
bindsym $mod+7 workspace number $ws7
|
||||
bindsym $mod+8 workspace number $ws8
|
||||
bindsym $mod+9 workspace number $ws9
|
||||
bindsym $mod+0 workspace number $ws10
|
||||
|
||||
# move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace number $ws1
|
||||
bindsym $mod+Shift+2 move container to workspace number $ws2
|
||||
bindsym $mod+Shift+3 move container to workspace number $ws3
|
||||
bindsym $mod+Shift+4 move container to workspace number $ws4
|
||||
bindsym $mod+Shift+5 move container to workspace number $ws5
|
||||
bindsym $mod+Shift+6 move container to workspace number $ws6
|
||||
bindsym $mod+Shift+7 move container to workspace number $ws7
|
||||
bindsym $mod+Shift+8 move container to workspace number $ws8
|
||||
bindsym $mod+Shift+9 move container to workspace number $ws9
|
||||
bindsym $mod+Shift+0 move container to workspace number $ws10
|
||||
|
||||
# Brightness
|
||||
bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl set +5%
|
||||
bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl set 5%-
|
||||
|
||||
# Volume
|
||||
bindsym XF86AudioMute exec amixer sset 'Master' toggle
|
||||
bindsym XF86AudioLowerVolume exec amixer sset 'Master' 5%-
|
||||
bindsym XF86AudioRaiseVolume exec amixer sset 'Master' 5%+
|
||||
|
||||
# Reload sway (reload configuration file)
|
||||
bindsym $mod+Shift+c reload
|
||||
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||
bindsym $mod+Shift+r restart
|
||||
# exit i3 (logs you out of your X session)
|
||||
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
|
||||
|
||||
# resize window (you can also use the mouse for that)
|
||||
mode "resize" {
|
||||
bindsym j resize shrink width 10 px or 10 ppt
|
||||
bindsym k resize grow height 10 px or 10 ppt
|
||||
bindsym l resize shrink height 10 px or 10 ppt
|
||||
bindsym odiaeresis resize grow width 10 px or 10 ppt
|
||||
|
||||
bindsym Left resize shrink width 10 px or 10 ppt
|
||||
bindsym Down resize grow height 10 px or 10 ppt
|
||||
bindsym Up resize shrink height 10 px or 10 ppt
|
||||
bindsym Right resize grow width 10 px or 10 ppt
|
||||
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
bindsym $mod+r mode "default"
|
||||
}
|
||||
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
# target title bg text indicator border
|
||||
## Sway colors
|
||||
### target title bg text indicator border
|
||||
client.focused $lavender $base $text $rosewater $lavender
|
||||
client.focused_inactive $overlay0 $base $text $rosewater $overlay0
|
||||
client.unfocused $overlay0 $base $text $rosewater $overlay0
|
||||
@@ -216,113 +23,4 @@ client.urgent $peach $base $peach $overlay0 $peach
|
||||
client.placeholder $overlay0 $base $text $overlay0 $overlay0
|
||||
client.background $base
|
||||
|
||||
# bar
|
||||
bar {
|
||||
colors {
|
||||
background $base
|
||||
statusline $text
|
||||
focused_statusline $text
|
||||
focused_separator $base
|
||||
|
||||
# target border bg text
|
||||
focused_workspace $base $mauve $crust
|
||||
active_workspace $base $surface2 $text
|
||||
inactive_workspace $base $base $text
|
||||
urgent_workspace $base $red $crust
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#KEYBINDS
|
||||
bindsym $mod+Shift+z exec /home/wholteza/.config/i3/lock -b=0x8 -n
|
||||
bindsym Control+Mod1+s exec /home/wholteza/.config/passmenu/passmenu
|
||||
bindsym $mod+Shift+p exec arandr
|
||||
bindsym $mod+p exec /home/wholteza/.config/screenlayout/screenmenu.sh
|
||||
bindsym --release Print exec grim -g "$(slurp -d)" "/home/wholteza/Pictures/$(date)_fullscreen.png"
|
||||
bindsym --release $mod+Shift+s exec grim -g "$(slurp -d)" - | wl-copy -t image/png
|
||||
bindsym --release $mod+Ctrl+s exec grim -g "$(slurp -d)" "/home/wholteza/Pictures/$(date)_selection.png"
|
||||
bindsym --release Control+Mod1+i exec grim -g "$(slurp -d)" "/home/wholteza/Pictures/$(date)_selection.png"
|
||||
|
||||
|
||||
title_align center
|
||||
default_border normal
|
||||
|
||||
# hide_edge_borders vertical
|
||||
bindsym Control+Shift+x [class="^.*"] border toggle
|
||||
for_window [class="plasma.emojier"] floating enable
|
||||
for_window [class="Solaar"] floating enable
|
||||
for_window [class="Arandr"] floating enable
|
||||
for_window [class="OVPN"] floating enable
|
||||
|
||||
for_window [title="Bitwarden"] floating enable
|
||||
for_window [title="Bitwarden"] resize set width 500 px height 700 px
|
||||
|
||||
for_window [title="Extension.*"] floating enable
|
||||
for_window [title="Extension.*"] resize set width 500 px height 700 px
|
||||
|
||||
for_window [title="Alacritty"] border none
|
||||
for_window [title=".*Mozilla Firefox"] border none
|
||||
for_window [title=".*LibreWolf"] border none
|
||||
|
||||
for_window [title="Bolt Launcher"] floating enable
|
||||
for_window [title="Bolt Launcher"] border none
|
||||
for_window [title="RuneLite.*"] floating enable
|
||||
for_window [title="RuneLite.*"] border none
|
||||
for_window [title="RuneLite.*"] resize set width 2440 px height 1420 px
|
||||
|
||||
for_window [class="steam"] \
|
||||
fullscreen disable; \
|
||||
floating enable; \
|
||||
border pixel 0; \
|
||||
resize set $display_w $display_h; \
|
||||
move absolute position 0 0; \
|
||||
|
||||
# Assigning application to workspaces
|
||||
## 1: is reserved for whatever
|
||||
## 2: Social
|
||||
assign [class="TelegramDesktop"] $ws2
|
||||
assign [class="Caprine"] $ws2
|
||||
assign [class="discord"] $ws2
|
||||
assign [class="Signal"] $ws2
|
||||
## 3: Development
|
||||
assign [class="Code"] $ws3
|
||||
## 4: Browsing
|
||||
assign [class="firefox"] $ws4
|
||||
assign [class="Firefox"] $ws4
|
||||
## 5: Games
|
||||
assign [class="Moonlight"] $ws5
|
||||
assign [class="steam"] $ws5
|
||||
assign [class="dota2"] $ws5
|
||||
|
||||
|
||||
## Set keyboard layout
|
||||
input * {
|
||||
xkb_layout "se"
|
||||
}
|
||||
|
||||
## Remove pointer acceleration
|
||||
input "type:pointer" {
|
||||
accel_profile "flat"
|
||||
pointer_accel 0
|
||||
}
|
||||
|
||||
# NOTE: Screens are managed by apply-screen-layout.sh
|
||||
|
||||
## Run secondary sceen in 1080p
|
||||
# output HDMI-A-3 mode 3440x1440@99.99Hz pos 1080 237 bg /home/wholteza/.config/feh/wallpaper.png fit #1b1f28
|
||||
# output DP-2 mode 1920x1080 pos 0 0 transform 270 bg /home/wholteza/.config/feh/wallpaper.png fit #1b1f28
|
||||
|
||||
## Run only primary screen in 2k not sure if this actually works with 99.99Hz
|
||||
#output HDMI-A-3 mode 2560x1440@99.99Hz pos 1440 475 bg /home/wholteza/.config/feh/wallpaper.png fit #1b1f28
|
||||
|
||||
## Main setup with ultrawide and portrait secondary screen
|
||||
#output HDMI-A-3 mode 3440x1440@99.99Hz pos 1440 475 bg /home/wholteza/.config/feh/wallpaper.png fit #1b1f28
|
||||
#output DP-2 mode 2560x1440 pos 0 0 transform 270 bg /home/wholteza/.config/feh/wallpaper.png fit #1b1f28
|
||||
|
||||
## Main
|
||||
##output HDMI-A-3 mode 3440x1440@99.99Hz bg /home/wholteza/.config/feh/wallpaper.png fit #1b1f28
|
||||
|
||||
# Autostart applications
|
||||
exec --no-startup-id blueman-applet
|
||||
exec --no-startup-id bitwarden-desktop
|
||||
exec --no-startup-id sunshine
|
||||
|
||||
17
.config/sway/input
Normal file
17
.config/sway/input
Normal file
@@ -0,0 +1,17 @@
|
||||
# Input configuration
|
||||
## Default to swedish qwerty
|
||||
input * {
|
||||
xkb_layout "se"
|
||||
}
|
||||
## Bind backspace to capslock
|
||||
input "*" xkb_options caps:backspace
|
||||
## Set colemak layout on surface laptop
|
||||
input 1118:2478:Microsoft_Surface_045E:09AE_Keyboard xkb_layout colemak-se
|
||||
## Set colemak layout on printer desktop
|
||||
input 9494:26:CM_Storm_Keyboard_--_QuickFire_XT xkb_layout colemak-se
|
||||
## Remove pointer acceleration
|
||||
input "type:pointer" {
|
||||
accel_profile "flat"
|
||||
pointer_accel 0
|
||||
}
|
||||
|
||||
144
.config/sway/keybinds
Normal file
144
.config/sway/keybinds
Normal file
@@ -0,0 +1,144 @@
|
||||
# KEYBINDS
|
||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||
floating_modifier $mod
|
||||
|
||||
## Start a terminal
|
||||
bindsym $mod+Return exec alacritty --config-file /home/wholteza/.config/alacritty/alacritty.toml
|
||||
|
||||
## Kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
## Start program launcher
|
||||
bindsym $mod+d exec --no-startup-id "rofi -theme catppuccin-default -combi-modi window,drun,ssh -font 'pango:monospace 18' -show combi"
|
||||
|
||||
## Change focus
|
||||
bindsym $mod+j focus left
|
||||
bindsym $mod+k focus down
|
||||
bindsym $mod+l focus up
|
||||
bindsym $mod+odiaeresis focus right
|
||||
|
||||
## Alternatively, you can use the cursor keys:
|
||||
bindsym $mod+Left focus left
|
||||
bindsym $mod+Down focus down
|
||||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
|
||||
## Move focused window
|
||||
bindsym $mod+Shift+j move left
|
||||
bindsym $mod+Shift+k move down
|
||||
bindsym $mod+Shift+l move up
|
||||
bindsym $mod+Shift+odiaeresis move right
|
||||
|
||||
## Move focused workspace between monitors
|
||||
bindsym $mod+Ctrl+greater move workspace to output right
|
||||
bindsym $mod+Ctrl+less move workspace to output left
|
||||
|
||||
## Alternatively, you can use the cursor keys:
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Shift+Down move down
|
||||
bindsym $mod+Shift+Up move up
|
||||
bindsym $mod+Shift+Right move right
|
||||
|
||||
## Split in horizontal orientation
|
||||
bindsym $mod+v split h
|
||||
|
||||
## Split in vertical orientation
|
||||
bindsym $mod+h split v
|
||||
|
||||
## Enter fullscreen mode for the focused container
|
||||
bindsym $mod+f fullscreen toggle
|
||||
|
||||
## Change container layout (stacked, tabbed, toggle split)
|
||||
bindsym $mod+s layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+e layout toggle split
|
||||
|
||||
## Toggle tiling / floating
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
|
||||
## Change focus between tiling / floating windows
|
||||
bindsym $mod+space focus mode_toggle
|
||||
|
||||
## Focus the parent container
|
||||
bindsym $mod+a focus parent
|
||||
|
||||
## Focus the child container
|
||||
# bindsym $mod+d focus child
|
||||
|
||||
## Lock session
|
||||
bindsym $mod+Shift+z exec $swaylock
|
||||
|
||||
## Open passmenu password manager (deprecated)
|
||||
bindsym Control+Mod1+s exec /home/wholteza/.config/passmenu/passmenu
|
||||
|
||||
## Open screenmenu to manually apply a screen layout
|
||||
bindsym $mod+p exec /home/wholteza/.config/screenlayout/screenmenu.sh
|
||||
|
||||
## Printscreen binds (requires grim, slurp and wl-copy)
|
||||
bindsym --release Print exec grim -g "$(slurp -d)" "/home/wholteza/Pictures/$(date)_fullscreen.png"
|
||||
bindsym --release $mod+Shift+s exec grim -g "$(slurp -d)" - | wl-copy -t image/png
|
||||
bindsym --release $mod+Ctrl+s exec grim -g "$(slurp -d)" "/home/wholteza/Pictures/$(date)_selection.png"
|
||||
bindsym --release Control+Mod1+i exec grim -g "$(slurp -d)" "/home/wholteza/Pictures/$(date)_selection.png"
|
||||
|
||||
## hide_edge_borders vertical
|
||||
bindsym Control+Shift+x [class="^.*"] border toggle
|
||||
|
||||
## resize window (you can also use the mouse for that)
|
||||
mode "resize" {
|
||||
bindsym j resize shrink width 10 px or 10 ppt
|
||||
bindsym k resize grow height 10 px or 10 ppt
|
||||
bindsym l resize shrink height 10 px or 10 ppt
|
||||
bindsym h resize grow width 10 px or 10 ppt
|
||||
|
||||
bindsym Left resize shrink width 10 px or 10 ppt
|
||||
bindsym Down resize grow height 10 px or 10 ppt
|
||||
bindsym Up resize shrink height 10 px or 10 ppt
|
||||
bindsym Right resize grow width 10 px or 10 ppt
|
||||
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
bindsym $mod+r mode "default"
|
||||
}
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
## switch to workspace
|
||||
bindsym $mod+1 workspace number $ws1
|
||||
bindsym $mod+2 workspace number $ws2
|
||||
bindsym $mod+3 workspace number $ws3
|
||||
bindsym $mod+4 workspace number $ws4
|
||||
bindsym $mod+5 workspace number $ws5
|
||||
bindsym $mod+6 workspace number $ws6
|
||||
bindsym $mod+7 workspace number $ws7
|
||||
bindsym $mod+8 workspace number $ws8
|
||||
bindsym $mod+9 workspace number $ws9
|
||||
bindsym $mod+0 workspace number $ws10
|
||||
|
||||
## move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace number $ws1
|
||||
bindsym $mod+Shift+2 move container to workspace number $ws2
|
||||
bindsym $mod+Shift+3 move container to workspace number $ws3
|
||||
bindsym $mod+Shift+4 move container to workspace number $ws4
|
||||
bindsym $mod+Shift+5 move container to workspace number $ws5
|
||||
bindsym $mod+Shift+6 move container to workspace number $ws6
|
||||
bindsym $mod+Shift+7 move container to workspace number $ws7
|
||||
bindsym $mod+Shift+8 move container to workspace number $ws8
|
||||
bindsym $mod+Shift+9 move container to workspace number $ws9
|
||||
bindsym $mod+Shift+0 move container to workspace number $ws10
|
||||
|
||||
## Brightness
|
||||
bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl set +5%
|
||||
bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl set 5%-
|
||||
|
||||
## Volume
|
||||
bindsym XF86AudioMute exec amixer sset 'Master' toggle
|
||||
bindsym XF86AudioLowerVolume exec amixer sset 'Master' 5%-
|
||||
bindsym XF86AudioRaiseVolume exec amixer sset 'Master' 5%+
|
||||
|
||||
## Reload sway (reload configuration file)
|
||||
bindsym $mod+Shift+c reload
|
||||
|
||||
## restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||
bindsym $mod+Shift+r restart
|
||||
|
||||
## exit i3 (logs you out of your X session)
|
||||
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
|
||||
18
.config/sway/variables
Normal file
18
.config/sway/variables
Normal file
@@ -0,0 +1,18 @@
|
||||
# Variables
|
||||
set $mod Mod4
|
||||
|
||||
set $wallpaper_path '/home/wholteza/.config/feh/wallpaper.png'
|
||||
set $swaylock 'swaylock -fkL -s stretch -i /home/wholteza/.config/feh/wallpaper.png'
|
||||
|
||||
## Define names for default workspaces for which we configure key bindings later on.
|
||||
### Search up nerd font icons to get more icons
|
||||
set $ws1 "1: Term"
|
||||
set $ws2 "2: Social"
|
||||
set $ws3 "3: Dev"
|
||||
set $ws4 "4: Browse"
|
||||
set $ws5 "5: Games"
|
||||
set $ws6 "6"
|
||||
set $ws7 "7"
|
||||
set $ws8 "8"
|
||||
set $ws9 "9: "
|
||||
set $ws10 "10: "
|
||||
29
.config/sway/window
Normal file
29
.config/sway/window
Normal file
@@ -0,0 +1,29 @@
|
||||
# Default window settings
|
||||
title_align center
|
||||
default_border normal
|
||||
|
||||
|
||||
# Application specific window settings
|
||||
for_window [class="plasma.emojier"] floating enable
|
||||
for_window [class="Solaar"] floating enable
|
||||
for_window [class="Arandr"] floating enable
|
||||
for_window [class="OVPN"] floating enable
|
||||
for_window [title="Bitwarden"] floating enable
|
||||
for_window [title="Bitwarden"] resize set width 500 px height 700 px
|
||||
for_window [title="Extension.*"] floating enable
|
||||
for_window [title="Extension.*"] resize set width 500 px height 700 px
|
||||
for_window [title="Alacritty"] border none
|
||||
for_window [title=".*Mozilla Firefox"] border none
|
||||
for_window [title=".*LibreWolf"] border none
|
||||
for_window [title="Bolt Launcher"] floating enable
|
||||
for_window [title="Bolt Launcher"] border none
|
||||
for_window [title="RuneLite.*"] floating enable
|
||||
for_window [title="RuneLite.*"] border none
|
||||
for_window [title="RuneLite.*"] resize set width 2440 px height 1420 px
|
||||
for_window [class="steam"] \
|
||||
fullscreen disable; \
|
||||
floating enable; \
|
||||
border pixel 0; \
|
||||
resize set $display_w $display_h; \
|
||||
move absolute position 0 0; \
|
||||
|
||||
14
.config/sway/workspaces
Normal file
14
.config/sway/workspaces
Normal file
@@ -0,0 +1,14 @@
|
||||
# Assigning application to workspaces
|
||||
assign [class="TelegramDesktop"] $ws2
|
||||
assign [class="Caprine"] $ws2
|
||||
assign [class="discord"] $ws2
|
||||
assign [class="Signal"] $ws2
|
||||
## 3: Development
|
||||
assign [class="Code"] $ws3
|
||||
## 4: Browsing
|
||||
assign [class="firefox"] $ws4
|
||||
assign [class="Firefox"] $ws4
|
||||
## 5: Games
|
||||
assign [class="Moonlight"] $ws5
|
||||
assign [class="steam"] $ws5
|
||||
assign [class="dota2"] $ws5
|
||||
191
.config/waybar/config.jsonc
Normal file
191
.config/waybar/config.jsonc
Normal file
@@ -0,0 +1,191 @@
|
||||
// -*- mode: jsonc -*-
|
||||
{
|
||||
"position": "bottom", // Waybar position (top|bottom|left|right)
|
||||
"height": 16, // Waybar height (to be removed for auto height)
|
||||
"spacing": 4, // Gaps between modules (4px)
|
||||
"modules-left": [
|
||||
"sway/workspaces",
|
||||
"sway/mode",
|
||||
"sway/scratchpad",
|
||||
"custom/media"
|
||||
],
|
||||
"modules-center": [
|
||||
],
|
||||
"modules-right": [
|
||||
"mpd",
|
||||
"idle_inhibitor",
|
||||
"pulseaudio",
|
||||
"network",
|
||||
"power-profiles-daemon",
|
||||
"cpu",
|
||||
"memory",
|
||||
"temperature",
|
||||
"backlight",
|
||||
"battery",
|
||||
"clock",
|
||||
"tray",
|
||||
],
|
||||
"keyboard-state": {
|
||||
"numlock": true,
|
||||
"capslock": true,
|
||||
"format": "{name} {icon}",
|
||||
"format-icons": {
|
||||
"locked": "",
|
||||
"unlocked": ""
|
||||
}
|
||||
},
|
||||
"sway/mode": {
|
||||
"format": "<span style=\"italic\">{}</span>"
|
||||
},
|
||||
"sway/scratchpad": {
|
||||
"format": "{icon} {count}",
|
||||
"show-empty": false,
|
||||
"format-icons": ["", ""],
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{app}: {title}"
|
||||
},
|
||||
"mpd": {
|
||||
"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ",
|
||||
"format-disconnected": "Disconnected ",
|
||||
"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
|
||||
"unknown-tag": "N/A",
|
||||
"interval": 5,
|
||||
"consume-icons": {
|
||||
"on": " "
|
||||
},
|
||||
"random-icons": {
|
||||
"off": "<span color=\"#f53c3c\"></span> ",
|
||||
"on": " "
|
||||
},
|
||||
"repeat-icons": {
|
||||
"on": " "
|
||||
},
|
||||
"single-icons": {
|
||||
"on": "1 "
|
||||
},
|
||||
"state-icons": {
|
||||
"paused": "",
|
||||
"playing": ""
|
||||
},
|
||||
"tooltip-format": "MPD (connected)",
|
||||
"tooltip-format-disconnected": "MPD (disconnected)"
|
||||
},
|
||||
"idle_inhibitor": {
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"activated": "",
|
||||
"deactivated": ""
|
||||
}
|
||||
},
|
||||
"tray": {
|
||||
// "icon-size": 21,
|
||||
"spacing": 10,
|
||||
// "icons": {
|
||||
// "blueman": "bluetooth",
|
||||
// "TelegramDesktop": "$HOME/.local/share/icons/hicolor/16x16/apps/telegram.png"
|
||||
// }
|
||||
},
|
||||
"clock": {
|
||||
// "timezone": "America/New_York",
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
"format-alt": "{:%Y-%m-%d}"
|
||||
},
|
||||
"cpu": {
|
||||
"format": "{usage}% ",
|
||||
"tooltip": false
|
||||
},
|
||||
"memory": {
|
||||
"format": "{}% "
|
||||
},
|
||||
"temperature": {
|
||||
// "thermal-zone": 2,
|
||||
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
|
||||
"critical-threshold": 80,
|
||||
// "format-critical": "{temperatureC}°C {icon}",
|
||||
"format": "{temperatureC}°C {icon}",
|
||||
"format-icons": ["", "", ""]
|
||||
},
|
||||
"backlight": {
|
||||
// "device": "acpi_video1",
|
||||
"format": "{percent}% {icon}",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", ""]
|
||||
},
|
||||
"battery": {
|
||||
"states": {
|
||||
// "good": 95,
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{capacity}% {icon}",
|
||||
"format-full": "{capacity}% {icon}",
|
||||
"format-charging": "{capacity}% ",
|
||||
"format-plugged": "{capacity}% ",
|
||||
"format-alt": "{time} {icon}",
|
||||
// "format-good": "", // An empty format will hide the module
|
||||
// "format-full": "",
|
||||
"format-icons": ["", "", "", "", ""]
|
||||
},
|
||||
"power-profiles-daemon": {
|
||||
"format": "{icon}",
|
||||
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
|
||||
"tooltip": true,
|
||||
"format-icons": {
|
||||
"default": "",
|
||||
"performance": "",
|
||||
"balanced": "",
|
||||
"power-saver": ""
|
||||
}
|
||||
},
|
||||
"network": {
|
||||
// "interface": "wlp2*", // (Optional) To force the use of this interface
|
||||
"format-wifi": "{essid} ({signalStrength}%) ",
|
||||
"format-ethernet": "{ipaddr}/{cidr} ",
|
||||
"tooltip-format": "{ifname} via {gwaddr} ",
|
||||
"format-linked": "{ifname} (No IP) ",
|
||||
"format-disconnected": "Disconnected ⚠",
|
||||
"format-alt": "{ifname}: {ipaddr}/{cidr}"
|
||||
},
|
||||
"pulseaudio": {
|
||||
// "scroll-step": 1, // %, can be a float
|
||||
"format": "{volume}% {icon} {format_source}",
|
||||
"format-bluetooth": "{volume}% {icon} {format_source}",
|
||||
"format-bluetooth-muted": " {icon} {format_source}",
|
||||
"format-muted": " {format_source}",
|
||||
"format-source": "{volume}% ",
|
||||
"format-source-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", "", ""]
|
||||
},
|
||||
"on-click": "pavucontrol"
|
||||
},
|
||||
"custom/media": {
|
||||
"format": "{icon} {text}",
|
||||
"return-type": "json",
|
||||
"max-length": 40,
|
||||
"format-icons": {
|
||||
"spotify": "",
|
||||
"default": "🎜"
|
||||
},
|
||||
"escape": true,
|
||||
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
|
||||
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
|
||||
},
|
||||
"custom/power": {
|
||||
"format" : "⏻ ",
|
||||
"tooltip": false,
|
||||
"menu": "on-click",
|
||||
"menu-file": "$HOME/.config/waybar/power_menu.xml", // Menu file in resources folder
|
||||
"menu-actions": {
|
||||
"shutdown": "shutdown",
|
||||
"reboot": "reboot",
|
||||
"suspend": "systemctl suspend",
|
||||
"hibernate": "systemctl hibernate"
|
||||
}
|
||||
}
|
||||
}
|
||||
29
.config/waybar/power_menu.xml
Normal file
29
.config/waybar/power_menu.xml
Normal file
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<object class="GtkMenu" id="menu">
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="suspend">
|
||||
<property name="label">Suspend</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="hibernate">
|
||||
<property name="label">Hibernate</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="shutdown">
|
||||
<property name="label">Shutdown</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparatorMenuItem" id="delimiter1"/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="reboot">
|
||||
<property name="label">Reboot</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
|
||||
324
.config/waybar/style.css
Normal file
324
.config/waybar/style.css
Normal file
@@ -0,0 +1,324 @@
|
||||
* {
|
||||
font-family: "JetBrainsMono Nerd Font", FontAwesome, Roboto, Helvetica, Arial, sans-serif;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background-color: #1e1e2e;
|
||||
color: #ffffff;
|
||||
transition-property: background-color;
|
||||
transition-duration: .5s;
|
||||
}
|
||||
|
||||
window#waybar.hidden {
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
button {
|
||||
/* Use box-shadow instead of border so the text isn't offset */
|
||||
box-shadow: inset 0 -3px transparent;
|
||||
/* Avoid rounded borders under each button name */
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
||||
button:hover {
|
||||
background: inherit;
|
||||
box-shadow: inset 0 -3px #ffffff;
|
||||
}
|
||||
|
||||
/* you can set a style on hover for any module like this */
|
||||
#pulseaudio:hover {
|
||||
background-color: #a37800;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0 8px;
|
||||
background-color: transparent;
|
||||
color: #cdd6f1;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
#workspaces button.focused,
|
||||
#workspaces button.active {
|
||||
background-color: #a6e3a1;
|
||||
color: #1e1e2e;
|
||||
/* box-shadow: inset 0 -3px #ffffff; */
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
background-color: #f38ba8;
|
||||
color: #1e1e2e;
|
||||
}
|
||||
|
||||
#mode {
|
||||
background-color: #f38ba8;
|
||||
color: #1e1e2e;
|
||||
padding: 0 10px;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
#clock,
|
||||
#battery,
|
||||
#cpu,
|
||||
#memory,
|
||||
#disk,
|
||||
#temperature,
|
||||
#backlight,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#wireplumber,
|
||||
#custom-media,
|
||||
#tray,
|
||||
#idle_inhibitor,
|
||||
#scratchpad,
|
||||
#power-profiles-daemon,
|
||||
#mpd {
|
||||
padding: 0 10px;
|
||||
color: #1e1e2e;
|
||||
}
|
||||
|
||||
#power {
|
||||
color: hotpink;
|
||||
}
|
||||
|
||||
#window,
|
||||
#workspaces {
|
||||
margin: 0 4px;
|
||||
}
|
||||
|
||||
/* If workspaces is the leftmost module, omit left margin */
|
||||
.modules-left>widget:first-child>#workspaces {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
/* If workspaces is the rightmost module, omit right margin */
|
||||
.modules-right>widget:last-child>#workspaces {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
#clock {
|
||||
background-color: #eba0ac;
|
||||
color: #1e1e2e;
|
||||
}
|
||||
|
||||
#battery {
|
||||
background-color: #89b4fa;
|
||||
color: #1e1e2e;
|
||||
padding-right: 14px;
|
||||
}
|
||||
|
||||
#battery.charging,
|
||||
#battery.plugged {
|
||||
color: #1e1e2e;
|
||||
background-color: #f9e2af;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
background-color: #ffffff;
|
||||
color: #000000;
|
||||
}
|
||||
}
|
||||
|
||||
/* Using steps() instead of linear as a timing function to limit cpu usage */
|
||||
#battery.critical:not(.charging) {
|
||||
background-color: #f53c3c;
|
||||
color: #ffffff;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: steps(12);
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
#power-profiles-daemon {
|
||||
padding-right: 15px;
|
||||
}
|
||||
|
||||
#power-profiles-daemon.performance {
|
||||
background-color: #f53c3c;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
#power-profiles-daemon.balanced {
|
||||
background-color: #2980b9;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
#power-profiles-daemon.power-saver {
|
||||
background-color: #2ecc71;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
label:focus {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
#cpu {
|
||||
padding-right: 14px;
|
||||
background-color: #f2cdcd;
|
||||
}
|
||||
|
||||
#memory {
|
||||
padding-right: 14px;
|
||||
background-color: #89dceb;
|
||||
}
|
||||
|
||||
#disk {
|
||||
background-color: #964B00;
|
||||
}
|
||||
|
||||
#backlight {
|
||||
background-color: #a6e3a1;
|
||||
padding-right: 14px;
|
||||
}
|
||||
|
||||
#network {
|
||||
padding-right: 18px;
|
||||
background-color: #89b4fa;
|
||||
}
|
||||
|
||||
#network.disconnected {
|
||||
background-color: #f53c3c;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
padding-right: 14px;
|
||||
background-color: #a6e3a1;
|
||||
}
|
||||
|
||||
#pulseaudio.muted {
|
||||
background-color: #f38ba8;
|
||||
}
|
||||
|
||||
#wireplumber {
|
||||
background-color: #fff0f5;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
#wireplumber.muted {
|
||||
background-color: #f53c3c;
|
||||
}
|
||||
|
||||
#custom-media {
|
||||
background-color: #66cc99;
|
||||
color: #2a5c45;
|
||||
min-width: 100px;
|
||||
}
|
||||
|
||||
#custom-media.custom-spotify {
|
||||
background-color: #66cc99;
|
||||
}
|
||||
|
||||
#custom-media.custom-vlc {
|
||||
background-color: #ffa000;
|
||||
}
|
||||
|
||||
#temperature {
|
||||
padding-right: 14px;
|
||||
background-color: #fab387;
|
||||
}
|
||||
|
||||
#temperature.critical {
|
||||
background-color: #f38ba8;
|
||||
}
|
||||
|
||||
#tray {
|
||||
background-color: transparent;
|
||||
border: 1px solid #f9e2af;
|
||||
}
|
||||
|
||||
#tray>.passive {
|
||||
-gtk-icon-effect: dim;
|
||||
}
|
||||
|
||||
#tray>.needs-attention {
|
||||
-gtk-icon-effect: highlight;
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
|
||||
#idle_inhibitor {
|
||||
background-color: #181825;
|
||||
padding: 3px 14px 3px 6px;
|
||||
color: #cdd6f4;
|
||||
}
|
||||
|
||||
#idle_inhibitor.activated {
|
||||
background-color: #181825;
|
||||
color: #f38ba8;
|
||||
}
|
||||
|
||||
#mpd {
|
||||
background-color: #66cc99;
|
||||
color: #2a5c45;
|
||||
}
|
||||
|
||||
#mpd.disconnected {
|
||||
background-color: #f53c3c;
|
||||
}
|
||||
|
||||
#mpd.stopped {
|
||||
background-color: #90b1b1;
|
||||
}
|
||||
|
||||
#mpd.paused {
|
||||
background-color: #51a37a;
|
||||
}
|
||||
|
||||
#language {
|
||||
background: #00b093;
|
||||
color: #740864;
|
||||
padding: 0 5px;
|
||||
margin: 0 5px;
|
||||
min-width: 16px;
|
||||
}
|
||||
|
||||
#keyboard-state {
|
||||
background: #97e1ad;
|
||||
color: #000000;
|
||||
padding: 0 0px;
|
||||
margin: 0 5px;
|
||||
min-width: 16px;
|
||||
}
|
||||
|
||||
#keyboard-state>label {
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
#keyboard-state>label.locked {
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
#scratchpad {
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
#scratchpad.empty {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#privacy {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#privacy-item {
|
||||
padding: 0 5px;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#privacy-item.screenshare {
|
||||
background-color: #cf5700;
|
||||
}
|
||||
|
||||
#privacy-item.audio-in {
|
||||
background-color: #1ca000;
|
||||
}
|
||||
|
||||
#privacy-item.audio-out {
|
||||
background-color: #0069d4;
|
||||
}
|
||||
0
.config/yadm/bootstrap##default
Executable file
0
.config/yadm/bootstrap##default
Executable file
38
.config/yadm/bootstrap##distro.arch
Executable file
38
.config/yadm/bootstrap##distro.arch
Executable file
@@ -0,0 +1,38 @@
|
||||
#!/bin/bash
|
||||
# Installs requirements for my arch setup.
|
||||
|
||||
set -e
|
||||
|
||||
sudo pacman -Suy archlinux-keyring
|
||||
sudo pacman -Suy
|
||||
|
||||
sudo pacman -S \
|
||||
neovim \
|
||||
fd \
|
||||
tmux \
|
||||
nvm \
|
||||
telegram-desktop \
|
||||
signal-desktop \
|
||||
alacritty \
|
||||
rofi \
|
||||
ttf-jetbrains-mono-nerd \
|
||||
less
|
||||
|
||||
if [ ! -d /home/wholteza/repos/yay ]; then
|
||||
cd ~
|
||||
mkdir -p repos
|
||||
sudo pacman -S --needed git base-devel
|
||||
git clone https://aur.archlinux.org/yay.git
|
||||
cd yay
|
||||
makepkg -si
|
||||
fi
|
||||
|
||||
yay -S \
|
||||
fnm \
|
||||
oh-my-posh
|
||||
|
||||
fnm install 24
|
||||
fnm use 24
|
||||
|
||||
npm install
|
||||
|
||||
112
.config/yadm/bootstrap##distro.ubuntu
Normal file
112
.config/yadm/bootstrap##distro.ubuntu
Normal file
@@ -0,0 +1,112 @@
|
||||
graphical=false
|
||||
for arg in "$@"; do
|
||||
if [[ $arg == "--graphical" ]]; then
|
||||
graphical=true
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
sudo apt update
|
||||
|
||||
sudo apt install \
|
||||
unzip \
|
||||
feh \
|
||||
wget \
|
||||
curl \
|
||||
neofetch \
|
||||
bashtop \
|
||||
htop \
|
||||
build-essential \
|
||||
cmake \
|
||||
pkg-config \
|
||||
python3 \
|
||||
wireguard \
|
||||
-y
|
||||
|
||||
# Dependencies for cargo
|
||||
sudo snap install rustup --classic
|
||||
rustup default stable
|
||||
rustup update
|
||||
# Oh my posh
|
||||
curl -s https://ohmyposh.dev/install.sh | bash -s
|
||||
# Node version manager
|
||||
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
|
||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
||||
nvm install 22
|
||||
nvm use 22
|
||||
npm install
|
||||
# Install nvim
|
||||
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz
|
||||
sudo rm -rf /opt/nvim
|
||||
sudo rm -rf /opt/nvim-linux-x86_64
|
||||
sudo tar -C /opt -xzf nvim-linux-x86_64.tar.gz
|
||||
|
||||
if $graphical; then
|
||||
sudo apt install \
|
||||
i3 \
|
||||
i3blocks \
|
||||
i3lock \
|
||||
suckless-tools \
|
||||
arandr \
|
||||
scrot \
|
||||
gnupg2 \
|
||||
gnupg-agent \
|
||||
dirmngr \
|
||||
cryptsetup \
|
||||
scdaemon \
|
||||
pcscd \
|
||||
secure-delete \
|
||||
hopenpgp-tools \
|
||||
yubikey-personalization \
|
||||
solaar \
|
||||
cifs-utils \
|
||||
rofi \
|
||||
brightnessctl \
|
||||
libfreetype6-dev \
|
||||
libfontconfig1-dev \
|
||||
libxcb-xfixes0-dev \
|
||||
libxkbcommon-dev \
|
||||
dunst \
|
||||
nvme-cli \
|
||||
-y
|
||||
|
||||
# Remove ibus since it causes issues with my custom keyboard layout
|
||||
sudo apt remove ibus
|
||||
|
||||
sudo systemctl enable bluetooth.service
|
||||
|
||||
# Used for scrot
|
||||
mkdir ~/Screenshots
|
||||
|
||||
sudo snap install caprine
|
||||
sudo snap install telegram-desktop
|
||||
sudo snap install discord
|
||||
sudo snap install firefox
|
||||
sudo snap install signal-desktop
|
||||
sudo snap install code --classic
|
||||
sudo snap install moonlight
|
||||
sudo snap install heroic
|
||||
sudo snap install freecad
|
||||
sudo snap install thunderbird
|
||||
|
||||
|
||||
# Cargo packages
|
||||
## Alacritty needs to be installed with cargo to get the version that supports toml configurations
|
||||
cargo install alacritty
|
||||
cargo install battop
|
||||
|
||||
# Access to brightness devices for brightnessctl
|
||||
sudo usermod -aG video wholteza
|
||||
|
||||
# Decrypt and move VPN wireguard key
|
||||
gpg --decrypt /home/wholteza/.config/wireguard/got58-got80.conf.gpg > /home/wholteza/.config/wireguard/got58-got80.conf && sudo mv /home/wholteza/.config/wireguard/got58-got80.conf /etc/wireguard/ovpn.conf
|
||||
|
||||
# Xorg configs
|
||||
sudo cp /home/wholteza/.config/X11/xorg.conf.d/* /etc/X11/xorg.conf.d/
|
||||
|
||||
|
||||
fi
|
||||
|
||||
|
||||
source ~/.bashrc
|
||||
echo Done!
|
||||
@@ -1,6 +1,5 @@
|
||||
#unbind C-b
|
||||
#set -g prefix C-t
|
||||
#bind C-t send-prefix
|
||||
set -g prefix C-b
|
||||
bind C-b send-prefix
|
||||
|
||||
set -g mouse on
|
||||
|
||||
|
||||
37
.xkb/symbols/colemak-se
Normal file
37
.xkb/symbols/colemak-se
Normal file
@@ -0,0 +1,37 @@
|
||||
// Colemak-SE symbols for xkb on X.org Server 7.x
|
||||
// 2018, github.com/motform/colemak-se. GPL3.
|
||||
// Only remaps keys that diff.
|
||||
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "colemak" {
|
||||
|
||||
include "se(basic)"
|
||||
|
||||
name[Group1]="Swedish (Colemak)";
|
||||
|
||||
// top row
|
||||
key <AD03> { [ f, F ] };
|
||||
key <AD04> { [ p, P ] };
|
||||
key <AD05> { [ g, G ] };
|
||||
key <AD06> { [ j, J ] };
|
||||
key <AD07> { [ l, L ] };
|
||||
key <AD08> { [ u, U ] };
|
||||
key <AD09> { [ y, Y ] };
|
||||
key <AD10> { [ odiaeresis, Odiaeresis ] };
|
||||
key <AD11> { [ aring, Aring ] };
|
||||
|
||||
// home row
|
||||
key <AC02> { [ r, R ] };
|
||||
key <AC03> { [ s, S ] };
|
||||
key <AC04> { [ t, T ] };
|
||||
key <AC05> { [ d, D ] };
|
||||
key <AC06> { [ h, H ] };
|
||||
key <AC07> { [ n, N ] };
|
||||
key <AC08> { [ e, E ] };
|
||||
key <AC09> { [ i, I ] };
|
||||
key <AC10> { [ o, O ] };
|
||||
|
||||
// bottom row
|
||||
key <AB06> { [ k, K ] };
|
||||
|
||||
};
|
||||
@@ -7,5 +7,9 @@
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC"
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@vue/typescript-plugin": "^3.2.2",
|
||||
"neovim": "^5.4.0"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user