Compare commits
36 Commits
pixelbook
...
574a2d0ce7
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
574a2d0ce7 | ||
|
|
1024f37691 | ||
|
|
724a8ca394 | ||
|
|
6b3bdab18b | ||
|
|
4d620a33b7 | ||
|
|
e3e78b3eb5 | ||
|
|
3706eda8f3 | ||
|
|
6fc16362ba | ||
|
|
a04b52ec72 | ||
|
|
460a614cf7 | ||
|
|
3e0de0e87a | ||
|
|
80a3f2291c | ||
|
|
6e13ac355a | ||
|
|
60e440b0c6 | ||
|
|
06fc236f0a | ||
|
|
1cad73e68f | ||
|
|
a1ab3327ee | ||
|
|
86ecfd1c54 | ||
|
|
cd58cbb520 | ||
|
|
7dc1a22e6b | ||
|
|
b3ee528c18 | ||
|
|
9ac2605912 | ||
|
|
c87ac216a9 | ||
|
|
94b379c717 | ||
|
|
661b8534a8 | ||
|
|
f42d4c469b | ||
|
|
ebde072f2c | ||
|
|
a7fe6ff42d | ||
|
|
9d54609a12 | ||
|
|
0146c631ae | ||
|
|
86a89be678 | ||
|
|
644b0f2e00 | ||
|
|
4b62c9b4de | ||
|
|
0732a82171 | ||
|
|
e80cdcabdb | ||
|
|
05e06d1615 |
@@ -18,6 +18,7 @@ hwpstate: false
|
|||||||
build_user:
|
build_user:
|
||||||
name: talexander
|
name: talexander
|
||||||
group: talexander
|
group: talexander
|
||||||
|
devfs_rules: "homeserver_devfs.rules"
|
||||||
jail_zfs_dataset: zmass/encrypted/jails
|
jail_zfs_dataset: zmass/encrypted/jails
|
||||||
jail_zfs_dataset_mountpoint: /jail/main
|
jail_zfs_dataset_mountpoint: /jail/main
|
||||||
jail_canmount: "on"
|
jail_canmount: "on"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
os_flavor: "freebsd"
|
os_flavor: "freebsd"
|
||||||
custom_repo: 13amd64-default-framework
|
#custom_repo: 13amd64-default-framework
|
||||||
zfs_snapshot_datasets:
|
zfs_snapshot_datasets:
|
||||||
- path: zroot/freebsd/release/be/default
|
- path: zroot/freebsd/current/be/default
|
||||||
sshd_enabled: true
|
sshd_enabled: true
|
||||||
sshd_conf: "sshd_config"
|
sshd_conf: "sshd_config"
|
||||||
pf_config: "odofreebsd_pf.conf"
|
pf_config: "odofreebsd_pf.conf"
|
||||||
@@ -12,11 +12,11 @@ network_rc: "odofreebsd_network.conf"
|
|||||||
rc_conf: "odofreebsd_rc.conf"
|
rc_conf: "odofreebsd_rc.conf"
|
||||||
loader_conf: "odofreebsd_loader.conf"
|
loader_conf: "odofreebsd_loader.conf"
|
||||||
install_graphics: true
|
install_graphics: true
|
||||||
graphics_driver: "intel"
|
graphics_driver: "amd"
|
||||||
cputype: "intel"
|
cputype: "amd"
|
||||||
cpu_opt: tigerlake
|
cpu_opt: znver4
|
||||||
hwpstate: true
|
hwpstate: true
|
||||||
cores: 8
|
cores: 16
|
||||||
build_user:
|
build_user:
|
||||||
name: talexander
|
name: talexander
|
||||||
group: talexander
|
group: talexander
|
||||||
@@ -38,14 +38,14 @@ users:
|
|||||||
- homeassistant
|
- homeassistant
|
||||||
gitconfig: "gitconfig_home"
|
gitconfig: "gitconfig_home"
|
||||||
devfs_rules: "odo_devfs.rules"
|
devfs_rules: "odo_devfs.rules"
|
||||||
jail_zfs_dataset: zroot/freebsd/release/jails
|
jail_zfs_dataset: zroot/freebsd/current/jails
|
||||||
jail_zfs_dataset_mountpoint: /jail/main
|
jail_zfs_dataset_mountpoint: /jail/main
|
||||||
jail_list:
|
jail_list:
|
||||||
- name: nat_dhcp
|
- name: nat_dhcp
|
||||||
enabled: true
|
enabled: true
|
||||||
conf:
|
conf:
|
||||||
src: nat_dhcp
|
src: nat_dhcp
|
||||||
bhyve_dataset: zroot/freebsd/release/vm
|
bhyve_dataset: zroot/freebsd/current/vm
|
||||||
bhyve_list: []
|
bhyve_list: []
|
||||||
efi_dev: /dev/gpt/EFI
|
efi_dev: /dev/gpt/EFI
|
||||||
sway_conf_files:
|
sway_conf_files:
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ zfs_snapshot_datasets:
|
|||||||
- path: zroot/linux/archmain/be
|
- path: zroot/linux/archmain/be
|
||||||
- path: zroot/data/bridge/family_disks
|
- path: zroot/data/bridge/family_disks
|
||||||
install_graphics: true
|
install_graphics: true
|
||||||
graphics_driver: "intel"
|
graphics_driver: "amd"
|
||||||
build_user:
|
build_user:
|
||||||
name: talexander
|
name: talexander
|
||||||
group: talexander
|
group: talexander
|
||||||
@@ -30,10 +30,9 @@ enabled_wireguard:
|
|||||||
- wgh
|
- wgh
|
||||||
- drmario
|
- drmario
|
||||||
- colo
|
- colo
|
||||||
cputype: "intel"
|
cputype: "amd"
|
||||||
hwpstate: true
|
hwpstate: true
|
||||||
cores: 8
|
cores: 16
|
||||||
sway_conf_files:
|
sway_conf_files:
|
||||||
- rofimoji
|
- rofimoji
|
||||||
docker_storage_driver: overlay2 # alternatively zfs
|
docker_storage_driver: overlay2 # alternatively zfs
|
||||||
docker_zfs_dataset: zroot/linux/archmain/docker
|
|
||||||
|
|||||||
36
ansible/environments/laptop/host_vars/odowork
Normal file
36
ansible/environments/laptop/host_vars/odowork
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
os_flavor: "linux"
|
||||||
|
hostname: odowork
|
||||||
|
etc_hosts: {}
|
||||||
|
users:
|
||||||
|
talexander:
|
||||||
|
initialize: true
|
||||||
|
uid: 11235
|
||||||
|
gid: 1000
|
||||||
|
groups:
|
||||||
|
- name: wheel
|
||||||
|
- name: users
|
||||||
|
- name: docker
|
||||||
|
- name: libvirt
|
||||||
|
- name: uucp
|
||||||
|
authorized_keys:
|
||||||
|
- yubikey
|
||||||
|
- main_fido
|
||||||
|
- backup_fido
|
||||||
|
gitconfig: "gitconfig_work"
|
||||||
|
zfs_snapshot_datasets:
|
||||||
|
- path: zroot/linux/archwork/be
|
||||||
|
install_graphics: true
|
||||||
|
graphics_driver: "amd"
|
||||||
|
pgp_key: "gpg_work.asc"
|
||||||
|
build_user:
|
||||||
|
name: talexander
|
||||||
|
group: talexander
|
||||||
|
# wireguard_directory: odowork
|
||||||
|
# enabled_wireguard: []
|
||||||
|
cputype: "amd"
|
||||||
|
hwpstate: true
|
||||||
|
cores: 16
|
||||||
|
sway_conf_files:
|
||||||
|
- rofimoji
|
||||||
|
docker_storage_driver: overlay2 # alternatively zfs
|
||||||
|
closed_source_vscode: true
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
[gui]
|
[gui]
|
||||||
odolinux ansible_connection=local ansible_host=127.0.0.1
|
odolinux ansible_connection=local ansible_host=127.0.0.1
|
||||||
odofreebsd ansible_connection=local ansible_host=127.0.0.1
|
odofreebsd ansible_connection=local ansible_host=127.0.0.1
|
||||||
|
odowork ansible_connection=local ansible_host=127.0.0.1
|
||||||
|
|||||||
@@ -45,6 +45,7 @@
|
|||||||
- poudriere
|
- poudriere
|
||||||
- android
|
- android
|
||||||
- latex
|
- latex
|
||||||
|
- python
|
||||||
- pyenv
|
- pyenv
|
||||||
- webcam
|
- webcam
|
||||||
- docker
|
- docker
|
||||||
@@ -52,6 +53,8 @@
|
|||||||
- javascript
|
- javascript
|
||||||
- launch_keyboard
|
- launch_keyboard
|
||||||
- lvfs
|
- lvfs
|
||||||
|
- restaurant_health_rating
|
||||||
|
- wasm
|
||||||
|
|
||||||
- hosts: nat_dhcp:homeserver_nat_dhcp:mrmanager_nat_dhcp
|
- hosts: nat_dhcp:homeserver_nat_dhcp:mrmanager_nat_dhcp
|
||||||
vars:
|
vars:
|
||||||
@@ -114,7 +117,7 @@
|
|||||||
- users
|
- users
|
||||||
- public_dns
|
- public_dns
|
||||||
|
|
||||||
- hosts: odolinux:odofreebsd
|
- hosts: odolinux:odofreebsd:odowork
|
||||||
vars:
|
vars:
|
||||||
ansible_become: True
|
ansible_become: True
|
||||||
roles:
|
roles:
|
||||||
@@ -135,3 +138,15 @@
|
|||||||
- fstab
|
- fstab
|
||||||
- build
|
- build
|
||||||
- freebsd_update_server
|
- freebsd_update_server
|
||||||
|
|
||||||
|
- hosts: homeserver
|
||||||
|
vars:
|
||||||
|
ansible_become: True
|
||||||
|
roles:
|
||||||
|
- homeserver
|
||||||
|
|
||||||
|
- hosts: odowork
|
||||||
|
vars:
|
||||||
|
ansible_become: True
|
||||||
|
roles:
|
||||||
|
- odowork
|
||||||
|
|||||||
44
ansible/roles/alacritty/files/alacritty.toml
Normal file
44
ansible/roles/alacritty/files/alacritty.toml
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
[colors]
|
||||||
|
draw_bold_text_with_bright_colors = true
|
||||||
|
indexed_colors = []
|
||||||
|
|
||||||
|
[colors.bright]
|
||||||
|
black = "0x666666"
|
||||||
|
blue = "0x7aa6da"
|
||||||
|
cyan = "0x54ced6"
|
||||||
|
green = "0x9ec400"
|
||||||
|
magenta = "0xb77ee0"
|
||||||
|
red = "0xff3334"
|
||||||
|
white = "0xffffff"
|
||||||
|
yellow = "0xe7c547"
|
||||||
|
|
||||||
|
[colors.normal]
|
||||||
|
black = "0x000000"
|
||||||
|
blue = "0x7aa6da"
|
||||||
|
cyan = "0x70c0ba"
|
||||||
|
green = "0xb9ca4a"
|
||||||
|
magenta = "0xc397d8"
|
||||||
|
red = "0xd54e53"
|
||||||
|
white = "0xeaeaea"
|
||||||
|
yellow = "0xe6c547"
|
||||||
|
|
||||||
|
[colors.primary]
|
||||||
|
background = "0x000000"
|
||||||
|
foreground = "0xeaeaea"
|
||||||
|
|
||||||
|
[font]
|
||||||
|
size = 11.0
|
||||||
|
|
||||||
|
[[hints.enabled]]
|
||||||
|
command = "xdg-open"
|
||||||
|
post_processing = true
|
||||||
|
regex = "(ipfs:|ipns:|magnet:|mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)[^\u0000-\u001F\u007F-<>\"\\s{-}\\^⟨⟩`]+"
|
||||||
|
|
||||||
|
[hints.enabled.mouse]
|
||||||
|
enabled = false
|
||||||
|
mods = "None"
|
||||||
|
|
||||||
|
[scrolling]
|
||||||
|
history = 10000
|
||||||
|
# Lines moved per scroll.
|
||||||
|
multiplier = 3
|
||||||
@@ -1,103 +0,0 @@
|
|||||||
# If `true`, bold text is drawn using the bright color variants.
|
|
||||||
draw_bold_text_with_bright_colors: true
|
|
||||||
|
|
||||||
colors:
|
|
||||||
# Default colors
|
|
||||||
primary:
|
|
||||||
background: "0x000000"
|
|
||||||
foreground: "0xeaeaea"
|
|
||||||
|
|
||||||
# Bright and dim foreground colors
|
|
||||||
#
|
|
||||||
# The dimmed foreground color is calculated automatically if it is not present.
|
|
||||||
# If the bright foreground color is not set, or `draw_bold_text_with_bright_colors`
|
|
||||||
# is `false`, the normal foreground color will be used.
|
|
||||||
#dim_foreground: '0x9a9a9a'
|
|
||||||
#bright_foreground: '0xffffff'
|
|
||||||
|
|
||||||
# Cursor colors
|
|
||||||
#
|
|
||||||
# Colors which should be used to draw the terminal cursor. If these are unset,
|
|
||||||
# the cursor color will be the inverse of the cell color.
|
|
||||||
#cursor:
|
|
||||||
# text: '0x000000'
|
|
||||||
# cursor: '0xffffff'
|
|
||||||
|
|
||||||
# Selection colors
|
|
||||||
#
|
|
||||||
# Colors which should be used to draw the selection area. If selection
|
|
||||||
# background is unset, selection color will be the inverse of the cell colors.
|
|
||||||
# If only text is unset the cell text color will remain the same.
|
|
||||||
#selection:
|
|
||||||
# text: '0xeaeaea'
|
|
||||||
# background: '0x404040'
|
|
||||||
|
|
||||||
# Normal colors
|
|
||||||
normal:
|
|
||||||
black: "0x000000"
|
|
||||||
red: "0xd54e53"
|
|
||||||
green: "0xb9ca4a"
|
|
||||||
yellow: "0xe6c547"
|
|
||||||
blue: "0x7aa6da"
|
|
||||||
magenta: "0xc397d8"
|
|
||||||
cyan: "0x70c0ba"
|
|
||||||
white: "0xeaeaea"
|
|
||||||
|
|
||||||
# Bright colors
|
|
||||||
bright:
|
|
||||||
black: "0x666666"
|
|
||||||
red: "0xff3334"
|
|
||||||
green: "0x9ec400"
|
|
||||||
yellow: "0xe7c547"
|
|
||||||
blue: "0x7aa6da"
|
|
||||||
magenta: "0xb77ee0"
|
|
||||||
cyan: "0x54ced6"
|
|
||||||
white: "0xffffff"
|
|
||||||
|
|
||||||
# Dim colors
|
|
||||||
#
|
|
||||||
# If the dim colors are not set, they will be calculated automatically based
|
|
||||||
# on the `normal` colors.
|
|
||||||
#dim:
|
|
||||||
# black: '0x000000'
|
|
||||||
# red: '0x8c3336'
|
|
||||||
# green: '0x7a8530'
|
|
||||||
# yellow: '0x97822e'
|
|
||||||
# blue: '0x506d8f'
|
|
||||||
# magenta: '0x80638e'
|
|
||||||
# cyan: '0x497e7a'
|
|
||||||
# white: '0x9a9a9a'
|
|
||||||
|
|
||||||
# Indexed Colors
|
|
||||||
#
|
|
||||||
# The indexed colors include all colors from 16 to 256.
|
|
||||||
# When these are not set, they're filled with sensible defaults.
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# `- { index: 16, color: '0xff00ff' }`
|
|
||||||
#
|
|
||||||
indexed_colors: []
|
|
||||||
|
|
||||||
scrolling:
|
|
||||||
# Maximum number of lines in the scrollback buffer.
|
|
||||||
# Specifying '0' will disable scrolling.
|
|
||||||
history: 10000
|
|
||||||
|
|
||||||
# Number of lines the viewport will move for every line scrolled when
|
|
||||||
# scrollback is enabled (history > 0).
|
|
||||||
multiplier: 3
|
|
||||||
|
|
||||||
font:
|
|
||||||
size: 11.0
|
|
||||||
|
|
||||||
hints:
|
|
||||||
enabled:
|
|
||||||
# Disable opening links when clicked
|
|
||||||
- regex:
|
|
||||||
"(ipfs:|ipns:|magnet:|mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)\
|
|
||||||
[^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+"
|
|
||||||
command: xdg-open
|
|
||||||
post_processing: true
|
|
||||||
mouse:
|
|
||||||
enabled: false
|
|
||||||
mods: None
|
|
||||||
@@ -19,8 +19,8 @@
|
|||||||
owner: "{{ account_name.stdout }}"
|
owner: "{{ account_name.stdout }}"
|
||||||
group: "{{ group_name.stdout }}"
|
group: "{{ group_name.stdout }}"
|
||||||
loop:
|
loop:
|
||||||
- src: alacritty.yml
|
- src: alacritty.toml
|
||||||
dest: .config/alacritty/alacritty.yml
|
dest: .config/alacritty/alacritty.toml
|
||||||
|
|
||||||
- import_tasks: tasks/peruser_freebsd.yaml
|
- import_tasks: tasks/peruser_freebsd.yaml
|
||||||
when: 'os_flavor == "freebsd"'
|
when: 'os_flavor == "freebsd"'
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
# $FreeBSD$
|
|
||||||
#
|
#
|
||||||
# Automounter master map, see auto_master(5) for details.
|
# Automounter master map, see auto_master(5) for details.
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -18,3 +18,18 @@
|
|||||||
date = local
|
date = local
|
||||||
[init]
|
[init]
|
||||||
defaultBranch = main
|
defaultBranch = main
|
||||||
|
|
||||||
|
# Use meld for `git difftool` and `git mergetool`
|
||||||
|
[diff]
|
||||||
|
tool = meld
|
||||||
|
[difftool]
|
||||||
|
prompt = false
|
||||||
|
[difftool "meld"]
|
||||||
|
cmd = meld "$LOCAL" "$REMOTE"
|
||||||
|
[merge]
|
||||||
|
tool = meld
|
||||||
|
[mergetool "meld"]
|
||||||
|
# Make the middle pane start with partially-merged contents:
|
||||||
|
cmd = meld "$LOCAL" "$MERGED" "$REMOTE" --output "$MERGED"
|
||||||
|
# Make the middle pane start without any merge progress:
|
||||||
|
# cmd = meld "$LOCAL" "$BASE" "$REMOTE" --output "$MERGED"
|
||||||
|
|||||||
35
ansible/roles/base/files/gitconfig_work
Normal file
35
ansible/roles/base/files/gitconfig_work
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
[user]
|
||||||
|
email = ThomasA.Alexander@hmhn.org
|
||||||
|
name = Tom Alexander
|
||||||
|
signingkey = D3A179C9A53C0EDE
|
||||||
|
[push]
|
||||||
|
default = simple
|
||||||
|
[alias]
|
||||||
|
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
|
||||||
|
bh = log --oneline --branches=* --remotes=* --graph --decorate
|
||||||
|
amend = commit --amend --no-edit
|
||||||
|
[core]
|
||||||
|
excludesfile = ~/.gitignore_global
|
||||||
|
[commit]
|
||||||
|
gpgsign = true
|
||||||
|
[pull]
|
||||||
|
rebase = true
|
||||||
|
[log]
|
||||||
|
date = local
|
||||||
|
[init]
|
||||||
|
defaultBranch = main
|
||||||
|
|
||||||
|
# Use meld for `git difftool` and `git mergetool`
|
||||||
|
[diff]
|
||||||
|
tool = meld
|
||||||
|
[difftool]
|
||||||
|
prompt = false
|
||||||
|
[difftool "meld"]
|
||||||
|
cmd = meld "$LOCAL" "$REMOTE"
|
||||||
|
[merge]
|
||||||
|
tool = meld
|
||||||
|
[mergetool "meld"]
|
||||||
|
# Make the middle pane start with partially-merged contents:
|
||||||
|
cmd = meld "$LOCAL" "$MERGED" "$REMOTE" --output "$MERGED"
|
||||||
|
# Make the middle pane start without any merge progress:
|
||||||
|
# cmd = meld "$LOCAL" "$BASE" "$REMOTE" --output "$MERGED"
|
||||||
@@ -7,7 +7,6 @@
|
|||||||
# This file controls resource limits, accounting limits and
|
# This file controls resource limits, accounting limits and
|
||||||
# default user environment settings.
|
# default user environment settings.
|
||||||
#
|
#
|
||||||
# $FreeBSD$
|
|
||||||
#
|
#
|
||||||
|
|
||||||
# Default settings effectively disable resource limits, see the
|
# Default settings effectively disable resource limits, see the
|
||||||
|
|||||||
@@ -2,7 +2,12 @@ clear_tmp_enable="YES"
|
|||||||
syslogd_flags="-ss"
|
syslogd_flags="-ss"
|
||||||
sendmail_enable="NONE"
|
sendmail_enable="NONE"
|
||||||
hostname="odo"
|
hostname="odo"
|
||||||
|
# wlans_iwlwifi0="wlan0"
|
||||||
|
# ifconfig_wlan0="WPA DHCP"
|
||||||
|
# ifconfig_wlan0_ipv6="inet6 accept_rtadv"
|
||||||
sshd_enable="YES"
|
sshd_enable="YES"
|
||||||
|
ntpd_enable="YES"
|
||||||
|
powerd_enable="YES"
|
||||||
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
|
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
|
||||||
dumpdev="NO"
|
dumpdev="NO"
|
||||||
zfs_enable="YES"
|
zfs_enable="YES"
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
- colordiff
|
- colordiff
|
||||||
- ipcalc
|
- ipcalc
|
||||||
- kdiff3
|
- kdiff3
|
||||||
|
- meld
|
||||||
- tcpdump
|
- tcpdump
|
||||||
- moreutils # for ts [%Y-%m-%d %H:%M:%.S]
|
- moreutils # for ts [%Y-%m-%d %H:%M:%.S]
|
||||||
- ddrescue
|
- ddrescue
|
||||||
|
|||||||
@@ -74,13 +74,6 @@ function main {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function die {
|
|
||||||
local status_code="$1"
|
|
||||||
shift
|
|
||||||
(>&2 echo "${@}")
|
|
||||||
exit "$status_code"
|
|
||||||
}
|
|
||||||
|
|
||||||
function create_disk {
|
function create_disk {
|
||||||
local zfs_path="$1"
|
local zfs_path="$1"
|
||||||
local mount_path="$2"
|
local mount_path="$2"
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
# freebsd_version: "releng/13.2"
|
# freebsd_version: "releng/13.2"
|
||||||
freebsd_version: "9c80d66ec1b4c5b9ac7aaf5b0fdbb1628d49c181"
|
freebsd_version: "c3d7bb5aca7749626b5c70dfa86ee8f07960f44a"
|
||||||
|
|||||||
12
ansible/roles/build/files/aurutils-nuke
Executable file
12
ansible/roles/build/files/aurutils-nuke
Executable file
@@ -0,0 +1,12 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# If something is very wrong in pacman, this removes the keyring and the entire custom repo, then sets up pacman's keyring again. Running the ansible playbook is necessary to get the custom repo added.
|
||||||
|
set -euo pipefail
|
||||||
|
IFS=$'\n\t'
|
||||||
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
|
||||||
|
doas rm -rf /var/cache/pacman/custom/ /etc/pacman.d/conf.d/aurutils.conf
|
||||||
|
doas rm -rf /etc/pacman.d/gnupg
|
||||||
|
doas pacman-key --init
|
||||||
|
doas pacman-key --populate archlinux
|
||||||
|
doas pacman -S archlinux-keyring
|
||||||
@@ -1,34 +1,27 @@
|
|||||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
mDMEXZwWGhYJKwYBBAHaRw8BAQdAfv7qozKkmf4D+5PDzADsMm4aAKDGLha7+Cu0
|
mDMEXZwWGhYJKwYBBAHaRw8BAQdAfv7qozKkmf4D+5PDzADsMm4aAKDGLha7+Cu0
|
||||||
0H+RsWG0HVRvbSBBbGV4YW5kZXIgPHRvbUBmaXp6LmJ1eno+iJAEExYIADgWIQS4
|
0H+RsWG0HlRvbSBBbGV4YW5kZXIgPHdvcmtAZml6ei5idXp6PoiQBBMWCAA4FiEE
|
||||||
SBWTY8KHeReVS+En3kDZuEVcGwUCXZwWGgIbAwULCQgHAgYVCAkKCwIEFgIDAQIe
|
uEgVk2PCh3kXlUvhJ95A2bhFXBsFAl+w+R0CGwMFCwkIBwIGFQoJCAsCBBYCAwEC
|
||||||
AQIXgAAKCRAn3kDZuEVcG9glAQDX3Bzaz9sQpycc40LeLxSKQsWplfJigfr8wWOg
|
HgECF4AACgkQJ95A2bhFXBt6fgD+NOYnw9gz5K/q3H5LE/JvqzCSHezJmeGgif0C
|
||||||
C15TywEAqkTtCrTNsltdZERLMre7qnv/6RSo54OW0C4pdN7UUAa0HlRvbSBBbGV4
|
uU4m1/MA+gPDKME7syEtJsTpELEMrxWWpDW0tD/W1iJE7roGYPQPtB1Ub20gQWxl
|
||||||
YW5kZXIgPHdvcmtAZml6ei5idXp6PoiQBBMWCAA4FiEEuEgVk2PCh3kXlUvhJ95A
|
eGFuZGVyIDx0b21AZml6ei5idXp6PoiQBBMWCAA4FiEEuEgVk2PCh3kXlUvhJ95A
|
||||||
2bhFXBsFAl+w+R0CGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQJ95A2bhF
|
2bhFXBsFAl2cFhoCGwMFCwkIBwIGFQgJCgsCBBYCAwECHgECF4AACgkQJ95A2bhF
|
||||||
XBt6fgD+NOYnw9gz5K/q3H5LE/JvqzCSHezJmeGgif0CuU4m1/MA+gPDKME7syEt
|
XBvYJQEA19wc2s/bEKcnHONC3i8UikLFqZXyYoH6/MFjoAteU8sBAKpE7Qq0zbJb
|
||||||
JsTpELEMrxWWpDW0tD/W1iJE7roGYPQPtB9Ub20gQWxleGFuZGVyIDx0b21AaGFy
|
XWRESzK3u6p7/+kUqOeDltAuKXTe1FAGuDMEXZwWyhYJKwYBBAHaRw8BAQdAPyIL
|
||||||
bW9uaWMuYWk+iJAEExYIADgWIQS4SBWTY8KHeReVS+En3kDZuEVcGwUCX7D5RAIb
|
4EGg4T5JO9q2kpVDy2WjMiXz3nZXwYW4GLoTYkiI9QQYFggAJgIbAhYhBLhIFZNj
|
||||||
AwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRAn3kDZuEVcGzjDAP9pM1ScstOk
|
wod5F5VL4SfeQNm4RVwbBQJlC4ZhBQkLMdaXAIF2IAQZFggAHRYhBIHmRDmWdVAu
|
||||||
ti+oRAsNSk8qsjIsCT9O5voDS0Q7plWlcwD/btKVFO9tPLsXhyvdB+NSwueVs7TA
|
sSUWutOhecmlPA7eBQJdnBbKAAoJENOhecmlPA7ejJ4A/iq7N2mMhx+ovOXm1REo
|
||||||
kRVjlW3hktpefg24OARdnBYaEgorBgEEAZdVAQUBAQdArbTYQgDBMG7EBFTKA6+f
|
ASPF3l4YAAjOHsXqcPtFHKGJAQCiuA71d6CQ+qNZLuka/KVB/etkkJvDzvaTtiQQ
|
||||||
4CWgwl26Lf2b6cyCGfUw2j4DAQgHiHgEGBYIACAWIQS4SBWTY8KHeReVS+En3kDZ
|
QG+gAwkQJ95A2bhFXBtRDgEAqymMavroD5c/4+M/EZ3/d8wxfA9E3Fb/1mt4c2Zr
|
||||||
uEVcGwUCXZwWGgIbDAAKCRAn3kDZuEVcG03MAQCrkjrE+MhtvbfGaHGHlwz9QnF0
|
NnkBAKYOM+pz/pncFnV+kF7h7TQEEYuGw1JhJVT/duA4lwsLuDMEXZwXARYJKwYB
|
||||||
Z519YzK8Xr8m0O+09QEA9BFCfkAzBM4D4JKeWJh/tmN9U6UexzLrRdY+W9cugAm4
|
BAHaRw8BAQdAa76TmWuKuiR1bnNV1FUE6oQ4C8A+UiQb8x0k1z2DmTKIfgQYFggA
|
||||||
MwRdnBbKFgkrBgEEAdpHDwEBB0A/IgvgQaDhPkk72raSlUPLZaMyJfPedlfBhbgY
|
JgIbIBYhBLhIFZNjwod5F5VL4SfeQNm4RVwbBQJlC4ZwBQkLMdZgAAoJECfeQNm4
|
||||||
uhNiSIj1BBgWCAAmAhsCFiEEuEgVk2PCh3kXlUvhJ95A2bhFXBsFAl+w+hYFCQe4
|
RVwb8TkA/RkBu9Ev8iDE5nvn8YF8FRiY56Z5d+SBPG4VvrCzXrmlAP46wUjIRpkM
|
||||||
fcwAgXYgBBkWCAAdFiEEgeZEOZZ1UC6xJRa606F5yaU8Dt4FAl2cFsoACgkQ06F5
|
rTbb1GMbvYnkeOrBs/qiWjEtHHc3ZLMWD7g4BF2cFygSCisGAQQBl1UBBQEBB0AO
|
||||||
yaU8Dt6MngD+Krs3aYyHH6i85ebVESgBI8XeXhgACM4exepw+0UcoYkBAKK4DvV3
|
0t3BUxLuokTqKVcheFAZd4UKxAGznPQlvsVyhWWIEgMBCAeIfgQYFggAJgIbDBYh
|
||||||
oJD6o1ku6Rr8pUH962SQm8PO9pO2JBBAb6ADCRAn3kDZuEVcG9uAAP43vUsbe24/
|
BLhIFZNjwod5F5VL4SfeQNm4RVwbBQJlC4ZwBQkLMdY5AAoJECfeQNm4RVwbXscA
|
||||||
6tjEezAW0a4L2E1u4HNU8t53lolngs1kswEAy1HBdYEMR9TovX/kMeBHLcz1J2pM
|
/A8zRRTCwQKxJ8iz5jmTcVFAhl2vD781Dtv8NvcWd5t8APwIwcuFVZZA3yayhIxi
|
||||||
VRSV0JnJhj5eZwa4MwRdnBcBFgkrBgEEAdpHDwEBB0BrvpOZa4q6JHVuc1XUVQTq
|
3aqYpMRxpn2t6Nswax1MIM8DBQ==
|
||||||
hDgLwD5SJBvzHSTXPYOZMoh+BBgWCAAmAhsgFiEEuEgVk2PCh3kXlUvhJ95A2bhF
|
=dzEV
|
||||||
XBsFAl+w+hYFCQe4fZUACgkQJ95A2bhFXBs3NgEA3SFYTgRVstidfoEpEZV4DdSL
|
|
||||||
kXaOwN3Eyba4UniClyMA/2CCxQt24vu19TyvUtOXWCp9Zi8SyIqoeiXQ4ZmhhnQO
|
|
||||||
uDgEXZwXKBIKKwYBBAGXVQEFAQEHQA7S3cFTEu6iROopVyF4UBl3hQrEAbOc9CW+
|
|
||||||
xXKFZYgSAwEIB4h+BBgWCAAmAhsMFiEEuEgVk2PCh3kXlUvhJ95A2bhFXBsFAl+w
|
|
||||||
+hcFCQe4fW4ACgkQJ95A2bhFXBtUXAEAyEJCUNVSJ7qvQv5IXuwbYTX2Mh7JU3+F
|
|
||||||
GJHO7AWBXCQA/2aLAi9kYmz9ba770XYwTeBZIv9Y6UIwIwVmFdYHC/EM
|
|
||||||
=a/z4
|
|
||||||
-----END PGP PUBLIC KEY BLOCK-----
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
|
|||||||
27
ansible/roles/build/files/gpg_work.asc
Normal file
27
ansible/roles/build/files/gpg_work.asc
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
mDMEXZwWGhYJKwYBBAHaRw8BAQdAfv7qozKkmf4D+5PDzADsMm4aAKDGLha7+Cu0
|
||||||
|
0H+RsWG0LVRob21hcyBBbGV4YW5kZXIgPFRob21hc0EuQWxleGFuZGVyQGhtaG4u
|
||||||
|
b3JnPoiQBBMWCAA4FiEEuEgVk2PCh3kXlUvhJ95A2bhFXBsFAmULicsCGwMFCwkI
|
||||||
|
BwIGFQoJCAsCBBYCAwECHgECF4AACgkQJ95A2bhFXBsUtQD9GWPdWc/nSmO0Gp7p
|
||||||
|
DzxrieliriAnO+ZCHp31mFbMtToBAPxPYN9y4kgSiXhLiFLoRK5k5FCspksTSitg
|
||||||
|
0CbXDE4LuDgEXZwWGhIKKwYBBAGXVQEFAQEHQK202EIAwTBuxARUygOvn+AloMJd
|
||||||
|
ui39m+nMghn1MNo+AwEIB4h4BBgWCAAgFiEEuEgVk2PCh3kXlUvhJ95A2bhFXBsF
|
||||||
|
Al2cFhoCGwwACgkQJ95A2bhFXBtNzAEAq5I6xPjIbb23xmhxh5cM/UJxdGedfWMy
|
||||||
|
vF6/JtDvtPUBAPQRQn5AMwTOA+CSnliYf7ZjfVOlHscy60XWPlvXLoAJuDMEXZwW
|
||||||
|
yhYJKwYBBAHaRw8BAQdAPyIL4EGg4T5JO9q2kpVDy2WjMiXz3nZXwYW4GLoTYkiI
|
||||||
|
9QQYFggAJgIbAhYhBLhIFZNjwod5F5VL4SfeQNm4RVwbBQJlC4ZhBQkLMdaXAIF2
|
||||||
|
IAQZFggAHRYhBIHmRDmWdVAusSUWutOhecmlPA7eBQJdnBbKAAoJENOhecmlPA7e
|
||||||
|
jJ4A/iq7N2mMhx+ovOXm1REoASPF3l4YAAjOHsXqcPtFHKGJAQCiuA71d6CQ+qNZ
|
||||||
|
Luka/KVB/etkkJvDzvaTtiQQQG+gAwkQJ95A2bhFXBtRDgEAqymMavroD5c/4+M/
|
||||||
|
EZ3/d8wxfA9E3Fb/1mt4c2ZrNnkBAKYOM+pz/pncFnV+kF7h7TQEEYuGw1JhJVT/
|
||||||
|
duA4lwsLuDMEXZwXARYJKwYBBAHaRw8BAQdAa76TmWuKuiR1bnNV1FUE6oQ4C8A+
|
||||||
|
UiQb8x0k1z2DmTKIfgQYFggAJgIbIBYhBLhIFZNjwod5F5VL4SfeQNm4RVwbBQJl
|
||||||
|
C4ZwBQkLMdZgAAoJECfeQNm4RVwb8TkA/RkBu9Ev8iDE5nvn8YF8FRiY56Z5d+SB
|
||||||
|
PG4VvrCzXrmlAP46wUjIRpkMrTbb1GMbvYnkeOrBs/qiWjEtHHc3ZLMWD7g4BF2c
|
||||||
|
FygSCisGAQQBl1UBBQEBB0AO0t3BUxLuokTqKVcheFAZd4UKxAGznPQlvsVyhWWI
|
||||||
|
EgMBCAeIfgQYFggAJgIbDBYhBLhIFZNjwod5F5VL4SfeQNm4RVwbBQJlC4ZwBQkL
|
||||||
|
MdY5AAoJECfeQNm4RVwbXscA/A8zRRTCwQKxJ8iz5jmTcVFAhl2vD781Dtv8NvcW
|
||||||
|
d5t8APwIwcuFVZZA3yayhIxi3aqYpMRxpn2t6Nswax1MIM8DBQ==
|
||||||
|
=0HtE
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
- name: Trust my signing key
|
- name: Trust my signing key
|
||||||
command: pacman-key -a -
|
command: pacman-key -a -
|
||||||
args:
|
args:
|
||||||
stdin: "{{ lookup('file', 'gpg.asc') }}"
|
stdin: "{{ lookup('file', pgp_key|default('gpg.asc')) }}"
|
||||||
when: '"B848159363C2877917954BE127DE40D9B8455C1B" not in pacmankeys.stdout'
|
when: '"B848159363C2877917954BE127DE40D9B8455C1B" not in pacmankeys.stdout'
|
||||||
register: my_key_imported
|
register: my_key_imported
|
||||||
|
|
||||||
@@ -94,6 +94,14 @@
|
|||||||
- src: makepkg.conf # TODO: Is this needed or can I use the default from devtools?
|
- src: makepkg.conf # TODO: Is this needed or can I use the default from devtools?
|
||||||
dest: /etc/aurutils/
|
dest: /etc/aurutils/
|
||||||
|
|
||||||
|
- name: chown the custom package db
|
||||||
|
file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
owner: "{{ build_user.name }}"
|
||||||
|
recurse: true
|
||||||
|
loop:
|
||||||
|
- /var/cache/pacman/custom/
|
||||||
|
|
||||||
- name: Create custom repo db
|
- name: Create custom repo db
|
||||||
command: repo-add --sign /var/cache/pacman/custom/custom.db.tar
|
command: repo-add --sign /var/cache/pacman/custom/custom.db.tar
|
||||||
become: true
|
become: true
|
||||||
@@ -111,6 +119,8 @@
|
|||||||
loop:
|
loop:
|
||||||
- src: aurutils-purge
|
- src: aurutils-purge
|
||||||
dest: /usr/local/bin/aurutils-purge
|
dest: /usr/local/bin/aurutils-purge
|
||||||
|
- src: aurutils-nuke
|
||||||
|
dest: /usr/local/bin/aurutils-nuke
|
||||||
- src: aurutils-sync
|
- src: aurutils-sync
|
||||||
dest: /usr/local/bin/aurutils-sync
|
dest: /usr/local/bin/aurutils-sync
|
||||||
- src: aurutils-update-devel-packages
|
- src: aurutils-update-devel-packages
|
||||||
|
|||||||
29
ansible/roles/cpu/files/cpu_set_perf_perc_linux_amd
Normal file
29
ansible/roles/cpu/files/cpu_set_perf_perc_linux_amd
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# Tell hardware p-states whether to maximize CPU performance (100) or
|
||||||
|
# energy efficiency (0).
|
||||||
|
set -euo pipefail
|
||||||
|
IFS=$'\n\t'
|
||||||
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
|
||||||
|
perc=$1
|
||||||
|
|
||||||
|
if [ "$perc" -gt 80 ]; then
|
||||||
|
echo performance | tee /sys/firmware/acpi/platform_profile
|
||||||
|
elif [ "$perc" -ge 20 ]; then
|
||||||
|
echo balanced | tee /sys/firmware/acpi/platform_profile
|
||||||
|
else
|
||||||
|
echo low-power | tee /sys/firmware/acpi/platform_profile
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$perc" -ge 80 ]; then
|
||||||
|
echo "performance" | tee /sys/devices/system/cpu/cpufreq/policy*/energy_performance_preference
|
||||||
|
elif [ "$perc" -ge 60 ]; then
|
||||||
|
echo "balance_performance" | tee /sys/devices/system/cpu/cpufreq/policy*/energy_performance_preference
|
||||||
|
elif [ "$perc" -ge 40 ]; then
|
||||||
|
echo "default" | tee /sys/devices/system/cpu/cpufreq/policy*/energy_performance_preference
|
||||||
|
elif [ "$perc" -ge 20 ]; then
|
||||||
|
echo "balance_power" | tee /sys/devices/system/cpu/cpufreq/policy*/energy_performance_preference
|
||||||
|
else
|
||||||
|
echo "power" | tee /sys/devices/system/cpu/cpufreq/policy*/energy_performance_preference
|
||||||
|
fi
|
||||||
2
ansible/roles/cpu/files/platform_profile_tmpfiles.conf
Normal file
2
ansible/roles/cpu/files/platform_profile_tmpfiles.conf
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# Favor energy efficiency for platform profile (EC / system, not CPU)
|
||||||
|
w- /sys/firmware/acpi/platform_profile - - - - low-power
|
||||||
40
ansible/roles/cpu/tasks/linux_amd.yaml
Normal file
40
ansible/roles/cpu/tasks/linux_amd.yaml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
- name: Install packages
|
||||||
|
package:
|
||||||
|
name:
|
||||||
|
- powertop
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Favor energy efficiency for hardware p-states
|
||||||
|
when: hwpstate is defined and hwpstate and cores is defined
|
||||||
|
template:
|
||||||
|
src: "templates/{{ item.src }}.j2"
|
||||||
|
dest: "{{ item.dest }}"
|
||||||
|
mode: 0644
|
||||||
|
owner: root
|
||||||
|
group: wheel
|
||||||
|
loop:
|
||||||
|
- src: energy_performance_preference.conf
|
||||||
|
dest: /etc/tmpfiles.d/energy_performance_preference.conf
|
||||||
|
|
||||||
|
- name: Install tmpfiles.d configuration
|
||||||
|
when: hwpstate is defined and hwpstate and cores is defined
|
||||||
|
copy:
|
||||||
|
src: "files/{{ item }}_tmpfiles.conf"
|
||||||
|
dest: "/etc/tmpfiles.d/{{ item }}.conf"
|
||||||
|
mode: 0644
|
||||||
|
owner: root
|
||||||
|
group: wheel
|
||||||
|
loop:
|
||||||
|
- platform_profile
|
||||||
|
|
||||||
|
- name: Install scripts
|
||||||
|
when: hwpstate is defined and hwpstate
|
||||||
|
copy:
|
||||||
|
src: "files/{{ item.src }}"
|
||||||
|
dest: "{{ item.dest }}"
|
||||||
|
mode: 0755
|
||||||
|
owner: root
|
||||||
|
group: wheel
|
||||||
|
loop:
|
||||||
|
- src: cpu_set_perf_perc_linux_amd
|
||||||
|
dest: /usr/local/bin/cpu_set_perf_perc
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
template:
|
template:
|
||||||
src: "templates/{{ item.src }}.j2"
|
src: "templates/{{ item.src }}.j2"
|
||||||
dest: "{{ item.dest }}"
|
dest: "{{ item.dest }}"
|
||||||
mode: 0755
|
mode: 0644
|
||||||
owner: root
|
owner: root
|
||||||
group: wheel
|
group: wheel
|
||||||
loop:
|
loop:
|
||||||
@@ -35,5 +35,5 @@
|
|||||||
owner: root
|
owner: root
|
||||||
group: wheel
|
group: wheel
|
||||||
loop:
|
loop:
|
||||||
- src: cpu_set_perf_perc_linux
|
- src: cpu_set_perf_perc_linux_intel
|
||||||
dest: /usr/local/bin/cpu_set_perf_perc
|
dest: /usr/local/bin/cpu_set_perf_perc
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Favor energy efficiency for Speed Shift
|
# Favor energy efficiency for hardware p-states
|
||||||
{% for core in range(0, cores, 1) %}
|
{% for core in range(0, cores, 1) %}
|
||||||
w- /sys/devices/system/cpu/cpufreq/policy{{core}}/energy_performance_preference - - - - power
|
w- /sys/devices/system/cpu/cpufreq/policy{{core}}/energy_performance_preference - - - - power
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|||||||
19
ansible/roles/devfs/files/homeserver_devfs.rules
Normal file
19
ansible/roles/devfs/files/homeserver_devfs.rules
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# [localrules=10]
|
||||||
|
# add path 'input/*' mode 0660 group video
|
||||||
|
# add path 'usb/*' mode 0660 group usb
|
||||||
|
|
||||||
|
[tajailwg=13]
|
||||||
|
add include $devfsrules_hide_all
|
||||||
|
add include $devfsrules_unhide_basic
|
||||||
|
add include $devfsrules_unhide_login
|
||||||
|
add path 'bpf*' unhide
|
||||||
|
add path pf unhide
|
||||||
|
add path pflog unhide
|
||||||
|
add path pfsynv unhide
|
||||||
|
add path 'tun*' unhide
|
||||||
|
|
||||||
|
[tajaildhcp=14]
|
||||||
|
add include $devfsrules_hide_all
|
||||||
|
add include $devfsrules_unhide_basic
|
||||||
|
add include $devfsrules_unhide_login
|
||||||
|
add path 'bpf*' unhide
|
||||||
@@ -75,4 +75,10 @@
|
|||||||
;; Delete trailing whitespace before save
|
;; Delete trailing whitespace before save
|
||||||
(add-hook 'before-save-hook 'delete-trailing-whitespace)
|
(add-hook 'before-save-hook 'delete-trailing-whitespace)
|
||||||
|
|
||||||
|
;; If the underlying file changes, reload it automatically. This is useful for moving around in git without confusing language servers.
|
||||||
|
(setopt auto-revert-avoid-polling t)
|
||||||
|
(setopt auto-revert-interval 5)
|
||||||
|
(setopt auto-revert-check-vc-info t)
|
||||||
|
(global-auto-revert-mode)
|
||||||
|
|
||||||
(provide 'base)
|
(provide 'base)
|
||||||
|
|||||||
@@ -23,6 +23,52 @@
|
|||||||
(run-command-on-buffer "jq" "--monochrome-output" ".")
|
(run-command-on-buffer "jq" "--monochrome-output" ".")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
(defun configure-typescript-language-server ()
|
||||||
|
"Configures the typescript language server."
|
||||||
|
(when-linux
|
||||||
|
;; Either initializationOptions or workspace/didChangeConfiguration works.
|
||||||
|
(setq eglot-workspace-configuration
|
||||||
|
(list (cons ':typescript '(:inlayHints (:includeInlayParameterNameHints
|
||||||
|
"all"
|
||||||
|
:includeInlayParameterNameHintsWhenArgumentMatchesName
|
||||||
|
t
|
||||||
|
:includeInlayFunctionParameterTypeHints
|
||||||
|
t
|
||||||
|
:includeInlayVariableTypeHints
|
||||||
|
t
|
||||||
|
:includeInlayVariableTypeHintsWhenTypeMatchesName
|
||||||
|
t
|
||||||
|
:includeInlayPRopertyDeclarationTypeHints
|
||||||
|
t
|
||||||
|
:includeInlayFunctionLikeReturnTypeHints
|
||||||
|
t
|
||||||
|
:includeInlayEnumMemberValueHints
|
||||||
|
t)))))
|
||||||
|
(eglot-ensure)
|
||||||
|
;; (defclass my/eglot-typescript (eglot-lsp-server) ()
|
||||||
|
;; :documentation
|
||||||
|
;; "Own eglot server class.")
|
||||||
|
|
||||||
|
;; (add-to-list 'eglot-server-programs
|
||||||
|
;; '((js-mode js-ts-mode tsx-ts-mode typescript-ts-mode typescript-mode) . (my/eglot-typescript "typescript-language-server" "--stdio" :initializationOptions (:preferences (:includeInlayParameterNameHints
|
||||||
|
;; "all"
|
||||||
|
;; :includeInlayParameterNameHintsWhenArgumentMatchesName
|
||||||
|
;; t
|
||||||
|
;; :includeInlayFunctionParameterTypeHints
|
||||||
|
;; t
|
||||||
|
;; :includeInlayVariableTypeHints
|
||||||
|
;; t
|
||||||
|
;; :includeInlayVariableTypeHintsWhenTypeMatchesName
|
||||||
|
;; t
|
||||||
|
;; :includeInlayPRopertyDeclarationTypeHints
|
||||||
|
;; t
|
||||||
|
;; :includeInlayFunctionLikeReturnTypeHints
|
||||||
|
;; t
|
||||||
|
;; :includeInlayEnumMemberValueHints
|
||||||
|
;; t)))))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
(use-package tsx-ts-mode
|
(use-package tsx-ts-mode
|
||||||
:ensure nil
|
:ensure nil
|
||||||
:pin manual
|
:pin manual
|
||||||
@@ -33,7 +79,7 @@
|
|||||||
:hook (
|
:hook (
|
||||||
(tsx-ts-mode . (lambda ()
|
(tsx-ts-mode . (lambda ()
|
||||||
(when-linux
|
(when-linux
|
||||||
(eglot-ensure)
|
(configure-typescript-language-server)
|
||||||
)
|
)
|
||||||
))
|
))
|
||||||
)
|
)
|
||||||
@@ -52,9 +98,7 @@
|
|||||||
:commands (typescript-ts-mode)
|
:commands (typescript-ts-mode)
|
||||||
:hook (
|
:hook (
|
||||||
(typescript-ts-mode . (lambda ()
|
(typescript-ts-mode . (lambda ()
|
||||||
(when-linux
|
(configure-typescript-language-server)
|
||||||
(eglot-ensure)
|
|
||||||
)
|
|
||||||
))
|
))
|
||||||
)
|
)
|
||||||
:init
|
:init
|
||||||
@@ -81,6 +125,12 @@
|
|||||||
(unless (treesit-ready-p 'javascript) (treesit-install-language-grammar 'javascript))
|
(unless (treesit-ready-p 'javascript) (treesit-install-language-grammar 'javascript))
|
||||||
)
|
)
|
||||||
|
|
||||||
|
(defun prettier-fmt ()
|
||||||
|
"Run prettier."
|
||||||
|
(run-command-on-buffer "prettier" "--stdin-filepath" buffer-file-name)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
(use-package css-ts-mode
|
(use-package css-ts-mode
|
||||||
:ensure nil
|
:ensure nil
|
||||||
:pin manual
|
:pin manual
|
||||||
@@ -88,9 +138,23 @@
|
|||||||
("\\.css\\'" . css-ts-mode)
|
("\\.css\\'" . css-ts-mode)
|
||||||
)
|
)
|
||||||
:commands (css-ts-mode)
|
:commands (css-ts-mode)
|
||||||
|
:custom (css-indent-offset 2)
|
||||||
:init
|
:init
|
||||||
(add-to-list 'treesit-language-source-alist '(css "https://github.com/tree-sitter/tree-sitter-css"))
|
(add-to-list 'treesit-language-source-alist '(css "https://github.com/tree-sitter/tree-sitter-css"))
|
||||||
(unless (treesit-ready-p 'css) (treesit-install-language-grammar 'css))
|
(unless (treesit-ready-p 'css) (treesit-install-language-grammar 'css))
|
||||||
|
:hook (
|
||||||
|
(css-ts-mode . (lambda ()
|
||||||
|
(eglot-ensure)
|
||||||
|
(defclass my/eglot-css (eglot-lsp-server) ()
|
||||||
|
:documentation
|
||||||
|
"Own eglot server class.")
|
||||||
|
|
||||||
|
(add-to-list 'eglot-server-programs
|
||||||
|
'(css-ts-mode . (my/eglot-css "vscode-css-language-server" "--stdio")))
|
||||||
|
;; (add-hook 'before-save-hook 'eglot-format-buffer nil 'local)
|
||||||
|
(add-hook 'before-save-hook 'prettier-fmt nil 'local)
|
||||||
|
))
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,3 +3,5 @@ dependencies:
|
|||||||
- fonts
|
- fonts
|
||||||
- role: rust
|
- role: rust
|
||||||
when: 'emacs_flavor == "full"'
|
when: 'emacs_flavor == "full"'
|
||||||
|
- role: python
|
||||||
|
when: 'emacs_flavor == "full"'
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
- gopls
|
- gopls
|
||||||
- typescript-language-server
|
- typescript-language-server
|
||||||
- shellcheck
|
- shellcheck
|
||||||
|
- vscode-css-languageserver
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
- name: Create directories
|
- name: Create directories
|
||||||
|
|||||||
@@ -11,3 +11,4 @@ firefox_config:
|
|||||||
browser.newtabpage.activity-stream.showSponsoredTopSites: false
|
browser.newtabpage.activity-stream.showSponsoredTopSites: false
|
||||||
browser.newtabpage.activity-stream.feeds.section.topstories: false
|
browser.newtabpage.activity-stream.feeds.section.topstories: false
|
||||||
browser.newtabpage.pinned: "[]"
|
browser.newtabpage.pinned: "[]"
|
||||||
|
browser.newtabpage.activity-stream.section.highlights.includePocket: false
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ not_jail_nat_v4 = "{ any, !10.215.1.0/24 }"
|
|||||||
dns_redirect = "{ 10.193.223.1 10.213.177.1 10.215.1.1 }"
|
dns_redirect = "{ 10.193.223.1 10.213.177.1 10.215.1.1 }"
|
||||||
|
|
||||||
dhcp = "{ bootpc, bootps }"
|
dhcp = "{ bootpc, bootps }"
|
||||||
allow = "{ wgf wgh drmario colo }"
|
#allow = "{ wgf wgh drmario colo }"
|
||||||
|
|
||||||
tcp_pass_in = "{ 22 }"
|
tcp_pass_in = "{ 22 }"
|
||||||
udp_pass_in = "{ 53 51820 }"
|
udp_pass_in = "{ 53 51820 }"
|
||||||
@@ -16,8 +16,8 @@ udp_pass_in = "{ 53 51820 }"
|
|||||||
set skip on lo
|
set skip on lo
|
||||||
|
|
||||||
# redirections
|
# redirections
|
||||||
nat pass on $ext_if inet from $jail_nat_v4 to $not_jail_nat_v4 -> (wlan0)
|
#nat pass on $ext_if inet from $jail_nat_v4 to $not_jail_nat_v4 -> (wlan0)
|
||||||
rdr pass on $not_ext_if proto {tcp, udp} from any to 10.215.1.1 port 53 -> 1.1.1.1 port 53
|
#rdr pass on $not_ext_if proto {tcp, udp} from any to 10.215.1.1 port 53 -> 1.1.1.1 port 53
|
||||||
|
|
||||||
# Redirect jaeger ports to virtual machine.
|
# Redirect jaeger ports to virtual machine.
|
||||||
# nat pass on lo inet from 127.0.0.0/24 to 127.0.0.0/24 port {6831 6832 16686 14268} -> (jail_nat)
|
# nat pass on lo inet from 127.0.0.0/24 to 127.0.0.0/24 port {6831 6832 16686 14268} -> (jail_nat)
|
||||||
@@ -27,19 +27,19 @@ rdr pass on $not_ext_if proto {tcp, udp} from any to 10.215.1.1 port 53 -> 1.1.1
|
|||||||
block log all
|
block log all
|
||||||
pass out on $ext_if
|
pass out on $ext_if
|
||||||
|
|
||||||
pass in on jail_nat
|
#pass in on jail_nat
|
||||||
# Allow traffic from my machine to the jails/virtual machines
|
# Allow traffic from my machine to the jails/virtual machines
|
||||||
pass out on jail_nat from $jail_nat_v4
|
#pass out on jail_nat from $jail_nat_v4
|
||||||
|
|
||||||
# We pass on the interfaces listed in allow rather than skipping on
|
# We pass on the interfaces listed in allow rather than skipping on
|
||||||
# them because changes to pass rules will update when running a
|
# them because changes to pass rules will update when running a
|
||||||
# `service pf reload` but interfaces that we `skip` will not update (I
|
# `service pf reload` but interfaces that we `skip` will not update (I
|
||||||
# forget if its from adding, removing, or both. TODO: test to figure
|
# forget if its from adding, removing, or both. TODO: test to figure
|
||||||
# it out). Also skipped interfaces are not subject to nat/rdr rules.
|
# it out). Also skipped interfaces are not subject to nat/rdr rules.
|
||||||
pass quick on $allow
|
#pass quick on $allow
|
||||||
|
|
||||||
pass on $ext_if proto icmp all
|
pass on $ext_if proto icmp all
|
||||||
pass on $ext_if proto icmp6 all
|
pass on $ext_if proto icmp6 all
|
||||||
|
|
||||||
pass in on $ext_if proto tcp to any port $tcp_pass_in
|
#pass in on $ext_if proto tcp to any port $tcp_pass_in
|
||||||
pass in on $ext_if proto udp to any port $udp_pass_in
|
#pass in on $ext_if proto udp to any port $udp_pass_in
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
- name: Install packages
|
- name: Install packages
|
||||||
package:
|
package:
|
||||||
name:
|
name:
|
||||||
- sourcecodepro-ttf
|
- source-code-pro-ttf
|
||||||
- source-sans-ttf
|
- source-sans-ttf
|
||||||
- cascadia-code
|
- cascadia-code
|
||||||
- noto
|
- noto
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
# Set screen brightness. Ever since enabling adaptive brightness management, my brightness ends up sinking lower on re-boots (I suspect it is saving the actual brightness rather than the set brightness). This forces the brightness back to the level I prefer.
|
||||||
|
w- /sys/class/backlight/amdgpu_bl0/brightness - - - - 85
|
||||||
@@ -7,3 +7,14 @@
|
|||||||
daemon_reload: yes
|
daemon_reload: yes
|
||||||
loop:
|
loop:
|
||||||
- systemd-udev-settle.service
|
- systemd-udev-settle.service
|
||||||
|
|
||||||
|
- name: Install tmpfiles.d configuration
|
||||||
|
when: hwpstate is defined and hwpstate and cores is defined
|
||||||
|
copy:
|
||||||
|
src: "files/{{ item }}_tmpfiles.conf"
|
||||||
|
dest: "/etc/tmpfiles.d/{{ item }}.conf"
|
||||||
|
mode: 0644
|
||||||
|
owner: root
|
||||||
|
group: wheel
|
||||||
|
loop:
|
||||||
|
- screen_brightness
|
||||||
|
|||||||
27
ansible/roles/gpg/files/gpg_work.asc
Normal file
27
ansible/roles/gpg/files/gpg_work.asc
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
mDMEXZwWGhYJKwYBBAHaRw8BAQdAfv7qozKkmf4D+5PDzADsMm4aAKDGLha7+Cu0
|
||||||
|
0H+RsWG0LVRob21hcyBBbGV4YW5kZXIgPFRob21hc0EuQWxleGFuZGVyQGhtaG4u
|
||||||
|
b3JnPoiQBBMWCAA4FiEEuEgVk2PCh3kXlUvhJ95A2bhFXBsFAmULicsCGwMFCwkI
|
||||||
|
BwIGFQoJCAsCBBYCAwECHgECF4AACgkQJ95A2bhFXBsUtQD9GWPdWc/nSmO0Gp7p
|
||||||
|
DzxrieliriAnO+ZCHp31mFbMtToBAPxPYN9y4kgSiXhLiFLoRK5k5FCspksTSitg
|
||||||
|
0CbXDE4LuDgEXZwWGhIKKwYBBAGXVQEFAQEHQK202EIAwTBuxARUygOvn+AloMJd
|
||||||
|
ui39m+nMghn1MNo+AwEIB4h4BBgWCAAgFiEEuEgVk2PCh3kXlUvhJ95A2bhFXBsF
|
||||||
|
Al2cFhoCGwwACgkQJ95A2bhFXBtNzAEAq5I6xPjIbb23xmhxh5cM/UJxdGedfWMy
|
||||||
|
vF6/JtDvtPUBAPQRQn5AMwTOA+CSnliYf7ZjfVOlHscy60XWPlvXLoAJuDMEXZwW
|
||||||
|
yhYJKwYBBAHaRw8BAQdAPyIL4EGg4T5JO9q2kpVDy2WjMiXz3nZXwYW4GLoTYkiI
|
||||||
|
9QQYFggAJgIbAhYhBLhIFZNjwod5F5VL4SfeQNm4RVwbBQJlC4ZhBQkLMdaXAIF2
|
||||||
|
IAQZFggAHRYhBIHmRDmWdVAusSUWutOhecmlPA7eBQJdnBbKAAoJENOhecmlPA7e
|
||||||
|
jJ4A/iq7N2mMhx+ovOXm1REoASPF3l4YAAjOHsXqcPtFHKGJAQCiuA71d6CQ+qNZ
|
||||||
|
Luka/KVB/etkkJvDzvaTtiQQQG+gAwkQJ95A2bhFXBtRDgEAqymMavroD5c/4+M/
|
||||||
|
EZ3/d8wxfA9E3Fb/1mt4c2ZrNnkBAKYOM+pz/pncFnV+kF7h7TQEEYuGw1JhJVT/
|
||||||
|
duA4lwsLuDMEXZwXARYJKwYBBAHaRw8BAQdAa76TmWuKuiR1bnNV1FUE6oQ4C8A+
|
||||||
|
UiQb8x0k1z2DmTKIfgQYFggAJgIbIBYhBLhIFZNjwod5F5VL4SfeQNm4RVwbBQJl
|
||||||
|
C4ZwBQkLMdZgAAoJECfeQNm4RVwb8TkA/RkBu9Ev8iDE5nvn8YF8FRiY56Z5d+SB
|
||||||
|
PG4VvrCzXrmlAP46wUjIRpkMrTbb1GMbvYnkeOrBs/qiWjEtHHc3ZLMWD7g4BF2c
|
||||||
|
FygSCisGAQQBl1UBBQEBB0AO0t3BUxLuokTqKVcheFAZd4UKxAGznPQlvsVyhWWI
|
||||||
|
EgMBCAeIfgQYFggAJgIbDBYhBLhIFZNjwod5F5VL4SfeQNm4RVwbBQJlC4ZwBQkL
|
||||||
|
MdY5AAoJECfeQNm4RVwbXscA/A8zRRTCwQKxJ8iz5jmTcVFAhl2vD781Dtv8NvcW
|
||||||
|
d5t8APwIwcuFVZZA3yayhIxi3aqYpMRxpn2t6Nswax1MIM8DBQ==
|
||||||
|
=0HtE
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
command: gpg --import
|
command: gpg --import
|
||||||
when: '"cv25519/B0B50C7FDDE009E5" not in gpgkeys.stdout'
|
when: '"cv25519/B0B50C7FDDE009E5" not in gpgkeys.stdout'
|
||||||
args:
|
args:
|
||||||
stdin: "{{ lookup('file', 'gpg.asc') }}"
|
stdin: "{{ lookup('file', pgp_key|default('gpg.asc')) }}"
|
||||||
|
|
||||||
- import_tasks: tasks/peruser_freebsd.yaml
|
- import_tasks: tasks/peruser_freebsd.yaml
|
||||||
when: 'os_flavor == "freebsd"'
|
when: 'os_flavor == "freebsd"'
|
||||||
|
|||||||
42
ansible/roles/graphics/tasks/freebsd_amd.yaml
Normal file
42
ansible/roles/graphics/tasks/freebsd_amd.yaml
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
- name: Install packages
|
||||||
|
package:
|
||||||
|
name:
|
||||||
|
- drm-kmod
|
||||||
|
# - libva-intel-media-driver # va-api support for broadwell (2014) and newer.
|
||||||
|
# - libva-intel-driver # va-api support until after coffeelake (2017).
|
||||||
|
- vulkan-loader
|
||||||
|
- libva-utils # for vainfo
|
||||||
|
- vdpauinfo # for vdpauinfo
|
||||||
|
- libvdpau-va-gl # vdpau support
|
||||||
|
# - igt-gpu-tools # for intel_gpu_top
|
||||||
|
- vulkan-tools # For vulkaninfo
|
||||||
|
state: present
|
||||||
|
|
||||||
|
# - name: Configure vdpau to use va-api driver
|
||||||
|
# copy:
|
||||||
|
# src: vdpau.sh
|
||||||
|
# dest: /etc/profile.d/vdpau.sh
|
||||||
|
# mode: 0644
|
||||||
|
# owner: root
|
||||||
|
# group: root
|
||||||
|
|
||||||
|
#- name: Install loader.conf
|
||||||
|
# copy:
|
||||||
|
# src: "files/{{ item }}_loader.conf"
|
||||||
|
# dest: "/boot/loader.conf.d/{{ item }}.conf"
|
||||||
|
# mode: 0644
|
||||||
|
# owner: root
|
||||||
|
# group: wheel
|
||||||
|
# loop:
|
||||||
|
# - intel_power
|
||||||
|
# - intel_hw_accel_video
|
||||||
|
|
||||||
|
#- name: Install service configuration
|
||||||
|
# copy:
|
||||||
|
# src: "files/intel_{{ item }}_rc.conf"
|
||||||
|
# dest: "/etc/rc.conf.d/{{ item }}"
|
||||||
|
# mode: 0644
|
||||||
|
# owner: root
|
||||||
|
# group: wheel
|
||||||
|
# loop:
|
||||||
|
# - kld
|
||||||
20
ansible/roles/graphics/tasks/linux_amd.yaml
Normal file
20
ansible/roles/graphics/tasks/linux_amd.yaml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# TODO: Should I enable APM?
|
||||||
|
- name: Install packages
|
||||||
|
package:
|
||||||
|
name:
|
||||||
|
- linux-firmware # Arch wiki claims this is needed to boot
|
||||||
|
- mesa
|
||||||
|
- lib32-mesa
|
||||||
|
- vulkan-radeon
|
||||||
|
- lib32-vulkan-radeon
|
||||||
|
- libva-mesa-driver # Accelerated video decoding
|
||||||
|
- lib32-libva-mesa-driver # Accelerated video decoding
|
||||||
|
- mesa-vdpau # Accelerated video decoding
|
||||||
|
- lib32-mesa-vdpau # Accelerated video decoding
|
||||||
|
- vulkan-icd-loader
|
||||||
|
- lib32-vulkan-icd-loader
|
||||||
|
- libva-utils # for vainfo
|
||||||
|
- vdpauinfo # for vdpauinfo
|
||||||
|
- vulkan-tools # For vulkaninfo
|
||||||
|
- radeontop
|
||||||
|
state: present
|
||||||
10
ansible/roles/homeserver/files/decrypt_disks.bash
Normal file
10
ansible/roles/homeserver/files/decrypt_disks.bash
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# Decrypt and mount the disks after a fresh reboot.
|
||||||
|
set -euo pipefail
|
||||||
|
IFS=$'\n\t'
|
||||||
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
|
||||||
|
zfs load-key -r zmass/encrypted
|
||||||
|
zfs mount -a
|
||||||
|
service bemount start
|
||||||
55
ansible/roles/homeserver/tasks/common.yaml
Normal file
55
ansible/roles/homeserver/tasks/common.yaml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
# - name: Create directories
|
||||||
|
# file:
|
||||||
|
# name: "{{ item }}"
|
||||||
|
# state: directory
|
||||||
|
# mode: 0755
|
||||||
|
# owner: root
|
||||||
|
# group: wheel
|
||||||
|
# loop:
|
||||||
|
# - /foo/bar
|
||||||
|
|
||||||
|
# - name: Install scripts
|
||||||
|
# copy:
|
||||||
|
# src: "files/{{ item.src }}"
|
||||||
|
# dest: "{{ item.dest }}"
|
||||||
|
# mode: 0755
|
||||||
|
# owner: root
|
||||||
|
# group: wheel
|
||||||
|
# loop:
|
||||||
|
# - src: foo.bash
|
||||||
|
# dest: /usr/local/bin/foo
|
||||||
|
|
||||||
|
# - name: Install Configuration
|
||||||
|
# copy:
|
||||||
|
# src: "files/{{ item.src }}"
|
||||||
|
# dest: "{{ item.dest }}"
|
||||||
|
# mode: 0600
|
||||||
|
# owner: root
|
||||||
|
# group: wheel
|
||||||
|
# loop:
|
||||||
|
# - src: foo.conf
|
||||||
|
# dest: /usr/local/etc/foo.conf
|
||||||
|
|
||||||
|
# - name: Clone Source
|
||||||
|
# git:
|
||||||
|
# repo: "https://foo.bar/baz.git"
|
||||||
|
# dest: /foo/bar
|
||||||
|
# version: "v1.0.2"
|
||||||
|
# force: true
|
||||||
|
# diff: false
|
||||||
|
|
||||||
|
- import_tasks: tasks/freebsd.yaml
|
||||||
|
when: 'os_flavor == "freebsd"'
|
||||||
|
|
||||||
|
- import_tasks: tasks/linux.yaml
|
||||||
|
when: 'os_flavor == "linux"'
|
||||||
|
|
||||||
|
- include_tasks:
|
||||||
|
file: tasks/peruser.yaml
|
||||||
|
apply:
|
||||||
|
become: yes
|
||||||
|
become_user: "{{ initialize_user }}"
|
||||||
|
when: users is defined
|
||||||
|
loop: "{{ users | dict2items | community.general.json_query('[?value.initialize==`true`].key') }}"
|
||||||
|
loop_control:
|
||||||
|
loop_var: initialize_user
|
||||||
10
ansible/roles/homeserver/tasks/freebsd.yaml
Normal file
10
ansible/roles/homeserver/tasks/freebsd.yaml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
- name: Install scripts
|
||||||
|
copy:
|
||||||
|
src: "files/{{ item.src }}"
|
||||||
|
dest: "{{ item.dest }}"
|
||||||
|
mode: 0755
|
||||||
|
owner: root
|
||||||
|
group: wheel
|
||||||
|
loop:
|
||||||
|
- src: decrypt_disks.bash
|
||||||
|
dest: /usr/local/bin/decrypt_disks
|
||||||
29
ansible/roles/homeserver/tasks/linux.yaml
Normal file
29
ansible/roles/homeserver/tasks/linux.yaml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
# - name: Build aur packages
|
||||||
|
# register: buildaur
|
||||||
|
# become_user: "{{ build_user.name }}"
|
||||||
|
# command: "aurutils-sync --no-view {{ item }}"
|
||||||
|
# args:
|
||||||
|
# creates: "/var/cache/pacman/custom/{{ item }}-*.pkg.tar.*"
|
||||||
|
# loop:
|
||||||
|
# - foo
|
||||||
|
|
||||||
|
# - name: Update cache
|
||||||
|
# when: buildaur.changed
|
||||||
|
# pacman:
|
||||||
|
# name: []
|
||||||
|
# state: present
|
||||||
|
# update_cache: true
|
||||||
|
|
||||||
|
# - name: Install packages
|
||||||
|
# package:
|
||||||
|
# name:
|
||||||
|
# - foo
|
||||||
|
# state: present
|
||||||
|
|
||||||
|
# - name: Enable services
|
||||||
|
# systemd:
|
||||||
|
# enabled: yes
|
||||||
|
# name: "{{ item }}"
|
||||||
|
# daemon_reload: yes
|
||||||
|
# loop:
|
||||||
|
# - foo.service
|
||||||
2
ansible/roles/homeserver/tasks/main.yaml
Normal file
2
ansible/roles/homeserver/tasks/main.yaml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
- import_tasks: tasks/common.yaml
|
||||||
|
# when: foo is defined
|
||||||
29
ansible/roles/homeserver/tasks/peruser.yaml
Normal file
29
ansible/roles/homeserver/tasks/peruser.yaml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
- include_role:
|
||||||
|
name: per_user
|
||||||
|
|
||||||
|
# - name: Create directories
|
||||||
|
# file:
|
||||||
|
# name: "{{ account_homedir.stdout }}/{{ item }}"
|
||||||
|
# state: directory
|
||||||
|
# mode: 0700
|
||||||
|
# owner: "{{ account_name.stdout }}"
|
||||||
|
# group: "{{ group_name.stdout }}"
|
||||||
|
# loop:
|
||||||
|
# - ".config/foo"
|
||||||
|
|
||||||
|
# - name: Copy files
|
||||||
|
# copy:
|
||||||
|
# src: "files/{{ item.src }}"
|
||||||
|
# dest: "{{ account_homedir.stdout }}/{{ item.dest }}"
|
||||||
|
# mode: 0600
|
||||||
|
# owner: "{{ account_name.stdout }}"
|
||||||
|
# group: "{{ group_name.stdout }}"
|
||||||
|
# loop:
|
||||||
|
# - src: foo.conf
|
||||||
|
# dest: .config/foo/foo.conf
|
||||||
|
|
||||||
|
- import_tasks: tasks/peruser_freebsd.yaml
|
||||||
|
when: 'os_flavor == "freebsd"'
|
||||||
|
|
||||||
|
- import_tasks: tasks/peruser_linux.yaml
|
||||||
|
when: 'os_flavor == "linux"'
|
||||||
0
ansible/roles/homeserver/tasks/peruser_freebsd.yaml
Normal file
0
ansible/roles/homeserver/tasks/peruser_freebsd.yaml
Normal file
0
ansible/roles/homeserver/tasks/peruser_linux.yaml
Normal file
0
ansible/roles/homeserver/tasks/peruser_linux.yaml
Normal file
@@ -1,10 +1,19 @@
|
|||||||
- name: Set the /etc/hosts
|
- name: Set the /etc/hosts
|
||||||
|
when: hostname is undefined or item.key != hostname
|
||||||
ansible.builtin.lineinfile:
|
ansible.builtin.lineinfile:
|
||||||
path: /etc/hosts
|
path: /etc/hosts
|
||||||
regexp: '^{{ item.key | regex_escape() }}\s+'
|
regexp: '^{{ item.key | regex_escape() }}\s+'
|
||||||
line: "{{ item.key }} {{ item.value | join(' ') }}"
|
line: "{{ item.key }} {{ item.value | join(' ') }}"
|
||||||
loop: "{{ etc_hosts | dict2items }}"
|
loop: "{{ etc_hosts | dict2items }}"
|
||||||
|
|
||||||
|
# Without an entry for the local hostname, firefox takes multiple minutes to launch.
|
||||||
|
- name: Set the /etc/hosts
|
||||||
|
when: hostname is defined
|
||||||
|
ansible.builtin.lineinfile:
|
||||||
|
path: /etc/hosts
|
||||||
|
regexp: '\s+{{ hostname | regex_escape() }}\s*$'
|
||||||
|
line: "127.0.0.1 {{ hostname }}"
|
||||||
|
|
||||||
- import_tasks: tasks/freebsd.yaml
|
- import_tasks: tasks/freebsd.yaml
|
||||||
when: 'os_flavor == "freebsd"'
|
when: 'os_flavor == "freebsd"'
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,6 @@
|
|||||||
loop:
|
loop:
|
||||||
- kubeswitch
|
- kubeswitch
|
||||||
- flux-scm
|
- flux-scm
|
||||||
- kubectl-minio
|
|
||||||
|
|
||||||
- name: Update cache
|
- name: Update cache
|
||||||
when: buildaur.changed
|
when: buildaur.changed
|
||||||
@@ -23,5 +22,4 @@
|
|||||||
- stern
|
- stern
|
||||||
- kubeswitch
|
- kubeswitch
|
||||||
- flux-scm
|
- flux-scm
|
||||||
- kubectl-minio
|
|
||||||
state: present
|
state: present
|
||||||
|
|||||||
642
ansible/roles/launch_keyboard/files/launch_keyboard_layout.json
Normal file
642
ansible/roles/launch_keyboard/files/launch_keyboard_layout.json
Normal file
@@ -0,0 +1,642 @@
|
|||||||
|
{
|
||||||
|
"model": "system76/launch_2",
|
||||||
|
"version": 1,
|
||||||
|
"map": {
|
||||||
|
"K00": [
|
||||||
|
"ESC",
|
||||||
|
"RESET",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K01": [
|
||||||
|
"F1",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K02": [
|
||||||
|
"F2",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K03": [
|
||||||
|
"F3",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K04": [
|
||||||
|
"F4",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K05": [
|
||||||
|
"F5",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K06": [
|
||||||
|
"F6",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K07": [
|
||||||
|
"F7",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K08": [
|
||||||
|
"F8",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K09": [
|
||||||
|
"F9",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K0A": [
|
||||||
|
"F10",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K0B": [
|
||||||
|
"F11",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K0C": [
|
||||||
|
"F12",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K0D": [
|
||||||
|
"DEL",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K0E": [
|
||||||
|
"HOME",
|
||||||
|
"PLAY_PAUSE",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K10": [
|
||||||
|
"TICK",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K11": [
|
||||||
|
"1",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K12": [
|
||||||
|
"2",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K13": [
|
||||||
|
"3",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K14": [
|
||||||
|
"4",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K15": [
|
||||||
|
"5",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K16": [
|
||||||
|
"6",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K17": [
|
||||||
|
"7",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K18": [
|
||||||
|
"8",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K19": [
|
||||||
|
"9",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K1A": [
|
||||||
|
"0",
|
||||||
|
"KBD_TOGGLE",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K1B": [
|
||||||
|
"MINUS",
|
||||||
|
"KBD_DOWN",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K1C": [
|
||||||
|
"EQUALS",
|
||||||
|
"KBD_UP",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K1D": [
|
||||||
|
"BKSP",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K1E": [
|
||||||
|
"PGUP",
|
||||||
|
"VOLUME_UP",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K20": [
|
||||||
|
"TAB",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K21": [
|
||||||
|
"Q",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K22": [
|
||||||
|
"W",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K23": [
|
||||||
|
"E",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K24": [
|
||||||
|
"R",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K25": [
|
||||||
|
"T",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K26": [
|
||||||
|
"Y",
|
||||||
|
"HOME",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K27": [
|
||||||
|
"U",
|
||||||
|
"PGDN",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K28": [
|
||||||
|
"I",
|
||||||
|
"PGUP",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K29": [
|
||||||
|
"O",
|
||||||
|
"END",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K2A": [
|
||||||
|
"P",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K2B": [
|
||||||
|
"BRACE_OPEN",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K2C": [
|
||||||
|
"BRACE_CLOSE",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K2D": [
|
||||||
|
"BACKSLASH",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K2E": [
|
||||||
|
"PGDN",
|
||||||
|
"VOLUME_DOWN",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K30": [
|
||||||
|
"CAPS",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K31": [
|
||||||
|
"A",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K32": [
|
||||||
|
"S",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K33": [
|
||||||
|
"D",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K34": [
|
||||||
|
"F",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K35": [
|
||||||
|
"G",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K36": [
|
||||||
|
"H",
|
||||||
|
"LEFT",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K37": [
|
||||||
|
"J",
|
||||||
|
"DOWN",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K38": [
|
||||||
|
"K",
|
||||||
|
"UP",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K39": [
|
||||||
|
"L",
|
||||||
|
"RIGHT",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K3A": [
|
||||||
|
"SEMICOLON",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K3B": [
|
||||||
|
"QUOTE",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K3C": [
|
||||||
|
"ENTER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K3D": [
|
||||||
|
"END",
|
||||||
|
"MUTE",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K40": [
|
||||||
|
"LEFT_SHIFT",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K41": [
|
||||||
|
"Z",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K42": [
|
||||||
|
"X",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K43": [
|
||||||
|
"C",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K44": [
|
||||||
|
"V",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K45": [
|
||||||
|
"B",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K46": [
|
||||||
|
"N",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K47": [
|
||||||
|
"M",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K48": [
|
||||||
|
"COMMA",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K49": [
|
||||||
|
"PERIOD",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K4A": [
|
||||||
|
"SLASH",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K4B": [
|
||||||
|
"RIGHT_SHIFT",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K4C": [
|
||||||
|
"UP",
|
||||||
|
"PGUP",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K50": [
|
||||||
|
"LEFT_CTRL",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K51": [
|
||||||
|
"LEFT_SUPER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K52": [
|
||||||
|
"LEFT_ALT",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K53": [
|
||||||
|
"FN",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K54": [
|
||||||
|
"SPACE",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K55": [
|
||||||
|
"SPACE",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K56": [
|
||||||
|
"RIGHT_CTRL",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K57": [
|
||||||
|
"RIGHT_ALT",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K58": [
|
||||||
|
"PRINT_SCREEN",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K59": [
|
||||||
|
"LEFT",
|
||||||
|
"HOME",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K5A": [
|
||||||
|
"DOWN",
|
||||||
|
"PGDN",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
],
|
||||||
|
"K5B": [
|
||||||
|
"RIGHT",
|
||||||
|
"END",
|
||||||
|
"ROLL_OVER",
|
||||||
|
"ROLL_OVER"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"key_leds": {
|
||||||
|
"K00": null,
|
||||||
|
"K01": null,
|
||||||
|
"K02": null,
|
||||||
|
"K03": null,
|
||||||
|
"K04": null,
|
||||||
|
"K05": null,
|
||||||
|
"K06": null,
|
||||||
|
"K07": null,
|
||||||
|
"K08": null,
|
||||||
|
"K09": null,
|
||||||
|
"K0A": null,
|
||||||
|
"K0B": null,
|
||||||
|
"K0C": null,
|
||||||
|
"K0D": null,
|
||||||
|
"K0E": null,
|
||||||
|
"K10": null,
|
||||||
|
"K11": null,
|
||||||
|
"K12": null,
|
||||||
|
"K13": null,
|
||||||
|
"K14": null,
|
||||||
|
"K15": null,
|
||||||
|
"K16": null,
|
||||||
|
"K17": null,
|
||||||
|
"K18": null,
|
||||||
|
"K19": null,
|
||||||
|
"K1A": null,
|
||||||
|
"K1B": null,
|
||||||
|
"K1C": null,
|
||||||
|
"K1D": null,
|
||||||
|
"K1E": null,
|
||||||
|
"K20": null,
|
||||||
|
"K21": null,
|
||||||
|
"K22": null,
|
||||||
|
"K23": null,
|
||||||
|
"K24": null,
|
||||||
|
"K25": null,
|
||||||
|
"K26": null,
|
||||||
|
"K27": null,
|
||||||
|
"K28": null,
|
||||||
|
"K29": null,
|
||||||
|
"K2A": null,
|
||||||
|
"K2B": null,
|
||||||
|
"K2C": null,
|
||||||
|
"K2D": null,
|
||||||
|
"K2E": null,
|
||||||
|
"K30": null,
|
||||||
|
"K31": null,
|
||||||
|
"K32": null,
|
||||||
|
"K33": null,
|
||||||
|
"K34": null,
|
||||||
|
"K35": null,
|
||||||
|
"K36": null,
|
||||||
|
"K37": null,
|
||||||
|
"K38": null,
|
||||||
|
"K39": null,
|
||||||
|
"K3A": null,
|
||||||
|
"K3B": null,
|
||||||
|
"K3C": null,
|
||||||
|
"K3D": null,
|
||||||
|
"K40": null,
|
||||||
|
"K41": null,
|
||||||
|
"K42": null,
|
||||||
|
"K43": null,
|
||||||
|
"K44": null,
|
||||||
|
"K45": null,
|
||||||
|
"K46": null,
|
||||||
|
"K47": null,
|
||||||
|
"K48": null,
|
||||||
|
"K49": null,
|
||||||
|
"K4A": null,
|
||||||
|
"K4B": null,
|
||||||
|
"K4C": null,
|
||||||
|
"K50": null,
|
||||||
|
"K51": null,
|
||||||
|
"K52": null,
|
||||||
|
"K53": null,
|
||||||
|
"K54": null,
|
||||||
|
"K55": null,
|
||||||
|
"K56": null,
|
||||||
|
"K57": null,
|
||||||
|
"K58": null,
|
||||||
|
"K59": null,
|
||||||
|
"K5A": null,
|
||||||
|
"K5B": null
|
||||||
|
},
|
||||||
|
"layers": [
|
||||||
|
{
|
||||||
|
"mode": [
|
||||||
|
7,
|
||||||
|
127
|
||||||
|
],
|
||||||
|
"brightness": 135,
|
||||||
|
"color": [
|
||||||
|
142,
|
||||||
|
255
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mode": [
|
||||||
|
13,
|
||||||
|
127
|
||||||
|
],
|
||||||
|
"brightness": 135,
|
||||||
|
"color": [
|
||||||
|
142,
|
||||||
|
255
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mode": [
|
||||||
|
13,
|
||||||
|
127
|
||||||
|
],
|
||||||
|
"brightness": 135,
|
||||||
|
"color": [
|
||||||
|
142,
|
||||||
|
255
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mode": [
|
||||||
|
13,
|
||||||
|
127
|
||||||
|
],
|
||||||
|
"brightness": 135,
|
||||||
|
"color": [
|
||||||
|
142,
|
||||||
|
255
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
10
ansible/roles/media/tasks/amd.yaml
Normal file
10
ansible/roles/media/tasks/amd.yaml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
- name: Install scripts
|
||||||
|
copy:
|
||||||
|
src: "files/{{ item.src }}"
|
||||||
|
dest: "{{ item.dest }}"
|
||||||
|
mode: 0755
|
||||||
|
owner: root
|
||||||
|
group: wheel
|
||||||
|
loop:
|
||||||
|
- src: cast_file_vaapi
|
||||||
|
dest: /usr/local/bin/cast_file
|
||||||
@@ -6,5 +6,5 @@
|
|||||||
owner: root
|
owner: root
|
||||||
group: wheel
|
group: wheel
|
||||||
loop:
|
loop:
|
||||||
- src: cast_file_intel
|
- src: cast_file_vaapi
|
||||||
dest: /usr/local/bin/cast_file
|
dest: /usr/local/bin/cast_file
|
||||||
|
|||||||
@@ -7,5 +7,5 @@ NameResolvingService=systemd
|
|||||||
EnableNetworkConfiguration=True
|
EnableNetworkConfiguration=True
|
||||||
# route_priority_offset=300
|
# route_priority_offset=300
|
||||||
|
|
||||||
[Scan]
|
# [Scan]
|
||||||
DisablePeriodicScan=true
|
# DisablePeriodicScan=true
|
||||||
|
|||||||
@@ -36,5 +36,5 @@
|
|||||||
daemon_reload: yes
|
daemon_reload: yes
|
||||||
loop:
|
loop:
|
||||||
- iwd.service
|
- iwd.service
|
||||||
- systemd-networkd.service
|
# - systemd-networkd.service
|
||||||
- systemd-resolved.service
|
- systemd-resolved.service
|
||||||
|
|||||||
55
ansible/roles/odowork/tasks/common.yaml
Normal file
55
ansible/roles/odowork/tasks/common.yaml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
# - name: Create directories
|
||||||
|
# file:
|
||||||
|
# name: "{{ item }}"
|
||||||
|
# state: directory
|
||||||
|
# mode: 0755
|
||||||
|
# owner: root
|
||||||
|
# group: wheel
|
||||||
|
# loop:
|
||||||
|
# - /foo/bar
|
||||||
|
|
||||||
|
# - name: Install scripts
|
||||||
|
# copy:
|
||||||
|
# src: "files/{{ item.src }}"
|
||||||
|
# dest: "{{ item.dest }}"
|
||||||
|
# mode: 0755
|
||||||
|
# owner: root
|
||||||
|
# group: wheel
|
||||||
|
# loop:
|
||||||
|
# - src: foo.bash
|
||||||
|
# dest: /usr/local/bin/foo
|
||||||
|
|
||||||
|
# - name: Install Configuration
|
||||||
|
# copy:
|
||||||
|
# src: "files/{{ item.src }}"
|
||||||
|
# dest: "{{ item.dest }}"
|
||||||
|
# mode: 0600
|
||||||
|
# owner: root
|
||||||
|
# group: wheel
|
||||||
|
# loop:
|
||||||
|
# - src: foo.conf
|
||||||
|
# dest: /usr/local/etc/foo.conf
|
||||||
|
|
||||||
|
# - name: Clone Source
|
||||||
|
# git:
|
||||||
|
# repo: "https://foo.bar/baz.git"
|
||||||
|
# dest: /foo/bar
|
||||||
|
# version: "v1.0.2"
|
||||||
|
# force: true
|
||||||
|
# diff: false
|
||||||
|
|
||||||
|
- import_tasks: tasks/freebsd.yaml
|
||||||
|
when: 'os_flavor == "freebsd"'
|
||||||
|
|
||||||
|
- import_tasks: tasks/linux.yaml
|
||||||
|
when: 'os_flavor == "linux"'
|
||||||
|
|
||||||
|
- include_tasks:
|
||||||
|
file: tasks/peruser.yaml
|
||||||
|
apply:
|
||||||
|
become: yes
|
||||||
|
become_user: "{{ initialize_user }}"
|
||||||
|
when: users is defined
|
||||||
|
loop: "{{ users | dict2items | community.general.json_query('[?value.initialize==`true`].key') }}"
|
||||||
|
loop_control:
|
||||||
|
loop_var: initialize_user
|
||||||
5
ansible/roles/odowork/tasks/freebsd.yaml
Normal file
5
ansible/roles/odowork/tasks/freebsd.yaml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# - name: Install packages
|
||||||
|
# package:
|
||||||
|
# name:
|
||||||
|
# - foo
|
||||||
|
# state: present
|
||||||
5
ansible/roles/odowork/tasks/linux.yaml
Normal file
5
ansible/roles/odowork/tasks/linux.yaml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
- name: Install packages
|
||||||
|
package:
|
||||||
|
name:
|
||||||
|
- python-numpy # Increases the speed of iap tunnels
|
||||||
|
state: present
|
||||||
2
ansible/roles/odowork/tasks/main.yaml
Normal file
2
ansible/roles/odowork/tasks/main.yaml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
- import_tasks: tasks/common.yaml
|
||||||
|
# when: foo is defined
|
||||||
29
ansible/roles/odowork/tasks/peruser.yaml
Normal file
29
ansible/roles/odowork/tasks/peruser.yaml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
- include_role:
|
||||||
|
name: per_user
|
||||||
|
|
||||||
|
# - name: Create directories
|
||||||
|
# file:
|
||||||
|
# name: "{{ account_homedir.stdout }}/{{ item }}"
|
||||||
|
# state: directory
|
||||||
|
# mode: 0700
|
||||||
|
# owner: "{{ account_name.stdout }}"
|
||||||
|
# group: "{{ group_name.stdout }}"
|
||||||
|
# loop:
|
||||||
|
# - ".config/foo"
|
||||||
|
|
||||||
|
# - name: Copy files
|
||||||
|
# copy:
|
||||||
|
# src: "files/{{ item.src }}"
|
||||||
|
# dest: "{{ account_homedir.stdout }}/{{ item.dest }}"
|
||||||
|
# mode: 0600
|
||||||
|
# owner: "{{ account_name.stdout }}"
|
||||||
|
# group: "{{ group_name.stdout }}"
|
||||||
|
# loop:
|
||||||
|
# - src: foo.conf
|
||||||
|
# dest: .config/foo/foo.conf
|
||||||
|
|
||||||
|
- import_tasks: tasks/peruser_freebsd.yaml
|
||||||
|
when: 'os_flavor == "freebsd"'
|
||||||
|
|
||||||
|
- import_tasks: tasks/peruser_linux.yaml
|
||||||
|
when: 'os_flavor == "linux"'
|
||||||
0
ansible/roles/odowork/tasks/peruser_freebsd.yaml
Normal file
0
ansible/roles/odowork/tasks/peruser_freebsd.yaml
Normal file
0
ansible/roles/odowork/tasks/peruser_linux.yaml
Normal file
0
ansible/roles/odowork/tasks/peruser_linux.yaml
Normal file
2
ansible/roles/package_manager/files/freeze_kernel.conf
Normal file
2
ansible/roles/package_manager/files/freeze_kernel.conf
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
[options]
|
||||||
|
IgnorePkg = linux linux-headers
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
mode: 0644
|
mode: 0644
|
||||||
loop:
|
loop:
|
||||||
- /etc/pacman.d/conf.d/blank.conf
|
- /etc/pacman.d/conf.d/blank.conf
|
||||||
when: "{{ file_exists | community.general.json_query(sub_query) | first | default(False) }} == False"
|
when: "file_exists | community.general.json_query(sub_query) | first | default(False) == False"
|
||||||
vars:
|
vars:
|
||||||
sub_query: "results[?stat.path=='{{ item }}'].stat.exists"
|
sub_query: "results[?stat.path=='{{ item }}'].stat.exists"
|
||||||
|
|
||||||
@@ -52,6 +52,7 @@
|
|||||||
group: root
|
group: root
|
||||||
loop:
|
loop:
|
||||||
- freeze_firefox.conf
|
- freeze_firefox.conf
|
||||||
|
- freeze_kernel.conf
|
||||||
|
|
||||||
- name: Install packages
|
- name: Install packages
|
||||||
package:
|
package:
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ dns/coredns
|
|||||||
editors/emacs
|
editors/emacs
|
||||||
editors/mg
|
editors/mg
|
||||||
ftp/wget
|
ftp/wget
|
||||||
|
graphics/ImageMagick
|
||||||
graphics/drm-kmod
|
graphics/drm-kmod
|
||||||
graphics/evince
|
graphics/evince
|
||||||
graphics/gimp
|
graphics/gimp
|
||||||
|
|||||||
2
ansible/roles/python/meta/main.yaml
Normal file
2
ansible/roles/python/meta/main.yaml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
dependencies:
|
||||||
|
- pyenv
|
||||||
55
ansible/roles/python/tasks/common.yaml
Normal file
55
ansible/roles/python/tasks/common.yaml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
# - name: Create directories
|
||||||
|
# file:
|
||||||
|
# name: "{{ item }}"
|
||||||
|
# state: directory
|
||||||
|
# mode: 0755
|
||||||
|
# owner: root
|
||||||
|
# group: wheel
|
||||||
|
# loop:
|
||||||
|
# - /foo/bar
|
||||||
|
|
||||||
|
# - name: Install scripts
|
||||||
|
# copy:
|
||||||
|
# src: "files/{{ item.src }}"
|
||||||
|
# dest: "{{ item.dest }}"
|
||||||
|
# mode: 0755
|
||||||
|
# owner: root
|
||||||
|
# group: wheel
|
||||||
|
# loop:
|
||||||
|
# - src: foo.bash
|
||||||
|
# dest: /usr/local/bin/foo
|
||||||
|
|
||||||
|
# - name: Install Configuration
|
||||||
|
# copy:
|
||||||
|
# src: "files/{{ item.src }}"
|
||||||
|
# dest: "{{ item.dest }}"
|
||||||
|
# mode: 0600
|
||||||
|
# owner: root
|
||||||
|
# group: wheel
|
||||||
|
# loop:
|
||||||
|
# - src: foo.conf
|
||||||
|
# dest: /usr/local/etc/foo.conf
|
||||||
|
|
||||||
|
# - name: Clone Source
|
||||||
|
# git:
|
||||||
|
# repo: "https://foo.bar/baz.git"
|
||||||
|
# dest: /foo/bar
|
||||||
|
# version: "v1.0.2"
|
||||||
|
# force: true
|
||||||
|
# diff: false
|
||||||
|
|
||||||
|
- import_tasks: tasks/freebsd.yaml
|
||||||
|
when: 'os_flavor == "freebsd"'
|
||||||
|
|
||||||
|
- import_tasks: tasks/linux.yaml
|
||||||
|
when: 'os_flavor == "linux"'
|
||||||
|
|
||||||
|
- include_tasks:
|
||||||
|
file: tasks/peruser.yaml
|
||||||
|
apply:
|
||||||
|
become: yes
|
||||||
|
become_user: "{{ initialize_user }}"
|
||||||
|
when: users is defined
|
||||||
|
loop: "{{ users | dict2items | community.general.json_query('[?value.initialize==`true`].key') }}"
|
||||||
|
loop_control:
|
||||||
|
loop_var: initialize_user
|
||||||
5
ansible/roles/python/tasks/freebsd.yaml
Normal file
5
ansible/roles/python/tasks/freebsd.yaml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# - name: Install packages
|
||||||
|
# package:
|
||||||
|
# name:
|
||||||
|
# - foo
|
||||||
|
# state: present
|
||||||
6
ansible/roles/python/tasks/linux.yaml
Normal file
6
ansible/roles/python/tasks/linux.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
- name: Install packages
|
||||||
|
package:
|
||||||
|
name:
|
||||||
|
- python
|
||||||
|
- python-poetry
|
||||||
|
state: present
|
||||||
2
ansible/roles/python/tasks/main.yaml
Normal file
2
ansible/roles/python/tasks/main.yaml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
- import_tasks: tasks/common.yaml
|
||||||
|
# when: foo is defined
|
||||||
29
ansible/roles/python/tasks/peruser.yaml
Normal file
29
ansible/roles/python/tasks/peruser.yaml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
- include_role:
|
||||||
|
name: per_user
|
||||||
|
|
||||||
|
# - name: Create directories
|
||||||
|
# file:
|
||||||
|
# name: "{{ account_homedir.stdout }}/{{ item }}"
|
||||||
|
# state: directory
|
||||||
|
# mode: 0700
|
||||||
|
# owner: "{{ account_name.stdout }}"
|
||||||
|
# group: "{{ group_name.stdout }}"
|
||||||
|
# loop:
|
||||||
|
# - ".config/foo"
|
||||||
|
|
||||||
|
# - name: Copy files
|
||||||
|
# copy:
|
||||||
|
# src: "files/{{ item.src }}"
|
||||||
|
# dest: "{{ account_homedir.stdout }}/{{ item.dest }}"
|
||||||
|
# mode: 0600
|
||||||
|
# owner: "{{ account_name.stdout }}"
|
||||||
|
# group: "{{ group_name.stdout }}"
|
||||||
|
# loop:
|
||||||
|
# - src: foo.conf
|
||||||
|
# dest: .config/foo/foo.conf
|
||||||
|
|
||||||
|
- import_tasks: tasks/peruser_freebsd.yaml
|
||||||
|
when: 'os_flavor == "freebsd"'
|
||||||
|
|
||||||
|
- import_tasks: tasks/peruser_linux.yaml
|
||||||
|
when: 'os_flavor == "linux"'
|
||||||
0
ansible/roles/python/tasks/peruser_freebsd.yaml
Normal file
0
ansible/roles/python/tasks/peruser_freebsd.yaml
Normal file
0
ansible/roles/python/tasks/peruser_linux.yaml
Normal file
0
ansible/roles/python/tasks/peruser_linux.yaml
Normal file
55
ansible/roles/restaurant_health_rating/tasks/common.yaml
Normal file
55
ansible/roles/restaurant_health_rating/tasks/common.yaml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
# - name: Create directories
|
||||||
|
# file:
|
||||||
|
# name: "{{ item }}"
|
||||||
|
# state: directory
|
||||||
|
# mode: 0755
|
||||||
|
# owner: root
|
||||||
|
# group: wheel
|
||||||
|
# loop:
|
||||||
|
# - /foo/bar
|
||||||
|
|
||||||
|
# - name: Install scripts
|
||||||
|
# copy:
|
||||||
|
# src: "files/{{ item.src }}"
|
||||||
|
# dest: "{{ item.dest }}"
|
||||||
|
# mode: 0755
|
||||||
|
# owner: root
|
||||||
|
# group: wheel
|
||||||
|
# loop:
|
||||||
|
# - src: foo.bash
|
||||||
|
# dest: /usr/local/bin/foo
|
||||||
|
|
||||||
|
# - name: Install Configuration
|
||||||
|
# copy:
|
||||||
|
# src: "files/{{ item.src }}"
|
||||||
|
# dest: "{{ item.dest }}"
|
||||||
|
# mode: 0600
|
||||||
|
# owner: root
|
||||||
|
# group: wheel
|
||||||
|
# loop:
|
||||||
|
# - src: foo.conf
|
||||||
|
# dest: /usr/local/etc/foo.conf
|
||||||
|
|
||||||
|
# - name: Clone Source
|
||||||
|
# git:
|
||||||
|
# repo: "https://foo.bar/baz.git"
|
||||||
|
# dest: /foo/bar
|
||||||
|
# version: "v1.0.2"
|
||||||
|
# force: true
|
||||||
|
# diff: false
|
||||||
|
|
||||||
|
- import_tasks: tasks/freebsd.yaml
|
||||||
|
when: 'os_flavor == "freebsd"'
|
||||||
|
|
||||||
|
- import_tasks: tasks/linux.yaml
|
||||||
|
when: 'os_flavor == "linux"'
|
||||||
|
|
||||||
|
- include_tasks:
|
||||||
|
file: tasks/peruser.yaml
|
||||||
|
apply:
|
||||||
|
become: yes
|
||||||
|
become_user: "{{ initialize_user }}"
|
||||||
|
when: users is defined
|
||||||
|
loop: "{{ users | dict2items | community.general.json_query('[?value.initialize==`true`].key') }}"
|
||||||
|
loop_control:
|
||||||
|
loop_var: initialize_user
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
- name: Install packages
|
||||||
|
package:
|
||||||
|
name:
|
||||||
|
- ImageMagick7
|
||||||
|
state: present
|
||||||
6
ansible/roles/restaurant_health_rating/tasks/linux.yaml
Normal file
6
ansible/roles/restaurant_health_rating/tasks/linux.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
- name: Install packages
|
||||||
|
package:
|
||||||
|
name:
|
||||||
|
- imagemagick
|
||||||
|
- web-ext
|
||||||
|
state: present
|
||||||
2
ansible/roles/restaurant_health_rating/tasks/main.yaml
Normal file
2
ansible/roles/restaurant_health_rating/tasks/main.yaml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
- import_tasks: tasks/common.yaml
|
||||||
|
# when: foo is defined
|
||||||
29
ansible/roles/restaurant_health_rating/tasks/peruser.yaml
Normal file
29
ansible/roles/restaurant_health_rating/tasks/peruser.yaml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
- include_role:
|
||||||
|
name: per_user
|
||||||
|
|
||||||
|
# - name: Create directories
|
||||||
|
# file:
|
||||||
|
# name: "{{ account_homedir.stdout }}/{{ item }}"
|
||||||
|
# state: directory
|
||||||
|
# mode: 0700
|
||||||
|
# owner: "{{ account_name.stdout }}"
|
||||||
|
# group: "{{ group_name.stdout }}"
|
||||||
|
# loop:
|
||||||
|
# - ".config/foo"
|
||||||
|
|
||||||
|
# - name: Copy files
|
||||||
|
# copy:
|
||||||
|
# src: "files/{{ item.src }}"
|
||||||
|
# dest: "{{ account_homedir.stdout }}/{{ item.dest }}"
|
||||||
|
# mode: 0600
|
||||||
|
# owner: "{{ account_name.stdout }}"
|
||||||
|
# group: "{{ group_name.stdout }}"
|
||||||
|
# loop:
|
||||||
|
# - src: foo.conf
|
||||||
|
# dest: .config/foo/foo.conf
|
||||||
|
|
||||||
|
- import_tasks: tasks/peruser_freebsd.yaml
|
||||||
|
when: 'os_flavor == "freebsd"'
|
||||||
|
|
||||||
|
- import_tasks: tasks/peruser_linux.yaml
|
||||||
|
when: 'os_flavor == "linux"'
|
||||||
@@ -1,2 +1,2 @@
|
|||||||
# Check that rust-analyzer is valid for date on https://rust-lang.github.io/rustup-components-history/
|
# Check that rust-analyzer is valid for date on https://rust-lang.github.io/rustup-components-history/
|
||||||
rust_date: "2023-10-16"
|
rust_date: "2023-12-04"
|
||||||
|
|||||||
@@ -3,10 +3,13 @@
|
|||||||
args:
|
args:
|
||||||
creates: "{{ account_homedir.stdout }}/.rustup/toolchains/nightly-{{ rust_date }}-x86_64-unknown-linux-gnu"
|
creates: "{{ account_homedir.stdout }}/.rustup/toolchains/nightly-{{ rust_date }}-x86_64-unknown-linux-gnu"
|
||||||
|
|
||||||
- name: Install the musl target
|
- name: Install targets
|
||||||
command: rustup target add x86_64-unknown-linux-musl
|
command: rustup target add "{{ item }}"
|
||||||
args:
|
args:
|
||||||
creates: "{{ account_homedir.stdout }}/.rustup/toolchains/nightly-{{ rust_date }}-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl"
|
creates: "{{ account_homedir.stdout }}/.rustup/toolchains/nightly-{{ rust_date }}-x86_64-unknown-linux-gnu/lib/rustlib/{{ item }}"
|
||||||
|
loop:
|
||||||
|
- x86_64-unknown-linux-musl
|
||||||
|
- wasm32-unknown-unknown
|
||||||
|
|
||||||
# Needed by rust-analyzer (rust-analyzer will attempt to install via rustup on its own, but this will install it manually).
|
# Needed by rust-analyzer (rust-analyzer will attempt to install via rustup on its own, but this will install it manually).
|
||||||
- name: Install the nightly rust-src
|
- name: Install the nightly rust-src
|
||||||
|
|||||||
@@ -21,4 +21,6 @@
|
|||||||
- pipewire-pulse
|
- pipewire-pulse
|
||||||
- wireplumber
|
- wireplumber
|
||||||
- pavucontrol
|
- pavucontrol
|
||||||
|
- pipewire-jack
|
||||||
|
- lib32-pipewire-jack
|
||||||
state: present
|
state: present
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ KbdInteractiveAuthentication no
|
|||||||
#AllowAgentForwarding yes
|
#AllowAgentForwarding yes
|
||||||
#AllowTcpForwarding yes
|
#AllowTcpForwarding yes
|
||||||
#GatewayPorts no
|
#GatewayPorts no
|
||||||
#X11Forwarding yes
|
#X11Forwarding no
|
||||||
#X11DisplayOffset 10
|
#X11DisplayOffset 10
|
||||||
#X11UseLocalhost yes
|
#X11UseLocalhost yes
|
||||||
#PermitTTY yes
|
#PermitTTY yes
|
||||||
@@ -106,7 +106,7 @@ KbdInteractiveAuthentication no
|
|||||||
#PermitTunnel no
|
#PermitTunnel no
|
||||||
#ChrootDirectory none
|
#ChrootDirectory none
|
||||||
#UseBlacklist no
|
#UseBlacklist no
|
||||||
#VersionAddendum FreeBSD-20230316
|
#VersionAddendum FreeBSD-20231004
|
||||||
|
|
||||||
# no default banner path
|
# no default banner path
|
||||||
#Banner none
|
#Banner none
|
||||||
|
|||||||
@@ -10,3 +10,4 @@ default_sway_conf_files:
|
|||||||
- disable_focus_follows_mouse
|
- disable_focus_follows_mouse
|
||||||
- lockscreen
|
- lockscreen
|
||||||
- logout
|
- logout
|
||||||
|
- force_focus
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
mode "force focus" {
|
||||||
|
bindsym $mod+Shift+Escape fullscreen; mode "default"
|
||||||
|
}
|
||||||
|
bindsym $mod+Shift+f fullscreen; mode "force focus"
|
||||||
1
ansible/roles/vscode/defaults/main.yaml
Normal file
1
ansible/roles/vscode/defaults/main.yaml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
closed_source_vscode: false
|
||||||
1
ansible/roles/vscode/files/code-flags.conf
Normal file
1
ansible/roles/vscode/files/code-flags.conf
Normal file
@@ -0,0 +1 @@
|
|||||||
|
--ozone-platform-hint=auto
|
||||||
208
ansible/roles/vscode/files/keybindings.json
Normal file
208
ansible/roles/vscode/files/keybindings.json
Normal file
@@ -0,0 +1,208 @@
|
|||||||
|
// Place your key bindings in this file to override the defaultsauto[]
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"key": "alt+.",
|
||||||
|
"command": "editor.action.revealDefinition",
|
||||||
|
"when": "editorHasDefinitionProvider && editorTextFocus && !isInEmbeddedEditor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "f12",
|
||||||
|
"command": "-editor.action.revealDefinition",
|
||||||
|
"when": "editorHasDefinitionProvider && editorTextFocus && !isInEmbeddedEditor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+,",
|
||||||
|
"command": "workbench.action.navigateBack",
|
||||||
|
"when": "canNavigateBack"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+alt+-",
|
||||||
|
"command": "-workbench.action.navigateBack",
|
||||||
|
"when": "canNavigateBack"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "shift+alt+/",
|
||||||
|
"command": "editor.action.goToReferences",
|
||||||
|
"when": "editorHasReferenceProvider && editorTextFocus && !inReferenceSearchEditor && !isInEmbeddedEditor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "shift+f12",
|
||||||
|
"command": "-editor.action.goToReferences",
|
||||||
|
"when": "editorHasReferenceProvider && editorTextFocus && !inReferenceSearchEditor && !isInEmbeddedEditor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+alt+.",
|
||||||
|
"command": "workbench.action.showAllSymbols"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+t",
|
||||||
|
"command": "-workbench.action.showAllSymbols"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+;",
|
||||||
|
"command": "editor.action.commentLine",
|
||||||
|
"when": "editorTextFocus && !editorReadonly"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+/",
|
||||||
|
"command": "-editor.action.commentLine",
|
||||||
|
"when": "editorTextFocus && !editorReadonly"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+x",
|
||||||
|
"command": "-editor.action.clipboardCutAction"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+x",
|
||||||
|
"command": "-filesExplorer.cut",
|
||||||
|
"when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+x 3",
|
||||||
|
"command": "workbench.action.splitEditor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+\\",
|
||||||
|
"command": "-workbench.action.splitEditor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+x 2",
|
||||||
|
"command": "workbench.action.splitEditorDown"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+k ctrl+\\",
|
||||||
|
"command": "-workbench.action.splitEditorDown"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+x 1",
|
||||||
|
"command": "workbench.action.joinAllGroups"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+x 0",
|
||||||
|
"command": "workbench.action.closeEditorsAndGroup"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+x shift+=",
|
||||||
|
"command": "workbench.action.evenEditorWidths"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "shift+up",
|
||||||
|
"command": "workbench.action.focusAboveGroup"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+k ctrl+up",
|
||||||
|
"command": "-workbench.action.focusAboveGroup"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "shift+down",
|
||||||
|
"command": "workbench.action.focusBelowGroup"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+k ctrl+down",
|
||||||
|
"command": "-workbench.action.focusBelowGroup"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "shift+left",
|
||||||
|
"command": "workbench.action.focusLeftGroup"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+k ctrl+left",
|
||||||
|
"command": "-workbench.action.focusLeftGroup"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "shift+right",
|
||||||
|
"command": "workbench.action.focusRightGroup"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+k ctrl+right",
|
||||||
|
"command": "-workbench.action.focusRightGroup"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+x ctrl+s",
|
||||||
|
"command": "workbench.action.files.save"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+s",
|
||||||
|
"command": "-workbench.action.files.save"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+g g",
|
||||||
|
"command": "workbench.action.gotoLine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+g",
|
||||||
|
"command": "-workbench.action.gotoLine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+space",
|
||||||
|
"command": "editor.action.setSelectionAnchor",
|
||||||
|
"when": "editorTextFocus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+k ctrl+b",
|
||||||
|
"command": "-editor.action.setSelectionAnchor",
|
||||||
|
"when": "editorTextFocus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+w",
|
||||||
|
"command": "editor.action.clipboardCopyAction"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+c",
|
||||||
|
"command": "-editor.action.clipboardCopyAction"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+w",
|
||||||
|
"command": "editor.action.clipboardCutAction"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+y",
|
||||||
|
"command": "editor.action.clipboardPasteAction"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+v",
|
||||||
|
"command": "-editor.action.clipboardPasteAction"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+x ctrl+f",
|
||||||
|
"command": "workbench.action.quickOpen"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+e",
|
||||||
|
"command": "-workbench.action.quickOpen"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+a",
|
||||||
|
"command": "cursorLineStart"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+e",
|
||||||
|
"command": "cursorLineEnd"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+s",
|
||||||
|
"command": "actions.find",
|
||||||
|
"when": "editorFocus || editorIsOpen"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+f",
|
||||||
|
"command": "-actions.find",
|
||||||
|
"when": "editorFocus || editorIsOpen"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+-",
|
||||||
|
"command": "undo"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+z",
|
||||||
|
"command": "-undo"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+x",
|
||||||
|
"command": "workbench.action.showCommands"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+p",
|
||||||
|
"command": "-workbench.action.showCommands"
|
||||||
|
}
|
||||||
|
]
|
||||||
22
ansible/roles/vscode/files/settings.json
Normal file
22
ansible/roles/vscode/files/settings.json
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"application.shellEnvironmentResolutionTimeout": 90,
|
||||||
|
"workbench.colorTheme": "Default High Contrast",
|
||||||
|
"remote.SSH.connectTimeout": 30,
|
||||||
|
"remote.SSH.enableDynamicForwarding": false,
|
||||||
|
"remote.SSH.enableAgentForwarding": false,
|
||||||
|
"remote.SSH.enableX11Forwarding": false,
|
||||||
|
"python.analysis.inlayHints.functionReturnTypes": true,
|
||||||
|
"python.analysis.inlayHints.variableTypes": true,
|
||||||
|
"editor.minimap.enabled": false,
|
||||||
|
"editor.fontSize": 12,
|
||||||
|
"editor.cursorStyle": "block",
|
||||||
|
"editor.fontFamily": "'Cascadia Mono', 'monospace', monospace",
|
||||||
|
"workbench.colorCustomizations": {
|
||||||
|
"editorCursor.foreground": "#ccff66",
|
||||||
|
"terminalCursor.foreground": "#ccff66"
|
||||||
|
},
|
||||||
|
"[python]": {
|
||||||
|
"editor.defaultFormatter": "ms-python.black-formatter",
|
||||||
|
"editor.formatOnSave": true
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,4 +1,29 @@
|
|||||||
|
- name: Build aur packages
|
||||||
|
when: closed_source_vscode
|
||||||
|
register: buildaur
|
||||||
|
become_user: "{{ build_user.name }}"
|
||||||
|
command: "aurutils-sync --no-view {{ item }}"
|
||||||
|
args:
|
||||||
|
creates: "/var/cache/pacman/custom/{{ item }}-*.pkg.tar.*"
|
||||||
|
loop:
|
||||||
|
- visual-studio-code-bin
|
||||||
|
|
||||||
|
- name: Update cache
|
||||||
|
when: closed_source_vscode and buildaur.changed
|
||||||
|
pacman:
|
||||||
|
name: []
|
||||||
|
state: present
|
||||||
|
update_cache: true
|
||||||
|
|
||||||
- name: Install packages
|
- name: Install packages
|
||||||
|
when: closed_source_vscode
|
||||||
|
package:
|
||||||
|
name:
|
||||||
|
- visual-studio-code-bin
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Install packages
|
||||||
|
when: not closed_source_vscode
|
||||||
package:
|
package:
|
||||||
name:
|
name:
|
||||||
- code
|
- code
|
||||||
|
|||||||
@@ -0,0 +1,61 @@
|
|||||||
|
- name: Copy files
|
||||||
|
copy:
|
||||||
|
src: "files/{{ item.src }}"
|
||||||
|
dest: "{{ account_homedir.stdout }}/{{ item.dest }}"
|
||||||
|
mode: 0600
|
||||||
|
owner: "{{ account_name.stdout }}"
|
||||||
|
group: "{{ group_name.stdout }}"
|
||||||
|
loop:
|
||||||
|
# Support wayland
|
||||||
|
- src: code-flags.conf
|
||||||
|
dest: .config/code-flags.conf
|
||||||
|
|
||||||
|
- name: Create directories
|
||||||
|
when: closed_source_vscode
|
||||||
|
file:
|
||||||
|
name: "{{ account_homedir.stdout }}/{{ item }}"
|
||||||
|
state: directory
|
||||||
|
mode: 0700
|
||||||
|
owner: "{{ account_name.stdout }}"
|
||||||
|
group: "{{ group_name.stdout }}"
|
||||||
|
loop:
|
||||||
|
- .config/Code/User
|
||||||
|
|
||||||
|
- name: Copy files
|
||||||
|
when: closed_source_vscode
|
||||||
|
copy:
|
||||||
|
src: "files/{{ item.src }}"
|
||||||
|
dest: "{{ account_homedir.stdout }}/{{ item.dest }}"
|
||||||
|
mode: 0644
|
||||||
|
owner: "{{ account_name.stdout }}"
|
||||||
|
group: "{{ group_name.stdout }}"
|
||||||
|
loop:
|
||||||
|
- src: keybindings.json
|
||||||
|
dest: .config/Code/User/keybindings.json
|
||||||
|
- src: settings.json
|
||||||
|
dest: .config/Code/User/settings.json
|
||||||
|
|
||||||
|
- name: Create directories
|
||||||
|
when: not closed_source_vscode
|
||||||
|
file:
|
||||||
|
name: "{{ account_homedir.stdout }}/{{ item }}"
|
||||||
|
state: directory
|
||||||
|
mode: 0700
|
||||||
|
owner: "{{ account_name.stdout }}"
|
||||||
|
group: "{{ group_name.stdout }}"
|
||||||
|
loop:
|
||||||
|
- .config/Code/User
|
||||||
|
|
||||||
|
- name: Copy files
|
||||||
|
when: not closed_source_vscode
|
||||||
|
copy:
|
||||||
|
src: "files/{{ item.src }}"
|
||||||
|
dest: "{{ account_homedir.stdout }}/{{ item.dest }}"
|
||||||
|
mode: 0600
|
||||||
|
owner: "{{ account_name.stdout }}"
|
||||||
|
group: "{{ group_name.stdout }}"
|
||||||
|
loop:
|
||||||
|
- src: keybindings.json
|
||||||
|
dest: .config/Code - OSS/User/keybindings.json
|
||||||
|
- src: settings.json
|
||||||
|
dest: .config/Code - OSS/User/settings.json
|
||||||
|
|||||||
55
ansible/roles/wasm/tasks/common.yaml
Normal file
55
ansible/roles/wasm/tasks/common.yaml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
# - name: Create directories
|
||||||
|
# file:
|
||||||
|
# name: "{{ item }}"
|
||||||
|
# state: directory
|
||||||
|
# mode: 0755
|
||||||
|
# owner: root
|
||||||
|
# group: wheel
|
||||||
|
# loop:
|
||||||
|
# - /foo/bar
|
||||||
|
|
||||||
|
# - name: Install scripts
|
||||||
|
# copy:
|
||||||
|
# src: "files/{{ item.src }}"
|
||||||
|
# dest: "{{ item.dest }}"
|
||||||
|
# mode: 0755
|
||||||
|
# owner: root
|
||||||
|
# group: wheel
|
||||||
|
# loop:
|
||||||
|
# - src: foo.bash
|
||||||
|
# dest: /usr/local/bin/foo
|
||||||
|
|
||||||
|
# - name: Install Configuration
|
||||||
|
# copy:
|
||||||
|
# src: "files/{{ item.src }}"
|
||||||
|
# dest: "{{ item.dest }}"
|
||||||
|
# mode: 0600
|
||||||
|
# owner: root
|
||||||
|
# group: wheel
|
||||||
|
# loop:
|
||||||
|
# - src: foo.conf
|
||||||
|
# dest: /usr/local/etc/foo.conf
|
||||||
|
|
||||||
|
# - name: Clone Source
|
||||||
|
# git:
|
||||||
|
# repo: "https://foo.bar/baz.git"
|
||||||
|
# dest: /foo/bar
|
||||||
|
# version: "v1.0.2"
|
||||||
|
# force: true
|
||||||
|
# diff: false
|
||||||
|
|
||||||
|
- import_tasks: tasks/freebsd.yaml
|
||||||
|
when: 'os_flavor == "freebsd"'
|
||||||
|
|
||||||
|
- import_tasks: tasks/linux.yaml
|
||||||
|
when: 'os_flavor == "linux"'
|
||||||
|
|
||||||
|
- include_tasks:
|
||||||
|
file: tasks/peruser.yaml
|
||||||
|
apply:
|
||||||
|
become: yes
|
||||||
|
become_user: "{{ initialize_user }}"
|
||||||
|
when: users is defined
|
||||||
|
loop: "{{ users | dict2items | community.general.json_query('[?value.initialize==`true`].key') }}"
|
||||||
|
loop_control:
|
||||||
|
loop_var: initialize_user
|
||||||
5
ansible/roles/wasm/tasks/freebsd.yaml
Normal file
5
ansible/roles/wasm/tasks/freebsd.yaml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# - name: Install packages
|
||||||
|
# package:
|
||||||
|
# name:
|
||||||
|
# - foo
|
||||||
|
# state: present
|
||||||
7
ansible/roles/wasm/tasks/linux.yaml
Normal file
7
ansible/roles/wasm/tasks/linux.yaml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
- name: Install packages
|
||||||
|
package:
|
||||||
|
name:
|
||||||
|
- wabt
|
||||||
|
- wasm-bindgen
|
||||||
|
- binaryen # for wasm-opt
|
||||||
|
state: present
|
||||||
2
ansible/roles/wasm/tasks/main.yaml
Normal file
2
ansible/roles/wasm/tasks/main.yaml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
- import_tasks: tasks/common.yaml
|
||||||
|
# when: foo is defined
|
||||||
29
ansible/roles/wasm/tasks/peruser.yaml
Normal file
29
ansible/roles/wasm/tasks/peruser.yaml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
- include_role:
|
||||||
|
name: per_user
|
||||||
|
|
||||||
|
# - name: Create directories
|
||||||
|
# file:
|
||||||
|
# name: "{{ account_homedir.stdout }}/{{ item }}"
|
||||||
|
# state: directory
|
||||||
|
# mode: 0700
|
||||||
|
# owner: "{{ account_name.stdout }}"
|
||||||
|
# group: "{{ group_name.stdout }}"
|
||||||
|
# loop:
|
||||||
|
# - ".config/foo"
|
||||||
|
|
||||||
|
# - name: Copy files
|
||||||
|
# copy:
|
||||||
|
# src: "files/{{ item.src }}"
|
||||||
|
# dest: "{{ account_homedir.stdout }}/{{ item.dest }}"
|
||||||
|
# mode: 0600
|
||||||
|
# owner: "{{ account_name.stdout }}"
|
||||||
|
# group: "{{ group_name.stdout }}"
|
||||||
|
# loop:
|
||||||
|
# - src: foo.conf
|
||||||
|
# dest: .config/foo/foo.conf
|
||||||
|
|
||||||
|
- import_tasks: tasks/peruser_freebsd.yaml
|
||||||
|
when: 'os_flavor == "freebsd"'
|
||||||
|
|
||||||
|
- import_tasks: tasks/peruser_linux.yaml
|
||||||
|
when: 'os_flavor == "linux"'
|
||||||
0
ansible/roles/wasm/tasks/peruser_freebsd.yaml
Normal file
0
ansible/roles/wasm/tasks/peruser_freebsd.yaml
Normal file
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user