diff --git a/README.MD b/README.MD index c2a9c80..d54510e 100644 --- a/README.MD +++ b/README.MD @@ -2,9 +2,10 @@ ## Packages ``` $ sudo pacman -S river lua lua-posix kanshi \ - waylock swaybg alacritty wofi \ + swaylock swaybg alacritty wofi \ slurp grim wl-clipboard waybar \ - mpd mpc vimix-cursors fish + mpd mpc vimix-cursors fish nvim \ + fetchmail procmail notmuch alot ``` ## Setup In config root directory run: @@ -13,8 +14,6 @@ $ fish ./setup.fish ``` This will create symlinks to config files in inner directories. -Do not move files, otherwise symlinks won't work. - To remove symlinks run: ``` $ fish ./clean.fish diff --git a/nvim/init.lua b/nvim/init.lua new file mode 100644 index 0000000..21317f3 --- /dev/null +++ b/nvim/init.lua @@ -0,0 +1,30 @@ +vim.o.number = true +vim.o.tabstop = 4 +vim.o.shiftwidth = 4 +vim.o.expandtab = true +vim.o.smartindent = true +vim.o.cursorline = true + +vim.cmd( 'syntax enable' ) +vim.cmd( 'filetype plugin indent on' ) + +vim.cmd( 'colorscheme slate' ) + +vim.cmd [[ + highlight Normal guibg=NONE ctermbg=NONE + highlight NonText guibg=NONE ctermbg=NONE + highlight EndOfBuffer guibg=NONE ctermbg=NONE +]] + +vim.cmd [[ + call plug#begin() + Plug 'preservim/nerdtree' + Plug 'neovim/nvim-lspconfig' + call plug#end() +]] + +vim.lsp.enable( 'lua_ls' ) +vim.lsp.enable( 'rust_analyzer' ) + +vim.g.mapleader = ' ' +vim.api.nvim_set_keymap( 'n', 'w', ':w', { noremap = true, silent = true } ) diff --git a/river/init.lua b/river/init.lua index f18a976..7288227 100755 --- a/river/init.lua +++ b/river/init.lua @@ -16,8 +16,8 @@ end -- All the setting tables ────────────────────────────────────────────────────── local wallpapers = { - primary = '~/Pictures/wallpaper/1772658.jpg', - secondary = '~/Pictures/wallpaper/83D9B0BF750C2763F9126AAAEF23F3DB3D3A6328-3688606028.png' + primary = '~/Pictures/wallpaper/leafeon.jpg', + secondary = '~/Pictures/wallpaper/phoenix.png' } local monitors = { @@ -50,6 +50,16 @@ local startup_commands = { string.format("swaybg -o %s -i %s -o %s -i %s", monitors.main, wallpapers.primary, monitors.external, wallpapers.secondary) + }, + -- Fetch mail + { + 'fetchmail', + '-d', '600' + }, + -- Update notmuch database + { + 'notmuch', + 'new' } } @@ -117,17 +127,29 @@ local mappings = { key = 'Escape', command = { 'spawn', [['wofi --show drun']] } }, - -- Screenshot + -- Region screenshot { mod = { 'Super', 'Shift' }, key = 'S', command = { 'spawn', [['slurp | grim -g - - | wl-copy']] } }, + -- Output screenshot + { + mod = 'None', + key = 'Print', + command = { 'spawn', [['slurp -o | grim -g - - | wl-copy']] } + }, -- Screen locker { mod = 'Super', key = 'O', - command = { 'spawn', [['waylock -init-color 0x352e2c -input-color 0x575e7a -fail-color 0x833b18']] } + command = { 'spawn', [['swaylock -i ']] .. wallpapers.primary } + }, + -- Prompt wifi ssid and attempt to connect + { + mod = { 'Super', 'Alt' }, + key = 'C', + command = { 'spawn', [['gui-prompt | fish -c wlan-connect']]} }, -- Close view { @@ -250,7 +272,7 @@ local mappings = { { mod = 'None', key = 'XF86AudioNext', - command = { 'spawn', [['mpc next && mpc toggle']] } + command = { 'spawn', [['mpc next']] } }, { mod = 'None', @@ -302,6 +324,18 @@ local function tag_mappings() os.execute(string.format('riverctl map normal Super+Shift 0 set-view-tags %s', all_tags)) end +-- Window rules +local window_rules = { + { + app_id = "gui-prompt", + rule = "float" + }, + { + app_id = "gui-prompt", + rule = "ssd" + } +} + -- Apply settings ────────────────────────────────────────────────────────────── for _, cmd in ipairs(startup_commands) do @@ -372,6 +406,19 @@ end -- Mappings for tag management tag_mappings() +for _, rule in ipairs(window_rules) do + local cmd = "riverctl rule-add " + if rule.app_id ~= nil then + cmd = cmd .. "-app-id " .. rule.app_id + end + if rule.title ~= nil then + cmd = cmd .. "-title " .. rule.title + end + cmd = cmd .. " " .. rule.rule + + os.execute(cmd) +end + -- Launch the layout generator as the final initial process. local unistd = require('posix.unistd') unistd.execp('rivertile', { diff --git a/swaylock/config b/swaylock/config new file mode 100644 index 0000000..b0518be --- /dev/null +++ b/swaylock/config @@ -0,0 +1,48 @@ +ignore-empty-password + +show-keyboard-layout +show-failed-attempts + +indicator-caps-lock +indicator-idle-visible +indicator-radius=60 + +inside-color=28a09cb2 +inside-clear-color=60ccd8b2 +inside-caps-lock-color=ddab6cb2 +inside-ver-color=ff7c77b2 +inside-wrong-color=f22c57b2 + +key-hl-color=2ebdbb +caps-lock-key-hl-color=ffc66a + +bs-hl-color=ff4772 +caps-lock-bs-hl-color=ff4772 + +separator-color=00000000 + +ring-color=28a09c +ring-clear-color=5cc6d1 +ring-caps-lock-color=ddab5c +ring-ver-color=df635d +ring-wrong-color=fd3762 + +line-color=000000b2 +line-clear-color=000000b2 +line-caps-lock-color=000000b2 +line-ver-color=000000b2 +line-wrong-color=000000b2 + +text-color=000000 +text-clear-color=000000 +text-caps-lock-color=000000 +text-ver-color=000000 +text-wrong-color=000000 + +layout-bg-color=2c3746b2 +layout-border-color=81a1c1 + +scaling=stretch + +font=SourceCodePro +font-size=18