Compare commits
No commits in common. "main" and "sway-systemd" have entirely different histories.
main
...
sway-syste
264 changed files with 4850 additions and 5733 deletions
|
@ -1,9 +0,0 @@
|
||||||
root = true
|
|
||||||
|
|
||||||
[*]
|
|
||||||
end_of_line = lf
|
|
||||||
charset = utf-8
|
|
||||||
trim_trailing_whitespace = true
|
|
||||||
insert_final_newline = true
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 2
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1 +0,0 @@
|
||||||
node_modules/
|
|
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
[submodule "dotdrop"]
|
||||||
|
path = dotdrop
|
||||||
|
url = https://github.com/deadc0de6/dotdrop.git
|
|
@ -1,50 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Source husky
|
|
||||||
# shellcheck disable=SC1091
|
|
||||||
. "$(dirname -- "$0")/_/husky.sh"
|
|
||||||
|
|
||||||
echo "FunctionalHacker's dotfile pre-commit hook start"
|
|
||||||
printf "Using shell: %s \n" "$(readlink /proc/$$/exe)"
|
|
||||||
|
|
||||||
# All staged files
|
|
||||||
staged_files=$(git diff --name-only --cached --diff-filter=d)
|
|
||||||
|
|
||||||
# Run taplo on staged TOML files
|
|
||||||
staged_toml=$(echo "$staged_files" | grep '.toml$' || true)
|
|
||||||
num_staged_toml=$(echo "$staged_toml" | grep -vce '^$' || true)
|
|
||||||
if [ "$num_staged_toml" -gt 0 ]; then
|
|
||||||
printf '\nFormatting %s staged TOML files with taplo\n' "$num_staged_toml"
|
|
||||||
taplo format "$staged_toml"
|
|
||||||
printf "Re-staging\n"
|
|
||||||
git add $staged_toml
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Run lua-format on staged Lua files
|
|
||||||
staged_lua=$(echo "$staged_files" | grep '.lua$' || true)
|
|
||||||
num_staged_lua=$(echo "$staged_lua" | grep -vce '^$' || true)
|
|
||||||
if [ "$num_staged_lua" -gt 0 ]; then
|
|
||||||
printf '\nFormatting %s staged Lua files with stylua\n' "$num_staged_lua"
|
|
||||||
|
|
||||||
for file in $staged_lua; do
|
|
||||||
stylua "$file"
|
|
||||||
done
|
|
||||||
|
|
||||||
printf "Re-staging\n\n"
|
|
||||||
git add $staged_lua
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Run shfmt on staged shell scripts
|
|
||||||
staged_sh=$(echo "$staged_files" | grep -E '(.sh$|pre-commit)' || true)
|
|
||||||
num_staged_sh=$(echo "$staged_sh" | grep -vce '^$' || true)
|
|
||||||
if [ "$num_staged_sh" -gt 0 ]; then
|
|
||||||
printf '\nFormatting %s staged shell scripts with shfmt\n' "$num_staged_sh"
|
|
||||||
shfmt -w $staged_sh
|
|
||||||
printf "Re-staging\n\n"
|
|
||||||
git add $staged_sh
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Run prettier on all other staged files
|
|
||||||
# that are supported
|
|
||||||
printf "\nRunning prettier on all supported files\n"
|
|
||||||
npx pretty-quick --staged
|
|
1
.ignore
1
.ignore
|
@ -1 +0,0 @@
|
||||||
dotdrop/
|
|
|
@ -1,3 +0,0 @@
|
||||||
package-lock.json
|
|
||||||
lazy-lock.json
|
|
||||||
dotdrop/
|
|
|
@ -1,4 +0,0 @@
|
||||||
"$schema" = "https://json.schemastore.org/prettierrc.json"
|
|
||||||
trailingComma = "es5"
|
|
||||||
singleQuote = true
|
|
||||||
tabWidth = 2
|
|
21
LICENSE
Normal file
21
LICENSE
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2019 Marko Korhonen
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
14
LICENSE.adoc
14
LICENSE.adoc
|
@ -1,14 +0,0 @@
|
||||||
== The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) {localyear} Marko Korhonen
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”),
|
|
||||||
to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
|
||||||
sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
||||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
|
||||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
23
README.adoc
23
README.adoc
|
@ -1,23 +0,0 @@
|
||||||
= FunctionalHacker's dotfiles
|
|
||||||
|
|
||||||
image:https://i.imgur.com/lz1Q4Zz.png?raw=true%22[screenshot of my
|
|
||||||
setup]
|
|
||||||
|
|
||||||
My personal dotfiles for my workstations, mostly for easy access for
|
|
||||||
myself but feel free to steal them for yourself!
|
|
||||||
|
|
||||||
I’m using https://github.com/deadc0de6/dotdrop[dotdrop] to manage and
|
|
||||||
ease deployment of my dotfiles.
|
|
||||||
|
|
||||||
== Mirrors
|
|
||||||
|
|
||||||
This repository lives at https://git.korhonen.cc/FunctionalHacker/dotfiles[my git server],
|
|
||||||
but it is also mirrored to:
|
|
||||||
|
|
||||||
* https://gitlab.com/FunctionalHacker/dotfiles[GitLab]
|
|
||||||
* https://github.com/FunctionalHacker/dotfiles[GitHub]
|
|
||||||
* https://bitbucket.org/FunctionalHacker/dotfiles[Bitbucket]
|
|
||||||
* https://codeberg.org/FunctionalHacker/dotfiles[codeberg]
|
|
||||||
|
|
||||||
If you have any ideas for improvements, questions or anything of this
|
|
||||||
sort, you can open an issue or a pull request at any of the mirrors.
|
|
16
README.md
Normal file
16
README.md
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
# FunctionalHacker's dotfiles
|
||||||
|

|
||||||
|
|
||||||
|
My personal dotfiles for my workstations, mostly for easy access for myself
|
||||||
|
but feel free to steal them for yourself!
|
||||||
|
|
||||||
|
I'm using [dotdrop](https://github.com/deadc0de6/dotdrop) to manage and ease deployment of my dotfiles.
|
||||||
|
|
||||||
|
## Mirrors
|
||||||
|
This repository lives at [My git server](https://git.korhonen.cc/FunctionalHacker/dotfiles), but it is also mirrored to:
|
||||||
|
- [GitLab](https://gitlab.com/FunctionalHacker/dotfiles)
|
||||||
|
- [GitHub](https://github.com/FunctionalHacker/dotfiles)
|
||||||
|
- [Bitbucket](https://bitbucket.org/FunctionalHacker/dotfiles)
|
||||||
|
- [codeberg](https://codeberg.org/FunctionalHacker/dotfiles)
|
||||||
|
|
||||||
|
If you have any ideas for improvements, questions or anything of this sort, you can open an issue or a pull request in either my git server (registrations open for anyone), or any of the mirrors.
|
282
config-root.toml
282
config-root.toml
|
@ -1,282 +0,0 @@
|
||||||
[actions]
|
|
||||||
mkinitcpio = "mkinitcpio -P"
|
|
||||||
|
|
||||||
[config]
|
|
||||||
backup = true
|
|
||||||
banner = true
|
|
||||||
create = true
|
|
||||||
dotpath = "root"
|
|
||||||
ignoreempty = false
|
|
||||||
keepdot = true
|
|
||||||
link_dotfile_default = "nolink"
|
|
||||||
link_on_import = "nolink"
|
|
||||||
longkey = false
|
|
||||||
showdiff = false
|
|
||||||
workdir = "~/.config/sdotdrop"
|
|
||||||
|
|
||||||
[dotfiles."f_60-uinput-permissions.rules"]
|
|
||||||
dst = "/etc/udev/rules.d/60-uinput-permissions.rules"
|
|
||||||
src = "etc/udev/rules.d/60-uinput-permissions.rules"
|
|
||||||
|
|
||||||
[dotfiles."f_yubikey_udev.rules"]
|
|
||||||
dst = "/etc/udev/rules.d/20-yubikey.rules"
|
|
||||||
src = "etc/udev/rules.d/20-yubikey.rules"
|
|
||||||
|
|
||||||
[dotfiles.d_bin]
|
|
||||||
dst = "/usr/local/bin"
|
|
||||||
src = "usr/local/bin"
|
|
||||||
|
|
||||||
[dotfiles.d_network]
|
|
||||||
src = "etc/systemd/network"
|
|
||||||
dst = "/etc/systemd/network"
|
|
||||||
|
|
||||||
[dotfiles."f_networkd.conf"]
|
|
||||||
src = "etc/systemd/networkd.conf"
|
|
||||||
dst = "/etc/systemd/networkd.conf"
|
|
||||||
|
|
||||||
[dotfiles."f_99-sysctl.conf"]
|
|
||||||
dst = "/etc/sysctl.d/99-sysctl.conf"
|
|
||||||
src = "etc/sysctl.d/99-sysctl.conf"
|
|
||||||
|
|
||||||
[dotfiles."f_adb.service"]
|
|
||||||
dst = "/etc/systemd/system/adb.service"
|
|
||||||
src = "etc/systemd/system/adb.service"
|
|
||||||
|
|
||||||
[dotfiles."f_clamd.conf"]
|
|
||||||
dst = "/etc/clamav/clamd.conf"
|
|
||||||
src = "etc/clamav/clamd.conf"
|
|
||||||
|
|
||||||
[dotfiles.f_cryptissue]
|
|
||||||
dst = "/etc/cryptissue"
|
|
||||||
src = "etc/cryptissue"
|
|
||||||
|
|
||||||
[dotfiles."f_detected.sh"]
|
|
||||||
dst = "/etc/clamav/detected.sh"
|
|
||||||
src = "etc/clamav/detected.sh"
|
|
||||||
|
|
||||||
[dotfiles."f_freetype2.sh"]
|
|
||||||
dst = "/etc/profile.d/freetype2.sh"
|
|
||||||
src = "etc/profile.d/freetype2.sh"
|
|
||||||
|
|
||||||
[dotfiles."f_fonts.conf"]
|
|
||||||
dst = "/etc/fonts/local.conf"
|
|
||||||
src = "etc/fonts/local.conf"
|
|
||||||
|
|
||||||
[dotfiles."f_locale.conf"]
|
|
||||||
dst = "/etc/locale.conf"
|
|
||||||
src = "etc/locale.conf"
|
|
||||||
|
|
||||||
[dotfiles."f_locale.gen"]
|
|
||||||
dst = "/etc/locale.gen"
|
|
||||||
src = "etc/locale.gen"
|
|
||||||
|
|
||||||
[dotfiles."f_logind.conf"]
|
|
||||||
dst = "/etc/systemd/logind.conf"
|
|
||||||
src = "etc/systemd/logind.conf"
|
|
||||||
|
|
||||||
[dotfiles."f_bluetooth.conf"]
|
|
||||||
dst = "/etc/bluetooth/main.conf"
|
|
||||||
src = "etc/bluetooth/main.conf"
|
|
||||||
|
|
||||||
[dotfiles."f_pacman.conf"]
|
|
||||||
dst = "/etc/pacman.conf"
|
|
||||||
src = "etc/pacman.conf"
|
|
||||||
|
|
||||||
[dotfiles.f_pacman_zsh_hook]
|
|
||||||
dst = "/etc/pacman.d/hooks/zsh.hook"
|
|
||||||
src = "etc/pacman.d/hooks/zsh.hook"
|
|
||||||
|
|
||||||
[dotfiles."f_plymouthd.conf"]
|
|
||||||
src = "etc/plymouth/plymouthd.conf"
|
|
||||||
dst = "/etc/plymouth/plymouthd.conf"
|
|
||||||
|
|
||||||
[dotfiles.f_sshd_config]
|
|
||||||
dst = "/etc/ssh/sshd_config"
|
|
||||||
src = "etc/ssh/sshd_config"
|
|
||||||
|
|
||||||
[dotfiles."f_welcomemessage.conf"]
|
|
||||||
dst = "/etc/welcomemessage.conf"
|
|
||||||
src = "etc/welcomemessage.conf"
|
|
||||||
|
|
||||||
[dotfiles."f_99-conbee-usb-serial.rules"]
|
|
||||||
src = "etc/udev/rules.d/99-conbee-usb-serial.rules"
|
|
||||||
dst = "/etc/udev/rules.d/99-conbee-usb-serial.rules"
|
|
||||||
|
|
||||||
[dotfiles."f_99-lowbat.rules"]
|
|
||||||
src = "etc/udev/rules.d/99-lowbat.rules"
|
|
||||||
dst = "/etc/udev/rules.d/99-lowbat.rules"
|
|
||||||
|
|
||||||
[dotfiles."f_sleep.conf"]
|
|
||||||
src = "etc/systemd/sleep.conf"
|
|
||||||
dst = "/etc/systemd/sleep.conf"
|
|
||||||
|
|
||||||
[dotfiles.f_fstab]
|
|
||||||
src = "etc/fstab"
|
|
||||||
dst = "/etc/fstab"
|
|
||||||
|
|
||||||
[dotfiles.f_ignore]
|
|
||||||
src = ".ignore"
|
|
||||||
dst = "/.ignore"
|
|
||||||
|
|
||||||
[dotfiles."f_mkinitcpio.conf"]
|
|
||||||
src = "etc/mkinitcpio.conf"
|
|
||||||
dst = "/etc/mkinitcpio.conf"
|
|
||||||
actions = ["mkinitcpio"]
|
|
||||||
|
|
||||||
[dotfiles."f_vconsole.conf"]
|
|
||||||
src = "etc/vconsole.conf"
|
|
||||||
dst = "/etc/vconsole.conf"
|
|
||||||
|
|
||||||
[dotfiles."f_20-quiet-printk.conf"]
|
|
||||||
src = "etc/sysctl.d/20-quiet-printk.conf"
|
|
||||||
dst = "/etc/sysctl.d/20-quiet-printk.conf"
|
|
||||||
|
|
||||||
[dotfiles."f_system.conf"]
|
|
||||||
src = "etc/systemd/system.conf"
|
|
||||||
dst = "/etc/systemd/system.conf"
|
|
||||||
|
|
||||||
[dotfiles.f_cpupower]
|
|
||||||
src = "etc/default/cpupower"
|
|
||||||
dst = "/etc/default/cpupower"
|
|
||||||
|
|
||||||
[dotfiles."f_pacserve.service.conf"]
|
|
||||||
src = "etc/pacserve/pacserve.service.conf"
|
|
||||||
dst = "/etc/pacserve/pacserve.service.conf"
|
|
||||||
|
|
||||||
[dotfiles."f_mkinitcpio_linux.preset"]
|
|
||||||
src = "etc/mkinitcpio.d/linux.preset"
|
|
||||||
dst = "/etc/mkinitcpio.d/linux.preset"
|
|
||||||
|
|
||||||
[dotfiles.f_cmdline]
|
|
||||||
src = "etc/kernel/cmdline"
|
|
||||||
dst = "/etc/kernel/cmdline"
|
|
||||||
actions = ["mkinitcpio"]
|
|
||||||
|
|
||||||
[dotfiles."f_timesyncd.conf"]
|
|
||||||
src = "etc/systemd/timesyncd.conf"
|
|
||||||
dst = "/etc/systemd/timesyncd.conf"
|
|
||||||
|
|
||||||
[dotfiles.f_sudoers_pacman]
|
|
||||||
src = "etc/sudoers.d/pacman"
|
|
||||||
dst = "/etc/sudoers.d/pacman"
|
|
||||||
|
|
||||||
[dotfiles."f_doas.conf"]
|
|
||||||
src = "etc/doas.conf"
|
|
||||||
dst = "/etc/doas.conf"
|
|
||||||
|
|
||||||
[dotfiles."f_flexo.toml"]
|
|
||||||
src = "etc/flexo/flexo.toml"
|
|
||||||
dst = "/etc/flexo/flexo.toml"
|
|
||||||
|
|
||||||
[profiles.locale]
|
|
||||||
dotfiles = ["f_locale.conf", "f_locale.gen"]
|
|
||||||
|
|
||||||
[profiles.pacman]
|
|
||||||
dotfiles = [
|
|
||||||
"f_pacman.conf",
|
|
||||||
"f_pacman_zsh_hook",
|
|
||||||
"f_pacserve.service.conf",
|
|
||||||
"f_sudoers_pacman",
|
|
||||||
]
|
|
||||||
|
|
||||||
[profiles.Mirkwood]
|
|
||||||
dotfiles = [
|
|
||||||
"d_bin",
|
|
||||||
"f_20-quiet-printk.conf",
|
|
||||||
"f_60-uinput-permissions.rules",
|
|
||||||
"f_99-lowbat.rules",
|
|
||||||
"f_adb.service",
|
|
||||||
"f_bluetooth.conf",
|
|
||||||
"f_cmdline",
|
|
||||||
"f_cpupower",
|
|
||||||
"f_cryptissue",
|
|
||||||
"f_doas.conf",
|
|
||||||
"f_fonts.conf",
|
|
||||||
"f_freetype2.sh",
|
|
||||||
"f_ignore",
|
|
||||||
"f_logind.conf",
|
|
||||||
"f_mkinitcpio.conf",
|
|
||||||
"f_mkinitcpio_linux.preset",
|
|
||||||
"f_plymouthd.conf",
|
|
||||||
"f_sshd_config",
|
|
||||||
"f_system.conf",
|
|
||||||
"f_timesyncd.conf",
|
|
||||||
"f_welcomemessage.conf",
|
|
||||||
"f_flexo.toml",
|
|
||||||
]
|
|
||||||
include = ["locale", "pacman"]
|
|
||||||
|
|
||||||
[profiles.VentoyArch]
|
|
||||||
dotfiles = [
|
|
||||||
"d_bin",
|
|
||||||
"f_cmdline",
|
|
||||||
"f_doas.conf",
|
|
||||||
"f_fonts.conf",
|
|
||||||
"f_freetype2.sh",
|
|
||||||
"f_ignore",
|
|
||||||
"f_logind.conf",
|
|
||||||
"f_mkinitcpio.conf",
|
|
||||||
"f_mkinitcpio_linux.preset",
|
|
||||||
"f_plymouthd.conf",
|
|
||||||
"f_system.conf",
|
|
||||||
"f_timesyncd.conf",
|
|
||||||
]
|
|
||||||
include = ["locale", "pacman"]
|
|
||||||
|
|
||||||
[profiles.Shire]
|
|
||||||
dotfiles = [
|
|
||||||
"d_bin",
|
|
||||||
"f_20-quiet-printk.conf",
|
|
||||||
"f_60-uinput-permissions.rules",
|
|
||||||
"f_99-lowbat.rules",
|
|
||||||
"f_adb.service",
|
|
||||||
"f_bluetooth.conf",
|
|
||||||
"f_cmdline",
|
|
||||||
"f_cpupower",
|
|
||||||
"f_doas.conf",
|
|
||||||
"f_fonts.conf",
|
|
||||||
"f_freetype2.sh",
|
|
||||||
"f_ignore",
|
|
||||||
"f_logind.conf",
|
|
||||||
"f_mkinitcpio.conf",
|
|
||||||
"f_mkinitcpio_linux.preset",
|
|
||||||
"f_plymouthd.conf",
|
|
||||||
"f_sshd_config",
|
|
||||||
"f_system.conf",
|
|
||||||
]
|
|
||||||
include = ["locale", "pacman"]
|
|
||||||
|
|
||||||
[profiles.Moria]
|
|
||||||
include = ["locale", "pacman"]
|
|
||||||
dotfiles = [
|
|
||||||
"f_99-sysctl.conf",
|
|
||||||
"f_cmdline",
|
|
||||||
"f_cpupower",
|
|
||||||
"f_doas.conf",
|
|
||||||
"f_adb.service",
|
|
||||||
"f_mkinitcpio.conf",
|
|
||||||
"f_mkinitcpio_linux.preset",
|
|
||||||
"f_plymouthd.conf",
|
|
||||||
"f_sshd_config",
|
|
||||||
"f_flexo.toml",
|
|
||||||
]
|
|
||||||
|
|
||||||
[profiles.Tirion]
|
|
||||||
dotfiles = ["f_doas.conf", "f_ignore", "f_sshd_config"]
|
|
||||||
|
|
||||||
[profiles.Gondor]
|
|
||||||
include = ["locale", "pacman"]
|
|
||||||
dotfiles = ["f_doas.conf", "f_sshd_config"]
|
|
||||||
|
|
||||||
[profiles.localhost]
|
|
||||||
include = ["locale"]
|
|
||||||
|
|
||||||
[profiles.Edoras]
|
|
||||||
include = ["pacman"]
|
|
||||||
|
|
||||||
[profiles.mko-laptop]
|
|
||||||
dotfiles = ["f_cpupower", "f_doas.conf", "f_timesyncd.conf"]
|
|
||||||
|
|
||||||
[profiles.Evendim]
|
|
||||||
include = ["locale", "pacman"]
|
|
||||||
dotfiles = ["f_doas.conf", "f_sshd_config"]
|
|
161
config-root.yaml
Normal file
161
config-root.yaml
Normal file
|
@ -0,0 +1,161 @@
|
||||||
|
config:
|
||||||
|
backup: true
|
||||||
|
banner: true
|
||||||
|
create: true
|
||||||
|
dotpath: root
|
||||||
|
ignoreempty: false
|
||||||
|
keepdot: true
|
||||||
|
link_dotfile_default: nolink
|
||||||
|
link_on_import: nolink
|
||||||
|
longkey: false
|
||||||
|
showdiff: false
|
||||||
|
workdir: ~/.config/sdotdrop
|
||||||
|
dotfiles:
|
||||||
|
f_60-uinput-permissions.rules:
|
||||||
|
dst: /etc/udev/rules.d/60-uinput-permissions.rules
|
||||||
|
src: etc/udev/rules.d/60-uinput-permissions.rules
|
||||||
|
d_bin:
|
||||||
|
dst: /usr/local/bin
|
||||||
|
src: usr/local/bin
|
||||||
|
d_network:
|
||||||
|
src: etc/systemd/network
|
||||||
|
dst: /etc/systemd/network
|
||||||
|
f_networkd.conf:
|
||||||
|
src: etc/systemd/networkd.conf
|
||||||
|
dst: /etc/systemd/networkd.conf
|
||||||
|
f_99-sysctl.conf:
|
||||||
|
dst: /etc/sysctl.d/99-sysctl.conf
|
||||||
|
src: etc/sysctl.d/99-sysctl.conf
|
||||||
|
f_adb.service:
|
||||||
|
dst: /etc/systemd/system/adb.service
|
||||||
|
src: etc/systemd/system/adb.service
|
||||||
|
f_clamd.conf:
|
||||||
|
dst: /etc/clamav/clamd.conf
|
||||||
|
src: etc/clamav/clamd.conf
|
||||||
|
f_cryptissue:
|
||||||
|
dst: /etc/cryptissue
|
||||||
|
src: etc/cryptissue
|
||||||
|
f_detected.sh:
|
||||||
|
dst: /etc/clamav/detected.sh
|
||||||
|
src: etc/clamav/detected.sh
|
||||||
|
f_freetype2.sh:
|
||||||
|
dst: /etc/profile.d/freetype2.sh
|
||||||
|
src: etc/profile.d/freetype2.sh
|
||||||
|
f_fonts.conf:
|
||||||
|
dst: /etc/fonts/local.conf
|
||||||
|
src: etc/fonts/local.conf
|
||||||
|
f_locale.conf:
|
||||||
|
dst: /etc/locale.conf
|
||||||
|
src: etc/locale.conf
|
||||||
|
f_locale.gen:
|
||||||
|
dst: /etc/locale.gen
|
||||||
|
src: etc/locale.gen
|
||||||
|
f_logind.conf:
|
||||||
|
dst: /etc/systemd/logind.conf
|
||||||
|
src: etc/systemd/logind.conf
|
||||||
|
f_bluetooth.conf:
|
||||||
|
dst: /etc/bluetooth/main.conf
|
||||||
|
src: etc/bluetooth/main.conf
|
||||||
|
f_pacman.conf:
|
||||||
|
dst: /etc/pacman.conf
|
||||||
|
src: etc/pacman.conf
|
||||||
|
f_sshd_config:
|
||||||
|
dst: /etc/ssh/sshd_config
|
||||||
|
src: etc/ssh/sshd_config
|
||||||
|
f_welcomemessage.conf:
|
||||||
|
dst: /etc/welcomemessage.conf
|
||||||
|
src: etc/welcomemessage.conf
|
||||||
|
f_getty.conf:
|
||||||
|
src: etc/systemd/system/getty@tty1.service.d/override.conf
|
||||||
|
dst: /etc/systemd/system/getty@tty1.service.d/override.conf
|
||||||
|
f_99-conbee-usb-serial.rules:
|
||||||
|
src: etc/udev/rules.d/99-conbee-usb-serial.rules
|
||||||
|
dst: /etc/udev/rules.d/99-conbee-usb-serial.rules
|
||||||
|
f_99-lowbat.rules:
|
||||||
|
src: etc/udev/rules.d/99-lowbat.rules
|
||||||
|
dst: /etc/udev/rules.d/99-lowbat.rules
|
||||||
|
f_sleep.conf:
|
||||||
|
src: etc/systemd/sleep.conf
|
||||||
|
dst: /etc/systemd/sleep.conf
|
||||||
|
f_fstab:
|
||||||
|
src: etc/fstab
|
||||||
|
dst: /etc/fstab
|
||||||
|
f_ignore:
|
||||||
|
src: .ignore
|
||||||
|
dst: /.ignore
|
||||||
|
f_mkinitcpio.conf:
|
||||||
|
src: etc/mkinitcpio.conf
|
||||||
|
dst: /etc/mkinitcpio.conf
|
||||||
|
f_vconsole.conf:
|
||||||
|
src: etc/vconsole.conf
|
||||||
|
dst: /etc/vconsole.conf
|
||||||
|
f_20-quiet-printk.conf:
|
||||||
|
src: etc/sysctl.d/20-quiet-printk.conf
|
||||||
|
dst: /etc/sysctl.d/20-quiet-printk.conf
|
||||||
|
f_system.conf:
|
||||||
|
src: etc/systemd/system.conf
|
||||||
|
dst: /etc/systemd/system.conf
|
||||||
|
f_cpupower:
|
||||||
|
src: etc/default/cpupower
|
||||||
|
dst: /etc/default/cpupower
|
||||||
|
f_pacserve.service.conf:
|
||||||
|
src: etc/pacserve/pacserve.service.conf
|
||||||
|
dst: /etc/pacserve/pacserve.service.conf
|
||||||
|
profiles:
|
||||||
|
Network:
|
||||||
|
dotfiles:
|
||||||
|
- d_network
|
||||||
|
- f_networkd.conf
|
||||||
|
Locale:
|
||||||
|
dotfiles:
|
||||||
|
- f_locale.conf
|
||||||
|
- f_locale.gen
|
||||||
|
Pacman:
|
||||||
|
dotfiles:
|
||||||
|
- f_pacman.conf
|
||||||
|
- f_pacserve.service.conf
|
||||||
|
Mirkwood:
|
||||||
|
dotfiles:
|
||||||
|
- f_getty.conf
|
||||||
|
- f_cryptissue
|
||||||
|
- f_welcomemessage.conf
|
||||||
|
- d_bin
|
||||||
|
- f_adb.service
|
||||||
|
- f_bluetooth.conf
|
||||||
|
- f_sshd_config
|
||||||
|
- f_logind.conf
|
||||||
|
- f_60-uinput-permissions.rules
|
||||||
|
- f_freetype2.sh
|
||||||
|
- f_fonts.conf
|
||||||
|
- f_99-lowbat.rules
|
||||||
|
- f_ignore
|
||||||
|
- f_mkinitcpio.conf
|
||||||
|
- f_vconsole.conf
|
||||||
|
- f_20-quiet-printk.conf
|
||||||
|
- f_system.conf
|
||||||
|
- f_cpupower
|
||||||
|
include:
|
||||||
|
- Locale
|
||||||
|
- Pacman
|
||||||
|
- Network
|
||||||
|
Moria:
|
||||||
|
include:
|
||||||
|
- Locale
|
||||||
|
- Pacman
|
||||||
|
- Network
|
||||||
|
dotfiles:
|
||||||
|
- f_sshd_config
|
||||||
|
- f_99-sysctl.conf
|
||||||
|
- f_cpupower
|
||||||
|
Gondor:
|
||||||
|
include:
|
||||||
|
- Locale
|
||||||
|
- Pacman
|
||||||
|
dotfiles:
|
||||||
|
- f_sshd_config
|
||||||
|
localhost:
|
||||||
|
include:
|
||||||
|
- Locale
|
||||||
|
Edoras:
|
||||||
|
include:
|
||||||
|
- Pacman
|
285
config.toml
285
config.toml
|
@ -1,285 +0,0 @@
|
||||||
#:schema ../../dotdrop-config-schema.json
|
|
||||||
|
|
||||||
[actions]
|
|
||||||
dconf-load = "dconf load / < ~/.config/dconf.ini"
|
|
||||||
kanagawa-compile = "vim +KanagawaCompile +qa"
|
|
||||||
|
|
||||||
[config]
|
|
||||||
backup = true
|
|
||||||
banner = true
|
|
||||||
create = true
|
|
||||||
dotpath = "home"
|
|
||||||
ignoreempty = false
|
|
||||||
keepdot = true
|
|
||||||
link_dotfile_default = "nolink"
|
|
||||||
link_on_import = "nolink"
|
|
||||||
longkey = false
|
|
||||||
showdiff = false
|
|
||||||
workdir = "~/.config/dotdrop"
|
|
||||||
|
|
||||||
[dotfiles.d_systemd]
|
|
||||||
dst = "~/.config/systemd/user"
|
|
||||||
src = ".config/systemd/user"
|
|
||||||
|
|
||||||
[dotfiles.d_mpv]
|
|
||||||
dst = "~/.config/mpv"
|
|
||||||
src = ".config/mpv"
|
|
||||||
|
|
||||||
[dotfiles.d_nvim]
|
|
||||||
dst = "~/.config/nvim"
|
|
||||||
src = ".config/nvim"
|
|
||||||
actions = ["kanagawa-compile"]
|
|
||||||
instignore = ["*-lock.json"]
|
|
||||||
|
|
||||||
[dotfiles."f_abcde.conf"]
|
|
||||||
dst = "~/.abcde.conf"
|
|
||||||
src = ".abcde.conf"
|
|
||||||
|
|
||||||
[dotfiles.d_ssh]
|
|
||||||
dst = "~/.ssh"
|
|
||||||
src = ".ssh"
|
|
||||||
|
|
||||||
[dotfiles.f_beets_config]
|
|
||||||
dst = "~/.config/beets/config.yaml"
|
|
||||||
src = ".config/beets/config.yaml"
|
|
||||||
|
|
||||||
[dotfiles.f_beets_whitelist]
|
|
||||||
dst = "~/.config/beets/whitelist"
|
|
||||||
src = ".config/beets/whitelist"
|
|
||||||
|
|
||||||
[dotfiles.f_gitconfig]
|
|
||||||
dst = "~/.config/git/config"
|
|
||||||
src = ".config/git/config"
|
|
||||||
|
|
||||||
[dotfiles.f_librewolf_overrides]
|
|
||||||
dst = "~/.librewolf/librewolf.overrides.cfg"
|
|
||||||
src = ".librewolf/librewolf.overrides.cfg"
|
|
||||||
|
|
||||||
[dotfiles."f_makepkg.conf"]
|
|
||||||
dst = "~/.config/pacman/makepkg.conf"
|
|
||||||
src = ".config/pacman/makepkg.conf"
|
|
||||||
|
|
||||||
[dotfiles."f_mpd.conf"]
|
|
||||||
dst = "~/.config/mpd/mpd.conf"
|
|
||||||
src = ".config/mpd/mpd.conf"
|
|
||||||
|
|
||||||
[dotfiles."f_mpdris2.conf"]
|
|
||||||
dst = "~/.config/mpDris2/mpDris2.conf"
|
|
||||||
src = ".config/mpDris2/mpDris2.conf"
|
|
||||||
|
|
||||||
[dotfiles.f_ncmpcpp_bindings]
|
|
||||||
dst = "~/.config/ncmpcpp/bindings"
|
|
||||||
src = ".config/ncmpcpp/bindings"
|
|
||||||
|
|
||||||
[dotfiles."f_ranger.conf"]
|
|
||||||
dst = "~/.config/ranger/rc.conf"
|
|
||||||
src = ".config/ranger/rc.conf"
|
|
||||||
|
|
||||||
[dotfiles."f_ranger_commands.py"]
|
|
||||||
dst = "~/.config/ranger/commands.py"
|
|
||||||
src = ".config/ranger/commands.py"
|
|
||||||
|
|
||||||
[dotfiles."f_ssh.conf"]
|
|
||||||
dst = "~/.ssh/config"
|
|
||||||
src = ".ssh/config"
|
|
||||||
|
|
||||||
[dotfiles.f_zprofile]
|
|
||||||
dst = "~/.zprofile"
|
|
||||||
src = ".zprofile"
|
|
||||||
|
|
||||||
[dotfiles.f_zshrc]
|
|
||||||
dst = "~/.zshrc"
|
|
||||||
src = ".zshrc"
|
|
||||||
|
|
||||||
[dotfiles.d_zsh]
|
|
||||||
src = ".config/zsh"
|
|
||||||
dst = "~/.config/zsh"
|
|
||||||
|
|
||||||
[dotfiles."f_fonts.conf"]
|
|
||||||
src = ".config/fontconfig/fonts.conf"
|
|
||||||
dst = "~/.config/fontconfig/fonts.conf"
|
|
||||||
|
|
||||||
[dotfiles.f_ignore]
|
|
||||||
src = ".ignore"
|
|
||||||
dst = "~/.ignore"
|
|
||||||
|
|
||||||
[dotfiles."f_ncmpcpp.conf"]
|
|
||||||
src = ".config/ncmpcpp/config"
|
|
||||||
dst = "~/.config/ncmpcpp/config"
|
|
||||||
|
|
||||||
[dotfiles.f_hushlogin]
|
|
||||||
src = ".hushlogin"
|
|
||||||
dst = "~/.hushlogin"
|
|
||||||
|
|
||||||
[dotfiles."f_paru.conf"]
|
|
||||||
src = ".config/paru/paru.conf"
|
|
||||||
dst = "~/.config/paru/paru.conf"
|
|
||||||
|
|
||||||
[dotfiles."f_foot.ini"]
|
|
||||||
src = ".config/foot/foot.ini"
|
|
||||||
dst = "~/.config/foot/foot.ini"
|
|
||||||
|
|
||||||
[dotfiles."f_gpg-agent.conf"]
|
|
||||||
src = ".gnupg/gpg-agent.conf"
|
|
||||||
dst = "~/.gnupg/gpg-agent.conf"
|
|
||||||
chmod = "600"
|
|
||||||
|
|
||||||
[dotfiles."f_gpg.conf"]
|
|
||||||
src = ".gnupg/gpg.conf"
|
|
||||||
dst = "~/.gnupg/gpg.conf"
|
|
||||||
|
|
||||||
[dotfiles."f_gpg_scdaemon.conf"]
|
|
||||||
src = ".gnupg/scdaemon.conf"
|
|
||||||
dst = "~/.gnupg/scdaemon.conf"
|
|
||||||
|
|
||||||
[dotfiles."f_electron-flags.conf"]
|
|
||||||
src = ".config/electron-flags.conf"
|
|
||||||
dst = "~/.config/electron-flags.conf"
|
|
||||||
|
|
||||||
[dotfiles."f_electron12-flags.conf"]
|
|
||||||
src = ".config/electron12-flags.conf"
|
|
||||||
dst = "~/.config/electron12-flags.conf"
|
|
||||||
|
|
||||||
[dotfiles.f_pam_environment]
|
|
||||||
src = ".pam_environment"
|
|
||||||
dst = "~/.pam_environment"
|
|
||||||
|
|
||||||
[dotfiles."f_dconf.ini"]
|
|
||||||
src = ".config/dconf.ini"
|
|
||||||
dst = "~/.config/dconf.ini"
|
|
||||||
actions = ["dconf-load"]
|
|
||||||
|
|
||||||
[dotfiles."f_docker-config.json"]
|
|
||||||
src = ".docker/config.json"
|
|
||||||
dst = "~/.docker/config.json"
|
|
||||||
chmod = "600"
|
|
||||||
|
|
||||||
[dotfiles.f_npmrc]
|
|
||||||
src = ".npmrc"
|
|
||||||
dst = "~/.npmrc"
|
|
||||||
chmod = "600"
|
|
||||||
|
|
||||||
[dotfiles.f_zellij]
|
|
||||||
src = ".config/zellij/config.kdl"
|
|
||||||
dst = "~/.config/zellij/config.kdl"
|
|
||||||
|
|
||||||
[profiles.pacman]
|
|
||||||
dotfiles = ["f_makepkg.conf", "f_paru.conf"]
|
|
||||||
|
|
||||||
[profiles.terminal]
|
|
||||||
dotfiles = [
|
|
||||||
"d_nvim",
|
|
||||||
"d_ssh",
|
|
||||||
"d_zsh",
|
|
||||||
"f_gitconfig",
|
|
||||||
"f_hushlogin",
|
|
||||||
"f_ignore",
|
|
||||||
"f_ranger.conf",
|
|
||||||
"f_ranger_commands.py",
|
|
||||||
"f_zellij",
|
|
||||||
"f_zshrc",
|
|
||||||
"f_npmrc",
|
|
||||||
]
|
|
||||||
|
|
||||||
[profiles.media]
|
|
||||||
dotfiles = [
|
|
||||||
"d_mpv",
|
|
||||||
"f_abcde.conf",
|
|
||||||
"f_beets_config",
|
|
||||||
"f_beets_whitelist",
|
|
||||||
"f_mpd.conf",
|
|
||||||
"f_mpdris2.conf",
|
|
||||||
"f_ncmpcpp.conf",
|
|
||||||
"f_ncmpcpp_bindings",
|
|
||||||
]
|
|
||||||
|
|
||||||
[profiles.gpg]
|
|
||||||
dotfiles = [
|
|
||||||
"f_gpg-agent.conf",
|
|
||||||
"f_gpg.conf",
|
|
||||||
"f_gpg_scdaemon.conf",
|
|
||||||
"f_pam_environment",
|
|
||||||
]
|
|
||||||
|
|
||||||
[profiles.Mirkwood]
|
|
||||||
include = ["pacman", "terminal", "media", "gpg"]
|
|
||||||
dotfiles = [
|
|
||||||
"f_librewolf_overrides",
|
|
||||||
"f_dconf.ini",
|
|
||||||
"f_docker-config.json",
|
|
||||||
"f_fonts.conf",
|
|
||||||
"f_foot.ini",
|
|
||||||
]
|
|
||||||
|
|
||||||
[profiles.Mirkwood.variables]
|
|
||||||
wayland = true
|
|
||||||
|
|
||||||
[profiles.VentoyArch]
|
|
||||||
include = ["pacman", "terminal", "media", "gpg"]
|
|
||||||
dotfiles = [
|
|
||||||
"f_dconf.ini",
|
|
||||||
"f_fonts.conf",
|
|
||||||
]
|
|
||||||
|
|
||||||
[profiles.VentoyArch.variables]
|
|
||||||
wayland = true
|
|
||||||
|
|
||||||
[profiles.Shire]
|
|
||||||
include = ["pacman", "terminal", "media", "gpg"]
|
|
||||||
dotfiles = [
|
|
||||||
"f_dconf.ini",
|
|
||||||
"f_fonts.conf",
|
|
||||||
]
|
|
||||||
|
|
||||||
[profiles.Shire.variables]
|
|
||||||
wayland = true
|
|
||||||
|
|
||||||
[profiles.Moria]
|
|
||||||
include = ["pacman", "terminal", "media", "gpg"]
|
|
||||||
dotfiles = [
|
|
||||||
"f_librewolf_overrides",
|
|
||||||
"f_dconf.ini",
|
|
||||||
"f_zprofile",
|
|
||||||
"f_fonts.conf",
|
|
||||||
"d_systemd",
|
|
||||||
]
|
|
||||||
|
|
||||||
[profiles.Moria.variables]
|
|
||||||
wayland = true
|
|
||||||
|
|
||||||
[profiles.Tirion]
|
|
||||||
include = ["terminal", "gpg"]
|
|
||||||
|
|
||||||
[profiles.Gondor]
|
|
||||||
include = ["pacman", "terminal"]
|
|
||||||
|
|
||||||
[profiles.mko-laptop]
|
|
||||||
include = ["terminal", "gpg"]
|
|
||||||
dotfiles = ["f_librewolf_overrides", "f_dconf.ini", "d_systemd"]
|
|
||||||
|
|
||||||
[profiles.mko-laptop.variables]
|
|
||||||
wayland = true
|
|
||||||
|
|
||||||
[profiles.Isengard]
|
|
||||||
include = ["terminal"]
|
|
||||||
|
|
||||||
[profiles.Isengard.variables]
|
|
||||||
distro_id = "termux"
|
|
||||||
|
|
||||||
[profiles.Edoras]
|
|
||||||
include = ["terminal"]
|
|
||||||
|
|
||||||
[profiles.TakamakiPC]
|
|
||||||
include = ["terminal"]
|
|
||||||
|
|
||||||
[profiles.TakamakiPC.variables]
|
|
||||||
wayland = false
|
|
||||||
|
|
||||||
[profiles.localhost]
|
|
||||||
include = ["terminal"]
|
|
||||||
|
|
||||||
[profiles.ViiruJaTeippi]
|
|
||||||
include = ["terminal"]
|
|
||||||
|
|
||||||
[profiles.Evendim]
|
|
||||||
include = ["terminal", "pacman"]
|
|
257
config.yaml
Normal file
257
config.yaml
Normal file
|
@ -0,0 +1,257 @@
|
||||||
|
actions:
|
||||||
|
vim-plug: nvim +PlugInstall +qall
|
||||||
|
config:
|
||||||
|
backup: true
|
||||||
|
banner: true
|
||||||
|
create: true
|
||||||
|
dotpath: home
|
||||||
|
ignoreempty: false
|
||||||
|
keepdot: true
|
||||||
|
link_dotfile_default: nolink
|
||||||
|
link_on_import: nolink
|
||||||
|
longkey: false
|
||||||
|
showdiff: false
|
||||||
|
workdir: ~/.config/dotdrop
|
||||||
|
dotfiles:
|
||||||
|
d_systemd:
|
||||||
|
dst: ~/.config/systemd/user
|
||||||
|
src: .config/systemd/user
|
||||||
|
d_mpv:
|
||||||
|
dst: ~/.config/mpv
|
||||||
|
src: .config/mpv
|
||||||
|
d_neomutt:
|
||||||
|
dst: ~/.config/neomutt
|
||||||
|
src: .config/neomutt
|
||||||
|
d_imapnotify:
|
||||||
|
dst: ~/.config/imapnotify
|
||||||
|
src: .config/imapnotify
|
||||||
|
f_init.vim:
|
||||||
|
dst: ~/.config/nvim/init.vim
|
||||||
|
src: .config/nvim/init.vim
|
||||||
|
d_nvim_config:
|
||||||
|
actions:
|
||||||
|
- vim-plug
|
||||||
|
dst: ~/.config/nvim/conf.d
|
||||||
|
src: .config/nvim/conf.d
|
||||||
|
f_user-dirs.dirs:
|
||||||
|
dst: ~/.config/user-dirs.dirs
|
||||||
|
src: .config/user-dirs.dirs
|
||||||
|
f_coc-settings.json:
|
||||||
|
dst: ~/.config/nvim/coc-settings.json
|
||||||
|
src: .config/nvim/coc-settings.json
|
||||||
|
d_sway:
|
||||||
|
dst: ~/.config/sway
|
||||||
|
src: .config/sway
|
||||||
|
d_waybar:
|
||||||
|
dst: ~/.config/waybar
|
||||||
|
src: .config/waybar
|
||||||
|
d_wofi:
|
||||||
|
src: .config/wofi
|
||||||
|
dst: ~/.config/wofi
|
||||||
|
f_abcde.conf:
|
||||||
|
dst: ~/.abcde.conf
|
||||||
|
src: .abcde.conf
|
||||||
|
f_mbsyncrc:
|
||||||
|
dst: ~/.mbsyncrc
|
||||||
|
src: .mbsyncrc
|
||||||
|
f_alacritty.yml:
|
||||||
|
dst: ~/.config/alacritty/alacritty.yml
|
||||||
|
src: .config/alacritty/alacritty.yml
|
||||||
|
f_authorized_keys:
|
||||||
|
dst: ~/.ssh/authorized_keys
|
||||||
|
src: .ssh/authorized_keys
|
||||||
|
f_beets_config:
|
||||||
|
dst: ~/.config/beets/config.yaml
|
||||||
|
src: .config/beets/config.yaml
|
||||||
|
f_beets_whitelist:
|
||||||
|
dst: ~/.config/beets/whitelist
|
||||||
|
src: .config/beets/whitelist
|
||||||
|
f_bspwmrc:
|
||||||
|
dst: ~/.config/bspwm/bspwmrc
|
||||||
|
src: .config/bspwm/bspwmrc
|
||||||
|
f_gitconfig:
|
||||||
|
dst: ~/.gitconfig
|
||||||
|
src: .gitconfig
|
||||||
|
f_libra_config:
|
||||||
|
dst: ~/.config/libra/config.toml
|
||||||
|
src: .config/libra/config.toml
|
||||||
|
f_mailcap:
|
||||||
|
dst: ~/.mailcap
|
||||||
|
src: .mailcap
|
||||||
|
f_makepkg.conf:
|
||||||
|
dst: ~/.config/pacman/makepkg.conf
|
||||||
|
src: .config/pacman/makepkg.conf
|
||||||
|
f_mako_config:
|
||||||
|
dst: ~/.config/mako/config
|
||||||
|
src: .config/mako/config
|
||||||
|
f_mimeo_associations.txt:
|
||||||
|
dst: ~/.config/mimeo/associations.txt
|
||||||
|
src: .config/mimeo/associations.txt
|
||||||
|
f_mpd.conf:
|
||||||
|
dst: ~/.config/mpd/mpd.conf
|
||||||
|
src: .config/mpd/mpd.conf
|
||||||
|
f_mpdris2.conf:
|
||||||
|
dst: ~/.config/mpDris2/mpDris2.conf
|
||||||
|
src: .config/mpDris2/mpDris2.conf
|
||||||
|
f_mpdscribble.conf:
|
||||||
|
dst: ~/.mpdscribble/mpdscribble.conf
|
||||||
|
src: .mpdscribble/mpdscribble.conf
|
||||||
|
f_ncmpcpp_bindings:
|
||||||
|
dst: ~/.config/ncmpcpp/bindings
|
||||||
|
src: .config/ncmpcpp/bindings
|
||||||
|
f_ranger.conf:
|
||||||
|
dst: ~/.config/ranger/rc.conf
|
||||||
|
src: .config/ranger/rc.conf
|
||||||
|
f_ranger_commands.py:
|
||||||
|
dst: ~/.config/ranger/commands.py
|
||||||
|
src: .config/ranger/commands.py
|
||||||
|
f_redshift.conf:
|
||||||
|
dst: ~/.config/redshift/redshift.conf
|
||||||
|
src: .config/redshift/redshift.conf
|
||||||
|
f_rtv.cfg:
|
||||||
|
dst: ~/.config/rtv/rtv.cfg
|
||||||
|
src: .config/rtv/rtv.cfg
|
||||||
|
f_ssh.conf:
|
||||||
|
dst: ~/.ssh/config
|
||||||
|
src: .ssh/config
|
||||||
|
f_steam-native.desktop:
|
||||||
|
dst: ~/.local/share/applications/steam-native.desktop
|
||||||
|
src: .local/share/applications/steam-native.desktop
|
||||||
|
f_tdesktop_lang.strings:
|
||||||
|
dst: ~/.config/telegram-desktop/lang.strings
|
||||||
|
src: .config/telegram-desktop/lang.strings
|
||||||
|
f_tmux.conf:
|
||||||
|
dst: ~/.tmux.conf
|
||||||
|
src: .tmux.conf
|
||||||
|
f_youtube-dl_config:
|
||||||
|
dst: ~/.config/youtube-dl/config
|
||||||
|
src: .config/youtube-dl/config
|
||||||
|
f_zathurarc:
|
||||||
|
dst: ~/.config/zathura/zathurarc
|
||||||
|
src: .config/zathura/zathurarc
|
||||||
|
f_zshrc:
|
||||||
|
dst: ~/.zshrc
|
||||||
|
src: .zshrc
|
||||||
|
d_zsh:
|
||||||
|
src: .config/zsh
|
||||||
|
dst: ~/.config/zsh
|
||||||
|
f_fonts.conf:
|
||||||
|
src: .config/fontconfig/fonts.conf
|
||||||
|
dst: ~/.config/fontconfig/fonts.conf
|
||||||
|
f_ripgrep_ignore:
|
||||||
|
src: .ignore
|
||||||
|
dst: ~/.ignore
|
||||||
|
f_nvimpager:
|
||||||
|
src: .config/nvimpager/init.vim
|
||||||
|
dst: ~/.config/nvimpager/init.vim
|
||||||
|
f_ncmpcpp.conf:
|
||||||
|
src: .config/ncmpcpp/config
|
||||||
|
dst: ~/.config/ncmpcpp/config
|
||||||
|
f_hushlogin:
|
||||||
|
src: .hushlogin
|
||||||
|
dst: ~/.hushlogin
|
||||||
|
f_paru.conf:
|
||||||
|
src: .config/paru/paru.conf
|
||||||
|
dst: ~/.config/paru/paru.conf
|
||||||
|
f_msmtp_config:
|
||||||
|
src: .config/msmtp/config
|
||||||
|
dst: ~/.config/msmtp/config
|
||||||
|
f_foot.ini:
|
||||||
|
src: .config/foot/foot.ini
|
||||||
|
dst: ~/.config/foot/foot.ini
|
||||||
|
profiles:
|
||||||
|
base:
|
||||||
|
dotfiles:
|
||||||
|
- d_systemd
|
||||||
|
terminal:
|
||||||
|
dotfiles:
|
||||||
|
- f_nvimpager
|
||||||
|
- f_hushlogin
|
||||||
|
- f_ripgrep_ignore
|
||||||
|
- f_ranger_commands.py
|
||||||
|
- f_rtv.cfg
|
||||||
|
- f_mailcap
|
||||||
|
- d_zsh
|
||||||
|
- f_zshrc
|
||||||
|
- f_tmux.conf
|
||||||
|
- f_ranger.conf
|
||||||
|
- f_ssh.conf
|
||||||
|
- f_authorized_keys
|
||||||
|
- d_nvim_config
|
||||||
|
- f_init.vim
|
||||||
|
- f_coc-settings.json
|
||||||
|
- f_gitconfig
|
||||||
|
- f_alacritty.yml
|
||||||
|
email:
|
||||||
|
dotfiles:
|
||||||
|
- d_neomutt
|
||||||
|
- d_imapnotify
|
||||||
|
- f_mbsyncrc
|
||||||
|
- f_msmtp_config
|
||||||
|
media:
|
||||||
|
dotfiles:
|
||||||
|
- f_beets_config
|
||||||
|
- f_beets_whitelist
|
||||||
|
- f_abcde.conf
|
||||||
|
- d_mpv
|
||||||
|
- f_youtube-dl_config
|
||||||
|
- f_mpd.conf
|
||||||
|
- f_ncmpcpp_bindings
|
||||||
|
- f_ncmpcpp.conf
|
||||||
|
- f_libra_config
|
||||||
|
- f_mpdscribble.conf
|
||||||
|
- f_mpdris2.conf
|
||||||
|
sway:
|
||||||
|
dotfiles:
|
||||||
|
- d_sway
|
||||||
|
- d_waybar
|
||||||
|
- d_wofi
|
||||||
|
- f_mako_config
|
||||||
|
- f_redshift.conf
|
||||||
|
- f_zathurarc
|
||||||
|
- f_mimeo_associations.txt
|
||||||
|
- f_tdesktop_lang.strings
|
||||||
|
- f_fonts.conf
|
||||||
|
Pacman:
|
||||||
|
dotfiles:
|
||||||
|
- f_makepkg.conf
|
||||||
|
- f_paru.conf
|
||||||
|
Mirkwood:
|
||||||
|
include:
|
||||||
|
- base
|
||||||
|
- terminal
|
||||||
|
- email
|
||||||
|
- media
|
||||||
|
- sway
|
||||||
|
- Pacman
|
||||||
|
dotfiles:
|
||||||
|
- f_paru.conf
|
||||||
|
- f_user-dirs.dirs
|
||||||
|
- f_gitconfig
|
||||||
|
- f_foot.ini
|
||||||
|
Moria:
|
||||||
|
include:
|
||||||
|
- terminal
|
||||||
|
- media
|
||||||
|
- Pacman
|
||||||
|
Gondor:
|
||||||
|
include:
|
||||||
|
- terminal
|
||||||
|
- Pacman
|
||||||
|
mko-laptop:
|
||||||
|
include:
|
||||||
|
- terminal
|
||||||
|
Edoras:
|
||||||
|
include:
|
||||||
|
- terminal
|
||||||
|
- Pacman
|
||||||
|
TakamakiPC:
|
||||||
|
include:
|
||||||
|
- terminal
|
||||||
|
- Pacman
|
||||||
|
localhost:
|
||||||
|
include:
|
||||||
|
- terminal
|
||||||
|
ViiruJaTeippi:
|
||||||
|
include:
|
||||||
|
- terminal
|
73
deploy.sh
Executable file
73
deploy.sh
Executable file
|
@ -0,0 +1,73 @@
|
||||||
|
#!/bin/zsh
|
||||||
|
|
||||||
|
# This is a script that should be ran once
|
||||||
|
# on a new system. Dotdrop will take it from there.
|
||||||
|
# It is higly tailored to my own needs and
|
||||||
|
# you (the random person on the internet) should probably not run it
|
||||||
|
|
||||||
|
export DOTREPO="$HOME/git/dotfiles"
|
||||||
|
DISTRO="$(lsb_release -ds | sed 's/"//g')"
|
||||||
|
|
||||||
|
PKGLIST="python-ruamel-yaml python-magic-git python-jinja python-docopt"
|
||||||
|
|
||||||
|
if [ -d $DOTREPO ]; then
|
||||||
|
print "Dotfile repository already exists, exiting..."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$DISTRO" -ne "Arch Linux" ]; then
|
||||||
|
print "Not running on Arch Linux"
|
||||||
|
print "Other distros not supported, exiting..."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# install neovim if not installed
|
||||||
|
if ! [ -x "$(command -v nvim)" ]; then
|
||||||
|
read -p "Install neovim? [Y/n] " -i "y" INVIM
|
||||||
|
if [ "$(tr '[:upper:]' ':lower:' $INVIM)" -eq "y" ]; then
|
||||||
|
print "Installing neovim"
|
||||||
|
PKGLIST=$PKGLIST + " neovim neovim-dropin"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# install zsh if not installed
|
||||||
|
if ! [ -x "$(command -v zsh)" ]; then
|
||||||
|
read -p "Install zsh? [Y/n] " -i "y" IZSH
|
||||||
|
if [ "$(tr '[:upper:]' ':lower:' $INVIM)" -eq "y" ]; then
|
||||||
|
print "Installing zsh"
|
||||||
|
PKGLIST=$PKGLIST + " zsh"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# install paru if not installed
|
||||||
|
if ! [ -x "$(command -v paru)" ]; then
|
||||||
|
read -p "Install paru? [Y/n] " -i "y" IYAY
|
||||||
|
if [ "$(tr '[:upper:]' ':lower:' $IYAY)" -eq "y" ]; then
|
||||||
|
print "Installing paru"
|
||||||
|
sudo pacman -Syu --needed --noconfirm git wget base-devel
|
||||||
|
cd
|
||||||
|
wget https://aur.archlinux.org/cgit/aur.git/snapshot/paru-bin.tar.gz
|
||||||
|
tar xfv paru-bin.tar.gz
|
||||||
|
cd paru-bin
|
||||||
|
makepkg -si --noconfirm
|
||||||
|
cd ..
|
||||||
|
rm -r paru*
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $PKGLIST -ne "" ]
|
||||||
|
if ! [ -x "$(command -v paru)" ]; then
|
||||||
|
print "Can't continue without paru"
|
||||||
|
|
||||||
|
paru -S $PKGLIST
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir ~/git
|
||||||
|
git clone https://git.korhonen.cc/ReekyMarko/dotfiles.git $DOTREPO
|
||||||
|
cd ~/git/dotfiles
|
||||||
|
git submodule init
|
||||||
|
git submodule update
|
||||||
|
$DOTREPO/dotdrop.sh --cfg=$DOTREPO/config-home.yaml install
|
||||||
|
chsh -s /bin/zsh
|
||||||
|
zsh -c "source ~/.zshrc; sdotdrop install"
|
20
docker/auth/docker-compose.yaml
Normal file
20
docker/auth/docker-compose.yaml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
version: "2"
|
||||||
|
|
||||||
|
services:
|
||||||
|
openldap:
|
||||||
|
container_name: openldap
|
||||||
|
image: osixia/openldap:stable
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Helsinki
|
||||||
|
- LDAP_ORGANIZATION="Korhonen"
|
||||||
|
- LDAP_DOMAIN="korhonen.cc"
|
||||||
|
- LDAP_ADMIN_PASSWORD="${LDAP_ADMIN_PASSWORD}"
|
||||||
|
hostname: ldap.korhonen.cc
|
||||||
|
ports:
|
||||||
|
- 389:389
|
||||||
|
- 636:636
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- /docker/auth/openldap/ldap:/var/lib/ldap
|
||||||
|
- /docker/auth/openldap/slapd.d:/etc/ldap/slapd.d
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
|
@ -1,75 +0,0 @@
|
||||||
volumes:
|
|
||||||
redis: {}
|
|
||||||
media: {}
|
|
||||||
custom_templates: {}
|
|
||||||
geoip: {}
|
|
||||||
backups: {}
|
|
||||||
services:
|
|
||||||
redis:
|
|
||||||
image: redis:alpine
|
|
||||||
container_name: authentik-redis
|
|
||||||
networks:
|
|
||||||
- authentik
|
|
||||||
restart: unless-stopped
|
|
||||||
volumes:
|
|
||||||
- redis:/data
|
|
||||||
healthcheck:
|
|
||||||
test:
|
|
||||||
- CMD-SHELL
|
|
||||||
- redis-cli ping | grep PONG
|
|
||||||
start_period: 20s
|
|
||||||
interval: 30s
|
|
||||||
retries: 5
|
|
||||||
timeout: 3s
|
|
||||||
server:
|
|
||||||
image: ghcr.io/goauthentik/server
|
|
||||||
container_name: authentik
|
|
||||||
restart: unless-stopped
|
|
||||||
command: server
|
|
||||||
volumes:
|
|
||||||
- media:/media
|
|
||||||
- custom_templates:/templates
|
|
||||||
- geoip:/geoip
|
|
||||||
env_file:
|
|
||||||
- .env
|
|
||||||
networks:
|
|
||||||
- authentik
|
|
||||||
- postgres
|
|
||||||
- proxy
|
|
||||||
worker:
|
|
||||||
image: ghcr.io/goauthentik/server
|
|
||||||
container_name: authentik-worker
|
|
||||||
restart: unless-stopped
|
|
||||||
command: worker
|
|
||||||
user: root
|
|
||||||
volumes:
|
|
||||||
- backups:/backups
|
|
||||||
- custom_templates:/templates
|
|
||||||
- geoip:/geoip
|
|
||||||
- media:/media
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
env_file:
|
|
||||||
- .env
|
|
||||||
networks:
|
|
||||||
- authentik
|
|
||||||
- postgres
|
|
||||||
geoipupdate:
|
|
||||||
image: maxmindinc/geoipupdate
|
|
||||||
container_name: authentik-geoipupdate
|
|
||||||
restart: unless-stopped
|
|
||||||
networks:
|
|
||||||
- authentik
|
|
||||||
volumes:
|
|
||||||
- geoip:/usr/share/GeoIP
|
|
||||||
env_file:
|
|
||||||
- .env
|
|
||||||
environment:
|
|
||||||
GEOIPUPDATE_EDITION_IDS: GeoLite2-City
|
|
||||||
GEOIPUPDATE_FREQUENCY: '8'
|
|
||||||
networks:
|
|
||||||
authentik:
|
|
||||||
external: true
|
|
||||||
postgres:
|
|
||||||
external: true
|
|
||||||
proxy:
|
|
||||||
external: true
|
|
|
@ -1,33 +0,0 @@
|
||||||
volumes:
|
|
||||||
caddy_data:
|
|
||||||
external: true
|
|
||||||
caddy_config:
|
|
||||||
external: true
|
|
||||||
caddy_wkd:
|
|
||||||
external: true
|
|
||||||
homeautomation_hass:
|
|
||||||
external: true
|
|
||||||
services:
|
|
||||||
backup:
|
|
||||||
image: offen/docker-volume-backup:v2
|
|
||||||
container_name: volume-backup
|
|
||||||
restart: unless-stopped
|
|
||||||
environment:
|
|
||||||
- AWS_ENDPOINT
|
|
||||||
- AWS_S3_BUCKET_NAME
|
|
||||||
- AWS_ACCESS_KEY_ID
|
|
||||||
- AWS_SECRET_ACCESS_KEY
|
|
||||||
- GPG_PASSPHRASE
|
|
||||||
- EMAIL_SMTP_HOST
|
|
||||||
- EMAIL_SMTP_PASSWORD
|
|
||||||
- EMAIL_SMTP_USERNAME
|
|
||||||
- EMAIL_SMTP_PORT
|
|
||||||
- BACKUP_COMPRESSION=zst
|
|
||||||
- BACKUP_RETENTION_DAYS=7
|
|
||||||
volumes:
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
||||||
- /etc/localtime:/etc/localtime:ro
|
|
||||||
- caddy_data:/backup/caddy_data:ro
|
|
||||||
- caddy_config:/backup/caddy_config:ro
|
|
||||||
- caddy_wkd:/backup/caddy_wkd:ro
|
|
||||||
- homeautomation_hass:/backup/homeautomation_hass:ro
|
|
|
@ -1,177 +0,0 @@
|
||||||
{
|
|
||||||
order umami first
|
|
||||||
}
|
|
||||||
|
|
||||||
korhonen.cc, *.korhonen.cc {
|
|
||||||
encode zstd gzip
|
|
||||||
|
|
||||||
tls {
|
|
||||||
dns cloudflare {$CF_API_TOKEN}
|
|
||||||
resolvers 1.1.1.1
|
|
||||||
}
|
|
||||||
|
|
||||||
header {
|
|
||||||
Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
|
|
||||||
}
|
|
||||||
|
|
||||||
@static {
|
|
||||||
file
|
|
||||||
path *.ico *.css *.js *.gif *.webp *.avif *.jpg *.jpeg *.png *.svg *.woff *.woff2 *.pdf *.webmanifest
|
|
||||||
}
|
|
||||||
|
|
||||||
@homepage-www-redir host www.korhonen.cc
|
|
||||||
handle @homepage-www-redir {
|
|
||||||
redir https://korhonen.cc
|
|
||||||
}
|
|
||||||
|
|
||||||
@homepage host korhonen.cc
|
|
||||||
handle @homepage {
|
|
||||||
# Redirect finnish WIP
|
|
||||||
# @redirFinnish {
|
|
||||||
# header Accept-Language *fi-FI*
|
|
||||||
# not path *.js *.css *.png *.jpg *.jpeg *.svg
|
|
||||||
# not path /en* /fi*
|
|
||||||
# }
|
|
||||||
# redir @redirFinnish /fi{uri}
|
|
||||||
#
|
|
||||||
# uri strip_prefix /en
|
|
||||||
|
|
||||||
header @static Cache-Control max-age=5184000
|
|
||||||
root * /var/www/korhonen.cc
|
|
||||||
file_server
|
|
||||||
}
|
|
||||||
|
|
||||||
@wkd host openpgpkey.korhonen.cc
|
|
||||||
handle @wkd {
|
|
||||||
root * /var/www/wkd
|
|
||||||
file_server browse
|
|
||||||
header Access-Control-Allow-Origin "*"
|
|
||||||
}
|
|
||||||
|
|
||||||
@index host index.korhonen.cc
|
|
||||||
handle @index {
|
|
||||||
umami {
|
|
||||||
event_endpoint "https://umami.korhonen.cc/api/send"
|
|
||||||
website_uuid "9fe4f5c0-8e63-4479-a58d-d399cdbc0a3a"
|
|
||||||
client_ip_header X-Real-IP
|
|
||||||
device_detection
|
|
||||||
allowed_extensions "" .tar.zst .json .html
|
|
||||||
}
|
|
||||||
root * /var/www/index.korhonen.cc
|
|
||||||
file_server browse
|
|
||||||
}
|
|
||||||
|
|
||||||
@home-assistant host home.korhonen.cc
|
|
||||||
handle @home-assistant {
|
|
||||||
reverse_proxy home-assistant:8123
|
|
||||||
}
|
|
||||||
|
|
||||||
@authentik host sso.korhonen.cc
|
|
||||||
handle @authentik {
|
|
||||||
reverse_proxy authentik:9000
|
|
||||||
}
|
|
||||||
|
|
||||||
@forgejo host git.korhonen.cc
|
|
||||||
handle @forgejo {
|
|
||||||
rewrite /user/login /user/oauth2/Korhonen%20SSO
|
|
||||||
reverse_proxy forgejo:3000
|
|
||||||
}
|
|
||||||
|
|
||||||
@woodpecker host ci.korhonen.cc
|
|
||||||
handle @woodpecker {
|
|
||||||
reverse_proxy woodpecker:8000
|
|
||||||
}
|
|
||||||
|
|
||||||
@searx host dsearch.korhonen.cc
|
|
||||||
handle @searx {
|
|
||||||
reverse_proxy searx:8080
|
|
||||||
}
|
|
||||||
|
|
||||||
@freshrss host rss.korhonen.cc
|
|
||||||
handle @freshrss {
|
|
||||||
reverse_proxy freshrss
|
|
||||||
}
|
|
||||||
|
|
||||||
@jellyfin host jellyfin.korhonen.cc
|
|
||||||
handle @jellyfin {
|
|
||||||
reverse_proxy jellyfin:8096
|
|
||||||
}
|
|
||||||
|
|
||||||
@pihole host pihole.korhonen.cc
|
|
||||||
handle @pihole {
|
|
||||||
reverse_proxy pihole
|
|
||||||
}
|
|
||||||
|
|
||||||
@umami host umami.korhonen.cc
|
|
||||||
handle @umami {
|
|
||||||
reverse_proxy umami:3000
|
|
||||||
}
|
|
||||||
|
|
||||||
@nextcloud host cloud.korhonen.cc
|
|
||||||
handle @nextcloud {
|
|
||||||
# Redirect login page to Authentik
|
|
||||||
redir /login /apps/sociallogin/custom_oidc/korhonen-sso 301
|
|
||||||
|
|
||||||
# .htaccess / data / config / ... shouldn't be accessible from outside
|
|
||||||
@forbidden {
|
|
||||||
path /.htaccess
|
|
||||||
path /data/*
|
|
||||||
path /config/*
|
|
||||||
path /db_structure
|
|
||||||
path /.xml
|
|
||||||
path /README
|
|
||||||
path /3rdparty/*
|
|
||||||
path /lib/*
|
|
||||||
path /templates/*
|
|
||||||
path /occ
|
|
||||||
path /console.php
|
|
||||||
}
|
|
||||||
handle @forbidden {
|
|
||||||
respond 404
|
|
||||||
}
|
|
||||||
|
|
||||||
redir /.well-known/carddav /remote.php/dav 301
|
|
||||||
redir /.well-known/caldav /remote.php/dav 301
|
|
||||||
|
|
||||||
root * /var/www/nextcloud
|
|
||||||
php_fastcgi nextcloud:9000 {
|
|
||||||
root /var/www/html
|
|
||||||
# Tells nextcloud to remove /index.php from URLs in links
|
|
||||||
env front_controller_active true
|
|
||||||
}
|
|
||||||
file_server
|
|
||||||
}
|
|
||||||
|
|
||||||
@collabora host collabora.korhonen.cc
|
|
||||||
handle @collabora {
|
|
||||||
reverse_proxy collabora:9980
|
|
||||||
}
|
|
||||||
|
|
||||||
@drop host drop.korhonen.cc
|
|
||||||
handle @drop {
|
|
||||||
reverse_proxy drop:3000
|
|
||||||
}
|
|
||||||
|
|
||||||
@ipvX host ipv6.korhonen.cc ipv4.korhonen.cc
|
|
||||||
handle @ipvX {
|
|
||||||
respond {remote_host}
|
|
||||||
}
|
|
||||||
|
|
||||||
handle {
|
|
||||||
respond "404 Not Found" 404
|
|
||||||
}
|
|
||||||
|
|
||||||
handle_errors {
|
|
||||||
@homepage_404 {
|
|
||||||
expression {http.error.status_code} == 404
|
|
||||||
host korhonen.cc
|
|
||||||
}
|
|
||||||
handle @homepage_404 {
|
|
||||||
root * /var/www/korhonen.cc
|
|
||||||
rewrite * /404.html
|
|
||||||
file_server
|
|
||||||
}
|
|
||||||
|
|
||||||
respond "{err.status_code} {err.status_text}"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,35 +0,0 @@
|
||||||
volumes:
|
|
||||||
data: {}
|
|
||||||
config: {}
|
|
||||||
wkd: {}
|
|
||||||
korhonen_cc: {}
|
|
||||||
nextcloud_config:
|
|
||||||
external: true
|
|
||||||
services:
|
|
||||||
caddy:
|
|
||||||
image: git.korhonen.cc/functionalhacker/caddy
|
|
||||||
container_name: caddy
|
|
||||||
restart: unless-stopped
|
|
||||||
ports:
|
|
||||||
- 80:80
|
|
||||||
- 443:443/tcp
|
|
||||||
- 443:443/udp
|
|
||||||
- 127.0.0.1:2019:2019
|
|
||||||
networks:
|
|
||||||
- proxy
|
|
||||||
volumes:
|
|
||||||
- /etc/localtime:/etc/localtime:ro
|
|
||||||
- ./Caddyfile:/etc/caddy/Caddyfile
|
|
||||||
- data:/data
|
|
||||||
- config:/config
|
|
||||||
- wkd:/var/www/wkd
|
|
||||||
- korhonen_cc:/var/www/korhonen.cc
|
|
||||||
- nextcloud_config:/var/www/nextcloud
|
|
||||||
- /var/www/index.korhonen.cc:/var/www/index.korhonen.cc
|
|
||||||
env_file:
|
|
||||||
- .env
|
|
||||||
cap_add:
|
|
||||||
- NET_ADMIN
|
|
||||||
networks:
|
|
||||||
proxy:
|
|
||||||
external: true
|
|
|
@ -1,19 +0,0 @@
|
||||||
services:
|
|
||||||
cloudflared:
|
|
||||||
image: cloudflare/cloudflared
|
|
||||||
container_name: cloudflared
|
|
||||||
restart: unless-stopped
|
|
||||||
networks:
|
|
||||||
- proxy
|
|
||||||
volumes:
|
|
||||||
- /etc/localtime:/etc/localtime:ro
|
|
||||||
entrypoint:
|
|
||||||
command: tunnel --no-autoupdate run
|
|
||||||
env_file:
|
|
||||||
- .env
|
|
||||||
extra_hosts:
|
|
||||||
- 'host.docker.internal:host-gateway'
|
|
||||||
|
|
||||||
networks:
|
|
||||||
proxy:
|
|
||||||
external: true
|
|
|
@ -1,13 +0,0 @@
|
||||||
services:
|
|
||||||
cloudflare-ddns:
|
|
||||||
image: timothyjmiller/cloudflare-ddns
|
|
||||||
container_name: cloudflare-ddns
|
|
||||||
security_opt:
|
|
||||||
- no-new-privileges:true
|
|
||||||
network_mode: host
|
|
||||||
environment:
|
|
||||||
- PUID=1000
|
|
||||||
- PGID=1000
|
|
||||||
volumes:
|
|
||||||
- /mnt/Storage/docker/ddns/config.json:/config.json
|
|
||||||
restart: unless-stopped
|
|
|
@ -1,13 +0,0 @@
|
||||||
services:
|
|
||||||
drop:
|
|
||||||
image: lscr.io/linuxserver/pairdrop
|
|
||||||
container_name: drop
|
|
||||||
restart: unless-stopped
|
|
||||||
networks:
|
|
||||||
- proxy
|
|
||||||
- IPV6_LOCALIZE=4
|
|
||||||
volumes:
|
|
||||||
- /etc/localtime:/etc/localtime:ro
|
|
||||||
networks:
|
|
||||||
proxy:
|
|
||||||
external: true
|
|
|
@ -1,48 +0,0 @@
|
||||||
volumes:
|
|
||||||
files: {}
|
|
||||||
config: {}
|
|
||||||
redis: {}
|
|
||||||
db: {}
|
|
||||||
services:
|
|
||||||
firefish:
|
|
||||||
image: registry.firefish.dev/firefish/firefish
|
|
||||||
container_name: firefish
|
|
||||||
restart: unless-stopped
|
|
||||||
depends_on:
|
|
||||||
- redis
|
|
||||||
ports:
|
|
||||||
- 3084:3000
|
|
||||||
networks:
|
|
||||||
- firefish
|
|
||||||
- proxy
|
|
||||||
environment:
|
|
||||||
NODE_ENV: production
|
|
||||||
volumes:
|
|
||||||
- files:/firefish/files
|
|
||||||
- config:/firefish/.config:ro
|
|
||||||
redis:
|
|
||||||
image: redis
|
|
||||||
container_name: redis-firefish
|
|
||||||
restart: unless-stopped
|
|
||||||
networks:
|
|
||||||
- firefish
|
|
||||||
volumes:
|
|
||||||
- redis:/data
|
|
||||||
db:
|
|
||||||
image: groonga/pgroonga:3.1.8-alpine-16-slim
|
|
||||||
container_name: firefish-db
|
|
||||||
restart: unless-stopped
|
|
||||||
networks:
|
|
||||||
- firefish
|
|
||||||
volumes:
|
|
||||||
- db:/var/lib/postgresql/data
|
|
||||||
healthcheck:
|
|
||||||
test: pg_isready --user="firefish" --dbname="firefish"
|
|
||||||
interval: 5s
|
|
||||||
timeout: 5s
|
|
||||||
retries: 5
|
|
||||||
networks:
|
|
||||||
firefish:
|
|
||||||
internal: true
|
|
||||||
proxy:
|
|
||||||
external: true
|
|
|
@ -1,37 +0,0 @@
|
||||||
volumes:
|
|
||||||
data: {}
|
|
||||||
runner: {}
|
|
||||||
services:
|
|
||||||
forgejo:
|
|
||||||
image: git.korhonen.cc/functionalhacker/forgejo-asciidoc
|
|
||||||
container_name: forgejo
|
|
||||||
environment:
|
|
||||||
- USER_UID=1000
|
|
||||||
- USER_GID=1000
|
|
||||||
restart: unless-stopped
|
|
||||||
networks:
|
|
||||||
- postgres
|
|
||||||
- proxy
|
|
||||||
ports:
|
|
||||||
- '2882:22'
|
|
||||||
volumes:
|
|
||||||
- data:/data
|
|
||||||
- /etc/localtime:/etc/localtime:ro
|
|
||||||
runner:
|
|
||||||
image: code.forgejo.org/forgejo/runner:6
|
|
||||||
container_name: forgejo-runner
|
|
||||||
user: root:root
|
|
||||||
volumes:
|
|
||||||
- runner:/data
|
|
||||||
- ./runner.yaml:/data/config.yaml
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
- /etc/localtime:/etc/localtime:ro
|
|
||||||
environment:
|
|
||||||
- SOCKFILE=/var/run/docker.sock
|
|
||||||
restart: unless-stopped
|
|
||||||
command: forgejo-runner daemon -c /data/config.yaml
|
|
||||||
networks:
|
|
||||||
postgres:
|
|
||||||
external: true
|
|
||||||
proxy:
|
|
||||||
external: true
|
|
|
@ -1,34 +0,0 @@
|
||||||
log:
|
|
||||||
level: info
|
|
||||||
|
|
||||||
runner:
|
|
||||||
file: .runner
|
|
||||||
capacity: 2
|
|
||||||
env_file: .env
|
|
||||||
timeout: 3h
|
|
||||||
insecure: false
|
|
||||||
fetch_timeout: 5s
|
|
||||||
fetch_interval: 2s
|
|
||||||
labels:
|
|
||||||
- 'docker:docker://git.korhonen.cc/functionalhacker/ubuntu-act:22.04'
|
|
||||||
|
|
||||||
cache:
|
|
||||||
enabled: true
|
|
||||||
dir: ''
|
|
||||||
host: ''
|
|
||||||
port: 0
|
|
||||||
external_server: ''
|
|
||||||
|
|
||||||
container:
|
|
||||||
network: ''
|
|
||||||
enable_ipv6: false
|
|
||||||
privileged: false
|
|
||||||
options:
|
|
||||||
workdir_parent:
|
|
||||||
valid_volumes:
|
|
||||||
- 'caddy_korhonen_cc'
|
|
||||||
docker_host: 'automount'
|
|
||||||
force_pull: false
|
|
||||||
|
|
||||||
host:
|
|
||||||
workdir_parent:
|
|
|
@ -1,24 +0,0 @@
|
||||||
volumes:
|
|
||||||
config: {}
|
|
||||||
services:
|
|
||||||
freshrss:
|
|
||||||
image: linuxserver/freshrss
|
|
||||||
container_name: freshrss
|
|
||||||
restart: unless-stopped
|
|
||||||
networks:
|
|
||||||
- freshrss
|
|
||||||
- postgres
|
|
||||||
- proxy
|
|
||||||
environment:
|
|
||||||
- PUID=1000
|
|
||||||
- PGID=985
|
|
||||||
volumes:
|
|
||||||
- /etc/localtime:/etc/localtime:ro
|
|
||||||
- config:/config
|
|
||||||
networks:
|
|
||||||
freshrss:
|
|
||||||
external: false
|
|
||||||
postgres:
|
|
||||||
external: true
|
|
||||||
proxy:
|
|
||||||
external: true
|
|
96
docker/freshrss/docker-compose.yml
Normal file
96
docker/freshrss/docker-compose.yml
Normal file
|
@ -0,0 +1,96 @@
|
||||||
|
version: "2.1"
|
||||||
|
services:
|
||||||
|
freshrss:
|
||||||
|
image: linuxserver/freshrss
|
||||||
|
container_name: freshrss
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- freshrss
|
||||||
|
- postgres
|
||||||
|
- proxy
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=985
|
||||||
|
- TZ=Europe/Helsinki
|
||||||
|
depends_on:
|
||||||
|
- spotifeed
|
||||||
|
- bibliogram
|
||||||
|
volumes:
|
||||||
|
- /docker/freshrss/freshrss:/config
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
|
||||||
|
- "traefik.http.routers.freshrss-redirect.entrypoints=http"
|
||||||
|
- "traefik.http.routers.freshrss-redirect.rule=Host(`rss.korhonen.cc`)"
|
||||||
|
- "traefik.http.middlewares.http2https.redirectscheme.scheme=https"
|
||||||
|
- "traefik.http.routers.freshrss-redirect.middlewares=http2https"
|
||||||
|
|
||||||
|
- "traefik.http.routers.freshrss.entrypoints=https"
|
||||||
|
- "traefik.http.routers.freshrss.rule=Host(`rss.korhonen.cc`)"
|
||||||
|
- "traefik.http.routers.freshrss.tls=true"
|
||||||
|
- "traefik.http.routers.freshrss.tls.certresolver=http"
|
||||||
|
- "traefik.http.routers.freshrss.service=freshrss"
|
||||||
|
- "traefik.docker.network=proxy"
|
||||||
|
- "traefik.http.services.freshrss.loadbalancer.server.port=80"
|
||||||
|
|
||||||
|
spotifeed:
|
||||||
|
build: ./spotifeed
|
||||||
|
image: spotifeed
|
||||||
|
container_name: spotifeed
|
||||||
|
environment:
|
||||||
|
- SPOTIFY_CLIENT_ID=${SPOTIFY_CLIENT_ID}
|
||||||
|
- SPOTIFY_CLIENT_SECRET=${SPOTIFY_CLIENT_SECRET}
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- freshrss
|
||||||
|
- proxy
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
|
||||||
|
- "traefik.http.routers.spotifeed-redirect.entrypoints=http"
|
||||||
|
- "traefik.http.routers.spotifeed-redirect.rule=Host(`spotifeed.korhonen.cc`)"
|
||||||
|
- "traefik.http.middlewares.http2https.redirectscheme.scheme=https"
|
||||||
|
- "traefik.http.routers.spotifeed-redirect.middlewares=http2https"
|
||||||
|
|
||||||
|
- "traefik.http.routers.spotifeed.entrypoints=https"
|
||||||
|
- "traefik.http.routers.spotifeed.rule=Host(`spotifeed.korhonen.cc`)"
|
||||||
|
- "traefik.http.routers.spotifeed.tls=true"
|
||||||
|
- "traefik.http.routers.spotifeed.tls.certresolver=http"
|
||||||
|
- "traefik.http.routers.spotifeed.service=spotifeed"
|
||||||
|
- "traefik.docker.network=proxy"
|
||||||
|
- "traefik.http.services.spotifeed.loadbalancer.server.port=8083"
|
||||||
|
|
||||||
|
bibliogram:
|
||||||
|
image: cloudrac3r/bibliogram
|
||||||
|
container_name: bibliogram
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- /docker/freshrss/bibliogram/db:/app/db
|
||||||
|
- /docker/freshrss/bibliogram/config.js:/app/config.js
|
||||||
|
networks:
|
||||||
|
- freshrss
|
||||||
|
- proxy
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
|
||||||
|
- "traefik.http.routers.bibliogram-redirect.entrypoints=http"
|
||||||
|
- "traefik.http.routers.bibliogram-redirect.rule=Host(`bibliogram.korhonen.cc`)"
|
||||||
|
- "traefik.http.middlewares.http2https.redirectscheme.scheme=https"
|
||||||
|
- "traefik.http.routers.bibliogram-redirect.middlewares=http2https"
|
||||||
|
|
||||||
|
- "traefik.http.routers.bibliogram.entrypoints=https"
|
||||||
|
- "traefik.http.routers.bibliogram.rule=Host(`bibliogram.korhonen.cc`)"
|
||||||
|
- "traefik.http.routers.bibliogram.tls=true"
|
||||||
|
- "traefik.http.routers.bibliogram.tls.certresolver=http"
|
||||||
|
- "traefik.http.routers.bibliogram.service=bibliogram"
|
||||||
|
- "traefik.docker.network=proxy"
|
||||||
|
- "traefik.http.services.bibliogram.loadbalancer.server.port=10407"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
freshrss:
|
||||||
|
external: false
|
||||||
|
postgres:
|
||||||
|
external: true
|
||||||
|
proxy:
|
||||||
|
external: true
|
9
docker/freshrss/spotifeed/Dockerfile
Normal file
9
docker/freshrss/spotifeed/Dockerfile
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
FROM ruby:2.7.2
|
||||||
|
RUN git clone https://github.com/timdorr/spotifeed
|
||||||
|
WORKDIR /spotifeed
|
||||||
|
RUN bundle install
|
||||||
|
EXPOSE 8083
|
||||||
|
RUN apt-get update
|
||||||
|
RUN apt-get upgrade
|
||||||
|
RUN apt-get install redis-server -y
|
||||||
|
CMD puma -p 8083 & redis-server
|
41
docker/gitea/docker-compose.yaml
Normal file
41
docker/gitea/docker-compose.yaml
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
version: "2"
|
||||||
|
|
||||||
|
services:
|
||||||
|
gitea:
|
||||||
|
container_name: gitea
|
||||||
|
image: gitea/gitea:1
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Helsinki
|
||||||
|
- USER_UID=1000
|
||||||
|
- USER_GID=1000
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- postgres
|
||||||
|
- proxy
|
||||||
|
ports:
|
||||||
|
- "3000:3000"
|
||||||
|
- "222:22"
|
||||||
|
volumes:
|
||||||
|
- /docker/gitea:/data
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
|
||||||
|
- "traefik.http.routers.gitea-redirect.entrypoints=http"
|
||||||
|
- "traefik.http.routers.gitea-redirect.rule=Host(`git.korhonen.cc`)"
|
||||||
|
- "traefik.http.middlewares.http2https.redirectscheme.scheme=https"
|
||||||
|
- "traefik.http.routers.gitea-redirect.middlewares=http2https"
|
||||||
|
|
||||||
|
- "traefik.http.routers.gitea.entrypoints=https"
|
||||||
|
- "traefik.http.routers.gitea.rule=Host(`git.korhonen.cc`)"
|
||||||
|
- "traefik.http.routers.gitea.tls=true"
|
||||||
|
- "traefik.http.routers.gitea.tls.certresolver=http"
|
||||||
|
- "traefik.http.routers.gitea.service=gitea"
|
||||||
|
- "traefik.docker.network=proxy"
|
||||||
|
- "traefik.http.services.gitea.loadbalancer.server.port=3000"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
postgres:
|
||||||
|
external: true
|
||||||
|
proxy:
|
||||||
|
external: true
|
|
@ -1,23 +0,0 @@
|
||||||
volumes:
|
|
||||||
config: {}
|
|
||||||
data: {}
|
|
||||||
services:
|
|
||||||
headscale:
|
|
||||||
image: headscale/headscale:0
|
|
||||||
container_name: headscale
|
|
||||||
volumes:
|
|
||||||
- config:/etc/headscale
|
|
||||||
- data:/var/lib/headscale
|
|
||||||
ports:
|
|
||||||
- 3478:3478/udp
|
|
||||||
command: headscale serve
|
|
||||||
restart: unless-stopped
|
|
||||||
networks:
|
|
||||||
- postgres
|
|
||||||
headscale-ui:
|
|
||||||
image: ghcr.io/gurucomputing/headscale-ui
|
|
||||||
container_name: headscale-ui
|
|
||||||
restart: unless-stopped
|
|
||||||
networks:
|
|
||||||
postgres:
|
|
||||||
external: true
|
|
|
@ -1,80 +0,0 @@
|
||||||
volumes:
|
|
||||||
hass: {}
|
|
||||||
mosquitto: {}
|
|
||||||
piper_english: {}
|
|
||||||
whisper_english: {}
|
|
||||||
openwakeword_english: {}
|
|
||||||
services:
|
|
||||||
home-assistant:
|
|
||||||
container_name: home-assistant
|
|
||||||
image: homeassistant/home-assistant
|
|
||||||
restart: unless-stopped
|
|
||||||
volumes:
|
|
||||||
- /etc/localtime:/etc/localtime:ro
|
|
||||||
- hass:/config
|
|
||||||
networks:
|
|
||||||
- homeautomation
|
|
||||||
- postgres
|
|
||||||
- proxy
|
|
||||||
ports:
|
|
||||||
- 8123:8123
|
|
||||||
- 8300:8300
|
|
||||||
extra_hosts:
|
|
||||||
- host.docker.internal:host-gateway
|
|
||||||
# mosquitto:
|
|
||||||
# container_name: mosquitto
|
|
||||||
# image: eclipse-mosquitto
|
|
||||||
# restart: unless-stopped
|
|
||||||
# environment:
|
|
||||||
# - TZ=Europe/Helsinki
|
|
||||||
# networks:
|
|
||||||
# - homeautomation
|
|
||||||
# ports:
|
|
||||||
# - 1883:1883
|
|
||||||
# - 8866:8866
|
|
||||||
# volumes:
|
|
||||||
# - mosquitto:/mosquitto
|
|
||||||
# - /etc/localtime:/etc/localtime:ro
|
|
||||||
piper_english:
|
|
||||||
container_name: piper_english
|
|
||||||
image: rhasspy/wyoming-piper
|
|
||||||
restart: unless-stopped
|
|
||||||
environment:
|
|
||||||
- TZ=Europe/Helsinki
|
|
||||||
ports:
|
|
||||||
- 10200:10200
|
|
||||||
networks:
|
|
||||||
- homeautomation
|
|
||||||
command:
|
|
||||||
- --voice
|
|
||||||
- en_US-hfc_male-medium
|
|
||||||
volumes:
|
|
||||||
- piper_english:/data
|
|
||||||
- /etc/localtime:/etc/localtime:ro
|
|
||||||
whisper_english:
|
|
||||||
container_name: whisper_english
|
|
||||||
image: rhasspy/wyoming-whisper
|
|
||||||
restart: unless-stopped
|
|
||||||
environment:
|
|
||||||
- TZ=Europe/Helsinki
|
|
||||||
ports:
|
|
||||||
- 10300:10300
|
|
||||||
networks:
|
|
||||||
- homeautomation
|
|
||||||
depends_on:
|
|
||||||
- home-assistant
|
|
||||||
command:
|
|
||||||
- --model
|
|
||||||
- tiny-int8
|
|
||||||
- --language
|
|
||||||
- en
|
|
||||||
volumes:
|
|
||||||
- whisper_english:/data
|
|
||||||
- /etc/localtime:/etc/localtime:ro
|
|
||||||
networks:
|
|
||||||
homeautomation:
|
|
||||||
external: false
|
|
||||||
postgres:
|
|
||||||
external: true
|
|
||||||
proxy:
|
|
||||||
external: true
|
|
136
docker/homeautomation/docker-compose.yml
Normal file
136
docker/homeautomation/docker-compose.yml
Normal file
|
@ -0,0 +1,136 @@
|
||||||
|
version: "3"
|
||||||
|
services:
|
||||||
|
home-assistant:
|
||||||
|
container_name: home-assistant
|
||||||
|
image: homeassistant/home-assistant
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Helsinki
|
||||||
|
devices:
|
||||||
|
- /dev/ttyACM0
|
||||||
|
volumes:
|
||||||
|
- /docker/homeautomation/home-assistant:/config
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- homeautomation
|
||||||
|
- postgres
|
||||||
|
- proxy
|
||||||
|
ports:
|
||||||
|
- "8123:8123"
|
||||||
|
depends_on:
|
||||||
|
- mosquitto
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
|
||||||
|
- "traefik.http.routers.home-assistant-redirect.entrypoints=http"
|
||||||
|
- "traefik.http.routers.home-assistant-redirect.rule=Host(`home.korhonen.cc`)"
|
||||||
|
- "traefik.http.middlewares.http2https.redirectscheme.scheme=https"
|
||||||
|
- "traefik.http.routers.home-assistant-redirect.middlewares=http2https"
|
||||||
|
|
||||||
|
- "traefik.http.routers.home-assistant.entrypoints=https"
|
||||||
|
- "traefik.http.routers.home-assistant.rule=Host(`home.korhonen.cc`)"
|
||||||
|
- "traefik.http.routers.home-assistant.tls=true"
|
||||||
|
- "traefik.http.routers.home-assistant.tls.certresolver=http"
|
||||||
|
- "traefik.http.routers.home-assistant.service=home-assistant"
|
||||||
|
- "traefik.docker.network=proxy"
|
||||||
|
- "traefik.http.services.home-assistant.loadbalancer.server.port=8123"
|
||||||
|
|
||||||
|
mosquitto:
|
||||||
|
container_name: mosquitto
|
||||||
|
image: eclipse-mosquitto
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Helsinki
|
||||||
|
ports:
|
||||||
|
- "1883:1883"
|
||||||
|
networks:
|
||||||
|
- homeautomation
|
||||||
|
volumes:
|
||||||
|
- /docker/homeautomation/mosquitto:/mosquitto
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
rhasspy:
|
||||||
|
container_name: rhasspy
|
||||||
|
image: rhasspy/rhasspy
|
||||||
|
command: --profile en --user-profiles /profiles
|
||||||
|
volumes:
|
||||||
|
- /docker/homeautomation/rhasspy:/profiles
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Helsinki
|
||||||
|
ports:
|
||||||
|
- "12101:12101"
|
||||||
|
networks:
|
||||||
|
- homeautomation
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- home-assistant
|
||||||
|
devices:
|
||||||
|
- "/dev/snd:/dev/snd"
|
||||||
|
|
||||||
|
node-red:
|
||||||
|
container_name: node-red
|
||||||
|
image: nodered/node-red
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Helsinki
|
||||||
|
- proxy
|
||||||
|
ports:
|
||||||
|
- "1880:1880"
|
||||||
|
networks:
|
||||||
|
- homeautomation
|
||||||
|
volumes:
|
||||||
|
- /docker/homeautomation/node-red:/data
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- home-assistant
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
|
||||||
|
- "traefik.http.routers.node-red-redirect.entrypoints=http"
|
||||||
|
- "traefik.http.routers.node-red-redirect.rule=Host(`node.korhonen.cc`)"
|
||||||
|
- "traefik.http.middlewares.http2https.redirectscheme.scheme=https"
|
||||||
|
- "traefik.http.routers.node-red-redirect.middlewares=http2https"
|
||||||
|
|
||||||
|
- "traefik.http.routers.node-red.entrypoints=https"
|
||||||
|
- "traefik.http.routers.node-red.rule=Host(`node.korhonen.cc`)"
|
||||||
|
- "traefik.http.routers.node-red.tls=true"
|
||||||
|
- "traefik.http.routers.node-red.tls.certresolver=http"
|
||||||
|
- "traefik.http.routers.node-red.service=node-red"
|
||||||
|
- "traefik.docker.network=proxy"
|
||||||
|
- "traefik.http.services.node-red.loadbalancer.server.port=1880"
|
||||||
|
|
||||||
|
gotify:
|
||||||
|
image: gotify/server
|
||||||
|
container_name: gotify
|
||||||
|
volumes:
|
||||||
|
- /docker/homeautomation/gotify:/app/data
|
||||||
|
environment:
|
||||||
|
- GOTIFY_DATABASE_DIALECT=postgres
|
||||||
|
- GOTIFY_DATABASE_CONNECTION="host=postgres port=5432 user=gotify dbname=gotify password=${GOTIFY_PGPASS} sslmode=disable"
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
- postgres
|
||||||
|
restart: unless-stopped
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
|
||||||
|
- "traefik.http.routers.gotify-redirect.entrypoints=http"
|
||||||
|
- "traefik.http.routers.gotify-redirect.rule=Host(`gotify.korhonen.cc`)"
|
||||||
|
- "traefik.http.middlewares.http2https.redirectscheme.scheme=https"
|
||||||
|
- "traefik.http.routers.gotify-redirect.middlewares=http2https"
|
||||||
|
|
||||||
|
- "traefik.http.routers.gotify.entrypoints=https"
|
||||||
|
- "traefik.http.routers.gotify.rule=Host(`gotify.korhonen.cc`)"
|
||||||
|
- "traefik.http.routers.gotify.tls=true"
|
||||||
|
- "traefik.http.routers.gotify.tls.certresolver=http"
|
||||||
|
- "traefik.http.routers.gotify.service=gotify"
|
||||||
|
- "traefik.docker.network=proxy"
|
||||||
|
- "traefik.http.services.gotify.loadbalancer.server.port=80"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
homeautomation:
|
||||||
|
external: false
|
||||||
|
postgres:
|
||||||
|
external: true
|
||||||
|
proxy:
|
||||||
|
external: true
|
33
docker/index.korhonen.cc/docker-compose.yaml
Normal file
33
docker/index.korhonen.cc/docker-compose.yaml
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
nginx:
|
||||||
|
image: fraoustin/fancyindex
|
||||||
|
container_name: index.korhonen.cc
|
||||||
|
environment:
|
||||||
|
- DISABLE_AUTH=true
|
||||||
|
- CONTAINER_TIMEZONE="Europe/Helsinki"
|
||||||
|
volumes:
|
||||||
|
- /docker/index.korhonen.cc:/share
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
restart: unless-stopped
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
|
||||||
|
- "traefik.http.routers.index-redirect.entrypoints=http"
|
||||||
|
- "traefik.http.routers.index-redirect.rule=Host(`index.korhonen.cc`)"
|
||||||
|
- "traefik.http.middlewares.http2https.redirectscheme.scheme=https"
|
||||||
|
- "traefik.http.routers.index-redirect.middlewares=http2https"
|
||||||
|
|
||||||
|
- "traefik.http.routers.index.entrypoints=https"
|
||||||
|
- "traefik.http.routers.index.rule=Host(`index.korhonen.cc`)"
|
||||||
|
- "traefik.http.routers.index.tls=true"
|
||||||
|
- "traefik.http.routers.index.tls.certresolver=http"
|
||||||
|
- "traefik.http.routers.index.service=index"
|
||||||
|
- "traefik.docker.network=proxy"
|
||||||
|
- "traefik.http.services.index.loadbalancer.server.port=80"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
|
@ -1,31 +1,40 @@
|
||||||
volumes:
|
version: "2.3"
|
||||||
config: {}
|
|
||||||
cache: {}
|
|
||||||
media:
|
|
||||||
external: true
|
|
||||||
nextcloud_data:
|
|
||||||
external: true
|
|
||||||
services:
|
services:
|
||||||
jellyfin:
|
jellyfin:
|
||||||
image: jellyfin/jellyfin
|
image: jellyfin/jellyfin
|
||||||
container_name: jellyfin
|
container_name: jellyfin
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Helsinki
|
||||||
|
- NVIDIA_DRIVER_CAPABILITIES=all
|
||||||
|
- NVIDIA_VISIBLE_DEVICES=all
|
||||||
ports:
|
ports:
|
||||||
- 8096:8096
|
- "8096:8096"
|
||||||
networks:
|
networks:
|
||||||
- proxy
|
- proxy
|
||||||
- authentik
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
|
- /docker/jellyfin/config:/config
|
||||||
|
- /docker/jellyfin/cache:/cache
|
||||||
|
- /mnt/Storage/Media:/media
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- config:/config
|
|
||||||
- cache:/cache
|
|
||||||
- media:/media
|
|
||||||
- nextcloud_data:/nextcloud_data
|
|
||||||
devices:
|
devices:
|
||||||
- /dev/dri/renderD128:/dev/dri/renderD128
|
- /dev/dri:/dev/dri
|
||||||
- /dev/dri/card1:/dev/dri/card0
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
|
||||||
|
- "traefik.http.routers.jellyfin-redirect.entrypoints=http"
|
||||||
|
- "traefik.http.routers.jellyfin-redirect.rule=Host(`jellyfin.korhonen.cc`)"
|
||||||
|
- "traefik.http.middlewares.http2https.redirectscheme.scheme=https"
|
||||||
|
- "traefik.http.routers.jellyfin-redirect.middlewares=http2https"
|
||||||
|
|
||||||
|
- "traefik.http.routers.jellyfin.entrypoints=https"
|
||||||
|
- "traefik.http.routers.jellyfin.rule=Host(`jellyfin.korhonen.cc`)"
|
||||||
|
- "traefik.http.routers.jellyfin.tls=true"
|
||||||
|
- "traefik.http.routers.jellyfin.tls.certresolver=http"
|
||||||
|
- "traefik.http.routers.jellyfin.service=jellyfin"
|
||||||
|
- "traefik.docker.network=proxy"
|
||||||
|
- "traefik.http.services.jellyfin.loadbalancer.server.port=8096"
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
proxy:
|
proxy:
|
||||||
external: true
|
external: true
|
||||||
authentik:
|
|
||||||
external: true
|
|
||||||
|
|
|
@ -1,11 +1,14 @@
|
||||||
volumes:
|
version: "3"
|
||||||
config: {}
|
|
||||||
services:
|
services:
|
||||||
mumble:
|
mumble:
|
||||||
container_name: mumble
|
container_name: mumble
|
||||||
image: phlak/mumble
|
image: phlak/mumble
|
||||||
|
user: "1000:985"
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Helsinki
|
||||||
network_mode: host
|
network_mode: host
|
||||||
volumes:
|
volumes:
|
||||||
|
- /docker/mumble:/etc/mumble
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- config:/etc/mumble
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
volumes:
|
|
||||||
config: {}
|
|
||||||
assets: {}
|
|
||||||
services:
|
|
||||||
netbootxyz:
|
|
||||||
image: lscr.io/linuxserver/netbootxyz
|
|
||||||
container_name: netbootxyz
|
|
||||||
restart: unless-stopped
|
|
||||||
environment:
|
|
||||||
- PUID=1000
|
|
||||||
- PGID=1000
|
|
||||||
- TZ=Etc/UTC
|
|
||||||
- MENU_VERSION=1.9.9
|
|
||||||
- PORT_RANGE=30000:30010
|
|
||||||
- SUBFOLDER=/
|
|
||||||
- NGINX_PORT=80
|
|
||||||
- WEB_APP_PORT=3000
|
|
||||||
ports:
|
|
||||||
- 3000:3000
|
|
||||||
- 69:69/udp
|
|
||||||
- 8081:80
|
|
||||||
volumes:
|
|
||||||
- config:/config
|
|
||||||
- assets:/assets
|
|
1
docker/nextcloud/.gitignore
vendored
1
docker/nextcloud/.gitignore
vendored
|
@ -1 +0,0 @@
|
||||||
.env
|
|
|
@ -1,84 +0,0 @@
|
||||||
volumes:
|
|
||||||
nextcloud_config:
|
|
||||||
external: true
|
|
||||||
nextcloud_data:
|
|
||||||
external: true
|
|
||||||
services:
|
|
||||||
nextcloud:
|
|
||||||
image: nextcloud:fpm-alpine
|
|
||||||
container_name: nextcloud
|
|
||||||
restart: unless-stopped
|
|
||||||
networks:
|
|
||||||
- nextcloud
|
|
||||||
- postgres
|
|
||||||
- proxy
|
|
||||||
volumes:
|
|
||||||
- nextcloud_config:/var/www/html
|
|
||||||
- nextcloud_data:/var/www/html/data
|
|
||||||
- /etc/localtime:/etc/localtime:ro
|
|
||||||
environment:
|
|
||||||
- REDIS_HOST=redis
|
|
||||||
- REDIS_HOST_PASSWORD=123
|
|
||||||
- TRUSTED_PROXIES=caddy
|
|
||||||
- NEXTCLOUD_TRUSTED_DOMAINS=cloud.korhonen.cc
|
|
||||||
- OVERWRITEHOST=cloud.korhonen.cc
|
|
||||||
- OVERWRITEPROTOCOL=https
|
|
||||||
depends_on:
|
|
||||||
- redis
|
|
||||||
labels:
|
|
||||||
ofelia.enabled: true
|
|
||||||
ofelia.job-exec.nextcloud.schedule: 0 */5 * * * *
|
|
||||||
ofelia.job-exec.nextcloud.command: php /var/www/html/cron.php
|
|
||||||
ofelia.job-exec.nextcloud.user: www-data
|
|
||||||
ofelia.smtp-host: ${SMTP_HOST}
|
|
||||||
ofelia.smtp-port: ${SMTP_PORT}
|
|
||||||
ofelia.smtp-user: ${SMTP_USER}
|
|
||||||
ofelia.smtp-password: ${SMTP_PASSWORD}
|
|
||||||
ofelia.email-to: ${EMAIL_TO}
|
|
||||||
ofelia.email-from: ${EMAIL_FROM}
|
|
||||||
ofelia.mail-only-on-error: true
|
|
||||||
redis:
|
|
||||||
image: redis:alpine
|
|
||||||
container_name: redis-nextcloud
|
|
||||||
networks:
|
|
||||||
- nextcloud
|
|
||||||
restart: unless-stopped
|
|
||||||
command: redis-server --requirepass 123
|
|
||||||
coturn:
|
|
||||||
image: instrumentisto/coturn
|
|
||||||
container_name: coturn
|
|
||||||
restart: unless-stopped
|
|
||||||
env_file: .env
|
|
||||||
ports:
|
|
||||||
- 3478:3478/tcp
|
|
||||||
- 3478:3478/udp
|
|
||||||
- 49160-49200:49160-49200/udp
|
|
||||||
networks:
|
|
||||||
- nextcloud
|
|
||||||
command:
|
|
||||||
- -n
|
|
||||||
- --log-file=stdout
|
|
||||||
- --min-port=49160
|
|
||||||
- --max-port=49200
|
|
||||||
- --realm=cloud.korhonen.cc
|
|
||||||
- --use-auth-secret
|
|
||||||
- --static-auth-secret=${STATIC_AUTH_SECRET}
|
|
||||||
collabora:
|
|
||||||
image: collabora/code
|
|
||||||
container_name: collabora
|
|
||||||
restart: unless-stopped
|
|
||||||
env_file: .env
|
|
||||||
environment:
|
|
||||||
- username=${COLLABORA_USERNAME}
|
|
||||||
- password=${COLLABORA_PASSWORD}
|
|
||||||
- domain=cloud.korhonen.cc
|
|
||||||
- extra_params=--o:ssl.enable=false --o:ssl.termination=true
|
|
||||||
networks:
|
|
||||||
- proxy
|
|
||||||
networks:
|
|
||||||
nextcloud:
|
|
||||||
external: false
|
|
||||||
postgres:
|
|
||||||
external: true
|
|
||||||
proxy:
|
|
||||||
external: true
|
|
66
docker/nextcloud/docker-compose.yml
Normal file
66
docker/nextcloud/docker-compose.yml
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
nextcloud:
|
||||||
|
image: nextcloud:apache
|
||||||
|
container_name: nextcloud
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- "1869:80"
|
||||||
|
networks:
|
||||||
|
- nextcloud
|
||||||
|
- postgres
|
||||||
|
- proxy
|
||||||
|
volumes:
|
||||||
|
- /docker/nextcloud:/var/www/html
|
||||||
|
- /mnt/Storage/Nextcloud:/var/www/html/data
|
||||||
|
- /mnt/Storage/Syncthing:/Syncthing
|
||||||
|
- /mnt/Storage/Media/Music:/Music
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Helsinki
|
||||||
|
- REDIS_HOST=redis
|
||||||
|
- REDIS_HOST_PASSWORD=123
|
||||||
|
depends_on:
|
||||||
|
- redis
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
|
||||||
|
- "traefik.http.routers.nextcloud-redirect.entrypoints=http"
|
||||||
|
- "traefik.http.routers.nextcloud-redirect.rule=Host(`cloud.korhonen.cc`)"
|
||||||
|
- "traefik.http.middlewares.http2https.redirectscheme.scheme=https"
|
||||||
|
- "traefik.http.routers.nextcloud-redirect.middlewares=http2https"
|
||||||
|
|
||||||
|
- "traefik.http.routers.nextcloud.entrypoints=https"
|
||||||
|
- "traefik.http.routers.nextcloud.rule=Host(`cloud.korhonen.cc`)"
|
||||||
|
- "traefik.http.routers.nextcloud.tls=true"
|
||||||
|
- "traefik.http.routers.nextcloud.tls.certresolver=http"
|
||||||
|
- "traefik.http.routers.nextcloud.service=nextcloud"
|
||||||
|
- "traefik.docker.network=proxy"
|
||||||
|
- "traefik.http.services.nextcloud.loadbalancer.server.port=80"
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: redis:alpine
|
||||||
|
container_name: redis
|
||||||
|
networks:
|
||||||
|
- nextcloud
|
||||||
|
restart: always
|
||||||
|
command: redis-server --requirepass 123
|
||||||
|
|
||||||
|
cron:
|
||||||
|
image: nextcloud:apache
|
||||||
|
container_name: cron
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- /docker/nextcloud:/var/www/html
|
||||||
|
entrypoint: /cron.sh
|
||||||
|
depends_on:
|
||||||
|
- redis
|
||||||
|
|
||||||
|
networks:
|
||||||
|
nextcloud:
|
||||||
|
external: false
|
||||||
|
postgres:
|
||||||
|
external: true
|
||||||
|
proxy:
|
||||||
|
external: true
|
|
@ -1,9 +0,0 @@
|
||||||
services:
|
|
||||||
ofelia:
|
|
||||||
image: mcuadros/ofelia
|
|
||||||
container_name: ofelia
|
|
||||||
restart: unless-stopped
|
|
||||||
volumes:
|
|
||||||
- /etc/localtime:/etc/localtime:ro
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
||||||
command: daemon --docker
|
|
|
@ -1,42 +0,0 @@
|
||||||
services:
|
|
||||||
opentogethertube:
|
|
||||||
image: dyc3/opentogethertube
|
|
||||||
container_name: opentogethertube
|
|
||||||
restart: unless-stopped
|
|
||||||
environment:
|
|
||||||
- PORT=8080
|
|
||||||
- REDIS_HOST=redis
|
|
||||||
- REDIS_PORT=6379
|
|
||||||
- FFPROBE_PATH=/usr/bin/ffprobe
|
|
||||||
- DB_MODE=postgres
|
|
||||||
- POSTGRES_USER=opentogethertube
|
|
||||||
- POSTGRES_DB=opentogethertube
|
|
||||||
- POSTGRES_HOST=postgres
|
|
||||||
- POSTGRES_PASSWORD
|
|
||||||
- DOCKER=1
|
|
||||||
- OTT_HOSTNAME=ott.korhonen.cc
|
|
||||||
- YOUTUBE_API_KEY
|
|
||||||
- OPENTOGETHERTUBE_API_KEY
|
|
||||||
- SESSION_SECRET
|
|
||||||
ports:
|
|
||||||
- 8080:8080
|
|
||||||
- 3002:3002
|
|
||||||
networks:
|
|
||||||
- default
|
|
||||||
- postgres
|
|
||||||
- proxy
|
|
||||||
depends_on:
|
|
||||||
- redis
|
|
||||||
volumes:
|
|
||||||
- ./production.toml:/app/env/production.toml
|
|
||||||
redis:
|
|
||||||
container_name: redis-opentogethertube
|
|
||||||
image: redis:alpine
|
|
||||||
restart: unless-stopped
|
|
||||||
healthcheck:
|
|
||||||
test: redis-cli ping
|
|
||||||
networks:
|
|
||||||
postgres:
|
|
||||||
external: true
|
|
||||||
proxy:
|
|
||||||
external: true
|
|
|
@ -1,5 +0,0 @@
|
||||||
log = { level = "info" }
|
|
||||||
|
|
||||||
[room]
|
|
||||||
enable_create_temporary = false
|
|
||||||
enable_create_permanent = false
|
|
|
@ -1,29 +0,0 @@
|
||||||
volumes:
|
|
||||||
config: {}
|
|
||||||
dnsmasq: {}
|
|
||||||
services:
|
|
||||||
pihole:
|
|
||||||
container_name: pihole
|
|
||||||
image: pihole/pihole
|
|
||||||
ports:
|
|
||||||
- 53:53/tcp
|
|
||||||
- 53:53/udp
|
|
||||||
- 67:67/udp
|
|
||||||
- 8069:80/tcp
|
|
||||||
networks:
|
|
||||||
- proxy
|
|
||||||
volumes:
|
|
||||||
- config:/etc/pihole/
|
|
||||||
- dnsmasq:/etc/dnsmasq.d/
|
|
||||||
dns:
|
|
||||||
- 127.0.0.1
|
|
||||||
- 1.1.1.1
|
|
||||||
cap_add:
|
|
||||||
- NET_ADMIN
|
|
||||||
restart: unless-stopped
|
|
||||||
environment:
|
|
||||||
TZ: Europe/Helsinki
|
|
||||||
WEBPASSWORD: ${WEBPASSWORD}
|
|
||||||
networks:
|
|
||||||
proxy:
|
|
||||||
external: true
|
|
46
docker/pihole/docker-compose.yml
Normal file
46
docker/pihole/docker-compose.yml
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
pihole:
|
||||||
|
container_name: pihole
|
||||||
|
image: pihole/pihole:latest
|
||||||
|
ports:
|
||||||
|
- "53:53/tcp"
|
||||||
|
- "53:53/udp"
|
||||||
|
- "67:67/udp"
|
||||||
|
- "8069:80/tcp"
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
environment:
|
||||||
|
TZ: "Europe/Helsinki"
|
||||||
|
WEBPASSWORD: "${WEBPASSWORD}"
|
||||||
|
volumes:
|
||||||
|
- "/docker/pihole/pihole:/etc/pihole/"
|
||||||
|
- "/docker/pihole/dnsmasq:/etc/dnsmasq.d/"
|
||||||
|
dns:
|
||||||
|
- 127.0.0.1
|
||||||
|
- 1.1.1.1
|
||||||
|
# Recommended but not required (DHCP needs NET_ADMIN)
|
||||||
|
# https://github.com/pihole/docker-pihole#note-on-capabilities
|
||||||
|
cap_add:
|
||||||
|
- NET_ADMIN
|
||||||
|
restart: unless-stopped
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
|
||||||
|
- "traefik.http.routers.pihole-redirect.entrypoints=http"
|
||||||
|
- "traefik.http.routers.pihole-redirect.rule=Host(`pihole.korhonen.cc`)"
|
||||||
|
- "traefik.http.middlewares.http2https.redirectscheme.scheme=https"
|
||||||
|
- "traefik.http.routers.pihole-redirect.middlewares=http2https"
|
||||||
|
|
||||||
|
- "traefik.http.routers.pihole.entrypoints=https"
|
||||||
|
- "traefik.http.routers.pihole.rule=Host(`pihole.korhonen.cc`)"
|
||||||
|
- "traefik.http.routers.pihole.tls=true"
|
||||||
|
- "traefik.http.routers.pihole.tls.certresolver=http"
|
||||||
|
- "traefik.http.routers.pihole.service=pihole"
|
||||||
|
- "traefik.docker.network=proxy"
|
||||||
|
- "traefik.http.services.pihole.loadbalancer.server.port=80"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
33
docker/portainer/docker-compose.yaml
Normal file
33
docker/portainer/docker-compose.yaml
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
version: '3'
|
||||||
|
services:
|
||||||
|
portainer:
|
||||||
|
image: portainer/portainer-ce
|
||||||
|
container_name: portainer
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Helsinki
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
- /docker/portainer:/data
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
labels:
|
||||||
|
- 'traefik.enable=true'
|
||||||
|
|
||||||
|
- 'traefik.http.routers.portainer-redirect.entrypoints=http'
|
||||||
|
- 'traefik.http.routers.portainer-redirect.rule=Host(`portainer.korhonen.cc`)'
|
||||||
|
- 'traefik.http.middlewares.http2https.redirectscheme.scheme=https'
|
||||||
|
- 'traefik.http.routers.portainer-redirect.middlewares=http2https'
|
||||||
|
|
||||||
|
- 'traefik.http.routers.portainer.entrypoints=https'
|
||||||
|
- 'traefik.http.routers.portainer.rule=Host(`portainer.korhonen.cc`)'
|
||||||
|
- 'traefik.http.routers.portainer.tls=true'
|
||||||
|
- 'traefik.http.routers.portainer.tls.certresolver=http'
|
||||||
|
- 'traefik.http.routers.portainer.service=portainer'
|
||||||
|
- 'traefik.docker.network=proxy'
|
||||||
|
- 'traefik.http.services.portainer.loadbalancer.server.port=9000'
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
|
@ -1,17 +1,20 @@
|
||||||
volumes:
|
version: "3"
|
||||||
data: {}
|
|
||||||
services:
|
services:
|
||||||
postgres:
|
postgres:
|
||||||
container_name: postgres
|
container_name: postgres
|
||||||
image: postgres:16
|
image: postgres:13
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Helsinki
|
||||||
|
- POSTGRES_PASSWORD=12345
|
||||||
ports:
|
ports:
|
||||||
- 127.0.0.1:5432:5432
|
- 5432:5432
|
||||||
networks:
|
networks:
|
||||||
- postgres
|
- postgres
|
||||||
volumes:
|
volumes:
|
||||||
|
- /docker/postgres:/var/lib/postgresql/data
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- data:/var/lib/postgresql/data
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
postgres:
|
postgres:
|
||||||
external: true
|
external: true
|
||||||
|
|
|
@ -1,46 +0,0 @@
|
||||||
volumes:
|
|
||||||
config: {}
|
|
||||||
services:
|
|
||||||
searx:
|
|
||||||
container_name: searx
|
|
||||||
image: searxng/searxng
|
|
||||||
restart: unless-stopped
|
|
||||||
networks:
|
|
||||||
- searx
|
|
||||||
- proxy
|
|
||||||
volumes:
|
|
||||||
- config:/etc/searxng
|
|
||||||
environment:
|
|
||||||
- SEARXNG_BASE_URL=https://search.korhonen.cc/
|
|
||||||
cap_drop:
|
|
||||||
- ALL
|
|
||||||
cap_add:
|
|
||||||
- CHOWN
|
|
||||||
- SETGID
|
|
||||||
- SETUID
|
|
||||||
- DAC_OVERRIDE
|
|
||||||
logging:
|
|
||||||
driver: json-file
|
|
||||||
options:
|
|
||||||
max-size: 1m
|
|
||||||
max-file: '1'
|
|
||||||
redis:
|
|
||||||
container_name: redis-searx
|
|
||||||
image: redis:alpine
|
|
||||||
command: redis-server --save "" --appendonly "no"
|
|
||||||
networks:
|
|
||||||
- searx
|
|
||||||
tmpfs:
|
|
||||||
- /var/lib/redis
|
|
||||||
cap_drop:
|
|
||||||
- ALL
|
|
||||||
cap_add:
|
|
||||||
- SETGID
|
|
||||||
- SETUID
|
|
||||||
- DAC_OVERRIDE
|
|
||||||
networks:
|
|
||||||
searx:
|
|
||||||
ipam:
|
|
||||||
driver: default
|
|
||||||
proxy:
|
|
||||||
external: true
|
|
|
@ -1,30 +0,0 @@
|
||||||
services:
|
|
||||||
grafana:
|
|
||||||
image: grafana/grafana
|
|
||||||
container_name: grafana
|
|
||||||
volumes:
|
|
||||||
- grafana:/var/lib/grafana
|
|
||||||
networks:
|
|
||||||
- stats
|
|
||||||
- proxy
|
|
||||||
user: 1000:984
|
|
||||||
env_file:
|
|
||||||
- .env
|
|
||||||
environment:
|
|
||||||
- GF_AUTH_GENERIC_OAUTH_CLIENT_ID
|
|
||||||
- GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET
|
|
||||||
- GF_AUTH_GENERIC_OAUTH_ENABLED=true
|
|
||||||
- GF_AUTH_GENERIC_OAUTH_NAME=authentik
|
|
||||||
- GF_AUTH_GENERIC_OAUTH_SCOPES=openid profile email
|
|
||||||
- GF_AUTH_GENERIC_OAUTH_AUTH_URL=https://sso.korhonen.cc/application/o/authorize/
|
|
||||||
- GF_AUTH_GENERIC_OAUTH_TOKEN_URL=https://sso.korhonen.cc/application/o/token/
|
|
||||||
- GF_AUTH_GENERIC_OAUTH_API_URL=https://sso.korhonen.cc/application/o/userinfo/
|
|
||||||
- GF_AUTH_SIGNOUT_REDIRECT_URL=https://sso.korhonen.cc/application/o/grafana/end-session/
|
|
||||||
- GF_AUTH_OAUTH_AUTO_LOGIN=true
|
|
||||||
- GF_SERVER_ROOT_URL=https://grafana.korhonen.cc
|
|
||||||
- GF_AUTH_GENERIC_OAUTH_ROLE_ATTRIBUTE_PATH=contains(groups[*], 'Administrators') && 'Admin' || 'Viewer'
|
|
||||||
networks:
|
|
||||||
stats:
|
|
||||||
external: false
|
|
||||||
proxy:
|
|
||||||
external: true
|
|
|
@ -1,10 +0,0 @@
|
||||||
services:
|
|
||||||
tftp:
|
|
||||||
container_name: tftp
|
|
||||||
image: pghalliday/tftp
|
|
||||||
restart: unless-stopped
|
|
||||||
ports:
|
|
||||||
- 69:69/udp
|
|
||||||
volumes:
|
|
||||||
- /etc/localtime:/etc/localtime:ro
|
|
||||||
- /docker/tftp:/var/tftpboot
|
|
53
docker/træfik/docker-compose.yaml
Normal file
53
docker/træfik/docker-compose.yaml
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
version: '3'
|
||||||
|
|
||||||
|
services:
|
||||||
|
traefik:
|
||||||
|
image: traefik:latest
|
||||||
|
container_name: traefik
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- '80:80'
|
||||||
|
- '443:443'
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Helsinki
|
||||||
|
security_opt:
|
||||||
|
- no-new-privileges:true
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
|
- /docker/træfik/træfik/traefik.yml:/traefik.yml:ro
|
||||||
|
- /docker/træfik/træfik/dashboard-users:/dashboard-users:ro
|
||||||
|
- /docker/træfik/træfik/acme.json:/acme.json
|
||||||
|
- /docker/træfik/træfik/log:/var/log
|
||||||
|
labels:
|
||||||
|
- 'traefik.enable=true'
|
||||||
|
|
||||||
|
- 'traefik.http.routers.redirect.entrypoints=http'
|
||||||
|
- 'traefik.http.routers.redirect.rule=Host(`traefik.korhonen.cc`)'
|
||||||
|
- 'traefik.http.middlewares.http2https.redirectscheme.scheme=https'
|
||||||
|
- 'traefik.http.routers.redirect.middlewares=http2https'
|
||||||
|
|
||||||
|
- 'traefik.http.routers.dashboard.entrypoints=https'
|
||||||
|
- 'traefik.http.routers.dashboard.rule=Host(`traefik.korhonen.cc`)'
|
||||||
|
- 'traefik.http.middlewares.dashboard-auth.basicauth.usersfile=/dashboard-users'
|
||||||
|
- 'traefik.http.routers.dashboard.middlewares=dashboard-auth'
|
||||||
|
- 'traefik.http.routers.dashboard.tls=true'
|
||||||
|
- 'traefik.http.routers.dashboard.tls.certresolver=http'
|
||||||
|
- 'traefik.http.routers.dashboard.service=api@internal'
|
||||||
|
|
||||||
|
fail2ban:
|
||||||
|
image: crazymax/fail2ban:latest
|
||||||
|
container_name: fail2ban
|
||||||
|
restart: unless-stopped
|
||||||
|
network_mode: "host"
|
||||||
|
cap_add:
|
||||||
|
- NET_ADMIN
|
||||||
|
- NET_RAW
|
||||||
|
volumes:
|
||||||
|
- /docker/træfik/træfik/log:/var/log/træfik:ro
|
||||||
|
- /docker/træfik/fail2ban:/data
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
|
@ -1,26 +1,42 @@
|
||||||
volumes:
|
version: "2"
|
||||||
config: {}
|
|
||||||
picons: {}
|
|
||||||
services:
|
services:
|
||||||
tvheadend:
|
tvheadend:
|
||||||
image: linuxserver/tvheadend
|
image: linuxserver/tvheadend
|
||||||
container_name: tvheadend
|
container_name: tvheadend
|
||||||
environment:
|
environment:
|
||||||
|
- TZ=Europe/Helsinki
|
||||||
- PUID=1000
|
- PUID=1000
|
||||||
- PGID=985
|
- PGID=985
|
||||||
volumes:
|
volumes:
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /docker/tvheadend:/config
|
||||||
- config:/config
|
|
||||||
- picons:/picons
|
|
||||||
- /mnt/Storage/Media/PVR:/recordings
|
- /mnt/Storage/Media/PVR:/recordings
|
||||||
|
- /mnt/Storage/picons:/picons
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
ports:
|
ports:
|
||||||
- 9981:9981
|
- 9981:9981
|
||||||
- 9982:9982
|
- 9982:9982
|
||||||
devices:
|
devices:
|
||||||
- /dev/dvb:/dev/dvb
|
- /dev/dri:/dev/dri #hardware acceleration
|
||||||
|
- /dev/dvb:/dev/dvb #tuner card
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
- proxy
|
- proxy
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
|
||||||
|
- "traefik.http.routers.tvheadend-redirect.entrypoints=http"
|
||||||
|
- "traefik.http.routers.tvheadend-redirect.rule=Host(`tvheadend.korhonen.cc`)"
|
||||||
|
- "traefik.http.middlewares.http2https.redirectscheme.scheme=https"
|
||||||
|
- "traefik.http.routers.tvheadend-redirect.middlewares=http2https"
|
||||||
|
|
||||||
|
- "traefik.http.routers.tvheadend.entrypoints=https"
|
||||||
|
- "traefik.http.routers.tvheadend.rule=Host(`tvheadend.korhonen.cc`)"
|
||||||
|
- "traefik.http.routers.tvheadend.tls=true"
|
||||||
|
- "traefik.http.routers.tvheadend.tls.certresolver=http"
|
||||||
|
- "traefik.http.routers.tvheadend.service=tvheadend"
|
||||||
|
- "traefik.docker.network=proxy"
|
||||||
|
- "traefik.http.services.tvheadend.loadbalancer.server.port=9981"
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
proxy:
|
proxy:
|
||||||
external: true
|
external: true
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
services:
|
|
||||||
umami:
|
|
||||||
image: ghcr.io/umami-software/umami:postgresql-latest
|
|
||||||
container_name: umami
|
|
||||||
restart: unless-stopped
|
|
||||||
networks:
|
|
||||||
- postgres
|
|
||||||
- proxy
|
|
||||||
env_file: .env
|
|
||||||
environment:
|
|
||||||
DATABASE_URL: postgresql://umami:${POSTGRES_PASS}@postgres:5432/umami
|
|
||||||
HASH_SALT: ${HASH_SALT}
|
|
||||||
logging:
|
|
||||||
options:
|
|
||||||
max-size: 10m
|
|
||||||
max-file: '10'
|
|
||||||
networks:
|
|
||||||
postgres:
|
|
||||||
external: true
|
|
||||||
proxy:
|
|
||||||
external: true
|
|
|
@ -1,18 +0,0 @@
|
||||||
services:
|
|
||||||
watchtower:
|
|
||||||
image: containrrr/watchtower
|
|
||||||
container_name: watchtower
|
|
||||||
restart: unless-stopped
|
|
||||||
environment:
|
|
||||||
- WATCHTOWER_CLEANUP=true
|
|
||||||
- WATCHTOWER_NOTIFICATION_EMAIL_FROM=watchtower@korhonen.cc
|
|
||||||
- WATCHTOWER_NOTIFICATION_EMAIL_TO=admin@korhonen.cc
|
|
||||||
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.migadu.com
|
|
||||||
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587
|
|
||||||
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=${WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER}
|
|
||||||
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=${WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD}
|
|
||||||
- WATCHTOWER_NOTIFICATION_EMAIL_DELAY=30
|
|
||||||
- WATCHTOWER_NOTIFICATIONS=email
|
|
||||||
volumes:
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
- /etc/localtime:/etc/localtime:ro
|
|
22
docker/wireguard/docker-compose.yml
Normal file
22
docker/wireguard/docker-compose.yml
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
version: "2.1"
|
||||||
|
services:
|
||||||
|
wireguard:
|
||||||
|
image: linuxserver/wireguard
|
||||||
|
container_name: wireguard
|
||||||
|
cap_add:
|
||||||
|
- NET_ADMIN
|
||||||
|
- SYS_MODULE
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Helsinki
|
||||||
|
- PEERS=4
|
||||||
|
- SERVERURL=korhonen.cc
|
||||||
|
- SERVERPORT=48574
|
||||||
|
- INTERNAL_SUBNET=10.200.200.0/24
|
||||||
|
volumes:
|
||||||
|
- /docker/wireguard:/config
|
||||||
|
- /lib/modules:/lib/modules
|
||||||
|
ports:
|
||||||
|
- 48574:51820/udp
|
||||||
|
sysctls:
|
||||||
|
- net.ipv4.conf.all.src_valid_mark=1
|
||||||
|
restart: unless-stopped
|
|
@ -1,12 +0,0 @@
|
||||||
services:
|
|
||||||
whatsupdocker:
|
|
||||||
image: getwud/wud
|
|
||||||
container_name: wud
|
|
||||||
env_file: .env
|
|
||||||
environment:
|
|
||||||
- WUD_TRIGGER_SMTP_EMAIL_SIMPLETITLE=Container $${container.name} can be updated
|
|
||||||
- WUD_TRIGGER_SMTP_EMAIL_SIMPLEBODY=Container $${name} can be updated from $${local.substring(0, 15)} to $${remote.substring(0, 15)}
|
|
||||||
volumes:
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
ports:
|
|
||||||
- 3000:3000
|
|
1
dotdrop
Submodule
1
dotdrop
Submodule
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 9ae90d51095b7fe9b26350c8dd33902e862466a5
|
37
dotdrop.sh
Executable file
37
dotdrop.sh
Executable file
|
@ -0,0 +1,37 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
# author: deadc0de6 (https://github.com/deadc0de6)
|
||||||
|
# Copyright (c) 2017, deadc0de6
|
||||||
|
|
||||||
|
# check for readlink/realpath presence
|
||||||
|
# https://github.com/deadc0de6/dotdrop/issues/6
|
||||||
|
rl="readlink -f"
|
||||||
|
|
||||||
|
if ! ${rl} "${0}" >/dev/null 2>&1; then
|
||||||
|
rl="realpath"
|
||||||
|
|
||||||
|
if ! hash ${rl}; then
|
||||||
|
echo "\"${rl}\" not found!" && exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# setup variables
|
||||||
|
args=("$@")
|
||||||
|
cur=$(dirname "$(${rl} "${0}")")
|
||||||
|
opwd=$(pwd)
|
||||||
|
cfg="${cur}/config.yaml"
|
||||||
|
sub="dotdrop"
|
||||||
|
|
||||||
|
# pivot
|
||||||
|
cd "${cur}" || { echo "Directory \"${cur}\" doesn't exist, aborting." && exit 1; }
|
||||||
|
# init/update the submodule
|
||||||
|
if [ "${DOTDROP_AUTOUPDATE-yes}" = yes ] ; then
|
||||||
|
git submodule update --init --recursive
|
||||||
|
git submodule update --remote dotdrop
|
||||||
|
fi
|
||||||
|
# launch dotdrop
|
||||||
|
PYTHONPATH=dotdrop python3 -m dotdrop.dotdrop "${args[@]}"
|
||||||
|
ret="$?"
|
||||||
|
# pivot back
|
||||||
|
cd "${opwd}" || { echo "Directory \"${opwd}\" doesn't exist, aborting." && exit 1; }
|
||||||
|
# exit with dotdrop exit code
|
||||||
|
exit ${ret}
|
12
efistub/arch.efi
Executable file
12
efistub/arch.efi
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
#/bin/bash
|
||||||
|
# vim:ft=sh
|
||||||
|
|
||||||
|
sudo efibootmgr \
|
||||||
|
--disk /dev/sda \
|
||||||
|
--part 1 \
|
||||||
|
--create \
|
||||||
|
--quiet \
|
||||||
|
--remove-dups \
|
||||||
|
--label "Arch Linux" \
|
||||||
|
--loader /vmlinuz-linux \
|
||||||
|
--unicode 'initrd=\amd-ucode.img initrd=\initramfs-linux.img cryptdevice=UUID=19fa8fab-c5fe-454a-9a17-b7185ce975ea:cryptroot:allow-discards root=/dev/mapper/cryptroot rootflags=subvol=root resume=/dev/mapper/cryptroot resume_offset=10530935 rw quiet splash vga=current idle=nomwait cpuidle.governor=teo'
|
12
efistub/lts.efi
Executable file
12
efistub/lts.efi
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# vim:ft=sh
|
||||||
|
|
||||||
|
sudo efibootmgr \
|
||||||
|
--disk /dev/sda \
|
||||||
|
--part 1 \
|
||||||
|
--create \
|
||||||
|
--quiet \
|
||||||
|
--remove-dups \
|
||||||
|
--label "Arch Linux LTS" \
|
||||||
|
--loader /vmlinuz-linux-lts \
|
||||||
|
--unicode 'initrd=\amd-ucode.img initrd=\initramfs-linux-lts.img cryptdevice=UUID=19fa8fab-c5fe-454a-9a17-b7185ce975ea:cryptroot:allow-discards root=/dev/mapper/cryptroot rootflags=subvol=root resume=/dev/mapper/cryptroot resume_offset=10530935 rw quiet splash vga=current idle=nomwait cpuidle.governor=teo'
|
14
efistub/update.sh
Executable file
14
efistub/update.sh
Executable file
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# remove old entries
|
||||||
|
for bootentry in $(efibootmgr | head -n 3 | tail -n 1 | cut -d' ' -f2- | sed 's/,/\n/g'); do
|
||||||
|
sudo efibootmgr -qBb $bootentry
|
||||||
|
done
|
||||||
|
|
||||||
|
# add all entries back
|
||||||
|
for bootscript in *.efi; do
|
||||||
|
./$bootscript
|
||||||
|
done
|
||||||
|
|
||||||
|
# set bootorder
|
||||||
|
sudo efibootmgr --bootorder 0000,0001
|
|
@ -1,5 +1,4 @@
|
||||||
window:
|
window:
|
||||||
opacity: 1.0
|
|
||||||
dimensions:
|
dimensions:
|
||||||
columns: 0
|
columns: 0
|
||||||
lines: 0
|
lines: 0
|
||||||
|
@ -30,40 +29,42 @@ font:
|
||||||
colors:
|
colors:
|
||||||
# Default colors
|
# Default colors
|
||||||
primary:
|
primary:
|
||||||
background: '0x282c34'
|
background: "0x282c34"
|
||||||
foreground: '0xabb2bf'
|
foreground: "0xabb2bf"
|
||||||
|
|
||||||
# Cursor colors
|
# Cursor colors
|
||||||
cursor:
|
cursor:
|
||||||
text: '0x282c34'
|
text: "0x282c34"
|
||||||
cursor: '0xabb2bf'
|
cursor: "0xabb2bf"
|
||||||
|
|
||||||
# Normal colors
|
# Normal colors
|
||||||
normal:
|
normal:
|
||||||
black: '0x282c34'
|
black: "0x282c34"
|
||||||
red: '0xe06c75'
|
red: "0xe06c75"
|
||||||
green: '0x98c379'
|
green: "0x98c379"
|
||||||
yellow: '0xe5c07b'
|
yellow: "0xe5c07b"
|
||||||
blue: '0x61afef'
|
blue: "0x61afef"
|
||||||
magenta: '0xc678dd'
|
magenta: "0xc678dd"
|
||||||
cyan: '0x56b6c2'
|
cyan: "0x56b6c2"
|
||||||
white: '0xabb2bf'
|
white: "0xabb2bf"
|
||||||
|
|
||||||
# Bright colors
|
# Bright colors
|
||||||
bright:
|
bright:
|
||||||
black: '0x3e4452'
|
black: "0x3e4452"
|
||||||
red: '0xbe5046'
|
red: "0xbe5046"
|
||||||
green: '0x98c379'
|
green: "0x98c379"
|
||||||
yellow: '0xd19a66'
|
yellow: "0xd19a66"
|
||||||
blue: '0x61afef'
|
blue: "0x61afef"
|
||||||
magenta: '0xc678dd'
|
magenta: "0xc678dd"
|
||||||
cyan: '0x56b6c2'
|
cyan: "0x56b6c2"
|
||||||
white: '0x5c6370'
|
white: "0x5c6370"
|
||||||
|
|
||||||
bell:
|
bell:
|
||||||
animation: EaseOutExpo
|
animation: EaseOutExpo
|
||||||
duration: 0
|
duration: 0
|
||||||
color: '#ffffff'
|
color: "#ffffff"
|
||||||
|
|
||||||
|
background_opacity: 1.0
|
||||||
|
|
||||||
mouse_bindings:
|
mouse_bindings:
|
||||||
- { mouse: Middle, action: PasteSelection }
|
- { mouse: Middle, action: PasteSelection }
|
||||||
|
@ -72,6 +73,8 @@ mouse:
|
||||||
double_click: { threshold: 300 }
|
double_click: { threshold: 300 }
|
||||||
triple_click: { threshold: 300 }
|
triple_click: { threshold: 300 }
|
||||||
hide_when_typing: false
|
hide_when_typing: false
|
||||||
|
url:
|
||||||
|
modifiers: None
|
||||||
|
|
||||||
selection:
|
selection:
|
||||||
semantic_escape_chars: ',│`|:"'' ()[]{}<>'
|
semantic_escape_chars: ',│`|:"'' ()[]{}<>'
|
||||||
|
|
|
@ -1,31 +1,34 @@
|
||||||
directory: ~/Music
|
directory: ~/music
|
||||||
library: ~/Music/beets.db
|
library: ~/music/beets.db
|
||||||
plugins:
|
plugins:
|
||||||
- edit
|
- acousticbrainz
|
||||||
- fetchart
|
- check
|
||||||
- fuzzy
|
- edit
|
||||||
- info
|
- fetchart
|
||||||
- lastgenre
|
- follow
|
||||||
- lyrics
|
- fuzzy
|
||||||
# - mbcollection
|
- info
|
||||||
- mpdupdate
|
- lastgenre
|
||||||
- play
|
- lyrics
|
||||||
- replaygain
|
- mbcollection
|
||||||
- thumbnails
|
- mpdupdate
|
||||||
- web
|
- play
|
||||||
|
- replaygain
|
||||||
|
- thumbnails
|
||||||
|
- web
|
||||||
import:
|
import:
|
||||||
write: yes
|
copy: no
|
||||||
copy: yes
|
move: yes
|
||||||
|
link: no
|
||||||
lastgenre:
|
lastgenre:
|
||||||
whitelist: ~/.config/beets/whitelist
|
whitelist: ~/.config/beets/whitelist
|
||||||
lyrics:
|
lyrics:
|
||||||
fallback: ''
|
fallback: ''
|
||||||
play:
|
play:
|
||||||
command: mpv --no-vid --no-resume-playback
|
command: mpv
|
||||||
mpd:
|
mpd:
|
||||||
host: localhost
|
host: localhost
|
||||||
port: 6600
|
port: 6600
|
||||||
password: "{{@@ env['PASS_MPD_ADMIN'] @@}}"
|
|
||||||
follow:
|
follow:
|
||||||
email: reekymarko@reekynet.com
|
email: reekymarko@reekynet.com
|
||||||
password: "{{@@ env['PASS_MUSPY'] @@}}"
|
password: "{{@@ env['PASS_MUSPY'] @@}}"
|
||||||
|
@ -34,6 +37,9 @@ follow:
|
||||||
replaygain:
|
replaygain:
|
||||||
backend: gstreamer
|
backend: gstreamer
|
||||||
auto: yes
|
auto: yes
|
||||||
#mbcollection:
|
musicbrainz:
|
||||||
# auto: 'yes'
|
user: ReekyMarko
|
||||||
# collection: 'a4955b5c-db7f-4e27-9887-f77f820bad34'
|
pass: "{{@@ env['PASS_MUSICBRAINZ'] @@}}"
|
||||||
|
mbcollection:
|
||||||
|
auto: "yes"
|
||||||
|
collection: "a4955b5c-db7f-4e27-9887-f77f820bad34"
|
||||||
|
|
|
@ -1,88 +0,0 @@
|
||||||
[io/github/celluloid-player/celluloid]
|
|
||||||
dark-theme-enable=false
|
|
||||||
mpv-config-enable=true
|
|
||||||
mpv-config-file='file:///home/{{@@ env['USER'] @@}}/.config/mpv/mpv.conf'
|
|
||||||
mpv-input-config-enable=true
|
|
||||||
mpv-input-config-file='file:///home/{{@@ env['USER'] @@}}/.config/mpv/input.conf'
|
|
||||||
settings-migrated=true
|
|
||||||
|
|
||||||
[org/gnome/Connections]
|
|
||||||
first-run=false
|
|
||||||
|
|
||||||
[org/gnome/shell/weather]
|
|
||||||
automatic-location=false
|
|
||||||
locations=[<(uint32 2, <('Lappeenranta', 'EFLP', false, [(1.0654507804726074, 0.49128594181309354)], @a(dd) [])>)>]
|
|
||||||
|
|
||||||
[org/gnome/Weather]
|
|
||||||
locations=[<(uint32 2, <('Lappeenranta', 'EFLP', false, [(1.0654507804726074, 0.49128594181309354)], @a(dd) [])>)>]
|
|
||||||
|
|
||||||
[org/gnome/shell/world-clocks]
|
|
||||||
locations=[<(uint32 2, <('Bangkok', 'VTBD', true, [(0.24289166005364171, 1.7558012275062955)], [(0.23998277214922031, 1.754346792280731)])>)>, <(uint32 2, <('Lappeenranta', 'EFLP', true, [(1.0654507804726074, 0.49128594181309354)], [(1.065814402368968, 0.49189195503597105)])>)>]
|
|
||||||
|
|
||||||
[org/gnome/clocks]
|
|
||||||
world-clocks=[{'location': <(uint32 2, <('Bangkok', 'VTBD', true, [(0.24289166005364171, 1.7558012275062955)], [(0.23998277214922031, 1.754346792280731)])>)>}, {'location': <(uint32 2, <('Lappeenranta', 'EFLP', true, [(1.0654507804726074, 0.49128594181309354)], [(1.065814402368968, 0.49189195503597105)])>)>}]
|
|
||||||
|
|
||||||
[org/gnome/desktop/a11y/mouse]
|
|
||||||
dwell-click-enabled=false
|
|
||||||
dwell-threshold=10
|
|
||||||
dwell-time=1.2
|
|
||||||
secondary-click-enabled=true
|
|
||||||
secondary-click-time=1.2
|
|
||||||
|
|
||||||
[org/gnome/desktop/calendar]
|
|
||||||
show-weekdate=true
|
|
||||||
|
|
||||||
[org/gnome/desktop/input-sources]
|
|
||||||
show-all-sources=true
|
|
||||||
sources=[('xkb', 'eu'), ('xkb', 'fi')]
|
|
||||||
xkb-options=['lv3:ralt_switch']
|
|
||||||
|
|
||||||
[org/gnome/desktop/peripherals/touchpad]
|
|
||||||
tap-to-click=true
|
|
||||||
two-finger-scrolling-enabled=true
|
|
||||||
|
|
||||||
[org/gnome/desktop/privacy]
|
|
||||||
disable-microphone=false
|
|
||||||
old-files-age=uint32 14
|
|
||||||
recent-files-max-age=-1
|
|
||||||
remove-old-temp-files=true
|
|
||||||
remove-old-trash-files=true
|
|
||||||
|
|
||||||
[org/gnome/desktop/wm/keybindings]
|
|
||||||
close=['<Super>w']
|
|
||||||
move-to-workspace-down=['<Shift><Super>j']
|
|
||||||
move-to-workspace-left=['<Shift><Super>h']
|
|
||||||
move-to-workspace-right=['<Shift><Super>l']
|
|
||||||
move-to-workspace-up=['<Shift><Super>k']
|
|
||||||
switch-to-workspace-down=['<Super>j']
|
|
||||||
switch-to-workspace-left=['<Super>h']
|
|
||||||
switch-to-workspace-right=['<Super>l']
|
|
||||||
switch-to-workspace-up=['<Super>k']
|
|
||||||
toggle-fullscreen=@as []
|
|
||||||
toggle-maximized=['<Super>f']
|
|
||||||
|
|
||||||
[org/gnome/settings-daemon/plugins/media-keys]
|
|
||||||
custom-keybindings=['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/']
|
|
||||||
screensaver=['<Super>BackSpace']
|
|
||||||
www=['<Super>b']
|
|
||||||
volume-step=1
|
|
||||||
|
|
||||||
[org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0]
|
|
||||||
binding='<Super>Return'
|
|
||||||
command='kgx'
|
|
||||||
name='Open terminal'
|
|
||||||
|
|
||||||
[org/gnome/file-roller/dialogs/new]
|
|
||||||
default-extension='.tar.zst'
|
|
||||||
|
|
||||||
[org/gnome/software]
|
|
||||||
check-timestamp=int64 1667730233
|
|
||||||
download-updates=true
|
|
||||||
download-updates-notify=true
|
|
||||||
first-run=false
|
|
||||||
|
|
||||||
[org/gnome/system/location]
|
|
||||||
enabled=true
|
|
||||||
|
|
||||||
[org/gnome/tweaks]
|
|
||||||
show-extensions-notice=false
|
|
|
@ -1,2 +0,0 @@
|
||||||
--enable-features=UseOzonePlatform
|
|
||||||
--ozone-platform=wayland
|
|
|
@ -1,2 +0,0 @@
|
||||||
--enable-features=UseOzonePlatform
|
|
||||||
--ozone-platform=wayland
|
|
|
@ -1,22 +1,26 @@
|
||||||
<?xml version='1.0'?>
|
<?xml version='1.0'?>
|
||||||
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
|
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
|
||||||
<fontconfig>
|
<fontconfig>
|
||||||
<alias>
|
|
||||||
<family>sans-serif</family>
|
<alias>
|
||||||
<prefer>
|
<family>sans-serif</family>
|
||||||
<family>Adwaita Sans</family>
|
<prefer>
|
||||||
</prefer>
|
<family>Overpass</family>
|
||||||
</alias>
|
</prefer>
|
||||||
<alias>
|
</alias>
|
||||||
<family>serif</family>
|
|
||||||
<prefer>
|
<alias>
|
||||||
<family>Adwaita Sans</family>
|
<family>serif</family>
|
||||||
</prefer>
|
<prefer>
|
||||||
</alias>
|
<family>Overpass</family>
|
||||||
<alias>
|
</prefer>
|
||||||
<family>monospace</family>
|
</alias>
|
||||||
<prefer>
|
|
||||||
<family>Adwaita mono</family>
|
<alias>
|
||||||
</prefer>
|
<family>monospace</family>
|
||||||
</alias>
|
<prefer>
|
||||||
|
<family>Hack Nerd Font Mono</family>
|
||||||
|
</prefer>
|
||||||
|
</alias>
|
||||||
|
|
||||||
</fontconfig>
|
</fontconfig>
|
||||||
|
|
|
@ -1,45 +0,0 @@
|
||||||
pad=10x0
|
|
||||||
dpi-aware=yes
|
|
||||||
|
|
||||||
[scrollback]
|
|
||||||
lines=1000
|
|
||||||
|
|
||||||
[cursor]
|
|
||||||
blink=yes
|
|
||||||
|
|
||||||
[mouse]
|
|
||||||
hide-when-typing=yes
|
|
||||||
|
|
||||||
[colors]
|
|
||||||
foreground = 545464
|
|
||||||
background = f2ecbc
|
|
||||||
|
|
||||||
selection-foreground = 43436c
|
|
||||||
selection-background = c9cbd1
|
|
||||||
|
|
||||||
regular0 = 1F1F28
|
|
||||||
regular1 = c84053
|
|
||||||
regular2 = 6f894e
|
|
||||||
regular3 = 77713f
|
|
||||||
regular4 = 4d699b
|
|
||||||
regular5 = b35b79
|
|
||||||
regular6 = 597b75
|
|
||||||
regular7 = 545464
|
|
||||||
|
|
||||||
bright0 = 8a8980
|
|
||||||
bright1 = d7474b
|
|
||||||
bright2 = 6e915f
|
|
||||||
bright3 = 836f4a
|
|
||||||
bright4 = 6693bf
|
|
||||||
bright5 = 624c83
|
|
||||||
bright6 = 5e857a
|
|
||||||
bright7 = 43436c
|
|
||||||
|
|
||||||
|
|
||||||
16 = cc6d00
|
|
||||||
17 = e82424
|
|
||||||
|
|
||||||
[csd]
|
|
||||||
color = fff2ecbc
|
|
||||||
button-color = ff545464
|
|
||||||
hide-when-maximized = yes
|
|
|
@ -1,5 +1,4 @@
|
||||||
pad=10x0
|
pad=20x20
|
||||||
dpi-aware=yes
|
|
||||||
|
|
||||||
[scrollback]
|
[scrollback]
|
||||||
lines=1000
|
lines=1000
|
||||||
|
@ -11,34 +10,21 @@ blink=yes
|
||||||
hide-when-typing=yes
|
hide-when-typing=yes
|
||||||
|
|
||||||
[colors]
|
[colors]
|
||||||
foreground = dcd7ba
|
background=282c34
|
||||||
background = 1f1f28
|
foreground=abb2bf
|
||||||
|
regular0=282c34
|
||||||
selection-foreground = c8c093
|
regular1=e06c75
|
||||||
selection-background = 2d4f67
|
regular2=98c379
|
||||||
|
regular3=e5c07b
|
||||||
regular0 = 090618
|
regular4=61afef
|
||||||
regular1 = c34043
|
regular5=c678dd
|
||||||
regular2 = 76946a
|
regular6=56b6c2
|
||||||
regular3 = c0a36e
|
regular7=abb2bf
|
||||||
regular4 = 7e9cd8
|
bright0=3e4452
|
||||||
regular5 = 957fb8
|
bright1=be5046
|
||||||
regular6 = 6a9589
|
bright2=98c379
|
||||||
regular7 = c8c093
|
bright3=d19a66
|
||||||
|
bright4=61afef
|
||||||
bright0 = 727169
|
bright5=c678dd
|
||||||
bright1 = e82424
|
bright6=56b6c2
|
||||||
bright2 = 98bb6c
|
bright7=5c6370
|
||||||
bright3 = e6c384
|
|
||||||
bright4 = 7fb4ca
|
|
||||||
bright5 = 938aa9
|
|
||||||
bright6 = 7aa89f
|
|
||||||
bright7 = dcd7ba
|
|
||||||
|
|
||||||
16 = ffa066
|
|
||||||
17 = ff5d62
|
|
||||||
|
|
||||||
[csd]
|
|
||||||
color = ff1f1f28
|
|
||||||
button-color = ffdcd7ba
|
|
||||||
hide-when-maximized = yes
|
|
||||||
|
|
|
@ -1,64 +0,0 @@
|
||||||
[user]
|
|
||||||
{%@@ if profile == "mko-laptop" @@%}
|
|
||||||
email = marko.korhonen@netforecast.com
|
|
||||||
{%@@ else @@%}
|
|
||||||
email = marko@korhonen.cc
|
|
||||||
{%@@ endif @@%}
|
|
||||||
name = Marko Korhonen
|
|
||||||
signingkey = F2B9F713E7ED627336DD85E444FA3F28CD931BB0
|
|
||||||
|
|
||||||
[commit]
|
|
||||||
signoff = true
|
|
||||||
gpgsign = true
|
|
||||||
|
|
||||||
[tag]
|
|
||||||
gpgSign = true
|
|
||||||
signoff = true
|
|
||||||
|
|
||||||
[format]
|
|
||||||
signoff = true
|
|
||||||
|
|
||||||
[merge]
|
|
||||||
prompt = false
|
|
||||||
conflictstyle = diff3
|
|
||||||
tool = nvim
|
|
||||||
|
|
||||||
[mergetool]
|
|
||||||
keepBackup = false
|
|
||||||
prompt = false
|
|
||||||
|
|
||||||
[mergetool "nvim"]
|
|
||||||
cmd = nvim +DiffviewOpen
|
|
||||||
|
|
||||||
[pull]
|
|
||||||
rebase = merges
|
|
||||||
|
|
||||||
[alias]
|
|
||||||
mergetest = !git switch test && git pull && git merge --no-ff -m \"Merge $1 features to test\" $1
|
|
||||||
upstream = !git push -u origin HEAD
|
|
||||||
sync = !git pull && git push
|
|
||||||
recommit = !git commit -eF $(git rev-parse --git-dir)/COMMIT_EDITMSG
|
|
||||||
pull-merge = pull --no-rebase --no-ff --no-edit
|
|
||||||
log-merge = log -i --grep=merge --pretty=oneline
|
|
||||||
log-fp = log --first-parent --pretty=oneline
|
|
||||||
ll = log --pretty=oneline
|
|
||||||
dno = !git --no-pager diff --name-only
|
|
||||||
|
|
||||||
[color]
|
|
||||||
pager = no
|
|
||||||
|
|
||||||
[init]
|
|
||||||
defaultBranch = main
|
|
||||||
|
|
||||||
[credential]
|
|
||||||
helper = cache --timeout=600
|
|
||||||
helper = !pass-git-helper $@
|
|
||||||
|
|
||||||
[rerere]
|
|
||||||
enabled = true
|
|
||||||
|
|
||||||
[submodule]
|
|
||||||
recurse = true
|
|
||||||
|
|
||||||
[push]
|
|
||||||
recurseSubmodules = check
|
|
|
@ -1,4 +1,3 @@
|
||||||
VteTerminal,
|
VteTerminal, vte-terminal {
|
||||||
vte-terminal {
|
padding: 40px;
|
||||||
padding: 40px;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
var child_process = require('child_process');
|
var child_process = require("child_process");
|
||||||
|
|
||||||
function getStdout(cmd) {
|
function getStdout(cmd) {
|
||||||
var stdout = child_process.execSync(cmd);
|
var stdout = child_process.execSync(cmd);
|
||||||
return stdout.toString().trim();
|
return stdout.toString().trim();
|
||||||
}
|
}
|
||||||
|
|
||||||
exports.host = 'imap.migadu.com';
|
exports.host = "imap.migadu.com";
|
||||||
exports.port = 993;
|
exports.port = 993;
|
||||||
exports.tls = true;
|
exports.tls = true;
|
||||||
exports.tlsOptions = {
|
exports.tlsOptions = {
|
||||||
rejectUnauthorized: true,
|
rejectUnauthorized: true,
|
||||||
};
|
};
|
||||||
exports.username = 'admin@korhonen.cc';
|
exports.username = "admin@korhonen.cc";
|
||||||
exports.password = "{{@@ env['PASS_EMAIL_ADMIN'] @@}}";
|
exports.password = "{{@@ env['PASS_EMAIL_ADMIN'] @@}}";
|
||||||
exports.onNewMail = 'mbsync admin@korhonen.cc';
|
exports.onNewMail = "mbsync admin@korhonen.cc";
|
||||||
exports.onNewMailPost =
|
exports.onNewMailPost =
|
||||||
'~/git/dotfiles/scripts/mail/notify-new-mail.sh admin@korhonen.cc';
|
"~/git/dotfiles/scripts/mail/notify-new-mail.sh admin@korhonen.cc";
|
||||||
exports.boxes = ['INBOX'];
|
exports.boxes = ["INBOX"];
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
var child_process = require('child_process');
|
var child_process = require("child_process");
|
||||||
|
|
||||||
function getStdout(cmd) {
|
function getStdout(cmd) {
|
||||||
var stdout = child_process.execSync(cmd);
|
var stdout = child_process.execSync(cmd);
|
||||||
return stdout.toString().trim();
|
return stdout.toString().trim();
|
||||||
}
|
}
|
||||||
|
|
||||||
exports.host = 'imap.migadu.com';
|
exports.host = "imap.migadu.com";
|
||||||
exports.port = 993;
|
exports.port = 993;
|
||||||
exports.tls = true;
|
exports.tls = true;
|
||||||
exports.tlsOptions = {
|
exports.tlsOptions = {
|
||||||
rejectUnauthorized: true,
|
rejectUnauthorized: true,
|
||||||
};
|
};
|
||||||
exports.username = 'functionalhacker@korhonen.cc';
|
exports.username = "functionalhacker@korhonen.cc";
|
||||||
exports.password = "{{@@ env['PASS_EMAIL_HACKER'] @@}}";
|
exports.password = "{{@@ env['PASS_EMAIL_HACKER'] @@}}";
|
||||||
exports.onNewMail = 'mbsync functionalhacker@korhonen.cc';
|
exports.onNewMail = "mbsync functionalhacker@korhonen.cc";
|
||||||
exports.onNewMailPost =
|
exports.onNewMailPost =
|
||||||
'~/git/dotfiles/scripts/mail/notify-new-mail.sh functionalhacker@korhonen.cc';
|
"~/git/dotfiles/scripts/mail/notify-new-mail.sh functionalhacker@korhonen.cc";
|
||||||
exports.boxes = ['INBOX'];
|
exports.boxes = ["INBOX"];
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
var child_process = require('child_process');
|
var child_process = require("child_process");
|
||||||
|
|
||||||
function getStdout(cmd) {
|
function getStdout(cmd) {
|
||||||
var stdout = child_process.execSync(cmd);
|
var stdout = child_process.execSync(cmd);
|
||||||
return stdout.toString().trim();
|
return stdout.toString().trim();
|
||||||
}
|
}
|
||||||
|
|
||||||
exports.host = 'imap.migadu.com';
|
exports.host = "imap.migadu.com";
|
||||||
exports.port = 993;
|
exports.port = 993;
|
||||||
exports.tls = true;
|
exports.tls = true;
|
||||||
exports.tlsOptions = {
|
exports.tlsOptions = {
|
||||||
rejectUnauthorized: true,
|
rejectUnauthorized: true,
|
||||||
};
|
};
|
||||||
exports.username = 'marko@korhonen.cc';
|
exports.username = "marko@korhonen.cc";
|
||||||
exports.password = "{{@@ env['PASS_EMAIL_MARKO'] @@}}";
|
exports.password = "{{@@ env['PASS_EMAIL_MARKO'] @@}}";
|
||||||
exports.onNewMail = 'mbsync marko@korhonen.cc';
|
exports.onNewMail = "mbsync marko@korhonen.cc";
|
||||||
exports.onNewMailPost =
|
exports.onNewMailPost =
|
||||||
'~/git/dotfiles/scripts/mail/notify-new-mail.sh marko@korhonen.cc';
|
"~/git/dotfiles/scripts/mail/notify-new-mail.sh marko@korhonen.cc";
|
||||||
exports.boxes = ['INBOX'];
|
exports.boxes = ["INBOX"];
|
||||||
|
|
|
@ -1,12 +1,7 @@
|
||||||
background-color=#1E1D2F
|
background-color=#282828
|
||||||
text-color=#D9E0EE
|
text-color=#EBDBB2
|
||||||
border-color=#96CDFB
|
border-color=#D65D0E
|
||||||
progress-color=over #302D41
|
|
||||||
|
|
||||||
icons=1
|
icons=1
|
||||||
default-timeout=5000
|
default-timeout=5000
|
||||||
max-visible=6
|
max-visible=6
|
||||||
layer=overlay
|
layer=overlay
|
||||||
|
|
||||||
[urgency=high]
|
|
||||||
border-color=#F8BD96
|
|
||||||
|
|
|
@ -17,10 +17,7 @@ mpvqueue %U
|
||||||
^https?://(?:[a-z0-9\-]+\.)+[a-z]{2,6}(?:/[^/#?]+)+\.(?:mp4|mkv|webm|avi|3gp|gif|gifv)
|
^https?://(?:[a-z0-9\-]+\.)+[a-z]{2,6}(?:/[^/#?]+)+\.(?:mp4|mkv|webm|avi|3gp|gif|gifv)
|
||||||
|
|
||||||
mpvqueue %U
|
mpvqueue %U
|
||||||
^https?://www.facebook.com/watch/?v=.*
|
^https://www.facebook.com/watch/?v=.*
|
||||||
|
|
||||||
mpvqueue %U
|
|
||||||
^https?://www.facebook.com/.*/videos/.*
|
|
||||||
|
|
||||||
mpvqueue %U
|
mpvqueue %U
|
||||||
^https://fb.watch/.*
|
^https://fb.watch/.*
|
||||||
|
@ -34,8 +31,11 @@ mpvqueue %U
|
||||||
mpvqueue %U
|
mpvqueue %U
|
||||||
^https?://v.redd.it/.*
|
^https?://v.redd.it/.*
|
||||||
|
|
||||||
mpvqueue %U
|
imgurviewer %U
|
||||||
^https?://areena.yle.fi.*
|
^https?://(www.)?imgur.com/a/
|
||||||
|
|
||||||
|
imgurviewer %U
|
||||||
|
^https?://(www.)?imgur.com/gallery/
|
||||||
|
|
||||||
imageviewer %U
|
imageviewer %U
|
||||||
^https?://(?:[a-z0-9\-]+\.)+[a-z]{2,6}(?:/[^/#?]+)+\.(?:jpg|jpeg|png|svg)
|
^https?://(?:[a-z0-9\-]+\.)+[a-z]{2,6}(?:/[^/#?]+)+\.(?:jpg|jpeg|png|svg)
|
||||||
|
@ -48,3 +48,6 @@ alacritty -e rtv "%U"
|
||||||
|
|
||||||
alacritty -e rtv "%U"
|
alacritty -e rtv "%U"
|
||||||
^https?://redd.it.*
|
^https?://redd.it.*
|
||||||
|
|
||||||
|
mpv "$(yle-dl --showurl %U)"
|
||||||
|
^https?://areena.yle.fi.*
|
||||||
|
|
|
@ -1,24 +1,25 @@
|
||||||
music_directory "~/Music"
|
music_directory "~/music"
|
||||||
playlist_directory "~/Music/Playlists"
|
playlist_directory "~/music/Playlists"
|
||||||
db_file "~/.mpd/database"
|
db_file "~/.mpd/database"
|
||||||
log_file "~/.mpd/log"
|
log_file "~/.mpd/log"
|
||||||
state_file "~/.mpd/state"
|
pid_file "~/.mpd/pid"
|
||||||
sticker_file "~/.mpd/sticker.sql"
|
state_file "~/.mpd/state"
|
||||||
|
sticker_file "~/.mpd/sticker.sql"
|
||||||
|
|
||||||
replaygain "track"
|
replaygain "track"
|
||||||
|
|
||||||
default_permissions "read,add,control"
|
default_permissions "read"
|
||||||
password "{{@@ env['PASS_MPD'] @@}}@read,add,control"
|
password "{{@@ env['PASS_MPD'] @@}}@read,add,control"
|
||||||
password "{{@@ env['PASS_MPD_ADMIN'] @@}}@read,add,control,admin"
|
password "{{@@ env['PASS_MPD_ADMIN'] @@}}@read,add,control,admin"
|
||||||
|
|
||||||
audio_output {
|
audio_output {
|
||||||
type "fifo"
|
type "fifo"
|
||||||
name "Visualizer"
|
name "Visualizer"
|
||||||
path "/tmp/mpd.fifo"
|
path "/tmp/mpd.fifo"
|
||||||
format "44100:16:2"
|
format "44100:16:2"
|
||||||
}
|
}
|
||||||
|
|
||||||
audio_output {
|
audio_output {
|
||||||
type "pipewire"
|
type "pulse"
|
||||||
name "MPD PipeWire"
|
name "MPD PulseAudio"
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,5 +22,3 @@ MUTE cycle ao-mute
|
||||||
|
|
||||||
= add audio-delay 0.100
|
= add audio-delay 0.100
|
||||||
- add audio-delay -0.100
|
- add audio-delay -0.100
|
||||||
|
|
||||||
s playlist-shuffle
|
|
||||||
|
|
|
@ -7,8 +7,10 @@ vo=gpu
|
||||||
hwdec=vaapi
|
hwdec=vaapi
|
||||||
hwdec-codecs=all
|
hwdec-codecs=all
|
||||||
|
|
||||||
{%@@ if wayland @@%}
|
{%@@ if profile == "Mirkwood" @@%}
|
||||||
gpu-context=wayland
|
gpu-context=wayland
|
||||||
|
{%@@ elif profile == "Rivendell" @@%}
|
||||||
|
ao=alsa
|
||||||
{%@@ endif @@%}
|
{%@@ endif @@%}
|
||||||
|
|
||||||
#############
|
#############
|
||||||
|
@ -25,12 +27,8 @@ replaygain=track
|
||||||
# Start ipc server
|
# Start ipc server
|
||||||
input-ipc-server=/tmp/mpvsocket
|
input-ipc-server=/tmp/mpvsocket
|
||||||
|
|
||||||
# set youtube-dl max res
|
# set youtube-dl max res to 1080
|
||||||
{%@@ if profile == "Moria" @@%}
|
|
||||||
ytdl-format=bestvideo[height<=2160]+bestaudio/best[height<=2160]
|
|
||||||
{%@@ else @@%}
|
|
||||||
ytdl-format=bestvideo[height<=1080]+bestaudio/best[height<=1080]
|
ytdl-format=bestvideo[height<=1080]+bestaudio/best[height<=1080]
|
||||||
{%@@ endif @@%}
|
|
||||||
|
|
||||||
# continue watching
|
# continue watching
|
||||||
save-position-on-quit
|
save-position-on-quit
|
||||||
|
@ -74,7 +72,7 @@ osd-bar-w=60 # width of " " "
|
||||||
osd-shadow-color="#11000000"
|
osd-shadow-color="#11000000"
|
||||||
osd-fractions
|
osd-fractions
|
||||||
|
|
||||||
# Protocol specific configuration
|
# Protocol specific configuration
|
||||||
[protocol.https]
|
[protocol.https]
|
||||||
cache=yes
|
cache=yes
|
||||||
user-agent='Mozilla/5.0 (X11; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0'
|
user-agent='Mozilla/5.0 (X11; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0'
|
||||||
|
@ -106,4 +104,8 @@ ytdl-format="bestvideo[height<=2160]+bestaudio/best[height<=2160]"
|
||||||
[best]
|
[best]
|
||||||
ytdl-format="bestvideo+bestaudio"
|
ytdl-format="bestvideo+bestaudio"
|
||||||
|
|
||||||
script-opts-append=ytdl_hook-ytdl_path=yt-dlp
|
# Vulkan hwdec profile
|
||||||
|
[vulkan]
|
||||||
|
gpu-api=vulkan
|
||||||
|
gpu-context=waylandvk
|
||||||
|
hwdec=vaapi-copy
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue