diff --git a/home/.chezmoiexternal.toml b/home/.chezmoiexternal.toml index 6c5afa08..744a0c78 100644 --- a/home/.chezmoiexternal.toml +++ b/home/.chezmoiexternal.toml @@ -29,3 +29,18 @@ type = "git-repo" url = "https://github.com/zsh-users/zsh-syntax-highlighting.git" refreshPeriod = "168h" + +[".config/xmonad/xmonad"] + type = "git-repo" + url = "https://github.com/xmonad/xmonad" + refreshPeriod = "168h" + +[".config/xmonad/xmonad-contrib"] + type = "git-repo" + url = "https://github.com/xmonad/xmonad-contrib" + refreshPeriod = "168h" + +[".config/xmonad/xmobar"] + type = "git-repo" + url = "https://codeberg.org/xmobar/xmobar" + refreshPeriod = "168h" diff --git a/home/dot_Xclients b/home/dot_Xclients new file mode 100644 index 00000000..7d01551a --- /dev/null +++ b/home/dot_Xclients @@ -0,0 +1 @@ +exec dbus-run-session xmonad diff --git a/home/dot_config/alacritty/alacritty.yml b/home/dot_config/alacritty/alacritty.yml index 4e800c27..5def9ad1 100644 --- a/home/dot_config/alacritty/alacritty.yml +++ b/home/dot_config/alacritty/alacritty.yml @@ -17,37 +17,37 @@ env: font: # Normal (roman) font face normal: - family: JetBrainsMono Nerd Font + family: Jet Brains Mono # The `style` can be specified to pick a specific face. style: Regular # Bold font face bold: - family: JetBrainsMono Nerd Font + family: Jet Brains Mono # The `style` can be specified to pick a specific face. style: Bold # Italic font face italic: - family: JetBrainsMono Nerd Font + family: Jet Brains Mono # The `style` can be specified to pick a specific face. style: Italic # Point size of the font - size: 11.0 + size: 12.0 # Offset is the extra space around each character. `offset.y` can be thought of # as modifying the line spacing, and `offset.x` as modifying the letter spacing. offset: x: 0 - y: 0 + y: 1 # Glyph offset determines the locations of the glyphs within their cells with # the default being at the bottom. Increasing `x` moves the glyph to the right, # increasing `y` moves the glyph upwards. glyph_offset: x: 0 - y: 0 + y: 1 import: - ~/.config/alacritty/dracula.yml diff --git a/home/dot_config/nvim/after/plugin/color.lua b/home/dot_config/nvim/after/plugin/color.lua index c052830e..bf4fc957 100644 --- a/home/dot_config/nvim/after/plugin/color.lua +++ b/home/dot_config/nvim/after/plugin/color.lua @@ -1,2 +1,2 @@ vim.o.termguicolors = true -vim.cmd[[colorscheme dracula]] +vim.cmd[[colorscheme monokai-pro]] diff --git a/home/dot_config/nvim/after/plugin/lsp.lua b/home/dot_config/nvim/after/plugin/lsp.lua index 334b4c69..a0f6bd59 100644 --- a/home/dot_config/nvim/after/plugin/lsp.lua +++ b/home/dot_config/nvim/after/plugin/lsp.lua @@ -2,6 +2,8 @@ local Remap = require("tstarr.keymap") local nnoremap = Remap.nnoremap local inoremap = Remap.inoremap local cmp = require('cmp') +local lspconfig = require('lspconfig') +local configs = require('lspconfig/configs') cmp.setup({ snippet = { @@ -103,5 +105,49 @@ local function config(_config) }, _config or {}) end -require("lspconfig").tsserver.setup(config()) -require'lspconfig'.pyright.setup(config()) +-- Python +lspconfig.tsserver.setup(config()) +lspconfig.pyright.setup(config()) + +-- zk +configs.zk = { + default_config = { + cmd = {'zk', 'lsp'}, + filetypes = {'markdown'}, + root_dir = function() + return vim.loop.cwd() + end, + settings = {} + }; +} + +lspconfig.zk.setup({ on_attach = function(client, buffer) + -- Add keybindings here, see https://github.com/neovim/nvim-lspconfig#keybindings-and-completion +end }) + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/home/dot_config/nvim/lua/tstarr/packer.lua b/home/dot_config/nvim/lua/tstarr/packer.lua index ae3bbdab..978e21d2 100644 --- a/home/dot_config/nvim/lua/tstarr/packer.lua +++ b/home/dot_config/nvim/lua/tstarr/packer.lua @@ -5,7 +5,7 @@ return require('packer').startup(function(use) use 'wbthomason/packer.nvim' -- Colors - use ('dracula/vim') + --use ('dracula/vim') -- IDE use('nvim-lua/plenary.nvim') @@ -41,4 +41,10 @@ return require('packer').startup(function(use) use("mickael-menu/zk-nvim") require("zk").setup() + use('norcalli/nvim-colorizer.lua') + require("colorizer").setup() + + use('loctvl842/monokai-pro.nvim') + require("monokai-pro").setup() + end) diff --git a/home/dot_config/qtile/custom/wal.py b/home/dot_config/qtile/custom/wal.py index 76f74164..599a296b 100644 --- a/home/dot_config/qtile/custom/wal.py +++ b/home/dot_config/qtile/custom/wal.py @@ -2,5 +2,5 @@ from os.path import expanduser from yaml import safe_load # Get color config from pywal -wal_loc = expanduser("~/.config/qtile/themes/dracula.yml") +wal_loc = expanduser("~/.config/qtile/themes/monokai.yml") wal = safe_load(open(wal_loc)) diff --git a/home/dot_config/qtile/settings/widgets.py b/home/dot_config/qtile/settings/widgets.py index 86b271dc..4c435d0e 100644 --- a/home/dot_config/qtile/settings/widgets.py +++ b/home/dot_config/qtile/settings/widgets.py @@ -5,8 +5,8 @@ spacer_len = 3 wal_color = wal["colors"] widget_defaults = dict( - font="JetBrains Mono Nerd Font", - fontsize=10, + font="Jet Brains Mono", + fontsize=14, padding=3, background=wal_color["color0"], ) @@ -26,7 +26,7 @@ primary_widgets = [ visible_groups=["1", "2", "3", "4", "5"], ), widget.TextBox( - text="\uE0B0", + text=" ", fontsize=17, padding=0, background=wal_color["color2"], diff --git a/home/dot_config/qtile/themes/monokai.yml b/home/dot_config/qtile/themes/monokai.yml new file mode 100644 index 00000000..0a72c24c --- /dev/null +++ b/home/dot_config/qtile/themes/monokai.yml @@ -0,0 +1,41 @@ +wallpaper: "" + +special: + background: "#221e2d" + foreground: "#d1d1d1" + cursor: "#d1d1d1" + +colors: + color0: "#272822" + color8: "#75715e" + color1: "#f92672" + color9: "#f92672" + color2: "#a6e22e" + color10: "#a6e22e" + color3: "#f4bf75" + color11: "#f4bf75" + color4: "#66d9ef" + color12: "#66d9ef" + color5: "#ae81ff" + color13: "#ae81ff" + color6: "#a1efe4" + color14: "#a1efe4" + color7: "#f8f8f2" + color15: "#f9f8f5" + + + # dark2 = "#19181a", + # dark1 = "#221f22", + # background = "#2d2a2e", + # text = "#fcfcfa", + # accent1 = "#ff6188", + # accent2 = "#fc9867", + # accent3 = "#ffd866", + # accent4 = "#a9dc76", + # accent5 = "#78dce8", + # accent6 = "#ab9df2", + # dimmed1 = "#c1c0c0", + # dimmed2 = "#939293", -- border + # dimmed3 = "#727072", + # dimmed4 = "#5b595c", + # dimmed5 = "#403e41", diff --git a/home/dot_config/xmonad/xmonad.hs b/home/dot_config/xmonad/xmonad.hs index 0ccecb02..b7bad3f9 100644 --- a/home/dot_config/xmonad/xmonad.hs +++ b/home/dot_config/xmonad/xmonad.hs @@ -15,7 +15,7 @@ import XMonad.Hooks.ManageDocks import XMonad.Hooks.ManageHelpers import XMonad.Hooks.WorkspaceHistory import XMonad.Hooks.DynamicLog (dynamicLogWithPP, wrap, xmobarPP, xmobarColor, shorten, PP(..)) -import XMonad.Hooks.DynamicProperty +import XMonad.Hooks.OnPropertyChange -- Layouts import XMonad.Layout.NoBorders @@ -29,7 +29,7 @@ import XMonad.Layout.TwoPane import XMonad.Layout.TwoPanePersistent import XMonad.Layout.Combo import XMonad.Layout.Master -import XMonad.Layout.StateFull (focusTracking) +import XMonad.Layout.FocusTracking (focusTracking) import XMonad.Layout.Renamed --Utilities @@ -59,7 +59,7 @@ import qualified XMonad.Util.ExtensibleState as XS -- Font to use myFont :: String -myFont = "xft:Mononoki Nerd Font:pixelsize=12:antialias=true:hinting=true" +myFont = "xft:Jet Brains Mono:pixelsize=12:antialias=true:hinting=true" -- Terminal to use myTerminal :: String @@ -162,7 +162,7 @@ myScratchPads = [ NS "terminal" spawnTerm findTerm manageTerm t = 0.95 -h l = 0.95 -w -- Discord - spawnDiscord = "discord" + spawnDiscord = "flatpak run com.discordapp.Discord" findDiscord = appName =? "discord" manageDiscord = customFloating $ W.RationalRect l t w h where @@ -228,7 +228,7 @@ myManageHook = composeAll . concat $ -- Set dynamic display modes myEventHook :: Event -> X All -myEventHook = dynamicPropertyChange "WM_NAME" (title =? "scratch-emacs" --> floating) +myEventHook = onXPropertyChange "WM_NAME" (title =? "scratch-emacs" --> floating) where floating = customFloating $ W.RationalRect (1/6) 0.05 (2/3) 0.9 -- Log hook myLogHook = historyHook <+> updatePointer (0.5, 0.5) (0, 0) diff --git a/home/dot_xinitrc b/home/dot_xinitrc deleted file mode 100644 index d084fadc..00000000 --- a/home/dot_xinitrc +++ /dev/null @@ -1,2 +0,0 @@ -[[ -f ~/.Xresources ]] && xrdb -merge ~/.Xresources -exec dbus-run-session i3 diff --git a/provision/arch/additional-setup.md b/provision/arch/additional-setup.md index 296e145f..6807b4d9 100644 --- a/provision/arch/additional-setup.md +++ b/provision/arch/additional-setup.md @@ -163,24 +163,26 @@ I use a windows virtual machine with gpu passthrough of the few games that won't work on linux, Zwift, and Fusion360. [This](https://github.com/ilayna/Single-GPU-passthrough-amd-nvidia) has scripts that make that process relatively easy and [this wiki](https://gitlab.com/risingprismtv/single-gpu-passthrough/-/wikis/home) provides good information on setting up the virtual machine in virt-manager. -The virt-manager setup should usually be avoided by transfering the VM between -machines. The `patch.rom` required for my GPU is included in my repo. +The `patch.rom` required for my GPU is included in my repo. The virt-manager +setup should usually be avoided by transfering the VM between machines: + +1. Copy the VM's disks from `/var/lib/libvirt/images` on src host to the same dir on destination host +2. On the source host run `virsh dumpxml VMNAME > domxml.xml` and copy this xml to the destination host +3. On the destination host run `virsh define domxml.xml` ## Google earth pro [Google earth](https://www.google.com/earth/versions/) is nice for visualizing my hikes and checking out snow levels. Download the RPM and install with yum. -## Rofi for wayland - -Rofi doesn't work by default on wayland. +## Emacs ```bash -sudo pacman -S meson -# Use wayland branch -git clone https://github.com/lbonn/rofi.git -cd rofi -meson setup build -Dxcb=disabled -ninja -C build -sudo ninja -C build install +git clone git://git.sv.gnu.org/emacs.git +sudo dnf install autoconf texinfo gtk3-devel libgccjit-devel gnutls-devel ncurses-devel jansson jansson-devel +cd emacs +./autogen.sh +./configure --with-native-compilation --with-json --with-pgtk +make -j16 +sudo make install ``` diff --git a/provision/arch/ansible/tasks/desktop/packages.yml b/provision/arch/ansible/tasks/desktop/packages.yml index be588ee2..b0b38a09 100644 --- a/provision/arch/ansible/tasks/desktop/packages.yml +++ b/provision/arch/ansible/tasks/desktop/packages.yml @@ -8,17 +8,21 @@ - nvidia-utils - lib32-nvidia-utils - firefox # Mozilla Firefox web browser - - sway - - swayidle - - swaylock - - waybar - ttf-jetbrains-mono-nerd - - ydotool - - wl-clipboard - udiskie - network-manager-applet - blueman - flameshot + - libx11 + - libxft + - libxinerama + - libxrandr + - libxss + - pkgconf + - stack + - rofi + - xorg + - xorg-xinit state: present become: true @@ -30,5 +34,6 @@ - org.inkscape.Inkscape # Vector Graphics Editor - com.github.tchx84.Flatseal # Manage Flatpak permissions - org.kde.kdenlive + - com.bitwarden.desktop state: present become: true diff --git a/provision/arch/ansible/tasks/development/packages.yml b/provision/arch/ansible/tasks/development/packages.yml index 980480c7..a1ac3eb8 100644 --- a/provision/arch/ansible/tasks/development/packages.yml +++ b/provision/arch/ansible/tasks/development/packages.yml @@ -23,6 +23,7 @@ ansible.builtin.pip: name: - ansible-lint # Command-line tool for linting playbooks, roles and collections + - pyright - name: Install development flatpaks flatpak: diff --git a/provision/arch/ansible/tasks/engineering/packages.yml b/provision/arch/ansible/tasks/engineering/packages.yml index 1d1d014b..f8683b0b 100644 --- a/provision/arch/ansible/tasks/engineering/packages.yml +++ b/provision/arch/ansible/tasks/engineering/packages.yml @@ -3,5 +3,6 @@ name: - freecad # General purpose 3D CAD modeler - superslicer + - gqrx state: present become: true diff --git a/provision/arch/ansible/tasks/system/packages.yml b/provision/arch/ansible/tasks/system/packages.yml index de9f18b6..caf8e4b4 100644 --- a/provision/arch/ansible/tasks/system/packages.yml +++ b/provision/arch/ansible/tasks/system/packages.yml @@ -8,8 +8,6 @@ - wireguard-tools # Fast, modern, secure vpn tunnel - libfreeaptx # PipeWire Bluetooth aptX codec plugin - ansible # Simple deployment, configuration management and execution framework - #- '@Development tools' # Development tools for Fedora - #- '@virtualization' # Virtualization tools for Fedora - trash-cli # Command line interface to the freedesktop.org trashcan - android-tools # Android platform tools(adb, fastboot) - snapper diff --git a/provision/arch/ansible/tasks/terminal/packages.yml b/provision/arch/ansible/tasks/terminal/packages.yml index 591c70f5..4c2cf8d2 100644 --- a/provision/arch/ansible/tasks/terminal/packages.yml +++ b/provision/arch/ansible/tasks/terminal/packages.yml @@ -16,6 +16,7 @@ - khard # Command-line addressbook built around CardDAV - vdirsyncer # Synchronize calendars and addressbooks - neofetch # Simple system information script + - zk state: present become: true diff --git a/provision/arch/jumpstart.sh b/provision/arch/jumpstart.sh index 0256a38e..1491586b 100755 --- a/provision/arch/jumpstart.sh +++ b/provision/arch/jumpstart.sh @@ -38,6 +38,7 @@ echo "{ \"disp_sec\": \"HDMI-0\" }" > "$CHEZDIR/home/.gen/i3.json" +# Wait in-case there is an error read lel # initialize chezmoi diff --git a/provision/fedora/ansible/tasks/desktop/packages.yml b/provision/fedora/ansible/tasks/desktop/packages.yml index f669a3fa..6d289a17 100644 --- a/provision/fedora/ansible/tasks/desktop/packages.yml +++ b/provision/fedora/ansible/tasks/desktop/packages.yml @@ -8,6 +8,17 @@ #- nerd-fonts # Iconic font aggregator, collection and patcher - gnome-tweaks - evolution + - "@base-x" + - alacritty + - rofi + - nitrogen + - libX11-devel + - libXft-devel + - libXinerama-devel + - libXrandr-devel + - libXScrnSaver-devel + - stack + - xorg-x11-xinit-session state: present become: true diff --git a/provision/fedora/ansible/tasks/system/packages.yml b/provision/fedora/ansible/tasks/system/packages.yml index c749b32c..831e3607 100644 --- a/provision/fedora/ansible/tasks/system/packages.yml +++ b/provision/fedora/ansible/tasks/system/packages.yml @@ -44,6 +44,7 @@ - cargo - iosevka-fonts - borgbackup + - fzf state: present become: true