update arch

This commit is contained in:
2024-06-02 09:31:22 -05:00
parent c49181befc
commit 75825901b3
37 changed files with 460 additions and 86 deletions

View File

@@ -0,0 +1,3 @@
[Settings]
gtk-application-prefer-dark-theme=1

View File

@@ -0,0 +1,6 @@
column_width = 120
line_endings = "Unix"
indent_type = "Spaces"
indent_width = 2
quote_style = "AutoPreferDouble"
call_parentheses = "None"

49
.config/nvim/init.lua Normal file
View File

@@ -0,0 +1,49 @@
vim.g.base46_cache = vim.fn.stdpath "data" .. "/nvchad/base46/"
vim.g.mapleader = " "
-- bootstrap lazy and all plugins
local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
local repo = "https://github.com/folke/lazy.nvim.git"
vim.fn.system { "git", "clone", "--filter=blob:none", repo, "--branch=stable", lazypath }
end
vim.opt.rtp:prepend(lazypath)
local lazy_config = require "configs.lazy"
-- load plugins
require("lazy").setup({
{
"NvChad/NvChad",
lazy = false,
branch = "v2.5",
import = "nvchad.plugins",
config = function()
require "options"
end,
},
{ import = "plugins" },
}, lazy_config)
-- load theme
dofile(vim.g.base46_cache .. "defaults")
dofile(vim.g.base46_cache .. "statusline")
require "nvchad.autocmds"
vim.schedule(function()
require "mappings"
end)
vim.opt.guicursor = ""
vim.opt.nu = true
vim.opt.relativenumber = true
vim.api.nvim_set_keymap('n', '<C-d>', '<C-d>zz', {noremap = true})
vim.api.nvim_set_keymap('n', '<C-u>', '<C-u>zz', {noremap = true})
vim.api.nvim_set_keymap('n', 'n', 'nzzzv', {noremap = true})
vim.api.nvim_set_keymap('n', 'N', 'Nzzzv', {noremap = true})
vim.api.nvim_set_option("clipboard","unnamedplus")

View File

@@ -0,0 +1,9 @@
-- This file needs to have same structure as nvconfig.lua
-- https://github.com/NvChad/NvChad/blob/v2.5/lua/nvconfig.lua
---@type ChadrcConfig
local M = {}
M.ui = {theme = 'catppuccin'}
return M

View File

@@ -0,0 +1,15 @@
local options = {
formatters_by_ft = {
lua = { "stylua" },
-- css = { "prettier" },
-- html = { "prettier" },
},
-- format_on_save = {
-- -- These options will be passed to conform.format()
-- timeout_ms = 500,
-- lsp_fallback = true,
-- },
}
require("conform").setup(options)

View File

@@ -0,0 +1,47 @@
return {
defaults = { lazy = true },
install = { colorscheme = { "nvchad" } },
ui = {
icons = {
ft = "",
lazy = "󰂠 ",
loaded = "",
not_loaded = "",
},
},
performance = {
rtp = {
disabled_plugins = {
"2html_plugin",
"tohtml",
"getscript",
"getscriptPlugin",
"gzip",
"logipat",
"netrw",
"netrwPlugin",
"netrwSettings",
"netrwFileHandlers",
"matchit",
"tar",
"tarPlugin",
"rrhelper",
"spellfile_plugin",
"vimball",
"vimballPlugin",
"zip",
"zipPlugin",
"tutor",
"rplugin",
"syntax",
"synmenu",
"optwin",
"compiler",
"bugreport",
"ftplugin",
},
},
},
}

View File

@@ -0,0 +1,23 @@
-- EXAMPLE
local on_attach = require("nvchad.configs.lspconfig").on_attach
local on_init = require("nvchad.configs.lspconfig").on_init
local capabilities = require("nvchad.configs.lspconfig").capabilities
local lspconfig = require "lspconfig"
local servers = { "html", "cssls" }
-- lsps with default config
for _, lsp in ipairs(servers) do
lspconfig[lsp].setup {
on_attach = on_attach,
on_init = on_init,
capabilities = capabilities,
}
end
-- typescript
lspconfig.tsserver.setup {
on_attach = on_attach,
on_init = on_init,
capabilities = capabilities,
}

View File

@@ -0,0 +1,11 @@
require "nvchad.mappings"
local map = vim.keymap.set
map("n", ";", ":", { desc = "CMD enter command mode" })
map("i", "jk", "<ESC>")
map("", "<C-h>", "<cmd> TmuxNavigateLeft<CR>", { desc = "window left" })
map("", "<C-l>", "<cmd> TmuxNavigateRight<CR>", { desc = "window right" })
map("", "<C-j>", "<cmd> TmuxNavigateDown<CR>", { desc = "window down" })
map("", "<C-k>", "<cmd> TmuxNavigateUp<CR>", { desc = "window up" })

View File

@@ -0,0 +1,11 @@
local parser_config = require 'nvim-treesitter.parsers'.get_parser_configs()
--parser_config.powershell_es = {
-- install_info = {
-- url = "/home/user/.local/share/tree-sitter-PowerShell",
-- files = { "src/parser.c" },
-- generate_requires_npm = false,
-- requires_generate_from_grammar = false,
-- },
-- filetype = "ps1",
--}
return parser_config

View File

@@ -0,0 +1,96 @@
local M = {}
M.general = {
n = {
["<C-h>"] = {"<cmd> TmuxNavigateLeft<CR>", "window left"},
["<C-l>"] = {"<cmd> TmuxNavigateRight<CR>", "window right"},
["<C-j>"] = {"<cmd> TmuxNavigateDown<CR>", "window down"},
["<C-k>"] = {"<cmd> TmuxNavigateUp<CR>", "window up"},
}
}
M.dap = {
plugin = true,
n = {
["<leader>db"] = {
"<cmd> DapToggleBreakpoint <CR>",
"Add breakpoint at line"
},
["<F5>"] = {
"<cmd> DapContinue <CR>",
"Start Debugging"
},
["<F6>"] = {
"<cmd> DapTerminate <CR>",
"Stop Debugging"
},
["<F10>"] = {
"<cmd> DapStepOver <CR>",
"Step Over"
},
["<F11>"] = {
"<cmd> DapStepInto <CR>",
"Step Into"
},
["<F12>"] = {
"<cmd> DapStepOut <CR>",
"Stop Out"
},
["<leader>dus"] = {
function ()
local widgets = require('dap.ui.widgets');
local sidebar = widgets.sidebar(widgets.scopes);
sidebar.open();
end,
"Open debugging sidebar"
}
}
}
M.dap_go = {
plugin = true,
n = {
["<leader>dgt"] = {
function()
require('dap-go').debug_test()
end,
"Debug go test"
},
["<leader>dgl"] = {
function()
require('dap-go').debug_last()
end,
"Debug last go test"
}
}
}
M.gopher = {
plugin = true,
n = {
["<leader>gsj"] = {
"<cmd> GoTagAdd json <CR>",
"Add json struct tags"
},
["<leader>gse"] = {
"<cmd> GoTagAdd env <CR>",
"Add env struct tags"
},
["<leader>gsy"] = {
"<cmd> GoTagAdd yaml <CR>",
"Add yaml struct tags"
}
}
}
M.crates = {
n = {
["<leader>rcu"] = {
function ()
require('crates').upgrade_all_crates()
end,
"update crates"
}
}
}
return M

View File

@@ -0,0 +1,6 @@
require "nvchad.options"
-- add yours here!
-- local o = vim.o
-- o.cursorlineopt ='both' -- to enable cursorline!

View File

@@ -0,0 +1,55 @@
return {
{
"stevearc/conform.nvim",
-- event = 'BufWritePre', -- uncomment for format on save
config = function()
require "configs.conform"
end,
},
{
"christoomey/vim-tmux-navigator",
lazy = false,
},
{
"williamboman/mason.nvim",
opts = {
ensure_installed = {
"gopls",
"rust-analyzer",
"pyright",
"mypy",
"ruff",
"black",
"debugpy",
"powershell-editor-services",
"bash-language-server",
"eslint-lsp",
"js-debug-adapter",
"prettier",
"typescript-language-server"
},
},
},
{
"nvim-treesitter/nvim-treesitter",
opts = {
ensure_installed = {
"lua",
"javascript",
"typescript",
"tsx",
"go",
"terraform",
"c_sharp",
"bash",
},
},
},
{
"neovim/nvim-lspconfig",
config = function()
require("nvchad.configs.lspconfig").defaults()
require "configs.lspconfig"
end,
},
}

View File

@@ -1,9 +1,3 @@
# Default config for sway
#
# Copy this to ~/.config/sway/config and edit it to your liking.
#
# Read `man 5 sway` for a complete reference.
### Variables
#
# Logo key. Use Mod1 for Alt.
@@ -16,35 +10,31 @@ set $right l
# Your preferred terminal emulator
set $term terminator
# Your preferred application launcher
# Note: pass the final command to swaymsg so that the resulting window can be opened
# on the original workspace that the command was run on.
set $menu dmenu_path | dmenu | xargs swaymsg exec --
set $menu wofi
include /etc/sway/config-vars.d/*
### Output configuration
#
# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
# Default wallpaper
output * bg ~/.config/configfiles/wallpaper.png fill
#
# Example configuration:
#
# output HDMI-A-1 resolution 1920x1080 position 1920,0
output eDP-1 disable
output DP-6 resolution 2560x1440 position 9440,1440
output DP-7 resolution 3440x1440 position 6000,1440
output DP-5 resolution 3440x1440 position 6000,0
#
workspace 1 output DP-7
workspace 3 output DP-6
workspace 2 output DP-5
# You can get the names of your outputs by running: swaymsg -t get_outputs
### Idle configuration
#
# Example configuration:
#
# exec swayidle -w \
# timeout 300 'swaylock -f -c 000000' \
# timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
# before-sleep 'swaylock -f -c 000000'
#
# This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds, and turn your screens back on when
# resumed. It will also lock your screen before your computer goes to sleep.
exec swayidle -w \
timeout 300 'swaylock -f -c 000000' \
timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
before-sleep 'swaylock -f -c 000000'
### Input configuration
#
@@ -71,7 +61,7 @@ output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
bindsym $mod+Shift+q kill
# Start your launcher
bindsym $mod+d exec $menu
bindsym $mod+space exec $menu
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
@@ -157,7 +147,7 @@ output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
bindsym $mod+Shift+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+space focus mode_toggle
#bindsym $mod+space focus mode_toggle
# Move focus to the parent container
bindsym $mod+a focus parent
@@ -216,4 +206,5 @@ bindsym XF86AudioMute exec "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle; pkill -R
bindsym XF86MonBrightnessDown exec light -U 10
bindsym XF86MonBrightnessUp exec light -A 10
default_border none
include /etc/sway/config.d/*

Submodule .config/tmux/plugins/catppuccin-tmux deleted from b4e0715356

Submodule .config/tmux/plugins/vim-tmux-navigator updated: 38b1d0402c...5b3c701686

View File

@@ -33,14 +33,13 @@ bind -n S-Right next-window
bind -n M-H previous-window
bind -n M-L next-window
set -g @catppuccin_flavour 'mocha'
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'christoomey/vim-tmux-navigator'
set -g @plugin 'dreamsofcode-io/catppuccin-tmux'
set -g @plugin 'catppuccin/tmux'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @catppuccin_flavour 'mocha'
# set vi-mode
set-window-option -g mode-keys vi
# keybindings

View File

@@ -1,33 +1,17 @@
{
"layer": "bottom",
"output": ["DP-9","DP-8","DP-10"],
"position": "top",
"height": 24,
"spacing": 10,
"spacing": 15,
"modules-left": ["sway/workspaces","sway/mode"],
"modules-center": ["sway/window"],
"modules-right": ["idle_inhibitor","cpu","memory","battery","pulseaudio","clock","tray"],
"modules-center": ["clock"],
"modules-right": ["battery","pulseaudio","tray"],
"sway/mode": {
"format": "{}"
},
"sway/window": {
"format": "{title}"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "\uf06e",
"deactivated": "\uf070"
}
},
"cpu": {
"interval": 10,
"format": "CPU: {usage}%"
},
"memory": {
"interval": 30,
"format": "RAM: {used:0.1f}GiB/{total:0.1f}GiB ({percentage}%) SWAP: {swapUsed:0.1f}GiB/{swapTotal:0.1f}GiB ({swapPercentage}%)"
},
"battery": {
"bat": "BAT0",
"states": {
@@ -35,12 +19,12 @@
"warning": 30,
"critical": 5
},
"format": "BAT0: {capacity}%",
"format-charging": "BAT0: {capacity}% (charging)",
"format-plugged": "BAT0: {capacity}% (plugged)",
"format": "Battery: {capacity}%",
"format-charging": "Battery: {capacity}% (charging)",
"format-plugged": "Battery: {capacity}% (plugged)",
},
"clock": {
"format": "{:%Y/%m/%d %H:%M}",
"format": "{:%H:%M %m/%d/%Y}",
"tooltip-format": "<tt><small>{calendar}</small></tt>",
"calendar": {
"format": {
@@ -50,7 +34,7 @@
}
},
"pulseaudio": {
"format": "{icon} {volume}%",
"format": "{icon} {volume}%",
"format-icons": {
"default": ["\uf026", "\uf027", "\uf028"]
},

26
.config/waybar/mocha.css Normal file
View File

@@ -0,0 +1,26 @@
@define-color rosewater #f5e0dc;
@define-color flamingo #f2cdcd;
@define-color pink #f5c2e7;
@define-color mauve #cba6f7;
@define-color red #f38ba8;
@define-color maroon #eba0ac;
@define-color peach #fab387;
@define-color yellow #f9e2af;
@define-color green #a6e3a1;
@define-color teal #94e2d5;
@define-color sky #89dceb;
@define-color sapphire #74c7ec;
@define-color blue #89b4fa;
@define-color lavender #b4befe;
@define-color text #cdd6f4;
@define-color subtext1 #bac2de;
@define-color subtext0 #a6adc8;
@define-color overlay2 #9399b2;
@define-color overlay1 #7f849c;
@define-color overlay0 #6c7086;
@define-color surface2 #585b70;
@define-color surface1 #45475a;
@define-color surface0 #313244;
@define-color base #1e1e2e;
@define-color mantle #181825;
@define-color crust #11111b;

View File

@@ -1,26 +1,12 @@
@define-color rosewater #f5e0dc;
@define-color flamingo #f2cdcd;
@define-color pink #f5c2e7;
@define-color mauve #cba6f7;
@define-color red #f38ba8;
@define-color maroon #eba0ac;
@define-color peach #fab387;
@define-color yellow #f9e2af;
@define-color green #a6e3a1;
@define-color teal #94e2d5;
@define-color sky #89dceb;
@define-color sapphire #74c7ec;
@define-color blue #89b4fa;
@define-color lavender #b4befe;
@define-color text #cdd6f4;
@define-color subtext1 #bac2de;
@define-color subtext0 #a6adc8;
@define-color overlay2 #9399b2;
@define-color overlay1 #7f849c;
@define-color overlay0 #6c7086;
@define-color surface2 #585b70;
@define-color surface1 #45475a;
@define-color surface0 #313244;
@define-color base #1e1e2e;
@define-color mantle #181825;
@define-color crust #11111b;
@import "mocha.css";
* {
/* reference the color by using @color-name */
color: @text;
}
window#waybar {
/* you can also GTK3 CSS functions! */
background-color: shade(@base, 0.9);
border: 2px solid alpha(@crust, 0.3);
}

2
.config/wofi/config Normal file
View File

@@ -0,0 +1,2 @@
mode=drun
allow_images=true

3
.config/wofi/style.css Normal file
View File

@@ -0,0 +1,3 @@
window {
font-family: GoMono Nerd Font Propo;
}

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.config/tmux/plugins

View File

@@ -4,9 +4,9 @@
- name: generate ssh keys
include_tasks: "./scripts/configure_ssh.yml"
- name: Configure Gitlab SSH
become_user: user
ansible.builtin.command: pwsh -f ./scripts/configure_gitlab.ps1 "{{ GITLAB_TOKEN }}"
#- name: Configure Gitlab SSH
# become_user: user
# ansible.builtin.command: pwsh -f ./scripts/configure_gitlab.ps1 "{{ GITLAB_TOKEN }}"
- user:
name: "user"

View File

@@ -0,0 +1,3 @@
fonts:
- {name: 'GoMonoNerd', url: "https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/Go-Mono.zip"}
- {name: 'FiraCodeNerd', url: "https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/FiraCode.zip"}

View File

@@ -4,5 +4,8 @@
- name: install flatpak
include_tasks: "./scripts/install_flatpak.yml"
- name: install brew
include_tasks: "./scripts/install_brew.yml"
#- name: install brew
# include_tasks: "./scripts/install_brew.yml"
- name: install pacman
include_tasks: "./scripts/install_pacman.yml"

View File

@@ -0,0 +1,23 @@
required_packages_pacman:
- sway
- waybar
- stow
- lazygit
- terminator
- tmux
- fzf
- zoxide
- bitwarden-cli
- glab
- go
- neovim
- ffmpeg
- ttyd
- waybar
- wl-clipboard
- pavucontrol
- wofi
- swaybg
- swayidle
- swaylock
- swayimg

View File

@@ -1,3 +1,12 @@
- name: Create ssh folder
become_user: user
ansible.builtin.file:
path: ~/.ssh
owner: "user"
group: "user"
mode: '0700'
state: directory
- name: Generate an OpenSSH keypair
become_user: user
community.crypto.openssh_keypair:

View File

@@ -0,0 +1,14 @@
- name: Upgrade Packages
community.general.pacman:
state: latest
update_cache: yes
become: yes
when: required_packages_pacman is defined
- name: Install Packages
community.general.pacman:
state: present
update_cache: yes
name: "{{ required_packages_pacman }}"
become: yes
when: required_packages_pacman is defined