many updates

This commit is contained in:
Tyler Starr 2022-12-09 23:36:27 -08:00
parent 6e1e0ea1da
commit cc08bc535c
30 changed files with 579 additions and 290 deletions

View File

@ -12,11 +12,15 @@ then
fi
export PATH
export EDITOR="/usr/bin/nvim"
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
export PATH="$HOME/.nimble/bin:$PATH"
alias spl="tmux_splat"
. "$HOME/.cargo/env"
alias spl="tmux_splat"
alias n="nnn -d -e -H -r"

38
.config/alacritty/alacritty.yml Executable file → Normal file
View File

@ -1,36 +1,2 @@
# Base16 Gruvbox dark, medium - alacritty color config
# Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox)
colors:
# Default colors
primary:
background: '0x282828'
foreground: '0xd5c4a1'
# Colors the cursor will use if `custom_cursor_colors` is true
cursor:
text: '0x282828'
cursor: '0xd5c4a1'
# Normal colors
normal:
black: '0x282828'
red: '0xfb4934'
green: '0xb8bb26'
yellow: '0xfabd2f'
blue: '0x83a598'
magenta: '0xd3869b'
cyan: '0x8ec07c'
white: '0xd5c4a1'
# Bright colors
bright:
black: '0x665c54'
red: '0xfe8019'
green: '0x3c3836'
yellow: '0x504945'
blue: '0xbdae93'
magenta: '0xebdbb2'
cyan: '0xd65d0e'
white: '0xfbf1c7'
draw_bold_text_with_bright_colors: false
import:
- /home/tstarr/.config/alacritty/dracula.yml

View File

@ -0,0 +1,61 @@
# Dracula theme for Alacritty
# https://draculatheme.com/alacritty
#
# Color palette
# https://spec.draculatheme.com
#
# Template
# https://github.com/alacritty/alacritty/blob/master/alacritty.yml
colors:
primary:
background: '#282a36'
foreground: '#f8f8f2'
bright_foreground: '#ffffff'
cursor:
text: CellBackground
cursor: CellForeground
vi_mode_cursor:
text: CellBackground
cursor: CellForeground
search:
matches:
foreground: '#44475a'
background: '#50fa7b'
focused_match:
foreground: '#44475a'
background: '#ffb86c'
footer_bar:
background: '#282a36'
foreground: '#f8f8f2'
hints:
start:
foreground: '#282a36'
background: '#f1fa8c'
end:
foreground: '#f1fa8c'
background: '#282a36'
line_indicator:
foreground: None
background: None
selection:
text: CellForeground
background: '#44475a'
normal:
black: '#21222c'
red: '#ff5555'
green: '#50fa7b'
yellow: '#f1fa8c'
blue: '#bd93f9'
magenta: '#ff79c6'
cyan: '#8be9fd'
white: '#f8f8f2'
bright:
black: '#6272a4'
red: '#ff6e6e'
green: '#69ff94'
yellow: '#ffffa5'
blue: '#d6acff'
magenta: '#ff92df'
cyan: '#a4ffff'
white: '#ffffff'

View File

@ -0,0 +1,36 @@
# Base16 Gruvbox dark, medium - alacritty color config
# Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox)
colors:
# Default colors
primary:
background: '0x282828'
foreground: '0xd5c4a1'
# Colors the cursor will use if `custom_cursor_colors` is true
cursor:
text: '0x282828'
cursor: '0xd5c4a1'
# Normal colors
normal:
black: '0x282828'
red: '0xfb4934'
green: '0xb8bb26'
yellow: '0xfabd2f'
blue: '0x83a598'
magenta: '0xd3869b'
cyan: '0x8ec07c'
white: '0xd5c4a1'
# Bright colors
bright:
black: '0x665c54'
red: '0xfe8019'
green: '0x3c3836'
yellow: '0x504945'
blue: '0xbdae93'
magenta: '0xebdbb2'
cyan: '0xd65d0e'
white: '0xfbf1c7'
draw_bold_text_with_bright_colors: false

View File

@ -4,61 +4,62 @@
#----- VARIABLES
#-------------------------------------------------------------------------------
set $HOME /home/tstarr
set $HOME /home/tstarr
set $DISPLAY_DEV_1 HDMI-0
set $DISPLAY_DEV_2 DP-4
set $DISPLAY_MODE 1
set $DISP_PRI DP-4
set $DISP_SEC HDMI-0
set $BOR_WIDTH 2
set $GAP_INNER 2
set $GAP_NULL 0
set $BOR_WIDTH 2
set $GAP_INNER 2
set $mod Mod4
set $tag1 "1:game"
set $tag2 "2:dev"
set $tag3 "3:web"
set $tag4 "4:dev"
set $tag5 "5:web"
set $tag6 "6:web"
set $tag7 "7:web"
set $tag8 "8:web"
set $tag9 "9:comm"
set $tag0 "10:task"
#-------------------------------------------------------------------------------
#----- COLORS
#-------------------------------------------------------------------------------
set $CL_PRI #17917A
set $CL_SCR #191C25
set $CL_BLK #282828
set $CL_TXT #FFFFFF
set $CL_URG #900000
# class border bground text indicator child_border
client.focused #6272A4 #6272A4 #F8F8F2 #6272A4 #6272A4
client.focused_inactive #44475A #44475A #F8F8F2 #44475A #44475A
client.unfocused #282A36 #282A36 #BFBFBF #282A36 #282A36
client.urgent #44475A #FF5555 #F8F8F2 #FF5555 #FF5555
client.placeholder #282A36 #282A36 #F8F8F2 #282A36 #282A36
client.background #F8F8F2
#-------------------------------------------------------------------------------
#----- MISC. CONFIGURATION
#-------------------------------------------------------------------------------
font pango:Google Noto 8.5
#focus_follows_mouse no
#floating_maximum_size 800x600
#for_window [class="^.*"] border pixel $BOR_WIDTH
#-------------------------------------------------------------------------------
#----- WINDOW DECORATION
#-------------------------------------------------------------------------------
# CLASS BORDER BACKGR. TEXT INDICATOR CHILD_BORDER
client.focused $CL_PRI $CL_PRI $CL_TXT $CL_PRI $CL_PRI
client.focused_inactive $CL_SCR $CL_BLK $CL_PRI $CL_SCR $CL_SCR
client.unfocused $CL_SCR $CL_BLK $CL_TXT $CL_SCR $CL_SCR
client.urgent $CL_PRI $CL_URG $CL_TXT $CL_PRI $CL_PRI
client.placeholder $CL_BLK $CL_SCR $CL_TXT $CL_SCR $CL_SCR
client.background $CL_BLK
default_border pixel 1
default_floating_border pixel 1
#-------------------------------------------------------------------------------
#----- BINDING WORKSPACE TO DISPLAY
#-------------------------------------------------------------------------------
workspace "1" output $DISPLAY_DEV_1
workspace "2" output $DISPLAY_DEV_2
workspace "3" output $DISPLAY_DEV_1
workspace "4" output $DISPLAY_DEV_1
workspace "5" output $DISPLAY_DEV_1
workspace "6" output $DISPLAY_DEV_1
workspace "7" output $DISPLAY_DEV_1
workspace "8" output $DISPLAY_DEV_1
workspace "9" output $DISPLAY_DEV_1
workspace "0" output $DISPLAY_DEV_1
workspace $tag1 output $DISP_PRI $DISP_SEC
workspace $tag2 output $DISP_PRI $DISP_SEC
workspace $tag3 output $DISP_PRI $DISP_SEC
workspace $tag4 output $DISP_PRI $DISP_SEC
workspace $tag5 output $DISP_PRI $DISP_SEC
workspace $tag6 output $DISP_SEC $DISP_PRI
workspace $tag7 output $DISP_SEC $DISP_PRI
workspace $tag8 output $DISP_SEC $DISP_PRI
workspace $tag9 output $DISP_SEC $DISP_PRI
workspace $tag0 output $DISP_SEC $DISP_PRI
#-------------------------------------------------------------------------------
#----- CONTAINER GAPS
@ -74,37 +75,90 @@ gaps bottom 0
gaps right 0
gaps left 0
# WORKSPACE-SPECIFIC GAP
#workspace "5" gaps top $GAP_NULL
#workspace "6" gaps top $GAP_NULL
#workspace "7" gaps top $GAP_NULL
#workspace "8" gaps top $GAP_NULL
#-------------------------------------------------------------------------------
#----- FORCE FLOATING
#-------------------------------------------------------------------------------
for_window [title="Steam - News"] floating enable
for_window [title="Friends List"] floating enable
for_window [title="Kazam"] floating enable
for_window [title="Settings"] floating enable
#-------------------------------------------------------------------------------
#----- BINDING APPLICATIONS TO WORKSPACE
#-------------------------------------------------------------------------------
assign [class="yakyak"] "10"
assign [class="zoom"] "9"
assign [class="Steam"] "9"
for_window [class="Steam"] move container to workspace "9"
assign [class="Steam"] "1:game"
for_window [class="Steam"] move container to workspace "1:game"
#-------------------------------------------------------------------------------
#----- KEY BINDINGS
#-------------------------------------------------------------------------------
# i3 utility commands
bindsym $mod+Ctrl+r restart
bindsym $mod+Ctrl+q exit
# layout commands
bindsym $mod+z layout splith
bindsym $mod+x layout tabbed
bindsym $mod+c layout stacked
bindsym $mod+v layout splitv
# program management
bindsym $mod+d kill
bindsym $mod+Shift+f floating toggle
bindsym $mod+Shift+s sticky toggle
bindsym $mod+Tab focus mode_toggle
bindsym $mod+f fullscreen toggle
# spatial container management
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
# workspace management
bindsym $mod+1 workspace $tag1
bindsym $mod+2 workspace $tag2
bindsym $mod+3 workspace $tag3
bindsym $mod+4 workspace $tag4
bindsym $mod+5 workspace $tag5
bindsym $mod+q workspace $tag6
bindsym $mod+w workspace $tag7
bindsym $mod+e workspace $tag8
bindsym $mod+r workspace $tag9
bindsym $mod+t workspace $tag0
bindsym $mod+b workspace back_and_forth
bindsym $mod+Shift+1 move container to workspace $tag1
bindsym $mod+Shift+2 move container to workspace $tag2
bindsym $mod+Shift+3 move container to workspace $tag3
bindsym $mod+Shift+4 move container to workspace $tag4
bindsym $mod+Shift+5 move container to workspace $tag5
bindsym $mod+Shift+q move container to workspace $tag6
bindsym $mod+Shift+w move container to workspace $tag7
bindsym $mod+Shift+e move container to workspace $tag8
bindsym $mod+Shift+r move container to workspace $tag9
bindsym $mod+Shift+t move container to workspace $tag0
# system utils
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume 0 +2%
bindsym XF86AudioLowerVolume exec pactl set-sink-volume 0 -2%
bindsym XF86AudioMute exec amixer -q set Master toggle
# open applications
bindsym $mod+Return exec alacritty
bindsym $mod+a exec rofi -show drun -theme gruvbox-dark-soft -show-icons
bindsym $mod+Shift+a exec rofi -show window -theme gruvbox-dark-soft -show-icons
bindsym $mod+u exec firefox
#-------------------------------------------------------------------------------
#----- AUTOSTART WITH I3
#-------------------------------------------------------------------------------
exec --no-startup-id $HOME/.config/sxhkd/launch.sh
#-------------------------------------------------------------------------------
bar {
status_command i3status
}
exec --no-startup-id $HOME/.config/i3/scripts/xrandr.sh
exec_always --no-startup-id $HOME/.config/sxhkd/launch.sh
exec_always --no-startup-id $HOME/.config/i3/scripts/polybar.sh
exec_always --no-startup-id nitrogen --restore

@ -1 +0,0 @@
Subproject commit e7881e1d77eae5db69daaef760e8a39112ca9b46

10
.config/i3/scripts/polybar.sh Executable file
View File

@ -0,0 +1,10 @@
#!/usr/bin/env sh
# Terminate already running bar instances
killall -q polybar
# Wait until the processes have been shut down
while pgrep -x polybar >/dev/null; do sleep 1; done
# Launch polybar
polybar -c ~/.config/polybar/dracula &

20
.config/i3/scripts/xrandr.sh Executable file
View File

@ -0,0 +1,20 @@
#!/usr/bin/python
#
import subprocess
def run_command(cmd, capture=False):
if capture:
return subprocess.getoutput(cmd)
else:
subprocess.run(cmd, shell=True)
return
# Get current ip address
ip_addr = run_command("hostname -I", True)
ip_slice = ip_addr.split(".")[2]
# Set monitor configuration based on ip address
if ip_slice == "1":
run_command("xrandr --output HDMI-0 --mode 2560x1440 --pos 0x0 --rate 144 --output DP-4 --mode 2560x1440 --pos 2561x0 --rate 144 --primary --right-of HDMI-0")
elif ip_slice == "2":
run_command("xrandr --output HDMI-0 --mode 2560x1440 --pos 0x0 --rate 144 --primary --output DP-4 --mode 2560x1440 --pos 2561x0 --rate 144 --right-of HDMI-0")

View File

@ -1,4 +1 @@
require('onedark').setup {
style = 'warmer'
}
require('onedark').load()
vim.cmd[[colorscheme dracula]]

View File

@ -1,6 +1,12 @@
local nnoremap = require("tstarr.keymap").nnoremap
local silent = { silent = true }
require("harpoon").setup({
menu = {
width = vim.api.nvim_win_get_width(0) - 4,
}
})
nnoremap("<leader>ha", function() require("harpoon.mark").add_file() end, silent)
nnoremap("<leader>hl", function() require("harpoon.ui").toggle_quick_menu() end, silent)

View File

@ -0,0 +1,8 @@
local nnoremap = require("tstarr.keymap").nnoremap
nnoremap("<leader>pv", "<cmd>Ex<CR>")
nnoremap("<leader>tn", "<cmd>tabnew<CR>")
nnoremap("<leader>th", "<cmd>tabn<CR>")
nnoremap("<leader>tl", "<cmd>tabp<CR>")
nnoremap("<leader>tc", "<cmd>tabc<CR>")

View File

@ -17,3 +17,4 @@ end)
nnoremap("<leader>p", function ()
require('telescope').extensions.project.project()
end)

View File

@ -1,6 +1,46 @@
local Remap = require("tstarr.keymap")
local nnoremap = Remap.nnoremap
local inoremap = Remap.inoremap
local cmp = require('cmp')
cmp.setup({
snippet = {
expand = function(args)
require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
end,
},
window = {
completion = cmp.config.window.bordered(),
documentation = cmp.config.window.bordered(),
},
mapping = cmp.mapping.preset.insert({
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
else
fallback()
end
end, { "i" }),
["<S-Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
else
fallback()
end
end, { "i" }),
['<C-b>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.abort(),
['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
}),
sources = cmp.config.sources({
{ name = 'nvim_lsp' },
{ name = 'luasnip' }, -- For luasnip users.
}, {
{ name = 'buffer' },
})
})
local function config(_config)
return vim.tbl_deep_extend("force", {

View File

@ -1,4 +1,3 @@
require("tstarr.set")
require("tstarr.packer")
require("tstarr.remap")
require("tstarr.telescope")

View File

@ -1,22 +1,30 @@
-- This file can be loaded by calling `lua require('plugins')` from your init.vim
return require('packer').startup(function(use)
-- Packer can manage itself
use 'wbthomason/packer.nvim'
-- Packer can manage itself
use 'wbthomason/packer.nvim'
-- Colors
use 'navarasu/onedark.nvim'
-- Colors
use ('Mofiqul/dracula.nvim')
-- IDE
use('nvim-lua/plenary.nvim')
use("nvim-treesitter/nvim-treesitter", {
run = ":TSUpdate"
})
use ('nvim-telescope/telescope.nvim')
use ('nvim-telescope/telescope-project.nvim')
-- IDE
use('nvim-lua/plenary.nvim')
use("nvim-treesitter/nvim-treesitter", {
run = ":TSUpdate"
})
use ('nvim-telescope/telescope.nvim')
use ('nvim-telescope/telescope-project.nvim')
use ('ThePrimeagen/harpoon')
use ('kdheepak/lazygit.nvim')
use ('neovim/nvim-lspconfig')
use ('hrsh7th/cmp-nvim-lsp')
use ('hrsh7th/cmp-buffer')
use ('hrsh7th/cmp-path')
use ('hrsh7th/cmp-cmdline')
use ('hrsh7th/nvim-cmp')
use ('L3MON4D3/LuaSnip')
use ('saadparwaiz1/cmp_luasnip')
use ('ThePrimeagen/harpoon')
use ('kdheepak/lazygit.nvim')
use 'neovim/nvim-lspconfig'
end)

View File

@ -1,3 +0,0 @@
local nnoremap = require("tstarr.keymap").nnoremap
nnoremap("<leader>pv", "<cmd>Ex<CR>")

View File

@ -1 +1,15 @@
require'telescope'.load_extension('project')
--require'telescope'.load_extension('project')
require('telescope').setup {
extensions = {
project = {
base_dirs = {
'~/.dotfiles',
'~/devel/work/genisys/splat-react',
'~/devel/work/genisys/splat-python',
},
hidden_files = true,
sync_with_nvim_tree = true, -- default false
}
}
}

View File

@ -74,6 +74,41 @@ end
time([[try_loadstring definition]], false)
time([[Defining packer_plugins]], true)
_G.packer_plugins = {
LuaSnip = {
loaded = true,
path = "/home/tstarr/.local/share/nvim/site/pack/packer/start/LuaSnip",
url = "https://github.com/L3MON4D3/LuaSnip"
},
["cmp-buffer"] = {
loaded = true,
path = "/home/tstarr/.local/share/nvim/site/pack/packer/start/cmp-buffer",
url = "https://github.com/hrsh7th/cmp-buffer"
},
["cmp-cmdline"] = {
loaded = true,
path = "/home/tstarr/.local/share/nvim/site/pack/packer/start/cmp-cmdline",
url = "https://github.com/hrsh7th/cmp-cmdline"
},
["cmp-nvim-lsp"] = {
loaded = true,
path = "/home/tstarr/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp",
url = "https://github.com/hrsh7th/cmp-nvim-lsp"
},
["cmp-path"] = {
loaded = true,
path = "/home/tstarr/.local/share/nvim/site/pack/packer/start/cmp-path",
url = "https://github.com/hrsh7th/cmp-path"
},
cmp_luasnip = {
loaded = true,
path = "/home/tstarr/.local/share/nvim/site/pack/packer/start/cmp_luasnip",
url = "https://github.com/saadparwaiz1/cmp_luasnip"
},
["dracula.nvim"] = {
loaded = true,
path = "/home/tstarr/.local/share/nvim/site/pack/packer/start/dracula.nvim",
url = "https://github.com/Mofiqul/dracula.nvim"
},
harpoon = {
loaded = true,
path = "/home/tstarr/.local/share/nvim/site/pack/packer/start/harpoon",
@ -84,6 +119,11 @@ _G.packer_plugins = {
path = "/home/tstarr/.local/share/nvim/site/pack/packer/start/lazygit.nvim",
url = "https://github.com/kdheepak/lazygit.nvim"
},
["nvim-cmp"] = {
loaded = true,
path = "/home/tstarr/.local/share/nvim/site/pack/packer/start/nvim-cmp",
url = "https://github.com/hrsh7th/nvim-cmp"
},
["nvim-lspconfig"] = {
loaded = true,
path = "/home/tstarr/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
@ -94,11 +134,6 @@ _G.packer_plugins = {
path = "/home/tstarr/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
url = "https://github.com/nvim-treesitter/nvim-treesitter"
},
["onedark.nvim"] = {
loaded = true,
path = "/home/tstarr/.local/share/nvim/site/pack/packer/start/onedark.nvim",
url = "https://github.com/navarasu/onedark.nvim"
},
["packer.nvim"] = {
loaded = true,
path = "/home/tstarr/.local/share/nvim/site/pack/packer/start/packer.nvim",

23
.config/polybar/common Normal file
View File

@ -0,0 +1,23 @@
width = 100%
height = 20
radius = 0
line-size = 0
bottom = false
font-0 = "Ubuntu:size=10;2"
font-1 = "Ubuntu:style=Bold:size=11;2"
font-2 = "Ubuntu Nerd Font:size=11;2"
override-redirect = false
screenchange-reload = true
throttle-output = 5
throttle-output-for = 10
throttle-input-for = 30
padding-left = 0
padding-right = 0
module-margin-left = 0
module-margin-right = 0
tray-position = right
tray-padding = 2
tray-detached = false

137
.config/polybar/dracula Normal file
View File

@ -0,0 +1,137 @@
[bar/fullbar]
monitor = HDMI-0
include-file = ~/.config/polybar/common
background = #bb282a36
foreground = #f8f8f2
wm-restack = i3
modules-left = i3 spacing spacing xwindow
modules-center = date
modules-right = memory separator cpu separator spacing pulseaudio separator wlan separator bandwidth separator
[module/xwindow]
type = internal/xwindow
label = %title:0:60:...%
[module/memory]
type = internal/memory
internal = 1
format-prefix = MEM:
format-prefix-foreground = "#8be9fd"
format = <label>
label-foreground = "#8be9fd"
label = %mb_used%
format-prefix-padding = 1
[module/cpu]
type = internal/cpu
internal = 0.5
format-prefix = CPU:
format-prefix-foreground = "#ff79c6"
format = <label>%
label = %percentage%
format-foreground = "#ff79c6"
format-prefix-padding = 1
[module/filesystem]
type = internal/fs
mount-0 = /home
interval = 10
fixed-values = true
format-mounted-prefix = 
format-mounted-prefix-foreground = "#ff79c6"
format-mounted = <label-mounted>
format-unmounted-prefix = 
format-unmounted-prefix-foreground = "#ff79c6"
format-unmounted = <label-unmounted>
label-mounted = %free%
label-unmounted = %mountpoint%: not mounted
[module/date]
type = internal/date
interval = 60
date = %a %d %b
time = %l:%M %p
label = %date% %time%
format-padding = 2
format-background = "#44475a"
label-font = 2
[module/wlan]
type = internal/network
interface = enp3s0
interval = 5
label-connected = 直 %local_ip%
label-connected-foreground = "#50fa7b"
label-disconnected = 睊 NOT CONNECTED
label-disconnected-foreground = "#ff5555"
content-padding = 2
[module/bandwidth]
type = internal/network
interface = enp3s0
interval = 5
label-connected =  %downspeed%  %upspeed%
label-disconnected =
content-padding = 2
[module/volume]
type = internal/alsa
format-volume = <label-volume>
format-muted = Muted
[module/pulseaudio]
type = internal/pulseaudio
sink = alsa_output.pci-0000_00_1b.0.analog-stereo
use-ui-max = true
interval = 5
format-volume = 墳<label-volume>
format-muted = 墳Muted
[module/title]
type = internal/xwindow
format = <label>
label = %title:0:20:...%
#label-maxlen = 20
format-font = 3
label-foreground = "#50fa7b"
[module/separator]
type = custom/text
content = " |"
content-padding = 0
content-foreground = "#f8f8f2"
[module/spacing]
type = custom/text
content = " "
content-padding = 0
content-foreground= "#282a36"
[module/i3]
type = internal/i3
pin-workspace = false
index-sort = true
enable-click = true
enable-scroll = true
wrapping-scroll = false
reverse-scroll = false
format = <label-state> <label-mode>
label-focused = %name%
label-focused-padding = 2
label-focused-background = "#bd93f9"
label-focused-foreground = "#282a36"
label-unfocused = %name%
label-unfocused-padding = 2
label-unfocused-background = "#44475a"
label-visible = %name%
label-visible-padding = 2
label-visible-background = "#44475a"
label-mode = %mode%
label-mode-background = "#ff5555"
label-mode-foreground = "#282a36"
label-mode-padding = 1
label-urgent = %name%
label-urgent-padding = 2

View File

@ -1,71 +0,0 @@
#------------------------------------------------------------------------------
#----- WINDOW LAYOUT
#------------------------------------------------------------------------------
super + shift + r
i3-msg restart
super + shift + q
i3-msg exit
super + q
i3-msg kill
super + i; {q,w,e,r}
i3-msg layout {splith, tabbed, stacked, splitv}
super + f
i3-msg fullscreen toggle
super + t
i3-msg floating toggle
super + shift + t
i3-msg sticky toggle
super + Tab
i3-msg focus mode_toggle
#------------------------------------------------------------------------------
#----- WINDOW CHANGE FOCUS
#------------------------------------------------------------------------------
super + {h,j,k,l}
i3-msg focus {left,down,up,right}
super + {1-9,0}
i3-msg workspace {1-9,10}
super + space
i3-msg focus output right
super + b
i3-msg workspace back_and_forth
#------------------------------------------------------------------------------
#----- WINDOW MOVEMENT
#------------------------------------------------------------------------------
super + shift + {h,j,k,l}
i3-msg move {left,down,up,right}
super + shift + {1-9,0}
i3-msg move container to workspace {1-9,10}
#------------------------------------------------------------------------------
#----- LAUNCH APPLICATIONS
#------------------------------------------------------------------------------
super + shift + w
rofi -show drun -theme gruvbox-dark-soft -show-icons
super + w
rofi -show window -theme gruvbox-dark-soft -show-icons
super + Return
alacritty
super + o; b
firefox

File diff suppressed because one or more lines are too long

View File

@ -1,10 +0,0 @@
# ~/.xmonad/build
#!/bin/sh
exec stack ghc -- \
--make xmonad.hs \
-i \
-ilib \
-fforce-recomp \
-main-is main \
-v0 \
-o "$1"

View File

@ -1,72 +0,0 @@
# This file was automatically generated by 'stack init'
#
# Some commonly used options have been documented as comments in this file.
# For advanced use and comprehensive documentation of the format, please see:
# https://docs.haskellstack.org/en/stable/yaml_configuration/
# Resolver to choose a 'specific' stackage snapshot or a compiler version.
# A snapshot resolver dictates the compiler version and the set of packages
# to be used for project dependencies. For example:
#
# resolver: lts-3.5
# resolver: nightly-2015-09-21
# resolver: ghc-7.10.2
#
# The location of a snapshot can be provided as a file or url. Stack assumes
# a snapshot provided as a file might change, whereas a url resource does not.
#
# resolver: ./custom-snapshot.yaml
# resolver: https://example.com/snapshots/2018-01-01.yaml
resolver:
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/19/8.yaml
# User packages to be built.
# Various formats can be used as shown in the example below.
#
# packages:
# - some-directory
# - https://example.com/foo/bar/baz-0.0.2.tar.gz
# subdirs:
# - auto-update
# - wai
packages:
- xmobar-git
- xmonad-git
- xmonad-contrib-git
# Dependency packages to be pulled from upstream that are not in the resolver.
# These entries can reference officially published versions as well as
# forks / in-progress versions pinned to a git hash. For example:
#
# extra-deps:
# - acme-missiles-0.3
# - git: https://github.com/commercialhaskell/stack.git
# commit: e7b331f14bcffb8367cd58fbfc8b40ec7642100a
#
extra-deps:
- netlink-1.1.1.0
# Override default flag values for local packages and extra-deps
flags:
xmobar:
all_extensions: true
# Extra package databases containing global packages
# extra-package-dbs: []
# Control whether we use the GHC we find on the path
# system-ghc: true
#
# Require a specific version of stack, using version ranges
# require-stack-version: -any # Default
# require-stack-version: ">=2.7"
#
# Override the architecture used by stack, especially useful on Windows
# arch: i386
# arch: x86_64
#
# Extra directories used by stack for building
# extra-include-dirs: [/path/to/dir]
# extra-lib-dirs: [/path/to/dir]
#
# Allow a newer minor version of GHC than the snapshot specifies
# compiler-check: newer-minor

View File

@ -33,12 +33,6 @@ bind-key j select-pane -D
bind-key k select-pane -U
bind-key l select-pane -R
# smart pane switching with awareness of vim splits
bind -n C-h run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)vim$' && tmux send-keys C-h) || tmux select-pane -L"
bind -n C-j run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)vim$' && tmux send-keys C-j) || tmux select-pane -D"
bind -n C-k run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)vim$' && tmux send-keys C-k) || tmux select-pane -U"
bind -n C-l run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)vim$' && tmux send-keys C-l) || tmux select-pane -R"
bind -n 'C-\' run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)vim$' && tmux send-keys 'C-\\') || tmux select-pane -l"
bind C-l send-keys 'C-l'
bind-key C-o rotate-window

BIN
bin/chezmoi Executable file

Binary file not shown.

View File

@ -7,11 +7,12 @@
- btrfs-assistant # GUI to manage btrfs
- btrbk # Backup tool for btrfs subvolumes
- mpv # Movie player playing most video formats and DVDs
- alacritty
- i3-gaps
- sxhkd
- rofi
- python-i3ipc
- alacritty # Fast, cross-platform, OpenGL terminal emulator
- i3-gaps # i3 with more features
- sxhkd # Simple X hotkey daemon
- rofi # Window switcher, application launcher and dmenu replacement
- python-i3ipc # IPC interface to control i3 from Python
- polybar # Fast and easy-to-use status bar
state: present
become: true
@ -25,6 +26,5 @@
state: present
become: true
# Commented out until keychords are implemented
# Using sxhkd until swhkd supports keychords
# - import_tasks: swhkd.yml

View File

@ -3,6 +3,7 @@
name:
- git # Fast Version Control System
- git-lfs # Git extension for versioning large files
- chezmoi
- python-psutil # Cross-platform library for retrieving information on running processes
- syncthing # Continuous File Synchronization
- flatpak # Application deployment framework for desktop apps

View File

@ -0,0 +1,29 @@
- name: Make advcpmv directory
file:
path: /home/{{ user }}/tmp/advcpmv
state: directory
- name: Download advcpmv file
ansible.builtin.get_url:
url: https://raw.githubusercontent.com/jarun/advcpmv/master/install.sh
dest: /home/{{ user }}/tmp/advcpmv/install.sh
- name: Compile advcp and advmv
command:
cmd: sh /home/{{ user }}/tmp/advcpmv/install.sh
creates: /home/{{ user }}/tmp/advcpmv/advcp
chdir: /home/{{ user }}/tmp/advcpmv
- name: Move advcp
copy:
src: /home/{{ user }}/tmp/advcpmv/advcp
dest: /usr/local/bin/cpg
mode: preserve
become: true
- name: Move advmv
copy:
src: /home/{{ user }}/tmp/advcpmv/advmv
dest: /usr/local/bin/mvg
mode: preserve
become: true

View File

@ -4,7 +4,10 @@
- stow # Symlink dots with a GNU
- vifm # File manager with curses interface
- neovim # Vim-fork focused on extensibility and agility
- task
- timew
- task # Command-line TODO list manager
- timew # Timewarrior tracks and reports time
- nnn # The missing terminal file browser for X
state: present
become: true
- import_tasks: advcpmv.yml # Patched cp and mv for nnn