Compare commits
67 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5710f284ba | |||
| b4e8bf6f15 | |||
| e0395dda04 | |||
| 625f4c899f | |||
| f324589c65 | |||
| 3fe18ef9dc | |||
| 57f5473c2f | |||
| e517a8c3e8 | |||
| 751cbbc055 | |||
| 5175b7ff0c | |||
| 6d0b0f52f5 | |||
| 203d8a1ef4 | |||
| c9370553fb | |||
| e3e9418a12 | |||
| 398541fa54 | |||
| e031be406e | |||
| 4c0639e862 | |||
| 07047f140e | |||
| 1493d76352 | |||
| b0a7a03542 | |||
| b8b7ca1851 | |||
| 184ec96395 | |||
| 4adc2d2e7e | |||
| fb4386b418 | |||
| ed2b678228 | |||
| 4ce049b3ea | |||
| d48f6d1572 | |||
| a0582c7483 | |||
| 1917b087c9 | |||
| c2b32c6d3e | |||
| aa0522ee67 | |||
| 04d9498c72 | |||
| 481f8fa5d1 | |||
| a2edee0857 | |||
| a9352773a7 | |||
| 3b1502f6c1 | |||
| 4dba89dba2 | |||
| 69bf1c25fb | |||
| bf4b6951ac | |||
| de29d33042 | |||
| 2de2fb1966 | |||
| 99966ea0c4 | |||
| 90d4a22431 | |||
| 28829018cd | |||
| 62b59f4e8a | |||
| 9010a7dc7c | |||
| e8eb5c68a7 | |||
| 0887a3bdf0 | |||
| 3861f2fad4 | |||
| d8d5f001f2 | |||
| 91996885e9 | |||
| a8d0e2c7bb | |||
| ae20dec6f1 | |||
| 88717f745b | |||
| 1972cd4b9e | |||
| fbc8e62872 | |||
| dac6240b92 | |||
| 3faa49c290 | |||
| d2356a5780 | |||
| 862b36d537 | |||
| e3f2d42017 | |||
| 2b40012443 | |||
| 70114784a5 | |||
| 3823aa438a | |||
| 2f3109d113 | |||
| 7e891fac9d | |||
| a94b8cdd72 |
@@ -13,6 +13,7 @@
|
||||
neofetch: neofetch
|
||||
lightdm: lightdm
|
||||
sddm: sddm
|
||||
tmux: tmux
|
||||
|
||||
- name: General | Facts | Package | Parrot OS Fixes
|
||||
set_fact:
|
||||
|
||||
+8
-5
@@ -46,7 +46,7 @@ static const Layout layouts[] = {
|
||||
};
|
||||
|
||||
/* key definitions */
|
||||
#define MODKEY Mod1Mask
|
||||
#define MODKEY Mod4Mask
|
||||
#define TAGKEYS(KEY,TAG) \
|
||||
{ MODKEY, KEY, view, {.ui = 1 << TAG} }, \
|
||||
{ MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \
|
||||
@@ -69,13 +69,16 @@ static const char *raisevolcmd[] = {"amixer","-q","sset","Master","1%+",NULL};
|
||||
static Key keys[] = {
|
||||
/* modifier key function argument */
|
||||
{ MODKEY, XK_p, spawn, {.v = dmenucmd } },
|
||||
{ MODKEY, XK_d, spawn, {.v = dmenucmd } },
|
||||
{ MODKEY, XK_b, spawn, {.v = dmenucmd } },
|
||||
{ MODKEY, XK_space, spawn, {.v = dmenucmd } },
|
||||
{ MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } },
|
||||
{ MODKEY, XK_Return, spawn, {.v = termcmd } },
|
||||
{ MODKEY, XK_b, togglebar, {0} },
|
||||
//{ MODKEY, XK_b, togglebar, {0} },
|
||||
{ MODKEY, XK_j, focusstack, {.i = +1 } },
|
||||
{ MODKEY, XK_k, focusstack, {.i = -1 } },
|
||||
{ MODKEY, XK_i, incnmaster, {.i = +1 } },
|
||||
{ MODKEY, XK_d, incnmaster, {.i = -1 } },
|
||||
//{ MODKEY, XK_d, incnmaster, {.i = -1 } },
|
||||
{ MODKEY, XK_h, setmfact, {.f = -0.05} },
|
||||
{ MODKEY, XK_l, setmfact, {.f = +0.05} },
|
||||
{ MODKEY, XK_Return, zoom, {0} },
|
||||
@@ -84,8 +87,8 @@ static Key keys[] = {
|
||||
{ MODKEY, XK_t, setlayout, {.v = &layouts[0]} },
|
||||
{ MODKEY, XK_f, setlayout, {.v = &layouts[1]} },
|
||||
{ MODKEY, XK_m, setlayout, {.v = &layouts[2]} },
|
||||
{ MODKEY, XK_space, setlayout, {0} },
|
||||
{ MODKEY|ShiftMask, XK_space, togglefloating, {0} },
|
||||
//{ MODKEY, XK_space, setlayout, {0} },
|
||||
//{ MODKEY|ShiftMask, XK_space, togglefloating, {0} },
|
||||
{ MODKEY, XK_0, view, {.ui = ~0 } },
|
||||
{ MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } },
|
||||
{ MODKEY, XK_comma, focusmon, {.i = -1 } },
|
||||
|
||||
@@ -31,8 +31,8 @@ function volume-usage {
|
||||
EOF
|
||||
return $1
|
||||
}
|
||||
alias volume-help="volume-usage"
|
||||
alias vol-h="volume-help"
|
||||
#alias volume-help="volume-usage"
|
||||
#alias vol-h="volume-help"
|
||||
|
||||
function volume {
|
||||
|
||||
@@ -135,9 +135,9 @@ function volume {
|
||||
echo "$0 $1 $2"
|
||||
return 7
|
||||
}
|
||||
alias vol="volume "
|
||||
alias vol-="volume - "
|
||||
alias vol+="volume + "
|
||||
#alias vol="volume "
|
||||
#alias vol-="volume - "
|
||||
#alias vol+="volume + "
|
||||
|
||||
function volume-display {
|
||||
if [[ "$1" == "-v" || "$1" == "--verbose" || "$1" == "verbose" ]]; then
|
||||
@@ -146,7 +146,7 @@ function volume-display {
|
||||
amixer sget Master | egrep -o '[0-9]{1,3}%' | head -n 1
|
||||
fi
|
||||
}
|
||||
alias "vol-d"="volume-display"
|
||||
#alias "vol-d"="volume-display"
|
||||
|
||||
## TBD/TODO ##
|
||||
|
||||
|
||||
@@ -182,8 +182,8 @@ $search "$location" | sort | while read media; do
|
||||
|
||||
if [[ -n "$delete" ]]; then
|
||||
echo -n " DELETE: "
|
||||
if [[ -d ~/TRASH ]]; then
|
||||
mv -v "$media" ~/TRASH/
|
||||
if [[ -d $HOME/TRASH ]]; then
|
||||
mv -v "$media" $HOME/TRASH/
|
||||
else
|
||||
rm -v "$media"
|
||||
fi
|
||||
|
||||
@@ -215,8 +215,8 @@ $search "$location" | sort | while read image; do
|
||||
|
||||
if [[ -n "$delete" ]]; then
|
||||
echo -n " DELETE: "
|
||||
if [[ -d ~/TRASH ]]; then
|
||||
mv -v "$image" ~/TRASH/
|
||||
if [[ -d $HOME/TRASH ]]; then
|
||||
mv -v "$image" $HOME/TRASH/
|
||||
else
|
||||
rm -v "$image"
|
||||
fi
|
||||
|
||||
@@ -225,8 +225,8 @@ $search_command "$input" | sort | while read file; do
|
||||
if [[ -e "$newfile" || -e "$new_video_clean" ]]; then
|
||||
if [[ "$force" == "Y" ]]; then
|
||||
echo "FORCE: Removing '$newfile'."
|
||||
if [[ -d ~/TRASH ]]; then
|
||||
mv -v "$newfile" "$new_video_clean" ~/TRASH/ 2>/dev/null
|
||||
if [[ -d $HOME/TRASH ]]; then
|
||||
mv -v "$newfile" "$new_video_clean" $HOME/TRASH/ 2>/dev/null
|
||||
else
|
||||
rm -v "$newfile" "$new_video_clean" 2>/dev/null
|
||||
fi
|
||||
@@ -279,8 +279,8 @@ $search_command "$input" | sort | while read file; do
|
||||
|
||||
if [[ -n "$delete" ]]; then
|
||||
echo -n "Original has been deleted: "
|
||||
if [[ -d ~/TRASH ]]; then
|
||||
mv -v "$file" ~/TRASH/
|
||||
if [[ -d $HOME/TRASH ]]; then
|
||||
mv -v "$file" $HOME/TRASH/
|
||||
else
|
||||
rm -v "$file"
|
||||
fi
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
DIR="$(dirname -- "${BASH_SOURCE[0]}")"
|
||||
PROG="$(basename -- "${BASH_SOURCE[0]}")"
|
||||
|
||||
nixos_working_dir=~/nixos-config-deleteme
|
||||
nixos_working_dir=$HOME/nixos-config-deleteme
|
||||
nixos_working_exe=activate.sh
|
||||
|
||||
## Functions ##
|
||||
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
source /usr/local/bin/volume.function
|
||||
|
||||
volume $@
|
||||
+170
-44
@@ -9,7 +9,12 @@
|
||||
#
|
||||
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
|
||||
|
||||
# Use the `xev` command to see the name and code of a keyboard key.
|
||||
|
||||
set $mod Mod4
|
||||
set $alt Mod1
|
||||
set $ctrl Control
|
||||
set $shift Shift
|
||||
|
||||
# Font for window titles. Will also be used by the bar unless a different font
|
||||
# is used in the bar {} block below.
|
||||
@@ -36,10 +41,10 @@ exec --no-startup-id nm-applet
|
||||
|
||||
# Use pactl to adjust volume in PulseAudio.
|
||||
set $refresh_i3status killall -SIGUSR1 i3status
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
|
||||
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
|
||||
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
|
||||
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
|
||||
#bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
|
||||
#bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
|
||||
#bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
|
||||
#bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
|
||||
|
||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||
floating_modifier $mod
|
||||
@@ -50,6 +55,7 @@ tiling_drag modifier titlebar
|
||||
|
||||
# start a terminal
|
||||
bindsym $mod+Return exec i3-sensible-terminal
|
||||
#bindsym $mod+Return exec st
|
||||
|
||||
# kill focused window
|
||||
#bindsym $mod+Shift+q kill
|
||||
@@ -66,10 +72,10 @@ bindsym $mod+space exec --no-startup-id dmenu_run
|
||||
# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop
|
||||
|
||||
# change focus
|
||||
bindsym $mod+j focus left
|
||||
bindsym $mod+k focus down
|
||||
bindsym $mod+l focus up
|
||||
bindsym $mod+semicolon focus right
|
||||
#bindsym $mod+j focus left
|
||||
#bindsym $mod+k focus down
|
||||
#bindsym $mod+l focus up
|
||||
#bindsym $mod+semicolon focus right
|
||||
|
||||
# alternatively, you can use the cursor keys:
|
||||
bindsym $mod+Left focus left
|
||||
@@ -78,10 +84,10 @@ bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
|
||||
# move focused window
|
||||
bindsym $mod+Shift+j move left
|
||||
bindsym $mod+Shift+k move down
|
||||
bindsym $mod+Shift+l move up
|
||||
bindsym $mod+Shift+semicolon move right
|
||||
#bindsym $mod+Shift+j move left
|
||||
#bindsym $mod+Shift+k move down
|
||||
#bindsym $mod+Shift+l move up
|
||||
#bindsym $mod+Shift+semicolon move right
|
||||
|
||||
# alternatively, you can use the cursor keys:
|
||||
bindsym $mod+Shift+Left move left
|
||||
@@ -115,18 +121,95 @@ bindsym $mod+a focus parent
|
||||
# focus the child container
|
||||
#bindsym $mod+d focus child
|
||||
|
||||
|
||||
## Extra Program Shortcuts ##
|
||||
|
||||
# Theming.
|
||||
bindsym $mod+t exec lxappearance
|
||||
|
||||
# Manage files.
|
||||
bindsym $mod+m exec thunar
|
||||
|
||||
# Internet.
|
||||
#bindsym $mod+i exec firefox
|
||||
bindsym $mod+i exec firefox-flatpak
|
||||
|
||||
# Code.
|
||||
bindsym $mod+c exec codium-flatpak
|
||||
|
||||
|
||||
## Brightness ##
|
||||
# Use the bracket keys to change the brightness.
|
||||
# light requires sudo privileges unless video group and udev are configured.
|
||||
bindsym $mod+bracketleft exec --no-startup-id "light -U 05 && notify-send 'Brightness - ' $(light -G)"
|
||||
bindsym $mod+bracketright exec --no-startup-id "light -A 05 && notify-send 'Brightness + ' $(light -G)"
|
||||
bindsym $shift+$mod+bracketleft exec --no-startup-id "light -U 20 && notify-send 'Brightness ---' $(light -G)"
|
||||
bindsym $shift+$mod+bracketright exec --no-startup-id "light -A 20 && notify-send 'Brightness +++' $(light -G)"
|
||||
|
||||
# Also get the actual brightness keys to work!!
|
||||
bindsym XF86MonBrightnessUp exec --no-startup-id "light -A 05 && notify-send 'Brightness + ' $(light -G)"
|
||||
bindsym XF86MonBrightnessDown exec --no-startup-id "light -U 05 && notify-send 'Brightness - ' $(light -G)"
|
||||
bindsym $shift+XF86MonBrightnessUp exec --no-startup-id "light -A 20 && notify-send 'Brightness +++' $(light -G)"
|
||||
bindsym $shift+XF86MonBrightnessDown exec --no-startup-id "light -U 20 && notify-send 'Brightness ---' $(light -G)"
|
||||
|
||||
|
||||
## Volume ##
|
||||
# The volume function is from https://git.hyperling.com/me/env-ansible
|
||||
|
||||
# Use the comma and period keys to change volume.
|
||||
bindsym $mod+comma exec --no-startup-id bash -c 'source /usr/local/bin/volume.function && volume -05 && notify-send "Volume - " $(volume)'
|
||||
bindsym $mod+period exec --no-startup-id bash -c 'source /usr/local/bin/volume.function && volume +05 && notify-send "Volume + " $(volume)'
|
||||
bindsym $shift+$mod+comma exec --no-startup-id bash -c 'source /usr/local/bin/volume.function && volume -25 && notify-send "Volume ---" $(volume)'
|
||||
bindsym $shift+$mod+period exec --no-startup-id bash -c 'source /usr/local/bin/volume.function && volume +25 && notify-send "Volume +++" $(volume)'
|
||||
|
||||
# Actual volume keys.
|
||||
bindsym XF86AudioMute exec --no-startup-id bash -c 'source /usr/local/bin/volume.function && volume mute && notify-send "Volume Muted" $(volume)'
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id bash -c 'source /usr/local/bin/volume.function && volume +05 && notify-send "Volume + " $(volume)'
|
||||
bindsym XF86AudioLowerVolume exec --no-startup-id bash -c 'source /usr/local/bin/volume.function && volume -05 && notify-send "Volume - " $(volume)'
|
||||
bindsym $shift+XF86AudioRaiseVolume exec --no-startup-id bash -c 'source /usr/local/bin/volume.function && volume +25 && notify-send "Volume +++ " $(volume)'
|
||||
bindsym $shift+XF86AudioLowerVolume exec --no-startup-id bash -c 'source /usr/local/bin/volume.function && volume -25 && notify-send "Volume --- " $(volume)'
|
||||
|
||||
|
||||
## Keyboard Brightness ##
|
||||
|
||||
# Macbooks tend to use 'sysfs/leds/smc::kbd_backlight'
|
||||
# NovaCustom laptop is 'sysfs/leds/system76_acpi::kbd_backlight'
|
||||
# Some other laptops may be 'sysfs/class/leds/...', use ìght -L`to find out.
|
||||
bindsym XF86KbdBrightnessUp exec "light -s sysfs/leds/smc::kbd_backlight -A 05 && notify-send 'Keyboard Brightness + ' $(light -s sysfs/leds/smc::kbd_backlight -G)"
|
||||
bindsym XF86KbdBrightnessDown exec "light -s sysfs/leds/smc::kbd_backlight -U 05 && notify-send 'Keyboard Brightness - ' $(light -s sysfs/leds/smc::kbd_backlight -G)"
|
||||
bindsym $shift+XF86KbdBrightnessUp exec "light -s sysfs/leds/smc::kbd_backlight -A 20 && notify-send 'Keyboard Brightness +++' $(light -s sysfs/leds/smc::kbd_backlight -G)"
|
||||
bindsym $shift+XF86KbdBrightnessDown exec "light -s sysfs/leds/smc::kbd_backlight -U 20 && notify-send 'Keyboard Brightness ---' $(light -s sysfs/leds/smc::kbd_backlight -G)"
|
||||
|
||||
bindsym $mod+apostrophe exec "light -s sysfs/leds/smc::kbd_backlight -A 05 && notify-send 'Keyboard Brightness + ' $(light -s sysfs/leds/smc::kbd_backlight -G)"
|
||||
bindsym $mod+semicolon exec "light -s sysfs/leds/smc::kbd_backlight -U 05 && notify-send 'Keyboard Brightness - ' $(light -s sysfs/leds/smc::kbd_backlight -G)"
|
||||
bindsym $shift+$mod+apostrophe exec "light -s sysfs/leds/smc::kbd_backlight -A 20 && notify-send 'Keyboard Brightness +++' $(light -s sysfs/leds/smc::kbd_backlight -G)"
|
||||
bindsym $shift+$mod+semicolon exec "light -s sysfs/leds/smc::kbd_backlight -U 20 && notify-send 'Keyboard Brightness ---' $(light -s sysfs/leds/smc::kbd_backlight -G)"
|
||||
|
||||
|
||||
## Workspaces ##
|
||||
|
||||
# Define names for default workspaces for which we configure key bindings later on.
|
||||
# We use variables to avoid repeating the names in multiple places.
|
||||
# Command Line
|
||||
set $ws1 "1 - CMD"
|
||||
# Web Surfing
|
||||
set $ws2 "2 - WEB"
|
||||
# Programming
|
||||
set $ws3 "3 - PRG"
|
||||
set $ws4 "4"
|
||||
set $ws5 "5"
|
||||
set $ws6 "6"
|
||||
set $ws7 "7"
|
||||
set $ws8 "8"
|
||||
set $ws9 "9"
|
||||
set $ws10 "10"
|
||||
# Flutter
|
||||
set $ws4 "4 - FLT"
|
||||
# Chats
|
||||
set $ws5 "5 - CHT"
|
||||
# Other
|
||||
set $ws6 "6 - OTH"
|
||||
# Torrents
|
||||
set $ws7 "7 - TOR"
|
||||
# Music
|
||||
set $ws8 "8 - MUS"
|
||||
# Videos
|
||||
set $ws9 "9 - VID"
|
||||
# VPNs
|
||||
set $ws10 "10 - VPN"
|
||||
|
||||
# switch to workspace
|
||||
bindsym $mod+1 workspace number $ws1
|
||||
@@ -153,13 +236,32 @@ bindsym $mod+Shift+9 move container to workspace number $ws9
|
||||
bindsym $mod+Shift+0 move container to workspace number $ws10
|
||||
|
||||
## Keep certain programs in certain tabs. ##
|
||||
# Use the `xprop` command to find the class of a program.
|
||||
# (?i) makes the regex case insensitive.
|
||||
|
||||
assign [class="(?i)Navigator"] $ws2
|
||||
assign [class="(?i).*Firefox.*"] $ws2
|
||||
assign [class="(?i).*Brave.*"] $ws2
|
||||
|
||||
assign [class="(?i).*Codium.*"] $ws3
|
||||
|
||||
assign [class="(?i).*Code.*"] $ws4
|
||||
|
||||
assign [class="(?i).*Transmission.*"] $ws7
|
||||
|
||||
assign [class="(?i).*VPN.*"] $ws10
|
||||
assign [class="(?i).*Mullvad.*"] $ws10
|
||||
|
||||
|
||||
## Workspace Specific Workflows ##
|
||||
bindsym $ctrl+$shift+1 workspace $ws1; exec i3-sensible-terminal;
|
||||
bindsym $ctrl+$shift+2 workspace $ws2; exec firefox-flatpak;
|
||||
bindsym $ctrl+$shift+3 workspace $ws3; exec codium-flatpak;
|
||||
bindsym $ctrl+$shift+4 workspace $ws4; exec code-flatpak;
|
||||
bindsym $ctrl+$shift+5 workspace $ws5; exec "session; dino"
|
||||
|
||||
|
||||
## Reloads, Restarts, Exit ##
|
||||
|
||||
# reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
|
||||
@@ -170,32 +272,48 @@ bindsym $mod+Shift+r restart
|
||||
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
|
||||
bindsym $mod+Shift+q exit
|
||||
|
||||
# lock
|
||||
bindsym $ctrl+$alt+l exec "i3lock -c 000000 -e -f && sleep 1 && xset dpms force off"
|
||||
bindsym $ctrl+$mod+l exec "i3lock -c 000000 -e -f && sleep 1 && xset dpms force off"
|
||||
bindsym $shift+$mod+l exec "i3lock -c 000000 -e -f && sleep 1 && xset dpms force off"
|
||||
|
||||
# shutdown entire system.
|
||||
#bindsym $ctrl+$shift+q exec dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
|
||||
bindsym $ctrl+$alt+q exec sudo shutdown -h now
|
||||
bindsym $shift+$alt+q exec sudo shutdown -h now
|
||||
bindsym $shift+$ctrl+q exec sudo shutdown -h now
|
||||
|
||||
## Resizing (Disabled) ##
|
||||
|
||||
# resize window (you can also use the mouse for that)
|
||||
mode "resize" {
|
||||
# These bindings trigger as soon as you enter the resize mode
|
||||
#mode "resize" {
|
||||
# # These bindings trigger as soon as you enter the resize mode
|
||||
#
|
||||
# # Pressing left will shrink the window’s width.
|
||||
# # Pressing right will grow the window’s width.
|
||||
# # Pressing up will shrink the window’s height.
|
||||
# # Pressing down will grow the window’s height.
|
||||
# bindsym j resize shrink width 10 px or 10 ppt
|
||||
# bindsym k resize grow height 10 px or 10 ppt
|
||||
# bindsym l resize shrink height 10 px or 10 ppt
|
||||
# bindsym semicolon resize grow width 10 px or 10 ppt
|
||||
#
|
||||
# # same bindings, but for the arrow keys
|
||||
# bindsym Left resize shrink width 10 px or 10 ppt
|
||||
# bindsym Down resize grow height 10 px or 10 ppt
|
||||
# bindsym Up resize shrink height 10 px or 10 ppt
|
||||
# bindsym Right resize grow width 10 px or 10 ppt
|
||||
#
|
||||
# # back to normal: Enter or Escape or $mod+r
|
||||
# bindsym Return mode "default"
|
||||
# bindsym Escape mode "default"
|
||||
# bindsym $mod+r mode "default"
|
||||
#}
|
||||
#
|
||||
#bindsym $mod+r mode "resize"
|
||||
|
||||
# Pressing left will shrink the window’s width.
|
||||
# Pressing right will grow the window’s width.
|
||||
# Pressing up will shrink the window’s height.
|
||||
# Pressing down will grow the window’s height.
|
||||
bindsym j resize shrink width 10 px or 10 ppt
|
||||
bindsym k resize grow height 10 px or 10 ppt
|
||||
bindsym l resize shrink height 10 px or 10 ppt
|
||||
bindsym semicolon resize grow width 10 px or 10 ppt
|
||||
|
||||
# same bindings, but for the arrow keys
|
||||
bindsym Left resize shrink width 10 px or 10 ppt
|
||||
bindsym Down resize grow height 10 px or 10 ppt
|
||||
bindsym Up resize shrink height 10 px or 10 ppt
|
||||
bindsym Right resize grow width 10 px or 10 ppt
|
||||
|
||||
# back to normal: Enter or Escape or $mod+r
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
bindsym $mod+r mode "default"
|
||||
}
|
||||
|
||||
bindsym $mod+r mode "resize"
|
||||
## Taskbar ##
|
||||
|
||||
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||
# finds out, if available)
|
||||
@@ -203,7 +321,15 @@ bar {
|
||||
status_command i3status
|
||||
}
|
||||
|
||||
|
||||
## Startup Applications ##
|
||||
|
||||
exec st
|
||||
exec mullvad-vpn
|
||||
exec i3-sensible-terminal
|
||||
#exec firefox-flatpak
|
||||
exec transmission
|
||||
|
||||
exec light -O
|
||||
exec light -N 0
|
||||
|
||||
exec setxkbmap -layout us -variant altgr-intl
|
||||
|
||||
@@ -1,2 +1,5 @@
|
||||
|
||||
%sudo ALL=(ALL) ALL
|
||||
|
||||
# Allow anyone in the sudo group to shutdown or reboot without a password.
|
||||
%sudo ALL=(ALL) NOPASSWD: /sbin/shutdown, /usr/sbin/shutdown, /sbin/reboot, /usr/sbin/reboot
|
||||
|
||||
@@ -91,6 +91,8 @@
|
||||
# Gather again in case missing programs have now been installed.
|
||||
- include_tasks: facts/general/gather.yml
|
||||
|
||||
- include_tasks: tasks/general/settings/keyboard.yml
|
||||
|
||||
- include_tasks: tasks/general/acct_mgmt/groups.yml
|
||||
- include_tasks: tasks/general/acct_mgmt/users.yml
|
||||
- include_tasks: tasks/general/acct_mgmt/sudo.yml
|
||||
@@ -107,7 +109,6 @@
|
||||
when: ansible_system == "FreeBSD"
|
||||
|
||||
- include_tasks: tasks/general/software/metasploit.yml
|
||||
when: pentesting == true
|
||||
|
||||
when: provision == true
|
||||
|
||||
@@ -120,7 +121,8 @@
|
||||
|
||||
- include_tasks: facts/workstation/package.yml
|
||||
|
||||
# Set Up Desktop Environments #
|
||||
## Desktop Environments ##
|
||||
|
||||
- include_tasks: tasks/workstation/freebsd/software/gpu.yml
|
||||
when: ansible_system == "FreeBSD" and bsd_gpu == true
|
||||
|
||||
@@ -140,7 +142,8 @@
|
||||
|
||||
- include_tasks: tasks/workstation/linux/software/lxqt.yml
|
||||
|
||||
# Software Tasks #
|
||||
## Software Tasks ##
|
||||
|
||||
- include_tasks: tasks/workstation/linux/software/packages.yml
|
||||
when: ansible_system == "Linux"
|
||||
|
||||
@@ -162,7 +165,8 @@
|
||||
- include_tasks: tasks/workstation/mac-os/software/brew.yml
|
||||
when: ansible_system == "Darwin"
|
||||
|
||||
# Configuration Tasks #
|
||||
## Configuration Tasks ##
|
||||
|
||||
- include_tasks: tasks/workstation/shared/settings/gnome.yml
|
||||
when: not mobile
|
||||
|
||||
@@ -183,7 +187,8 @@
|
||||
|
||||
- include_tasks: tasks/workstation/shared/settings/templates.yml
|
||||
|
||||
# Final Tasks (SLOW) #
|
||||
## Final Tasks (SLOW) ##
|
||||
|
||||
- include_tasks: tasks/workstation/linux/software/flutter.yml
|
||||
when: ansible_system == "Linux"
|
||||
|
||||
|
||||
@@ -122,12 +122,19 @@
|
||||
|
||||
## Files ##
|
||||
|
||||
- name: General | Account Management | Users | Files | Profile Variables
|
||||
set_fact:
|
||||
export_path_additions: export PATH="$HOME/bin:"{{ global_bin }}":"{{ shared_rc_bin }}":$PATH"
|
||||
export_path_sbin: export PATH="$PATH:/sbin:/usr/sbin:/usr/local/sbin"
|
||||
#export_terminal: export TERMINAL="alacritty" # colors look weird.
|
||||
export_terminal: export TERMINAL="kitty"
|
||||
keyboard_settings: setxkbmap -layout us -variant altgr-intl
|
||||
|
||||
- name: General | Account Management | Users | Files | RC Variables
|
||||
set_fact:
|
||||
alias_cp: alias cp='cp -v'
|
||||
alias_mv: alias mv='mv -v'
|
||||
alias_rm: alias rm='echo "Use mv ~/TRASH/ instead!"'
|
||||
export_path_additions: export PATH="~/bin:"{{ global_bin }}":"{{ shared_rc_bin }}":$PATH"
|
||||
function_wttr: |
|
||||
function weather() {
|
||||
# 20210301 - Someone showed me an awesome weather API! Had to implement it!
|
||||
@@ -275,7 +282,7 @@
|
||||
alias init-video='
|
||||
mkdir -v raw
|
||||
mkdir -v exports
|
||||
cp ~/Templates/*video* ./
|
||||
cp $HOME/Templates/*video* ./
|
||||
'
|
||||
alias init-vid=init-video
|
||||
alias init-program='
|
||||
@@ -425,7 +432,7 @@
|
||||
echo "Checking but not cleaning /var/mail..."
|
||||
du -ha /var/mail | sort -h
|
||||
if [[ $clean == "Y" ]]; then
|
||||
clean-trashed "~/"
|
||||
clean-trashed "$HOME/"
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
@@ -623,7 +630,7 @@
|
||||
alias code-sync='code-check'
|
||||
alias_code_reset: |
|
||||
alias code-reset='
|
||||
ls -d ~/Code/* | while read project
|
||||
ls -d $HOME/Code/* | while read project
|
||||
do echo "*** `basename $project` ***"
|
||||
cd $project
|
||||
git stash
|
||||
@@ -668,7 +675,7 @@
|
||||
echo -e "\n*** Move old projects to TRASH ***"
|
||||
unseed_dir="$HOME/TRASH/`date +%Y%m%d_%H%M%S`_UnseededCodeProjects"
|
||||
mkdir -pv "$unseed_dir"
|
||||
mv -v ~/Code/* "$unseed_dir"/ 2>/dev/null
|
||||
mv -v $HOME/Code/* "$unseed_dir"/ 2>/dev/null
|
||||
|
||||
# Git repo information.
|
||||
git_repo_ssh={{ git_repo_ssh }}
|
||||
@@ -688,7 +695,7 @@
|
||||
|
||||
# Download of the project.
|
||||
git clone ${git_repo_ssh_basename}${git_project} \
|
||||
--branch $git_branch ~/Code/$dest_folder
|
||||
--branch $git_branch $HOME/Code/$dest_folder
|
||||
done
|
||||
}
|
||||
function_clean_filenames: |
|
||||
@@ -747,15 +754,15 @@
|
||||
function_clean_code: |
|
||||
function clean-code {
|
||||
echo -e "******* Android *******\n*** Build Caches ***"
|
||||
find ~/Code/android-*/app -maxdepth 1 -type d -name "build" \
|
||||
find $HOME/Code/android-*/app -maxdepth 1 -type d -name "build" \
|
||||
-exec du -hs {} \; -exec rm -rf {} \;
|
||||
echo -e "\n*** Gradle Caches ***"
|
||||
find ~/Code/android-*/ -maxdepth 1 -type d -name ".gradle" \
|
||||
find $HOME/Code/android-*/ -maxdepth 1 -type d -name ".gradle" \
|
||||
-exec du -hs {} \; -exec rm -rf {} \;
|
||||
|
||||
echo -e "******* Flutter *******"
|
||||
ls ~/Code | grep flutter | while read project; do
|
||||
cd ~/Code/$project
|
||||
ls $HOME/Code | grep flutter | while read project; do
|
||||
cd $HOME/Code/$project
|
||||
pwd
|
||||
flutter clean
|
||||
echo -e "\n"
|
||||
@@ -763,7 +770,7 @@
|
||||
cd
|
||||
|
||||
echo -e "******* PDFs *******"
|
||||
find ~/Code/ebook-* -name "*.pdf" -exec du -h {} \; -delete | sort -h
|
||||
find $HOME/Code/ebook-* -name "*.pdf" -exec du -h {} \; -delete | sort -h
|
||||
|
||||
echo -e "\n*** Done! ***"
|
||||
}
|
||||
@@ -868,7 +875,7 @@
|
||||
rmdir -v tmp
|
||||
else
|
||||
echo "Failed!"
|
||||
mv tmp ~/TRASH/"tmp_`now`"
|
||||
mv tmp $HOME/TRASH/"tmp_`now`"
|
||||
fi
|
||||
}
|
||||
function pull_prod_backups {
|
||||
@@ -966,8 +973,8 @@
|
||||
function_ebook_convert: |
|
||||
# Regenerate all eBook projects at once.
|
||||
function ebook-convert {
|
||||
find ~/Code/ebook-* -name "*.pdf" -print -delete
|
||||
find ~/Code/ebook-* -name convert.sh -print -exec bash "{}" \;
|
||||
find $HOME/Code/ebook-* -name "*.pdf" -print -delete
|
||||
find $HOME/Code/ebook-* -name convert.sh -print -exec bash "{}" \;
|
||||
}
|
||||
alias ebooks="ebook-convert"
|
||||
alias convert="ebook-convert"
|
||||
@@ -1037,7 +1044,7 @@
|
||||
alias reset-stage="load-branch stage main"
|
||||
alias reset-dev="load-branch dev main"
|
||||
function check-code-branches {
|
||||
for dir in ~/Code/*/; do
|
||||
for dir in $HOME/Code/*/; do
|
||||
cd $dir
|
||||
pwd
|
||||
git ls-remote --heads
|
||||
@@ -1049,7 +1056,7 @@
|
||||
alias check-branch="git ls-remote --heads"
|
||||
alias branch-check="check-branch"
|
||||
alias_reload_bash: |
|
||||
alias reload-bash="source ~/.bashrc"
|
||||
alias reload-bash="source $HOME/.bashrc"
|
||||
alias bash-reload="reload-bash"
|
||||
alias shell-reload="reload-bash"
|
||||
alias reload-shell="reload-bash"
|
||||
@@ -1097,8 +1104,8 @@
|
||||
}
|
||||
alias try="loop "
|
||||
source_shared: |
|
||||
if [ -f ~/.rc_shared ]; then
|
||||
source ~/.rc_shared
|
||||
if [ -f $HOME/.rc_shared ]; then
|
||||
source $HOME/.rc_shared
|
||||
fi
|
||||
process_notify_log: |
|
||||
if [[ -e {{ notify_log_file }} ]]; then
|
||||
@@ -1113,6 +1120,11 @@
|
||||
|
||||
- name: General | Account Management | Users | Files | Common Variable
|
||||
set_fact:
|
||||
profile_common: |
|
||||
{{ export_path_additions }}
|
||||
{{ export_path_sbin }}
|
||||
{{ export_terminal }}
|
||||
{{ keyboard_settings}}
|
||||
rc_common: |
|
||||
# Fixes "command not found" when using aliases within functions.
|
||||
shopt -s expand_aliases
|
||||
@@ -1129,7 +1141,6 @@
|
||||
export server="{{ server }}"
|
||||
export domain="{{ domain }}"
|
||||
|
||||
{{ export_path_additions }}
|
||||
{{ source_shared }}
|
||||
{{ alias_cp }}
|
||||
{{ alias_mv }}
|
||||
@@ -1193,10 +1204,29 @@
|
||||
{{ function_loop }}
|
||||
{{ process_notify_log }}
|
||||
|
||||
- name: General | Account Management | Users | Files | .profile + .xsessionrc
|
||||
blockinfile:
|
||||
path: "{{ user_user.home }}/{{ item }}"
|
||||
block: |
|
||||
{{ profile_common }}
|
||||
|
||||
[[ $(whoami) != "root" ]] &&
|
||||
echo "`date` - Ansible .profile loaded successfully!"
|
||||
marker: '# {mark} MANAGED BY ANSIBLE | Aliases'
|
||||
state: present
|
||||
create: yes
|
||||
backup: no
|
||||
loop:
|
||||
- ".profile"
|
||||
- ".xprofile"
|
||||
- ".xsessionrc"
|
||||
when: user_user.home != ""
|
||||
|
||||
- name: General | Account Management | Users | Files | .bashrc
|
||||
blockinfile:
|
||||
path: "{{ item }}/.bashrc"
|
||||
block: |
|
||||
{{ profile_common }}
|
||||
{{ rc_common }}
|
||||
|
||||
# Export all functions! #
|
||||
@@ -1211,7 +1241,6 @@
|
||||
loop:
|
||||
- "{{ user_root.home }}"
|
||||
- "{{ user_user.home }}"
|
||||
ignore_errors: yes
|
||||
when: user_root.home != "" and user_user.home != ""
|
||||
|
||||
- name: General | Account Management | Users | Files | .zshrc
|
||||
@@ -1228,7 +1257,6 @@
|
||||
loop:
|
||||
- "{{ user_root.home }}"
|
||||
- "{{ user_user.home }}"
|
||||
ignore_errors: yes
|
||||
when: user_root.home != "" and user_user.home != ""
|
||||
|
||||
- name: General | Account Management | Users | Files | Ownership
|
||||
@@ -1239,6 +1267,9 @@
|
||||
loop:
|
||||
- .bashrc
|
||||
- .zshrc
|
||||
- .profile
|
||||
- .xprofile
|
||||
- .xsessionrc
|
||||
|
||||
|
||||
- name: General | Account Management | Users | Files | Helper Functions (Reset)
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
# 20260716 - Hyperling
|
||||
# Ensure the correct International AltGr keyboard setting is always chosen.
|
||||
|
||||
- name: General | Settings | Keyboard | Default Config
|
||||
lineinfile:
|
||||
path: "/etc/default/keyboard"
|
||||
regexp: '{{ item.key }}'
|
||||
line: '{{ item.value }}'
|
||||
state: present
|
||||
create: yes
|
||||
backup: yes
|
||||
loop:
|
||||
#- { "key": '^[\#]?XKBMODEL', "value": 'XKBMODEL="pc105"'}
|
||||
- { "key": '^[\#]?XKBLAYOUT', "value": 'XKBLAYOUT="us"'}
|
||||
- { "key": '^[\#]?XKBVARIANT', "value": 'XKBVARIANT="altgr-intl"'}
|
||||
@@ -5,6 +5,7 @@
|
||||
set_fact:
|
||||
metasploit_installer: msfinstall
|
||||
when: ansible_system in ("Linux", "Darwin")
|
||||
and pentesting == true
|
||||
|
||||
- name: General | Software | Metasploit | Check Install Status
|
||||
stat:
|
||||
@@ -18,8 +19,9 @@
|
||||
- "mv -fv /usr/share/keyrings/metasploit-framework.gpg /tmp/apt/metasploit-framework.gpg.old"
|
||||
- "mv -fv /etc/apt/sources.list.d/metasploit-framework.list /tmp/apt/metasploit-framework.list.old"
|
||||
- "mv -fv /etc/apt/preferences.d/pin-metasploit.pref /tmp/apt/pin-metasploit.pref.old"
|
||||
when: ansible_system in ("Linux") and
|
||||
not metasploit_status.stat.exists
|
||||
when: ansible_system in ("Linux") and ansible_pkg_mgr == "apt"
|
||||
and not metasploit_status.stat.exists
|
||||
and pentesting == true
|
||||
ignore_errors: true
|
||||
|
||||
- name: General | Software | Metasploit | Install
|
||||
@@ -28,7 +30,25 @@
|
||||
- "curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > {{ metasploit_installer }}"
|
||||
- "chmod 755 {{ metasploit_installer }}"
|
||||
- "mkdir -p {{ global_bin }}"
|
||||
- "mv -fv ./msfinstall {{ global_bin }}/{{ metasploit_installer }}"
|
||||
- "mv -fv ./{{ metasploit_installer }} {{ global_bin }}/{{ metasploit_installer }}"
|
||||
- yes y | "{{ global_bin }}/{{ metasploit_installer }}"
|
||||
when: ansible_system in ("Linux", "Darwin") and
|
||||
not metasploit_status.stat.exists
|
||||
when: ansible_system in ("Linux", "Darwin")
|
||||
and not metasploit_status.stat.exists
|
||||
and pentesting == true
|
||||
|
||||
- name: General | Software | Metasploit | Remove (Darwin)
|
||||
shell: "{{ item }}"
|
||||
loop:
|
||||
- "/opt/metasploit-framework/bin/msfremove"
|
||||
when: ansible_system in ("Darwin")
|
||||
and not metasploit_status.stat.exists
|
||||
and pentesting == false
|
||||
|
||||
- name: General | Software | Metasploit | Remove (APT)
|
||||
shell: "{{ item }}"
|
||||
loop:
|
||||
- "apt purge metasploit-framework"
|
||||
- "apt autoremove --purge"
|
||||
when: ansible_system in ("Linux") and ansible_pkg_mgr == "apt"
|
||||
and not metasploit_status.stat.exists
|
||||
and pentesting == false
|
||||
|
||||
@@ -60,6 +60,7 @@
|
||||
- "{{ nethogs }}"
|
||||
- "{{ ntp_server }}"
|
||||
- "{{ dig }}"
|
||||
- "{{ tmux }}"
|
||||
state: present
|
||||
|
||||
- name: General | Software | Packages | Install Software (DEV)
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
- { app: "com.brave.Browser", name: "brave", extra: "" }
|
||||
- { app: "net.ankiweb.Anki", name: "anki", extra: "" }
|
||||
- { app: "app.organicmaps.desktop", name: "organic-maps", extra: "" }
|
||||
- { app: "im.dino.Dino", name: "dino", extra: "" }
|
||||
flatpaks_coding:
|
||||
- { app: "com.vscodium.codium", name: "codium-flatpak", extra: "" }
|
||||
- { app: "com.google.AndroidStudio", name: "android-studio", extra: "" }
|
||||
|
||||
@@ -7,9 +7,17 @@
|
||||
|
||||
- name: Workstation | Linux | Software | i3 | Facts | General [1/2]
|
||||
set_fact:
|
||||
i3_package: i3
|
||||
i3_config: "settings/i3.config"
|
||||
i3_config_dir: "{{ user_user.home }}/.config/i3"
|
||||
i3_package: i3
|
||||
i3_light: light
|
||||
i3_files: thunar
|
||||
i3_term01: alacritty
|
||||
i3_term02: kitty
|
||||
i3_theming: lxappearance
|
||||
i3_theme01: greybird-gtk-theme
|
||||
i3_theme02: arc-theme
|
||||
i3_theme03: numix-gtk-theme
|
||||
|
||||
- name: Workstation | Linux | Software | i3 | Facts | General [1/2]
|
||||
set_fact:
|
||||
@@ -25,6 +33,14 @@
|
||||
name:
|
||||
- "{{ i3_package }}"
|
||||
- "{{ lightdm }}"
|
||||
- "{{ i3_light }}"
|
||||
- "{{ i3_files }}"
|
||||
- "{{ i3_term01 }}"
|
||||
- "{{ i3_term02 }}"
|
||||
- "{{ i3_theming }}"
|
||||
- "{{ i3_theme01 }}"
|
||||
- "{{ i3_theme02 }}"
|
||||
- "{{ i3_theme03 }}"
|
||||
state: present
|
||||
update_cache: yes
|
||||
|
||||
@@ -43,3 +59,64 @@
|
||||
owner: "{{ user }}"
|
||||
group: "{{ user }}"
|
||||
mode: '0664'
|
||||
|
||||
# TBD: Automate getting the brightness keys to work.
|
||||
#
|
||||
# User is already part of the video group. Just need to configure udev rules.
|
||||
#
|
||||
# Get the folder name from here: `ls /sys/class/backlight/`
|
||||
#
|
||||
# That is your <DEVICE> for the following lines, which go here: /etc/udev/rules.d/backlight.rules
|
||||
# ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="<DEVICE>", RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness"
|
||||
# ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="<DEVICE>", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness"
|
||||
#
|
||||
# So, for example:
|
||||
# [18:12:20 root@device ~]# cat /etc/udev/rules.d/backlight.rules
|
||||
# ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="intel_backlight", RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness"
|
||||
# ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="intel_backlight", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness"
|
||||
# [18:12:21 root@device ~]#
|
||||
#
|
||||
# It then required a reboot. Doing the commands below was not enough.
|
||||
#
|
||||
# # sudo udevadm control --reload-rules
|
||||
# # sudo udevadm trigger
|
||||
#
|
||||
|
||||
- name: Workstation | Linux | Software | i3 | Light | Check Backlights
|
||||
ansible.builtin.find:
|
||||
paths: /sys/class/backlight
|
||||
file_type: any # Options: file, directory, any
|
||||
patterns: "*" # Wildcard patterns (e.g., "*.log")
|
||||
recurse: no # Set to 'yes' for subdirectories
|
||||
register: i3_light_device_check
|
||||
|
||||
#- name: Display var _ DELETEME
|
||||
# ansible.builtin.debug:
|
||||
# msg: "{{ i3_light_device_check }}"
|
||||
|
||||
- name: Workstation | Linux | Software | i3 | Light | Pull Backlight Name
|
||||
set_fact:
|
||||
i3_light_device_name: "{{ i3_light_device_check.files[0].path | basename }}"
|
||||
|
||||
#- name: Display var - DELETEME
|
||||
# ansible.builtin.debug:
|
||||
# msg: "{{ i3_light_device_name }}"
|
||||
|
||||
- name: Workstation | Linux | Software | i3 | Light | udev Rules | Create
|
||||
ansible.builtin.copy:
|
||||
dest: /etc/udev/rules.d/backlight.rules
|
||||
content: |
|
||||
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="{{ i3_light_device_name }}", RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness"
|
||||
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="{{ i3_light_device_name }}", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness"
|
||||
owner: root
|
||||
group: root
|
||||
mode: '0644'
|
||||
|
||||
- name: Workstation | Linux | Software | i3 | Light | udev Rules | Reload
|
||||
command: "{{ item }}"
|
||||
loop:
|
||||
- udevadm control --reload-rules
|
||||
- udevadm trigger
|
||||
|
||||
#- name: FAIL - DELETEME
|
||||
# meta: end_play
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
create: yes
|
||||
backup: yes
|
||||
loop:
|
||||
- { "key": '^[\#]?DEVICES_TO_DISABLE_ON_STARTUP', "value": 'DEVICES_TO_DISABLE_ON_STARTUP="bluetooth nfc wifi wwan"'}
|
||||
- { "key": '^[\#]?DEVICES_TO_DISABLE_ON_STARTUP', "value": 'DEVICES_TO_DISABLE_ON_STARTUP="bluetooth nfc wwan"'}
|
||||
# Ensure these stay commented, once the device is booted the user is in control. #
|
||||
- { "key": '^[\#]?DEVICES_TO_ENABLE_ON_STARTUP', "value": '#DEVICES_TO_ENABLE_ON_STARTUP=""'}
|
||||
- { "key": '^[\#]?DEVICES_TO_ENABLE_ON_AC', "value": '#DEVICES_TO_ENABLE_ON_AC=""'}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Install VPN client(s).
|
||||
# https://mullvad.net/en/help/install-mullvad-app-linux
|
||||
|
||||
- name: Workstation | Software | VPN | Add Mullvad Repo [apt]
|
||||
- name: Workstation | Software | VPN | Mullvad | Add Repo [apt]
|
||||
shell: "{{ item }}"
|
||||
loop:
|
||||
- sudo curl -fsSLo /usr/share/keyrings/mullvad-keyring.asc https://repository.mullvad.net/deb/mullvad-keyring.asc
|
||||
@@ -10,7 +10,7 @@
|
||||
- apt update
|
||||
when: ansible_pkg_mgr == "apt"
|
||||
|
||||
- name: Workstation | Software | VPN | Add Mullvad Repo [dnf]
|
||||
- name: Workstation | Software | VPN | Mullvad | Add Repo [dnf]
|
||||
shell: "{{ item }}"
|
||||
loop:
|
||||
- sudo dnf config-manager --add-repo https://repository.mullvad.net/rpm/stable/mullvad.repo
|
||||
@@ -21,3 +21,10 @@
|
||||
name:
|
||||
- mullvad-vpn
|
||||
state: present
|
||||
|
||||
- name: Workstation | Software | VPN | Mullvad | Symlink GUI
|
||||
ansible.builtin.file:
|
||||
src: "/opt/Mullvad VPN/mullvad-vpn"
|
||||
dest: "{{ global_bin }}/mullvad-vpn"
|
||||
state: link
|
||||
force: true
|
||||
|
||||
Reference in New Issue
Block a user