junikimm717
3 years ago
11 changed files with 502 additions and 4 deletions
-
7configuration.nix
-
28dotfiles/bspwm/bspwmrc
-
204dotfiles/bspwm/polybar/config
-
19dotfiles/bspwm/polybar/launch.sh
-
142dotfiles/bspwm/sxhkdrc
-
14dotfiles/bspwm/xinitrc
-
0dotfiles/cwm/cwm.sh
-
0dotfiles/cwm/cwmrc
-
2dotfiles/cwm/xinitrc
-
84rices/bspwm.nix
-
6rices/cwm.nix
@ -0,0 +1,28 @@ |
|||||
|
#! /bin/sh |
||||
|
|
||||
|
killall picom |
||||
|
picom & |
||||
|
nitrogen --restore & |
||||
|
~/.config/polybar/launch.bspwm.sh |
||||
|
|
||||
|
|
||||
|
pgrep -x sxhkd > /dev/null || sxhkd & |
||||
|
|
||||
|
#bspc monitor -d I II III IV V VI VII VIII IX X |
||||
|
bspc monitor -d 1 2 3 4 5 6 |
||||
|
|
||||
|
bspc config border_width 1 |
||||
|
bspc config window_gap 20 |
||||
|
|
||||
|
bspc config top_padding 25 |
||||
|
bspc config split_ratio 0.50 |
||||
|
bspc config borderless_monocle true |
||||
|
bspc config gapless_monocle true |
||||
|
|
||||
|
bspc rule -a Gimp desktop='^8' state=floating follow=on |
||||
|
bspc rule -a Spotify desktop='^6' |
||||
|
|
||||
|
# only add if nothing is there |
||||
|
#if test "$(mpc playlist | wc -l)" -eq 0 ; then |
||||
|
# mpc ls | mpc add |
||||
|
#fi |
@ -0,0 +1,204 @@ |
|||||
|
;========================================================== |
||||
|
; |
||||
|
; |
||||
|
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗ |
||||
|
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗ |
||||
|
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝ |
||||
|
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗ |
||||
|
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║ |
||||
|
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ |
||||
|
; |
||||
|
; |
||||
|
; To learn more about how to configure Polybar |
||||
|
; go to https://github.com/polybar/polybar |
||||
|
; |
||||
|
; The README contains a lot of information |
||||
|
; |
||||
|
;========================================================== |
||||
|
|
||||
|
[colors] |
||||
|
background = #222 |
||||
|
background-alt = #444 |
||||
|
;foreground = ${xrdb:color7:#222} |
||||
|
foreground = #dfdfdf |
||||
|
foreground-alt = #555 |
||||
|
primary = #cec0af |
||||
|
secondary = #242e35 |
||||
|
alert = #bd2c40 |
||||
|
black = #000 |
||||
|
white = #fff |
||||
|
grey = #aaa |
||||
|
darkgrey = #555 |
||||
|
red = #f00 |
||||
|
green = #0f0 |
||||
|
blue = #2d02d0 |
||||
|
yellow = #d2b55b |
||||
|
|
||||
|
[bar/main] |
||||
|
modules-center = date |
||||
|
font-0 = Jetbrains Mono:style=Regular |
||||
|
height = 30 |
||||
|
width = 320 |
||||
|
offset-x = 15 |
||||
|
|
||||
|
offset-y = 15 |
||||
|
background = ${colors.primary} |
||||
|
radius=5 |
||||
|
override-redirect=true |
||||
|
|
||||
|
[module/date] |
||||
|
type = internal/date |
||||
|
date = "%h-%d-20%y %r" |
||||
|
label-foreground = #000000 |
||||
|
|
||||
|
[bar/pulse] |
||||
|
modules-center = pulseaudio |
||||
|
height = 30 |
||||
|
width = 200 |
||||
|
offset-y = 15 |
||||
|
#offset-x = 1300 |
||||
|
offset-x = 350 |
||||
|
radius=5 |
||||
|
override-redirect=true |
||||
|
background = ${colors.secondary} |
||||
|
foreground = #fff |
||||
|
font-0 = Jetbrains Mono:style=Regular |
||||
|
font-1 = FontAwesome:style=Regular |
||||
|
font-2 = "Iosevka:pixelsize=12;0" |
||||
|
font-3 = RobotoMono Nerd Font:pixelsize=12;1 |
||||
|
|
||||
|
[bar/bspwm] |
||||
|
modules-center = bspwm |
||||
|
height = 30 |
||||
|
width = 350 |
||||
|
offset-y = 15 |
||||
|
offset-x = 565 |
||||
|
radius=5 |
||||
|
background = ${colors.secondary} |
||||
|
font-0 = Jetbrains Mono:style=Regular |
||||
|
font-1 = "Iosevka:pixelsize=12;0" |
||||
|
|
||||
|
[module/bspwm] |
||||
|
type=internal/bspwm |
||||
|
#label-focused = %index% |
||||
|
label-focused = ● |
||||
|
#label-focused-background = ${colors.blue} |
||||
|
label-focused-underline= #ffb52a |
||||
|
label-focused-padding = 2 |
||||
|
#label-occupied = %index% |
||||
|
label-occupied = ○ |
||||
|
label-occupied-padding = 2 |
||||
|
#label-urgent = %index%! |
||||
|
label-urgent = ○ |
||||
|
label-urgent-background = ${colors.alert} |
||||
|
label-urgent-padding = 2 |
||||
|
#label-empty = %index% |
||||
|
label-empty = ○ |
||||
|
label-empty-foreground = ${colors.foreground-alt} |
||||
|
label-empty-padding = 2 |
||||
|
|
||||
|
|
||||
|
[module/xworkspaces] |
||||
|
type = internal/xworkspaces |
||||
|
|
||||
|
label-active = %name% |
||||
|
label-active-background = ${colors.background-alt} |
||||
|
label-active-underline= ${colors.primary} |
||||
|
label-active-padding = 1 |
||||
|
|
||||
|
label-occupied = %name% |
||||
|
label-occupied-padding = 1 |
||||
|
|
||||
|
label-urgent = %name% |
||||
|
label-urgent-background = ${colors.alert} |
||||
|
label-urgent-padding = 1 |
||||
|
|
||||
|
label-empty = %name% |
||||
|
label-empty-foreground = ${colors.disabled} |
||||
|
label-empty-padding = 1 |
||||
|
|
||||
|
[module/xwindow] |
||||
|
type = internal/xwindow |
||||
|
label = %title:0:60:...% |
||||
|
|
||||
|
[module/filesystem] |
||||
|
type = internal/fs |
||||
|
interval = 25 |
||||
|
|
||||
|
mount-0 = / |
||||
|
|
||||
|
label-mounted = %{F#F0C674}%mountpoint%%{F-} %percentage_used%% |
||||
|
|
||||
|
label-unmounted = %mountpoint% not mounted |
||||
|
label-unmounted-foreground = ${colors.disabled} |
||||
|
|
||||
|
[module/pulseaudio] |
||||
|
type = internal/pulseaudio |
||||
|
|
||||
|
format-volume-prefix = "VOL " |
||||
|
format-volume-prefix-foreground = ${colors.primary} |
||||
|
format-volume = <label-volume> |
||||
|
|
||||
|
label-volume = %percentage%% |
||||
|
|
||||
|
label-muted = muted |
||||
|
label-muted-foreground = ${colors.disabled} |
||||
|
|
||||
|
[module/xkeyboard] |
||||
|
type = internal/xkeyboard |
||||
|
blacklist-0 = num lock |
||||
|
|
||||
|
label-layout = %layout% |
||||
|
label-layout-foreground = ${colors.primary} |
||||
|
|
||||
|
label-indicator-padding = 2 |
||||
|
label-indicator-margin = 1 |
||||
|
label-indicator-foreground = ${colors.background} |
||||
|
label-indicator-background = ${colors.secondary} |
||||
|
|
||||
|
[module/memory] |
||||
|
type = internal/memory |
||||
|
interval = 2 |
||||
|
format-prefix = "RAM " |
||||
|
format-prefix-foreground = ${colors.primary} |
||||
|
label = %percentage_used:2%% |
||||
|
|
||||
|
[module/cpu] |
||||
|
type = internal/cpu |
||||
|
interval = 2 |
||||
|
format-prefix = "CPU " |
||||
|
format-prefix-foreground = ${colors.primary} |
||||
|
label = %percentage:2%% |
||||
|
|
||||
|
[network-base] |
||||
|
type = internal/network |
||||
|
interval = 5 |
||||
|
format-connected = <label-connected> |
||||
|
format-disconnected = <label-disconnected> |
||||
|
label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected |
||||
|
|
||||
|
[module/wlan] |
||||
|
inherit = network-base |
||||
|
interface-type = wireless |
||||
|
label-connected = %{F#F0C674}%ifname%%{F-} %essid% %local_ip% |
||||
|
|
||||
|
[module/eth] |
||||
|
inherit = network-base |
||||
|
interface-type = wired |
||||
|
label-connected = %{F#F0C674}%ifname%%{F-} %local_ip% |
||||
|
|
||||
|
#[module/date] |
||||
|
#type = internal/date |
||||
|
#interval = 1 |
||||
|
|
||||
|
#date = %H:%M |
||||
|
#date-alt = %Y-%m-%d %H:%M:%S |
||||
|
|
||||
|
#label = %date% |
||||
|
#label-foreground = ${colors.primary} |
||||
|
|
||||
|
[settings] |
||||
|
screenchange-reload = true |
||||
|
pseudo-transparency = true |
||||
|
|
||||
|
; vim:ft=dosini |
@ -0,0 +1,19 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
# Terminate already running bar instances |
||||
|
pkill polybar |
||||
|
|
||||
|
# Wait until the processes have been shut down |
||||
|
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done |
||||
|
|
||||
|
# Launch Polybar, using default config location ~/.config/polybar/config |
||||
|
|
||||
|
newver() { |
||||
|
polybar main & sleep 0.5 |
||||
|
polybar pulse & |
||||
|
polybar bspwm & |
||||
|
} |
||||
|
|
||||
|
newver |
||||
|
|
||||
|
echo "Polybar launched..." |
@ -0,0 +1,142 @@ |
|||||
|
# |
||||
|
# wm independent hotkeys |
||||
|
# |
||||
|
|
||||
|
# terminal emulator |
||||
|
super + Return |
||||
|
kitty |
||||
|
# browser |
||||
|
super + shift + w |
||||
|
brave |
||||
|
|
||||
|
# program launcher |
||||
|
super + {p,space} |
||||
|
dmenu_run -fn "Fira Code:size=14" |
||||
|
|
||||
|
# make sxhkd reload its configuration files: |
||||
|
super + Escape |
||||
|
pkill -USR1 -x sxhkd |
||||
|
|
||||
|
# |
||||
|
# bspwm hotkeys |
||||
|
# |
||||
|
|
||||
|
# quit/restart bspwm |
||||
|
super + shift + r |
||||
|
bspc wm -r |
||||
|
|
||||
|
super + shift + p |
||||
|
~/.config/polybar/launch.bspwm.sh |
||||
|
|
||||
|
super + shift + e |
||||
|
~/scripts/bin/quit.sh |
||||
|
|
||||
|
# close and kill |
||||
|
|
||||
|
super + shift + q |
||||
|
bspc node -c |
||||
|
|
||||
|
# 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 window |
||||
|
super + g |
||||
|
bspc node -s biggest.window |
||||
|
|
||||
|
# |
||||
|
# state/flags |
||||
|
# |
||||
|
|
||||
|
# set the window state |
||||
|
super + {t,shift + t,s,f} |
||||
|
bspc node -t {tiled,pseudo_tiled,floating,fullscreen} |
||||
|
|
||||
|
# set the node flags |
||||
|
super + ctrl + {m,x,y,z} |
||||
|
bspc node -g {marked,locked,sticky,private} |
||||
|
|
||||
|
# |
||||
|
# 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 window in the current desktop |
||||
|
super + {_,shift + }c |
||||
|
bspc node -f {next,prev}.local.!hidden.window |
||||
|
|
||||
|
# 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} |
||||
|
|
||||
|
# old alt keybindings |
||||
|
# |
||||
|
|
||||
|
alt + {Up,Down} |
||||
|
pactl set-sink-volume 0 {+5%,-5%} |
||||
|
|
||||
|
# screenshot capability |
||||
|
super + shift + s |
||||
|
mkdir -p ~/screenshots |
||||
|
scrot ~/screenshots/%Y-%m-%d-%T-screenshot.png |
@ -0,0 +1,14 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
setxkbmap -option caps:escape |
||||
|
brightnessctl set 50% |
||||
|
|
||||
|
source "/etc/X11/xinit/xinitrc.d/50-systemd-user.sh" |
||||
|
|
||||
|
eval "$(gnome-keyring-daemon --start)" |
||||
|
export SSH_AUTH_SOCK |
||||
|
|
||||
|
# USE BSPWM ONLY!!! (only place where configs fucking work) |
||||
|
export MANAGER=bspwm |
||||
|
exec $MANAGER |
||||
|
|
@ -0,0 +1,2 @@ |
|||||
|
xrandr -s 1600x900 |
||||
|
exec dbus-run-session "$HOME/cwm.sh" |
@ -0,0 +1,84 @@ |
|||||
|
{ config, pkgs, ... }: |
||||
|
let |
||||
|
home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; |
||||
|
in |
||||
|
{ |
||||
|
imports = [ |
||||
|
(import "${home-manager}/nixos") |
||||
|
]; |
||||
|
|
||||
|
services.xserver.displayManager.startx.enable = true; |
||||
|
|
||||
|
home-manager.users.junikim = { |
||||
|
# Home Manager needs a bit of information about you and the |
||||
|
# paths it should manage. |
||||
|
home.username = "junikim"; |
||||
|
home.homeDirectory = "/home/junikim"; |
||||
|
|
||||
|
# This value determines the Home Manager release that your |
||||
|
# configuration is compatible with. This helps avoid breakage |
||||
|
# when a new Home Manager release introduces backwards |
||||
|
# incompatible changes. |
||||
|
# |
||||
|
# You can update Home Manager without changing this value. See |
||||
|
# the Home Manager release notes for a list of state version |
||||
|
# changes in each release. |
||||
|
home.stateVersion = "22.05"; |
||||
|
|
||||
|
# Let Home Manager install and manage itself. |
||||
|
programs.home-manager.enable = true; |
||||
|
|
||||
|
programs.starship.enable = true; |
||||
|
|
||||
|
home.packages = with pkgs; [ |
||||
|
vim xclip neofetch tmux |
||||
|
fff |
||||
|
nodejs shellcheck |
||||
|
dash |
||||
|
wget brave |
||||
|
bspwm polybarFull kitty nitrogen dmenu picom |
||||
|
nfs-utils gcc gnumake pulsemixer |
||||
|
]; |
||||
|
|
||||
|
programs.neovim = { |
||||
|
enable = true; |
||||
|
plugins = with pkgs.vimPlugins; [ |
||||
|
coc-nvim |
||||
|
neovim-sensible |
||||
|
vim-airline |
||||
|
vim-airline-themes |
||||
|
vim-nix |
||||
|
]; |
||||
|
extraConfig = builtins.readFile ../dotfiles/init.vim; |
||||
|
}; |
||||
|
|
||||
|
programs.git = { |
||||
|
enable = true; |
||||
|
userName = "Juni Kim"; |
||||
|
userEmail = "junikimm717@gmail.com"; |
||||
|
}; |
||||
|
|
||||
|
programs.zsh = { |
||||
|
oh-my-zsh = { |
||||
|
enable = true; |
||||
|
theme = "robbyrussell"; |
||||
|
}; |
||||
|
}; |
||||
|
|
||||
|
home.file = { |
||||
|
#".config/nvim/init.vim".source = ./dotfiles/init.vim; |
||||
|
".config/polybar" = { |
||||
|
source = ../dotfiles/bspwm/polybar; |
||||
|
recursive = true; |
||||
|
}; |
||||
|
".config/kitty/kitty.conf".source = ../dotfiles/kitty.conf; |
||||
|
".config/picom/picom.conf".source = ../dotfiles/picom.conf; |
||||
|
".config/nixpkgs/config.nix".source = ../dotfiles/config.nix; |
||||
|
".config/bspwm/bspwmrc".source = ../dotfiles/bspwm/bspwmrc; |
||||
|
".config/sxhkd/sxhkdrc".source = ../dotfiles/bspwm/sxhkdrc; |
||||
|
".xinitrc".source = ../dotfiles/bspwm/xinitrc; |
||||
|
".tmux.conf".source = ../dotfiles/tmux.conf; |
||||
|
".zshrc".source = ../dotfiles/zshrc; |
||||
|
}; |
||||
|
}; |
||||
|
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue