From dbb46eb92ac4561f7247e87339377a6a982d9478 Mon Sep 17 00:00:00 2001 From: bzoicas Date: Mon, 10 Jul 2023 10:41:17 +0300 Subject: [PATCH] Initial --- README.md | 45 ++ ansible.cfg | 4 + group_vars/all | 3 + host_vars/bzoicas-linux | 53 ++ hosts | 5 + local.yml | 66 ++ logs | 0 playbooks/send_completion_alert.yml | 14 + playbooks/send_failure_alert.yml | 30 + roles/base/files/ansible_setup/logrotate | 7 + .../distribution_packages/debian_sources.list | 8 + roles/base/files/system_setup/image_prep.sh | 19 + .../base/files/system_setup/openssh_issue.net | 4 + roles/base/files/system_setup/pi_cpu_temp.py | 36 ++ .../files/users/bzoicas/bash/bash_aliases | 79 +++ .../files/users/bzoicas/bash/bash_functions | 39 ++ .../files/users/bzoicas/bash/bash_profile | 3 + .../base/files/users/bzoicas/bash/bash_prompt | 2 + roles/base/files/users/bzoicas/bash/bashrc | 51 ++ roles/base/files/users/bzoicas/bash/profile | 3 + roles/base/files/users/bzoicas/git/gitconfig | 3 + roles/base/files/users/bzoicas/htop/htoprc | 26 + roles/base/files/users/bzoicas/inputrc | 2 + roles/base/files/users/bzoicas/mc/mc.ini | 143 +++++ .../users/bzoicas/ssh/bzoicas_id_rsa.pub | 0 .../files/users/bzoicas/tmux/tmux-battery.sh | 25 + .../files/users/bzoicas/tmux/tmux.conf.server | 116 ++++ .../users/bzoicas/tmux/tmux.conf.workstation | 116 ++++ .../users/bzoicas/vim/bubblegum-256-dark.vim | 159 +++++ roles/base/files/users/bzoicas/vim/cmake.vim | 6 + roles/base/files/users/bzoicas/vim/cpp.vim | 78 +++ .../files/users/bzoicas/vim/darktango.vim | 75 +++ roles/base/files/users/bzoicas/vim/html.vim | 504 ++++++++++++++++ .../files/users/bzoicas/vim/jellybeans.vim | 569 ++++++++++++++++++ .../base/files/users/bzoicas/vim/pathogen.vim | 353 +++++++++++ roles/base/files/users/bzoicas/vim/perl.vim | 89 +++ roles/base/files/users/bzoicas/vim/python.vim | 9 + roles/base/files/users/bzoicas/vim/ruby.vim | 67 +++ roles/base/files/users/bzoicas/vim/sql.vim | 3 + roles/base/files/users/bzoicas/vim/vimrc | 180 ++++++ roles/base/files/users/bzoicas/vim/xml.vim | 2 + .../base/files/users/bzoicas/vim/xoria256.vim | 142 +++++ .../base/files/users/bzoicas/vim/zenburn.vim | 467 ++++++++++++++ .../base/files/users/bzoicas/zsh/aliases.zsh | 75 +++ .../base/files/users/bzoicas/zsh/bindkey.zsh | 33 + .../files/users/bzoicas/zsh/completion.zsh | 54 ++ .../base/files/users/bzoicas/zsh/exports.zsh | 8 + .../files/users/bzoicas/zsh/functions.zsh | 157 +++++ .../base/files/users/bzoicas/zsh/history.zsh | 38 ++ roles/base/files/users/bzoicas/zsh/path.zsh | 1 + .../base/files/users/bzoicas/zsh/plugins.zsh | 2 + roles/base/files/users/bzoicas/zsh/prompt.zsh | 3 + roles/base/files/users/bzoicas/zsh/setopt.zsh | 38 ++ .../base/files/users/bzoicas/zsh/theming.zsh | 14 + roles/base/files/users/bzoicas/zsh/zshrc | 11 + roles/base/files/users/root/bash/bash_profile | 3 + roles/base/files/users/root/bash/bashrc | 108 ++++ roles/base/files/users/root/bash/profile | 3 + roles/base/files/users/root/tmux/tmux.conf | 113 ++++ roles/base/files/users/root/vim/vimrc | 163 +++++ roles/base/files/users/root/vim/xoria256.vim | 142 +++++ roles/base/files/users/root/zsh/zshrc | 147 +++++ roles/base/files/users/sudoers_bzoicas | 1 + roles/base/handlers/main.yml | 22 + roles/base/tasks/ansible_setup.yml | 53 ++ roles/base/tasks/main.yml | 30 + .../base/tasks/software/packages_cleanup.yml | 10 + .../tasks/software/packages_development.yml | 16 + roles/base/tasks/software/packages_pip.yml | 7 + .../tasks/software/packages_utilities.yml | 53 ++ roles/base/tasks/software/repositories.yml | 33 + roles/base/tasks/system_setup/clock.yml | 27 + roles/base/tasks/system_setup/locale.yml | 24 + roles/base/tasks/system_setup/logging.yml | 13 + roles/base/tasks/system_setup/memory.yml | 26 + roles/base/tasks/system_setup/microcode.yml | 17 + roles/base/tasks/system_setup/openssh.yml | 32 + roles/base/tasks/system_setup/scripts.yml | 18 + roles/base/tasks/users/bzoicas.yml | 223 +++++++ roles/base/tasks/users/root.yml | 33 + roles/base/templates/provision.sh.j2 | 22 + roles/base/templates/sshd_config.j2 | 33 + roles/base/vars/Archlinux.yml | 20 + roles/base/vars/Debian.yml | 20 + roles/base/vars/Fedora.yml | 20 + roles/base/vars/Pop!_OS.yml | 1 + roles/base/vars/Ubuntu.yml | 20 + roles/base/vars/elementary OS.yml | 1 + roles/base/vars/main.yml | 2 + roles/server/files/nrpe/check_hddtemp | 115 ++++ roles/server/files/nrpe/check_md_raid | 36 ++ roles/server/files/nrpe/check_mem | 116 ++++ roles/server/files/nrpe/check_nfs | 48 ++ roles/server/files/nrpe/logrotate | 7 + .../files/unattended-upgrades/20auto-upgrades | 4 + .../50unattended-upgrades_debian | 102 ++++ .../50unattended-upgrades_ubuntu | 131 ++++ roles/server/handlers/main.yml | 18 + roles/server/tasks/main.yml | 17 + roles/server/tasks/nrpe.yml | 69 +++ roles/server/tasks/qemu-agent.yml | 17 + roles/server/tasks/ufw.yml | 329 ++++++++++ roles/server/tasks/unattended_upgrades.yml | 37 ++ roles/server/templates/nrpe.cfg.j2 | 40 ++ roles/server/vars/Archlinux.yml | 12 + roles/server/vars/Debian.yml | 12 + roles/server/vars/Manjaro.yml | 12 + roles/server/vars/Pop!_OS.yml | 1 + roles/server/vars/Ubuntu.yml | 12 + roles/server/vars/elementary OS.yml | 1 + roles/workstation/files/autofs/auto.master | 1 + roles/workstation/files/autofs/auto.nfs | 0 roles/workstation/files/gnome/lockscreen.jpg | Bin 0 -> 1170616 bytes roles/workstation/files/gnome/wallpaper.png | Bin 0 -> 6598196 bytes .../bzoicas/.config/keepassxc/keepassxc.ini | 0 .../files/users/bzoicas/.config/redshift.conf | 45 ++ roles/workstation/files/users/bzoicas/asunder | 41 ++ .../files/users/bzoicas/bpytop.conf | 99 +++ .../files/users/bzoicas/directory_bookmarks | 1 + roles/workstation/files/users/bzoicas/gvimrc | 1 + .../files/users/bzoicas/kdenlive.desktop | 15 + .../files/users/bzoicas/mimeapps.list | 183 ++++++ .../files/users/bzoicas/nextcloud.cfg | 0 .../files/users/bzoicas/ssh_client_config | 0 .../workstation/files/users/bzoicas/stignore | 6 + .../files/users/bzoicas/terminator_config | 44 ++ .../files/users/bzoicas/ulauncher.desktop | 8 + .../files/users/bzoicas/user-dirs.dirs | 15 + .../files/xfce/.config/Thunar/accels.scm | 116 ++++ .../files/xfce/.config/Thunar/uca.xml | 13 + .../xfce4/desktop/icons.screen.latest.rc | 1 + .../xfce4/desktop/icons.screen0-1008x698.rc | 19 + .../xfce4/desktop/icons.screen0-1136x636.rc | 11 + .../xfce4/desktop/icons.screen0-1264x631.rc | 11 + .../xfce4/desktop/icons.screen0-1264x712.rc | 11 + .../xfce4/desktop/icons.screen0-1373x695.rc | 19 + .../xfce4/desktop/icons.screen0-1664x962.rc | 11 + .../xfce4/desktop/icons.screen0-1664x980.rc | 19 + .../xfce4/desktop/icons.screen0-1664x993.rc | 11 + .../xfce4/desktop/icons.screen0-1712x1023.rc | 11 + .../xfce4/desktop/icons.screen0-1768x916.rc | 15 + .../xfce4/desktop/icons.screen0-1768x943.rc | 15 + .../xfce4/desktop/icons.screen0-1776x1027.rc | 15 + .../xfce4/desktop/icons.screen0-1776x1049.rc | 15 + .../xfce4/desktop/icons.screen0-1776x1077.rc | 15 + .../xfce4/desktop/icons.screen0-1776x1291.rc | 11 + .../xfce4/desktop/icons.screen0-1776x917.rc | 15 + .../xfce4/desktop/icons.screen0-1776x926.rc | 11 + .../xfce4/desktop/icons.screen0-1776x944.rc | 15 + .../xfce4/desktop/icons.screen0-1776x945.rc | 23 + .../xfce4/desktop/icons.screen0-1803x943.rc | 15 + .../xfce4/desktop/icons.screen0-1815x996.rc | 15 + .../xfce4/desktop/icons.screen0-1884x1011.rc | 23 + .../xfce4/desktop/icons.screen0-1884x945.rc | 23 + .../xfce4/desktop/icons.screen0-1891x1020.rc | 23 + .../xfce4/desktop/icons.screen0-1904x1006.rc | 43 ++ .../xfce4/desktop/icons.screen0-1904x1010.rc | 19 + .../xfce4/desktop/icons.screen0-1904x1011.rc | 23 + .../xfce4/desktop/icons.screen0-1904x1037.rc | 23 + .../xfce4/desktop/icons.screen0-1904x1064.rc | 43 ++ .../xfce4/desktop/icons.screen0-1904x1077.rc | 15 + .../xfce4/desktop/icons.screen0-1904x1078.rc | 23 + .../xfce4/desktop/icons.screen0-1904x1112.rc | 11 + .../xfce4/desktop/icons.screen0-1904x1130.rc | 15 + .../xfce4/desktop/icons.screen0-1904x1157.rc | 15 + .../xfce4/desktop/icons.screen0-1904x1184.rc | 15 + .../xfce4/desktop/icons.screen0-1904x291.rc | 23 + .../xfce4/desktop/icons.screen0-1904x890.rc | 15 + .../xfce4/desktop/icons.screen0-1904x945.rc | 23 + .../xfce4/desktop/icons.screen0-1904x969.rc | 19 + .../xfce4/desktop/icons.screen0-1904x980.rc | 19 + .../xfce4/desktop/icons.screen0-1907x943.rc | 15 + .../xfce4/desktop/icons.screen0-1948x1357.rc | 15 + .../xfce4/desktop/icons.screen0-2032x1237.rc | 23 + .../xfce4/desktop/icons.screen0-2032x1452.rc | 11 + .../xfce4/desktop/icons.screen0-2032x1484.rc | 15 + .../xfce4/desktop/icons.screen0-2288x1383.rc | 11 + .../xfce4/desktop/icons.screen0-2288x1388.rc | 15 + .../xfce4/desktop/icons.screen0-2288x1397.rc | 23 + .../xfce4/desktop/icons.screen0-2516x1584.rc | 27 + .../xfce4/desktop/icons.screen0-2544x1397.rc | 23 + .../xfce4/desktop/icons.screen0-2544x1512.rc | 11 + .../xfce4/desktop/icons.screen0-2544x1514.rc | 11 + .../xfce4/desktop/icons.screen0-2544x1516.rc | 11 + .../xfce4/desktop/icons.screen0-2544x1517.rc | 15 + .../xfce4/desktop/icons.screen0-2544x1531.rc | 11 + .../xfce4/desktop/icons.screen0-2544x1556.rc | 27 + .../xfce4/desktop/icons.screen0-2544x1557.rc | 15 + .../xfce4/desktop/icons.screen0-2544x1584.rc | 11 + .../xfce4/desktop/icons.screen0-2928x1010.rc | 15 + .../xfce4/desktop/icons.screen0-2928x1060.rc | 15 + .../xfce4/desktop/icons.screen0-2928x1157.rc | 15 + .../xfce4/desktop/icons.screen0-2928x698.rc | 15 + .../xfce4/desktop/icons.screen0-3104x1010.rc | 19 + .../xfce4/desktop/icons.screen0-3312x1992.rc | 11 + .../xfce4/desktop/icons.screen0-3312x2037.rc | 23 + .../xfce4/desktop/icons.screen0-3510x1852.rc | 15 + .../xfce4/desktop/icons.screen0-3510x917.rc | 15 + .../xfce4/desktop/icons.screen0-3824x1009.rc | 19 + .../xfce4/desktop/icons.screen0-3824x1010.rc | 19 + .../xfce4/desktop/icons.screen0-3824x1011.rc | 23 + .../xfce4/desktop/icons.screen0-3824x1037.rc | 15 + .../xfce4/desktop/icons.screen0-3824x1067.rc | 15 + .../xfce4/desktop/icons.screen0-3824x1089.rc | 19 + .../xfce4/desktop/icons.screen0-3824x1130.rc | 15 + .../xfce4/desktop/icons.screen0-3824x1131.rc | 23 + .../xfce4/desktop/icons.screen0-3824x1157.rc | 15 + .../xfce4/desktop/icons.screen0-3824x1184.rc | 19 + .../xfce4/desktop/icons.screen0-3824x698.rc | 19 + .../xfce4/desktop/icons.screen0-4128x1011.rc | 23 + .../xfce4/desktop/icons.screen0-4128x1131.rc | 23 + .../xfce4/desktop/icons.screen0-4128x699.rc | 23 + .../xfce4/desktop/icons.screen0-5024x1010.rc | 19 + .../xfce4/desktop/icons.screen0-5024x1011.rc | 23 + .../xfce4/desktop/icons.screen0-5024x1129.rc | 19 + .../xfce4/desktop/icons.screen0-5024x1131.rc | 23 + .../xfce4/desktop/icons.screen0-5024x1904.rc | 23 + .../xfce4/desktop/icons.screen0-5024x699.rc | 23 + .../xfce4/desktop/icons.screen0-5024x841.rc | 19 + .../xfce4/desktop/icons.screen0-5744x1131.rc | 23 + .../xfce4/desktop/icons.screen0-5744x1184.rc | 19 + .../xfce4/desktop/icons.screen0-624x410.rc | 19 + .../xfce4/desktop/icons.screen0-784x531.rc | 23 + .../xfce4/desktop/icons.screen0-784x703.rc | 15 + .../xfce4/desktop/icons.screen0-880x450.rc | 15 + .../xfce4/desktop/icons.screen0-944x512.rc | 11 + .../xfce4/desktop/icons.screen0-998x713.rc | 23 + .../files/xfce/.config/xfce4/help.rc | 2 + .../files/xfce/.config/xfce4/helpers.rc | 5 + .../xfce/.config/xfce4/panel/cpufreq-23.rc | 6 + .../xfce/.config/xfce4/panel/cpufreq-28.rc | 10 + .../xfce/.config/xfce4/panel/cpufreq-33.rc | 5 + .../xfce4/panel/cpufreq-33.rc.1598.tmp | 0 .../xfce/.config/xfce4/panel/cpugraph-15.rc | 16 + .../xfce/.config/xfce4/panel/cpugraph-16.rc | 13 + .../xfce/.config/xfce4/panel/cpugraph-17.rc | 12 + .../xfce/.config/xfce4/panel/cpugraph-29.rc | 17 + .../xfce/.config/xfce4/panel/cpugraph-7.rc | 11 + .../xfce/.config/xfce4/panel/diskperf-19.rc | 12 + .../xfce/.config/xfce4/panel/diskperf-20.rc | 12 + .../panel/launcher-1/15992339311.desktop | 11 + .../panel/launcher-10/16140879001.desktop | 15 + .../panel/launcher-16/15992339952.desktop | 11 + .../panel/launcher-17/15998305152.desktop | 10 + .../panel/launcher-17/16206532721.desktop | 10 + .../panel/launcher-18/15998304421.desktop | 10 + .../panel/launcher-18/16799811132.desktop | 15 + .../panel/launcher-2/15992206361.desktop | 21 + .../panel/launcher-2/16174497421.desktop | 16 + .../panel/launcher-2/16842300041.desktop | 22 + .../panel/launcher-20/15998306773.desktop | 13 + .../panel/launcher-20/16842300862.desktop | 18 + .../panel/launcher-23/16140879162.desktop | 18 + .../panel/launcher-23/16842301153.desktop | 19 + .../panel/launcher-23/16848480101.desktop | 19 + .../panel/launcher-24/16140879373.desktop | 11 + .../panel/launcher-24/16173896701.desktop | 22 + .../panel/launcher-24/16842301714.desktop | 15 + .../panel/launcher-25/16152708001.desktop | 15 + .../panel/launcher-25/16849193881.desktop | 22 + .../panel/launcher-26/16852585191.desktop | 13 + .../panel/launcher-27/16173899834.desktop | 10 + .../panel/launcher-27/16842306265.desktop | 47 ++ .../panel/launcher-28/16173899895.desktop | 13 + .../panel/launcher-29/16173899926.desktop | 16 + .../panel/launcher-30/16173899957.desktop | 15 + .../panel/launcher-31/16884033581.desktop | 45 ++ .../panel/launcher-32/16884034072.desktop | 19 + .../panel/launcher-34/161743054610.desktop | 19 + .../panel/launcher-35/161743054811.desktop | 18 + .../panel/launcher-36/161743066712.desktop | 14 + .../panel/launcher-41/15992215366.desktop | 22 + .../panel/launcher-42/15992215477.desktop | 24 + .../panel/launcher-43/15992215708.desktop | 24 + .../panel/launcher-44/15992217329.desktop | 24 + .../panel/launcher-45/159922188311.desktop | 10 + .../panel/launcher-47/159922489314.desktop | 10 + .../xfce/.config/xfce4/panel/netload-15.rc | 15 + .../xfce/.config/xfce4/panel/netload-19.rc | 15 + .../xfce/.config/xfce4/panel/netload-21.rc | 15 + .../xfce/.config/xfce4/panel/netload-31.rc | 14 + .../xfce/.config/xfce4/panel/systemload-19.rc | 26 + .../xfce/.config/xfce4/panel/systemload-6.rc | 26 + .../.config/xfce4/panel/whiskermenu-32.rc | 88 +++ .../.config/xfce4/panel/whiskermenu-33.rc | 80 +++ .../xfce/.config/xfce4/panel/whiskermenu-7.rc | 88 +++ .../xfce4/panel/xfce4-clipman-actions.xml | 44 ++ .../xfce4/panel/xfce4-sensors-plugin-18.rc | 46 ++ .../xfce4/panel/xfce4-sensors-plugin-36.rc | 103 ++++ .../xfce/.config/xfce4/terminal/accels.scm | 58 ++ .../xfce/.config/xfce4/terminal/terminalrc | 35 ++ .../xfce/.config/xfce4/xfce4-screenshooter | 8 + .../xfce/.config/xfce4/xfce4-taskmanager.rc | 25 + .../xfconf/xfce-perchannel-xml/catfish.xml | 12 + .../xfconf/xfce-perchannel-xml/displays.xml | 200 ++++++ .../xfce-perchannel-xml/keyboard-layout.xml | 8 + .../xfconf/xfce-perchannel-xml/keyboards.xml | 7 + .../xfconf/xfce-perchannel-xml/pointers.xml | 51 ++ .../xfconf/xfce-perchannel-xml/ristretto.xml | 9 + .../xfce-perchannel-xml/thunar-volman.xml | 16 + .../xfconf/xfce-perchannel-xml/thunar.xml | 19 + .../xfce-perchannel-xml/xfce4-appfinder.xml | 46 ++ .../xfce-perchannel-xml/xfce4-desktop.xml | 206 +++++++ .../xfce4-keyboard-shortcuts.xml | 159 +++++ .../xfce-perchannel-xml/xfce4-notifyd.xml | 61 ++ .../xfce-perchannel-xml/xfce4-panel.xml | 308 ++++++++++ .../xfce4-power-manager.xml | 23 + .../xfce-perchannel-xml/xfce4-screensaver.xml | 45 ++ .../xfce-perchannel-xml/xfce4-session.xml | 41 ++ .../xfce4-settings-editor.xml | 9 + .../xfce4-settings-manager.xml | 8 + .../xfce-perchannel-xml/xfce4-taskmanager.xml | 10 + .../xfce-perchannel-xml/xfdashboard.xml | 5 + .../xfconf/xfce-perchannel-xml/xfwm4.xml | 92 +++ .../xfconf/xfce-perchannel-xml/xsettings.xml | 48 ++ roles/workstation/handlers/main.yml | 33 + .../desktop_environments/gnome/appearance.yml | 63 ++ .../gnome/keybindings.yml | 212 +++++++ .../desktop_environments/gnome/nautilus.yml | 41 ++ .../desktop_environments/gnome/packages.yml | 50 ++ .../gnome/peripherals.yml | 97 +++ .../gnome/shell_settings.yml | 118 ++++ .../desktop_environments/gnome/terminal.yml | 23 + .../desktop_environments/gnome/tracker.yml | 26 + roles/workstation/tasks/main.yml | 88 +++ .../workstation/tasks/software/audacious.yml | 8 + roles/workstation/tasks/software/audacity.yml | 8 + roles/workstation/tasks/software/boto.yml | 7 + roles/workstation/tasks/software/brave.yml | 42 ++ roles/workstation/tasks/software/codecs.yml | 6 + roles/workstation/tasks/software/firefox.yml | 8 + roles/workstation/tasks/software/glimpse.yml | 8 + .../tasks/software/google_chrome.yml | 41 ++ .../workstation/tasks/software/keepassxc.yml | 37 ++ .../tasks/software/libreoffice.yml | 8 + roles/workstation/tasks/software/lutris.yml | 30 + .../tasks/software/misc_packages.yml | 83 +++ .../workstation/tasks/software/nextcloud.yml | 26 + roles/workstation/tasks/software/packer.yml | 9 + roles/workstation/tasks/software/solaar.yml | 10 + roles/workstation/tasks/software/spotify.yml | 8 + roles/workstation/tasks/software/steam.yml | 89 +++ .../tasks/software/sublime_text.yml | 40 ++ .../workstation/tasks/software/terraform.yml | 9 + .../tasks/software/thunderbird.yml | 18 + .../workstation/tasks/software/ulauncher.yml | 32 + .../workstation/tasks/software/virtualbox.yml | 46 ++ roles/workstation/tasks/software/vlc.yml | 10 + roles/workstation/tasks/software/vscodium.yml | 40 ++ .../workstation/tasks/system_setup/autofs.yml | 43 ++ .../tasks/system_setup/scripts.yml | 1 + .../workstation/tasks/system_setup/tweaks.yml | 74 +++ roles/workstation/tasks/users/bzoicas.yml | 61 ++ roles/workstation/vars/Archlinux.yml | 31 + roles/workstation/vars/Debian.yml | 31 + roles/workstation/vars/Fedora.yml | 30 + roles/workstation/vars/Manjaro.yml | 31 + roles/workstation/vars/Pop!_OS.yml | 31 + roles/workstation/vars/Ubuntu.yml | 31 + roles/workstation/vars/elementary OS.yml | 1 + 360 files changed, 13521 insertions(+) create mode 100644 README.md create mode 100644 ansible.cfg create mode 100644 group_vars/all create mode 100644 host_vars/bzoicas-linux create mode 100755 hosts create mode 100644 local.yml create mode 100644 logs create mode 100644 playbooks/send_completion_alert.yml create mode 100644 playbooks/send_failure_alert.yml create mode 100644 roles/base/files/ansible_setup/logrotate create mode 100644 roles/base/files/distribution_packages/debian_sources.list create mode 100644 roles/base/files/system_setup/image_prep.sh create mode 100644 roles/base/files/system_setup/openssh_issue.net create mode 100644 roles/base/files/system_setup/pi_cpu_temp.py create mode 100644 roles/base/files/users/bzoicas/bash/bash_aliases create mode 100644 roles/base/files/users/bzoicas/bash/bash_functions create mode 100644 roles/base/files/users/bzoicas/bash/bash_profile create mode 100644 roles/base/files/users/bzoicas/bash/bash_prompt create mode 100644 roles/base/files/users/bzoicas/bash/bashrc create mode 100644 roles/base/files/users/bzoicas/bash/profile create mode 100644 roles/base/files/users/bzoicas/git/gitconfig create mode 100644 roles/base/files/users/bzoicas/htop/htoprc create mode 100644 roles/base/files/users/bzoicas/inputrc create mode 100644 roles/base/files/users/bzoicas/mc/mc.ini create mode 100644 roles/base/files/users/bzoicas/ssh/bzoicas_id_rsa.pub create mode 100644 roles/base/files/users/bzoicas/tmux/tmux-battery.sh create mode 100644 roles/base/files/users/bzoicas/tmux/tmux.conf.server create mode 100644 roles/base/files/users/bzoicas/tmux/tmux.conf.workstation create mode 100644 roles/base/files/users/bzoicas/vim/bubblegum-256-dark.vim create mode 100644 roles/base/files/users/bzoicas/vim/cmake.vim create mode 100644 roles/base/files/users/bzoicas/vim/cpp.vim create mode 100644 roles/base/files/users/bzoicas/vim/darktango.vim create mode 100644 roles/base/files/users/bzoicas/vim/html.vim create mode 100644 roles/base/files/users/bzoicas/vim/jellybeans.vim create mode 100644 roles/base/files/users/bzoicas/vim/pathogen.vim create mode 100644 roles/base/files/users/bzoicas/vim/perl.vim create mode 100644 roles/base/files/users/bzoicas/vim/python.vim create mode 100644 roles/base/files/users/bzoicas/vim/ruby.vim create mode 100644 roles/base/files/users/bzoicas/vim/sql.vim create mode 100644 roles/base/files/users/bzoicas/vim/vimrc create mode 100644 roles/base/files/users/bzoicas/vim/xml.vim create mode 100644 roles/base/files/users/bzoicas/vim/xoria256.vim create mode 100644 roles/base/files/users/bzoicas/vim/zenburn.vim create mode 100644 roles/base/files/users/bzoicas/zsh/aliases.zsh create mode 100644 roles/base/files/users/bzoicas/zsh/bindkey.zsh create mode 100644 roles/base/files/users/bzoicas/zsh/completion.zsh create mode 100644 roles/base/files/users/bzoicas/zsh/exports.zsh create mode 100644 roles/base/files/users/bzoicas/zsh/functions.zsh create mode 100644 roles/base/files/users/bzoicas/zsh/history.zsh create mode 100644 roles/base/files/users/bzoicas/zsh/path.zsh create mode 100644 roles/base/files/users/bzoicas/zsh/plugins.zsh create mode 100644 roles/base/files/users/bzoicas/zsh/prompt.zsh create mode 100644 roles/base/files/users/bzoicas/zsh/setopt.zsh create mode 100644 roles/base/files/users/bzoicas/zsh/theming.zsh create mode 100644 roles/base/files/users/bzoicas/zsh/zshrc create mode 100644 roles/base/files/users/root/bash/bash_profile create mode 100644 roles/base/files/users/root/bash/bashrc create mode 100644 roles/base/files/users/root/bash/profile create mode 100644 roles/base/files/users/root/tmux/tmux.conf create mode 100644 roles/base/files/users/root/vim/vimrc create mode 100644 roles/base/files/users/root/vim/xoria256.vim create mode 100644 roles/base/files/users/root/zsh/zshrc create mode 100644 roles/base/files/users/sudoers_bzoicas create mode 100644 roles/base/handlers/main.yml create mode 100644 roles/base/tasks/ansible_setup.yml create mode 100644 roles/base/tasks/main.yml create mode 100644 roles/base/tasks/software/packages_cleanup.yml create mode 100644 roles/base/tasks/software/packages_development.yml create mode 100644 roles/base/tasks/software/packages_pip.yml create mode 100644 roles/base/tasks/software/packages_utilities.yml create mode 100644 roles/base/tasks/software/repositories.yml create mode 100644 roles/base/tasks/system_setup/clock.yml create mode 100644 roles/base/tasks/system_setup/locale.yml create mode 100644 roles/base/tasks/system_setup/logging.yml create mode 100644 roles/base/tasks/system_setup/memory.yml create mode 100644 roles/base/tasks/system_setup/microcode.yml create mode 100644 roles/base/tasks/system_setup/openssh.yml create mode 100644 roles/base/tasks/system_setup/scripts.yml create mode 100644 roles/base/tasks/users/bzoicas.yml create mode 100644 roles/base/tasks/users/root.yml create mode 100644 roles/base/templates/provision.sh.j2 create mode 100644 roles/base/templates/sshd_config.j2 create mode 100644 roles/base/vars/Archlinux.yml create mode 100644 roles/base/vars/Debian.yml create mode 100644 roles/base/vars/Fedora.yml create mode 120000 roles/base/vars/Pop!_OS.yml create mode 100644 roles/base/vars/Ubuntu.yml create mode 120000 roles/base/vars/elementary OS.yml create mode 100644 roles/base/vars/main.yml create mode 100644 roles/server/files/nrpe/check_hddtemp create mode 100644 roles/server/files/nrpe/check_md_raid create mode 100644 roles/server/files/nrpe/check_mem create mode 100644 roles/server/files/nrpe/check_nfs create mode 100644 roles/server/files/nrpe/logrotate create mode 100644 roles/server/files/unattended-upgrades/20auto-upgrades create mode 100644 roles/server/files/unattended-upgrades/50unattended-upgrades_debian create mode 100644 roles/server/files/unattended-upgrades/50unattended-upgrades_ubuntu create mode 100644 roles/server/handlers/main.yml create mode 100644 roles/server/tasks/main.yml create mode 100644 roles/server/tasks/nrpe.yml create mode 100644 roles/server/tasks/qemu-agent.yml create mode 100644 roles/server/tasks/ufw.yml create mode 100644 roles/server/tasks/unattended_upgrades.yml create mode 100644 roles/server/templates/nrpe.cfg.j2 create mode 100644 roles/server/vars/Archlinux.yml create mode 100644 roles/server/vars/Debian.yml create mode 100644 roles/server/vars/Manjaro.yml create mode 120000 roles/server/vars/Pop!_OS.yml create mode 100644 roles/server/vars/Ubuntu.yml create mode 120000 roles/server/vars/elementary OS.yml create mode 100644 roles/workstation/files/autofs/auto.master create mode 100644 roles/workstation/files/autofs/auto.nfs create mode 100644 roles/workstation/files/gnome/lockscreen.jpg create mode 100644 roles/workstation/files/gnome/wallpaper.png create mode 100644 roles/workstation/files/users/bzoicas/.config/keepassxc/keepassxc.ini create mode 100644 roles/workstation/files/users/bzoicas/.config/redshift.conf create mode 100644 roles/workstation/files/users/bzoicas/asunder create mode 100644 roles/workstation/files/users/bzoicas/bpytop.conf create mode 100644 roles/workstation/files/users/bzoicas/directory_bookmarks create mode 100644 roles/workstation/files/users/bzoicas/gvimrc create mode 100644 roles/workstation/files/users/bzoicas/kdenlive.desktop create mode 100644 roles/workstation/files/users/bzoicas/mimeapps.list create mode 100644 roles/workstation/files/users/bzoicas/nextcloud.cfg create mode 100644 roles/workstation/files/users/bzoicas/ssh_client_config create mode 100644 roles/workstation/files/users/bzoicas/stignore create mode 100644 roles/workstation/files/users/bzoicas/terminator_config create mode 100644 roles/workstation/files/users/bzoicas/ulauncher.desktop create mode 100644 roles/workstation/files/users/bzoicas/user-dirs.dirs create mode 100644 roles/workstation/files/xfce/.config/Thunar/accels.scm create mode 100644 roles/workstation/files/xfce/.config/Thunar/uca.xml create mode 120000 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen.latest.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1008x698.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1136x636.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1264x631.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1264x712.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1373x695.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1664x962.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1664x980.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1664x993.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1712x1023.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1768x916.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1768x943.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1776x1027.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1776x1049.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1776x1077.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1776x1291.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1776x917.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1776x926.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1776x944.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1776x945.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1803x943.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1815x996.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1884x1011.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1884x945.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1891x1020.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1904x1006.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1904x1010.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1904x1011.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1904x1037.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1904x1064.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1904x1077.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1904x1078.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1904x1112.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1904x1130.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1904x1157.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1904x1184.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1904x291.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1904x890.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1904x945.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1904x969.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1904x980.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1907x943.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-1948x1357.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-2032x1237.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-2032x1452.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-2032x1484.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-2288x1383.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-2288x1388.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-2288x1397.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-2516x1584.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-2544x1397.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-2544x1512.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-2544x1514.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-2544x1516.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-2544x1517.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-2544x1531.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-2544x1556.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-2544x1557.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-2544x1584.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-2928x1010.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-2928x1060.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-2928x1157.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-2928x698.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-3104x1010.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-3312x1992.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-3312x2037.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-3510x1852.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-3510x917.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-3824x1009.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-3824x1010.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-3824x1011.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-3824x1037.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-3824x1067.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-3824x1089.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-3824x1130.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-3824x1131.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-3824x1157.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-3824x1184.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-3824x698.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-4128x1011.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-4128x1131.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-4128x699.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-5024x1010.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-5024x1011.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-5024x1129.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-5024x1131.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-5024x1904.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-5024x699.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-5024x841.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-5744x1131.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-5744x1184.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-624x410.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-784x531.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-784x703.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-880x450.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-944x512.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/desktop/icons.screen0-998x713.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/help.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/helpers.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/cpufreq-23.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/cpufreq-28.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/cpufreq-33.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/cpufreq-33.rc.1598.tmp create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/cpugraph-15.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/cpugraph-16.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/cpugraph-17.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/cpugraph-29.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/cpugraph-7.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/diskperf-19.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/diskperf-20.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-1/15992339311.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-10/16140879001.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-16/15992339952.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-17/15998305152.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-17/16206532721.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-18/15998304421.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-18/16799811132.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-2/15992206361.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-2/16174497421.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-2/16842300041.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-20/15998306773.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-20/16842300862.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-23/16140879162.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-23/16842301153.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-23/16848480101.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-24/16140879373.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-24/16173896701.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-24/16842301714.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-25/16152708001.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-25/16849193881.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-26/16852585191.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-27/16173899834.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-27/16842306265.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-28/16173899895.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-29/16173899926.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-30/16173899957.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-31/16884033581.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-32/16884034072.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-34/161743054610.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-35/161743054811.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-36/161743066712.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-41/15992215366.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-42/15992215477.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-43/15992215708.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-44/15992217329.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-45/159922188311.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/launcher-47/159922489314.desktop create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/netload-15.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/netload-19.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/netload-21.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/netload-31.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/systemload-19.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/systemload-6.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/whiskermenu-32.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/whiskermenu-33.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/whiskermenu-7.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/xfce4-clipman-actions.xml create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/xfce4-sensors-plugin-18.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/panel/xfce4-sensors-plugin-36.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/terminal/accels.scm create mode 100644 roles/workstation/files/xfce/.config/xfce4/terminal/terminalrc create mode 100644 roles/workstation/files/xfce/.config/xfce4/xfce4-screenshooter create mode 100644 roles/workstation/files/xfce/.config/xfce4/xfce4-taskmanager.rc create mode 100644 roles/workstation/files/xfce/.config/xfce4/xfconf/xfce-perchannel-xml/catfish.xml create mode 100644 roles/workstation/files/xfce/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml create mode 100644 roles/workstation/files/xfce/.config/xfce4/xfconf/xfce-perchannel-xml/keyboard-layout.xml create mode 100644 roles/workstation/files/xfce/.config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml create mode 100644 roles/workstation/files/xfce/.config/xfce4/xfconf/xfce-perchannel-xml/pointers.xml create mode 100644 roles/workstation/files/xfce/.config/xfce4/xfconf/xfce-perchannel-xml/ristretto.xml create mode 100644 roles/workstation/files/xfce/.config/xfce4/xfconf/xfce-perchannel-xml/thunar-volman.xml create mode 100644 roles/workstation/files/xfce/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml create mode 100644 roles/workstation/files/xfce/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-appfinder.xml create mode 100644 roles/workstation/files/xfce/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml create mode 100644 roles/workstation/files/xfce/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml create mode 100644 roles/workstation/files/xfce/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml create mode 100644 roles/workstation/files/xfce/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml create mode 100644 roles/workstation/files/xfce/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml create mode 100644 roles/workstation/files/xfce/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-screensaver.xml create mode 100644 roles/workstation/files/xfce/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml create mode 100644 roles/workstation/files/xfce/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-editor.xml create mode 100644 roles/workstation/files/xfce/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-manager.xml create mode 100644 roles/workstation/files/xfce/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-taskmanager.xml create mode 100644 roles/workstation/files/xfce/.config/xfce4/xfconf/xfce-perchannel-xml/xfdashboard.xml create mode 100644 roles/workstation/files/xfce/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml create mode 100644 roles/workstation/files/xfce/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml create mode 100644 roles/workstation/handlers/main.yml create mode 100644 roles/workstation/tasks/desktop_environments/gnome/appearance.yml create mode 100644 roles/workstation/tasks/desktop_environments/gnome/keybindings.yml create mode 100644 roles/workstation/tasks/desktop_environments/gnome/nautilus.yml create mode 100644 roles/workstation/tasks/desktop_environments/gnome/packages.yml create mode 100644 roles/workstation/tasks/desktop_environments/gnome/peripherals.yml create mode 100644 roles/workstation/tasks/desktop_environments/gnome/shell_settings.yml create mode 100644 roles/workstation/tasks/desktop_environments/gnome/terminal.yml create mode 100644 roles/workstation/tasks/desktop_environments/gnome/tracker.yml create mode 100644 roles/workstation/tasks/main.yml create mode 100644 roles/workstation/tasks/software/audacious.yml create mode 100644 roles/workstation/tasks/software/audacity.yml create mode 100644 roles/workstation/tasks/software/boto.yml create mode 100644 roles/workstation/tasks/software/brave.yml create mode 100644 roles/workstation/tasks/software/codecs.yml create mode 100644 roles/workstation/tasks/software/firefox.yml create mode 100644 roles/workstation/tasks/software/glimpse.yml create mode 100644 roles/workstation/tasks/software/google_chrome.yml create mode 100644 roles/workstation/tasks/software/keepassxc.yml create mode 100644 roles/workstation/tasks/software/libreoffice.yml create mode 100644 roles/workstation/tasks/software/lutris.yml create mode 100644 roles/workstation/tasks/software/misc_packages.yml create mode 100644 roles/workstation/tasks/software/nextcloud.yml create mode 100644 roles/workstation/tasks/software/packer.yml create mode 100644 roles/workstation/tasks/software/solaar.yml create mode 100644 roles/workstation/tasks/software/spotify.yml create mode 100644 roles/workstation/tasks/software/steam.yml create mode 100644 roles/workstation/tasks/software/sublime_text.yml create mode 100644 roles/workstation/tasks/software/terraform.yml create mode 100644 roles/workstation/tasks/software/thunderbird.yml create mode 100644 roles/workstation/tasks/software/ulauncher.yml create mode 100644 roles/workstation/tasks/software/virtualbox.yml create mode 100644 roles/workstation/tasks/software/vlc.yml create mode 100644 roles/workstation/tasks/software/vscodium.yml create mode 100644 roles/workstation/tasks/system_setup/autofs.yml create mode 100644 roles/workstation/tasks/system_setup/scripts.yml create mode 100644 roles/workstation/tasks/system_setup/tweaks.yml create mode 100644 roles/workstation/tasks/users/bzoicas.yml create mode 100644 roles/workstation/vars/Archlinux.yml create mode 100644 roles/workstation/vars/Debian.yml create mode 100644 roles/workstation/vars/Fedora.yml create mode 100644 roles/workstation/vars/Manjaro.yml create mode 100644 roles/workstation/vars/Pop!_OS.yml create mode 100644 roles/workstation/vars/Ubuntu.yml create mode 120000 roles/workstation/vars/elementary OS.yml diff --git a/README.md b/README.md new file mode 100644 index 0000000..6be6a95 --- /dev/null +++ b/README.md @@ -0,0 +1,45 @@ +# Personal Ansible Desktop Configs + +I use Ansible to configure all of my desktops, laptops, and servers. I use the Ansible Pull method, which I describe in both my Ansible Pull tutorial (already uploaded) and my Ansible desktop tutorial (will be published by December 11th 2020). It's fully automated, and scripts everything from system services to GNOME desktop settings. + +## Disclaimer +This repository contains a copy of the Ansible configuration that I use for laptops, desktops as well as servers. +Please don't directly use this against your own machines, as it is something I developed for myself and may not translate to your use-case. It even configures OpenSSH, so if you run it you may get locked out. I've provided this as a HUGE example you can use to build your own, and compare syntax. + +## How does it work? +As mentioned above, it uses Ansible pull, so some familiarity with that is required. Luckily for you, I have a few videos on my channel that describes how Ansible pull works. Check out the LearnLinuxTV channel, the videos can be found in the Ansible playlist. I use Ansible in "pull-mode" because it handles the dynamic nature of laptops and desktops better. Afterall, they aren't always turned on. And I don't like to maintain multiple things for one purpose, so I have the same repo configuring servers as well. + +The folder structure breaks down like this: + +**local.yml**: This is the Playbook that Ansible expects to find by default in pull-mode, think of it as an "index" of sorts that pulls other Playbooks in. + + +**ansible.cfg**: Configuration settings for Ansible goes here. + + +**group_vars/**: This directory is where I can place variables that will be applied on every system. + + +**host_vars/**: Each laptop/desktop/server gets a host_vars file in this folder, named after its hostname. Sets variables specific to that computer. + + +**hosts**: This is the inventory file. Even in pull-mode, an inventory file can be used. This is how Ansible knows what group to put a machine in. + + +**playbooks**: Additional playbooks that I may want to run, or have triggered. + + +**roles/**: This directory contains my base, workstation, and server roles. Every host gets the base role. Then either 'workstation' or 'server', depending on what it is. + +**roles/base**: This role is for every host, regardles of the type of device it is. This role contains things that are intended to be on every host, such as default configs, users, etc. + +**roles/workstation**: After the base role runs on a host, this role runs only on hosts that are designated to be workstations. GUI-specific things, such as GUI apps (Firefox, etc), Flatpaks, wallpaper, etc. Has a folder for the GNOME and MATE desktops. + +**roles/server**: After the base role runs on a host, this role runs only on hosts designated as servers. Monitoring plugins, unattended-updates, server firewall rules, and other server-related things are configured here. + +After it's run for the first time manually, this Ansible config creates its own Cronjob for itself on that machine so you never have to run it manually again going forward, and it will track all future commits and run them against all your machines as soon as you commit a change. You can find the playbook for Cron in the base role. + +## How do I run it? +You don't, you use this to build your own. Go through my Ansible desktop tutorial that launches on December 11th to build your "skeleton", then use this repo for syntax reference. If you insist on running this, you run it with the following command after installing Ansible: + +ansible-pull -U https://github.com/LearnLinuxTV/personal_ansible_desktop_configs.git diff --git a/ansible.cfg b/ansible.cfg new file mode 100644 index 0000000..8b6394a --- /dev/null +++ b/ansible.cfg @@ -0,0 +1,4 @@ +[defaults] +inventory = hosts +log_path = /var/log/ansible.log +retry_files_enabled = False diff --git a/group_vars/all b/group_vars/all new file mode 100644 index 0000000..bb66049 --- /dev/null +++ b/group_vars/all @@ -0,0 +1,3 @@ +--- +telegram_chat_id: "" +telegram_token: "" diff --git a/host_vars/bzoicas-linux b/host_vars/bzoicas-linux new file mode 100644 index 0000000..7b492df --- /dev/null +++ b/host_vars/bzoicas-linux @@ -0,0 +1,53 @@ +--- +branch: master + +ansible_cron_minute: "*/5" +ssh_port: 22 +ssh_users: "bzoicas" + +# platform-specific +ansible_python_interpreter: /usr/bin/python3 +microcode_amd_install: false +microcode_intel_install: false + +# app defaults +gui_editor: gvim +terminal_emulator: terminator +web_browser: flatpak run org.mozilla.firefox + +# application selection +audacity: true +authy: true +autofs: false +chromium: false +chrome: false +brave: true +darktable: true +firefox: true +foliate: false +games: false +glimpse: true +keepassxc: true +libreoffice: true +lutris: true +mattermost: true +nextcloud: true +packer: true +signal: true +spotify: true +steam: false +syncthing: false +terraform: false +thunderbird: false +todoist: false +ulauncher: false +vagrant: false +virtualbox: false +vivaldi: false +vlc: true +vscodium: true + +# desktop environment selection +gnome: false +mate: false +xfce: true diff --git a/hosts b/hosts new file mode 100755 index 0000000..e66637f --- /dev/null +++ b/hosts @@ -0,0 +1,5 @@ +[server] +#mail + +[workstation] +bzoicas-linux diff --git a/local.yml b/local.yml new file mode 100644 index 0000000..6ca6389 --- /dev/null +++ b/local.yml @@ -0,0 +1,66 @@ +# tasks to complete before running roles +- hosts: all + tags: always + become: true + pre_tasks: + - name: pre-run | update package cache (arch) + tags: always + pacman: update_cache=yes + changed_when: False + when: ansible_distribution == "Archlinux" + + - name: pre-run | update package cache (debian, etc) + tags: always + apt: update_cache=yes + changed_when: False + when: ansible_distribution in ["Debian", "Ubuntu"] + +# run roles +- hosts: all + tags: base + become: true + roles: + - base + +- hosts: workstation + tags: workstation + become: true + roles: + - workstation + +# - hosts: server +# tags: server +# become: true +# roles: +# - server + +# end of run cleanup and reporting +- hosts: all + become: true + tasks: + - name: cleanup package cache (debian and ubuntu) + tags: always + apt: + autoclean: yes + changed_when: false + when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"] + + - name: autoremove orphan packages (debian and ubuntu) + tags: always + apt: + autoremove: yes + purge: yes + when: ansible_distribution in ["Debian", "Pop!_OS", "Ubuntu"] + + # - name: send completion alert + # include_tasks: playbooks/send_completion_alert.yml + # tags: always + # when: + # - task_failed is not defined + + # - name: send failure alert + # include_tasks: playbooks/send_failure_alert.yml + # tags: always + # when: + # - task_failed is defined + # - task_failed == true diff --git a/logs b/logs new file mode 100644 index 0000000..e69de29 diff --git a/playbooks/send_completion_alert.yml b/playbooks/send_completion_alert.yml new file mode 100644 index 0000000..91717b6 --- /dev/null +++ b/playbooks/send_completion_alert.yml @@ -0,0 +1,14 @@ +- name: notify healthchecks.io that the job ran + uri: + url: https://hc-ping.com/{{ healthcheck_uuid }} + changed_when: False + when: healthcheck_uuid is defined + +- name: send completion notification via telegram + tags: always + telegram: + token: "{{ telegram_token }}" + chat_id: "{{ telegram_chat_id }}" + msg_format: markdown + msg: "✔️ Ansible provision finished on *{{ ansible_hostname }}*" + changed_when: False diff --git a/playbooks/send_failure_alert.yml b/playbooks/send_failure_alert.yml new file mode 100644 index 0000000..d8d69f0 --- /dev/null +++ b/playbooks/send_failure_alert.yml @@ -0,0 +1,30 @@ +- block: + - name: send failure notification via telegram + tags: always + telegram: + token: "{{ telegram_token }}" + chat_id: "{{ telegram_chat_id }}" + msg_format: markdown + msg: "⚠️ Ansible provision failed on *{{ ansible_hostname }}*\n\n + *Task*: {{ ansible_failed_task.name }}\n + *Action*: {{ ansible_failed_task.action }}\n + *Error Message*: \n ```{{ ansible_failed_result | to_nice_json }}```" + changed_when: False + + rescue: + - name: send failure notification via telegram + tags: always + telegram: + token: "{{ telegram_token }}" + chat_id: "{{ telegram_chat_id }}" + msg_format: markdown + msg: "⚠️ Ansible provision failed on *{{ ansible_hostname }}*\n\n + The specific error couldn't be shown, check the log." + changed_when: False + +- name: ansible job failed, clear cache later on to trigger another provision run + become: yes + at: + command: "if ! pgrep -f ansible-pull >/dev/null; then rm -rf /home/simone/.ansible; fi" + count: 60 + units: minutes diff --git a/roles/base/files/ansible_setup/logrotate b/roles/base/files/ansible_setup/logrotate new file mode 100644 index 0000000..90d2c00 --- /dev/null +++ b/roles/base/files/ansible_setup/logrotate @@ -0,0 +1,7 @@ +/var/log/ansible.log { + rotate 3 + daily + compress + missingok + notifempty +} diff --git a/roles/base/files/distribution_packages/debian_sources.list b/roles/base/files/distribution_packages/debian_sources.list new file mode 100644 index 0000000..ea1563c --- /dev/null +++ b/roles/base/files/distribution_packages/debian_sources.list @@ -0,0 +1,8 @@ +deb http://deb.debian.org/debian stable main contrib non-free +deb-src http://deb.debian.org/debian stable main contrib non-free + +deb http://deb.debian.org/debian-security/ stable/updates main contrib non-free +deb-src http://deb.debian.org/debian-security/ stable/updates main contrib non-free + +deb http://deb.debian.org/debian stable-updates main contrib non-free +deb-src http://deb.debian.org/debian stable-updates main contrib non-free diff --git a/roles/base/files/system_setup/image_prep.sh b/roles/base/files/system_setup/image_prep.sh new file mode 100644 index 0000000..eef6ca2 --- /dev/null +++ b/roles/base/files/system_setup/image_prep.sh @@ -0,0 +1,19 @@ +#!/bin/bash + + +#### Clear log files +find /var/log -type f -name "*log" -exec truncate -s 0 {} \; +truncate -s 0 /var/log/*tmp + + +#### Clear user files +find /home -type f -name .bash_history -exec rm {} \; + +if [ -f /root/.bash_history ]; then + rm /root/.bash_history +fi + +find /home -type f -name .viminfo -exec rm {} \; +if [ -f /root/.viminfo ]; then + rm /root/.viminfo +fi diff --git a/roles/base/files/system_setup/openssh_issue.net b/roles/base/files/system_setup/openssh_issue.net new file mode 100644 index 0000000..718de71 --- /dev/null +++ b/roles/base/files/system_setup/openssh_issue.net @@ -0,0 +1,4 @@ +Use of this system is private. If you are not authorized, disconnect immediately. +Failure to comply will result in your destruction. + + diff --git a/roles/base/files/system_setup/pi_cpu_temp.py b/roles/base/files/system_setup/pi_cpu_temp.py new file mode 100644 index 0000000..4c3d250 --- /dev/null +++ b/roles/base/files/system_setup/pi_cpu_temp.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python3 + +# from: +# https://www.pragmaticlinux.com/2020/06/check-the-raspberry-pi-cpu-temperature/ + + +def main(): + """ + Program to demonstrate how to obtain the current value of the CPU temperature. + """ + print('Current CPU temperature is {:.2f}°C.'.format(get_cpu_temp())) + print('CPU begins throttling at 60°C, and reaches critical at 80°C.') + + +def get_cpu_temp(): + """ + Obtains the current value of the CPU temperature. + :returns: Current value of the CPU temperature if successful, zero value otherwise. + :rtype: float + """ + # Initialize the result. + result = 0.0 + # The first line in this file holds the CPU temperature as an integer times 1000. + # Read the first line and remove the newline character at the end of the string. + with open('/sys/class/thermal/thermal_zone0/temp') as f: + line = f.readline().strip() + # Test if the string is an integer as expected. + if line.isdigit(): + # Convert the string with the CPU temperature to a float in degrees Celsius. + result = float(line) / 1000 + # Give the result back to the caller. + return result + + +if __name__ == "__main__": + main() diff --git a/roles/base/files/users/bzoicas/bash/bash_aliases b/roles/base/files/users/bzoicas/bash/bash_aliases new file mode 100644 index 0000000..7f540a9 --- /dev/null +++ b/roles/base/files/users/bzoicas/bash/bash_aliases @@ -0,0 +1,79 @@ +# aliases +alias ..='cd ..' +alias ...='cd ../../../' +alias ....='cd ../../../../' +alias back='cd $OLDPWD' +alias c='clear' +alias cd..='cd ..' +alias cp='cp -iv' +alias chmod="chmod -c" +alias chmod="chmod -c" +alias df='df -h -x squashfs -x tmpfs -x devtmpfs' +alias diff='colordiff' +alias egrep='egrep --colour=auto' +alias e="vim -O " +alias E="vim -o " +alias extip='curl icanhazip.com' +alias grep='grep --color=auto' +alias l.=' ls -lhFa --time-style=long-iso --color=auto' +alias ll=' ls -al' +alias ls=' ls -lhF --time-style=long-iso --color=auto' +alias lsmount='mount |column -t' +alias mkdir='mkdir -pv' +alias ports='netstat -tulanp' +alias h='history' +alias j='jobs -l' +alias mv='mv -iv' +alias speedtest='curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python -' +alias sproxy='ssh -p 2099 -D 9090 -q -C -N -f bzoicas@vpn.home-network.io' +alias ssha='eval $(ssh-agent) && ssh-add' +alias svim='sudo vim' +alias tn=' tmux new -s' +alias vdestroy='vagrant destroy' +alias vssh='vagrant ssh' +alias vup='vagrant up' +alias watch='watch -d' +alias weather='curl wttr.in' +alias wget='wget -c' + +## get top process eating memory +alias mem5='ps auxf | sort -nr -k 4 | head -5' +alias mem10='ps auxf | sort -nr -k 4 | head -10' + +## get top process eating cpu ## +alias cpu5='ps auxf | sort -nr -k 3 | head -5' +alias cpu10='ps auxf | sort -nr -k 3 | head -10' + +## List largest directories (aka "ducks") +alias dir5='du -cksh * | sort -hr | head -n 5' +alias dir10='du -cksh * | sort -hr | head -n 10' + +# Safetynets +# do not delete / or prompt if deleting more than 3 files at a time # +alias rm='rm -I --preserve-root' + +# confirmation # +alias mv='mv -i' +alias cp='cp -i' +alias ln='ln -i' + +# Parenting changing perms on / # +alias chown='chown --preserve-root' +alias chmod='chmod --preserve-root' +alias chgrp='chgrp --preserve-root' + +# reload bash config +alias reload="source ~/.bashrc" + +# Manage packages easier +if [ -f /usr/bin/apt ]; then + alias update='sudo apt update' + alias upgrade='sudo apt update && sudo apt dist-upgrade && sudo apt autoremove && sudo apt clean' + alias install='sudo apt install' +fi + +if [ -f /usr/bin/pacman ]; then + alias update='sudo pacman -Syyy' + alias upgrade='sudo pacman -Syu' + alias install='sudo pacman -S' +fi diff --git a/roles/base/files/users/bzoicas/bash/bash_functions b/roles/base/files/users/bzoicas/bash/bash_functions new file mode 100644 index 0000000..5c2e446 --- /dev/null +++ b/roles/base/files/users/bzoicas/bash/bash_functions @@ -0,0 +1,39 @@ +## Functions +# Make a directory, then go there +md() { + test -n "$1" || return + mkdir -p "$1" && cd "$1" +} + +# "path" shows current path, one element per line. +# If an argument is supplied, grep for it. +path() { + test -n "$1" && { + echo $PATH | perl -p -e "s/:/\n/g;" | grep -i "$1" + } || { + echo $PATH | perl -p -e "s/:/\n/g;" + } +} + +extract () { + if [ -f $1 ] ; then + case $1 in + *.tar.bz2) tar xjvf $1 ;; + *.tar.gz) tar xzvf $1 ;; + *.tar.xz) tar xvf $1 ;; + *.bz2) bzip2 -d $1 ;; + *.rar) unrar2dir $1 ;; + *.gz) gunzip $1 ;; + *.tar) tar xf $1 ;; + *.tbz2) tar xjf $1 ;; + *.tgz) tar xzf $1 ;; + *.zip) unzip2dir $1 ;; + *.Z) uncompress $1 ;; + *.7z) 7z x $1 ;; + *.ace) unace x $1 ;; + *) echo "'$1' cannot be extracted via extract()" ;; + esac + else + echo "'$1' is not a valid file" + fi +} diff --git a/roles/base/files/users/bzoicas/bash/bash_profile b/roles/base/files/users/bzoicas/bash/bash_profile new file mode 100644 index 0000000..f2cba8f --- /dev/null +++ b/roles/base/files/users/bzoicas/bash/bash_profile @@ -0,0 +1,3 @@ +if [ -f ~/.bashrc ]; then + source ~/.bashrc +fi diff --git a/roles/base/files/users/bzoicas/bash/bash_prompt b/roles/base/files/users/bzoicas/bash/bash_prompt new file mode 100644 index 0000000..c3638ed --- /dev/null +++ b/roles/base/files/users/bzoicas/bash/bash_prompt @@ -0,0 +1,2 @@ +# PS1 Prompt +tty -s && export PS1="\[\033[38;5;35m\]\t [\[\033[38;5;33m\]\j\[\033[38;5;35m\]] [\h:\[$(tput sgr0)\]\[\033[38;5;33m\]\w\[$(tput setaf 3)\]\[\033[38;5;35m\]]\n\\[\033[38;5;35m\]🦄 \[$(tput sgr0)\]" diff --git a/roles/base/files/users/bzoicas/bash/bashrc b/roles/base/files/users/bzoicas/bash/bashrc new file mode 100644 index 0000000..99c3bad --- /dev/null +++ b/roles/base/files/users/bzoicas/bash/bashrc @@ -0,0 +1,51 @@ +# source bash prompt +source ~/.bash/bash_prompt + +# Source bash aliases +source ~/.bash/bash_aliases + +# Source bash functions +source ~/.bash/bash_functions + +# Env +export TERM=xterm-256color +export EDITOR=vim + + +# Don't add duplicate lines or lines beginning with a space to the history +HISTCONTROL=ignoreboth + +# Set history format to include timestamps +HISTTIMEFORMAT="%Y-%m-%d %T " + +# Correct simple errors while using cd +shopt -s cdspell + +# Add /home/$USER/bin to $PATH +case :$PATH: in + *:/home/$USER/bin:*) ;; + *) PATH=/home/$USER/bin:$PATH ;; +esac + +# Add /home/$USER/.local/bin to $PATH +case :$PATH: in + *:/home/$USER/.local/bin:*) ;; + *) PATH=/home/$USER/.local/bin:$PATH ;; +esac + +# Safetynets +# do not delete / or prompt if deleting more than 3 files at a time # +alias rm='rm -I --preserve-root' + +# confirmation # +alias mv='mv -i' +alias cp='cp -i' +alias ln='ln -i' + +# Parenting changing perms on / # +alias chown='chown --preserve-root' +alias chmod='chmod --preserve-root' +alias chgrp='chgrp --preserve-root' + +# reload bash config +alias reload="source ~/.bashrc" diff --git a/roles/base/files/users/bzoicas/bash/profile b/roles/base/files/users/bzoicas/bash/profile new file mode 100644 index 0000000..f2cba8f --- /dev/null +++ b/roles/base/files/users/bzoicas/bash/profile @@ -0,0 +1,3 @@ +if [ -f ~/.bashrc ]; then + source ~/.bashrc +fi diff --git a/roles/base/files/users/bzoicas/git/gitconfig b/roles/base/files/users/bzoicas/git/gitconfig new file mode 100644 index 0000000..9e561b7 --- /dev/null +++ b/roles/base/files/users/bzoicas/git/gitconfig @@ -0,0 +1,3 @@ +[user] + name = bzoicas + email = diff --git a/roles/base/files/users/bzoicas/htop/htoprc b/roles/base/files/users/bzoicas/htop/htoprc new file mode 100644 index 0000000..56b0aa1 --- /dev/null +++ b/roles/base/files/users/bzoicas/htop/htoprc @@ -0,0 +1,26 @@ +# Beware! This file is rewritten by htop when settings are changed in the interface. +# The parser is also very primitive, and not human-friendly. +fields=0 48 17 18 38 39 40 2 46 47 49 1 +sort_key=46 +sort_direction=1 +hide_threads=0 +hide_kernel_threads=1 +hide_userland_threads=0 +shadow_other_users=0 +show_thread_names=0 +show_program_path=1 +highlight_base_name=0 +highlight_megabytes=1 +highlight_threads=1 +tree_view=0 +header_margin=1 +detailed_cpu_time=0 +cpu_count_from_zero=0 +update_process_names=0 +account_guest_in_cpu_meter=0 +color_scheme=0 +delay=15 +left_meters=LeftCPUs2 CPU Memory Swap +left_meter_modes=1 1 1 1 +right_meters=RightCPUs2 Tasks LoadAverage Uptime +right_meter_modes=1 2 2 2 diff --git a/roles/base/files/users/bzoicas/inputrc b/roles/base/files/users/bzoicas/inputrc new file mode 100644 index 0000000..925b70a --- /dev/null +++ b/roles/base/files/users/bzoicas/inputrc @@ -0,0 +1,2 @@ +# Disable the annoying terminal beep +set bell-style none diff --git a/roles/base/files/users/bzoicas/mc/mc.ini b/roles/base/files/users/bzoicas/mc/mc.ini new file mode 100644 index 0000000..15b96e8 --- /dev/null +++ b/roles/base/files/users/bzoicas/mc/mc.ini @@ -0,0 +1,143 @@ +[Midnight-Commander] +verbose=1 +pause_after_run=1 +shell_patterns=1 +auto_save_setup=1 +preallocate_space=0 +auto_menu=0 +use_internal_view=1 +use_internal_edit=0 +clear_before_exec=1 +confirm_delete=1 +confirm_overwrite=1 +confirm_execute=0 +confirm_history_cleanup=1 +confirm_exit=0 +confirm_directory_hotlist_delete=1 +safe_delete=0 +mouse_repeat_rate=100 +double_click_speed=250 +use_8th_bit_as_meta=0 +confirm_view_dir=0 +mouse_move_pages_viewer=1 +mouse_close_dialog=0 +fast_refresh=0 +drop_menus=0 +wrap_mode=1 +old_esc_mode=1 +old_esc_mode_timeout=1000000 +cd_symlinks=1 +show_all_if_ambiguous=0 +max_dirt_limit=10 +use_file_to_guess_type=1 +alternate_plus_minus=0 +only_leading_plus_minus=1 +show_output_starts_shell=0 +xtree_mode=0 +num_history_items_recorded=60 +file_op_compute_totals=1 +classic_progressbar=1 +vfs_timeout=60 +ftpfs_directory_timeout=900 +use_netrc=1 +ftpfs_retry_seconds=30 +ftpfs_always_use_proxy=0 +ftpfs_use_passive_connections=1 +ftpfs_use_passive_connections_over_proxy=0 +ftpfs_use_unix_list_options=1 +ftpfs_first_cd_then_ls=1 +fish_directory_timeout=900 +editor_tab_spacing=8 +editor_word_wrap_line_length=72 +editor_fill_tabs_with_spaces=0 +editor_return_does_auto_indent=0 +editor_backspace_through_tabs=0 +editor_fake_half_tabs=1 +editor_option_save_mode=0 +editor_option_save_position=1 +editor_option_auto_para_formatting=0 +editor_option_typewriter_wrap=0 +editor_edit_confirm_save=1 +editor_syntax_highlighting=1 +editor_persistent_selections=1 +editor_drop_selection_on_copy=1 +editor_cursor_beyond_eol=0 +editor_cursor_after_inserted_block=0 +editor_visible_tabs=1 +editor_visible_spaces=1 +editor_line_state=0 +editor_simple_statusbar=0 +editor_check_new_line=0 +editor_show_right_margin=0 +editor_group_undo=1 +editor_state_full_filename=1 +editor_ask_filename_before_edit=0 +nice_rotating_dash=1 +mcview_remember_file_position=0 +auto_fill_mkdir_name=1 +copymove_persistent_attr=1 +editor_backup_extension=~ +editor_filesize_threshold=64M +editor_stop_format_chars=-+*\\,.;:&> +mcview_eof= +ignore_ftp_chattr_errors=true +skin=dark + +[Layout] +message_visible=1 +keybar_visible=1 +xterm_title=1 +output_lines=0 +command_prompt=1 +menubar_visible=1 +free_space=1 +horizontal_split=0 +vertical_equal=1 +left_panel_size=119 +horizontal_equal=1 +top_panel_size=1 + +[Misc] +timeformat_recent=%b %e %H:%M +timeformat_old=%b %e %Y +ftp_proxy_host=gate +ftpfs_password=anonymous@ +display_codepage=UTF-8 +source_codepage=Other_8_bit +autodetect_codeset= +spell_language=en +clipboard_store= +clipboard_paste= + +[Colors] +base_color= +xterm= +color_terminals= + +xterm-256color= + +[Panels] +show_mini_info=true +kilobyte_si=false +mix_all_files=false +show_backups=true +show_dot_files=true +fast_reload=false +fast_reload_msg_shown=false +mark_moves_down=true +reverse_files_only=true +auto_save_setup_panels=false +navigate_with_arrows=false +panel_scroll_pages=true +mouse_move_pages=true +filetype_mode=true +permission_mode=false +torben_fj_mode=false +quick_search_mode=2 +select_flags=6 + +[Panelize] +Find *.orig after patching=find . -name \\*.orig -print +Find SUID and SGID programs=find . \\( \\( -perm -04000 -a -perm /011 \\) -o \\( -perm -02000 -a -perm /01 \\) \\) -print +Find rejects after patching=find . -name \\*.rej -print +Modified git files=git ls-files --modified diff --git a/roles/base/files/users/bzoicas/ssh/bzoicas_id_rsa.pub b/roles/base/files/users/bzoicas/ssh/bzoicas_id_rsa.pub new file mode 100644 index 0000000..e69de29 diff --git a/roles/base/files/users/bzoicas/tmux/tmux-battery.sh b/roles/base/files/users/bzoicas/tmux/tmux-battery.sh new file mode 100644 index 0000000..48406c4 --- /dev/null +++ b/roles/base/files/users/bzoicas/tmux/tmux-battery.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +SYMBOL='⬜' + +if [[ `uname` == 'Linux' ]]; then + current_charge=$(cat /proc/acpi/battery/BAT1/state | grep 'remaining capacity' | awk '{print $3}') + total_charge=$(cat /proc/acpi/battery/BAT1/info | grep 'last full capacity' | awk '{print $4}') +else + battery_info=`ioreg -rc AppleSmartBattery` + current_charge=$(echo $battery_info | grep -o '"CurrentCapacity" = [0-9]\+' | awk '{print $3}') + total_charge=$(echo $battery_info | grep -o '"MaxCapacity" = [0-9]\+' | awk '{print $3}') +fi + +charged_slots=$(echo "(($current_charge/$total_charge)*10)+1" | bc -l | cut -d '.' -f 1) +if [[ $charged_slots -gt 10 ]]; then + charged_slots=10 +fi + +echo -n '#[fg=red]' +for i in `seq 1 $charged_slots`; do echo -n "$SYMBOL"; done + +if [[ $charged_slots -lt 10 ]]; then + echo -n '#[fg=red]' + for i in `seq 1 $(echo "10-$charged_slots" | bc)`; do echo -n "$SYMBOL"; done +fi diff --git a/roles/base/files/users/bzoicas/tmux/tmux.conf.server b/roles/base/files/users/bzoicas/tmux/tmux.conf.server new file mode 100644 index 0000000..22fbc58 --- /dev/null +++ b/roles/base/files/users/bzoicas/tmux/tmux.conf.server @@ -0,0 +1,116 @@ +# Initial setup +set -g default-terminal xterm-256color +set -g status-keys vi + + +# use C-j and C-f for the prefix. +set-option -g prefix C-j +set-option -g prefix2 C-f +unbind-key C-j +bind-key C-j send-prefix +set -g base-index 1 + + +# Use Alt-arrow keys without prefix key to switch panes +bind -n M-Left select-pane -L +bind -n M-Right select-pane -R +bind -n M-Up select-pane -U +bind -n M-Down select-pane -D + + +# Set easier window split keys +bind-key v split-window -h +bind-key h split-window -v + + +# Shift arrow to switch windows +bind -n S-Left previous-window +bind -n S-Right next-window + + +# Easily reorder windows with CTRL+SHIFT+Arrow +bind-key -n C-S-Left swap-window -t -1 +bind-key -n C-S-Right swap-window -t +1 + + +# Synchronize panes +bind-key y set-window-option synchronize-panes\; display-message "synchronize mode toggled." + + +# Easy config reload +bind-key r source-file ~/.tmux.conf \; display-message "tmux.conf reloaded." + + +# Easy clear history +bind-key L clear-history + + +# Key bindings for copy-paste +setw -g mode-keys vi +unbind p +bind p paste-buffer +bind-key -T copy-mode-vi 'v' send -X begin-selection +bind-key -T copy-mode-vi 'y' send -X copy-selection-and-cancel + + +# Mouse Mode +set -g mouse on + + +# Lengthen the amount of time status messages are displayed +set-option -g display-time 3000 +set-option -g display-panes-time 3000 + + +# Set the base-index to 1 rather than 0 +set -g base-index 1 +set-window-option -g pane-base-index 1 + + +# Automatically set window title +set-window-option -g automatic-rename on +set-option -g set-titles on + + +# Window activity monitor +setw -g monitor-activity on +set -g visual-activity on + + +# Allow the arrow key to be used immediately after changing windows. +set-option -g repeat-time 0 + + +# No delay for escape key press +set -sg escape-time 0 + + +# Window activity monitor +setw -g monitor-activity on +set -g visual-activity on + + +# Plugins +run-shell /home/bzoicas/.tmux/plugins/continuum/continuum.tmux +run-shell /home/bzoicas/.tmux/plugins/resurrect/resurrect.tmux +set -g @continuum-restore 'on' +set -g @continuum-boot 'on' + + +# Theme +set-window-option -g window-status-current-style bold,bg=colour35,fg=colour234 +set-window-option -g window-status-style fg=colour35 +set -g window-status-activity-style bg=blue,fg=black +set-option -g message-style bg=colour237,fg=colour231 +set-option -g pane-border-style fg=colour36 +set-option -g pane-active-border-style fg=colour35 + + +# Status Bar +set -g status-justify centre +set -g status-bg black +set -g status-fg colour35 +set -g status-interval 60 +set -g status-left-length 50 +set -g status-left "#[bg=colour35]💻#[fg=colour234,bold] #H #[bg=colour234,nobold]#[fg=colour35] [#S] $tmux_target_lower " +set -g status-right '#[bg=colour234]#[fg=colour35]📈 #(cut -d " " -f 1-3 /proc/loadavg) #[bg=colour35]🕔 #[fg=colour234,bold]%H:%M ' diff --git a/roles/base/files/users/bzoicas/tmux/tmux.conf.workstation b/roles/base/files/users/bzoicas/tmux/tmux.conf.workstation new file mode 100644 index 0000000..80b83d1 --- /dev/null +++ b/roles/base/files/users/bzoicas/tmux/tmux.conf.workstation @@ -0,0 +1,116 @@ +# Initial setup +set -g default-terminal xterm-256color +set -g status-keys vi + + +# use C-j and C-f for the prefix. +set-option -g prefix C-j +set-option -g prefix2 C-f +unbind-key C-j +bind-key C-j send-prefix +set -g base-index 1 + + +# Use Alt-arrow keys without prefix key to switch panes +bind -n M-Left select-pane -L +bind -n M-Right select-pane -R +bind -n M-Up select-pane -U +bind -n M-Down select-pane -D + + +# Set easier window split keys +bind-key v split-window -h +bind-key h split-window -v + + +# Shift arrow to switch windows +bind -n S-Left previous-window +bind -n S-Right next-window + + +# Easily reorder windows with CTRL+SHIFT+Arrow +bind-key -n C-S-Left swap-window -t -1 +bind-key -n C-S-Right swap-window -t + + + +# Synchronize panes +bind-key y set-window-option synchronize-panes\; display-message "synchronize mode toggled." + + +# Easy config reload +bind-key r source-file ~/.tmux.conf \; display-message "tmux.conf reloaded." + + +# Easy clear history +bind-key L clear-history + + +# Key bindings for copy-paste +setw -g mode-keys vi +unbind p +bind p paste-buffer +bind-key -T copy-mode-vi 'v' send -X begin-selection +bind-key -T copy-mode-vi 'y' send -X copy-selection-and-cancel + + +# Mouse Mode +set -g mouse on + + +# Lengthen the amount of time status messages are displayed +set-option -g display-time 3000 +set-option -g display-panes-time 3000 + + +# Set the base-index to 1 rather than 0 +set -g base-index 1 +set-window-option -g pane-base-index 1 + + +# Automatically set window title +set-window-option -g automatic-rename on +set-option -g set-titles on + + +# Window activity monitor +setw -g monitor-activity on +set -g visual-activity on + + +# Allow the arrow key to be used immediately after changing windows. +set-option -g repeat-time 0 + + +# No delay for escape key press +set -sg escape-time 0 + + +# Window activity monitor +setw -g monitor-activity on +set -g visual-activity on + + +# Plugins +run-shell /home/bzoicas/.tmux/plugins/continuum/continuum.tmux +run-shell /home/bzoicas/.tmux/plugins/resurrect/resurrect.tmux +set -g @continuum-restore 'on' +set -g @continuum-boot 'on' + + +# Theme +set-window-option -g window-status-current-style bold,bg=colour35,fg=colour234 +set-window-option -g window-status-style fg=colour35 +set -g window-status-activity-style bg=blue,fg=black +set-option -g message-style bg=colour237,fg=colour231 +set-option -g pane-border-style fg=colour36 +set-option -g pane-active-border-style fg=colour35 + + +# Status Bar +set -g status-justify centre +set -g status-bg black +set -g status-fg colour35 +set -g status-interval 60 +set -g status-left-length 50 +set -g status-left "#[bg=colour35]💻#[fg=colour234,bold] #H #[bg=colour234,nobold]#[fg=colour35] [#S] $tmux_target_lower " +set -g status-right '#[bg=colour234]#[fg=colour35]📈 #(cut -d " " -f 1-3 /proc/loadavg) #[bg=colour35]🕔 #[fg=colour234,bold]%H:%M ' diff --git a/roles/base/files/users/bzoicas/vim/bubblegum-256-dark.vim b/roles/base/files/users/bzoicas/vim/bubblegum-256-dark.vim new file mode 100644 index 0000000..2b8e393 --- /dev/null +++ b/roles/base/files/users/bzoicas/vim/bubblegum-256-dark.vim @@ -0,0 +1,159 @@ +" Bubblegum 256 Dark +" Author: baskerville +" URL: github.com/baskerville/bubblegum +" Created: 2011 +" Version: 0.3 + +hi clear + +if exists("syntax_on") + syntax reset +endif + +let g:colors_name="bubblegum-256-dark" + + +" Main +hi Normal ctermfg=249 ctermbg=235 cterm=none guifg=#B2B2B2 guibg=#262626 gui=none +hi Comment ctermfg=244 ctermbg=235 cterm=none guifg=#808080 guibg=#262626 gui=none + +" Constant +hi Constant ctermfg=186 ctermbg=235 cterm=none guifg=#D7D787 guibg=#262626 gui=none +hi String ctermfg=187 ctermbg=235 cterm=none guifg=#D7D7AF guibg=#262626 gui=none +hi Character ctermfg=187 ctermbg=235 cterm=none guifg=#D7D7AF guibg=#262626 gui=none +hi Number ctermfg=179 ctermbg=235 cterm=none guifg=#D7AF5F guibg=#262626 gui=none +hi Boolean ctermfg=187 ctermbg=235 cterm=none guifg=#D7D7AF guibg=#262626 gui=none +hi Float ctermfg=179 ctermbg=235 cterm=none guifg=#D7AF5F guibg=#262626 gui=none + +" Variable Name +hi Identifier ctermfg=182 ctermbg=235 cterm=none guifg=#D7AFD7 guibg=#262626 gui=none +hi Function ctermfg=182 ctermbg=235 cterm=none guifg=#D7AFD7 guibg=#262626 gui=none + +" Statement +hi Statement ctermfg=110 ctermbg=235 cterm=none guifg=#87AFD7 guibg=#262626 gui=none +hi Conditional ctermfg=110 ctermbg=235 cterm=none guifg=#87AFD7 guibg=#262626 gui=none +hi Repeat ctermfg=110 ctermbg=235 cterm=none guifg=#87AFD7 guibg=#262626 gui=none +hi Label ctermfg=110 ctermbg=235 cterm=none guifg=#87AFD7 guibg=#262626 gui=none +hi Operator ctermfg=110 ctermbg=235 cterm=none guifg=#87AFD7 guibg=#262626 gui=none +hi Keyword ctermfg=110 ctermbg=235 cterm=none guifg=#87AFD7 guibg=#262626 gui=none +hi Exception ctermfg=110 ctermbg=235 cterm=none guifg=#87AFD7 guibg=#262626 gui=none + +" Preprocessor +hi PreProc ctermfg=150 ctermbg=235 cterm=none guifg=#AFD787 guibg=#262626 gui=none +hi Include ctermfg=150 ctermbg=235 cterm=none guifg=#AFD787 guibg=#262626 gui=none +hi Define ctermfg=150 ctermbg=235 cterm=none guifg=#AFD787 guibg=#262626 gui=none +hi Macro ctermfg=150 ctermbg=235 cterm=none guifg=#AFD787 guibg=#262626 gui=none +hi PreCondit ctermfg=150 ctermbg=235 cterm=none guifg=#AFD787 guibg=#262626 gui=none + +" Type +hi Type ctermfg=146 ctermbg=235 cterm=none guifg=#AFAFD7 guibg=#262626 gui=none +hi StorageClass ctermfg=146 ctermbg=235 cterm=none guifg=#AFAFD7 guibg=#262626 gui=none +hi Structure ctermfg=146 ctermbg=235 cterm=none guifg=#AFAFD7 guibg=#262626 gui=none +hi Typedef ctermfg=146 ctermbg=235 cterm=none guifg=#AFAFD7 guibg=#262626 gui=none + +" Special +hi Special ctermfg=174 ctermbg=235 cterm=none guifg=#D78787 guibg=#262626 gui=none +hi SpecialChar ctermfg=174 ctermbg=235 cterm=none guifg=#D78787 guibg=#262626 gui=none +hi Tag ctermfg=174 ctermbg=235 cterm=none guifg=#D78787 guibg=#262626 gui=none +hi Delimiter ctermfg=174 ctermbg=235 cterm=none guifg=#D78787 guibg=#262626 gui=none +hi SpecialComment ctermfg=174 ctermbg=235 cterm=none guifg=#D78787 guibg=#262626 gui=none +hi Debug ctermfg=174 ctermbg=235 cterm=none guifg=#D78787 guibg=#262626 gui=none +hi Underlined ctermfg=249 ctermbg=235 cterm=underline guifg=#B2B2B2 guibg=#262626 gui=underline +hi Ignore ctermfg=235 ctermbg=235 cterm=none guifg=#262626 guibg=#262626 gui=none +hi Error ctermfg=231 ctermbg=167 cterm=none guifg=#FFFFFF guibg=#D75F5F gui=none +hi Todo ctermfg=244 ctermbg=235 cterm=none guifg=#808080 guibg=#262626 gui=none + +" Window +hi StatusLine ctermfg=249 ctermbg=237 cterm=none guifg=#B2B2B2 guibg=#3A3A3A gui=none +hi StatusLineNC ctermfg=244 ctermbg=237 cterm=none guifg=#808080 guibg=#3A3A3A gui=none +hi TabLine ctermfg=249 ctermbg=237 cterm=none guifg=#B2B2B2 guibg=#3A3A3A gui=none +hi TabLineSel ctermfg=253 ctermbg=238 cterm=none guifg=#DADADA guibg=#444444 gui=none +hi TabLineFill ctermfg=249 ctermbg=237 cterm=none guifg=#B2B2B2 guibg=#3A3A3A gui=none +hi VertSplit ctermfg=237 ctermbg=237 cterm=none guifg=#3A3A3A guibg=#3A3A3A gui=none + +" Menu +hi Pmenu ctermfg=249 ctermbg=237 cterm=none guifg=#B2B2B2 guibg=#3A3A3A gui=none +hi PmenuSel ctermfg=231 ctermbg=244 cterm=none guifg=#FFFFFF guibg=#808080 gui=none +hi PmenuSbar ctermfg=231 ctermbg=244 cterm=none guifg=#FFFFFF guibg=#808080 gui=none +hi PmenuThumb ctermfg=187 ctermbg=187 cterm=none guifg=#D7D7AF guibg=#D7D7AF gui=none +hi WildMenu ctermfg=232 ctermbg=98 cterm=none guifg=#080808 guibg=#875FD7 gui=none + +" Selection +hi Visual ctermfg=235 ctermbg=117 cterm=none guifg=#262626 guibg=#87D7FF gui=none +hi VisualNOS ctermfg=235 ctermbg=80 cterm=none guifg=#262626 guibg=#5FD7D7 gui=none + +" Message +hi ErrorMsg ctermfg=210 ctermbg=235 cterm=none guifg=#FF8787 guibg=#262626 gui=none +hi WarningMsg ctermfg=140 ctermbg=235 cterm=none guifg=#AF87D7 guibg=#262626 gui=none +hi MoreMsg ctermfg=72 ctermbg=235 cterm=none guifg=#5FAF87 guibg=#262626 gui=none +hi ModeMsg ctermfg=222 ctermbg=235 cterm=bold guifg=#FFD787 guibg=#262626 gui=bold +hi Question ctermfg=38 ctermbg=235 cterm=none guifg=#00AFD7 guibg=#262626 gui=none + +" Mark +hi Folded ctermfg=244 ctermbg=235 cterm=none guifg=#808080 guibg=#262626 gui=none +hi FoldColumn ctermfg=79 ctermbg=237 cterm=none guifg=#5FD7AF guibg=#3A3A3A gui=none +hi SignColumn ctermfg=79 ctermbg=237 cterm=none guifg=#5FD7AF guibg=#3A3A3A gui=none +hi ColorColumn ctermfg=79 ctermbg=237 cterm=none guifg=#5FD7AF guibg=#3A3A3A gui=none +hi LineNr ctermfg=244 ctermbg=237 cterm=none guifg=#808080 guibg=#3A3A3A gui=none +hi MatchParen ctermfg=16 ctermbg=215 cterm=none guifg=#000000 guibg=#FFAF5F gui=none + +" Cursor +hi CursorColumn ctermfg=249 ctermbg=237 cterm=none guifg=#B2B2B2 guibg=#3A3A3A gui=none +hi CursorLine ctermfg=249 ctermbg=237 cterm=none guifg=#B2B2B2 guibg=#3A3A3A gui=none +hi CursorLineNr ctermfg=249 ctermbg=237 cterm=none guifg=#B2B2B2 guibg=#3A3A3A gui=none + +" Search +hi Search ctermfg=16 ctermbg=179 cterm=none guifg=#000000 guibg=#D7AF5F gui=none +hi IncSearch ctermfg=231 ctermbg=168 cterm=none guifg=#FFFFFF guibg=#D75F87 gui=none + +" Diff Mode +hi DiffAdd ctermfg=16 ctermbg=149 cterm=none guifg=#000000 guibg=#AFD75F gui=none +hi DiffChange ctermfg=16 ctermbg=217 cterm=none guifg=#000000 guibg=#FFAFAF gui=none +hi DiffText ctermfg=16 ctermbg=211 cterm=bold guifg=#000000 guibg=#FF87AF gui=bold +hi DiffDelete ctermfg=16 ctermbg=249 cterm=none guifg=#000000 guibg=#B2B2B2 gui=none + +" Spell +hi SpellBad ctermfg=210 ctermbg=235 cterm=underline guifg=#FF8787 guibg=#262626 gui=underline +hi SpellCap ctermfg=174 ctermbg=235 cterm=underline guifg=#D78787 guibg=#262626 gui=underline +hi SpellRare ctermfg=181 ctermbg=235 cterm=underline guifg=#D7AFAF guibg=#262626 gui=underline +hi SpellLocal ctermfg=180 ctermbg=235 cterm=underline guifg=#D7AF87 guibg=#262626 gui=underline + +" Misc +hi SpecialKey ctermfg=114 ctermbg=235 cterm=none guifg=#87D787 guibg=#262626 gui=none +hi NonText ctermfg=244 ctermbg=235 cterm=none guifg=#808080 guibg=#262626 gui=none +hi Directory ctermfg=103 ctermbg=235 cterm=none guifg=#8787AF guibg=#262626 gui=none +hi Title ctermfg=109 ctermbg=235 cterm=none guifg=#87AFAF guibg=#262626 gui=none +hi Conceal ctermfg=77 ctermbg=235 cterm=none guifg=#5FD75F guibg=#262626 gui=none +hi Noise ctermfg=247 ctermbg=235 cterm=none guifg=#9E9E9E guibg=#262626 gui=none +hi helpHyperTextJump ctermfg=74 ctermbg=235 cterm=none guifg=#5FAFD7 guibg=#262626 gui=none +hi perlSharpBang ctermfg=244 ctermbg=235 cterm=none guifg=#808080 guibg=#262626 gui=none +hi rubySharpBang ctermfg=244 ctermbg=235 cterm=none guifg=#808080 guibg=#262626 gui=none +hi jsFuncCall ctermfg=116 ctermbg=235 cterm=none guifg=#87D7D7 guibg=#262626 gui=none + +" Html +hi javaScriptNumber ctermfg=179 ctermbg=235 cterm=none guifg=#D7AF5F guibg=#262626 gui=none +hi htmlTag ctermfg=147 ctermbg=235 cterm=none guifg=#AFAFFF guibg=#262626 gui=none +hi htmlEndTag ctermfg=147 ctermbg=235 cterm=none guifg=#AFAFFF guibg=#262626 gui=none +hi htmlTagName ctermfg=175 ctermbg=235 cterm=none guifg=#D787AF guibg=#262626 gui=none +hi htmlString ctermfg=144 ctermbg=235 cterm=none guifg=#AFAF87 guibg=#262626 gui=none + +" Vim +hi vimFold ctermfg=244 ctermbg=235 cterm=none guifg=#808080 guibg=#262626 gui=none +hi vimCommentTitle ctermfg=249 ctermbg=235 cterm=none guifg=#B2B2B2 guibg=#262626 gui=none + +" Diff File +hi diffFile ctermfg=244 ctermbg=235 cterm=none guifg=#808080 guibg=#262626 gui=none +hi diffLine ctermfg=244 ctermbg=235 cterm=none guifg=#808080 guibg=#262626 gui=none +hi diffAdded ctermfg=107 ctermbg=235 cterm=none guifg=#87AF5F guibg=#262626 gui=none +hi diffRemoved ctermfg=175 ctermbg=235 cterm=none guifg=#D787AF guibg=#262626 gui=none +hi diffChanged ctermfg=179 ctermbg=235 cterm=none guifg=#D7AF5F guibg=#262626 gui=none +hi diffOldLine ctermfg=104 ctermbg=235 cterm=none guifg=#8787D7 guibg=#262626 gui=none + +" Mail +hi mailSubject ctermfg=109 ctermbg=235 cterm=none guifg=#87AFAF guibg=#262626 gui=none +hi mailSignature ctermfg=244 ctermbg=235 cterm=none guifg=#808080 guibg=#262626 gui=none + +" Markdown +hi markdownCode ctermfg=244 ctermbg=235 cterm=none guifg=#808080 guibg=#262626 gui=none +hi markdownCodeBlock ctermfg=244 ctermbg=235 cterm=none guifg=#808080 guibg=#262626 gui=none +hi markdownItalic ctermfg=252 ctermbg=235 cterm=none guifg=#D0D0D0 guibg=#262626 gui=none diff --git a/roles/base/files/users/bzoicas/vim/cmake.vim b/roles/base/files/users/bzoicas/vim/cmake.vim new file mode 100644 index 0000000..fa478b9 --- /dev/null +++ b/roles/base/files/users/bzoicas/vim/cmake.vim @@ -0,0 +1,6 @@ +setlocal tabstop=2 +setlocal softtabstop=2 +setlocal shiftwidth=2 +setlocal textwidth=80 +setlocal smarttab +setlocal expandtab diff --git a/roles/base/files/users/bzoicas/vim/cpp.vim b/roles/base/files/users/bzoicas/vim/cpp.vim new file mode 100644 index 0000000..b5544ba --- /dev/null +++ b/roles/base/files/users/bzoicas/vim/cpp.vim @@ -0,0 +1,78 @@ +" Only do this when not done yet for this buffer +if exists("b:did_CPP_ftplugin") + finish +endif +let b:did_CPP_ftplugin = 1 + +" ================================================= +" tab +" ================================================= +setlocal tabstop=2 +setlocal softtabstop=2 +setlocal shiftwidth=2 + +" ================================================= +" Completion +" ================================================= +" dictionary +setlocal dictionary=~/.vim/dict/cpp-libstdc++.dict,~/.vim/dict/c-eglibc.dict,~/.vim/dict/cpp-boost.dict + +" tags + +" OmniCppComplete +let OmniCpp_NamespaceSearch = 1 +let OmniCpp_GlobalScopeSearch = 1 +let OmniCpp_ShowAccess = 1 +let OmniCpp_MayCompleteDot = 1 +let OmniCpp_MayCompleteArrow = 1 +let OmniCpp_MayCompleteScope = 1 +let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"] + +" Set completement for C++ +setlocal omnifunc=cppcomplete#Complete + +" Set F12 to use ctags for C++ +map :!ctags -R –c++-kinds=+p –fields=+iaS –extra=+q . + +" ================================================= +" cscope settings +" ================================================= +nmap s :cs find s =expand("") +nmap g :cs find g =expand("") +nmap c :cs find c =expand("") +nmap t :cs find t =expand("") +nmap e :cs find e =expand("") +nmap f :cs find f =expand("") +nmap i :cs find i ^=expand("")$ +nmap d :cs find d =expand("") + +if has("cscope") + setlocal csprg=/usr/bin/cscope + setlocal csto=0 + setlocal cst + setlocal nocsverb + " add any database in current directory + if filereadable("cscope.out") + cs add cscope.out + " else add database pointed to by environment + elseif $CSCOPE_DB != "" + cs add $CSCOPE_DB + endif + + setlocal csverb + setlocal cscopetag + setlocal cscopequickfix=s-,g-,c-,d-,t-,e-,f-,i- +endif + +function! s:clang_format() + let now_line = line(".") + exec ":%! clang-format -style=Google" + exec ":" . now_line +endfunction + +if executable('clang-format') + augroup cpp_clang_format + autocmd! + autocmd BufWrite,FileWritePre,FileAppendPre *.[ch]pp call s:clang_format() + augroup END +endif diff --git a/roles/base/files/users/bzoicas/vim/darktango.vim b/roles/base/files/users/bzoicas/vim/darktango.vim new file mode 100644 index 0000000..4ceeca9 --- /dev/null +++ b/roles/base/files/users/bzoicas/vim/darktango.vim @@ -0,0 +1,75 @@ +" Vim color file +" Name: DarkTango +" Maintainer: Panos Laganakos +" Version: 0.3 + + +set background=dark +if version > 580 + " no guarantees for version 5.8 and below, but this makes it stop + " complaining + hi clear + if exists("syntax_on") + syntax reset + endif +endif + +let g:colors_name="darktango" + +hi Normal guibg=#2e3436 guifg=#d3d7cf + +" {{{ syntax +hi Comment guifg=#555753 +hi Title guifg=#eeeeec +hi Underlined guifg=#20b0eF gui=none +hi Statement guifg=#888a85 +hi Type guifg=#ce5c00 +hi PreProc guifg=#eeeeec +hi Constant guifg=#babdb6 +hi Identifier guifg=#ce5c00 +hi Special guifg=#eeeeec +hi Ignore guifg=#f57900 +hi Todo guibg=#ce5c00 guifg=#eeeeec +"hi Error +"}}} + +" {{{ groups +hi Cursor guibg=#babdb6 guifg=#2e3436 +"hi CursorIM +hi Directory guifg=#bbd0df +"hi DiffAdd +"hi DiffChange +"hi DiffDelete +"hi DiffText +"hi ErrorMsg +hi VertSplit guibg=#555753 guifg=#2e3436 gui=none +hi Folded guibg=#555753 guifg=#eeeeec +hi FoldColumn guibg=#2e3436 guifg=#555753 +hi LineNr guibg=#2e3436 guifg=#555753 +hi MatchParen guibg=#babdb6 guifg=#2e3436 +hi ModeMsg guifg=#ce5c00 +hi MoreMsg guifg=#ce5c00 +hi NonText guibg=#2e3436 guifg=#555753 +hi Question guifg=#aabbcc +hi Search guibg=#fce94f guifg=#c4a000 +hi IncSearch guibg=#c4a000 guifg=#fce94f +hi SpecialKey guifg=#ce5c00 +hi StatusLine guibg=#555753 guifg=#eeeeec gui=none +hi StatusLineNC guibg=#555753 guifg=#272334 gui=none +hi Visual guibg=#fcaf3e guifg=#ce5c00 +"hi VisualNOS +hi WarningMsg guifg=salmon +"hi WildMenu +"hi Menu +"hi Scrollbar guibg=grey30 guifg=tan +"hi Tooltip +hi Pmenu guibg=#babdb6 guifg=#555753 +hi PmenuSel guibg=#eeeeec guifg=#2e3436 +hi CursorLine guibg=#212628 +" }}} + +" {{{ terminal +" TODO +" }}} + +"vim: sw=4 diff --git a/roles/base/files/users/bzoicas/vim/html.vim b/roles/base/files/users/bzoicas/vim/html.vim new file mode 100644 index 0000000..65dda11 --- /dev/null +++ b/roles/base/files/users/bzoicas/vim/html.vim @@ -0,0 +1,504 @@ +" Vim indent script for HTML +" General: "{{{ +" File: html.vim (Vimscript #2075) +" Author: Andy Wokula +" Last Change: 2014 Jan 27 +" Rev Days: 18 +" Version: 0.10 +" Vim Version: Vim7 +" Description: +" Improved version of the distributed html indent script, faster on a +" range of lines. +" +" Credits: +" indent/html.vim (2006 Jun 05) from J. Zellner +" indent/css.vim (2006 Dec 20) from N. Weibull +" +" History: +" 2014 Jan 27 (v0.10) added b:html_indent_usestate; and a bug fix +" 2012 Oct 21 (v0.9) added support for shiftwidth() +" 2011 Sep 09 (v0.8) added HTML5 tags (thx to J. Zuckerman) +" 2008 Apr 28 (v0.6) revised customization +" 2008 Mar 09 (v0.5) fixed 'indk' issue (thx to C.J. Robinson) +" }}} + +" Init Folklore, check user settings (2nd time ++) "{{{ +if exists("b:did_indent") + finish +endif +let b:did_indent = 1 + +setlocal indentexpr=HtmlIndent() +setlocal indentkeys=o,O,,<>>,{,},!^F + +let b:indent = {"lnum": -1} +let b:undo_indent = "set inde< indk<| unlet b:indent" + +" Load Once: +if exists("*HtmlIndent") + call HtmlIndent_CheckUserSettings() + finish +endif + +" Patch 7.3.694 +if exists('*shiftwidth') + let s:ShiftWidth = function('shiftwidth') +else + func! s:ShiftWidth() + return &shiftwidth + endfunc +endif + +let s:cpo_save = &cpo +set cpo-=C +"}}} + +func! HtmlIndent_CheckUserSettings() "{{{ + if exists("g:html_indent_inctags") + call s:AddITags(split(g:html_indent_inctags, ",")) + endif + if exists("g:html_indent_autotags") + call s:RemoveITags(split(g:html_indent_autotags, ",")) + endif + + let indone = {"zero": 0 + \,"auto": "indent(prevnonblank(v:lnum-1))" + \,"inc": "b:indent.blocktagind + s:ShiftWidth()"} + if exists("g:html_indent_script1") + let s:js1indent = get(indone, g:html_indent_script1, indone.zero) + endif + if exists("g:html_indent_style1") + let s:css1indent = get(indone, g:html_indent_style1, indone.zero) + endif +endfunc "}}} + +" Init Script Vars "{{{ +let s:usestate = 1 +let s:css1indent = 0 +let s:js1indent = 0 +" not to be changed: +let s:endtags = [0,0,0,0,0,0,0,0] " some places unused +let s:newstate = {} +let s:countonly = 0 + "}}} +func! s:AddITags(taglist) "{{{ + for itag in a:taglist + let s:indent_tags[itag] = 1 + let s:indent_tags['/'.itag] = -1 + endfor +endfunc "}}} +func! s:AddBlockTag(tag, id, ...) "{{{ + if !(a:id >= 2 && a:id < 2+len(s:endtags)) + return + endif + let s:indent_tags[a:tag] = a:id + if a:0 == 0 + let s:indent_tags['/'.a:tag] = -a:id + let s:endtags[a:id-2] = "" + else + let s:indent_tags[a:1] = -a:id + let s:endtags[a:id-2] = a:1 + endif +endfunc "}}} +func! s:RemoveITags(taglist) "{{{ + " remove itags (protect blocktags from being removed) + for itag in a:taglist + if !has_key(s:indent_tags, itag) || s:indent_tags[itag] != 1 + continue + endif + unlet s:indent_tags[itag] + if itag =~ '^\w\+$' + unlet s:indent_tags["/".itag] + endif + endfor +endfunc "}}} +" Add Indent Tags: {{{ +if !exists("s:indent_tags") + let s:indent_tags = {} +endif + +" old tags: +call s:AddITags(['a', 'abbr', 'acronym', 'address', 'b', 'bdo', 'big', + \ 'blockquote', 'button', 'caption', 'center', 'cite', 'code', 'colgroup', + \ 'del', 'dfn', 'dir', 'div', 'dl', 'em', 'fieldset', 'font', 'form', + \ 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'i', 'iframe', 'ins', 'kbd', + \ 'label', 'legend', 'map', 'menu', 'noframes', 'noscript', 'object', 'ol', + \ 'optgroup', 'q', 's', 'samp', 'select', 'small', 'span', 'strong', 'sub', + \ 'sup', 'table', 'textarea', 'title', 'tt', 'u', 'ul', 'var', 'th', 'td', + \ 'tr', 'tfoot', 'thead']) + +" tags added 2011 Sep 09 (especially HTML5 tags): +call s:AddITags(['area', 'article', 'aside', 'audio', 'bdi', 'canvas', + \ 'command', 'datalist', 'details', 'embed', 'figure', 'footer', + \ 'header', 'group', 'keygen', 'mark', 'math', 'meter', 'nav', 'output', + \ 'progress', 'ruby', 'section', 'svg', 'texture', 'time', 'video', + \ 'wbr', 'text']) + +"}}} +" Add Block Tags: contain alien content "{{{ +call s:AddBlockTag('pre', 2) +call s:AddBlockTag('script', 3) +call s:AddBlockTag('style', 4) +call s:AddBlockTag('') +"}}} + +func! s:CountITags(...) "{{{ + + " relative indent steps for current line [unit &sw]: + let s:curind = 0 + " relative indent steps for next line [unit &sw]: + let s:nextrel = 0 + + if a:0==0 + let s:block = s:newstate.block + let tmpline = substitute(s:curline, '<\zs\/\=\w\+\>\|', '\=s:CheckTag(submatch(0))', 'g') + if s:block == 3 + let s:newstate.scripttype = s:GetScriptType(matchstr(tmpline, '\C.*\zs[^>]*')) + endif + let s:newstate.block = s:block + else + let s:block = 0 " assume starting outside of a block + let s:countonly = 1 " don't change state + let tmpline = substitute(s:altline, '<\zs\/\=\w\+\>\|', '\=s:CheckTag(submatch(0))', 'g') + let s:countonly = 0 + endif +endfunc "}}} +func! s:CheckTag(itag) "{{{ + " "tag" or "/tag" or "" + let ind = get(s:indent_tags, a:itag) + if ind == -1 + " closing tag + if s:block != 0 + " ignore itag within a block + return "foo" + endif + if s:nextrel == 0 + let s:curind -= 1 + else + let s:nextrel -= 1 + endif + " if s:curind >= 1 + " let s:curind -= 1 + " else + " let s:nextrel -= 1 + " endif + elseif ind == 1 + " opening tag + if s:block != 0 + return "foo" + endif + let s:nextrel += 1 + elseif ind != 0 + " block-tag (opening or closing) + return s:Blocktag(a:itag, ind) + endif + " else ind==0 (other tag found): keep indent + return "foo" " no matter +endfunc "}}} +func! s:Blocktag(blocktag, ind) "{{{ + if a:ind > 0 + " a block starts here + if s:block != 0 + " already in a block (nesting) - ignore + " especially ignore comments after other blocktags + return "foo" + endif + let s:block = a:ind " block type + if s:countonly + return "foo" + endif + let s:newstate.blocklnr = v:lnum + " save allover indent for the endtag + let s:newstate.blocktagind = b:indent.baseindent + (s:nextrel + s:curind) * s:ShiftWidth() + if a:ind == 3 + return "SCRIPT" " all except this must be lowercase + " line is to be checked again for the type attribute + endif + else + let s:block = 0 + " we get here if starting and closing block-tag on same line + endif + return "foo" +endfunc "}}} +func! s:GetScriptType(str) "{{{ + if a:str == "" || a:str =~ "java" + return "javascript" + else + return "" + endif +endfunc "}}} + +func! s:FreshState(lnum) "{{{ + " Look back in the file (lines 1 to a:lnum-1) to calc a state for line + " a:lnum. A state is to know ALL relevant details about the lines + " 1..a:lnum-1, initial calculating (here!) can be slow, but updating is + " fast (incremental). + " State: + " lnum last indented line == prevnonblank(a:lnum - 1) + " block = 0 a:lnum located within special tag: 0:none, 2:
,
+    "			3: