Compare commits
10 commits
97a654347f
...
ec32ff9a22
Author | SHA1 | Date | |
---|---|---|---|
ec32ff9a22 | |||
e2ed89ddd1 | |||
cc13808081 | |||
76d3b54c8d | |||
1bbbd8a952 | |||
972940332b | |||
573701b777 | |||
5d1b066d98 | |||
7e7ce2bd40 | |||
cfe9358624 |
35 changed files with 896 additions and 101 deletions
34
Makefile
34
Makefile
|
@ -1,4 +1,34 @@
|
|||
%:
|
||||
ansible-playbook playbooks/$@.yml -i inventory/hosts.yml -K --ask-vault-pass
|
||||
all:
|
||||
ansible-playbook playbooks/all.yml -i inventory/hosts.yml -K --ask-vault-pass
|
||||
|
||||
asdf:
|
||||
ansible-playbook playbooks/asdf.yml -i inventory/hosts.yml -K
|
||||
|
||||
neovim:
|
||||
ansible-playbook playbooks/neovim.yml -i inventory/hosts.yml -K
|
||||
|
||||
nicotine:
|
||||
ansible-playbook playbooks/nicotine.yml -i inventory/hosts.yml -K --ask-vault-pass
|
||||
|
||||
signal:
|
||||
ansible-playbook playbooks/signal.yml -i inventory/hosts.yml -K
|
||||
|
||||
strawberry:
|
||||
ansible-playbook playbooks/strawberry.yml -i inventory/hosts.yml -K
|
||||
|
||||
syncthing:
|
||||
ansible-playbook playbooks/syncthing.yml -i inventory/hosts.yml -K --ask-vault-pass
|
||||
|
||||
system:
|
||||
ansible-playbook playbooks/system.yml -i inventory/hosts.yml -K
|
||||
|
||||
virtualbox:
|
||||
ansible-playbook playbooks/virtualbox.yml -i inventory/hosts.yml -K
|
||||
|
||||
vscodium:
|
||||
ansible-playbook playbooks/vscodium.yml -i inventory/hosts.yml -K
|
||||
|
||||
zsh:
|
||||
ansible-playbook playbooks/zsh.yml -i inventory/hosts.yml -K
|
||||
|
||||
.PHONY: run
|
||||
|
|
|
@ -9,15 +9,12 @@
|
|||
## TODO
|
||||
|
||||
- Telegram (maybe only possible to download)
|
||||
- Oh my zsh?
|
||||
- Cool neovim setup
|
||||
- strawberry
|
||||
- fuzzy find
|
||||
- keepassxc config
|
||||
- thunderbird config
|
||||
- some kind of tag setup with: bootstrap, update etc
|
||||
- sync music collection
|
||||
- nicotine+
|
||||
- i3 app shortcuts
|
||||
- terminal font
|
||||
- default git branch master
|
||||
|
||||
Would like Ansible Vault to check in keypair for syncthing.
|
||||
However, then I would need a password to unlock the vault.
|
||||
|
|
8
library/rescue_role.yml
Normal file
8
library/rescue_role.yml
Normal file
|
@ -0,0 +1,8 @@
|
|||
# https://stackoverflow.com/a/55524120
|
||||
- name: Rescue role
|
||||
block:
|
||||
- include_role:
|
||||
name: "{{ item_my_role }}"
|
||||
rescue:
|
||||
- set_fact:
|
||||
failed_roles: "{{ failed_roles|default([]) + [ item_my_role ] }}"
|
|
@ -2,10 +2,19 @@
|
|||
hosts: self
|
||||
roles:
|
||||
- system
|
||||
- zsh
|
||||
- asdf
|
||||
- neovim
|
||||
- signal
|
||||
- virtualbox
|
||||
- vscodium
|
||||
- syncthing
|
||||
vars:
|
||||
my_roles:
|
||||
- zsh
|
||||
- asdf
|
||||
- neovim
|
||||
- signal
|
||||
- virtualbox
|
||||
- vscodium
|
||||
- syncthing
|
||||
- strawberry
|
||||
- nicotine
|
||||
tasks:
|
||||
- include_tasks: "../library/rescue_role.yml"
|
||||
loop: "{{ my_roles }}"
|
||||
loop_control:
|
||||
loop_var: item_my_role
|
||||
|
|
4
playbooks/nicotine.yml
Normal file
4
playbooks/nicotine.yml
Normal file
|
@ -0,0 +1,4 @@
|
|||
- name: Install nicotine+
|
||||
hosts: self
|
||||
roles:
|
||||
- nicotine
|
4
playbooks/strawberry.yml
Normal file
4
playbooks/strawberry.yml
Normal file
|
@ -0,0 +1,4 @@
|
|||
- name: Install strawberry
|
||||
hosts: self
|
||||
roles:
|
||||
- strawberry
|
2
roles/asdf/meta/main.yml
Normal file
2
roles/asdf/meta/main.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
dependencies:
|
||||
- role: common
|
|
@ -5,9 +5,6 @@
|
|||
- name: Install Erlang prerequisite APT packages
|
||||
become: true
|
||||
apt:
|
||||
state: present
|
||||
update_cache: true
|
||||
cache_valid_time: 86400 # One day
|
||||
pkg:
|
||||
- build-essential
|
||||
- autoconf
|
||||
|
@ -33,9 +30,6 @@
|
|||
- name: Install Elixir prerequisite APT packages
|
||||
become: true
|
||||
apt:
|
||||
state: present
|
||||
update_cache: true
|
||||
cache_valid_time: 86400 # One day
|
||||
name: unzip
|
||||
- name: Install asdf Elixir plugin
|
||||
shell:
|
||||
|
|
8
roles/common/tasks/main.yml
Normal file
8
roles/common/tasks/main.yml
Normal file
|
@ -0,0 +1,8 @@
|
|||
- name: APT upgrade
|
||||
become: true
|
||||
apt:
|
||||
autoremove: true
|
||||
upgrade: yes
|
||||
state: latest
|
||||
update_cache: yes
|
||||
cache_valid_time: 86400 # One day
|
2
roles/neovim/meta/main.yml
Normal file
2
roles/neovim/meta/main.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
dependencies:
|
||||
- role: common
|
|
@ -8,9 +8,13 @@
|
|||
become: true
|
||||
apt_repository:
|
||||
repo: "deb [signed-by=/etc/apt/keyrings/neovim.gpg] https://ppa.launchpadcontent.net/neovim-ppa/stable/ubuntu {{ ansible_distribution_release }} main"
|
||||
state: present
|
||||
register: apt_repository
|
||||
- name: Update APT cache
|
||||
become: true
|
||||
apt:
|
||||
update_cache: true
|
||||
when: apt_repository.changed
|
||||
- name: Install Neovim
|
||||
become: true
|
||||
apt:
|
||||
name: neovim
|
||||
state: present
|
||||
|
|
2
roles/nicotine/meta/main.yml
Normal file
2
roles/nicotine/meta/main.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
dependencies:
|
||||
- role: common
|
29
roles/nicotine/tasks/main.yml
Normal file
29
roles/nicotine/tasks/main.yml
Normal file
|
@ -0,0 +1,29 @@
|
|||
- name: Download PPA signing key
|
||||
become: true
|
||||
apt_key:
|
||||
keyserver: keyserver.ubuntu.com
|
||||
id: 6CEB6050A30E5769
|
||||
keyring: /etc/apt/keyrings/nicotine.gpg
|
||||
- name: Install PPA repository
|
||||
become: true
|
||||
apt_repository:
|
||||
repo: "deb [signed-by=/etc/apt/keyrings/nicotine.gpg] https://ppa.launchpadcontent.net/nicotine-team/stable/ubuntu {{ ansible_distribution_release }} main"
|
||||
register: apt_repository
|
||||
- name: Update APT cache
|
||||
become: true
|
||||
apt:
|
||||
update_cache: true
|
||||
when: apt_repository.changed
|
||||
- name: Install nicotine
|
||||
become: true
|
||||
apt:
|
||||
name: nicotine
|
||||
- name: Create configuration directory
|
||||
file:
|
||||
path: ~/.config/nicotine
|
||||
recurse: true
|
||||
state: directory
|
||||
- name: Copy configuration file
|
||||
template:
|
||||
src: "{{ role_path }}/templates/config.j2"
|
||||
dest: ~/.config/nicotine/config
|
246
roles/nicotine/templates/config.j2
Normal file
246
roles/nicotine/templates/config.j2
Normal file
|
@ -0,0 +1,246 @@
|
|||
[server]
|
||||
server = ('server.slsknet.org', 2242)
|
||||
login = {{ nicotine.login }}
|
||||
passw = {{ nicotine.passw }}
|
||||
interface =
|
||||
ctcpmsgs = False
|
||||
autosearch = []
|
||||
autoreply =
|
||||
portrange = (2234, 2239)
|
||||
upnp = True
|
||||
upnp_interval = 4
|
||||
auto_connect_startup = True
|
||||
userlist = []
|
||||
banlist = []
|
||||
ignorelist = []
|
||||
ipignorelist = {}
|
||||
ipblocklist = {}
|
||||
autojoin = ['nicotine']
|
||||
autoaway = 15
|
||||
away = False
|
||||
private_chatrooms = False
|
||||
command_aliases = {}
|
||||
|
||||
[transfers]
|
||||
incompletedir = /home/{{ ansible_user_id }}/.local/share/nicotine/incomplete
|
||||
downloaddir = /home/{{ ansible_user_id }}/Music
|
||||
uploaddir = /home/{{ ansible_user_id }}/.local/share/nicotine/received
|
||||
usernamesubfolders = False
|
||||
shared = [('Music', '/home/{{ ansible_user_id }}/Music')]
|
||||
buddyshared = []
|
||||
uploadbandwidth = 50
|
||||
uselimit = False
|
||||
usealtlimits = False
|
||||
uploadlimit = 1000
|
||||
uploadlimitalt = 100
|
||||
downloadlimit = 0
|
||||
downloadlimitalt = 100
|
||||
preferfriends = False
|
||||
useupslots = False
|
||||
uploadslots = 2
|
||||
afterfinish =
|
||||
afterfolder =
|
||||
lock = True
|
||||
reverseorder = False
|
||||
fifoqueue = False
|
||||
usecustomban = False
|
||||
limitby = True
|
||||
customban = Banned, don't bother retrying
|
||||
usecustomgeoblock = False
|
||||
customgeoblock = Sorry, your country is blocked
|
||||
queuelimit = 10000
|
||||
filelimit = 100
|
||||
buddysharestrustedonly = False
|
||||
friendsnolimits = False
|
||||
groupdownloads = folder_grouping
|
||||
groupuploads = folder_grouping
|
||||
geoblock = False
|
||||
geoblockcc = ['']
|
||||
remotedownloads = True
|
||||
uploadallowed = 2
|
||||
autoclear_downloads = False
|
||||
autoclear_uploads = False
|
||||
uploadsinsubdirs = True
|
||||
rescanonstartup = True
|
||||
enablefilters = False
|
||||
downloadregexp = (\\(.*\.url|albumart(_{........-....-....-....-............}_)?(_?(large|small))?\.jpg|desktop\.ini|folder\.jpg|thumbs\.db)$)
|
||||
downloadfilters = [['desktop.ini', 1], ['folder.jpg', 1], ['*.url', 1], ['thumbs.db', 1], ['albumart(_{........-....-....-....-............}_)?(_?(large|small))?\\.jpg', 0]]
|
||||
download_doubleclick = 2
|
||||
upload_doubleclick = 2
|
||||
downloadsexpanded = True
|
||||
uploadsexpanded = True
|
||||
|
||||
[userinfo]
|
||||
descr = ''
|
||||
pic =
|
||||
|
||||
[userbrowse]
|
||||
expand_folders = True
|
||||
|
||||
[words]
|
||||
censored = []
|
||||
autoreplaced = {'teh ': 'the ', 'taht ': 'that ', 'tihng': 'thing', 'youre': "you're", 'jsut': 'just', 'thier': 'their', 'tihs': 'this'}
|
||||
censorfill = *
|
||||
censorwords = False
|
||||
replacewords = False
|
||||
tab = True
|
||||
cycle = False
|
||||
dropdown = False
|
||||
characters = 3
|
||||
roomnames = False
|
||||
buddies = True
|
||||
roomusers = True
|
||||
commands = True
|
||||
aliases = True
|
||||
onematch = False
|
||||
|
||||
[logging]
|
||||
debug = False
|
||||
debugmodes = []
|
||||
debuglogsdir = /home/{{ ansible_user_id }}/.local/share/nicotine/logs/debug
|
||||
logcollapsed = True
|
||||
transferslogsdir = /home/{{ ansible_user_id }}/.local/share/nicotine/logs/transfers
|
||||
rooms_timestamp = %H:%M:%S
|
||||
private_timestamp = %Y-%m-%d %H:%M:%S
|
||||
log_timestamp = %Y-%m-%d %H:%M:%S
|
||||
privatechat = True
|
||||
chatrooms = True
|
||||
transfers = False
|
||||
debug_file_output = False
|
||||
roomlogsdir = /home/{{ ansible_user_id }}/.local/share/nicotine/logs/rooms
|
||||
privatelogsdir = /home/{{ ansible_user_id }}/.local/share/nicotine/logs/private
|
||||
readroomlogs = True
|
||||
readroomlines = 15
|
||||
readprivatelines = 15
|
||||
rooms = ['nicotine']
|
||||
|
||||
[privatechat]
|
||||
store = True
|
||||
users = []
|
||||
|
||||
[columns]
|
||||
file_search = {'id': {'visible': False, 'width': 0}, 'user': {'visible': True, 'width': 200}, 'country': {'visible': True, 'width': 25}, 'speed': {'visible': True, 'width': 120}, 'in_queue': {'visible': True, 'width': 110}, 'folder': {'visible': True, 'width': 400}, 'filename': {'visible': True, 'width': 400}, 'size': {'visible': True, 'width': 100}, 'bitrate': {'visible': True, 'width': 100}, 'length': {'visible': True, 'width': 465}}
|
||||
download = {'user': {'visible': True, 'width': 200}, 'path': {'visible': True, 'width': 400}, 'filename': {'visible': True, 'width': 400}, 'status': {'visible': True, 'width': 140}, 'queue_position': {'visible': True, 'width': 90}, 'percent': {'visible': True, 'width': 90}, 'size': {'visible': True, 'width': 180}, 'speed': {'visible': True, 'width': 100}, 'time_elapsed': {'visible': True, 'width': 140}, 'time_left': {'visible': True, 'width': 180}}
|
||||
upload = {}
|
||||
user_browse = {'filename': {'visible': True, 'width': 600}, 'size': {'visible': True, 'width': 100}, 'bitrate': {'visible': True, 'width': 100}, 'length': {'visible': True, 'width': 219}}
|
||||
buddy_list = {}
|
||||
chat_room = {'nicotine': {'status': {'visible': True, 'width': 25}, 'country': {'visible': True, 'width': 25}, 'user': {'visible': True, 'width': 155}, 'speed': {'visible': True, 'width': 100}, 'files': {'visible': True, 'width': 94}}}
|
||||
|
||||
[searches]
|
||||
expand_searches = True
|
||||
group_searches = folder_grouping
|
||||
maxresults = 150
|
||||
enable_history = True
|
||||
history = []
|
||||
enablefilters = False
|
||||
filters_visible = False
|
||||
defilter = ['', '', '', '', 0, '']
|
||||
filtercc = []
|
||||
filterin = []
|
||||
filterout = []
|
||||
filtersize = []
|
||||
filterbr = []
|
||||
filtertype = []
|
||||
search_results = True
|
||||
max_displayed_results = 1500
|
||||
min_search_chars = 3
|
||||
remove_special_chars = True
|
||||
private_search_results = True
|
||||
|
||||
[ui]
|
||||
dark_mode = False
|
||||
header_bar = True
|
||||
icontheme =
|
||||
chatme = #908e8b
|
||||
chatremote =
|
||||
chatlocal =
|
||||
chathilite = #5288ce
|
||||
urlcolor = #5288ce
|
||||
useronline = #16bb5c
|
||||
useraway = #c9ae13
|
||||
useroffline = #e04f5e
|
||||
usernamehotspots = True
|
||||
usernamestyle = bold
|
||||
textbg =
|
||||
search =
|
||||
searchq = GREY
|
||||
inputcolor =
|
||||
spellcheck = True
|
||||
exitdialog = 1
|
||||
tab_default =
|
||||
tab_hilite = #497ec2
|
||||
tab_changed = #497ec2
|
||||
tab_select_previous = True
|
||||
tabmain = Top
|
||||
tabrooms = Top
|
||||
tabprivate = Top
|
||||
tabinfo = Top
|
||||
tabbrowse = Top
|
||||
tabsearch = Top
|
||||
tab_status_icons = True
|
||||
globalfont =
|
||||
chatfont =
|
||||
tabclosers = True
|
||||
searchfont =
|
||||
listfont =
|
||||
browserfont =
|
||||
transfersfont =
|
||||
last_tab_id = downloads
|
||||
modes_visible = {'search': True, 'downloads': True, 'uploads': True, 'userbrowse': True, 'userinfo': True, 'private': True, 'chatrooms': True, 'interests': True, 'userlist': True}
|
||||
modes_order = ['search', 'downloads', 'uploads', 'userbrowse', 'userinfo', 'private', 'userlist', 'chatrooms', 'interests']
|
||||
buddylistinchatrooms = tab
|
||||
trayicon = True
|
||||
startup_hidden = False
|
||||
filemanager =
|
||||
speechenabled = False
|
||||
speechprivate = User %(user)s told you: %(message)s
|
||||
speechrooms = In room %(room)s, user %(user)s said: %(message)s
|
||||
speechcommand = flite -t $
|
||||
width = 800
|
||||
height = 600
|
||||
xposition = -1
|
||||
yposition = -1
|
||||
maximized = True
|
||||
urgencyhint = True
|
||||
file_path_tooltips = True
|
||||
reverse_file_paths = True
|
||||
|
||||
[private_rooms]
|
||||
rooms = {}
|
||||
|
||||
[urls]
|
||||
protocols = {}
|
||||
|
||||
[interests]
|
||||
likes = []
|
||||
dislikes = []
|
||||
|
||||
[players]
|
||||
default =
|
||||
npothercommand =
|
||||
npplayer = mpris
|
||||
npformatlist = []
|
||||
npformat =
|
||||
|
||||
[notifications]
|
||||
notification_window_title = True
|
||||
notification_tab_colors = False
|
||||
notification_popup_sound = False
|
||||
notification_popup_file = True
|
||||
notification_popup_folder = True
|
||||
notification_popup_private_message = True
|
||||
notification_popup_chatroom = False
|
||||
notification_popup_chatroom_mention = True
|
||||
|
||||
[plugins]
|
||||
enable = True
|
||||
enabled = []
|
||||
|
||||
[statistics]
|
||||
started_downloads = 160
|
||||
completed_downloads = 160
|
||||
downloaded_size = 5712912242
|
||||
started_uploads = 0
|
||||
completed_uploads = 0
|
||||
uploaded_size = 0
|
||||
|
9
roles/nicotine/vars/main.yml
Normal file
9
roles/nicotine/vars/main.yml
Normal file
|
@ -0,0 +1,9 @@
|
|||
nicotine:
|
||||
login: dellmonitor
|
||||
passw: !vault |
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
37393034356130363563333637326334656263316234373738643563653632353438333230313131
|
||||
3165373937613366356336326165656535336433633365390a383163306162303366303466363663
|
||||
37363739343930383161333031373965623634386235363632363961643865383933616363373061
|
||||
3061636563356539620a303161363536616333343463343761366462363730376638656362386335
|
||||
30623232616431316563663565376133623430316330346162623737636430383937
|
2
roles/signal/meta/main.yml
Normal file
2
roles/signal/meta/main.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
dependencies:
|
||||
- role: common
|
|
@ -7,11 +7,13 @@
|
|||
become: true
|
||||
apt_repository:
|
||||
repo: "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/signal.asc] https://updates.signal.org/desktop/apt xenial main"
|
||||
state: present
|
||||
register: apt_repository
|
||||
- name: Update APT cache
|
||||
become: true
|
||||
apt:
|
||||
update_cache: true
|
||||
when: apt_repository.changed
|
||||
- name: Install Signal
|
||||
become: true
|
||||
apt:
|
||||
state: latest
|
||||
update_cache: yes
|
||||
cache_valid_time: 86400 # One day
|
||||
name: signal-desktop
|
||||
|
|
2
roles/strawberry/meta/main.yml
Normal file
2
roles/strawberry/meta/main.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
dependencies:
|
||||
- role: common
|
29
roles/strawberry/tasks/main.yml
Normal file
29
roles/strawberry/tasks/main.yml
Normal file
|
@ -0,0 +1,29 @@
|
|||
- name: Download PPA signing key
|
||||
become: true
|
||||
apt_key:
|
||||
keyserver: keyserver.ubuntu.com
|
||||
id: BE5ED0F9261CAAD9A1E5B1A4CD6289E999EA819D
|
||||
keyring: /etc/apt/keyrings/strawberry.gpg
|
||||
- name: Install PPA repository
|
||||
become: true
|
||||
apt_repository:
|
||||
repo: "deb [signed-by=/etc/apt/keyrings/strawberry.gpg] https://ppa.launchpadcontent.net/jonaski/strawberry/ubuntu {{ ansible_distribution_release }} main"
|
||||
register: apt_repository
|
||||
- name: Update APT cache
|
||||
become: true
|
||||
apt:
|
||||
update_cache: true
|
||||
when: apt_repository.changed
|
||||
- name: Install Strawberry
|
||||
become: true
|
||||
apt:
|
||||
name: strawberry
|
||||
- name: Create configuration directory
|
||||
file:
|
||||
path: ~/.config/strawberry
|
||||
recurse: true
|
||||
state: directory
|
||||
- name: Copy configuration file
|
||||
template:
|
||||
src: "{{ role_path }}/templates/strawberry.conf.j2"
|
||||
dest: ~/.config/strawberry/strawberry.conf
|
396
roles/strawberry/templates/strawberry.conf.j2
Normal file
396
roles/strawberry/templates/strawberry.conf.j2
Normal file
|
@ -0,0 +1,396 @@
|
|||
[Analyzer]
|
||||
framerate=25
|
||||
type=BlockAnalyzer
|
||||
|
||||
[Appearance]
|
||||
background-color=@Variant(\0\0\0\x43\x1\xff\xff\xff\xff\xff\xff\xff\xff\0\0)
|
||||
background_image_do_not_cut=true
|
||||
background_image_keep_aspect_ratio=false
|
||||
background_image_max_size=0
|
||||
background_image_position=1
|
||||
background_image_stretch=true
|
||||
background_image_type=3
|
||||
blur_radius=80
|
||||
foreground-color=@Variant(\0\0\0\x43\x1\xff\xff\0\0\0\0\0\0\0\0)
|
||||
icon_size_configure_buttons=16
|
||||
icon_size_left_panel_buttons=22
|
||||
icon_size_play_control_buttons=32
|
||||
icon_size_playlist_buttons=20
|
||||
icon_size_tabbar_large_mode=40
|
||||
icon_size_tabbar_small_mode=32
|
||||
opacity_level=70
|
||||
playlist_playing_song_color=@Variant(\0\0\0\x43\0\xff\xff\0\0\0\0\0\0\0\0)
|
||||
style=Fusion
|
||||
system_icons=false
|
||||
tab_color=@Variant(\0\0\0\x43\x2\xff\xffOL\x87\x87\x92+\0\0)
|
||||
tab_gradient=true
|
||||
tab_system_color=true
|
||||
use-custom-set=true
|
||||
|
||||
[Backend]
|
||||
AutoCrossfadeEnabled=false
|
||||
CrossfadeEnabled=false
|
||||
FadeoutDuration=2000
|
||||
FadeoutEnabled=false
|
||||
FadeoutPauseDuration=250
|
||||
FadeoutPauseEnabled=false
|
||||
NoCrossfadeSameAlbum=true
|
||||
bs2b=false
|
||||
bufferduration=4000
|
||||
bufferhighwatermark=0.99
|
||||
bufferlowwatermark=0.33
|
||||
channels=2
|
||||
channels_enabled=false
|
||||
device=@Invalid()
|
||||
engine=gstreamer
|
||||
http2=false
|
||||
output=autoaudiosink
|
||||
rgcompression=true
|
||||
rgenabled=false
|
||||
rgfallbackgain=0
|
||||
rgmode=0
|
||||
rgpreamp=0
|
||||
volume_control=true
|
||||
|
||||
[Behaviour]
|
||||
doubleclick_addmode=1
|
||||
doubleclick_playlist_addmode=1
|
||||
doubleclick_playmode=3
|
||||
keeprunning=true
|
||||
language=
|
||||
menu_playmode=2
|
||||
menu_previousmode=1
|
||||
playing_widget=true
|
||||
resumeplayback=false
|
||||
seek_step_sec=10
|
||||
showtrayicon=true
|
||||
startupbehaviour=2
|
||||
trayicon_progress=true
|
||||
|
||||
[Collection]
|
||||
auto_open=true
|
||||
cache_size=160
|
||||
cache_size_unit=1
|
||||
cover_art_patterns=front, cover
|
||||
cover_lowercase=true
|
||||
cover_overwrite=false
|
||||
cover_pattern=%albumartist-%album
|
||||
cover_replace_spaces=true
|
||||
delete_files=false
|
||||
disk_cache_enable=false
|
||||
disk_cache_size=360
|
||||
disk_cache_size_unit=1
|
||||
expire_unavailable_songs=60
|
||||
group_by1=1
|
||||
group_by2=4
|
||||
group_by3=0
|
||||
group_by_version=1
|
||||
io_priority=3
|
||||
last_path=/home/{{ ansible_user_id }}/Music
|
||||
mark_songs_unavailable=true
|
||||
monitor=true
|
||||
overwrite_playcount=false
|
||||
overwrite_rating=false
|
||||
pretty_covers=true
|
||||
save_cover_filename=2
|
||||
save_cover_type=3
|
||||
save_playcounts=false
|
||||
save_ratings=false
|
||||
separate_albums_by_grouping=false
|
||||
show_dividers=true
|
||||
song_tracking=true
|
||||
startup_scan=true
|
||||
tagreader_workers=2
|
||||
thread_priority=0
|
||||
|
||||
[Context]
|
||||
AlbumEnable=true
|
||||
EngineAndDeviceEnable=false
|
||||
SearchCoverEnable=true
|
||||
SearchLyricsEnable=true
|
||||
SongLyricsEnable=true
|
||||
SummaryFmt=%album%
|
||||
TechnicalDataEnable=false
|
||||
TitleFmt=%title% - %artist%
|
||||
font_headline=Bitstream Vera Sans
|
||||
font_normal=Bitstream Vera Sans
|
||||
font_size_headline=11
|
||||
font_size_normal=11
|
||||
|
||||
[CoverManager]
|
||||
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\x3\xc2\0\0\0\x4\0\0\a{\0\0\x4\x92\0\0\x3\xc4\0\0\0\x6\0\0\ay\0\0\x4\x90\0\0\0\0\0\0\0\0\a\x80\0\0\x3\xc4\0\0\0\x6\0\0\ay\0\0\x4\x90)
|
||||
save_cover_type=1
|
||||
splitter_state=@ByteArray(\0\0\0\xff\0\0\0\x1\0\0\0\x2\0\0\0\xc8\0\0\x2\xbf\x1\xff\xff\xff\xff\x1\0\0\0\x1\0)
|
||||
|
||||
[Covers]
|
||||
providers=Last.fm, MusicBrainz, Deezer, Musixmatch, Spotify, Tidal, Qobuz
|
||||
|
||||
[Equalizer]
|
||||
enable_stereo_balancer=false
|
||||
enabled=false
|
||||
presets\1\name=Classical
|
||||
presets\1\params=@Variant(\0\0\0\x7f\0\0\0\x12\x45qualizer::Params\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\xff\xd8\xff\xff\xff\xd8\xff\xff\xff\xd8\xff\xff\xff\xce)
|
||||
presets\10\name=Live
|
||||
presets\10\params=@Variant(\0\0\0\x7f\0\0\0\x12\x45qualizer::Params\0\0\0\0\0\xff\xff\xff\xe7\0\0\0\0\0\0\0\x14\0\0\0\x19\0\0\0\x1e\0\0\0\x1e\0\0\0\x14\0\0\0\xf\0\0\0\xf\0\0\0\n)
|
||||
presets\11\name=Party
|
||||
presets\11\params=@Variant(\0\0\0\x7f\0\0\0\x12\x45qualizer::Params\0\0\0\0\0\0\0\0#\0\0\0#\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0#\0\0\0#)
|
||||
presets\12\name=Pop
|
||||
presets\12\params=@Variant(\0\0\0\x7f\0\0\0\x12\x45qualizer::Params\0\0\0\0\0\xff\xff\xff\xf6\0\0\0\x19\0\0\0#\0\0\0(\0\0\0\x19\xff\xff\xff\xfb\xff\xff\xff\xf1\xff\xff\xff\xf1\xff\xff\xff\xf6\xff\xff\xff\xf6)
|
||||
presets\13\name=Reggae
|
||||
presets\13\params=@Variant(\0\0\0\x7f\0\0\0\x12\x45qualizer::Params\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\xff\xfb\xff\xff\xff\xe2\0\0\0\0\xff\xff\xff\xdd\xff\xff\xff\xdd\0\0\0\0\0\0\0\0\0\0\0\0)
|
||||
presets\14\name=Rock
|
||||
presets\14\params=@Variant(\0\0\0\x7f\0\0\0\x12\x45qualizer::Params\0\0\0\0\0\0\0\0(\0\0\0\x19\xff\xff\xff\xe2\xff\xff\xff\xd8\xff\xff\xff\xec\0\0\0\x14\0\0\0-\0\0\0\x37\0\0\0\x37\0\0\0\x37)
|
||||
presets\15\name=Ska
|
||||
presets\15\params=@Variant(\0\0\0\x7f\0\0\0\x12\x45qualizer::Params\0\0\0\0\0\xff\xff\xff\xf1\xff\xff\xff\xe7\xff\xff\xff\xe7\xff\xff\xff\xfb\0\0\0\x14\0\0\0\x1e\0\0\0-\0\0\0\x32\0\0\0\x37\0\0\0\x32)
|
||||
presets\16\name=Soft
|
||||
presets\16\params=@Variant(\0\0\0\x7f\0\0\0\x12\x45qualizer::Params\0\0\0\0\0\0\0\0\x19\0\0\0\n\xff\xff\xff\xfb\xff\xff\xff\xf1\xff\xff\xff\xfb\0\0\0\x14\0\0\0-\0\0\0\x32\0\0\0\x37\0\0\0<)
|
||||
presets\17\name=Soft Rock
|
||||
presets\17\params=@Variant(\0\0\0\x7f\0\0\0\x12\x45qualizer::Params\0\0\0\0\0\0\0\0\x14\0\0\0\x14\0\0\0\n\xff\xff\xff\xfb\xff\xff\xff\xe7\xff\xff\xff\xe2\xff\xff\xff\xec\xff\xff\xff\xfb\0\0\0\xf\0\0\0-)
|
||||
presets\18\name=Techno
|
||||
presets\18\params=@Variant(\0\0\0\x7f\0\0\0\x12\x45qualizer::Params\0\0\0\0\0\0\0\0(\0\0\0\x1e\0\0\0\0\xff\xff\xff\xe2\xff\xff\xff\xe7\0\0\0\0\0\0\0(\0\0\0\x32\0\0\0\x32\0\0\0-)
|
||||
presets\19\name=Zero
|
||||
presets\19\params=@Variant(\0\0\0\x7f\0\0\0\x12\x45qualizer::Params\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0)
|
||||
presets\2\name=Club
|
||||
presets\2\params=@Variant(\0\0\0\x7f\0\0\0\x12\x45qualizer::Params\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x14\0\0\0\x1e\0\0\0\x1e\0\0\0\x1e\0\0\0\x14\0\0\0\0\0\0\0\0\0\0\0\0)
|
||||
presets\3\name=Custom
|
||||
presets\3\params=@Variant(\0\0\0\x7f\0\0\0\x12\x45qualizer::Params\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0)
|
||||
presets\4\name=Dance
|
||||
presets\4\params=@Variant(\0\0\0\x7f\0\0\0\x12\x45qualizer::Params\0\0\0\0\0\0\0\0\x32\0\0\0#\0\0\0\n\0\0\0\0\0\0\0\0\xff\xff\xff\xe2\xff\xff\xff\xd8\xff\xff\xff\xd8\0\0\0\0\0\0\0\0)
|
||||
presets\5\name=Full Bass
|
||||
presets\5\params=@Variant(\0\0\0\x7f\0\0\0\x12\x45qualizer::Params\0\0\0\0\0\0\0\0\x46\0\0\0\x46\0\0\0\x46\0\0\0(\0\0\0\x14\xff\xff\xff\xd3\xff\xff\xff\xce\xff\xff\xff\xc9\xff\xff\xff\xc9\xff\xff\xff\xc9)
|
||||
presets\6\name=Full Bass + Treble
|
||||
presets\6\params=@Variant(\0\0\0\x7f\0\0\0\x12\x45qualizer::Params\0\0\0\0\0\0\0\0#\0\0\0\x1e\0\0\0\0\xff\xff\xff\xd8\xff\xff\xff\xe7\0\0\0\n\0\0\0-\0\0\0\x37\0\0\0<\0\0\0<)
|
||||
presets\7\name=Full Treble
|
||||
presets\7\params=@Variant(\0\0\0\x7f\0\0\0\x12\x45qualizer::Params\0\0\0\0\0\xff\xff\xff\xce\xff\xff\xff\xce\xff\xff\xff\xce\xff\xff\xff\xe7\0\0\0\xf\0\0\0\x37\0\0\0P\0\0\0P\0\0\0P\0\0\0U)
|
||||
presets\8\name=Laptop/Headphones
|
||||
presets\8\params=@Variant(\0\0\0\x7f\0\0\0\x12\x45qualizer::Params\0\0\0\0\0\0\0\0\x19\0\0\0\x32\0\0\0\x19\xff\xff\xff\xec\0\0\0\0\xff\xff\xff\xe2\xff\xff\xff\xd8\xff\xff\xff\xd8\0\0\0\0\0\0\0\0)
|
||||
presets\9\name=Large Hall
|
||||
presets\9\params=@Variant(\0\0\0\x7f\0\0\0\x12\x45qualizer::Params\0\0\0\0\0\0\0\0\x32\0\0\0\x32\0\0\0\x1e\0\0\0\x1e\0\0\0\0\xff\xff\xff\xe7\xff\xff\xff\xe7\xff\xff\xff\xe7\0\0\0\0\0\0\0\0)
|
||||
presets\size=19
|
||||
selected_preset=Custom
|
||||
stereo_balance=0
|
||||
|
||||
[GlobalShortcuts]
|
||||
dec_volume=
|
||||
inc_volume=
|
||||
love=
|
||||
mute=
|
||||
next_track=Media Next
|
||||
pause=
|
||||
play=
|
||||
play_pause=Media Play
|
||||
prev_track=Media Previous
|
||||
repeat_mode=
|
||||
seek_backward=
|
||||
seek_forward=
|
||||
show_hide=
|
||||
show_osd=
|
||||
shuffle_mode=
|
||||
stop=Media Stop
|
||||
stop_after=
|
||||
toggle_pretty_osd=
|
||||
toggle_scrobbling=
|
||||
use_gnome=true
|
||||
use_kde=false
|
||||
use_mate=false
|
||||
use_x11=false
|
||||
|
||||
[LastFM]
|
||||
enabled=false
|
||||
https=false
|
||||
|
||||
[LibreFM]
|
||||
enabled=false
|
||||
|
||||
[ListenBrainz]
|
||||
enabled=false
|
||||
user_token=
|
||||
|
||||
[Lyrics]
|
||||
providers=AudD, Genius, Lyrics.ovh, LoloLyrics, Musixmatch
|
||||
|
||||
[MainWindow]
|
||||
current_tab=1
|
||||
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\a\x7f\0\0\x4\x96\0\0\0\0\0\0\0\x14\0\0\x4j\0\0\x2\xc0\0\0\0\0\x2\0\0\0\a\x80\0\0\0\0\0\0\0\0\0\0\a\x7f\0\0\x4\x96)
|
||||
hidden=false
|
||||
maximized=true
|
||||
minimized=false
|
||||
search_for_cover_auto=true
|
||||
show_sidebar=true
|
||||
splitter_state=@ByteArray(\0\0\0\xff\0\0\0\x1\0\0\0\x2\0\0\x1p\0\0\x4W\0\xff\xff\xff\xff\x1\0\0\0\x1\0)
|
||||
tab_collection=1
|
||||
tab_context=0
|
||||
tab_devices=7
|
||||
tab_files=5
|
||||
tab_mode=1
|
||||
tab_playlists=3
|
||||
tab_queue=2
|
||||
tab_radios=6
|
||||
tab_smartplaylists=4
|
||||
|
||||
[Moodbar]
|
||||
enabled=false
|
||||
save=false
|
||||
show=false
|
||||
style=0
|
||||
|
||||
[NetworkProxy]
|
||||
engine=true
|
||||
hostname=
|
||||
mode=0
|
||||
password=
|
||||
port=0
|
||||
type=3
|
||||
use_authentication=false
|
||||
username=
|
||||
|
||||
[OSD]
|
||||
Behaviour=3
|
||||
CustomText1=%title%
|
||||
CustomText2=%artist% - %album%
|
||||
CustomTextEnabled=true
|
||||
ShowArt=true
|
||||
ShowOnPausePlayback=true
|
||||
ShowOnPlayModeChange=true
|
||||
ShowOnResumePlayback=false
|
||||
ShowOnVolumeChange=false
|
||||
Timeout=5000
|
||||
|
||||
[OSDPretty]
|
||||
background_color=4291434000
|
||||
background_opacity=0.8700000047683716
|
||||
disable_duration=false
|
||||
fading=true
|
||||
font="Bitstream Vera Sans,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1"
|
||||
foreground_color=4278190080
|
||||
popup_pos=@Point(1524 0)
|
||||
popup_screen=DP-1
|
||||
|
||||
[Player]
|
||||
playback_playlist=1
|
||||
playback_position=219
|
||||
playback_state=3
|
||||
volume=32
|
||||
|
||||
[Playlist]
|
||||
alternating_row_colors=true
|
||||
auto_sort=false
|
||||
column_alignments=@Variant(\0\0\0\x7f\0\0\0\x13\x43olumnAlignmentMap\0\0\0\0\v\0\0\0\x6\0\0\0\x82\0\0\0\a\0\0\0\x82\0\0\0\b\0\0\0\x82\0\0\0\t\0\0\0\x82\0\0\0\n\0\0\0\x82\0\0\0\f\0\0\0\x82\0\0\0\r\0\0\0\x82\0\0\0\xe\0\0\0\x82\0\0\0\x11\0\0\0\x82\0\0\0\x15\0\0\0\x82\0\0\0\x16\0\0\0\x82)
|
||||
continue_on_error=true
|
||||
delete_files=false
|
||||
editmetadatainline=false
|
||||
glow_effect=true
|
||||
greyout_songs_play=true
|
||||
greyout_songs_startup=true
|
||||
path_type=0
|
||||
playlist_clear=true
|
||||
rating_locked=false
|
||||
select_track=true
|
||||
show_bars=true
|
||||
show_toolbar=true
|
||||
state="@ByteArray(P,\x95\xf\x1\0\0\0\x1e\0\0\x2\x1\0\0\x1\xc2\0\0\x1R\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x41\0\0\0\0\0\0\0\x45\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x1e\0\0\0\b\0\0\0\0\0\0\0\x1\0\0\0\x2\0\0\0\x3\0\0\0\x4\0\0\0\x5\0\0\0\x6\0\0\0\a\0\0\0\t\0\0\0\n\0\0\0\v\0\0\0\f\0\0\0\r\0\0\0\xe\0\0\0\xf\0\0\0\x10\0\0\0\x11\0\0\0\x12\0\0\0\x13\0\0\0\x14\0\0\0\x15\0\0\0\x16\0\0\0\x17\0\0\0\x18\0\0\0\x19\0\0\0\x1a\0\0\0\x1b\0\0\0\x1c\0\0\0\x1d\0\0\0\x1e?\xd6\xe1\x8a|/\xea\x13?\xd4\xe\x98\x66\xb0\x6\xa6?\xce\x1e\x88\xae\xb2\x45\xd5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?\xa7S\xde\x3\xc1)j\0\0\0\0\0\0\0\0?\xa8\xb0\xe8*v9\x8a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\b)"
|
||||
state_version=1
|
||||
warn_close_playlist=true
|
||||
write_metadata=false
|
||||
|
||||
[PlaylistSequence]
|
||||
repeat_mode=0
|
||||
shuffle_mode=0
|
||||
|
||||
[Qobuz]
|
||||
albums_group_by1=1
|
||||
albums_group_by2=4
|
||||
albums_group_by3=0
|
||||
albums_group_by_version=1
|
||||
albums_separate_albums_by_grouping=false
|
||||
artists_group_by1=1
|
||||
artists_group_by2=4
|
||||
artists_group_by3=0
|
||||
artists_group_by_version=1
|
||||
artists_separate_albums_by_grouping=false
|
||||
search_group_by1=1
|
||||
search_group_by2=4
|
||||
search_group_by3=0
|
||||
search_group_by_version=1
|
||||
songs_group_by1=1
|
||||
songs_group_by2=4
|
||||
songs_group_by3=0
|
||||
songs_group_by_version=1
|
||||
songs_separate_albums_by_grouping=false
|
||||
tab=artists
|
||||
|
||||
[Scrobbler]
|
||||
albumartist=false
|
||||
enabled=false
|
||||
love_button=false
|
||||
offline=false
|
||||
scrobble_button=false
|
||||
show_error_dialog=true
|
||||
sources=collection, file, cd, device, subsonic, tidal, qobuz, stream, somafm, radioparadise, unknown
|
||||
submit=0
|
||||
|
||||
[SerializedSmartPlaylists]
|
||||
songs\1\data=@ByteArray(\0\0\0\0\x2\x11\0\0\0\x14\x2\0)
|
||||
songs\1\name=Newest tracks
|
||||
songs\1\type=1
|
||||
songs\10\data=@ByteArray(\0\0\0\0\0\x3\0\0\0\x14\x2\x1)
|
||||
songs\10\name=Dynamic random mix
|
||||
songs\10\type=1
|
||||
songs\2\data=@ByteArray(\0\0\0\0\0\x3\0\0\0\x32\x2\0)
|
||||
songs\2\name=50 random tracks
|
||||
songs\2\type=1
|
||||
songs\3\data=@ByteArray(\0\0\0\x1\x13\x4\0\0\0\x2\0\0\0\0\0\0\0\0\0\x1\0\0\x3\0\0\0\x14\0\0)
|
||||
songs\3\name=Ever played
|
||||
songs\3\type=1
|
||||
songs\4\data=@ByteArray(\0\0\0\x1\x13\x6\0\0\0\x2\0\0\0\0\0\0\0\0\0\x1\0\0\x3\0\0\0\x14\0\0)
|
||||
songs\4\name=Never played
|
||||
songs\4\type=1
|
||||
songs\5\data=@ByteArray(\0\0\0\0\x2\x15\0\0\0\x14\x2\0)
|
||||
songs\5\name=Last played
|
||||
songs\5\type=1
|
||||
songs\6\data=@ByteArray(\0\0\0\0\x2\x13\0\0\0\x14\x2\0)
|
||||
songs\6\name=Most played
|
||||
songs\6\type=1
|
||||
songs\7\data=@ByteArray(\0\0\0\0\x2\x16\0\0\0\x14\x2\0)
|
||||
songs\7\name=Favourite tracks
|
||||
songs\7\type=1
|
||||
songs\8\data=@ByteArray(\0\0\0\x2\x16\x5\0\0\0\x6\0?\xe0\0\0\0\0\0\0\0\0\0\0\x1\0\x14\x4\0\0\0\x2\0\0\0\0\x4\0\0\0\0\x1\0\x2\x14\0\0\0\x14\x1\0)
|
||||
songs\8\name=Least favourite tracks
|
||||
songs\8\type=1
|
||||
songs\9\data=@ByteArray(\0\0\0\0\x1\x1\xff\xff\xff\xff\x2\0)
|
||||
songs\9\name=All tracks
|
||||
songs\9\type=1
|
||||
songs\size=10
|
||||
songs_version=3
|
||||
|
||||
[SettingsDialog]
|
||||
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\x1\xb0\0\0\0\xd9\0\0\x5\xd2\0\0\x3\xda\0\0\x1\xb1\0\0\0\xda\0\0\x5\xd1\0\0\x3\xd9\0\0\0\0\0\0\0\0\a\x80\0\0\x1\xb1\0\0\0\xda\0\0\x5\xd1\0\0\x3\xd9)
|
||||
|
||||
[Subsonic]
|
||||
group_by1=1
|
||||
group_by2=4
|
||||
group_by3=0
|
||||
group_by_version=1
|
||||
separate_albums_by_grouping=false
|
||||
|
||||
[Tidal]
|
||||
albums_group_by1=1
|
||||
albums_group_by2=4
|
||||
albums_group_by3=0
|
||||
albums_group_by_version=1
|
||||
albums_separate_albums_by_grouping=false
|
||||
artists_group_by1=1
|
||||
artists_group_by2=4
|
||||
artists_group_by3=0
|
||||
artists_group_by_version=1
|
||||
artists_separate_albums_by_grouping=false
|
||||
search_group_by1=1
|
||||
search_group_by2=4
|
||||
search_group_by3=0
|
||||
search_group_by_version=1
|
||||
songs_group_by1=1
|
||||
songs_group_by2=4
|
||||
songs_group_by3=0
|
||||
songs_group_by_version=1
|
||||
songs_separate_albums_by_grouping=false
|
||||
tab=artists
|
2
roles/syncthing/meta/main.yml
Normal file
2
roles/syncthing/meta/main.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
dependencies:
|
||||
- role: common
|
|
@ -1,29 +1,31 @@
|
|||
- name: Install Syncthing
|
||||
become: true
|
||||
apt:
|
||||
state: latest
|
||||
update_cache: true
|
||||
cache_valid_time: 86400
|
||||
name: syncthing
|
||||
- name: Create Syncthing configuration directory
|
||||
file:
|
||||
path: ~/.config/syncthing
|
||||
state: directory
|
||||
- name: Copy Syncthing configuration
|
||||
copy:
|
||||
src: "{{ role_path }}/files/config.xml"
|
||||
template:
|
||||
src: "{{ role_path }}/templates/config.xml.j2"
|
||||
dest: ~/.config/syncthing/config.xml
|
||||
register: config
|
||||
- name: Copy Syncthing private key
|
||||
copy:
|
||||
src: "{{ role_path }}/files/key.pem"
|
||||
dest: ~/.config/syncthing/key.pem
|
||||
register: private_key
|
||||
- name: Copy Syncthing certificate
|
||||
copy:
|
||||
src: "{{ role_path }}/files/cert.pem"
|
||||
dest: ~/.config/syncthing/cert.pem
|
||||
register: certificate
|
||||
- name: Enable Syncthing
|
||||
become: true
|
||||
systemd:
|
||||
enabled: true
|
||||
name: "syncthing@{{ ansible_user_id }}"
|
||||
state: restarted
|
||||
state: "{{ state }}"
|
||||
vars:
|
||||
state: "{{ 'restarted' if config.changed or private_key.changed or certificate.changed else 'started' }}"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<configuration version="37">
|
||||
<folder id="6pgsm-opvsv" label="Sync" path="/home/pim/sync" type="sendreceive" rescanIntervalS="3600" fsWatcherEnabled="true" fsWatcherDelayS="10" ignorePerms="false" autoNormalize="true">
|
||||
<folder id="6pgsm-opvsv" label="Sync" path="/home/{{ ansible_user_id }}/sync" type="sendreceive" rescanIntervalS="3600" fsWatcherEnabled="true" fsWatcherDelayS="10" ignorePerms="false" autoNormalize="true">
|
||||
<filesystemType>basic</filesystemType>
|
||||
<device id="IGS4TYV-TQ6X2CG-OE3M2RE-DKZWKQZ-HEKIGHT-C6EIGHL-CBP2ULE-M3WZ7QC" introducedBy="">
|
||||
<encryptionPassword></encryptionPassword>
|
||||
|
@ -43,7 +43,7 @@
|
|||
<maxTotalSize>4096</maxTotalSize>
|
||||
</xattrFilter>
|
||||
</folder>
|
||||
<folder id="gfx9s-zaxrt" label="Music" path="/home/pim/Music" type="sendreceive" rescanIntervalS="3600" fsWatcherEnabled="true" fsWatcherDelayS="10" ignorePerms="false" autoNormalize="true">
|
||||
<folder id="gfx9s-zaxrt" label="Music" path="/home/{{ ansible_user_id }}/Music" type="sendreceive" rescanIntervalS="3600" fsWatcherEnabled="true" fsWatcherDelayS="10" ignorePerms="false" autoNormalize="true">
|
||||
<filesystemType>basic</filesystemType>
|
||||
<device id="IGS4TYV-TQ6X2CG-OE3M2RE-DKZWKQZ-HEKIGHT-C6EIGHL-CBP2ULE-M3WZ7QC" introducedBy="">
|
||||
<encryptionPassword></encryptionPassword>
|
||||
|
@ -109,7 +109,7 @@
|
|||
</device>
|
||||
<gui enabled="true" tls="false" debugging="false">
|
||||
<address>127.0.0.1:40465</address>
|
||||
<apikey></apikey>
|
||||
<apikey>{{ syncthing.apikey }}</apikey>
|
||||
<theme>default</theme>
|
||||
</gui>
|
||||
<ldap></ldap>
|
||||
|
@ -134,7 +134,7 @@
|
|||
<natTimeoutSeconds>10</natTimeoutSeconds>
|
||||
<urAccepted>3</urAccepted>
|
||||
<urSeen>3</urSeen>
|
||||
<urUniqueID></urUniqueID>
|
||||
<urUniqueID>{{ syncthing.usage_report_unique_id }}</urUniqueID>
|
||||
<urURL>https://data.syncthing.net/newdata</urURL>
|
||||
<urPostInsecurely>false</urPostInsecurely>
|
||||
<urInitialDelayS>1800</urInitialDelayS>
|
16
roles/syncthing/vars/main.yml
Normal file
16
roles/syncthing/vars/main.yml
Normal file
|
@ -0,0 +1,16 @@
|
|||
syncthing:
|
||||
apikey: !vault |
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
63616464333437376436333362353263396536633733656431363563626364346536376331646531
|
||||
3762666230663933633937303130356238343963323030320a643639353833616666316536326434
|
||||
65333136656530353062303434633830343765613937386134303463323730666332353439343762
|
||||
3230356330333565630a336239646134333364383165383662393735306566666662623237663164
|
||||
35633538303738366538666466626666633431363134633963313739623231363065653936383131
|
||||
6637636561393762323431303430353661396162393463646636
|
||||
usage_report_unique_id: !vault |
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
65636631303566326435306335663363393362613565326638666336353139376538343631663365
|
||||
6666643239396464326438353438323033343334363731340a376638633564626563373866353132
|
||||
30306363303664363233303533653232386264666432303537313630373636613061633237373930
|
||||
6434346565383833300a316334663965353066633234636564653366326436663163363733616439
|
||||
6666
|
|
@ -30,3 +30,7 @@ UpperCase=true
|
|||
|
||||
[SSHAgent]
|
||||
Enabled=true
|
||||
|
||||
[Security]
|
||||
ClearClipboardTimeout=30
|
||||
ClearSearch=false
|
2
roles/system/meta/main.yml
Normal file
2
roles/system/meta/main.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
dependencies:
|
||||
- role: common
|
|
@ -1,14 +1,6 @@
|
|||
- name: Update repositories
|
||||
become: true
|
||||
apt:
|
||||
upgrade: yes
|
||||
state: latest
|
||||
update_cache: yes
|
||||
cache_valid_time: 86400 # One day
|
||||
- name: Install APT packages
|
||||
become: true
|
||||
apt:
|
||||
state: latest
|
||||
pkg:
|
||||
- git
|
||||
- make
|
||||
|
@ -22,19 +14,24 @@
|
|||
- gimp
|
||||
- tree
|
||||
- wireshark
|
||||
- units
|
||||
- name: Install .gitconfig
|
||||
template:
|
||||
src: "{{ role_path }}/templates/.gitconfig.j2"
|
||||
dest: ~/.gitconfig
|
||||
- name: Install Regolith Xresources file
|
||||
template:
|
||||
src: "{{ role_path }}/templates/Xresources.j2"
|
||||
- name: Copy Xresources
|
||||
copy:
|
||||
src: "{{ role_path }}/files/Xresources"
|
||||
dest: ~/.config/regolith2/Xresources
|
||||
- name: Create keepassxc config directory
|
||||
file:
|
||||
path: ~/.config/keepassxc
|
||||
state: directory
|
||||
- name: Install keepassxc.ini
|
||||
template:
|
||||
src: "{{ role_path }}/templates/keepassxc.ini.j2"
|
||||
- name: Copy keepassxc.ini
|
||||
copy:
|
||||
src: "{{ role_path }}/files/keepassxc.ini"
|
||||
dest: ~/.config/keepassxc/keepassxc.ini
|
||||
- name: Create repos directory
|
||||
file:
|
||||
path: ~/repos
|
||||
state: directory
|
||||
|
|
2
roles/virtualbox/meta/main.yml
Normal file
2
roles/virtualbox/meta/main.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
dependencies:
|
||||
- role: common
|
|
@ -7,11 +7,13 @@
|
|||
become: true
|
||||
apt_repository:
|
||||
repo: "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/oracle_vbox_2016.asc] https://download.virtualbox.org/virtualbox/debian {{ ansible_distribution_release }} contrib"
|
||||
state: present
|
||||
register: apt_repository
|
||||
- name: Update APT cache
|
||||
become: true
|
||||
apt:
|
||||
update_cache: true
|
||||
when: apt_repository.changed
|
||||
- name: Install VirtualBox
|
||||
become: true
|
||||
apt:
|
||||
state: latest
|
||||
update_cache: yes
|
||||
cache_valid_time: 86400 # One day
|
||||
name: virtualbox-6.1
|
||||
|
|
2
roles/vscodium/meta/main.yml
Normal file
2
roles/vscodium/meta/main.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
dependencies:
|
||||
- role: common
|
|
@ -7,13 +7,15 @@
|
|||
become: true
|
||||
apt_repository:
|
||||
repo: "deb [signed-by=/etc/apt/trusted.gpg.d/vscodium-archive-keyring.asc ] https://download.vscodium.com/debs vscodium main"
|
||||
state: present
|
||||
register: apt_repository
|
||||
- name: Update APT cache
|
||||
become: true
|
||||
apt:
|
||||
update_cache: true
|
||||
when: apt_repository.changed
|
||||
- name: Install VSCodium
|
||||
become: true
|
||||
apt:
|
||||
state: latest
|
||||
update_cache: yes
|
||||
cache_valid_time: 86400 # One day
|
||||
name: codium
|
||||
- name: Check VSCodium extensions
|
||||
setup:
|
||||
|
|
|
@ -1,40 +1,13 @@
|
|||
# Set up the prompt
|
||||
export ZSH=$HOME/.oh-my-zsh
|
||||
|
||||
autoload -Uz promptinit
|
||||
promptinit
|
||||
prompt adam1
|
||||
plugins=(git asdf colored-man-pages colorize command-not-found copyfile copypath docker extract docker-compose fancy-ctrl-z fzf ripgrep)
|
||||
|
||||
setopt histignorealldups sharehistory
|
||||
export ZSH_THEME="strug"
|
||||
export ZSH_COLORIZE_TOOL=pygmentize
|
||||
export FZF_BASE=~/repos/fzf
|
||||
export FZF_DEFAULT_COMMAND='ag'
|
||||
|
||||
# Use emacs keybindings even if our EDITOR is set to vi
|
||||
bindkey -e
|
||||
|
||||
# Keep 1000 lines of history within the shell and save it to ~/.zsh_history:
|
||||
HISTSIZE=1000
|
||||
SAVEHIST=1000
|
||||
HISTFILE=~/.zsh_history
|
||||
|
||||
# Use modern completion system
|
||||
autoload -Uz compinit
|
||||
compinit
|
||||
|
||||
zstyle ':completion:*' auto-description 'specify: %d'
|
||||
zstyle ':completion:*' completer _expand _complete _correct _approximate
|
||||
zstyle ':completion:*' format 'Completing %d'
|
||||
zstyle ':completion:*' group-name ''
|
||||
zstyle ':completion:*' menu select=2
|
||||
eval "$(dircolors -b)"
|
||||
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
|
||||
zstyle ':completion:*' list-colors ''
|
||||
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
|
||||
zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=* l:|=*'
|
||||
zstyle ':completion:*' menu select=long
|
||||
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
|
||||
zstyle ':completion:*' use-compctl false
|
||||
zstyle ':completion:*' verbose true
|
||||
|
||||
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
|
||||
zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'
|
||||
source $ZSH/oh-my-zsh.sh
|
||||
|
||||
# Git aliases
|
||||
alias gp='git push'
|
||||
|
@ -47,10 +20,10 @@ alias gb='git branch'
|
|||
alias ga='git add'
|
||||
alias gl='git log'
|
||||
|
||||
# asdf
|
||||
. $HOME/.asdf/asdf.sh
|
||||
|
||||
# For neovim
|
||||
PATH=$PATH:/usr/local
|
||||
alias vi='nvim'
|
||||
alias vim='nvim'
|
||||
|
||||
zstyle ':completion:*:*:docker:*' option-stacking yes
|
||||
zstyle ':completion:*:*:docker-*:*' option-stacking yes
|
||||
|
|
2
roles/zsh/meta/main.yml
Normal file
2
roles/zsh/meta/main.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
dependencies:
|
||||
- role: common
|
|
@ -1,10 +1,20 @@
|
|||
- name: Install zsh
|
||||
- name: Install apt packages
|
||||
become: true
|
||||
apt:
|
||||
state: latest
|
||||
update_cache: yes
|
||||
cache_valid_time: 86400 # One day
|
||||
name: zsh
|
||||
pkg:
|
||||
- zsh
|
||||
- fzf
|
||||
- silversearcher-ag
|
||||
- xclip
|
||||
- name: Install pygments
|
||||
pip:
|
||||
name:
|
||||
- pygments
|
||||
- name: Clone oh-my-zsh
|
||||
git:
|
||||
repo: https://github.com/ohmyzsh/ohmyzsh.git
|
||||
depth: 1
|
||||
dest: ~/.oh-my-zsh
|
||||
- name: Set default shell to zsh
|
||||
become: true
|
||||
user:
|
||||
|
|
Reference in a new issue