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