Compare commits
8 Commits
master
...
80ee51ccfa
| Author | SHA1 | Date | |
|---|---|---|---|
| 80ee51ccfa | |||
| a453d01cdc | |||
| 259ea5c6cd | |||
| 7b39968a35 | |||
| b01b384d4a | |||
| bb7ae8514c | |||
| bb8b4d1b71 | |||
| ad8e40b78e |
6
.gitmodules
vendored
6
.gitmodules
vendored
@@ -1,3 +1,6 @@
|
||||
[submodule "ansible_roles/firefox"]
|
||||
path = ansible_roles/firefox
|
||||
url = https://github.com/staticdev/ansible-role-firefox
|
||||
[submodule "pkgbuilds/spotify"]
|
||||
path = pkgbuilds/spotify
|
||||
url = https://aur.archlinux.org/spotify.git
|
||||
@@ -55,6 +58,3 @@
|
||||
[submodule "pkgbuilds/claude-code"]
|
||||
path = pkgbuilds/claude-code
|
||||
url = https://aur.archlinux.org/claude-code.git
|
||||
[submodule "pkgbuilds/aws-session-manager-plugin"]
|
||||
path = pkgbuilds/aws-session-manager-plugin
|
||||
url = https://aur.archlinux.org/aws-session-manager-plugin.git
|
||||
|
||||
@@ -14,9 +14,6 @@
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
# Prevent failures when not battery present
|
||||
shopt -s nullglob
|
||||
|
||||
for battery in /sys/class/power_supply/*/capacity ; do
|
||||
capacity="$(< "$battery")"
|
||||
if (( "${capacity}" < 40 )) ; then
|
||||
@@ -33,7 +30,7 @@
|
||||
# Make sure that keys are up to date, otherwise sig checks may fail
|
||||
pacman --sync --noprogressbar --noconfirm --refresh --needed archlinux-keyring
|
||||
|
||||
pacman --noprogressbar --noconfirm --sysupgrade
|
||||
pacman --sync --noprogressbar --noconfirm --sysupgrade
|
||||
|
||||
- name: Install pacman autoupdate service
|
||||
ansible.builtin.copy:
|
||||
@@ -189,7 +186,7 @@
|
||||
|
||||
restic \
|
||||
--cache-dir=/var/cache/restic/ \
|
||||
--repo="b2:${BUCKET_NAME}:hera" \
|
||||
--repo="b2:${BUCKET_NAME}:backup" \
|
||||
--password-file=/etc/restic/repopassword \
|
||||
--verbose \
|
||||
"${@}"
|
||||
@@ -222,7 +219,7 @@
|
||||
|
||||
run forget restic-cmd \
|
||||
forget \
|
||||
--prune \
|
||||
--prune
|
||||
--keep-daily 30 \
|
||||
--keep-monthly 12 \
|
||||
--keep-yearly 3
|
||||
|
||||
@@ -18,14 +18,6 @@ additional_packages:
|
||||
- sddm
|
||||
- sddm-kcm
|
||||
- thunderbird
|
||||
# kde archive manager
|
||||
- ark
|
||||
# kde image viewer
|
||||
- gwenview
|
||||
# german language packs
|
||||
- hunspell-de
|
||||
- thunderbird-i18n-de
|
||||
- firefox-i18n-de
|
||||
|
||||
users:
|
||||
- name: hannes
|
||||
|
||||
@@ -2,4 +2,4 @@
|
||||
retry_files_enabled = False
|
||||
nocows = 1
|
||||
roles_path = ./ansible_roles
|
||||
interpreter_python = "auto_silent"
|
||||
library = ./ansible_roles/firefox/library
|
||||
|
||||
1
ansible_roles/firefox
Submodule
1
ansible_roles/firefox
Submodule
Submodule ansible_roles/firefox added at 2151dce632
@@ -1,4 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=Firefox
|
||||
Exec=firefox-default --new-tab %u
|
||||
@@ -31,4 +31,3 @@ Wants=yubikey-touch-detector.service
|
||||
Wants=kdeconnect.service
|
||||
Wants=color-theme-dark.service
|
||||
Wants=workstation-mgr.service
|
||||
Wants=screencfg.service
|
||||
|
||||
@@ -3,7 +3,7 @@ BindsTo=autostart.target
|
||||
After=windowmanager.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/env firefox --profile %h/.mozilla/firefox/profile-%i
|
||||
ExecStart=/usr/bin/env firefox --setDefaultBrowser -P %i
|
||||
PassEnvironment=DISPLAY
|
||||
Environment=XDG_CONFIG_HOME=%h/.config/gtk-3.0-overrides/bigger-font/
|
||||
Restart=always
|
||||
|
||||
@@ -3,6 +3,6 @@ BindsTo=autostart.target
|
||||
After=windowmanager.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/env firefox --profile %h/.mozilla/firefox/profile-%i
|
||||
ExecStart=/usr/bin/env firefox --setDefaultBrowser -P %i
|
||||
PassEnvironment=DISPLAY
|
||||
Restart=always
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
[Unit]
|
||||
BindsTo=autostart.target
|
||||
After=windowmanager.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/screencfg watch --best
|
||||
Restart=always
|
||||
@@ -1,3 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
exec /usr/bin/firefox --profile "$HOME/.mozilla/firefox/profile-default" "${@}"
|
||||
@@ -3,4 +3,4 @@ rustc-wrapper = "sccache"
|
||||
|
||||
[target.x86_64-unknown-linux-gnu]
|
||||
linker = "/usr/bin/clang"
|
||||
rustflags = ["-Clink-arg=--ld-path=/usr/bin/wild"]
|
||||
rustflags = ["-C", "link-arg=--ld-path=/usr/bin/mold"]
|
||||
|
||||
@@ -99,9 +99,6 @@ dotfiles:
|
||||
to: .config/screencfg.toml
|
||||
- from: cargo/config.toml
|
||||
to: .local/state/cargo/config.toml
|
||||
- from: applications
|
||||
to: .local/share/applications
|
||||
dir: true
|
||||
dotfiles_remove:
|
||||
- .gitconfig
|
||||
- .vimrc
|
||||
|
||||
@@ -118,13 +118,6 @@
|
||||
[url "ssh://git@code.hkoerber.de:2222/"]
|
||||
insteadOf = https://code.hkoerber.de/
|
||||
|
||||
# https://stackoverflow.com/a/71971739
|
||||
[url "https://github.com/"]
|
||||
insteadOf = "git@github.com:"
|
||||
[url "git@github.com:"]
|
||||
pushInsteadOf = "https://github.com/"
|
||||
pushInsteadOf = "git@github.com:"
|
||||
|
||||
[init]
|
||||
defaultBranch = main
|
||||
[safe]
|
||||
|
||||
@@ -100,6 +100,12 @@ block = "custom"
|
||||
json = true
|
||||
command = "ping -n -q -w 2 -c 1 8.8.8.8 >/dev/null 2>/dev/null && printf '{\"text\":\"\",\"state\":\"Info\"}' || printf '{\"text\":\"\",\"state\":\"Critical\"}'"
|
||||
|
||||
[[block]]
|
||||
block = "custom"
|
||||
command = "workstation-client weather get"
|
||||
# caching is handled by the workstation daemon
|
||||
interval = 60
|
||||
|
||||
[[block]]
|
||||
block = "time"
|
||||
interval = 1
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
set -o nounset
|
||||
set -o errexit
|
||||
|
||||
sudo bash -c "pacman -Sy --needed --noconfirm archlinux-keyring && pacman -Su"
|
||||
sudo bash -c "pacman -Sy --needed archlinux-keyring && pacman -Syu"
|
||||
|
||||
./update-aur-pkgs.sh
|
||||
|
||||
|
||||
@@ -318,6 +318,8 @@ fzf:
|
||||
archlinux: ["fzf"]
|
||||
chromium:
|
||||
archlinux: ["chromium"]
|
||||
signal:
|
||||
archlinux: ["signal-desktop"]
|
||||
go:
|
||||
archlinux: ["go", "gopls", "delve"]
|
||||
helix:
|
||||
@@ -325,7 +327,7 @@ helix:
|
||||
keepassxc:
|
||||
archlinux: ["keepassxc"]
|
||||
awscli:
|
||||
archlinux: ["aws-cli-v2"]
|
||||
archlinux: ["aws-cli"]
|
||||
mariadb-client:
|
||||
archlinux: ["mariadb-clients"]
|
||||
php:
|
||||
@@ -374,7 +376,6 @@ json:
|
||||
markdown:
|
||||
archlinux:
|
||||
- marksman
|
||||
- mdformat
|
||||
lldb:
|
||||
archlinux:
|
||||
- lldb
|
||||
@@ -446,9 +447,6 @@ mold:
|
||||
archlinux:
|
||||
- clang
|
||||
- mold
|
||||
wild:
|
||||
archlinux:
|
||||
- wild
|
||||
arch-packaging:
|
||||
archlinux:
|
||||
- namcap
|
||||
|
||||
Submodule pkgbuilds/aws-session-manager-plugin deleted from 0cbed9957e
Submodule pkgbuilds/backblaze-b2 updated: 4c534177ec...9a5140accc
Submodule pkgbuilds/claude-code updated: 8e4e33f722...46d57c06e8
Submodule pkgbuilds/nodejs-intelephense updated: 9468a298eb...2c2b183dcb
Submodule pkgbuilds/portfolio-performance-bin updated: 808cf0a09b...9ce84212ab
Submodule pkgbuilds/protontricks updated: 33daade611...8761ad0627
Submodule pkgbuilds/python-class-registry updated: d19d0362dc...417c264c2b
Submodule pkgbuilds/python-rst2ansi updated: cf8bafbc3b...871a4d42f3
Submodule pkgbuilds/python-vdf updated: 03356b9232...ae84d0e68b
Submodule pkgbuilds/screencfg-git updated: a74270fcdd...3c6b0cffed
Submodule pkgbuilds/slack-desktop updated: a4174ae183...56f15fd4c5
Submodule pkgbuilds/spotify updated: 1af6bd5437...1bd184d3a4
Submodule pkgbuilds/terraform-ls-bin updated: 4750fa243b...18b7bba251
214
playbook.yml
214
playbook.yml
@@ -6,13 +6,13 @@
|
||||
tasks:
|
||||
- name: Read machine-specific variables
|
||||
ansible.builtin.include_vars:
|
||||
file: _machines/{{ ansible_facts['hostname'] }}.yml
|
||||
file: _machines/{{ ansible_hostname }}.yml
|
||||
name: machine
|
||||
tags:
|
||||
- always
|
||||
|
||||
- ansible.builtin.set_fact:
|
||||
distro: "{{ ansible_facts['distribution'] | lower }}"
|
||||
distro: "{{ ansible_distribution | lower }}"
|
||||
tags:
|
||||
- always
|
||||
|
||||
@@ -208,29 +208,13 @@
|
||||
changed_when: unconfigured_packages_cmd.rc == 123
|
||||
become: true
|
||||
|
||||
- name: reflector
|
||||
block:
|
||||
- name: Configure reflector
|
||||
ansible.builtin.copy:
|
||||
dest: /etc/xdg/reflector/reflector.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
content: |
|
||||
--save /etc/pacman.d/mirrorlist
|
||||
--protocol https
|
||||
--country Germany
|
||||
--latest 5
|
||||
--sort age
|
||||
become: true
|
||||
|
||||
- name: Enable reflector timer
|
||||
ansible.builtin.systemd:
|
||||
name: reflector.timer
|
||||
enabled: true
|
||||
state: started
|
||||
daemon_reload: true
|
||||
become: true
|
||||
- name: Enable reflector timer
|
||||
ansible.builtin.systemd:
|
||||
name: reflector.timer
|
||||
enabled: true
|
||||
state: started
|
||||
daemon_reload: true
|
||||
become: true
|
||||
|
||||
- name: aur
|
||||
tags:
|
||||
@@ -261,7 +245,7 @@
|
||||
#!/usr/bin/env bash
|
||||
source ./env
|
||||
echo lel
|
||||
curl -sSf --proto '=https' https://download.spotify.com/debian/pubkey_5384CE82BA52C83A.gpg | gpg --import -
|
||||
curl -sSf --proto '=https' https://download.spotify.com/debian/pubkey_C85668DF69375001.gpg | gpg --import -
|
||||
|
||||
- name: nodejs-intelephense
|
||||
- name: terraform-ls-bin
|
||||
@@ -449,14 +433,13 @@
|
||||
|
||||
source ./PKGBUILD
|
||||
|
||||
for a in "${arch[@]}" ; do
|
||||
if [[ "${a}" == "any" ]] ; then
|
||||
for arch in "${arch[@]}" ; do
|
||||
if [[ "${arch}" == "any" ]] ; then
|
||||
arch="any"
|
||||
break
|
||||
fi
|
||||
if [[ "${a}" == "x86_64" ]] ; then
|
||||
if [[ "${arch}" == "x86_64" ]] ; then
|
||||
arch="x86_64"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
@@ -859,175 +842,6 @@
|
||||
ACTION=="add", SUBSYSTEM=="backlight", RUN+="/bin/chgrp video $sys$devpath/brightness", RUN+="/bin/chmod g+w $sys$devpath/brightness"
|
||||
become: true
|
||||
|
||||
- name: Firefox
|
||||
tags:
|
||||
- firefox
|
||||
block:
|
||||
- name: create firefox directories
|
||||
file:
|
||||
state: directory
|
||||
path: "{{ item }}"
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0775"
|
||||
become: true
|
||||
become_user: root
|
||||
loop:
|
||||
- /etc/firefox
|
||||
- /etc/firefox/policies
|
||||
|
||||
- set_fact:
|
||||
firefox_policy:
|
||||
policies:
|
||||
AutofillAddressEnabled: false
|
||||
AutofillCreditCardEnabled: false
|
||||
DefaultDownloadDirectory: "${home}/download"
|
||||
DisableFeedbackCommands: true
|
||||
DisableFirefoxAccounts: true
|
||||
DisableFirefoxStudies: true
|
||||
DisableForgetButton: true
|
||||
DisableMasterPasswordCreation: true
|
||||
DisableProfileImport: true
|
||||
DisableProfileRefresh: true
|
||||
DisableSafeMode: true
|
||||
DisableSetDesktopBackground: true
|
||||
DisableTelemetry: true
|
||||
DisplayBookmarksToolbar: "always"
|
||||
DisplayMenuBar: "default-off"
|
||||
DontCheckDefaultBrowser: true
|
||||
EnableTrackingProtection:
|
||||
Value: true
|
||||
Locked: false
|
||||
Category: "strict"
|
||||
BaselineExceptions: true
|
||||
ConvenienceExceptions: false
|
||||
ExtensionSettings:
|
||||
"*":
|
||||
allowed_types:
|
||||
- extension
|
||||
"jid1-KKzOGWgsW3Ao4Q@jetpack": # I don't care about cookies
|
||||
installation_mode: "normal_installed"
|
||||
install_url: "https://addons.mozilla.org/firefox/downloads/file/4202634/i_dont_care_about_cookies.xpi"
|
||||
default_area: "menupanel"
|
||||
private_browsing: true
|
||||
updates_disabled: false
|
||||
"uBlock0@raymondhill.net": # Ublock origin
|
||||
installation_mode: "normal_installed"
|
||||
install_url: "https://addons.mozilla.org/firefox/downloads/file/4598854/ublock_origin-1.67.0.xpi"
|
||||
default_area: "navbar"
|
||||
private_browsing: true
|
||||
updates_disabled: false
|
||||
"treestyletab@piro.sakura.ne.jp": # I don't care about cookies
|
||||
installation_mode: "normal_installed"
|
||||
install_url: "https://addons.mozilla.org/firefox/downloads/file/4602712/tree_style_tab-4.2.7.xpi"
|
||||
default_area: "navbar"
|
||||
private_browsing: true
|
||||
updates_disabled: false
|
||||
"{9063c2e9-e07c-4c2c-9646-cfe7ca8d0498}": # Old Reddit redirect
|
||||
installation_mode: "normal_installed"
|
||||
install_url: "https://addons.mozilla.org/firefox/downloads/file/4526031/old_reddit_redirect-2.0.9.xpi"
|
||||
default_area: "menupanel"
|
||||
private_browsing: true
|
||||
updates_disabled: false
|
||||
FirefoxHome:
|
||||
Search: false
|
||||
TopSites: false
|
||||
SponsoredTopSites: false
|
||||
Highlights: false
|
||||
Pocket: false
|
||||
Stories: false
|
||||
SponsoredPocket: false
|
||||
SponsoredStories: false
|
||||
Snippets: false
|
||||
Locked: true
|
||||
GenerativeAI:
|
||||
Enabled: false
|
||||
Chatbot: false
|
||||
LinkPreviews: false
|
||||
TabGroups: false
|
||||
Homepage:
|
||||
URL: "about:newtab"
|
||||
StartPage: "previous-session"
|
||||
MicrosoftEntraSSO: false
|
||||
NewTabPage: false
|
||||
NoDefaultBookmarks: true
|
||||
OfferToSaveLogins: false
|
||||
OverrideFirstRunPage: ""
|
||||
PasswordManagerEnabled: false
|
||||
Preferences:
|
||||
"browser.translations.automaticallyPopup":
|
||||
Value: false
|
||||
Status: "default"
|
||||
Type: "boolean"
|
||||
"browser.aboutConfig.showWarning":
|
||||
Value: false
|
||||
Status: "default"
|
||||
Type: "boolean"
|
||||
"general.smoothScroll":
|
||||
Value: true
|
||||
Status: "default"
|
||||
Type: "boolean"
|
||||
# "Play DRM-controlled content"
|
||||
"media.eme.enabled":
|
||||
Value: true
|
||||
Status: "default"
|
||||
Type: "boolean"
|
||||
# Restore last session on startup
|
||||
# https://support.mozilla.org/de/questions/1235263
|
||||
"browser.startup.page":
|
||||
Value: 3
|
||||
Status: "default"
|
||||
Type: "number"
|
||||
# reload the tabs properly when restoring
|
||||
"browser.sessionstore.restore_on_demand":
|
||||
Value: false
|
||||
Status: "default"
|
||||
Type: "boolean"
|
||||
# "Check spelling as you type"
|
||||
"layout.spellcheckDefault":
|
||||
Value: 0
|
||||
Status: "default"
|
||||
Type: "number"
|
||||
# remove ad tracking garbage
|
||||
"dom.private-attribution.submission.enabled":
|
||||
Value: false
|
||||
Status: "default"
|
||||
Type: "boolean"
|
||||
# (Try to) disable automatic update, as firefox is pulling a Windows
|
||||
"app.update.auto":
|
||||
Value: false
|
||||
Status: "default"
|
||||
Type: "boolean"
|
||||
"app.update.service.enabled":
|
||||
Value: false
|
||||
Status: "default"
|
||||
Type: "boolean"
|
||||
PromptForDownloadLocation: false
|
||||
RequestedLocales:
|
||||
- en-US
|
||||
- de
|
||||
SearchSuggestEnabled: false
|
||||
ShowHomeButton: false
|
||||
SkipTermsOfUse: true
|
||||
UserMessaging:
|
||||
ExtensionRecommendations: false
|
||||
FeatureRecommendations: false
|
||||
UrlbarInterventions: false
|
||||
SkipOnboarding: true
|
||||
MoreFromMozilla: false
|
||||
FirefoxLabs: false
|
||||
VisualSearchEnabled: false
|
||||
|
||||
- name: Firefox global policies
|
||||
ansible.builtin.copy:
|
||||
dest: "/etc/firefox/policies/policies.json"
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
content: "{{ firefox_policy | to_nice_json }}"
|
||||
become: true
|
||||
become_user: root
|
||||
|
||||
- set_fact:
|
||||
users: "{{ machine.users }}"
|
||||
tags:
|
||||
@@ -1050,7 +864,7 @@
|
||||
- include_tasks: "{{ item }}"
|
||||
with_first_found:
|
||||
- files:
|
||||
- "_machines/{{ ansible_facts['hostname'] }}-tasks.yml"
|
||||
- "_machines/{{ ansible_hostname }}-tasks.yml"
|
||||
skip: true
|
||||
tags:
|
||||
- always
|
||||
|
||||
136
user.yml
136
user.yml
@@ -274,79 +274,99 @@
|
||||
tags:
|
||||
- user:firefox
|
||||
block:
|
||||
- name: Create firefox base directories
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
mode: "0755"
|
||||
loop:
|
||||
- "~/.mozilla/"
|
||||
- "~/.mozilla/firefox/"
|
||||
|
||||
- name: Create firefox profile directories
|
||||
ansible.builtin.file:
|
||||
path: "~/.mozilla/firefox/profile-{{ item.key }}"
|
||||
state: directory
|
||||
mode: "0755"
|
||||
- name: Create firefox directories
|
||||
firefox_profile:
|
||||
name: "{{ item.key }}"
|
||||
loop: "{{ user.firefox_profiles | dict2items }}"
|
||||
loop_control:
|
||||
label: "{{ item.key }}"
|
||||
check_mode: false
|
||||
register: firefox_profile_names
|
||||
|
||||
- name: Create chrome directory
|
||||
- ansible.builtin.set_fact:
|
||||
firefox_preferences:
|
||||
browser.aboutConfig.showWarning: false
|
||||
extensions.pocket.enabled: false
|
||||
toolkit.legacyUserProfileCustomizations.stylesheets: true
|
||||
browser.contentblocking.category: "strict"
|
||||
browser.newtabpage.enabled: false
|
||||
browser.startup.homepage: "about:blank"
|
||||
privacy.trackingprotection.enabled: true
|
||||
privacy.trackingprotection.socialtracking.enabled: true
|
||||
general.smoothScroll: true
|
||||
|
||||
# Restore last session on startup
|
||||
# https://support.mozilla.org/de/questions/1235263
|
||||
browser.startup.page: 3
|
||||
# reload the tabs properly when restoring
|
||||
browser.sessionstore.restore_on_demand: false
|
||||
|
||||
# "Play DRM-controlled content"
|
||||
media.eme.enabled: true
|
||||
|
||||
# "Recommend (extensions|features) as you browse"
|
||||
browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons: false
|
||||
browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features: false
|
||||
|
||||
# "Ask to save logins and passwords for websites"
|
||||
signon.rememberSignons: false
|
||||
|
||||
# "Allow Firefox to make personalized extension recommendations"
|
||||
browser.discovery.enabled: false
|
||||
|
||||
# "Allow Firefox to install and run studies"
|
||||
app.shield.optoutstudies.enabled: false
|
||||
|
||||
# "Check spelling as you type"
|
||||
layout.spellcheckDefault: 0
|
||||
|
||||
# Ask for download directory
|
||||
browser.download.useDownloadDir: false
|
||||
|
||||
# (Try to) disable automatic update, as firefox is pulling a Windows
|
||||
app.update.auto: false
|
||||
app.update.service.enabled: false
|
||||
|
||||
# remove this camera / microphone overlay when in calls or similar
|
||||
privacy.webrtc.legacyGlobalIndicator: false
|
||||
|
||||
# remove ad tracking garbage
|
||||
dom.private-attribution.submission.enabled: false
|
||||
|
||||
- ansible.builtin.include_role:
|
||||
name: firefox
|
||||
vars:
|
||||
firefox_profiles: "{{ {item.key: item.value} | combine({item.key: {'preferences': firefox_preferences}}, recursive=True) }}"
|
||||
loop: "{{ user.firefox_profiles | dict2items }}"
|
||||
when: not ansible_check_mode
|
||||
|
||||
- name: Firefox - create chrome directory
|
||||
ansible.builtin.file:
|
||||
path: "~/.mozilla/firefox/profile-{{ item.key }}/chrome/"
|
||||
path: "{{ item.profile_path }}/chrome/"
|
||||
state: directory
|
||||
mode: "0755"
|
||||
loop: "{{ user.firefox_profiles | dict2items }}"
|
||||
with_items: "{{ firefox_profile_names.results }}"
|
||||
when: not ansible_check_mode
|
||||
loop_control:
|
||||
label: "{{ item.key }}"
|
||||
label: "{{ item.profile_path }}"
|
||||
|
||||
- name: Configure firefox custom css
|
||||
- name: Firefox - configure firefox custom css
|
||||
ansible.builtin.copy:
|
||||
dest: "~/.mozilla/firefox/profile-{{ item.key }}/chrome/userChrome.css"
|
||||
# from https://www.kvakil.me/posts/2023-09-12-my-tree-style-tab-configuration.html
|
||||
dest: "{{ item.profile_path }}/chrome/userChrome.css"
|
||||
content: |
|
||||
// Hide the title bar.
|
||||
#titlebar {
|
||||
appearance: none !important;
|
||||
height: 0px;
|
||||
}
|
||||
|
||||
#titlebar > #toolbar-menubar {
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
// Hide regular tab toolbar.
|
||||
#main-window[tabsintitlebar="true"]:not([extradragspace="true"]) #TabsToolbar > .toolbar-items {
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
#main-window:not([tabsintitlebar="true"]) #TabsToolbar {
|
||||
#TabsToolbar {
|
||||
visibility: collapse !important;
|
||||
}
|
||||
|
||||
// Hide the side toolbar noise.
|
||||
#TabsToolbar {
|
||||
min-width: 0 !important;
|
||||
min-height: 0 !important;
|
||||
#titlebar {
|
||||
visibility: collapse !important;
|
||||
}
|
||||
|
||||
#TabsToolbar > .titlebar-buttonbox-container {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 12px;
|
||||
left: 0px;
|
||||
}
|
||||
|
||||
#sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] #sidebar-header {
|
||||
display: none;
|
||||
#sidebar-header {
|
||||
visibility: collapse !important;
|
||||
}
|
||||
when:
|
||||
- item.value.manage_css is sameas True
|
||||
loop: "{{ user.firefox_profiles | dict2items }}"
|
||||
- not ansible_check_mode
|
||||
- user.firefox_profiles[item.profile_name].manage_css is sameas True
|
||||
with_items: "{{ firefox_profile_names.results }}"
|
||||
loop_control:
|
||||
label: "{{ item.key }}"
|
||||
label: "{{ item.profile_path }}"
|
||||
|
||||
- name: Handle user units
|
||||
tags:
|
||||
|
||||
@@ -8,7 +8,7 @@ export PATH="${HOME}/bin:${PATH}"
|
||||
|
||||
export EDITOR="helix"
|
||||
export VISUAL="helix"
|
||||
export BROWSER="firefox-default"
|
||||
export BROWSER="firefox"
|
||||
|
||||
export PAGER="less"
|
||||
export LESS="FRX"
|
||||
|
||||
@@ -333,7 +333,12 @@ embiggen() {
|
||||
}
|
||||
|
||||
journal() {
|
||||
$EDITOR ~/sync/journal/"$(date +%Y-%m-%d).md"
|
||||
journaldir=~/sync/journal/
|
||||
file="$journaldir/$(date +%Y-%m-%d).md"
|
||||
if [[ ! -e $file ]] ; then
|
||||
cp $journaldir/template.md $file || return
|
||||
fi
|
||||
$EDITOR $file
|
||||
}
|
||||
|
||||
prefix() {
|
||||
|
||||
Reference in New Issue
Block a user