Browse Source

update TODO, add changes from lappy

main
cinnaboot 3 years ago
parent
commit
d0faff3854
  1. 72
      TODO
  2. 327
      files/dconf.in
  3. 4
      files/firefox/user-overrides.js
  4. 32
      files/lxd_preseed.yml
  5. 64
      files/nftables.conf
  6. 28
      group_vars/all.yml
  7. 3
      local.yml
  8. 11
      tasks/base.yml
  9. 5
      tasks/desktop.yml
  10. 10
      tasks/electronics.yml
  11. 12
      tasks/firefox.yml
  12. 5
      tasks/vim.yml

72
TODO

@ -1,19 +1,55 @@
=== sandboxing: (aka, stop using firejail's setuid) === === bluetooth ===
ideally would be lightweight lxc containers only running Wayland, with set default power state to off:
no fallback to X11 https://wiki.archlinux.org/title/Bluetooth#Default_adapter_power_state
- there is a '--no-x11' flag for 'gnome-shell':
- https://old.reddit.com/r/gnome/comments/xa18en/how_to_disable_xwayland_completely/
- https://wiki.archlinux.org/title/LXD#Use_Wayland_and_Xorg_applications === gnome/wayland testing ===
- https://discuss.linuxcontainers.org/t/overview-gui-inside-containers/8767
- https://blog.simos.info/running-x11-software-in-lxd-containers/ step 1: don't use gnome...
- for issues mounting the X socket:
https://github.com/lxc/lxd/issues/6584#issuecomment-564367714 no notificaion area, or systray by default. most systray extensions seem to
require Xwayland. We need at least an icon for evolution mail, and for the
for seccomp filtering, maybe try bwrap, or flatpak libnotify history.
lxc already uses seccomp filtering - https://aur.archlinux.org/packages/evolution-on-appindicator
see: /usr/share/lxc/config/common.seccomp doesn't work properly
evolution mail client: clipboard:
- copy ~/.config/evolution, and ~/.local/share/evolution to new install need to replace xclip in .tmux.conf with wl-copy
vim wayland yank to clipboard
clipboard manager for gnome?
gnome-shell-extension-clipboard-indicator works well, but for some reason
doesn't clear the last item copied...
wireguard + nftables setup
break out lxd setup
- lxd preseed
- default containers
break out gnome settings into task file and group vars
add reflector service:
https://wiki.archlinux.org/title/Reflector
add alacritty config
=== lxc ===
add lxc backup script for common containers
=== sandboxing: (aka, stop using firejail's large setuid binary) ===
bubblejail seems to be working so far after testing
- need to modify firefox installation folders for use with the bubblejail
home folders though
- evolution seems to need some extra dbus permissions
evolution mail client:
- copy ~/.config/evolution, and ~/.local/share/evolution to new install
mpv firefox native plugin

327
files/dconf.in

@ -5,8 +5,33 @@ window-height=500
window-is-maximized=false window-is-maximized=false
window-width=540 window-width=540
[org/blueman/general]
services-last-item=0
window-properties=[624, 439, 0, 0]
[org/blueman/network]
nap-enable=false
[org/blueman/plugins/powermanager]
auto-power-on=@mb false
[org/geda-user/gerbv]
background-color=uint32 0
window-maximized=false
window-position=[100, 100]
window-size=[1440, 810]
[org/gnome/Connections]
first-run=false
[org/gnome/Console] [org/gnome/Console]
last-window-size=(652, 481) last-window-size=(977, 1048)
[org/gnome/Disks/benchmark]
do-write=true
num-access-samples=1000
num-samples=100
sample-size-mib=10
[org/gnome/Klotski] [org/gnome/Klotski]
level=0 level=0
@ -23,8 +48,8 @@ panel-id='world'
size=(870, 690) size=(870, 690)
[org/gnome/control-center] [org/gnome/control-center]
last-panel='display' last-panel='power'
window-state=(980, 640, false) window-state=(1258, 943, false)
[org/gnome/desktop/app-folders] [org/gnome/desktop/app-folders]
folder-children=['Utilities', 'YaST'] folder-children=['Utilities', 'YaST']
@ -48,22 +73,71 @@ picture-uri-dark='file:///usr/share/backgrounds/gnome/vnc-d.webp'
primary-color='#77767B' primary-color='#77767B'
secondary-color='#000000' secondary-color='#000000'
[org/gnome/desktop/calendar]
show-weekdate=false
[org/gnome/desktop/input-sources] [org/gnome/desktop/input-sources]
sources=[('xkb', 'us')] sources=[('xkb', 'us')]
xkb-options=['terminate:ctrl_alt_bksp'] xkb-options=['terminate:ctrl_alt_bksp']
[org/gnome/desktop/interface] [org/gnome/desktop/interface]
clock-format='12h' clock-format='12h'
clock-show-weekday=true
color-scheme='prefer-dark' color-scheme='prefer-dark'
enable-hot-corners=false
font-antialiasing='grayscale' font-antialiasing='grayscale'
font-hinting='slight' font-hinting='slight'
gtk-enable-primary-paste=false
show-battery-percentage=true
[org/gnome/desktop/media-handling]
autorun-x-content-ignore=@as []
autorun-x-content-open-folder=@as []
autorun-x-content-start-app=['x-content/ostree-repository']
[org/gnome/desktop/notifications] [org/gnome/desktop/notifications]
application-children=['org-gnome-nautilus'] application-children=['org-gnome-nautilus', 'org-gnome-console', 'gnome-power-panel', 'org-gnome-evolution', 'firefox', 'gnome-network-panel', 'org-kicad-kicad', 'steam', 'org-gnome-settings']
[org/gnome/desktop/notifications/application/firefox]
application-id='firefox.desktop'
[org/gnome/desktop/notifications/application/gnome-network-panel]
application-id='gnome-network-panel.desktop'
[org/gnome/desktop/notifications/application/gnome-power-panel]
application-id='gnome-power-panel.desktop'
[org/gnome/desktop/notifications/application/gnome-printers-panel]
application-id='gnome-printers-panel.desktop'
[org/gnome/desktop/notifications/application/org-gnome-console]
application-id='org.gnome.Console.desktop'
[org/gnome/desktop/notifications/application/org-gnome-evolution]
application-id='org.gnome.Evolution.desktop'
[org/gnome/desktop/notifications/application/org-gnome-nautilus] [org/gnome/desktop/notifications/application/org-gnome-nautilus]
application-id='org.gnome.Nautilus.desktop' application-id='org.gnome.Nautilus.desktop'
[org/gnome/desktop/notifications/application/org-gnome-settings]
application-id='org.gnome.Settings.desktop'
[org/gnome/desktop/notifications/application/org-kicad-kicad]
application-id='org.kicad.kicad.desktop'
[org/gnome/desktop/notifications/application/steam]
application-id='steam.desktop'
[org/gnome/desktop/peripherals/mouse]
speed=-0.59073359073359066
[org/gnome/desktop/peripherals/touchpad]
click-method='areas'
natural-scroll=false
speed=0.40377358490566029
tap-to-click=true
two-finger-scrolling-enabled=true
[org/gnome/desktop/privacy] [org/gnome/desktop/privacy]
old-files-age=uint32 30 old-files-age=uint32 30
recent-files-max-age=-1 recent-files-max-age=-1
@ -79,14 +153,18 @@ secondary-color='#000000'
sort-order=['org.gnome.Contacts.desktop', 'org.gnome.Documents.desktop', 'org.gnome.Nautilus.desktop'] sort-order=['org.gnome.Contacts.desktop', 'org.gnome.Documents.desktop', 'org.gnome.Nautilus.desktop']
[org/gnome/desktop/session] [org/gnome/desktop/session]
idle-delay=uint32 300 idle-delay=uint32 0
[org/gnome/desktop/sound] [org/gnome/desktop/sound]
event-sounds=false event-sounds=false
theme-name='__custom' theme-name='__custom'
[org/gnome/desktop/wm/keybindings]
toggle-fullscreen=['F11']
[org/gnome/desktop/wm/preferences] [org/gnome/desktop/wm/preferences]
button-layout='appmenu:minimize,maximize,close' button-layout='appmenu:minimize,maximize,close'
num-workspaces=2
[org/gnome/epiphany] [org/gnome/epiphany]
ask-for-default=false ask-for-default=false
@ -98,9 +176,114 @@ window-size=(1024, 768)
[org/gnome/epiphany/sync] [org/gnome/epiphany/sync]
sync-device-name='ansible’s GNOME Web on archlinux' sync-device-name='ansible’s GNOME Web on archlinux'
[org/gnome/evince/default]
window-ratio=(1.0061815494188, 0.7126567844925884)
[org/gnome/evolution-data-server] [org/gnome/evolution-data-server]
migrated=true migrated=true
[org/gnome/evolution]
version='3.48.4'
[org/gnome/evolution/addressbook]
completion-minimum-query-length=3
completion-show-address=false
[org/gnome/evolution/calendar]
allow-direct-summary-edit=false
confirm-purge=true
date-navigator-pane-position=167
month-hpane-position=169
primary-memos='system-memo-list'
primary-tasks='system-task-list'
tag-vpane-position=0.001179245283018826
time-divisions=30
week-start-day-name='monday'
work-day-friday=true
work-day-monday=true
work-day-saturday=false
work-day-sunday=false
work-day-thursday=true
work-day-tuesday=true
work-day-wednesday=true
[org/gnome/evolution/mail]
browser-close-on-reply-policy='ask'
composer-visually-wrap-long-lines=false
forward-style-name='attached'
image-loading-policy='never'
junk-check-custom-header=true
junk-empty-on-exit-days=0
junk-lookup-addressbook=false
paned-size=1630857
paned-size-sub=1105022
prompt-on-empty-junk=true
prompt-on-mark-all-read=false
prompt-on-mark-as-junk=false
reply-style-name='quoted'
to-do-bar-width=1150000
trash-empty-on-exit-days=0
[org/gnome/evolution/mail/browser-window]
height=400
maximized=false
width=600
[org/gnome/evolution/mail/composer-window]
height=500
maximized=false
width=600
[org/gnome/evolution/plugin/autocontacts]
addressbook-source='system-address-book'
gaim-addressbook-source='system-address-book'
[org/gnome/evolution/plugin/evolution-on]
hide-on-close=true
hide-on-minimize=true
[org/gnome/evolution/plugin/mail-notification]
notify-sound-beep=false
[org/gnome/evolution/plugin/prefer-plain]
mode='prefer_plain'
show-suppressed=false
[org/gnome/evolution/shell]
default-component-id='mail'
folder-bar-width=259
menubar-visible=true
[org/gnome/evolution/shell/window]
height=1001
maximized=false
width=960
x=26
y=23
[org/gnome/gnome-session]
logout-prompt=false
[org/gnome/gnome-system-monitor]
current-tab='processes'
maximized=false
network-total-in-bits=false
show-dependencies=false
show-whose-processes='user'
window-state=(878, 643, 26, 23)
[org/gnome/gnome-system-monitor/disktreenew]
col-0-visible=true
col-0-width=144
col-1-visible=true
col-1-width=234
col-6-visible=true
col-6-width=0
[org/gnome/mutter]
attach-modal-dialogs=false
dynamic-workspaces=false
[org/gnome/nautilus/icon-view] [org/gnome/nautilus/icon-view]
default-zoom-level='small' default-zoom-level='small'
@ -108,22 +291,129 @@ default-zoom-level='small'
default-folder-viewer='list-view' default-folder-viewer='list-view'
migrated-gtk-settings=true migrated-gtk-settings=true
search-filter-time-type='last_modified' search-filter-time-type='last_modified'
search-view='list-view'
show-delete-permanently=true
[org/gnome/nautilus/window-state] [org/gnome/nautilus/window-state]
initial-size=(890, 550) initial-size=(890, 693)
maximized=false
[org/gnome/nm-applet/eap/0058cecb-af57-4c6a-a02b-759cd02ab3d9]
ignore-ca-cert=false
ignore-phase2-ca-cert=false
[org/gnome/nm-applet/eap/0757ecd0-31e6-48ca-a714-ab7bbd3de4ec]
ignore-ca-cert=false
ignore-phase2-ca-cert=false
[org/gnome/nm-applet/eap/104d5889-7fdd-4a08-9ffd-22ed0a58cb5d]
ignore-ca-cert=false
ignore-phase2-ca-cert=false
[org/gnome/nm-applet/eap/15f2ee2b-0b06-497a-92dc-e18424b0297e]
ignore-ca-cert=false
ignore-phase2-ca-cert=false
[org/gnome/nm-applet/eap/225b95ff-a249-4719-9014-6fe500d079d7]
ignore-ca-cert=false
ignore-phase2-ca-cert=false
[org/gnome/nm-applet/eap/27a116ad-a839-4f1b-892a-124160aa4892]
ignore-ca-cert=false
ignore-phase2-ca-cert=false
[org/gnome/nm-applet/eap/328d574d-1ac0-4f56-88e5-b51c5e3af2fa]
ignore-ca-cert=false
ignore-phase2-ca-cert=false
[org/gnome/nm-applet/eap/40c2b57e-6c0b-4df2-a680-0464fa8a9d4b]
ignore-ca-cert=false
ignore-phase2-ca-cert=false
[org/gnome/nm-applet/eap/4444f754-b538-4107-86df-ea6ba797e406]
ignore-ca-cert=false
ignore-phase2-ca-cert=false
[org/gnome/nm-applet/eap/4c093aa5-375f-408b-b52f-d0ff867489a6]
ignore-ca-cert=false
ignore-phase2-ca-cert=false
[org/gnome/nm-applet/eap/694cf296-b707-4ca4-a683-7dd548c52d20]
ignore-ca-cert=false
ignore-phase2-ca-cert=false
[org/gnome/nm-applet/eap/6bb961d6-37e2-45b8-bb99-6b2b251b0d66]
ignore-ca-cert=false
ignore-phase2-ca-cert=false
[org/gnome/nm-applet/eap/787cdb8a-dfea-4439-8024-7bb310bb1c20]
ignore-ca-cert=false
ignore-phase2-ca-cert=false
[org/gnome/nm-applet/eap/82205001-3983-4b44-bc75-87da73f4a236]
ignore-ca-cert=false
ignore-phase2-ca-cert=false
[org/gnome/nm-applet/eap/a787d6f4-9d50-4f32-8b36-72a9ac013e00]
ignore-ca-cert=false
ignore-phase2-ca-cert=false
[org/gnome/nm-applet/eap/b426ec8b-db7c-4a83-950e-57cdb5890107]
ignore-ca-cert=false
ignore-phase2-ca-cert=false
[org/gnome/nm-applet/eap/c95cdf7d-0f75-4fc4-a5d0-36aea3cb64f8]
ignore-ca-cert=false
ignore-phase2-ca-cert=false
[org/gnome/nm-applet/eap/d4af1550-7b7c-43a6-847c-b59608fb91a5]
ignore-ca-cert=false
ignore-phase2-ca-cert=false
[org/gnome/nm-applet/eap/df33669c-abad-436f-bc39-069ca44f8a59]
ignore-ca-cert=false
ignore-phase2-ca-cert=false
[org/gnome/nm-applet/eap/e2d12336-e98a-41ac-a1ae-4073f6679d4b]
ignore-ca-cert=false
ignore-phase2-ca-cert=false
[org/gnome/nm-applet/eap/e712376c-3e04-42d2-8f02-c525ab81c378]
ignore-ca-cert=false
ignore-phase2-ca-cert=false
[org/gnome/nm-applet/eap/e7552e7a-4a41-41b7-8467-a73fabd57526]
ignore-ca-cert=false
ignore-phase2-ca-cert=false
[org/gnome/recipes] [org/gnome/recipes]
user='ansible' user='ansible'
[org/gnome/settings-daemon/plugins/color]
night-light-enabled=false
night-light-temperature=uint32 3663
[org/gnome/settings-daemon/plugins/power]
idle-dim=false
sleep-inactive-ac-type='nothing'
sleep-inactive-battery-timeout=1800
[org/gnome/shell] [org/gnome/shell]
disable-user-extensions=false disable-user-extensions=false
disabled-extensions=['drive-menu@gnome-shell-extensions.gcampax.github.com', 'window-list@gnome-shell-extensions.gcampax.github.com'] disabled-extensions=['drive-menu@gnome-shell-extensions.gcampax.github.com', 'window-list@gnome-shell-extensions.gcampax.github.com']
enabled-extensions=['apps-menu@gnome-shell-extensions.gcampax.github.com', 'dash-to-panel@jderose9.github.com'] enabled-extensions=['apps-menu@gnome-shell-extensions.gcampax.github.com', 'dash-to-panel@jderose9.github.com', 'appindicatorsupport@rgcjonas.gmail.com', 'clipboard-indicator@tudmotu.com']
favorite-apps=['thunar.desktop', 'org.gnome.Console.desktop', 'firefox.desktop'] favorite-apps=['Alacritty.desktop', 'firefox.desktop', 'org.gnome.Evolution.desktop', 'org.gnome.Nautilus.desktop']
last-selected-power-profile='power-saver'
welcome-dialog-last-shown-version='44.1' welcome-dialog-last-shown-version='44.1'
[org/gnome/shell/extensions/clipboard-indicator]
confirm-clear=false
enable-keybindings=false
[org/gnome/shell/extensions/dash-to-panel] [org/gnome/shell/extensions/dash-to-panel]
animate-app-switch=false
animate-appicon-hover-animation-extent={'RIPPLE': 4, 'PLANK': 4, 'SIMPLE': 1} animate-appicon-hover-animation-extent={'RIPPLE': 4, 'PLANK': 4, 'SIMPLE': 1}
animate-window-launch=false
appicon-margin=0 appicon-margin=0
appicon-padding=4 appicon-padding=4
available-monitors=[0] available-monitors=[0]
@ -133,11 +423,13 @@ group-apps-use-launchers=true
hide-overview-on-startup=true hide-overview-on-startup=true
hotkeys-overlay-combo='TEMPORARILY' hotkeys-overlay-combo='TEMPORARILY'
leftbox-padding=-1 leftbox-padding=-1
panel-anchors='{"0":"MIDDLE"}' multi-monitors=false
panel-element-positions='{"0":[{"element":"showAppsButton","visible":true,"position":"stackedTL"},{"element":"activitiesButton","visible":false,"position":"stackedTL"},{"element":"leftBox","visible":true,"position":"stackedTL"},{"element":"taskbar","visible":true,"position":"stackedTL"},{"element":"centerBox","visible":true,"position":"stackedBR"},{"element":"rightBox","visible":true,"position":"stackedBR"},{"element":"dateMenu","visible":true,"position":"stackedBR"},{"element":"systemMenu","visible":true,"position":"stackedBR"},{"element":"desktopButton","visible":false,"position":"stackedBR"}]}' panel-anchors='{"0":"MIDDLE","1":"MIDDLE"}'
panel-lengths='{"0":100}' panel-element-positions='{"0":[{"element":"showAppsButton","visible":false,"position":"stackedTL"},{"element":"activitiesButton","visible":false,"position":"stackedTL"},{"element":"leftBox","visible":true,"position":"stackedTL"},{"element":"taskbar","visible":true,"position":"stackedTL"},{"element":"centerBox","visible":true,"position":"stackedBR"},{"element":"rightBox","visible":true,"position":"stackedBR"},{"element":"dateMenu","visible":true,"position":"stackedBR"},{"element":"systemMenu","visible":true,"position":"stackedBR"},{"element":"desktopButton","visible":true,"position":"stackedBR"}],"1":[{"element":"showAppsButton","visible":false,"position":"stackedTL"},{"element":"activitiesButton","visible":false,"position":"stackedTL"},{"element":"leftBox","visible":true,"position":"stackedTL"},{"element":"taskbar","visible":true,"position":"stackedTL"},{"element":"centerBox","visible":true,"position":"stackedBR"},{"element":"rightBox","visible":true,"position":"stackedBR"},{"element":"dateMenu","visible":true,"position":"stackedBR"},{"element":"systemMenu","visible":true,"position":"stackedBR"},{"element":"desktopButton","visible":true,"position":"stackedBR"}]}'
panel-sizes='{"0":32}' panel-lengths='{"0":100,"1":100}'
panel-sizes='{"0":32,"1":32}'
primary-monitor=0 primary-monitor=0
secondarymenu-contains-showdetails=false
show-appmenu=false show-appmenu=false
show-apps-icon-file='' show-apps-icon-file=''
status-icon-padding=-1 status-icon-padding=-1
@ -148,9 +440,9 @@ window-preview-title-position='TOP'
locations=@av [] locations=@av []
[org/gnome/software] [org/gnome/software]
check-timestamp=int64 1684415239 check-timestamp=int64 1691232832
first-run=false first-run=false
flatpak-purge-timestamp=int64 1684424407 flatpak-purge-timestamp=int64 1691237972
[org/gnome/terminal/legacy] [org/gnome/terminal/legacy]
theme-variant='dark' theme-variant='dark'
@ -170,7 +462,10 @@ sort-directories-first=false
sort-order='ascending' sort-order='ascending'
type-format='category' type-format='category'
view-type='list' view-type='list'
window-size=(857, 327) window-size=(857, 632)
[org/gtk/settings/color-chooser]
selected-color=(true, 0.0, 0.0, 0.0, 1.0)
[org/gtk/settings/file-chooser] [org/gtk/settings/file-chooser]
clock-format='12h' clock-format='12h'
@ -184,5 +479,5 @@ sort-column='name'
sort-directories-first=false sort-directories-first=false
sort-order='ascending' sort-order='ascending'
type-format='category' type-format='category'
window-position=(0, 0) window-position=(320, 18)
window-size=(1280, 945) window-size=(1280, 945)

4
files/firefox/user-overrides.js

@ -1,3 +1,7 @@
user_pref("browser.startup.page", 1); // 1=home
user_pref("browser.newtabpage.enabled", true);
user_pref("browser.startup.homepage", "http://10.98.46.99/dokuwiki/doku.php?id=start");
user_pref("privacy.resistFingerprinting.letterboxing", false); // [HIDDEN PREF] user_pref("privacy.resistFingerprinting.letterboxing", false); // [HIDDEN PREF]
user_pref("browser.cache.disk.enable", true); user_pref("browser.cache.disk.enable", true);

32
files/lxd_preseed.yml

@ -0,0 +1,32 @@
config:
images.auto_update_interval: "0"
networks:
- config:
ipv4.address: 10.98.46.1/24
ipv4.nat: "true"
ipv6.address: none
description: ""
name: lxdbr0
type: ""
project: default
storage_pools:
- config:
source: /var/lib/lxd/storage-pools/default
description: ""
name: default
driver: btrfs
profiles:
- config: {}
description: ""
devices:
eth0:
name: eth0
network: lxdbr0
type: nic
root:
path: /
pool: default
type: disk
name: default
projects: []
cluster: null

64
files/nftables.conf

@ -0,0 +1,64 @@
#!/usr/bin/nft -f
# IPv4/IPv6 Simple & Safe firewall ruleset.
# More examples in /usr/share/nftables/ and /usr/share/doc/nftables/examples/.
define NET_LXD = 10.98.46.0/24
flush ruleset
table inet filter {
chain input {
type filter hook input priority filter; policy drop;
ct state invalid drop comment "early drop of invalid connections"
ct state {established, related} accept comment "allow tracked connections"
iifname lo accept comment "allow from loopback"
ip protocol icmp accept comment "allow icmp"
#ip protocol icmp type { echo-request, echo-reply } accept comment "allow icmp"
#meta l4proto ipv6-icmp accept comment "allow icmp v6"
ip saddr $NET_LXD accept
jump in.lxdbr0
pkttype host limit rate 5/second counter reject with icmpx type admin-prohibited
counter
}
chain output {
type filter hook output priority filter; policy accept;
jump out.lxdbr0
}
chain forward {
type filter hook forward priority filter; policy drop;
jump fwd.lxdbr0
}
chain pstrt.lxdbr0 {
type nat hook postrouting priority srcnat; policy accept;
ip saddr 10.98.46.0/24 ip daddr != 10.98.46.0/24 masquerade
}
chain fwd.lxdbr0 {
ip version 4 oifname "lxdbr0" accept
ip version 4 iifname "lxdbr0" accept
}
chain in.lxdbr0 {
iifname "lxdbr0" tcp dport 53 accept
iifname "lxdbr0" udp dport 53 accept
iifname "lxdbr0" icmp type { destination-unreachable, time-exceeded, parameter-problem } accept
iifname "lxdbr0" udp dport 67 accept
}
chain out.lxdbr0 {
oifname "lxdbr0" tcp sport 53 accept
oifname "lxdbr0" udp sport 53 accept
oifname "lxdbr0" icmp type { destination-unreachable, time-exceeded, parameter-problem } accept
oifname "lxdbr0" udp sport 67 accept
}
}

28
group_vars/all.yml

@ -1,28 +1,54 @@
--- ---
default_user: cinnaboot default_user: cinnaboot
default_groups: power,audio,input,users default_groups: power,audio,input,users,lxd,wireshark
packages_dev: packages_dev:
- cmake - cmake
- ctags
- binutils - binutils
- gcc - gcc
- gdb - gdb
- lxd
- make - make
packages_shell: packages_shell:
- bind
- dosfstools
- htop - htop
- lshw
- man
- mtr - mtr
- pacman-contrib
- sshfs
- tmux - tmux
- traceroute
- tree - tree
- vim - vim
- wireguard-tools
- wl-clipboard
packages_electronics:
pacman:
- kicad
- kicad-library
aur:
- pcb2gcode
- candle2-git
packages_desktop: packages_desktop:
- alacritty
- audacious - audacious
- evolution
- firefox - firefox
- gnome-shell-extension-appindicator
- gnome-tweaks - gnome-tweaks
- mpv - mpv
- okular - okular
- wireshark
- xarchiver - xarchiver
- yt-dlp
packages_aur: packages_aur:
- bubblejail
- gnome-shell-extension-clipboard-indicator
- gnome-shell-extension-dash-to-panel - gnome-shell-extension-dash-to-panel
- tmux-plugin-manager
- xkcdpass - xkcdpass
firefox_profiles: firefox_profiles:

3
local.yml

@ -3,11 +3,14 @@
become: true become: true
tasks: tasks:
- import_tasks: tasks/base.yml - import_tasks: tasks/base.yml
- import_tasks: tasks/electronics.yml
tags: electronics
- hosts: localhost - hosts: localhost
become: false become: false
tasks: tasks:
- import_tasks: tasks/aur.yml - import_tasks: tasks/aur.yml
tags: aur
- hosts: localhost - hosts: localhost
become: true become: true

11
tasks/base.yml

@ -9,6 +9,17 @@
state: present state: present
name: "{{ packages_shell }}" name: "{{ packages_shell }}"
- name: install desktop applications
pacman:
state: present
name: "{{ packages_desktop }}"
- name: enable lxd systemd service
systemd:
name: lxd
enabled: true
state: started
- name: set xdg default user directories - name: set xdg default user directories
copy: copy:
src: files/user-dirs.defaults src: files/user-dirs.defaults

5
tasks/desktop.yml

@ -1,9 +1,4 @@
--- ---
- name: install desktop applications
pacman:
state: present
name: "{{ packages_desktop }}"
- name: copy dconf prefs - name: copy dconf prefs
copy: copy:
src: files/dconf.in src: files/dconf.in

10
tasks/electronics.yml

@ -0,0 +1,10 @@
---
- name: install pacman electronics packages
pacman:
state: present
name: "{{ packages_electronics.pacman }}"
#- name: install AUR electronics packages
# pacman:
# state: present
# name: "{{ packages_electronics.pacman }}"

12
tasks/firefox.yml

@ -56,11 +56,11 @@
# we need to look at the post-insall extensions.json, and create it manually # we need to look at the post-insall extensions.json, and create it manually
# TODO: find out how to copy the settings for 'customised' toolbars # TODO: find out how to copy the settings for 'customised' toolbars
# TODO: still resets the default search engine to google... # TODO: still resets the default search engine to google...
- name: copy default profile contents #- name: copy default profile contents
copy: # copy:
src: data/firefox_default_profile/ # src: data/firefox_default_profile/
dest: "{{ ff_dir }}/{{ item.name }}" # dest: "{{ ff_dir }}/{{ item.name }}"
with_items: "{{ firefox_profiles }}" # with_items: "{{ firefox_profiles }}"
when: item.name == 'ffprofile' # when: item.name == 'ffprofile'
# TODO: copy extensions for shopping/banking profiles # TODO: copy extensions for shopping/banking profiles

5
tasks/vim.yml

@ -1 +1,6 @@
--- ---
- name: clone Vundle repo
git:
repo: https://github.com/VundleVim/Vundle.vim
dest: "{{ user_home}}/.vim/bundle/Vundle.vim"

Loading…
Cancel
Save