Add macbook rules
This commit is contained in:
1
linux-macbook/Xresources
Normal file
1
linux-macbook/Xresources
Normal file
@@ -0,0 +1 @@
|
|||||||
|
Xft.dpi: 192
|
||||||
BIN
linux-macbook/dconf/user
Normal file
BIN
linux-macbook/dconf/user
Normal file
Binary file not shown.
15
linux-macbook/pam_environment
Normal file
15
linux-macbook/pam_environment
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
GTK_IM_MODULE DEFAULT=fcitx
|
||||||
|
QT_IM_MODULE DEFAULT=fcitx
|
||||||
|
XMODIFIERS DEFAULT=\@im=fcitx
|
||||||
|
|
||||||
|
GTK_THEME DEFAULT=Numix:dark
|
||||||
|
GTK2_RC_FILES DEFAULT=/usr/share/themes/Numix/gtk-2.0/gtkrc
|
||||||
|
|
||||||
|
BROWSER DEFAULT=google-chrome-stable
|
||||||
|
|
||||||
|
QT_STYLE_OVERRIDE DEFAULT=GTK+
|
||||||
|
QT_QPA_PLATFORMTHEME DEFAULT=gtk2
|
||||||
|
|
||||||
|
GDK_SCALE DEFAULT=2
|
||||||
|
GDK_DPI_SCALE DEFAULT=0.5
|
||||||
|
QT_AUTO_SCREEN_SCALE_FACTOR DEFAULT=1
|
||||||
202
linux-macbook/polybar/config
Normal file
202
linux-macbook/polybar/config
Normal file
@@ -0,0 +1,202 @@
|
|||||||
|
;==========================================================
|
||||||
|
;
|
||||||
|
;
|
||||||
|
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
|
||||||
|
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
|
||||||
|
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
|
||||||
|
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
|
||||||
|
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
|
||||||
|
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
|
||||||
|
;
|
||||||
|
;
|
||||||
|
; To learn more about how to configure Polybar
|
||||||
|
; go to https://github.com/polybar/polybar
|
||||||
|
;
|
||||||
|
; The README contains a lot of information
|
||||||
|
;
|
||||||
|
;==========================================================
|
||||||
|
|
||||||
|
[colors]
|
||||||
|
;background = ${xrdb:color0:#222}
|
||||||
|
background = #77222222
|
||||||
|
background-alt = #444
|
||||||
|
;foreground = ${xrdb:color7:#222}
|
||||||
|
foreground = #dfdfdf
|
||||||
|
foreground-alt = #555
|
||||||
|
primary = #ffb52a
|
||||||
|
secondary = #e60053
|
||||||
|
alert = #bd2c40
|
||||||
|
|
||||||
|
[bar/mybar]
|
||||||
|
;monitor = ${env:MONITOR:HDMI-1}
|
||||||
|
dpi = 192
|
||||||
|
width = 100%
|
||||||
|
height = 54
|
||||||
|
offset-x = 0%
|
||||||
|
offset-y = 0%
|
||||||
|
radius = 0.0
|
||||||
|
fixed-center = false
|
||||||
|
|
||||||
|
background = ${colors.background}
|
||||||
|
foreground = ${colors.foreground}
|
||||||
|
|
||||||
|
line-size = 3
|
||||||
|
line-color = #f00
|
||||||
|
|
||||||
|
border-size = 0
|
||||||
|
border-color = #00000000
|
||||||
|
|
||||||
|
padding-left = 0
|
||||||
|
padding-right = 0
|
||||||
|
|
||||||
|
module-margin-left = 1
|
||||||
|
module-margin-right = 2
|
||||||
|
|
||||||
|
font-0 = NanumBarunGothic:pixelsize=10;1
|
||||||
|
font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
|
||||||
|
font-2 = siji:pixelsize=10;1
|
||||||
|
|
||||||
|
modules-left = bspwm
|
||||||
|
modules-center = xwindow
|
||||||
|
modules-right = pulseaudio wlan eth date
|
||||||
|
|
||||||
|
tray-position = right
|
||||||
|
tray-padding = 2
|
||||||
|
;tray-detached = true
|
||||||
|
;tray-offset-x = -10
|
||||||
|
;tray-background = #0063ff
|
||||||
|
|
||||||
|
;wm-restack = bspwm
|
||||||
|
;wm-restack = i3
|
||||||
|
|
||||||
|
;override-redirect = true
|
||||||
|
|
||||||
|
;scroll-up = bspwm-desknext
|
||||||
|
;scroll-down = bspwm-deskprev
|
||||||
|
|
||||||
|
;scroll-up = i3wm-wsnext
|
||||||
|
;scroll-down = i3wm-wsprev
|
||||||
|
|
||||||
|
cursor-click = pointer
|
||||||
|
cursor-scroll = ns-resize
|
||||||
|
|
||||||
|
[module/xwindow]
|
||||||
|
type = internal/xwindow
|
||||||
|
label = %title:0:100:...%
|
||||||
|
|
||||||
|
[module/bspwm]
|
||||||
|
type = internal/bspwm
|
||||||
|
|
||||||
|
label-focused = %index%
|
||||||
|
label-focused-background = ${colors.background-alt}
|
||||||
|
label-focused-underline= ${colors.primary}
|
||||||
|
label-focused-padding = 2
|
||||||
|
|
||||||
|
label-occupied = %index%
|
||||||
|
label-occupied-padding = 2
|
||||||
|
|
||||||
|
label-urgent = %index%!
|
||||||
|
label-urgent-background = ${colors.alert}
|
||||||
|
label-urgent-padding = 2
|
||||||
|
|
||||||
|
label-empty = %index%
|
||||||
|
label-empty-foreground = ${colors.foreground-alt}
|
||||||
|
label-empty-padding = 2
|
||||||
|
|
||||||
|
; Separator in between workspaces
|
||||||
|
; label-separator = |
|
||||||
|
|
||||||
|
[module/wlan]
|
||||||
|
type = internal/network
|
||||||
|
interface = wlp2s0
|
||||||
|
interval = 3.0
|
||||||
|
|
||||||
|
format-connected = <ramp-signal> <label-connected>
|
||||||
|
format-connected-underline = #9f78e1
|
||||||
|
label-connected = %essid%
|
||||||
|
|
||||||
|
format-disconnected =
|
||||||
|
;format-disconnected = <label-disconnected>
|
||||||
|
;format-disconnected-underline = ${self.format-connected-underline}
|
||||||
|
;label-disconnected = %ifname% disconnected
|
||||||
|
;label-disconnected-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
ramp-signal-0 =
|
||||||
|
ramp-signal-1 =
|
||||||
|
ramp-signal-2 =
|
||||||
|
ramp-signal-3 =
|
||||||
|
ramp-signal-4 =
|
||||||
|
ramp-signal-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
[module/eth]
|
||||||
|
type = internal/network
|
||||||
|
interface = enp3s0
|
||||||
|
interval = 3.0
|
||||||
|
|
||||||
|
format-connected-underline = #55aa55
|
||||||
|
format-connected-prefix = " "
|
||||||
|
format-connected-prefix-foreground = ${colors.foreground-alt}
|
||||||
|
label-connected = %local_ip%
|
||||||
|
|
||||||
|
format-disconnected =
|
||||||
|
;format-disconnected = <label-disconnected>
|
||||||
|
;format-disconnected-underline = ${self.format-connected-underline}
|
||||||
|
;label-disconnected = %ifname% disconnected
|
||||||
|
;label-disconnected-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
[module/date]
|
||||||
|
type = internal/date
|
||||||
|
interval = 5
|
||||||
|
|
||||||
|
date =
|
||||||
|
date-alt = " %Y-%m-%d"
|
||||||
|
|
||||||
|
time = %H:%M
|
||||||
|
time-alt = %H:%M:%S
|
||||||
|
|
||||||
|
format-prefix =
|
||||||
|
format-prefix-foreground = ${colors.foreground-alt}
|
||||||
|
format-underline = #0a6cf5
|
||||||
|
|
||||||
|
label = %date% %time%
|
||||||
|
|
||||||
|
[module/pulseaudio]
|
||||||
|
type = internal/pulseaudio
|
||||||
|
|
||||||
|
format-volume = <label-volume> <bar-volume>
|
||||||
|
label-volume = VOL %percentage%%
|
||||||
|
label-volume-foreground = ${root.foreground}
|
||||||
|
|
||||||
|
label-muted = 🔇 muted
|
||||||
|
label-muted-foreground = #666
|
||||||
|
|
||||||
|
bar-volume-width = 10
|
||||||
|
bar-volume-foreground-0 = #55aa55
|
||||||
|
bar-volume-foreground-1 = #55aa55
|
||||||
|
bar-volume-foreground-2 = #55aa55
|
||||||
|
bar-volume-foreground-3 = #55aa55
|
||||||
|
bar-volume-foreground-4 = #55aa55
|
||||||
|
bar-volume-foreground-5 = #f5a70a
|
||||||
|
bar-volume-foreground-6 = #ff5555
|
||||||
|
bar-volume-gradient = false
|
||||||
|
bar-volume-indicator = |
|
||||||
|
bar-volume-indicator-font = 2
|
||||||
|
bar-volume-fill = ─
|
||||||
|
bar-volume-fill-font = 2
|
||||||
|
bar-volume-empty = ─
|
||||||
|
bar-volume-empty-font = 2
|
||||||
|
bar-volume-empty-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
[settings]
|
||||||
|
screenchange-reload = true
|
||||||
|
;compositing-background = xor
|
||||||
|
;compositing-background = screen
|
||||||
|
;compositing-foreground = source
|
||||||
|
;compositing-border = over
|
||||||
|
;pseudo-transparency = false
|
||||||
|
|
||||||
|
[global/wm]
|
||||||
|
margin-top = 5
|
||||||
|
margin-bottom = 5
|
||||||
|
|
||||||
|
; vim:ft=dosini
|
||||||
9
linux-macbook/rofi/config.rasi
Normal file
9
linux-macbook/rofi/config.rasi
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
configuration {
|
||||||
|
font: "TerminessTTF Nerd Font 14";
|
||||||
|
show-icons: true;
|
||||||
|
icon-theme: "Numix-Circle";
|
||||||
|
combi-modi: "window,drun,ssh";
|
||||||
|
theme: "numix";
|
||||||
|
lines: 5;
|
||||||
|
dpi: 192;
|
||||||
|
}
|
||||||
144
linux-macbook/rofi/numix.rasi
Normal file
144
linux-macbook/rofi/numix.rasi
Normal file
@@ -0,0 +1,144 @@
|
|||||||
|
/**
|
||||||
|
* ROFI Color theme
|
||||||
|
* User: JT (adpated from lb by Qball)
|
||||||
|
* Copyright: Dave Davenport
|
||||||
|
*/
|
||||||
|
|
||||||
|
* {
|
||||||
|
selected-normal-foreground: @foreground;
|
||||||
|
foreground: #FFFFFF;
|
||||||
|
normal-foreground: @foreground;
|
||||||
|
alternate-normal-background: rgba ( 255, 255, 255, 7 % );
|
||||||
|
red: rgba ( 220, 50, 47, 100 % );
|
||||||
|
selected-urgent-foreground: rgba ( 51, 51, 51, 100 % );
|
||||||
|
blue: rgba ( 38, 139, 210, 100 % );
|
||||||
|
urgent-foreground: rgba ( 255, 153, 153, 100 % );
|
||||||
|
alternate-urgent-background: rgba ( 255, 255, 255, 7 % );
|
||||||
|
active-foreground: @bordercolor;
|
||||||
|
lightbg: rgba ( 238, 232, 213, 100 % );
|
||||||
|
selected-active-foreground: @foreground;
|
||||||
|
alternate-active-background: rgba ( 255, 255, 255, 7 % );
|
||||||
|
background: rgba ( 21, 21, 21, 40 % );
|
||||||
|
bordercolor: rgba ( 235, 86, 77, 100 % );
|
||||||
|
alternate-normal-foreground: @foreground;
|
||||||
|
normal-background: rgba ( 0, 0, 0, 0 % );
|
||||||
|
lightfg: rgba ( 88, 104, 117, 100 % );
|
||||||
|
selected-normal-background: @bordercolor;
|
||||||
|
border-color: @bordercolor;
|
||||||
|
spacing: 2;
|
||||||
|
separatorcolor: @bordercolor;
|
||||||
|
urgent-background: rgba ( 0, 0, 0, 0 % );
|
||||||
|
selected-urgent-background: rgba ( 255, 153, 153, 100 % );
|
||||||
|
alternate-urgent-foreground: @urgent-foreground;
|
||||||
|
background-color: rgba ( 0, 0, 0, 0 % );
|
||||||
|
alternate-active-foreground: @active-foreground;
|
||||||
|
active-background: rgba ( 0, 0, 0, 0 % );
|
||||||
|
selected-active-background: @bordercolor;
|
||||||
|
}
|
||||||
|
#window {
|
||||||
|
background-color: @background;
|
||||||
|
border: 1;
|
||||||
|
border-radius: 10;
|
||||||
|
padding: 5;
|
||||||
|
}
|
||||||
|
#mainbox {
|
||||||
|
border: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
#message {
|
||||||
|
border: 1px dash 0px 0px ;
|
||||||
|
border-color: @separatorcolor;
|
||||||
|
padding: 1px ;
|
||||||
|
}
|
||||||
|
#textbox {
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
#listview {
|
||||||
|
fixed-height: 0;
|
||||||
|
border: 2px solid 0px 0px ;
|
||||||
|
border-color: @separatorcolor;
|
||||||
|
spacing: 2px ;
|
||||||
|
scrollbar: true;
|
||||||
|
padding: 2px 0px 0px ;
|
||||||
|
}
|
||||||
|
#element {
|
||||||
|
border: 0;
|
||||||
|
padding: 10px 1px;
|
||||||
|
}
|
||||||
|
#element.normal.normal {
|
||||||
|
background-color: @normal-background;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
}
|
||||||
|
#element.normal.urgent {
|
||||||
|
background-color: @urgent-background;
|
||||||
|
text-color: @urgent-foreground;
|
||||||
|
}
|
||||||
|
#element.normal.active {
|
||||||
|
background-color: @active-background;
|
||||||
|
text-color: @active-foreground;
|
||||||
|
}
|
||||||
|
#element.selected.normal {
|
||||||
|
background-color: @selected-normal-background;
|
||||||
|
text-color: @selected-normal-foreground;
|
||||||
|
}
|
||||||
|
#element.selected.urgent {
|
||||||
|
background-color: @selected-urgent-background;
|
||||||
|
text-color: @selected-urgent-foreground;
|
||||||
|
}
|
||||||
|
#element.selected.active {
|
||||||
|
background-color: @selected-active-background;
|
||||||
|
text-color: @selected-active-foreground;
|
||||||
|
}
|
||||||
|
#element.alternate.normal {
|
||||||
|
background-color: @alternate-normal-background;
|
||||||
|
text-color: @alternate-normal-foreground;
|
||||||
|
}
|
||||||
|
#element.alternate.urgent {
|
||||||
|
background-color: @alternate-urgent-background;
|
||||||
|
text-color: @alternate-urgent-foreground;
|
||||||
|
}
|
||||||
|
#element.alternate.active {
|
||||||
|
background-color: @alternate-active-background;
|
||||||
|
text-color: @alternate-active-foreground;
|
||||||
|
}
|
||||||
|
#scrollbar {
|
||||||
|
width: 4px ;
|
||||||
|
border: 0;
|
||||||
|
handle-width: 8px ;
|
||||||
|
padding: 0;
|
||||||
|
handle-color: @bordercolor;
|
||||||
|
}
|
||||||
|
#sidebar {
|
||||||
|
border: 2px dash 0px 0px ;
|
||||||
|
border-color: @separatorcolor;
|
||||||
|
}
|
||||||
|
#button.selected {
|
||||||
|
background-color: @selected-normal-background;
|
||||||
|
text-color: @selected-normal-foreground;
|
||||||
|
}
|
||||||
|
#inputbar {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
padding: 1px ;
|
||||||
|
}
|
||||||
|
#case-indicator {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
}
|
||||||
|
#entry {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
}
|
||||||
|
#prompt {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
}
|
||||||
|
#inputbar {
|
||||||
|
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
|
||||||
|
}
|
||||||
|
#textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: ":";
|
||||||
|
margin: 0px 0.3em 0em 0em ;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
}
|
||||||
149
linux-macbook/sxhkd/sxhkdrc
Normal file
149
linux-macbook/sxhkd/sxhkdrc
Normal file
@@ -0,0 +1,149 @@
|
|||||||
|
#
|
||||||
|
# wm independent hotkeys
|
||||||
|
#
|
||||||
|
|
||||||
|
# terminal emulator
|
||||||
|
super + Return
|
||||||
|
alacritty
|
||||||
|
|
||||||
|
# program launcher
|
||||||
|
super + @space
|
||||||
|
rofi -show combi
|
||||||
|
|
||||||
|
# make sxhkd reload its configuration files:
|
||||||
|
super + Escape
|
||||||
|
pkill -USR1 -x sxhkd
|
||||||
|
|
||||||
|
# screen capture
|
||||||
|
super + ctrl + shift + {3,4}
|
||||||
|
maim -u { ~/Pictures/screenshot.png ,-s | xclip -selection clipboard -t image/png }
|
||||||
|
|
||||||
|
#
|
||||||
|
# bspwm hotkeys
|
||||||
|
#
|
||||||
|
|
||||||
|
# quit/restart bspwm
|
||||||
|
super + alt + {q,r}
|
||||||
|
bspc {quit,wm -r}
|
||||||
|
|
||||||
|
# close and kill
|
||||||
|
super + {_,shift + }w
|
||||||
|
bspc node -{c,k}
|
||||||
|
|
||||||
|
# alternate between the tiled and monocle layout
|
||||||
|
super + m
|
||||||
|
bspc desktop -l next
|
||||||
|
|
||||||
|
# send the newest marked node to the newest preselected node
|
||||||
|
super + y
|
||||||
|
bspc node newest.marked.local -n newest.!automatic.local
|
||||||
|
|
||||||
|
# swap the current node and the biggest node
|
||||||
|
super + g
|
||||||
|
bspc node -s biggest
|
||||||
|
|
||||||
|
#
|
||||||
|
# state/flags
|
||||||
|
#
|
||||||
|
|
||||||
|
# set the window state
|
||||||
|
super + {t,shift + t, f,shift + f}
|
||||||
|
bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
|
||||||
|
|
||||||
|
super + s
|
||||||
|
bspc node -g sticky
|
||||||
|
|
||||||
|
super + shift + p
|
||||||
|
bspc node --state \~pseudo_tiled
|
||||||
|
|
||||||
|
#
|
||||||
|
# focus/swap
|
||||||
|
#
|
||||||
|
|
||||||
|
# focus the node in the given direction
|
||||||
|
super + {_,shift + }{h,j,k,l}
|
||||||
|
bspc node -{f,s} {west,south,north,east}
|
||||||
|
|
||||||
|
# focus the node for the given path jump
|
||||||
|
# super + {p,b,comma,period}
|
||||||
|
# bspc node -f @{parent,brother,first,second}
|
||||||
|
|
||||||
|
# focus the next/previous node in the current desktop
|
||||||
|
super + {_,shift + }c
|
||||||
|
bspc node -f {next,prev}.local
|
||||||
|
|
||||||
|
# focus the next/previous desktop in the current monitor
|
||||||
|
super + bracket{left,right}
|
||||||
|
bspc desktop -f {prev,next}.local
|
||||||
|
|
||||||
|
# focus the last node/desktop
|
||||||
|
super + {grave,Tab}
|
||||||
|
bspc {node,desktop} -f last
|
||||||
|
|
||||||
|
# focus the older or newer node in the focus history
|
||||||
|
super + {o,i}
|
||||||
|
bspc wm -h off; \
|
||||||
|
bspc node {older,newer} -f; \
|
||||||
|
bspc wm -h on
|
||||||
|
|
||||||
|
# focus or send to the given desktop
|
||||||
|
super + {_,shift + }{1-9,0}
|
||||||
|
bspc {desktop -f,node -d} '^{1-9,10}'
|
||||||
|
|
||||||
|
#
|
||||||
|
# preselect
|
||||||
|
#
|
||||||
|
|
||||||
|
# preselect the direction
|
||||||
|
super + ctrl + {h,j,k,l}
|
||||||
|
bspc node -p {west,south,north,east}
|
||||||
|
|
||||||
|
# preselect the ratio
|
||||||
|
super + ctrl + {1-9}
|
||||||
|
bspc node -o 0.{1-9}
|
||||||
|
|
||||||
|
# cancel the preselection for the focused node
|
||||||
|
super + ctrl + space
|
||||||
|
bspc node -p cancel
|
||||||
|
|
||||||
|
# cancel the preselection for the focused desktop
|
||||||
|
super + ctrl + shift + space
|
||||||
|
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
|
||||||
|
|
||||||
|
#
|
||||||
|
# move/resize
|
||||||
|
#
|
||||||
|
|
||||||
|
# expand a window by moving one of its side outward
|
||||||
|
super + alt + {h,j,k,l}
|
||||||
|
bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
|
||||||
|
|
||||||
|
# contract a window by moving one of its side inward
|
||||||
|
super + alt + shift + {h,j,k,l}
|
||||||
|
bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
|
||||||
|
|
||||||
|
# move a floating window
|
||||||
|
super + {Left,Down,Up,Right}
|
||||||
|
bspc node -v {-20 0,0 20,0 -20,20 0}
|
||||||
|
|
||||||
|
# toggle pip mode
|
||||||
|
super + p
|
||||||
|
bspc node -g sticky; \
|
||||||
|
bspc node --state \~floating; \
|
||||||
|
xdotool getactivewindow windowsize 640 360 windowmove $(expr 1920 - 640 - 45) $(expr 1080 - 360 - 30)
|
||||||
|
|
||||||
|
|
||||||
|
XF86AudioMute
|
||||||
|
pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||||
|
|
||||||
|
XF86AudioLowerVolume
|
||||||
|
pactl set-sink-volume @DEFAULT_SINK@ -5%
|
||||||
|
|
||||||
|
XF86AudioRaiseVolume
|
||||||
|
pactl set-sink-volume @DEFAULT_SINK@ +5%
|
||||||
|
|
||||||
|
XF86MonBrightnessUp
|
||||||
|
xbacklight -ctrl gmux_backlight -inc 5
|
||||||
|
|
||||||
|
XF86MonBrightnessDown
|
||||||
|
xbacklight -ctrl gmux_backlight -dec 5
|
||||||
@@ -78,5 +78,5 @@
|
|||||||
"editor.formatOnSave": true,
|
"editor.formatOnSave": true,
|
||||||
"vim.enableNeovim": true,
|
"vim.enableNeovim": true,
|
||||||
"vim.useCtrlKeys": false,
|
"vim.useCtrlKeys": false,
|
||||||
"editor.fontSize": 16
|
"editor.fontSize": 14
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ fcitx5 &
|
|||||||
dunst &
|
dunst &
|
||||||
sxhkd &
|
sxhkd &
|
||||||
dex -a
|
dex -a
|
||||||
|
libinput-gestures-setup restart
|
||||||
|
|
||||||
xinput set-prop 'Logitech G102 LIGHTSYNC Gaming Mouse' 'libinput Natural Scrolling Enabled' 1
|
xinput set-prop 'Logitech G102 LIGHTSYNC Gaming Mouse' 'libinput Natural Scrolling Enabled' 1
|
||||||
xinput set-prop 'Logitech G102 LIGHTSYNC Gaming Mouse' 'libinput Accel Speed' -0.5
|
xinput set-prop 'Logitech G102 LIGHTSYNC Gaming Mouse' 'libinput Accel Speed' -0.5
|
||||||
|
|||||||
61
mapping.ts
61
mapping.ts
@@ -1,7 +1,13 @@
|
|||||||
import { dot, DotOption } from "./scripts/dot.ts";
|
import { dot, DotOption } from "./scripts/dot.ts";
|
||||||
|
|
||||||
|
const common: DotOption = {
|
||||||
|
link: {
|
||||||
|
gitconfig: ".gitconfig",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
const linux: DotOption = {
|
const linux: DotOption = {
|
||||||
hostname: ["MBP", "office2"],
|
hostname: ["office2"],
|
||||||
install: [
|
install: [
|
||||||
"sudo pacman -S git",
|
"sudo pacman -S git",
|
||||||
`bash -c "cd && git clone https://aur.archlinux.org/yay.git && cd yay && makepkg -si && cd .. && rm -rf yay"`,
|
`bash -c "cd && git clone https://aur.archlinux.org/yay.git && cd yay && makepkg -si && cd .. && rm -rf yay"`,
|
||||||
@@ -16,28 +22,43 @@ const linux: DotOption = {
|
|||||||
fcitx5 fcitx5-qt fcitx5-gtk fcitx5-hangul fcitx5-anthy
|
fcitx5 fcitx5-qt fcitx5-gtk fcitx5-hangul fcitx5-anthy
|
||||||
kcm-fcitx5 numix-gtk-theme-git numix-circle-icon-theme-git`,
|
kcm-fcitx5 numix-gtk-theme-git numix-circle-icon-theme-git`,
|
||||||
],
|
],
|
||||||
link: [
|
link: {
|
||||||
["linux/alacritty", ".config/alacritty"],
|
...common.link,
|
||||||
["linux/bin/ufetch", ".local/bin/ufetch"],
|
"linux/alacritty": ".config/alacritty",
|
||||||
["linux/bspwm", ".config/bspwm"],
|
"linux/bin/ufetch": ".local/bin/ufetch",
|
||||||
["linux/Code/User/settings.json", ".config/Code/User/settings.json"],
|
"linux/bspwm": ".config/bspwm",
|
||||||
["linux/dunst", ".config/dunst"],
|
"linux/Code/User/settings.json": ".config/Code/User/settings.json",
|
||||||
["linux/omz", ".config/omz"],
|
"linux/dunst": ".config/dunst",
|
||||||
["linux/picom", ".config/picom"],
|
"linux/omz": ".config/omz",
|
||||||
["linux/polybar", ".config/polybar"],
|
"linux/picom": ".config/picom",
|
||||||
["linux/rofi", ".config/rofi"],
|
"linux/polybar": ".config/polybar",
|
||||||
["linux/sxhkd", ".config/sxhkd"],
|
"linux/rofi": ".config/rofi",
|
||||||
["linux/fcitx5", ".config/fcitx5"],
|
"linux/sxhkd": ".config/sxhkd",
|
||||||
["linux/dconf", ".config/dconf"],
|
"linux/fcitx5": ".config/fcitx5",
|
||||||
["linux/bakamplayer.ini", ".config/bakamplayer.ini"],
|
"linux/dconf": ".config/dconf",
|
||||||
["linux/xinitrc", ".xinitrc"],
|
"linux/bakamplayer.ini": ".config/bakamplayer.ini",
|
||||||
["linux/pam_environment", ".pam_environment"],
|
"linux/xinitrc": ".xinitrc",
|
||||||
["linux/zshrc", ".zshrc"],
|
"linux/pam_environment": ".pam_environment",
|
||||||
],
|
"linux/zshrc": ".zshrc",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
const linuxMacbook: DotOption = {
|
||||||
|
...linux,
|
||||||
|
hostname: "MBP",
|
||||||
|
link: {
|
||||||
|
...linux.link,
|
||||||
|
"linux-macbook/dconf": ".config/dconf",
|
||||||
|
"linux-macbook/polybar": ".config/polybar",
|
||||||
|
"linux-macbook/rofi": ".config/rofi",
|
||||||
|
"linux-macbook/sxhkd": ".config/sxhkd",
|
||||||
|
"linux-macbook/pam_environment": ".pam_environment",
|
||||||
|
"linux-macbook/Xresources": ".Xresources",
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await dot(Deno.args, [linux]);
|
await dot(Deno.args, [linux, linuxMacbook]);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err.message);
|
console.log(err.message);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import {
|
|||||||
export interface DotOption {
|
export interface DotOption {
|
||||||
hostname?: string | string[];
|
hostname?: string | string[];
|
||||||
install?: string[];
|
install?: string[];
|
||||||
link?: [string, string][];
|
link?: Record<string, string>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function dot(args: string[], options: DotOption[]) {
|
export async function dot(args: string[], options: DotOption[]) {
|
||||||
@@ -30,17 +30,20 @@ export async function dot(args: string[], options: DotOption[]) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (flags._[0] === "link" && target.link) {
|
} else if (flags._[0] === "link" && target.link) {
|
||||||
for (const link of target.link) {
|
for (const from in target.link) {
|
||||||
try {
|
try {
|
||||||
const path = `${Deno.env.get("HOME")}/${link[1]}`;
|
const path = `${Deno.env.get("HOME")}/${target.link[from]}`;
|
||||||
if (existsSync(path)) {
|
if (existsSync(path)) {
|
||||||
console.log(`${path} does exist. move to ${path}.bak`);
|
let i = 0;
|
||||||
moveSync(path, `${path}.bak`);
|
let mvPath = `${path}.bak`;
|
||||||
|
while (existsSync(mvPath)) mvPath = `${path}.${++i}.bak`;
|
||||||
|
console.log(`${path} does exist. move to ${mvPath}`);
|
||||||
|
moveSync(path, mvPath);
|
||||||
}
|
}
|
||||||
await ensureSymlink(Deno.realPathSync(link[0]), path);
|
await ensureSymlink(Deno.realPathSync(from), path);
|
||||||
console.log(`Link: ${path}`);
|
console.log(`Link: ${path}`);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
throw Error(`${err.message}\nerror link: ${JSON.stringify(link)}`);
|
throw Error(`${err.message}\nerror link: ${JSON.stringify(from)}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user