From 24de48548833878920ba2f4fa589e66abce5770d Mon Sep 17 00:00:00 2001 From: starr-dusT Date: Mon, 9 Jan 2023 17:09:31 -0800 Subject: [PATCH] many updates including switching to network manager --- additional-setup.md | 18 +++++++ home/bin/executable_tmux-dot | 17 ------- home/bin/executable_tmux-splat | 22 --------- home/bin/executable_void-doctor | 39 +++++++++++++++ home/devel/work/dot_gitconfig.work | 9 ++++ home/dot_config/i3/config.tmpl | 17 +++---- home/dot_config/nvim/lua/tstarr/packer.lua | 1 - home/dot_config/tmuxinator/dot.yml | 8 ++++ home/dot_config/tmuxinator/nb.yml | 17 +++++++ home/dot_config/tmuxinator/task.yml | 55 ++++++++++++++++++++++ home/dot_gitconfig | 14 ++++++ home/dot_zprofile | 17 +++++++ home/dot_zshrc | 9 ++-- home/private_dot_ssh/config | 3 ++ provision/tasks/desktop/packages.yml | 2 +- provision/tasks/development/packages.yml | 1 + provision/tasks/system/configs.yml | 7 +++ provision/tasks/system/packages.yml | 5 ++ readme.md | 2 +- 19 files changed, 207 insertions(+), 56 deletions(-) delete mode 100644 home/bin/executable_tmux-dot delete mode 100644 home/bin/executable_tmux-splat create mode 100644 home/bin/executable_void-doctor create mode 100644 home/devel/work/dot_gitconfig.work create mode 100644 home/dot_config/tmuxinator/dot.yml create mode 100644 home/dot_config/tmuxinator/nb.yml create mode 100644 home/dot_config/tmuxinator/task.yml create mode 100644 home/dot_gitconfig create mode 100644 home/dot_zprofile create mode 100644 home/private_dot_ssh/config diff --git a/additional-setup.md b/additional-setup.md index 37b0c3a6..d234ee10 100644 --- a/additional-setup.md +++ b/additional-setup.md @@ -88,3 +88,21 @@ taskopen). My GTK theme is pulled down by chezmoi, but isn't active by default. This can be fixed with the lxappearance gui. + +## Single GPU Passthrough with Windows + +Install libvirt hooks: + +```bash +sudo mkdir -p /etc/libvirt/hooks +sudo wget 'https://raw.githubusercontent.com/PassthroughPOST/VFIO-Tools/master/libvirt_hooks/qemu' \ + -O /etc/libvirt/hooks/qemu +sudo chmod +x /etc/libvirt/hooks/qemu +``` + +reboot.... + + +```bash + +``` diff --git a/home/bin/executable_tmux-dot b/home/bin/executable_tmux-dot deleted file mode 100644 index 56e6ba2d..00000000 --- a/home/bin/executable_tmux-dot +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -DIR="~/.local/share/chezmoi" - -SESSION="Dots" -SESSIONEXISTS=$(tmux list-sessions | grep $SESSION) - -if [ "$SESSIONEXISTS" = "" ] -then - tmux new-session -s $SESSION -d - tmux rename-window -t $SESSION:1 'Edit' - tmux send-keys -t 'Edit' "cd ${DIR}" C-m 'nvim' C-m - tmux new-window -t $SESSION:2 -n 'Term' - tmux send-keys -t 'Term' "cd ${DIR}" C-m 'clear' C-m -fi - -tmux attach-session -t $SESSION:1 diff --git a/home/bin/executable_tmux-splat b/home/bin/executable_tmux-splat deleted file mode 100644 index 9050be99..00000000 --- a/home/bin/executable_tmux-splat +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -FRONT_DIR="~/devel/work/genisys/splat-react" -BACK_DIR="~/devel/work/genisys/splat-python" - -SESSION="Splat" -SESSIONEXISTS=$(tmux list-sessions | grep $SESSION) - -if [ "$SESSIONEXISTS" = "" ] -then - tmux new-session -s $SESSION -d - tmux rename-window -t $SESSION:1 'Edit' - tmux send-keys -t 'Edit' "cd ${FRONT_DIR}" C-m 'nvim' C-m - tmux new-window -t $SESSION:2 -n 'Term' - tmux send-keys -t 'Term' "cd ${FRONT_DIR}" C-m 'clear' C-m - tmux new-window -t $SESSION:3 -n 'Front' - tmux send-keys -t 'Front' "cd ${FRONT_DIR}" C-m 'npm run dev' C-m - tmux new-window -t $SESSION:4 -n 'Back' - tmux send-keys -t 'Back' "cd ${BACK_DIR}" C-m './start-dev.sh admin' C-m -fi - -tmux attach-session -t $SESSION:1 diff --git a/home/bin/executable_void-doctor b/home/bin/executable_void-doctor new file mode 100644 index 00000000..00ec4275 --- /dev/null +++ b/home/bin/executable_void-doctor @@ -0,0 +1,39 @@ +import yaml +import subprocess + +print("I'm the void doctor!") + +with open('/home/tstarr/.local/share/chezmoi/provision/tasks/desktop/packages.yml', 'r') as f: + in_yaml = yaml.safe_load(f) + +installed = subprocess.getoutput("xbps-query -m | sed 's!-[^-]*$!!'").split("\n") +installed.extend(subprocess.getoutput("flatpak list --columns=application").split("\n")) + +standard_keys = ["xbps", "flatpak"] +custom_keys = { "xbps-src": {"key": "include_tasks", "value": "xbps-src.yml"}} + +def parse_xbps_src(in_dict): + pack_list = [] + for item in in_dict["loop"]: + if "package" in item.keys(): + pack_list.append(item["package"]) + return pack_list + +packages = [] + +for item in in_yaml: + # Check standard for standard keys + for key in standard_keys: + if key in item.keys(): + packages.extend(item[key]["name"]) + + # Check custom if standard doesn't work + for key in custom_keys.keys(): + if custom_keys[key]["key"] in item.keys(): + if custom_keys[key]["value"] in item[custom_keys[key]["key"]]: + if key == "xbps": + packages.extend(parse_xbps_src(item)) + +not_ansible = [i for i in installed if i not in packages] +print("Installed, but not in ansible: ", not_ansible) + diff --git a/home/devel/work/dot_gitconfig.work b/home/devel/work/dot_gitconfig.work new file mode 100644 index 00000000..1d3fc26a --- /dev/null +++ b/home/devel/work/dot_gitconfig.work @@ -0,0 +1,9 @@ +# work .gitconfig + +[user] +email = tyler.starr.1@us.af.mil +name = Tyler Starr +signingkey = C0D188999C0697C0 + +[gitlab] +user = "tstarr" diff --git a/home/dot_config/i3/config.tmpl b/home/dot_config/i3/config.tmpl index 375723b5..9cd74f54 100644 --- a/home/dot_config/i3/config.tmpl +++ b/home/dot_config/i3/config.tmpl @@ -95,19 +95,15 @@ for_window [con_mark="scratch-term"] floating enable, \ resize set 800 px 600 px, \ move position 880 px 420 px -for_window [con_mark="scratch-nnn"] floating enable, \ - resize set 800 px 600 px, \ - move position 880 px 420 px - for_window [con_mark="scratch-warrior"] floating enable, \ - resize set 1000 px 800 px, \ - move position 780 px 320 px + resize set 1500 px 800 px, \ + move position 530 px 320 px for_window [class="Blueman-manager"] floating enable, \ resize set 1000 px 800 px, \ move position 780 px 320 px -for_window [class="Nm-connection-editor"] floating enable, \ +for_window [class="scratch-nb"] floating enable, \ resize set 1000 px 800 px, \ move position 780 px 320 px @@ -209,7 +205,7 @@ bindsym $mod+a exec rofi -show drun -show-icons bindsym $mod+Shift+a exec rofi -show window -show-icons bindsym $mod+o mode open mode open { - bindsym b exec firefox, $e + bindsym b exec flatpak run org.mozilla.firefox, $e bindsym s exec steam, $e bindsym d exec flatpak run com.discordapp.Discord, $e bindsym Escape mode default @@ -221,9 +217,9 @@ mode scratch { bindsym Return exec $HOME/.config/i3/scripts/scratch.sh \ 'scratch-term' 'alacritty', $e bindsym n exec $HOME/.config/i3/scripts/scratch.sh \ - 'scratch-nnn' 'alacritty -e nnn -d -e -H -r', $e + 'scratch-nb' 'alacritty -e tmuxinator start nb', $e bindsym t exec $HOME/.config/i3/scripts/scratch.sh \ - 'scratch-warrior' 'alacritty -e taskwarrior-tui', $e + 'scratch-warrior' 'alacritty -e tmuxinator start task', $e bindsym Escape mode default } @@ -233,6 +229,7 @@ mode scratch { exec --no-startup-id "autorandr --change && i3-msg restart" exec --no-startup-id "pipewire & pipewire-pulse &" +exec --no-startup-id "udiskie &" exec_always --no-startup-id "$HOME/.config/i3/scripts/polybar.sh" exec_always --no-startup-id "blueman-applet" exec_always --no-startup-id "xsetroot -solid '#282A36'" diff --git a/home/dot_config/nvim/lua/tstarr/packer.lua b/home/dot_config/nvim/lua/tstarr/packer.lua index c427183d..32dddf6d 100644 --- a/home/dot_config/nvim/lua/tstarr/packer.lua +++ b/home/dot_config/nvim/lua/tstarr/packer.lua @@ -33,7 +33,6 @@ return require('packer').startup(function(use) use ('hrsh7th/nvim-cmp') use ('L3MON4D3/LuaSnip') use ('saadparwaiz1/cmp_luasnip') - use ('alker0/chezmoi.vim') end) diff --git a/home/dot_config/tmuxinator/dot.yml b/home/dot_config/tmuxinator/dot.yml new file mode 100644 index 00000000..66eaa5d8 --- /dev/null +++ b/home/dot_config/tmuxinator/dot.yml @@ -0,0 +1,8 @@ +# /home/tstarr/.config/tmuxinator/dot.yml + +name: dot +root: ~/.local/share/chezmoi + +windows: + - editor: nvim + - term: clear diff --git a/home/dot_config/tmuxinator/nb.yml b/home/dot_config/tmuxinator/nb.yml new file mode 100644 index 00000000..b8fdb688 --- /dev/null +++ b/home/dot_config/tmuxinator/nb.yml @@ -0,0 +1,17 @@ +# /home/tstarr/.config/tmuxinator/nb.yml + +name: nb +root: ~/ + +on_project_first_start: ssh-add ~/.ssh/personal_github + +windows: + - home: + - nb use home + - clear + - nb + - void: + - nb use void + - clear + - nb + - server: nb browse --serve diff --git a/home/dot_config/tmuxinator/task.yml b/home/dot_config/tmuxinator/task.yml new file mode 100644 index 00000000..49dc89d2 --- /dev/null +++ b/home/dot_config/tmuxinator/task.yml @@ -0,0 +1,55 @@ +# /home/tstarr/.config/tmuxinator/task.yml + +name: task +root: ~/ + +# Optional tmux socket +# socket_name: foo + +# Note that the pre and post options have been deprecated and will be replaced by +# project hooks. + +# Project hooks + +# Runs on project start, always +# on_project_start: command + +# Run on project start, the first time +# on_project_first_start: command + +# Run on project start, after the first time +# on_project_restart: command + +# Run on project exit ( detaching from tmux session ) +# on_project_exit: command + +# Run on project stop +# on_project_stop: command + +# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions. +# pre_window: rbenv shell 2.0.0-p247 + +# Pass command line options to tmux. Useful for specifying a different tmux.conf. +# tmux_options: -f ~/.tmux.mac.conf + +# Change the command to call tmux. This can be used by derivatives/wrappers like byobu. +# tmux_command: byobu + +# Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used. +# startup_window: editor + +# Specifies (by index) which pane of the specified window will be selected on project startup. If not set, the first pane is used. +# startup_pane: 1 + +# Controls whether the tmux session should be attached to automatically. Defaults to true. +# attach: false + +windows: + - main: + layout: even-horizontal + panes: + - calendar: + - vdirsyncer -c ~/.config/vdirsyncer/config_calendar sync + - khal interactive + - task_mgmt: + - taskwarrior-tui diff --git a/home/dot_gitconfig b/home/dot_gitconfig new file mode 100644 index 00000000..4f9760aa --- /dev/null +++ b/home/dot_gitconfig @@ -0,0 +1,14 @@ +# gloabl .gitconfig + +[user] + email = starrtyler88@gmail.com + name = Tyler Starr + +[github] + user = "starr-dusT" + +[core] + sshCommand = "ssh -i ~/.ssh/personal_github" + +[includeIf "gitdir:~/devel/work/**"] + path = ~/devel/work/.gitconfig.work diff --git a/home/dot_zprofile b/home/dot_zprofile new file mode 100644 index 00000000..ef2f0c84 --- /dev/null +++ b/home/dot_zprofile @@ -0,0 +1,17 @@ +export SSH_AUTH_SOCK=${HOME}/.ssh/agent +if ! pgrep -u ${USER} ssh-agent > /dev/null; then + rm -f ${SSH_AUTH_SOCK} +fi +if [ ! -S ${SSH_AUTH_SOCK} ]; then + eval $(ssh-agent -a ${SSH_AUTH_SOCK} 2> /dev/null) +fi +if test -z "${XDG_RUNTIME_DIR}"; then + export XDG_RUNTIME_DIR=/tmp/${UID}-runtime-dir + if ! test -d "${XDG_RUNTIME_DIR}"; then + mkdir "${XDG_RUNTIME_DIR}" + chmod 0700 "${XDG_RUNTIME_DIR}" + fi +fi +#if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then +# startx +#fi diff --git a/home/dot_zshrc b/home/dot_zshrc index 1214911f..48e66f1d 100644 --- a/home/dot_zshrc +++ b/home/dot_zshrc @@ -105,10 +105,11 @@ export EDITOR=nvim # users are encouraged to define aliases within the ZSH_CUSTOM folder. # For a full list of active aliases, run `alias`. # -# Example aliases -alias spl="tmux_splat" -alias n="nnn -d -e -H -r" -alias s="startx" + +# tmuxinator +alias tsplat='tmuxinator start splat' +alias tdot='tmuxinator start dot' +alias ttask='tmuxinator start task' # Chezmoi alias cc="chezmoi cd" diff --git a/home/private_dot_ssh/config b/home/private_dot_ssh/config new file mode 100644 index 00000000..5b1ab8fb --- /dev/null +++ b/home/private_dot_ssh/config @@ -0,0 +1,3 @@ +Host * + AddKeysToAgent yes + IdentityFile ~/.ssh/github_personal diff --git a/provision/tasks/desktop/packages.yml b/provision/tasks/desktop/packages.yml index a4b54597..39064297 100644 --- a/provision/tasks/desktop/packages.yml +++ b/provision/tasks/desktop/packages.yml @@ -12,7 +12,6 @@ - xrandr # Primitive command line interface to RandR extension - dunst # Lightweight and customizable notification daemon - ffmpeg # Decoding, encoding and streaming software - - firefox # Mozilla Firefox web browser - i3-gaps # Improved tiling window manager - i3 fork with more features - i3status # Status bar generator for i3bar, dzen2, xmobar or similar programs - nitrogen # Background browser and setter for X with support for Xinerama @@ -41,6 +40,7 @@ - name: Install desktop flatpaks flatpak: name: + - org.mozilla.firefox # Mozilla Firefox web browser - com.discordapp.Discord # VoIP and instant messaging social platform - org.gimp.GIMP # Create images and edit photographs - org.inkscape.Inkscape # Vector Graphics Editor diff --git a/provision/tasks/development/packages.yml b/provision/tasks/development/packages.yml index e0417e5b..305c6492 100644 --- a/provision/tasks/development/packages.yml +++ b/provision/tasks/development/packages.yml @@ -6,6 +6,7 @@ - ripgrep # Fast search tool inspired by ag and grep - fd # Simple, fast and user-friendly alternative to find - lazygit # Simple terminal UI for git commands + - ruby-tmuxinator # Create and manage complex tmux sessions easily state: present become: true diff --git a/provision/tasks/system/configs.yml b/provision/tasks/system/configs.yml index ee6bd052..2703a629 100644 --- a/provision/tasks/system/configs.yml +++ b/provision/tasks/system/configs.yml @@ -19,6 +19,12 @@ git config --global user.email {{ git_email }} git config --global user.name {{ git_user }} +- name: Stop system services + shell: | + rm -R /var/service/dhcpcd + ignore_errors: true + become: true + - name: Start system services shell: | ln -s /etc/sv/dbus /var/service @@ -28,6 +34,7 @@ ln -s /etc/sv/libvirtd /var/service ln -s /etc/sv/virtlockd /var/service ln -s /etc/sv/virtlogd /var/service + ln -s /etc/sv/NetworkManager /var/service ignore_errors: true become: true diff --git a/provision/tasks/system/packages.yml b/provision/tasks/system/packages.yml index 5969fcc9..a1fbbeb7 100644 --- a/provision/tasks/system/packages.yml +++ b/provision/tasks/system/packages.yml @@ -33,6 +33,11 @@ - virt-manager # User interface for managing virtual machines - bridge-utils # Layer2 ethernet bridging for Linux - trash-cli # Command line interface to the freedesktop.org trashcan + - udiskie # Removable disk automounter using udisks + - curl # Client that groks URLs + - wget # GNU wget download utility + - NetworkManager # Network Management daemon + - network-manager-applet # NetworkManager panel applet for GNOME state: present become: true diff --git a/readme.md b/readme.md index cb7562df..a9c18b3a 100644 --- a/readme.md +++ b/readme.md @@ -13,7 +13,7 @@ Install Void with BTRFS and run the following commands: ```bash sudo xbps-install -Syu -y -sudo xbps-install -S git chezmoi -y +sudo xbps-install -S vim git chezmoi -y git clone https://github.com/starr-dusT/dotfiles ~/.local/share/chezmoi ```