Compare commits
No commits in common. "main" and "develop" have entirely different histories.
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
*.swp
|
||||
*.retry
|
6
.gitmodules
vendored
6
.gitmodules
vendored
@ -1,3 +1,3 @@
|
||||
[submodule "config/alacritty/themes"]
|
||||
path = config/alacritty/themes
|
||||
url = git@github.com:alacritty/alacritty-theme.git
|
||||
[submodule "ansible-gpg-vault"]
|
||||
path = ansible-gpg-vault
|
||||
url = https://git.finallycoffee.eu/finallycoffee.eu/ansible-gpg-vault.git
|
||||
|
9
README.md
Normal file
9
README.md
Normal file
@ -0,0 +1,9 @@
|
||||
# .dotfiles - Bootstrap me!
|
||||
|
||||
## Requirements
|
||||
|
||||
Clone this repository with `git clone --recursive https://git.finallycoffee.eu/transcaffeine/dotfiles.git` into `~/git/dotfiles`.
|
||||
|
||||
Have your pubkey in a git-repo at `https://git.finallycoffee.eu/$USER/about` at the top-level as `pubkey.asc`, then run `ansible-playbook -i local.yml bootstrap.yml`.
|
||||
|
||||
Reboot and then run `ansible-playbook -i local.yml all.yml`.
|
7
all.yml
Normal file
7
all.yml
Normal file
@ -0,0 +1,7 @@
|
||||
---
|
||||
|
||||
- import_playbook: vim.yml
|
||||
- import_playbook: tmux.yml
|
||||
- import_playbook: gnupg.yml
|
||||
- import_playbook: redshift.yml
|
||||
|
1
ansible-gpg-vault
Submodule
1
ansible-gpg-vault
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 6b06b795cc769033fbb913167c88a7c41da30ebd
|
1
ansible-gpg-vault-store/gpg_ids.list
Normal file
1
ansible-gpg-vault-store/gpg_ids.list
Normal file
@ -0,0 +1 @@
|
||||
johanna.reichmann@delta-industries.de
|
20
ansible-gpg-vault-store/vault_passphrase.gpg
Normal file
20
ansible-gpg-vault-store/vault_passphrase.gpg
Normal file
@ -0,0 +1,20 @@
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
hQIMAxEs7W/4x4lxAQ//ZkLnB+f9bD12wnnRJm8S6j/iaxbxsV9vSe0xfGZH0mup
|
||||
7f9Kpg8kCxDaTnbgQw9HIPJPc4m/Kwlo8Jx+Zk3+AIvuEkqll3OjmiwstlH9EPBg
|
||||
VzDDnpWHb4EG0xYWv7+pztudwX2Ghp1xMqHYIokJNliU01vn/igoeZjLg+uogKWf
|
||||
4+qFest0CLONfHM2LUj3qfMJc1dndRM46i2YybjTC6BFmqtXGNuEeVOHNUV3AgTw
|
||||
M6gpq26rr+YdVElft43o2+sdZH/USlL/ga5+K0Ea272qhmO/fPbTeffqlUHtkkWs
|
||||
bURsLmPQYkgZxy8TflSVeB8qol5i30hqkD3WTuEHB+m92KkxveZcV2jHeNrI1OEP
|
||||
r/kbMcxivDod0eNaEwe7pMlm7NstrHrnIExm9pG5y8YIIRlaELNJbXPcZAHTG+o9
|
||||
j+kfPnRyqFrF1raktY0AO99jsNn13uXYMPb0TB78jR6Qs0HAm56GUtO+enZhUEBo
|
||||
3igpeiU5lMEhua8fD+xSUhA4Hx8InS/Oj2FxzK4GRyRhXag2xFoBEM9FMJnRr9cR
|
||||
m5mPFBvqMadZkejRrv+QpAy6phauR4Zo9M7qBwsZ79adeFFTMneYONuF8l6okjBu
|
||||
OSHFPeR9R+O+iv+toAMCyqfH93RM7NWKBbawhnBBvaS7bIzMw0x+xKJo+c5lkQXS
|
||||
wC0BupdYkeee+5KeD+LejKJK2UBRtYPhDYZRPbHu0Hu837liuXhrJYuKz6SFfoPU
|
||||
kQcyYUlFVcaqjIwKGLYQdwumZetGlw8DlfmQ9nax5n5wvVm+fv6ZF8wy60Wsehbi
|
||||
fqE2jTTBRStyIqScPOZKTu1OR17va9KKhDnAPLXVPZ/ROxJftIrsa2FFRhItJBJx
|
||||
fqCe73K8zvT5jcHlN+qQlHgmV2KdTbMa0i6IC+VMWgdlK8HhE+nzYfl5Z4cf6ZwA
|
||||
BHnAXdwgtnj8FxZmC1NgRQuhXj3UucPO9/HrqEToAUydUQvbT1YbX+RLnzIysrU=
|
||||
=cikY
|
||||
-----END PGP MESSAGE-----
|
3
ansible.cfg
Normal file
3
ansible.cfg
Normal file
@ -0,0 +1,3 @@
|
||||
[defaults]
|
||||
|
||||
vault_password_file = ansible-gpg-vault/vault.sh
|
10
bootstrap.yml
Normal file
10
bootstrap.yml
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
|
||||
- name: Bootstrap arch linux install
|
||||
hosts: all
|
||||
roles:
|
||||
- name: arch
|
||||
become: yes
|
||||
vars:
|
||||
arch_device: /dev/sdg
|
||||
|
@ -1,2 +0,0 @@
|
||||
-Dawt.toolkit.name=WLToolkit
|
||||
-Xmx4096m
|
@ -1,5 +0,0 @@
|
||||
<application>
|
||||
<component name="EditorColorsManagerImpl">
|
||||
<global_color_scheme name="_@user_Default" />
|
||||
</component>
|
||||
</application>
|
@ -1,6 +0,0 @@
|
||||
import = [
|
||||
"~/.config/alacritty/themes/current-theme.toml"
|
||||
]
|
||||
|
||||
live_config_reload = true
|
||||
ipc_socket = true
|
@ -1 +0,0 @@
|
||||
Subproject commit e759dafb8e2e00abb428592979ce006da7fba4a7
|
@ -1,4 +0,0 @@
|
||||
lat: redacted
|
||||
lng: redacted
|
||||
dbusserver: true
|
||||
portal: true
|
@ -1,18 +0,0 @@
|
||||
[user]
|
||||
email = redacted@example.org
|
||||
name = redacted
|
||||
signingkey = redacted
|
||||
[commit]
|
||||
gpgsign = true
|
||||
[gpg]
|
||||
program = /usr/bin/gpg
|
||||
[rebase]
|
||||
autostash = true
|
||||
autosquash = true
|
||||
[pull]
|
||||
rebase = true
|
||||
autostash = true
|
||||
[format]
|
||||
pretty = oneline
|
||||
[alias]
|
||||
logv = log --pretty=full --show-signature
|
@ -1,5 +0,0 @@
|
||||
enable-ssh-support
|
||||
ignore-cache-for-signing
|
||||
no-allow-external-cache
|
||||
pinentry-program /usr/bin/pinentry-qt
|
||||
allow-loopback-pinentry
|
@ -1,10 +0,0 @@
|
||||
no-emit-version
|
||||
no-comments
|
||||
trusted-key 0xredacted
|
||||
|
||||
keyid-format 0xlong
|
||||
with-fingerprint
|
||||
with-sig-list
|
||||
allow-freeform-uid
|
||||
|
||||
keyserver hkps://keys.openpgp.org
|
@ -1 +0,0 @@
|
||||
your_keygrip_here
|
@ -1,67 +0,0 @@
|
||||
# Beware! This file is rewritten by htop when settings are changed in the interface.
|
||||
# The parser is also very primitive, and not human-friendly.
|
||||
htop_version=3.3.0
|
||||
config_reader_min_version=3
|
||||
fields=0 48 17 18 38 39 40 2 46 47 49 1
|
||||
hide_kernel_threads=1
|
||||
hide_userland_threads=0
|
||||
hide_running_in_container=0
|
||||
shadow_other_users=0
|
||||
show_thread_names=0
|
||||
show_program_path=0
|
||||
highlight_base_name=0
|
||||
highlight_deleted_exe=1
|
||||
shadow_distribution_path_prefix=0
|
||||
highlight_megabytes=1
|
||||
highlight_threads=1
|
||||
highlight_changes=0
|
||||
highlight_changes_delay_secs=5
|
||||
find_comm_in_cmdline=1
|
||||
strip_exe_from_cmdline=1
|
||||
show_merged_command=0
|
||||
header_margin=1
|
||||
screen_tabs=1
|
||||
detailed_cpu_time=0
|
||||
cpu_count_from_one=0
|
||||
show_cpu_usage=1
|
||||
show_cpu_frequency=1
|
||||
show_cpu_temperature=1
|
||||
degree_fahrenheit=0
|
||||
update_process_names=0
|
||||
account_guest_in_cpu_meter=0
|
||||
color_scheme=0
|
||||
enable_mouse=1
|
||||
delay=15
|
||||
hide_function_bar=0
|
||||
header_layout=four_25_25_25_25
|
||||
column_meters_0=LeftCPUs
|
||||
column_meter_modes_0=1
|
||||
column_meters_1=RightCPUs
|
||||
column_meter_modes_1=1
|
||||
column_meters_2=Memory Swap HugePages Blank LoadAverage Tasks DiskIO NetworkIO
|
||||
column_meter_modes_2=1 1 1 2 2 2 2 2
|
||||
column_meters_3=Hostname Uptime DateTime Battery Blank Blank System SystemdUser
|
||||
column_meter_modes_3=2 2 2 2 2 2 2 2
|
||||
tree_view=0
|
||||
sort_key=46
|
||||
tree_sort_key=46
|
||||
sort_direction=-1
|
||||
tree_sort_direction=-1
|
||||
tree_view_always_by_pid=0
|
||||
all_branches_collapsed=0
|
||||
screen:Main=PID USER PRIORITY NICE M_VIRT M_RESIDENT M_SHARE STATE PERCENT_CPU PERCENT_MEM TIME Command
|
||||
.sort_key=PERCENT_CPU
|
||||
.tree_sort_key=PERCENT_CPU
|
||||
.tree_view_always_by_pid=0
|
||||
.tree_view=0
|
||||
.sort_direction=-1
|
||||
.tree_sort_direction=-1
|
||||
.all_branches_collapsed=0
|
||||
screen:I/O=PID USER IO_PRIORITY IO_RATE IO_READ_RATE IO_WRITE_RATE PERCENT_SWAP_DELAY PERCENT_IO_DELAY Command
|
||||
.sort_key=IO_RATE
|
||||
.tree_sort_key=PID
|
||||
.tree_view_always_by_pid=0
|
||||
.tree_view=0
|
||||
.sort_direction=-1
|
||||
.tree_sort_direction=1
|
||||
.all_branches_collapsed=0
|
@ -1,22 +0,0 @@
|
||||
max-history=10
|
||||
background-color=#444444
|
||||
text-color=#ffffff
|
||||
height=120
|
||||
border-color=#c2005b
|
||||
anchor=top-right
|
||||
default-timeout=10000
|
||||
max-visible=10
|
||||
# need libnotify so firefox etc use mako
|
||||
|
||||
[mode=do-not-disturb]
|
||||
invisible=1
|
||||
|
||||
[mode=system-light]
|
||||
background-color=#eeeeee
|
||||
text-color=#555555
|
||||
border-color=#c2005b
|
||||
|
||||
[mode=system-dark]
|
||||
background-color=#444444
|
||||
text-color=#ffffff
|
||||
border-color=#c2005b
|
@ -1,257 +0,0 @@
|
||||
# Default config for sway
|
||||
#
|
||||
# Copy this to ~/.config/sway/config and edit it to your liking.
|
||||
#
|
||||
# Read `man 5 sway` for a complete reference.
|
||||
|
||||
### Variables
|
||||
#
|
||||
# Logo key. Use Mod1 for Alt.
|
||||
set $mod Mod4
|
||||
# Home row direction keys, like vim
|
||||
set $left h
|
||||
set $down j
|
||||
set $up k
|
||||
set $right l
|
||||
# Your preferred terminal emulator
|
||||
set $term alacritty
|
||||
# Your preferred application launcher
|
||||
# Note: pass the final command to swaymsg so that the resulting window can be opened
|
||||
# on the original workspace that the command was run on.
|
||||
#set $menu dmenu_path | dmenu | xargs swaymsg exec --
|
||||
|
||||
### Output configuration
|
||||
#
|
||||
# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
|
||||
output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
|
||||
#
|
||||
# Example configuration:
|
||||
#
|
||||
# output HDMI-A-1 resolution 1920x1080 position 1920,0
|
||||
#
|
||||
# You can get the names of your outputs by running: swaymsg -t get_outputs
|
||||
|
||||
### Idle configuration
|
||||
#
|
||||
# Example configuration:
|
||||
#
|
||||
|
||||
exec_always "pkill swayidle; swayidle -w \
|
||||
timeout 300 'swaylock -F -l -f -c 111111' \
|
||||
timeout 900 'swaymsg \"output * power off\"' resume 'swaymsg \"output * power on\"' \
|
||||
before-sleep 'swaylock -F -l -f -c 111111'"
|
||||
|
||||
set $lock swaylock -F -l -c 111111 --ring-color d90166 --ring-clear-color cccccc --ring-wrong-color ff0000 --line-color dddddd --key-hl-color fe2e90
|
||||
bindsym $mod+l exec $lock
|
||||
#
|
||||
# This will lock your screen after 300 seconds of inactivity, then turn off
|
||||
# your displays after another 300 seconds, and turn your screens back on when
|
||||
# resumed. It will also lock your screen before your computer goes to sleep.
|
||||
|
||||
### Input configuration
|
||||
#
|
||||
# Example configuration:
|
||||
#
|
||||
# input "2:14:SynPS/2_Synaptics_TouchPad" {
|
||||
# dwt enabled
|
||||
# tap enabled
|
||||
# natural_scroll enabled
|
||||
# middle_emulation enabled
|
||||
# }
|
||||
#
|
||||
# You can get the names of your inputs by running: swaymsg -t get_inputs
|
||||
# Read `man 5 sway-input` for more information about this section.
|
||||
|
||||
### Key bindings
|
||||
#
|
||||
# Basics:
|
||||
#
|
||||
# Start a terminal
|
||||
bindsym $mod+Return exec $term
|
||||
|
||||
# Kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# Start your launcher
|
||||
bindsym $mod+d exec $menu
|
||||
|
||||
# Drag floating windows by holding down $mod and left mouse button.
|
||||
# Resize them with right mouse button + $mod.
|
||||
# Despite the name, also works for non-floating windows.
|
||||
# Change normal to inverse to use left mouse button for resizing and right
|
||||
# mouse button for dragging.
|
||||
floating_modifier $mod normal
|
||||
|
||||
# Reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
|
||||
# Exit sway (logs you out of your Wayland session)
|
||||
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
|
||||
|
||||
# Screenshot (grim+slurp)
|
||||
bindsym print exec grim -g "$(slurp -d)" - | wl-copy
|
||||
|
||||
# Media buttons / Brightness
|
||||
bindsym --locked XF86MonBrightnessUp exec brightnessctl set +13 amdgpu_bl1
|
||||
bindsym --locked XF86MonBrightnessDown exec brightnessctl set 13- amdgpu_bl1
|
||||
bindsym --locked XF86AudioRaiseVolume exec "pw-volume change +2.5%;"
|
||||
bindsym --locked XF86AudioLowerVolume exec "pw-volume change -2.5%;"
|
||||
bindsym --locked XF86AudioMute exec "pw-volume mute toggle;"
|
||||
|
||||
#
|
||||
# Moving around:
|
||||
#
|
||||
|
||||
# Or use $mod+[up|down|left|right]
|
||||
bindsym $mod+Left focus left
|
||||
bindsym $mod+Down focus down
|
||||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
|
||||
# Ditto, with arrow keys
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Shift+Down move down
|
||||
bindsym $mod+Shift+Up move up
|
||||
bindsym $mod+Shift+Right move right
|
||||
|
||||
# for entire workspaces
|
||||
bindsym $mod+Control+Shift+Left move workspace to output left
|
||||
bindsym $mod+Control+Shift+Down move workspace to output down
|
||||
bindsym $mod+Control+Shift+Up move workspace to output up
|
||||
bindsym $mod+Control+Shift+Right move workspace to output right
|
||||
#
|
||||
# Workspaces:
|
||||
#
|
||||
# Switch to workspace
|
||||
bindsym $mod+1 workspace number 1
|
||||
bindsym $mod+2 workspace number 2
|
||||
bindsym $mod+3 workspace number 3
|
||||
bindsym $mod+4 workspace number 4
|
||||
bindsym $mod+5 workspace number 5
|
||||
bindsym $mod+6 workspace number 6
|
||||
bindsym $mod+7 workspace number 7
|
||||
bindsym $mod+8 workspace number 8
|
||||
bindsym $mod+9 workspace number 9
|
||||
bindsym $mod+0 workspace number 10
|
||||
# Move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace number 1
|
||||
bindsym $mod+Shift+2 move container to workspace number 2
|
||||
bindsym $mod+Shift+3 move container to workspace number 3
|
||||
bindsym $mod+Shift+4 move container to workspace number 4
|
||||
bindsym $mod+Shift+5 move container to workspace number 5
|
||||
bindsym $mod+Shift+6 move container to workspace number 6
|
||||
bindsym $mod+Shift+7 move container to workspace number 7
|
||||
bindsym $mod+Shift+8 move container to workspace number 8
|
||||
bindsym $mod+Shift+9 move container to workspace number 9
|
||||
bindsym $mod+Shift+0 move container to workspace number 10
|
||||
# Note: workspaces can have any name you want, not just numbers.
|
||||
# We just use 1-10 as the default.
|
||||
#
|
||||
# Layout stuff:
|
||||
#
|
||||
# You can "split" the current object of your focus with
|
||||
# $mod+b or $mod+v, for horizontal and vertical splits
|
||||
# respectively.
|
||||
bindsym $mod+b splith
|
||||
bindsym $mod+v splitv
|
||||
|
||||
# Switch the current container between different layout styles
|
||||
bindsym $mod+s layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+e layout toggle split
|
||||
|
||||
# Make the current focus fullscreen
|
||||
bindsym $mod+f fullscreen
|
||||
|
||||
# Toggle the current focus between tiling and floating mode
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
|
||||
# Swap focus between the tiling area and the floating area
|
||||
#bindsym $mod+space focus mode_toggle
|
||||
|
||||
# Move focus to the parent container
|
||||
bindsym $mod+a focus parent
|
||||
#
|
||||
# Scratchpad:
|
||||
#
|
||||
# Sway has a "scratchpad", which is a bag of holding for windows.
|
||||
# You can send windows there and get them back later.
|
||||
|
||||
# Move the currently focused window to the scratchpad
|
||||
bindsym $mod+Shift+minus move scratchpad
|
||||
|
||||
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||
# If there are multiple scratchpad windows, this command cycles through them.
|
||||
bindsym $mod+minus scratchpad show
|
||||
#
|
||||
# Resizing containers:
|
||||
#
|
||||
mode "resize" {
|
||||
# left will shrink the containers width
|
||||
# right will grow the containers width
|
||||
# up will shrink the containers height
|
||||
# down will grow the containers height
|
||||
bindsym $left resize shrink width 10px
|
||||
bindsym $down resize grow height 10px
|
||||
bindsym $up resize shrink height 10px
|
||||
bindsym $right resize grow width 10px
|
||||
|
||||
# Ditto, with arrow keys
|
||||
bindsym Left resize shrink width 10px
|
||||
bindsym Down resize grow height 10px
|
||||
bindsym Up resize shrink height 10px
|
||||
bindsym Right resize grow width 10px
|
||||
|
||||
# Return to default mode
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
#
|
||||
# Status Bar:
|
||||
#
|
||||
# Read `man 5 sway-bar` for more information about this section.
|
||||
#bar {
|
||||
# position top
|
||||
# When the status_command prints a new line to stdout, swaybar updates.
|
||||
# The default just shows the current date and time.
|
||||
#status_command while date +'%Y-%m-%d %I:%M:%S %p'; do sleep 1; done
|
||||
#}
|
||||
|
||||
# use sway-launcher-desktop
|
||||
for_window [app_id="^launcher$"] floating enable, sticky enable, resize set 30 ppt 60 ppt, border pixel 5
|
||||
set $menu exec $term --class launcher -e /usr/bin/sway-launcher-desktop
|
||||
|
||||
# style pinentry programs
|
||||
for_window [app_id="^pinentry$"] floating enable, sticky enable, resize set 80 ppt 120 ppt, border pixel 2
|
||||
|
||||
# set picture-in-picture to floating
|
||||
for_window [app_id="^firefox$" title="^Picture-in-Picture$"] floating enable, inhibit_idle visible;
|
||||
|
||||
#for_window [class="^Nextcloud$" title="^Nextcloud$"] floating enable, sticky enable, border pixel 10;
|
||||
|
||||
# Nag mode using swaynagmode
|
||||
set $nag exec swaynagmode
|
||||
mode "nag" {
|
||||
bindsym {
|
||||
Ctrl+d mode "default"
|
||||
Ctrl+c $nag --exit
|
||||
q $nag --exit
|
||||
Escape $nag --exit
|
||||
Return $nag --confirm
|
||||
Shift+Tab $nag --select prev
|
||||
Tab $nag --select next
|
||||
Left $nag --select prev
|
||||
Right $nag --select next
|
||||
Up $nag --select prev
|
||||
Down $nag --select next
|
||||
}
|
||||
}
|
||||
|
||||
# launch kanshi
|
||||
exec_always 'sleep 0.5; pkill kanshi'
|
||||
exec_always 'sleep 0.75; kanshi'
|
||||
|
||||
include ~/.config/sway/current-theme
|
||||
include ~/.config/sway/config.d/*
|
@ -1,16 +0,0 @@
|
||||
# sway does not set DISPLAY/WAYLAND_DISPLAY in the systemd user environment
|
||||
# See FS#63021
|
||||
# Adapted from xorg's 50-systemd-user.sh, which achieves a similar goal.
|
||||
|
||||
# Upstream refuses to set XDG_CURRENT_DESKTOP so we have to.
|
||||
exec systemctl --user set-environment XDG_CURRENT_DESKTOP=sway
|
||||
exec systemctl --user import-environment DISPLAY \
|
||||
SWAYSOCK \
|
||||
WAYLAND_DISPLAY \
|
||||
XDG_CURRENT_DESKTOP
|
||||
|
||||
exec hash dbus-update-activation-environment 2>/dev/null && \
|
||||
dbus-update-activation-environment --systemd DISPLAY \
|
||||
SWAYSOCK \
|
||||
XDG_CURRENT_DESKTOP=sway \
|
||||
WAYLAND_DISPLAY
|
@ -1,4 +0,0 @@
|
||||
# see https://github.com/swaywm/sway/wiki/Systemd-integration
|
||||
exec 'systemctl --user import-environment {,WAYLAND_}DISPLAY SWAYSOCK; systemctl --user start sway-session.target'
|
||||
exec swaymsg -t subscribe '["shutdown"]' && systemctl --user stop sway-session.target
|
||||
|
@ -1 +0,0 @@
|
||||
light-mode
|
@ -1,14 +0,0 @@
|
||||
bar {
|
||||
position top
|
||||
status_command i3status
|
||||
colors {
|
||||
statusline #dddddd
|
||||
background #222222
|
||||
inactive_workspace #323232 #323232 #999999
|
||||
active_workspace #cccccc #c2005b #bbbbbb
|
||||
focused_workspace #aaaaaa #d90166 #dddddd
|
||||
}
|
||||
}
|
||||
|
||||
client.focused #555555 #444444 #eeeeee #2e92f4 #555555
|
||||
# vi:syntax=swayconfig
|
@ -1,19 +0,0 @@
|
||||
bar {
|
||||
position top
|
||||
status_command i3status
|
||||
colors {
|
||||
statusline #222222
|
||||
background #ededed
|
||||
# workspace type border background text
|
||||
inactive_workspace #888888 #efefef #666666
|
||||
active_workspace #454545 #444444 #bbbbbb
|
||||
focused_workspace #aaaaaa #d90166 #dddddd
|
||||
}
|
||||
}
|
||||
|
||||
# class border background text indicator child_border
|
||||
client.focused #c2005b #e0e0e0 #c2005b #2e92f4 #eeeeee
|
||||
client.unfocused #bbbbbb #ededed #666666
|
||||
client.focused_inactive #777777 #bcbcbc #444444
|
||||
|
||||
# vi:syntax=swayconfig
|
@ -1,6 +0,0 @@
|
||||
[preferred]
|
||||
default=gtk
|
||||
org.freedesktop.impl.ScreenCast=wlr
|
||||
org.freedesktop.impl.Screenshot=wlr
|
||||
org.freedesktop.impl.portal.Settings=darkman
|
||||
org.freedesktop.impl.portal.Inhibit=none
|
7
git.yml
Normal file
7
git.yml
Normal file
@ -0,0 +1,7 @@
|
||||
---
|
||||
|
||||
- name: Install & template git configuration
|
||||
hosts: git
|
||||
become: true
|
||||
roles:
|
||||
- git
|
43
global.yml
Normal file
43
global.yml
Normal file
@ -0,0 +1,43 @@
|
||||
---
|
||||
|
||||
all:
|
||||
hosts:
|
||||
iodine:
|
||||
ansible_host: iodine.int.finallycoffee.eu
|
||||
ansible_user: jdreichmann
|
||||
ansible_become_user: jdreichmann
|
||||
ansible_become: true
|
||||
carbon:
|
||||
ansible_host: carbon.int.finallycoffee.eu
|
||||
# iron:
|
||||
# ansible_host: iron.int.finallycoffee.eu
|
||||
# platinum:
|
||||
# ansible_host: platinum.int.finallycoffee.eu
|
||||
# xenon:
|
||||
# ansible_host: xenon.int.finallycoffee.eu
|
||||
# yttrium:
|
||||
# ansible_host: yttrium.int.finallycoffee.eu
|
||||
|
||||
munich:
|
||||
ansible_host: munich.finallycoffee.eu
|
||||
ansible_user: jdreichmann
|
||||
ansible_become_user: jdreichmann
|
||||
ansible_become: true
|
||||
vars:
|
||||
ansible_user: transcaffeine
|
||||
ansible_become_user: transcaffeine
|
||||
ansible_become: true
|
||||
|
||||
|
||||
servers:
|
||||
hosts:
|
||||
iodine:
|
||||
munich:
|
||||
# iron:
|
||||
# platinum:
|
||||
|
||||
clients:
|
||||
hosts:
|
||||
# carbon:
|
||||
# xenon:
|
||||
|
7
gnupg.yml
Normal file
7
gnupg.yml
Normal file
@ -0,0 +1,7 @@
|
||||
---
|
||||
|
||||
- name: Sets up gpg and the configs for using it as a ssh-agent
|
||||
hosts: all
|
||||
become: true
|
||||
roles:
|
||||
- gnupg
|
34
group_vars/git.yml
Normal file
34
group_vars/git.yml
Normal file
@ -0,0 +1,34 @@
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
64363730336134663064313633316132396335613761386239613966313864656565376230323338
|
||||
3863396633383931393031643837323037356332326664630a393662323135643562643230363437
|
||||
31343065363266353662643365303663633131393037353130316638623035356138383164346166
|
||||
6234323936383061340a366634373336333363656463656433333139333362393530363131623535
|
||||
32396534633831343632323263336565353836343035396138353132356464383763396535393337
|
||||
64353137653266653262643164613534333865666336663561376462346663663934376466343261
|
||||
64656535343937643031616663666566626265313661623034386163336232336538663365626566
|
||||
32346463363333616261643364363263363163316431623364383333353364363836613062373537
|
||||
64636337343466643333666465643162323266353663366662313639623638393961333230373838
|
||||
63363633383134623931373062396665353161636435343463646536663962333232656264306331
|
||||
37323564306135363064363663656239313165326331303865643338333463303935356436626262
|
||||
38353738366632663839626166303964396535333639646162666435363630633132646531313930
|
||||
36343439373230616433623539393938326562343465633763363865323262323366316135393339
|
||||
62616132333063643433353039353765663736633334613138363936306336303962643339313163
|
||||
35646562663861613966346437666534313839373436376666313433353338653333643263373331
|
||||
32306136333564343831343439346466626135313835346433666337653435313833383033633665
|
||||
64613430383666653036393938643734613330623066333866643965343863636166363063306534
|
||||
39343163366161373862383466313830646336333731333438663465336339313865306438353262
|
||||
37363538383132373933313566366265616538356636633636343633343830363739383237316632
|
||||
33616636666464366462613866383837323736353931623463323565356431346166393066326263
|
||||
31623561323538373437366164376464663639633932383035346165353462303264373433393231
|
||||
62353866616532313236363337306466626536306666333232613065373066663762663739633831
|
||||
39316635663761663934323733656666396661653462383665336631373537356533383332323533
|
||||
38633465326566663331383564643066366235613337356531396530323937323138313966393635
|
||||
62353365383839383762303034633562353130353434656232636539313165346134373231316333
|
||||
62656534386439623435353264313134623035303366313763316164656336346436353130363834
|
||||
36306662633139663538383238646561346166353737636163323965663030373232613564393335
|
||||
39353632333139336132636536326538353033373736643132346635613666346635616637386539
|
||||
38643031626439373830316230643331303037313363633661333539383166356137333665623336
|
||||
64376334353837353262373461663666646630323366356538313138363038626635353231626164
|
||||
64346437383261643638306566356262383534646163343164333838373738303535623535323666
|
||||
35623861663933613366306131656231353833643234373933316262633338666236386662636135
|
||||
3563
|
3
group_vars/gnupg.yml
Normal file
3
group_vars/gnupg.yml
Normal file
@ -0,0 +1,3 @@
|
||||
# List of all keygrips to be templated into the sshcontrol
|
||||
gpg_keygrips: ["468CB012C93D96E3C67F2CBCFB112400050023B6"]
|
||||
|
8
i3.yml
Normal file
8
i3.yml
Normal file
@ -0,0 +1,8 @@
|
||||
---
|
||||
|
||||
- name: Template i3 config
|
||||
hosts: all
|
||||
become: true
|
||||
roles:
|
||||
- i3
|
||||
|
14
legacy/gnupg/gnupg_agent
Executable file
14
legacy/gnupg/gnupg_agent
Executable file
@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
rc=$(pgrep gpg-agent)
|
||||
if [ "$rc" != 0 ]; then
|
||||
export GPG_AGENT_INFO
|
||||
export SSH_AUTH_SOCK
|
||||
export SSH_AGENT_PID
|
||||
else
|
||||
eval $(gpg-agent --daemon)
|
||||
fi
|
||||
|
||||
gpg-connect-agent /bye
|
||||
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
|
||||
|
7
legacy/gnupg/gpg-agent.conf
Normal file
7
legacy/gnupg/gpg-agent.conf
Normal file
@ -0,0 +1,7 @@
|
||||
default-cache-ttl 300
|
||||
default-cache-ttl-ssh 300
|
||||
max-cache-ttl 300
|
||||
max-cache-ttl-ssh 300
|
||||
no-allow-external-cache
|
||||
enable-ssh-support
|
||||
ignore-cache-for-signing
|
12
legacy/gnupg/gpg.conf
Normal file
12
legacy/gnupg/gpg.conf
Normal file
@ -0,0 +1,12 @@
|
||||
cert-digest-algo SHA256
|
||||
no-emit-version
|
||||
no-comments
|
||||
personal-cipher-preferences AES AES256 AES192 CAST5
|
||||
personal-digest-preferences SHA256 SHA512 SHA384 SHA224
|
||||
ignore-time-conflict
|
||||
allow-freeform-uid
|
||||
with-fingerprint
|
||||
keyid-format 0xlong
|
||||
keyserver hkps://hkps.pool.sks-keyservers.net
|
||||
#keyserver-options ca-cert-file=/home/electron/.gnupg/sks-keyservers_ca.pem
|
||||
keyserver-options no-honor-keyserver-url
|
12
legacy/gnupg/sshcontrol
Normal file
12
legacy/gnupg/sshcontrol
Normal file
@ -0,0 +1,12 @@
|
||||
# List of allowed ssh keys. Only keys present in this file are used
|
||||
# in the SSH protocol. The ssh-add tool may add new entries to this
|
||||
# file to enable them; you may also add them manually. Comment
|
||||
# lines, like this one, as well as empty lines are ignored. Lines do
|
||||
# have a certain length limit but this is not serious limitation as
|
||||
# the format of the entries is fixed and checked by gpg-agent. A
|
||||
# non-comment line starts with optional white spaces, followed by the
|
||||
# keygrip of the key given as 40 hex digits, optionally followed by a
|
||||
# caching TTL in seconds, and another optional field for arbitrary
|
||||
# flags. Prepend the keygrip with an '!' mark to disable it.
|
||||
|
||||
468CB012C93D96E3C67F2CBCFB112400050023B6
|
161
legacy/i3/i3config
Normal file
161
legacy/i3/i3config
Normal file
@ -0,0 +1,161 @@
|
||||
# This file has been auto-generated by i3-config-wizard(1).
|
||||
# It will not be overwritten, so edit it as you like.
|
||||
#
|
||||
# Should you change your keyboard layout some time, delete
|
||||
# this file and re-run i3-config-wizard(1).
|
||||
#
|
||||
|
||||
# i3 config file (v4)
|
||||
#
|
||||
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
|
||||
|
||||
set $mod Mod4
|
||||
|
||||
# Font for window titles. Will also be used by the bar unless a different font
|
||||
# is used in the bar {} block below.
|
||||
font pango:monospace 8
|
||||
|
||||
# This font is widely installed, provides lots of unicode glyphs, right-to-left
|
||||
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
||||
#font pango:DejaVu Sans Mono 8
|
||||
|
||||
# Before i3 v4.8, we used to recommend this one as the default:
|
||||
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
|
||||
# The font above is very space-efficient, that is, it looks good, sharp and
|
||||
# clear in small sizes. However, its unicode glyph coverage is limited, the old
|
||||
# X core fonts rendering does not support right-to-left and this being a bitmap
|
||||
# font, it doesn’t scale on retina/hidpi displays.
|
||||
|
||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||
floating_modifier $mod
|
||||
|
||||
# start a terminal
|
||||
bindsym $mod+Return exec xfce4-terminal
|
||||
|
||||
# kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# For use with xfce4 whisker popup menu in Mint XFCE:
|
||||
bindsym $mod+d exec xfce4-popup-whiskermenu
|
||||
|
||||
# Lock the screen
|
||||
bindsym $mod+l exec i3lock
|
||||
|
||||
# There also is the (new) i3-dmenu-desktop which only displays applications
|
||||
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
|
||||
# installed.
|
||||
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
|
||||
|
||||
# change focus
|
||||
bindsym $mod+Left focus left
|
||||
bindsym $mod+Down focus down
|
||||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
|
||||
# move focused window
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Shift+Down move down
|
||||
bindsym $mod+Shift+Up move up
|
||||
bindsym $mod+Shift+Right move right
|
||||
|
||||
# split in horizontal orientation
|
||||
bindsym $mod+h split h
|
||||
|
||||
# split in vertical orientation
|
||||
bindsym $mod+v split v
|
||||
|
||||
# enter fullscreen mode for the focused container
|
||||
bindsym $mod+f fullscreen toggle
|
||||
|
||||
# change container layout (stacked, tabbed, toggle split)
|
||||
bindsym $mod+s layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+e layout toggle split
|
||||
|
||||
# toggle tiling / floating
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
|
||||
# change focus between tiling / floating windows
|
||||
bindsym $mod+space focus mode_toggle
|
||||
|
||||
# focus the parent container
|
||||
bindsym $mod+a focus parent
|
||||
|
||||
# focus the child container
|
||||
# bindsym $mod+d focus child
|
||||
|
||||
# switch to workspace
|
||||
bindsym $mod+1 workspace 1
|
||||
bindsym $mod+2 workspace 2
|
||||
bindsym $mod+3 workspace 3
|
||||
bindsym $mod+4 workspace 4
|
||||
bindsym $mod+5 workspace 5
|
||||
bindsym $mod+6 workspace 6
|
||||
bindsym $mod+7 workspace 7
|
||||
bindsym $mod+8 workspace 8
|
||||
bindsym $mod+9 workspace 9
|
||||
bindsym $mod+0 workspace 10
|
||||
|
||||
# move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace 1
|
||||
bindsym $mod+Shift+2 move container to workspace 2
|
||||
bindsym $mod+Shift+3 move container to workspace 3
|
||||
bindsym $mod+Shift+4 move container to workspace 4
|
||||
bindsym $mod+Shift+5 move container to workspace 5
|
||||
bindsym $mod+Shift+6 move container to workspace 6
|
||||
bindsym $mod+Shift+7 move container to workspace 7
|
||||
bindsym $mod+Shift+8 move container to workspace 8
|
||||
bindsym $mod+Shift+9 move container to workspace 9
|
||||
bindsym $mod+Shift+0 move container to workspace 10
|
||||
|
||||
# reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||
bindsym $mod+Shift+r restart
|
||||
# exit i3 (logs you out of your X session)
|
||||
#-old-#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+e exec xfce4-session-logout
|
||||
|
||||
# class border backgr. text indicator child_border
|
||||
client.focused #ff33cc #ff33cc #ffffff #ff33cc #ff33cc
|
||||
client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a
|
||||
client.unfocused #333333 #222222 #888888 #292d2e #222222
|
||||
client.urgent #ff0000 #ff0000 #ffffff #ff0000 #ff0000
|
||||
client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c
|
||||
|
||||
# resize window (you can also use the mouse for that)
|
||||
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
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||
# finds out, if available)
|
||||
|
||||
|
||||
#-old-#bar {
|
||||
#-old-# status_command i3status
|
||||
#-old-#}
|
||||
exec --no-startup-id nitrogen --restore
|
||||
exec --no-startup-id synergy
|
||||
|
37
legacy/initialSetup.sh
Executable file
37
legacy/initialSetup.sh
Executable file
@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Install packages which are frequently used by me
|
||||
|
||||
if [[ $(command -v dnf) == 0 ]]; then
|
||||
sudo -i dnf install tmux git gnupg2 openssh
|
||||
elif [[ $(command -v pacman) == 0 ]]; then
|
||||
sudo pacman -S tmux git gnupg openssh
|
||||
fi
|
||||
|
||||
HERE=$(pwd)
|
||||
|
||||
# Set up tmux
|
||||
ln -s $HERE/tmux/tmux.conf ~/.tmux.conf
|
||||
# Get the tmux-plugin-manager
|
||||
mkdir -p ~/.tmux/plugins
|
||||
git clone https://github.com/tmux-plugins/tpm.git ~/.tmux/plugins/tpm
|
||||
|
||||
# Set up redshift
|
||||
mkdir -p ~/.config/redshift
|
||||
mkdir -p ~/.config/autostart
|
||||
ln -s $HERE/redshift/redshift.conf ~/.config/redshift/redshift.conf
|
||||
|
||||
# Set up gnupg things
|
||||
mkdir -p ~/.gnupg
|
||||
ln -s $HERE/gnupg/gpg.conf ~/.gnupg/gpg.conf
|
||||
ln -s $HERE/gnupg/gpg-agent.conf ~/.gnupg/gpg-agent.conf
|
||||
ln -s $HERE/gnupg/sshcontrol ~/.gnupg/sshcontrol
|
||||
ln -s $HERE/gnupg/gnupg_agent ~/.gnupg/gnupg_agent
|
||||
|
||||
git config --global gpg.program gpg2
|
||||
git config --global user.name jdreichmann
|
||||
git config --global user.email johanna.reichmann@delta-industries.de
|
||||
git config --global user.signingkey 03624C433676E465
|
||||
git config --global commit.gpgsign true
|
||||
git config --global alias.logs "log --show-signature"
|
||||
|
4
legacy/keybindings.sh
Executable file
4
legacy/keybindings.sh
Executable file
@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
rm ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
|
||||
ln -s `pwd`/xfce4-keyboard-shortcuts.xml ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
|
178
legacy/xfce4-keyboard-shortcuts.xml
Normal file
178
legacy/xfce4-keyboard-shortcuts.xml
Normal file
@ -0,0 +1,178 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfce4-keyboard-shortcuts" version="1.0">
|
||||
<property name="commands" type="empty">
|
||||
<property name="default" type="empty">
|
||||
<property name="<Alt>F1" type="empty"/>
|
||||
<property name="<Alt>F2" type="empty">
|
||||
<property name="startup-notify" type="empty"/>
|
||||
</property>
|
||||
<property name="<Alt>F3" type="empty">
|
||||
<property name="startup-notify" type="empty"/>
|
||||
</property>
|
||||
<property name="<Primary><Alt>Delete" type="empty"/>
|
||||
<property name="<Control><Alt>Escape" type="empty"/>
|
||||
<property name="<Primary><Alt>l" type="empty"/>
|
||||
<property name="XF86Display" type="empty"/>
|
||||
<property name="<Super>p" type="empty"/>
|
||||
<property name="<Primary>Escape" type="empty"/>
|
||||
<property name="XF86LogOff" type="empty"/>
|
||||
<property name="Print" type="empty"/>
|
||||
<property name="<Alt>Print" type="empty"/>
|
||||
<property name="XF86WWW" type="empty"/>
|
||||
<property name="XF86Mail" type="empty"/>
|
||||
<property name="XF86Calendar" type="empty"/>
|
||||
<property name="XF86Memo" type="empty"/>
|
||||
<property name="XF86Terminal" type="empty"/>
|
||||
<property name="XF86Explorer" type="empty"/>
|
||||
<property name="XF86AudioMedia" type="empty"/>
|
||||
<property name="XF86AudioPlay" type="empty"/>
|
||||
<property name="XF86AudioPrev" type="empty"/>
|
||||
<property name="XF86AudioNext" type="empty"/>
|
||||
<property name="XF86Calculator" type="empty"/>
|
||||
</property>
|
||||
<property name="custom" type="empty">
|
||||
<property name="XF86Explorer" type="string" value="Thunar"/>
|
||||
<property name="<Super>p" type="string" value="xfce4-display-settings --minimal"/>
|
||||
<property name="<Primary>Escape" type="string" value="xfdesktop --menu"/>
|
||||
<property name="XF86LogOff" type="string" value="xfce4-session-logout"/>
|
||||
<property name="<Alt>Print" type="string" value="xfce4-screenshooter -w"/>
|
||||
<property name="XF86Terminal" type="string" value="xfce4-terminal"/>
|
||||
<property name="<Alt>F3" type="empty">
|
||||
<property name="startup-notify" type="bool" value="true"/>
|
||||
</property>
|
||||
<property name="XF86AudioNext" type="string" value="pragha --next"/>
|
||||
<property name="XF86AudioPrev" type="string" value="pragha --prev"/>
|
||||
<property name="XF86AudioMedia" type="string" value="pragha"/>
|
||||
<property name="XF86Memo" type="string" value="xfce4-notes"/>
|
||||
<property name="<Control><Alt>Escape" type="string" value="xkill"/>
|
||||
<property name="XF86AudioPlay" type="string" value="pragha --pause"/>
|
||||
<property name="Print" type="string" value="xfce4-screenshooter -f"/>
|
||||
<property name="XF86Display" type="string" value="xfce4-display-settings --minimal"/>
|
||||
<property name="XF86Mail" type="string" value="exo-open --launch MailReader"/>
|
||||
<property name="XF86WWW" type="string" value="exo-open --launch WebBrowser"/>
|
||||
<property name="XF86Calculator" type="string" value="galculator"/>
|
||||
<property name="XF86Calendar" type="string" value="orage"/>
|
||||
<property name="override" type="bool" value="true"/>
|
||||
<property name="<Alt>F2" type="string" value="xfce4-appfinder">
|
||||
<property name="startup-notify" type="bool" value="true"/>
|
||||
</property>
|
||||
<property name="Super_L" type="string" value="xfce4-popup-whiskermenu"/>
|
||||
<property name="<Super>l" type="string" value="xflock4"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="xfwm4" type="empty">
|
||||
<property name="default" type="empty">
|
||||
<property name="<Alt>Insert" type="empty"/>
|
||||
<property name="Escape" type="empty"/>
|
||||
<property name="Left" type="empty"/>
|
||||
<property name="Right" type="empty"/>
|
||||
<property name="Up" type="empty"/>
|
||||
<property name="Down" type="empty"/>
|
||||
<property name="<Alt>Tab" type="empty"/>
|
||||
<property name="<Alt><Shift>Tab" type="empty"/>
|
||||
<property name="<Alt>Delete" type="empty"/>
|
||||
<property name="<Primary><Alt>Down" type="empty"/>
|
||||
<property name="<Primary><Alt>Left" type="empty"/>
|
||||
<property name="<Shift><Alt>Page_Down" type="empty"/>
|
||||
<property name="<Alt>F4" type="empty"/>
|
||||
<property name="<Alt>F6" type="empty"/>
|
||||
<property name="<Alt>F7" type="empty"/>
|
||||
<property name="<Alt>F8" type="empty"/>
|
||||
<property name="<Alt>F9" type="empty"/>
|
||||
<property name="<Alt>F10" type="empty"/>
|
||||
<property name="<Alt>F11" type="empty"/>
|
||||
<property name="<Alt>F12" type="empty"/>
|
||||
<property name="<Primary><Shift><Alt>Left" type="empty"/>
|
||||
<property name="<Primary><Alt>End" type="empty"/>
|
||||
<property name="<Primary><Alt>Home" type="empty"/>
|
||||
<property name="<Primary><Shift><Alt>Right" type="empty"/>
|
||||
<property name="<Primary><Shift><Alt>Up" type="empty"/>
|
||||
<property name="<Primary><Alt>KP_1" type="empty"/>
|
||||
<property name="<Primary><Alt>KP_2" type="empty"/>
|
||||
<property name="<Primary><Alt>KP_3" type="empty"/>
|
||||
<property name="<Primary><Alt>KP_4" type="empty"/>
|
||||
<property name="<Primary><Alt>KP_5" type="empty"/>
|
||||
<property name="<Primary><Alt>KP_6" type="empty"/>
|
||||
<property name="<Primary><Alt>KP_7" type="empty"/>
|
||||
<property name="<Primary><Alt>KP_8" type="empty"/>
|
||||
<property name="<Primary><Alt>KP_9" type="empty"/>
|
||||
<property name="<Alt>space" type="empty"/>
|
||||
<property name="<Shift><Alt>Page_Up" type="empty"/>
|
||||
<property name="<Primary><Alt>Right" type="empty"/>
|
||||
<property name="<Primary><Alt>d" type="empty"/>
|
||||
<property name="<Primary><Alt>Up" type="empty"/>
|
||||
<property name="<Super>Tab" type="empty"/>
|
||||
<property name="<Primary>F1" type="empty"/>
|
||||
<property name="<Primary>F2" type="empty"/>
|
||||
<property name="<Primary>F3" type="empty"/>
|
||||
<property name="<Primary>F4" type="empty"/>
|
||||
<property name="<Primary>F5" type="empty"/>
|
||||
<property name="<Primary>F6" type="empty"/>
|
||||
<property name="<Primary>F7" type="empty"/>
|
||||
<property name="<Primary>F8" type="empty"/>
|
||||
<property name="<Primary>F9" type="empty"/>
|
||||
<property name="<Primary>F10" type="empty"/>
|
||||
<property name="<Primary>F11" type="empty"/>
|
||||
<property name="<Primary>F12" type="empty"/>
|
||||
</property>
|
||||
<property name="custom" type="empty">
|
||||
<property name="Up" type="string" value="up_key"/>
|
||||
<property name="<Primary><Alt>KP_8" type="string" value="move_window_workspace_8_key"/>
|
||||
<property name="Left" type="string" value="left_key"/>
|
||||
<property name="<Primary><Alt>KP_6" type="string" value="move_window_workspace_6_key"/>
|
||||
<property name="<Alt>Insert" type="string" value="add_workspace_key"/>
|
||||
<property name="<Alt>Tab" type="string" value="cycle_windows_key"/>
|
||||
<property name="<Alt><Shift>Tab" type="string" value="cycle_reverse_windows_key"/>
|
||||
<property name="<Primary><Alt>KP_7" type="string" value="move_window_workspace_7_key"/>
|
||||
<property name="<Primary><Alt>Right" type="string" value="right_workspace_key"/>
|
||||
<property name="<Primary><Shift><Alt>Right" type="string" value="move_window_right_key"/>
|
||||
<property name="<Primary><Alt>Up" type="string" value="up_workspace_key"/>
|
||||
<property name="<Primary><Alt>Home" type="string" value="move_window_prev_workspace_key"/>
|
||||
<property name="<Alt>F4" type="string" value="close_window_key"/>
|
||||
<property name="<Primary><Shift><Alt>Left" type="string" value="move_window_left_key"/>
|
||||
<property name="<Alt>F6" type="string" value="stick_window_key"/>
|
||||
<property name="<Alt>F12" type="string" value="above_key"/>
|
||||
<property name="<Primary><Alt>Down" type="string" value="down_workspace_key"/>
|
||||
<property name="<Alt>F8" type="string" value="resize_window_key"/>
|
||||
<property name="<Super>Tab" type="string" value="switch_window_key"/>
|
||||
<property name="Escape" type="string" value="cancel_key"/>
|
||||
<property name="<Primary><Alt>End" type="string" value="move_window_next_workspace_key"/>
|
||||
<property name="<Alt>F11" type="string" value="fullscreen_key"/>
|
||||
<property name="<Primary><Shift><Alt>Up" type="string" value="move_window_up_key"/>
|
||||
<property name="Right" type="string" value="right_key"/>
|
||||
<property name="Down" type="string" value="down_key"/>
|
||||
<property name="<Alt>F7" type="string" value="move_window_key"/>
|
||||
<property name="<Shift><Alt>Page_Down" type="string" value="lower_window_key"/>
|
||||
<property name="<Primary><Alt>Left" type="string" value="left_workspace_key"/>
|
||||
<property name="<Alt>space" type="string" value="popup_menu_key"/>
|
||||
<property name="<Primary><Alt>KP_1" type="string" value="move_window_workspace_1_key"/>
|
||||
<property name="<Alt>Delete" type="string" value="del_workspace_key"/>
|
||||
<property name="<Shift><Alt>Page_Up" type="string" value="raise_window_key"/>
|
||||
<property name="<Primary><Alt>KP_2" type="string" value="move_window_workspace_2_key"/>
|
||||
<property name="<Primary><Alt>KP_3" type="string" value="move_window_workspace_3_key"/>
|
||||
<property name="<Primary><Alt>KP_4" type="string" value="move_window_workspace_4_key"/>
|
||||
<property name="<Primary><Alt>KP_5" type="string" value="move_window_workspace_5_key"/>
|
||||
<property name="override" type="bool" value="true"/>
|
||||
<property name="<Super>Left" type="string" value="tile_left_key"/>
|
||||
<property name="<Super>Right" type="string" value="tile_right_key"/>
|
||||
<property name="<Shift><Super>Left" type="string" value="tile_up_left_key"/>
|
||||
<property name="<Shift><Super>Right" type="string" value="tile_up_right_key"/>
|
||||
<property name="<Primary><Super>Left" type="string" value="tile_down_left_key"/>
|
||||
<property name="<Primary><Super>Right" type="string" value="tile_down_right_key"/>
|
||||
<property name="<Super>d" type="string" value="show_desktop_key"/>
|
||||
<property name="<Super>1" type="string" value="workspace_1_key"/>
|
||||
<property name="<Super>2" type="string" value="workspace_2_key"/>
|
||||
<property name="<Super>3" type="string" value="workspace_3_key"/>
|
||||
<property name="<Super>4" type="string" value="workspace_4_key"/>
|
||||
<property name="<Super>5" type="string" value="workspace_5_key"/>
|
||||
<property name="<Super>6" type="string" value="workspace_6_key"/>
|
||||
<property name="<Super>Up" type="string" value="maximize_window_key"/>
|
||||
<property name="<Super>Down" type="string" value="hide_window_key"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="providers" type="array">
|
||||
<value type="string" value="xfwm4"/>
|
||||
<value type="string" value="commands"/>
|
||||
</property>
|
||||
</channel>
|
31
local.yml
Normal file
31
local.yml
Normal file
@ -0,0 +1,31 @@
|
||||
---
|
||||
|
||||
all:
|
||||
hosts:
|
||||
local:
|
||||
ansible_host: localhost
|
||||
ansible_connection: local
|
||||
vars:
|
||||
ansible_user: transcaffeine
|
||||
ansible_become_user: root
|
||||
ansible_become_method: sudo
|
||||
|
||||
gnupg:
|
||||
hosts:
|
||||
local:
|
||||
|
||||
redshift:
|
||||
hosts:
|
||||
local:
|
||||
|
||||
tmux:
|
||||
hosts:
|
||||
local:
|
||||
|
||||
vim:
|
||||
hosts:
|
||||
local:
|
||||
|
||||
git:
|
||||
hosts:
|
||||
local:
|
@ -1,4 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
ln -fs ../themes/themes/monokai_pro.toml .config/alacritty/themes/current-theme.toml
|
||||
touch ~/.config/alacritty/alacritty.toml
|
@ -1,3 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
makoctl set-mode system-dark
|
@ -1,7 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
ln -fs dark-mode ~/.config/sway/current-theme
|
||||
|
||||
SWAYSOCK="/run/user/$(id -u)/sway-ipc.$(id -u).$(pgrep -x sway).sock"
|
||||
|
||||
swaymsg -s $SWAYSOCK reload
|
@ -1,7 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
ln -fs dark-mode.conf ~/.config/tmux/current-theme.conf
|
||||
|
||||
if tmux list-sessions; then
|
||||
tmux source ~/.tmux.conf
|
||||
fi
|
@ -1,4 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
ln -fs ../themes/themes/catppuccin_latte.toml .config/alacritty/themes/current-theme.toml
|
||||
touch ~/.config/alacritty/alacritty.toml
|
@ -1,3 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
makoctl set-mode system-light
|
@ -1,7 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
ln -fs light-mode ~/.config/sway/current-theme
|
||||
|
||||
SWAYSOCK="/run/user/$(id -u)/sway-ipc.$(id -u).$(pgrep -x sway).sock"
|
||||
|
||||
swaymsg -s $SWAYSOCK reload
|
@ -1,7 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
ln -fs light-mode.conf ~/.config/tmux/current-theme.conf
|
||||
|
||||
if tmux list-sesions; then
|
||||
tmux source ~/.tmux.conf
|
||||
fi
|
7
redshift.yml
Normal file
7
redshift.yml
Normal file
@ -0,0 +1,7 @@
|
||||
---
|
||||
|
||||
- name: Sets up redshift and creates an autostart file
|
||||
hosts: clients
|
||||
become: true
|
||||
roles:
|
||||
- redshift
|
14
roles/arch/README.md
Normal file
14
roles/arch/README.md
Normal file
@ -0,0 +1,14 @@
|
||||
# ArchLinux role
|
||||
|
||||
Bootstraps an arch linux install to a given device. The whole block device is wiped in the process!
|
||||
|
||||
## Requirements:
|
||||
|
||||
`pacman -Syu parted cryptsetup wipefs lsblk blkid mkfs.[fat|ext4|...]`
|
||||
|
||||
Collections:
|
||||
|
||||
- `community.general`
|
||||
- `community.crypto`
|
||||
- `community.posix`
|
||||
|
30
roles/arch/defaults/main.yml
Normal file
30
roles/arch/defaults/main.yml
Normal file
@ -0,0 +1,30 @@
|
||||
---
|
||||
|
||||
arch_device: ~
|
||||
arch_hostname: cookie
|
||||
|
||||
arch_part_label_base: "{{ arch_hostname }}"
|
||||
arch_part_efi_size: "512MiB"
|
||||
arch_part_root_size: "95%"
|
||||
|
||||
arch_luks_device: "{{ arch_device }}2"
|
||||
arch_luks_passphrase: "super_secure!"
|
||||
arch_luks_container_name: "{{ arch_hostname }}"
|
||||
|
||||
arch_lvm_name: "{{ arch_part_label_base }}"
|
||||
arch_lvm_volumes:
|
||||
- name: "swap"
|
||||
size: "16G"
|
||||
fstype: swap
|
||||
- name: "home"
|
||||
size: "40G"
|
||||
fstype: ext4
|
||||
mountpoint: "/home"
|
||||
- name: "cache"
|
||||
size: "20G"
|
||||
fstype: ext4
|
||||
mountpoint: "/var/cache"
|
||||
- name: "root"
|
||||
size: "+90%FREE"
|
||||
fstype: ext4
|
||||
mountpoint: "/"
|
107
roles/arch/tasks/filesystems.yml
Normal file
107
roles/arch/tasks/filesystems.yml
Normal file
@ -0,0 +1,107 @@
|
||||
---
|
||||
|
||||
- name: Warn user that the blockdevice will be wiped
|
||||
debug:
|
||||
msg: "Warning! Continueing will wipe {{ arch_device }}!"
|
||||
|
||||
- name: Give user the ability to abort
|
||||
pause:
|
||||
prompt: "You can safely abort now if you want, or continue and wipe {{ arch_device }}"
|
||||
|
||||
- name: Create empty GPT
|
||||
community.general.parted:
|
||||
device: "{{ arch_device }}"
|
||||
label: gpt
|
||||
name: "{{ arch_part_label_base }}"
|
||||
|
||||
- name: Create EFI system partition
|
||||
community.general.parted:
|
||||
device: "{{ arch_device }}"
|
||||
state: present
|
||||
part_start: "0%"
|
||||
part_end: "{{ arch_part_efi_size }}"
|
||||
number: 1
|
||||
label: gpt
|
||||
name: "{{ arch_part_label_base }}-efi"
|
||||
fs_type: fat32
|
||||
|
||||
- name: Create partition for luks
|
||||
community.general.parted:
|
||||
device: "{{ arch_device }}"
|
||||
state: present
|
||||
part_start: "{{ arch_part_efi_size }}"
|
||||
part_end: "{{ arch_part_root_size }}"
|
||||
number: 2
|
||||
label: gpt
|
||||
name: "{{ arch_part_label_base }}-main"
|
||||
|
||||
- name: Create luks device on main partition
|
||||
community.crypto.luks_device:
|
||||
device: "{{ arch_luks_device }}"
|
||||
passphrase: "{{ arch_luks_passphrase }}"
|
||||
state: present
|
||||
|
||||
- name: Open luks device
|
||||
community.crypto.luks_device:
|
||||
device: "{{ arch_luks_device }}"
|
||||
passphrase: "{{ arch_luks_passphrase }}"
|
||||
state: "opened"
|
||||
name: "{{ arch_luks_container_name }}"
|
||||
|
||||
- name: Wipe volume group if it existed
|
||||
community.general.lvg:
|
||||
vg: "{{ arch_lvm_name }}"
|
||||
force: yes
|
||||
state: absent
|
||||
|
||||
- name: Create volume group
|
||||
community.general.lvg:
|
||||
vg: "{{ arch_lvm_name }}"
|
||||
pvs: "/dev/mapper/{{ arch_luks_container_name }}"
|
||||
pvresize: yes
|
||||
|
||||
- name: Create logical volume for swap and root filesystem
|
||||
community.general.lvol:
|
||||
vg: "{{ arch_lvm_name }}"
|
||||
lv: "{{ item.name }}"
|
||||
size: "{{ item.size }}"
|
||||
loop: "{{ arch_lvm_volumes }}"
|
||||
|
||||
- name: Create filesystem on efi system partition
|
||||
community.general.filesystem:
|
||||
dev: "{{ arch_device }}1"
|
||||
force: yes
|
||||
fstype: vfat
|
||||
opts: -F32
|
||||
|
||||
- name: Create filesystems on the volumes
|
||||
community.general.filesystem:
|
||||
dev: "/dev/mapper/{{ arch_lvm_name }}-{{ item.name }}"
|
||||
fstype: "{{ item.fstype }}"
|
||||
loop: "{{ arch_lvm_volumes }}"
|
||||
|
||||
- name: Create mountpoint
|
||||
file:
|
||||
path: "/mnt-{{ arch_luks_container_name }}"
|
||||
state: directory
|
||||
|
||||
- name: Mount root partition
|
||||
command:
|
||||
cmd: "mount /dev/mapper/{{ arch_lvm_name }}-{{ item.name }} /mnt-{{ arch_luks_container_name }}"
|
||||
loop: "{{ arch_lvm_volumes | selectattr('mountpoint', 'defined') | selectattr('mountpoint', 'equalto', '/') }}"
|
||||
|
||||
- name: Create mountpoints in root partition
|
||||
file:
|
||||
path: "/mnt-{{ arch_luks_container_name }}{{ item.mountpoint }}"
|
||||
state: directory
|
||||
recurse: yes
|
||||
loop: "{{ arch_lvm_volumes | selectattr('mountpoint', 'defined') | selectattr('mountpoint', 'ne', '/') + [ { \"mountpoint\": \"/boot\" } ] }}"
|
||||
|
||||
- name: Mount efi system partition
|
||||
command:
|
||||
cmd: "mount {{ arch_device }}1 /mnt-{{ arch_luks_container_name }}/boot"
|
||||
|
||||
- name: Mount additional partitions
|
||||
command:
|
||||
cmd: "mount /dev/mapper/{{ arch_lvm_name }}-{{ item.name }} /mnt-{{ arch_luks_container_name }}{{ item.mountpoint }}"
|
||||
loop: "{{ arch_lvm_volumes | selectattr('mountpoint', 'defined') | selectattr('mountpoint', 'ne', '/') | list }}"
|
10
roles/arch/tasks/main.yml
Normal file
10
roles/arch/tasks/main.yml
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
|
||||
- name: Format disks and setup LVM on LUKS
|
||||
import_tasks: filesystems.yml
|
||||
|
||||
#- name: Bootstrap all packages and configure system
|
||||
# import_tasks: packages.yml
|
||||
|
||||
#- name: Configure systemd boot with EFI and LUKS
|
||||
# import_tasks: bootloader.yml
|
9
roles/bash/tasks/main.yml
Normal file
9
roles/bash/tasks/main.yml
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
|
||||
- name: Install additional packages
|
||||
package:
|
||||
name: "{{ item }}"
|
||||
state: present
|
||||
loop:
|
||||
- bash
|
||||
- bash-completion
|
15
roles/bash/templates/bash_aliases
Normal file
15
roles/bash/templates/bash_aliases
Normal file
@ -0,0 +1,15 @@
|
||||
# General
|
||||
alias ll='ls -al --color=auto'
|
||||
alias ls='ls -l --color=auto'
|
||||
|
||||
alias nb=man
|
||||
alias enby=man
|
||||
|
||||
alias furryfox=firefox
|
||||
|
||||
alias flauschctl=systemctl
|
||||
|
||||
# GnuPG2
|
||||
alias gpg=gpg2
|
||||
|
||||
|
43
roles/bash/templates/bash_includes/costumPrompt.sh
Normal file
43
roles/bash/templates/bash_includes/costumPrompt.sh
Normal file
@ -0,0 +1,43 @@
|
||||
function last_cmd_state {
|
||||
if [ "$1" == 0 ]; then
|
||||
echo "\[$(tput setaf 40)\]👍\[$(tput sgr0)\]"
|
||||
else
|
||||
if [ "$1" == 127 ]; then
|
||||
local meaning=" - Not found"
|
||||
fi
|
||||
echo "\[$(tput setaf 196)\]👎\\[\$1 "$meaning"\]\[$(tput sgr0)\]"
|
||||
fi
|
||||
}
|
||||
|
||||
function list_background_tasks {
|
||||
local jobs_count=$(jobs | wc -l)
|
||||
local sessions=$(tmux list-sessions 2>/dev/null | wc -l)
|
||||
local job_info=""
|
||||
local session_info=""
|
||||
if [ ! "$jobs_count" == "0" ]; then
|
||||
job_info="[Jobs: ${jobs_count}]"
|
||||
fi
|
||||
if [ ! "$sessions" == "0" ]; then
|
||||
session_info="[TMux-Sessions: ${sessions}]"
|
||||
fi
|
||||
if [ ! "${job_info}${session_info}" == "0" ]; then
|
||||
echo " \[$(tput setaf 199)\]╟──\[$(tput sgr0)\]${job_info}${session_info}"
|
||||
fi
|
||||
}
|
||||
|
||||
function show_user_info {
|
||||
echo "\[$(tput setaf 199)\]═╦═\[$(tput sgr0)\][\[$(tput setaf 21)\]\\u\[$(tput sgr0)\]@\[$(tput setaf 40)\]\\H::\\l\[$(tput sgr0)\]]═[\[$(tput setaf 118)\]\\t\[$(tput sgr0)\]]"
|
||||
}
|
||||
|
||||
function show_location {
|
||||
echo " \[$(tput setaf 199)\]╟──\[$(tput sgr0)\][\\w]"
|
||||
}
|
||||
|
||||
function last_line {
|
||||
echo " \[$(tput setaf 199)\]╙─⚧ \[$(tput sgr0)\]"
|
||||
}
|
||||
|
||||
function _prompt_command {
|
||||
local status="$?"
|
||||
PS1="$(show_user_info)─[$(last_cmd_state $status)]\n$(list_background_tasks)\n$(show_location)\n$(last_line)"
|
||||
}
|
4
roles/bash/templates/bash_includes/moshy.sh
Normal file
4
roles/bash/templates/bash_includes/moshy.sh
Normal file
@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
alias moshy='function _moshy(){ mosh "$1" -- tmux at; };_moshy'
|
||||
|
0
roles/firefox/tasks/main.yml
Normal file
0
roles/firefox/tasks/main.yml
Normal file
25
roles/git/defaults/main.yml
Normal file
25
roles/git/defaults/main.yml
Normal file
@ -0,0 +1,25 @@
|
||||
---
|
||||
|
||||
git_user: your-username
|
||||
git_email: your-email@example.com
|
||||
git_signkey:
|
||||
git_signingkey:
|
||||
|
||||
git_do_sign: false
|
||||
git_merge_autostash: true
|
||||
git_rebase_autostash: true
|
||||
git_pull_rebase: true
|
||||
git_pull_ff_only: true
|
||||
git_default_branch: main
|
||||
|
||||
git_user_home: "/home/{{ git_system_user }}"
|
||||
git_system_user: "{{ git_user }}"
|
||||
git_system_group: "{{ git_system_user }}"
|
||||
|
||||
git_gpg_program: ~
|
||||
|
||||
git_aliases: []
|
||||
|
||||
git_credentials: []
|
||||
|
||||
git_config_preferred_editor: vim
|
9
roles/git/tasks/main.yml
Normal file
9
roles/git/tasks/main.yml
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
|
||||
- name: Template .gitconfig
|
||||
template:
|
||||
src: gitconfig.j2
|
||||
dest: "{{ git_user_home }}/.gitconfig"
|
||||
owner: "{{ git_system_user }}"
|
||||
group: "{{ git_system_group }}"
|
||||
mode: 0660
|
49
roles/git/templates/gitconfig.j2
Normal file
49
roles/git/templates/gitconfig.j2
Normal file
@ -0,0 +1,49 @@
|
||||
# This is Git's per-user configuration file,
|
||||
# this file is managed by ansible.
|
||||
{% if git_do_sign %}
|
||||
[gpg]
|
||||
program = {{ git_gpg_program }}
|
||||
{% endif %}
|
||||
|
||||
[user]
|
||||
name = "{{ git_author }}"
|
||||
email = {{ git_email }}
|
||||
{% if git_do_sign %}
|
||||
signingkey = {{ git_signingkey }}
|
||||
{% endif %}
|
||||
|
||||
[commit]
|
||||
{% if git_do_sign %}
|
||||
gpgsign = true
|
||||
{% endif %}
|
||||
|
||||
[alias]
|
||||
{% for alias in git_aliases %}
|
||||
{{ alias.name }} = {{ alias.cmd }}
|
||||
{% endfor %}
|
||||
|
||||
[pull]
|
||||
rebase = {{ git_pull_rebase|bool|lower }}
|
||||
{% if git_pull_ff_only|bool %}
|
||||
ff = only
|
||||
{% endif %}
|
||||
|
||||
[rebase]
|
||||
autostash = {{ git_rebase_autostash|bool|lower }}
|
||||
|
||||
[merge]
|
||||
autostash = {{ git_merge_autostash|bool|lower }}
|
||||
|
||||
[init]
|
||||
defaultBranch = {{ git_default_branch }}
|
||||
|
||||
[core]
|
||||
editor = {{ git_config_preferred_editor }}
|
||||
|
||||
{% for cred in git_credentials %}
|
||||
[credential "{{ cred.remote_url }}"]
|
||||
username = {{ cred.username }}
|
||||
{% if cred.helper is defined %}
|
||||
helper = {{ cred.helper }}
|
||||
{% endif %}
|
||||
{% endfor %}
|
10
roles/gnupg/defaults/main.yml
Normal file
10
roles/gnupg/defaults/main.yml
Normal file
@ -0,0 +1,10 @@
|
||||
# How long the PIN gets cached (max)
|
||||
gpg_cache_ttl: 300
|
||||
gpg_cache_ttl_ssh: 300
|
||||
|
||||
# Array of all keygrips to pass to sshcontrol
|
||||
gpg_keygrips: []
|
||||
|
||||
gpg_folder: "~/.gnupg"
|
||||
|
||||
gpg_user: "{{ ansible_user }}"
|
63
roles/gnupg/tasks/main.yml
Normal file
63
roles/gnupg/tasks/main.yml
Normal file
@ -0,0 +1,63 @@
|
||||
---
|
||||
# Installs GnuPG2 and templates the configs
|
||||
|
||||
- name: Install gnupg (RedHat*)
|
||||
package:
|
||||
name: gnupg2
|
||||
state: latest
|
||||
become: yes
|
||||
become_user: root
|
||||
become_method: sudo
|
||||
when: ansible_os_family == "RedHat"
|
||||
ignore_errors: true
|
||||
|
||||
- name: Install gnupg (Arch)
|
||||
package:
|
||||
name: gnupg
|
||||
state: latest
|
||||
when: ansible_os_family == "Archlinux"
|
||||
|
||||
- name: Configure gpg.conf (behaviour of gpg)
|
||||
template:
|
||||
src: gpg.conf.j2
|
||||
dest: "{{ gpg_folder }}/gpg.conf"
|
||||
|
||||
- name: Configure gpg-agent.conf (agent configuration)
|
||||
template:
|
||||
src: gpg-agent.conf.j2
|
||||
dest: "{{ gpg_folder }}/gpg-agent.conf"
|
||||
|
||||
- name: Configure ssh-control (in order for gpg-agent to act as ssh-agent)
|
||||
template:
|
||||
src: sshcontrol.j2
|
||||
dest: "{{ gpg_folder }}/sshcontrol"
|
||||
|
||||
- name: Copy gnupg_agent script, which makes gpg-agent responsible for ssh-auth
|
||||
template:
|
||||
src: gnupg_agent.j2
|
||||
dest: "{{ gpg_folder }}/gnupg_agent"
|
||||
mode: 0700
|
||||
|
||||
- name: Ensure gnupg_agent skript is included in .bashrc so SSH uses gpg-agent
|
||||
blockinfile:
|
||||
path: "~/.bashrc"
|
||||
insertafter: "\[\[ \$- != \*i\* \]\] && return"
|
||||
line: |
|
||||
# load script telling SSH to use the gpg agent
|
||||
source "{{ gpg_folder }}"/gnupg_agent
|
||||
state: present
|
||||
|
||||
- name: Download own pubkey
|
||||
get_url:
|
||||
url: "https://git.finallycoffee.eu/{{ gpg_user }}/about/raw/branch/master/pubkey.asc"
|
||||
dest: "~/{{ gpg_user }}.pub"
|
||||
|
||||
- name: Import own pubkey and set owner-trust
|
||||
command:
|
||||
cmd: |
|
||||
gpg2 --no-tty --command-fd 0 --import ~/{{ gpg_user }}.pub << EOF
|
||||
trust
|
||||
5
|
||||
quit
|
||||
EOF
|
||||
|
14
roles/gnupg/templates/gnupg_agent.j2
Normal file
14
roles/gnupg/templates/gnupg_agent.j2
Normal file
@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
rc=$(pgrep gpg-agent)
|
||||
if [ "$rc" != 0 ]; then
|
||||
export GPG_AGENT_INFO
|
||||
export SSH_AUTH_SOCK
|
||||
export SSH_AGENT_PID
|
||||
else
|
||||
eval $(gpg-agent --daemon)
|
||||
fi
|
||||
|
||||
gpg-connect-agent /bye
|
||||
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
|
||||
|
7
roles/gnupg/templates/gpg-agent.conf.j2
Normal file
7
roles/gnupg/templates/gpg-agent.conf.j2
Normal file
@ -0,0 +1,7 @@
|
||||
default-cache-ttl {{ gpg_cache_ttl }}
|
||||
default-cache-ttl-ssh {{ gpg_cache_ttl_ssh }}
|
||||
max-cache-ttl {{ gpg_cache_ttl }}
|
||||
max-cache-ttl-ssh {{ gpg_cache_ttl_ssh }}
|
||||
no-allow-external-cache
|
||||
enable-ssh-support
|
||||
ignore-cache-for-signing
|
11
roles/gnupg/templates/gpg.conf.j2
Normal file
11
roles/gnupg/templates/gpg.conf.j2
Normal file
@ -0,0 +1,11 @@
|
||||
cert-digest-algo SHA256
|
||||
no-emit-version
|
||||
no-comments
|
||||
personal-cipher-preferences AES AES256 AES192 CAST5
|
||||
personal-digest-preferences SHA256 SHA512 SHA384 SHA224
|
||||
ignore-time-conflict
|
||||
allow-freeform-uid
|
||||
with-fingerprint
|
||||
keyid-format 0xlong
|
||||
keyserver hkps://hkps.pool.sks-keyservers.net
|
||||
keyserver-options no-honor-keyserver-url
|
14
roles/gnupg/templates/sshcontrol.j2
Normal file
14
roles/gnupg/templates/sshcontrol.j2
Normal file
@ -0,0 +1,14 @@
|
||||
# List of allowed ssh keys. Only keys present in this file are used
|
||||
# in the SSH protocol. The ssh-add tool may add new entries to this
|
||||
# file to enable them; you may also add them manually. Comment
|
||||
# lines, like this one, as well as empty lines are ignored. Lines do
|
||||
# have a certain length limit but this is not serious limitation as
|
||||
# the format of the entries is fixed and checked by gpg-agent. A
|
||||
# non-comment line starts with optional white spaces, followed by the
|
||||
# keygrip of the key given as 40 hex digits, optionally followed by a
|
||||
# caching TTL in seconds, and another optional field for arbitrary
|
||||
# flags. Prepend the keygrip with an '!' mark to disable it.
|
||||
|
||||
{% for keygrip in gpg_keygrips %}
|
||||
{{ keygrip }}
|
||||
{% endfor %}
|
19
roles/i3/tasks/main.yml
Normal file
19
roles/i3/tasks/main.yml
Normal file
@ -0,0 +1,19 @@
|
||||
---
|
||||
|
||||
- name: Ensure i3 is installed
|
||||
package:
|
||||
name: i3
|
||||
state: present
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Ensure folder for configuration exists
|
||||
file:
|
||||
path: ~/.config/i3
|
||||
state: directory
|
||||
recurse: yes
|
||||
|
||||
- name: Template config into configuration directory
|
||||
template:
|
||||
src: config.j2
|
||||
dest: ~/.config/i3/config
|
||||
|
147
roles/i3/templates/config.j2
Normal file
147
roles/i3/templates/config.j2
Normal file
@ -0,0 +1,147 @@
|
||||
# i3 config file (v4)
|
||||
#
|
||||
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
|
||||
|
||||
set $mod Mod4
|
||||
|
||||
# Font for window titles. Will also be used by the bar unless a different font
|
||||
# is used in the bar {} block below.
|
||||
font pango:monospace 8
|
||||
|
||||
# This font is widely installed, provides lots of unicode glyphs, right-to-left
|
||||
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
||||
#font pango:DejaVu Sans Mono 8
|
||||
|
||||
# Before i3 v4.8, we used to recommend this one as the default:
|
||||
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
|
||||
# The font above is very space-efficient, that is, it looks good, sharp and
|
||||
# clear in small sizes. However, its unicode glyph coverage is limited, the old
|
||||
# X core fonts rendering does not support right-to-left and this being a bitmap
|
||||
# font, it doesn’t scale on retina/hidpi displays.
|
||||
|
||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||
floating_modifier $mod
|
||||
|
||||
# start a terminal
|
||||
bindsym $mod+Return exec xfce4-terminal
|
||||
|
||||
# kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# For use with xfce4 whisker popup menu in Mint XFCE:
|
||||
bindsym $mod+d exec xfce4-popup-whiskermenu
|
||||
|
||||
# Lock the screen
|
||||
bindsym $mod+l exec xflock4
|
||||
|
||||
# There also is the (new) i3-dmenu-desktop which only displays applications
|
||||
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
|
||||
# installed.
|
||||
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
|
||||
|
||||
# change focus
|
||||
bindsym $mod+Left focus left
|
||||
bindsym $mod+Down focus down
|
||||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
|
||||
# move focused window
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Shift+Down move down
|
||||
bindsym $mod+Shift+Up move up
|
||||
bindsym $mod+Shift+Right move right
|
||||
|
||||
# split in horizontal orientation
|
||||
bindsym $mod+h split h
|
||||
|
||||
# split in vertical orientation
|
||||
bindsym $mod+v split v
|
||||
|
||||
# enter fullscreen mode for the focused container
|
||||
bindsym $mod+f fullscreen toggle
|
||||
|
||||
# change container layout (stacked, tabbed, toggle split)
|
||||
bindsym $mod+s layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+e layout toggle split
|
||||
|
||||
# toggle tiling / floating
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
|
||||
# change focus between tiling / floating windows
|
||||
bindsym $mod+space focus mode_toggle
|
||||
|
||||
# focus the parent container
|
||||
bindsym $mod+a focus parent
|
||||
|
||||
# focus the child container
|
||||
# bindsym $mod+d focus child
|
||||
|
||||
# switch to workspace
|
||||
bindsym $mod+1 workspace 1
|
||||
bindsym $mod+2 workspace 2
|
||||
bindsym $mod+3 workspace 3
|
||||
bindsym $mod+4 workspace 4
|
||||
bindsym $mod+5 workspace 5
|
||||
bindsym $mod+6 workspace 6
|
||||
bindsym $mod+7 workspace 7
|
||||
bindsym $mod+8 workspace 8
|
||||
bindsym $mod+9 workspace 9
|
||||
bindsym $mod+0 workspace 10
|
||||
|
||||
# move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace 1
|
||||
bindsym $mod+Shift+2 move container to workspace 2
|
||||
bindsym $mod+Shift+3 move container to workspace 3
|
||||
bindsym $mod+Shift+4 move container to workspace 4
|
||||
bindsym $mod+Shift+5 move container to workspace 5
|
||||
bindsym $mod+Shift+6 move container to workspace 6
|
||||
bindsym $mod+Shift+7 move container to workspace 7
|
||||
bindsym $mod+Shift+8 move container to workspace 8
|
||||
bindsym $mod+Shift+9 move container to workspace 9
|
||||
bindsym $mod+Shift+0 move container to workspace 10
|
||||
|
||||
# reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||
bindsym $mod+Shift+r restart
|
||||
# exit i3 (logs you out of your X session)
|
||||
#-old-#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+e exec xfce4-session-logout
|
||||
|
||||
# class border backgr. text indicator child_border
|
||||
client.focused #ff33cc #ff33cc #ffffff #ff33cc #ff33cc
|
||||
client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a
|
||||
client.unfocused #333333 #222222 #888888 #292d2e #222222
|
||||
client.urgent #ff0000 #ff0000 #ffffff #ff0000 #ff0000
|
||||
client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c
|
||||
|
||||
# resize window (you can also use the mouse for that)
|
||||
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
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
exec --no-startup-id nitrogen --restore
|
||||
exec --no-startup-id synergy
|
||||
|
14
roles/network/tasks/main.yml
Normal file
14
roles/network/tasks/main.yml
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
|
||||
- name: Install network manager
|
||||
|
||||
- name: Template config for default network
|
||||
|
||||
- name: Copy KIT VPN configuration
|
||||
|
||||
- name: Copy flauschekatze.space VPN configuration
|
||||
|
||||
- name: Copy FFKA VLAN config
|
||||
|
||||
- name: Copy int.finallycofffee.eu VPN/VLAN config
|
||||
|
23
roles/passwordstore/tasks/main.yml
Normal file
23
roles/passwordstore/tasks/main.yml
Normal file
@ -0,0 +1,23 @@
|
||||
---
|
||||
|
||||
- name: Install package
|
||||
package:
|
||||
name: pass
|
||||
state: present
|
||||
|
||||
- name: Initialise password store
|
||||
command:
|
||||
cmd: "pass init {{ passwordstore_id }}"
|
||||
|
||||
- name: Set password store git upstream
|
||||
command:
|
||||
cmd: "pass git remote set origin ssh://git@git.finallycoffee.eu:8022/{{ ansible_user }}/password-store.git"
|
||||
|
||||
- name: Fetch upstream password store
|
||||
command:
|
||||
cmd: "pass git fetch --all"
|
||||
|
||||
- name: Set master to upstream master
|
||||
command:
|
||||
cmd: "pass git checkout -B master origin/master"
|
||||
|
23
roles/redshift/tasks/main.yml
Normal file
23
roles/redshift/tasks/main.yml
Normal file
@ -0,0 +1,23 @@
|
||||
---
|
||||
|
||||
- name: Install redshift
|
||||
package:
|
||||
name: redshift
|
||||
state: present
|
||||
ignore_errors: true
|
||||
|
||||
- name: Ensure .config folder for redshift exists
|
||||
file:
|
||||
path: ~/.config/redshift
|
||||
state: directory
|
||||
|
||||
- name: Template redshift config
|
||||
template:
|
||||
src: redshift.conf.j2
|
||||
dest: ~/.config/redshift/redshift.conf
|
||||
|
||||
- name: Template redshift autostart file
|
||||
template:
|
||||
src: redshift-gtk.desktop.j2
|
||||
dest: ~/.config/autostart/redshift-gtk.desktop
|
||||
|
12
roles/redshift/templates/redshift-gtk.desktop.j2
Normal file
12
roles/redshift/templates/redshift-gtk.desktop.j2
Normal file
@ -0,0 +1,12 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=Redshift
|
||||
Exec=redshift-gtk
|
||||
Icon=redshift
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Utility;
|
||||
StartupNotify=true
|
||||
Hidden=false
|
||||
X-GNOME-Autostart-enabled=true
|
||||
|
8
roles/redshift/templates/redshift.conf.j2
Normal file
8
roles/redshift/templates/redshift.conf.j2
Normal file
@ -0,0 +1,8 @@
|
||||
[redshift]
|
||||
location-provider=manual
|
||||
temp-night=2500K
|
||||
|
||||
|
||||
[manual]
|
||||
lat=49.0091
|
||||
lon=8.3799
|
0
roles/thunderbird/tasks/main.yml
Normal file
0
roles/thunderbird/tasks/main.yml
Normal file
21
roles/tmux/tasks/main.yml
Normal file
21
roles/tmux/tasks/main.yml
Normal file
@ -0,0 +1,21 @@
|
||||
---
|
||||
|
||||
- name: Ensure tmux is installed
|
||||
package:
|
||||
name: tmux
|
||||
state: present
|
||||
become: yes
|
||||
become_user: root
|
||||
become_method: sudo
|
||||
ignore_errors: true
|
||||
|
||||
- name: Template config file into home folder
|
||||
template:
|
||||
src: tmux.conf.j2
|
||||
dest: ~/.tmux.conf
|
||||
|
||||
- name: Template controller config file to home folder
|
||||
template:
|
||||
src: controller.tmux.conf.j2
|
||||
dest: ~/.controller.tmux.conf
|
||||
|
39
roles/tmux/templates/controller.tmux.conf.j2
Normal file
39
roles/tmux/templates/controller.tmux.conf.j2
Normal file
@ -0,0 +1,39 @@
|
||||
# Reload controller config with "r" key
|
||||
unbind t
|
||||
bind t source-file ~/.controller.tmux.conf \; display-message "Controller config reloaded..."
|
||||
|
||||
# No automatic renaming of windows
|
||||
set -g automatic-rename off
|
||||
|
||||
# Enable 256-color terminal
|
||||
set -g default-terminal "screen-256color"
|
||||
|
||||
# Set titles to be informative
|
||||
set set-titles on
|
||||
set set-titles-string "tmux: [#H] [#S] [#W:#D #I:#P]"
|
||||
|
||||
# Change colors on the pane seperators
|
||||
set pane-border-fg colour237
|
||||
set pane-active-border-fg colour27
|
||||
|
||||
# Tweak currently highlighted window ('active')
|
||||
setw window-status-current-fg colour255
|
||||
setw window-status-current-bg colour27
|
||||
setw window-status-current-format " #F[#W] "
|
||||
setw window-status-current-attr none
|
||||
|
||||
# Tweak overview of windows
|
||||
setw window-status-format " #F[#I][#W] "
|
||||
setw window-status-bg colour237
|
||||
setw window-status-fg colour255
|
||||
|
||||
# Tweak status line design
|
||||
set status-bg colour237
|
||||
set status-fg colour27
|
||||
set status-justify centre
|
||||
set status-left " [#H] [#S] "
|
||||
set status-left-length 100
|
||||
set status-right ' [#(curl https://wttr.in/berlin?format=3)] [%Y-%m-%d %H:%M.%S] '
|
||||
# Refresh status bar every second
|
||||
set status-interval 1
|
||||
|
46
roles/tmux/templates/tmux.conf.j2
Normal file
46
roles/tmux/templates/tmux.conf.j2
Normal file
@ -0,0 +1,46 @@
|
||||
# vi:syntax=tmux
|
||||
# Reload the config with the "r" key
|
||||
bind r source-file ~/.tmux.conf \; display-message "Config reloaded..."
|
||||
|
||||
# No automatic renaming of windows
|
||||
set automatic-rename off
|
||||
|
||||
# Enable 256-color terminal
|
||||
set default-terminal "screen-256color"
|
||||
|
||||
# Set titles to be informative
|
||||
set set-titles on
|
||||
set set-titles-string "tmux: [#H] [#S] [#W:#D #I:#P]"
|
||||
|
||||
# Change pane colors
|
||||
set -g pane-border-style fg=colour237
|
||||
set -g pane-active-border-style fg=colour199
|
||||
|
||||
# Tweak currently active window
|
||||
setw -g window-status-current-style bg=colour199,fg=colour255,none
|
||||
setw -g window-status-current-format " #F[#W] "
|
||||
# Tweak last active window style
|
||||
setw -g window-status-last-style fg=colour255,bg=colour238,none
|
||||
|
||||
# Tweak display of window overview
|
||||
setw -g window-status-format " #F[#W][#I] "
|
||||
setw -g window-status-style bg=colour233,fg=colour255,none
|
||||
|
||||
# Tweak status line design
|
||||
set -g status-style bg=colour235,fg=colour199
|
||||
set status-justify centre
|
||||
set status-left " [#H] [#S] "
|
||||
set status-left-length 100
|
||||
set status-right '[%Y-%m-%d %H:%M.%S]'
|
||||
# Refresh status bar every 2s
|
||||
set status-interval 2
|
||||
|
||||
# Set some helpful limits & modes
|
||||
set -g mouse off
|
||||
set -g history-limit 50000
|
||||
|
||||
# Make tmux resize based on smallest client actually viewing the window, not just attached
|
||||
setw -g aggressive-resize on
|
||||
|
||||
# Initialize tmux-plugin-manager
|
||||
run '~/.tmux/plugins/tpm/tpm'
|
382
roles/vim/files/kuroi.vim
Normal file
382
roles/vim/files/kuroi.vim
Normal file
@ -0,0 +1,382 @@
|
||||
" File: kuroi.vim
|
||||
" Maintainer: aonemd
|
||||
" URL: https://github.com/aonemd/kuroi.vim
|
||||
" Modified: 04 April 2019 02:38 PM EET
|
||||
" License: MIT
|
||||
|
||||
" Initialisation:"{{{
|
||||
" ----------------------------------------------------------------------------
|
||||
|
||||
hi clear
|
||||
|
||||
if exists("syntax_on")
|
||||
syntax reset
|
||||
endif
|
||||
|
||||
let s:style = &background
|
||||
|
||||
let g:colors_name = "kuroi"
|
||||
|
||||
"}}}
|
||||
" GUI And Cterm Palettes:"{{{
|
||||
" ----------------------------------------------------------------------------
|
||||
|
||||
let s:palette = {'gui' : {} , 'cterm' : {}}
|
||||
|
||||
let s:gui_background = "#1b1918"
|
||||
let s:gui_selection = "#373b41"
|
||||
let s:gui_line = "#282a2e"
|
||||
let s:gui_comment = "#707880"
|
||||
|
||||
let s:palette.gui.background = { 'dark' : s:gui_background , 'light' : "#e4e4e4" }
|
||||
let s:palette.gui.foreground = { 'dark' : "#c5c8c6" , 'light' : "#000000" }
|
||||
let s:palette.gui.selection = { 'dark' : s:gui_selection , 'light' : "#bcbcbc" }
|
||||
let s:palette.gui.line = { 'dark' : s:gui_line , 'light' : "#d0d0d0" }
|
||||
let s:palette.gui.comment = { 'dark' : s:gui_comment , 'light' : "#5f5f5f" }
|
||||
let s:palette.gui.red = { 'dark' : "#d75f87" , 'light' : "#5f0000" }
|
||||
let s:palette.gui.orange = { 'dark' : "#d78700" , 'light' : "#875f00" }
|
||||
let s:palette.gui.yellow = { 'dark' : "#ffd700" , 'light' : "#5f5f00" }
|
||||
let s:palette.gui.green = { 'dark' : "#5faf5f" , 'light' : "#005f00" }
|
||||
let s:palette.gui.aqua = { 'dark' : "#87afd7" , 'light' : "#005f5f" }
|
||||
let s:palette.gui.blue = { 'dark' : "#5fafff" , 'light' : "#00005f" }
|
||||
let s:palette.gui.purple = { 'dark' : "#8787ff" , 'light' : "#5f005f" }
|
||||
let s:palette.gui.window = { 'dark' : "#303030" , 'light' : "#9e9e9e" }
|
||||
let s:palette.gui.darkcolumn = { 'dark' : "#1c1c1c" , 'light' : "#808080" }
|
||||
let s:palette.gui.addbg = { 'dark' : "#5F875F" , 'light' : "#d7ffd7" }
|
||||
let s:palette.gui.addfg = { 'dark' : "#d7ffaf" , 'light' : "#005f00" }
|
||||
let s:palette.gui.changebg = { 'dark' : "#5f5faf" , 'light' : "#d7d7ff" }
|
||||
let s:palette.gui.changefg = { 'dark' : "#d7d7ff" , 'light' : "#5f005f" }
|
||||
let s:palette.gui.delbg = { 'dark' : "#cc6666" , 'light' : "#ffd7d7" }
|
||||
let s:palette.gui.darkblue = { 'dark' : "#00005f" , 'light' : "#d7ffd7" }
|
||||
let s:palette.gui.darkcyan = { 'dark' : "#005f5f" , 'light' : "#005f00" }
|
||||
let s:palette.gui.darkred = { 'dark' : "#5f0000" , 'light' : "#d7d7ff" }
|
||||
let s:palette.gui.darkpurple = { 'dark' : "#5f005f" , 'light' : "#5f005f" }
|
||||
let s:palette.gui.gray = { 'dark' : "#262626" , 'light' : "#d0d0d0" }
|
||||
let s:palette.gui.statusline = { 'dark' : "#6c6c6c" , 'light' : "#585858" }
|
||||
let s:palette.gui.statuslinenc = { 'dark' : "#4e4e4e" , 'light' : "#3a3a3a" }
|
||||
let s:palette.gui.gitgutteradd = { 'dark' : "#5faf5f" , 'light' : "#5faf5f" }
|
||||
let s:palette.gui.gitgutterchg = { 'dark' : "#d78700" , 'light' : "#d78700" }
|
||||
let s:palette.gui.gitgutterdlt = { 'dark' : "#d75f87" , 'light' : "#d75f87" }
|
||||
|
||||
let s:cterm_foreground = "250"
|
||||
let s:cterm_selection = "237"
|
||||
let s:cterm_line = "235"
|
||||
let s:cterm_comment = "243"
|
||||
|
||||
let s:palette.cterm.background = { 'dark' : "0" , 'light' : "254" }
|
||||
let s:palette.cterm.foreground = { 'dark' : s:cterm_foreground , 'light' : "16" }
|
||||
let s:palette.cterm.window = { 'dark' : "236" , 'light' : "247" }
|
||||
let s:palette.cterm.selection = { 'dark' : s:cterm_selection , 'light' : "250" }
|
||||
let s:palette.cterm.line = { 'dark' : s:cterm_line , 'light' : "252" }
|
||||
let s:palette.cterm.comment = { 'dark' : s:cterm_comment , 'light' : "59" }
|
||||
let s:palette.cterm.red = { 'dark' : "168" , 'light' : "52" }
|
||||
let s:palette.cterm.orange = { 'dark' : "172" , 'light' : "94" }
|
||||
let s:palette.cterm.yellow = { 'dark' : "220" , 'light' : "58" }
|
||||
let s:palette.cterm.green = { 'dark' : "71" , 'light' : "22" }
|
||||
let s:palette.cterm.aqua = { 'dark' : "110" , 'light' : "23" }
|
||||
let s:palette.cterm.blue = { 'dark' : "75" , 'light' : "17" }
|
||||
let s:palette.cterm.purple = { 'dark' : "105" , 'light' : "53" }
|
||||
let s:palette.cterm.darkcolumn = { 'dark' : "234" , 'light' : "244" }
|
||||
let s:palette.cterm.addbg = { 'dark' : "65" , 'light' : "194" }
|
||||
let s:palette.cterm.addfg = { 'dark' : "193" , 'light' : "22" }
|
||||
let s:palette.cterm.changebg = { 'dark' : "61" , 'light' : "189" }
|
||||
let s:palette.cterm.changefg = { 'dark' : "189" , 'light' : "53" }
|
||||
let s:palette.cterm.delbg = { 'dark' : "167" , 'light' : "224" }
|
||||
let s:palette.cterm.darkblue = { 'dark' : "17" , 'light' : "194" }
|
||||
let s:palette.cterm.darkcyan = { 'dark' : "24" , 'light' : "22" }
|
||||
let s:palette.cterm.darkred = { 'dark' : "52" , 'light' : "189" }
|
||||
let s:palette.cterm.darkpurple = { 'dark' : "53" , 'light' : "53" }
|
||||
let s:palette.cterm.gray = { 'dark' : "235" , 'light' : "252" }
|
||||
let s:palette.cterm.statusline = { 'dark' : "242" , 'light' : "240" }
|
||||
let s:palette.cterm.statuslinenc = { 'dark' : "239" , 'light' : "237" }
|
||||
let s:palette.cterm.gitgutteradd = { 'dark' : "71" , 'light' : "71" }
|
||||
let s:palette.cterm.gitgutterchg = { 'dark' : "172" , 'light' : "172" }
|
||||
let s:palette.cterm.gitgutterdlt = { 'dark' : "168" , 'light' : "168" }
|
||||
|
||||
"}}}
|
||||
" Formatting Options:"{{{
|
||||
" ----------------------------------------------------------------------------
|
||||
let s:none = "NONE"
|
||||
let s:t_none = "NONE"
|
||||
let s:n = "NONE"
|
||||
let s:c = ",undercurl"
|
||||
let s:r = ",reverse"
|
||||
let s:s = ",standout"
|
||||
let s:b = ",bold"
|
||||
let s:u = ",underline"
|
||||
let s:i = ",italic"
|
||||
|
||||
"}}}
|
||||
" Highlighting Primitives:"{{{
|
||||
" ----------------------------------------------------------------------------
|
||||
function! s:build_prim(hi_elem, field)
|
||||
" Given a:hi_elem = bg, a:field = comment
|
||||
let l:vname = "s:" . a:hi_elem . "_" . a:field " s:bg_comment
|
||||
let l:gui_assign = "gui".a:hi_elem."=".s:palette.gui[a:field][s:style] " guibg=...
|
||||
let l:cterm_assign = "cterm".a:hi_elem."=".s:palette.cterm[a:field][s:style] " ctermbg=...
|
||||
exe "let " . l:vname . " = ' " . l:gui_assign . " " . l:cterm_assign . "'"
|
||||
endfunction
|
||||
|
||||
let s:bg_none = ' guibg=NONE ctermbg=NONE'
|
||||
call s:build_prim('bg', 'foreground')
|
||||
call s:build_prim('bg', 'background')
|
||||
call s:build_prim('bg', 'selection')
|
||||
call s:build_prim('bg', 'line')
|
||||
call s:build_prim('bg', 'comment')
|
||||
call s:build_prim('bg', 'red')
|
||||
call s:build_prim('bg', 'orange')
|
||||
call s:build_prim('bg', 'yellow')
|
||||
call s:build_prim('bg', 'green')
|
||||
call s:build_prim('bg', 'aqua')
|
||||
call s:build_prim('bg', 'blue')
|
||||
call s:build_prim('bg', 'purple')
|
||||
call s:build_prim('bg', 'window')
|
||||
call s:build_prim('bg', 'darkcolumn')
|
||||
call s:build_prim('bg', 'addbg')
|
||||
call s:build_prim('bg', 'addfg')
|
||||
call s:build_prim('bg', 'changebg')
|
||||
call s:build_prim('bg', 'changefg')
|
||||
call s:build_prim('bg', 'delbg')
|
||||
call s:build_prim('bg', 'darkblue')
|
||||
call s:build_prim('bg', 'darkcyan')
|
||||
call s:build_prim('bg', 'darkred')
|
||||
call s:build_prim('bg', 'darkpurple')
|
||||
call s:build_prim('bg', 'statusline')
|
||||
call s:build_prim('bg', 'statuslinenc')
|
||||
|
||||
let s:fg_none = ' guifg=NONE ctermfg=NONE'
|
||||
call s:build_prim('fg', 'foreground')
|
||||
call s:build_prim('fg', 'background')
|
||||
call s:build_prim('fg', 'selection')
|
||||
call s:build_prim('fg', 'line')
|
||||
call s:build_prim('fg', 'comment')
|
||||
call s:build_prim('fg', 'red')
|
||||
call s:build_prim('fg', 'orange')
|
||||
call s:build_prim('fg', 'yellow')
|
||||
call s:build_prim('fg', 'green')
|
||||
call s:build_prim('fg', 'aqua')
|
||||
call s:build_prim('fg', 'blue')
|
||||
call s:build_prim('fg', 'purple')
|
||||
call s:build_prim('fg', 'window')
|
||||
call s:build_prim('fg', 'darkcolumn')
|
||||
call s:build_prim('fg', 'addbg')
|
||||
call s:build_prim('fg', 'addfg')
|
||||
call s:build_prim('fg', 'changebg')
|
||||
call s:build_prim('fg', 'changefg')
|
||||
call s:build_prim('fg', 'darkblue')
|
||||
call s:build_prim('fg', 'darkcyan')
|
||||
call s:build_prim('fg', 'darkred')
|
||||
call s:build_prim('fg', 'darkpurple')
|
||||
call s:build_prim('fg', 'gray')
|
||||
call s:build_prim('fg', 'gitgutteradd')
|
||||
call s:build_prim('fg', 'gitgutterchg')
|
||||
call s:build_prim('fg', 'gitgutterdlt')
|
||||
|
||||
exe "let s:fmt_none = ' gui=NONE". " cterm=NONE". " term=NONE" ."'"
|
||||
exe "let s:fmt_bold = ' gui=NONE".s:b. " cterm=NONE".s:b. " term=NONE".s:b ."'"
|
||||
exe "let s:fmt_bldi = ' gui=NONE".s:b. " cterm=NONE".s:b. " term=NONE".s:b ."'"
|
||||
exe "let s:fmt_undr = ' gui=NONE".s:u. " cterm=NONE".s:u. " term=NONE".s:u ."'"
|
||||
exe "let s:fmt_undb = ' gui=NONE".s:u.s:b. " cterm=NONE".s:u.s:b. " term=NONE".s:u.s:b."'"
|
||||
exe "let s:fmt_undi = ' gui=NONE".s:u. " cterm=NONE".s:u. " term=NONE".s:u ."'"
|
||||
exe "let s:fmt_curl = ' gui=NONE".s:c. " cterm=NONE".s:c. " term=NONE".s:c ."'"
|
||||
exe "let s:fmt_ital = ' gui=NONE".s:i. " cterm=NONE".s:i. " term=NONE".s:i ."'"
|
||||
exe "let s:fmt_stnd = ' gui=NONE".s:s. " cterm=NONE".s:s. " term=NONE".s:s ."'"
|
||||
exe "let s:fmt_revr = ' gui=NONE".s:r. " cterm=NONE".s:r. " term=NONE".s:r ."'"
|
||||
exe "let s:fmt_revb = ' gui=NONE".s:r.s:b. " cterm=NONE".s:r.s:b. " term=NONE".s:r.s:b."'"
|
||||
|
||||
exe "let s:sp_none = ' guisp=". s:none ."'"
|
||||
exe "let s:sp_foreground = ' guisp=". s:palette.gui.foreground[s:style] ."'"
|
||||
exe "let s:sp_background = ' guisp=". s:palette.gui.background[s:style] ."'"
|
||||
exe "let s:sp_selection = ' guisp=". s:palette.gui.selection[s:style] ."'"
|
||||
exe "let s:sp_line = ' guisp=". s:palette.gui.line[s:style] ."'"
|
||||
exe "let s:sp_comment = ' guisp=". s:palette.gui.comment[s:style] ."'"
|
||||
exe "let s:sp_red = ' guisp=". s:palette.gui.red[s:style] ."'"
|
||||
exe "let s:sp_orange = ' guisp=". s:palette.gui.orange[s:style] ."'"
|
||||
exe "let s:sp_yellow = ' guisp=". s:palette.gui.yellow[s:style] ."'"
|
||||
exe "let s:sp_green = ' guisp=". s:palette.gui.green[s:style] ."'"
|
||||
exe "let s:sp_aqua = ' guisp=". s:palette.gui.aqua[s:style] ."'"
|
||||
exe "let s:sp_blue = ' guisp=". s:palette.gui.blue[s:style] ."'"
|
||||
exe "let s:sp_purple = ' guisp=". s:palette.gui.purple[s:style] ."'"
|
||||
exe "let s:sp_window = ' guisp=". s:palette.gui.window[s:style] ."'"
|
||||
exe "let s:sp_addbg = ' guisp=". s:palette.gui.addbg[s:style] ."'"
|
||||
exe "let s:sp_addfg = ' guisp=". s:palette.gui.addfg[s:style] ."'"
|
||||
exe "let s:sp_changebg = ' guisp=". s:palette.gui.changebg[s:style] ."'"
|
||||
exe "let s:sp_changefg = ' guisp=". s:palette.gui.changefg[s:style] ."'"
|
||||
exe "let s:sp_darkblue = ' guisp=". s:palette.gui.darkblue[s:style] ."'"
|
||||
exe "let s:sp_darkcyan = ' guisp=". s:palette.gui.darkcyan[s:style] ."'"
|
||||
exe "let s:sp_darkred = ' guisp=". s:palette.gui.darkred[s:style] ."'"
|
||||
exe "let s:sp_darkpurple = ' guisp=". s:palette.gui.darkpurple[s:style] ."'"
|
||||
|
||||
"}}}
|
||||
" Vim Highlighting: (see :help highlight-groups)"{{{
|
||||
" ----------------------------------------------------------------------------
|
||||
exe "hi! ColorColumn" .s:fg_none .s:bg_line .s:fmt_none
|
||||
" Conceal"
|
||||
" Cursor"
|
||||
" CursorIM"
|
||||
exe "hi! CursorColumn" .s:fg_none .s:bg_line .s:fmt_none
|
||||
exe "hi! CursorLine" .s:fg_none .s:bg_line .s:fmt_none
|
||||
exe "hi! Directory" .s:fg_blue .s:bg_none .s:fmt_none
|
||||
exe "hi! DiffAdd" .s:fg_addfg .s:bg_addbg .s:fmt_none
|
||||
exe "hi! DiffChange" .s:fg_changefg .s:bg_changebg .s:fmt_none
|
||||
exe "hi! DiffDelete" .s:fg_background .s:bg_delbg .s:fmt_none
|
||||
exe "hi! DiffText" .s:fg_background .s:bg_blue .s:fmt_none
|
||||
exe "hi! ErrorMsg" .s:fg_background .s:bg_red .s:fmt_stnd
|
||||
exe "hi! VertSplit" .s:fg_window .s:bg_none .s:fmt_none
|
||||
exe "hi! Folded" .s:fg_comment .s:bg_darkcolumn .s:fmt_none
|
||||
exe "hi! FoldColumn" .s:fg_none .s:bg_darkcolumn .s:fmt_none
|
||||
exe "hi! SignColumn" .s:fg_none .s:bg_darkcolumn .s:fmt_none
|
||||
" Incsearch"
|
||||
exe "hi! LineNr" .s:fg_selection .s:bg_none .s:fmt_none
|
||||
exe "hi! CursorLineNr" .s:fg_yellow .s:bg_none .s:fmt_none
|
||||
exe "hi! MatchParen" .s:fg_background .s:bg_changebg .s:fmt_none
|
||||
exe "hi! ModeMsg" .s:fg_green .s:bg_none .s:fmt_none
|
||||
exe "hi! MoreMsg" .s:fg_green .s:bg_none .s:fmt_none
|
||||
exe "hi! NonText" .s:fg_selection .s:bg_none .s:fmt_none
|
||||
exe "hi! Pmenu" .s:fg_foreground .s:bg_selection .s:fmt_none
|
||||
exe "hi! PmenuSel" .s:fg_foreground .s:bg_selection .s:fmt_revr
|
||||
" PmenuSbar"
|
||||
" PmenuThumb"
|
||||
exe "hi! Question" .s:fg_green .s:bg_none .s:fmt_none
|
||||
exe "hi! Search" .s:fg_background .s:bg_yellow .s:fmt_none
|
||||
exe "hi! SpecialKey" .s:fg_selection .s:bg_none .s:fmt_none
|
||||
exe "hi! SpellCap" .s:fg_blue .s:bg_darkblue .s:fmt_undr
|
||||
exe "hi! SpellLocal" .s:fg_aqua .s:bg_darkcyan .s:fmt_undr
|
||||
exe "hi! SpellBad" .s:fg_red .s:bg_darkred .s:fmt_undr
|
||||
exe "hi! SpellRare" .s:fg_purple .s:bg_darkpurple .s:fmt_undr
|
||||
exe "hi! StatusLine" .s:fg_gray .s:bg_statusline .s:fmt_revr
|
||||
exe "hi! StatusLineNC" .s:fg_gray .s:bg_statuslinenc .s:fmt_revr
|
||||
exe "hi! TabLine" .s:fg_foreground .s:bg_darkcolumn .s:fmt_revr
|
||||
exe "hi! EndOfBuffer" .s:fg_background .s:bg_background .s:fmt_revr
|
||||
" TabLineFill"
|
||||
" TabLineSel"
|
||||
exe "hi! Title" .s:fg_yellow .s:bg_none .s:fmt_none
|
||||
exe "hi! Visual" .s:fg_none .s:bg_selection .s:fmt_none
|
||||
" VisualNos"
|
||||
exe "hi! WarningMsg" .s:fg_red .s:bg_none .s:fmt_none
|
||||
" FIXME LongLineWarning to use variables instead of hardcoding
|
||||
hi LongLineWarning guifg=NONE guibg=#371F1C gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
|
||||
" WildMenu"
|
||||
|
||||
exe "hi! Normal" .s:fg_foreground .s:bg_background .s:fmt_none
|
||||
|
||||
"}}}
|
||||
" Generic Syntax Highlighting: (see :help group-name)"{{{
|
||||
" ----------------------------------------------------------------------------
|
||||
exe "hi! Comment" .s:fg_comment .s:bg_none .s:fmt_none
|
||||
|
||||
exe "hi! Constant" .s:fg_red .s:bg_none .s:fmt_none
|
||||
exe "hi! String" .s:fg_green .s:bg_none .s:fmt_none
|
||||
" Character"
|
||||
" Number"
|
||||
" Boolean"
|
||||
" Float"
|
||||
|
||||
exe "hi! Identifier" .s:fg_purple .s:bg_none .s:fmt_none
|
||||
exe "hi! Function" .s:fg_yellow .s:bg_none .s:fmt_none
|
||||
|
||||
exe "hi! Statement" .s:fg_blue .s:bg_none .s:fmt_none
|
||||
" Conditional"
|
||||
" Repeat"
|
||||
" Label"
|
||||
exe "hi! Operator" .s:fg_aqua .s:bg_none .s:fmt_none
|
||||
" Keyword"
|
||||
" Exception"
|
||||
|
||||
exe "hi! PreProc" .s:fg_aqua .s:bg_none .s:fmt_none
|
||||
" Include"
|
||||
" Define"
|
||||
" Macro"
|
||||
" PreCondit"
|
||||
|
||||
exe "hi! Type" .s:fg_orange .s:bg_none .s:fmt_none
|
||||
" StorageClass"
|
||||
exe "hi! Structure" .s:fg_aqua .s:bg_none .s:fmt_none
|
||||
" Typedef"
|
||||
|
||||
exe "hi! Special" .s:fg_green .s:bg_none .s:fmt_none
|
||||
" SpecialChar"
|
||||
" Tag"
|
||||
" Delimiter"
|
||||
" SpecialComment"
|
||||
" Debug"
|
||||
"
|
||||
exe "hi! Underlined" .s:fg_blue .s:bg_none .s:fmt_none
|
||||
|
||||
exe "hi! Ignore" .s:fg_none .s:bg_none .s:fmt_none
|
||||
|
||||
exe "hi! Error" .s:fg_red .s:bg_darkred .s:fmt_undr
|
||||
|
||||
exe "hi! Todo" .s:fg_foreground .s:bg_none .s:fmt_bold
|
||||
|
||||
" Quickfix window highlighting
|
||||
exe "hi! qfLineNr" .s:fg_yellow .s:bg_none .s:fmt_none
|
||||
" qfFileName"
|
||||
" qfLineNr"
|
||||
" qfError"
|
||||
|
||||
"}}}
|
||||
" Diff Syntax Highlighting:"{{{
|
||||
" ----------------------------------------------------------------------------
|
||||
" Diff
|
||||
" diffOldFile
|
||||
" diffNewFile
|
||||
" diffFile
|
||||
" diffOnly
|
||||
" diffIdentical
|
||||
" diffDiffer
|
||||
" diffBDiffer
|
||||
" diffIsA
|
||||
" diffNoEOL
|
||||
" diffCommon
|
||||
hi! link diffRemoved Constant
|
||||
" diffChanged
|
||||
hi! link diffAdded Special
|
||||
" diffLine
|
||||
" diffSubname
|
||||
" diffComment
|
||||
|
||||
"}}}
|
||||
" GitGutter Sign Highlighting:"{{{
|
||||
" ----------------------------------------------------------------------------
|
||||
exe "hi! GitGutterAdd" .s:fg_gitgutteradd .s:bg_none .s:fmt_none
|
||||
exe "hi! GitGutterChange" .s:fg_gitgutterchg .s:bg_none .s:fmt_none
|
||||
exe "hi! GitGutterDelete" .s:fg_gitgutterdlt .s:bg_none .s:fmt_none
|
||||
|
||||
"}}}
|
||||
"
|
||||
" This is needed for some reason: {{{
|
||||
|
||||
let &background = s:style
|
||||
|
||||
" }}}
|
||||
" Legal:"{{{
|
||||
" ----------------------------------------------------------------------------
|
||||
" Copyright (c) 2011 Ethan Schoonover
|
||||
" Copyright (c) 2009-2012 NanoTech
|
||||
" Copyright (c) 2012 w0ng
|
||||
"
|
||||
" Permission is hereby granted, free of charge, to any per‐
|
||||
" son obtaining a copy of this software and associated doc‐
|
||||
" umentation files (the “Software”), to deal in the Soft‐
|
||||
" ware without restriction, including without limitation
|
||||
" the rights to use, copy, modify, merge, publish, distrib‐
|
||||
" ute, sublicense, and/or sell copies of the Software, and
|
||||
" to permit persons to whom the Software is furnished to do
|
||||
" so, subject to the following conditions:
|
||||
"
|
||||
" The above copyright notice and this permission notice
|
||||
" shall be included in all copies or substantial portions
|
||||
" of the Software.
|
||||
"
|
||||
" THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY
|
||||
" KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
|
||||
" THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICU‐
|
||||
" LAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
" AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CON‐
|
||||
" TRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON‐
|
||||
" NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
" THE SOFTWARE.
|
||||
|
||||
" }}}
|
26
roles/vim/tasks/main.yml
Normal file
26
roles/vim/tasks/main.yml
Normal file
@ -0,0 +1,26 @@
|
||||
---
|
||||
|
||||
- name: Ensure vim is installed
|
||||
package:
|
||||
name: vim
|
||||
state: present
|
||||
become: true
|
||||
become_user: root
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Ensure ~/.vim/colors folder exists
|
||||
file:
|
||||
path: ~/.vim/colors
|
||||
state: directory
|
||||
recurse: yes
|
||||
|
||||
- name: Copy kuroi color scheme
|
||||
copy:
|
||||
src: kuroi.vim
|
||||
dest: ~/.vim/colors/kuroi.vim
|
||||
|
||||
- name: Template vim config
|
||||
template:
|
||||
src: vimrc.j2
|
||||
dest: ~/.vimrc
|
||||
|
3
roles/vim/templates/vimrc.j2
Normal file
3
roles/vim/templates/vimrc.j2
Normal file
@ -0,0 +1,3 @@
|
||||
set background=dark
|
||||
colorscheme kuroi
|
||||
syntax on
|
7
tmux.yml
Normal file
7
tmux.yml
Normal file
@ -0,0 +1,7 @@
|
||||
---
|
||||
|
||||
- name: Set up tmux
|
||||
hosts: all
|
||||
become: true
|
||||
roles:
|
||||
- tmux
|
Loading…
Reference in New Issue
Block a user