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:
|
||||
config: {}
|
||||
cache: {}
|
||||
media:
|
||||
external: true
|
||||
nextcloud_data:
|
||||
external: true
|
||||
version: "2.3"
|
||||
services:
|
||||
jellyfin:
|
||||
image: jellyfin/jellyfin
|
||||
container_name: jellyfin
|
||||
environment:
|
||||
- TZ=Europe/Helsinki
|
||||
- NVIDIA_DRIVER_CAPABILITIES=all
|
||||
- NVIDIA_VISIBLE_DEVICES=all
|
||||
ports:
|
||||
- 8096:8096
|
||||
- "8096:8096"
|
||||
networks:
|
||||
- proxy
|
||||
- authentik
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /docker/jellyfin/config:/config
|
||||
- /docker/jellyfin/cache:/cache
|
||||
- /mnt/Storage/Media:/media
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- config:/config
|
||||
- cache:/cache
|
||||
- media:/media
|
||||
- nextcloud_data:/nextcloud_data
|
||||
devices:
|
||||
- /dev/dri/renderD128:/dev/dri/renderD128
|
||||
- /dev/dri/card1:/dev/dri/card0
|
||||
- /dev/dri:/dev/dri
|
||||
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:
|
||||
proxy:
|
||||
external: true
|
||||
authentik:
|
||||
external: true
|
||||
|
|
|
@ -1,11 +1,14 @@
|
|||
volumes:
|
||||
config: {}
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
mumble:
|
||||
container_name: mumble
|
||||
image: phlak/mumble
|
||||
user: "1000:985"
|
||||
environment:
|
||||
- TZ=Europe/Helsinki
|
||||
network_mode: host
|
||||
volumes:
|
||||
- /docker/mumble:/etc/mumble
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- config:/etc/mumble
|
||||
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:
|
||||
data: {}
|
||||
version: "3"
|
||||
services:
|
||||
postgres:
|
||||
container_name: postgres
|
||||
image: postgres:16
|
||||
image: postgres:13
|
||||
environment:
|
||||
- TZ=Europe/Helsinki
|
||||
- POSTGRES_PASSWORD=12345
|
||||
ports:
|
||||
- 127.0.0.1:5432:5432
|
||||
- 5432:5432
|
||||
networks:
|
||||
- postgres
|
||||
volumes:
|
||||
- /docker/postgres:/var/lib/postgresql/data
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- data:/var/lib/postgresql/data
|
||||
restart: unless-stopped
|
||||
|
||||
networks:
|
||||
postgres:
|
||||
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:
|
||||
config: {}
|
||||
picons: {}
|
||||
version: "2"
|
||||
services:
|
||||
tvheadend:
|
||||
image: linuxserver/tvheadend
|
||||
container_name: tvheadend
|
||||
environment:
|
||||
- TZ=Europe/Helsinki
|
||||
- PUID=1000
|
||||
- PGID=985
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- config:/config
|
||||
- picons:/picons
|
||||
- /docker/tvheadend:/config
|
||||
- /mnt/Storage/Media/PVR:/recordings
|
||||
- /mnt/Storage/picons:/picons
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
ports:
|
||||
- 9981:9981
|
||||
- 9982:9982
|
||||
devices:
|
||||
- /dev/dvb:/dev/dvb
|
||||
- /dev/dri:/dev/dri #hardware acceleration
|
||||
- /dev/dvb:/dev/dvb #tuner card
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- 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:
|
||||
proxy:
|
||||
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:
|
||||
opacity: 1.0
|
||||
dimensions:
|
||||
columns: 0
|
||||
lines: 0
|
||||
|
@ -30,40 +29,42 @@ font:
|
|||
colors:
|
||||
# Default colors
|
||||
primary:
|
||||
background: '0x282c34'
|
||||
foreground: '0xabb2bf'
|
||||
background: "0x282c34"
|
||||
foreground: "0xabb2bf"
|
||||
|
||||
# Cursor colors
|
||||
cursor:
|
||||
text: '0x282c34'
|
||||
cursor: '0xabb2bf'
|
||||
text: "0x282c34"
|
||||
cursor: "0xabb2bf"
|
||||
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '0x282c34'
|
||||
red: '0xe06c75'
|
||||
green: '0x98c379'
|
||||
yellow: '0xe5c07b'
|
||||
blue: '0x61afef'
|
||||
magenta: '0xc678dd'
|
||||
cyan: '0x56b6c2'
|
||||
white: '0xabb2bf'
|
||||
black: "0x282c34"
|
||||
red: "0xe06c75"
|
||||
green: "0x98c379"
|
||||
yellow: "0xe5c07b"
|
||||
blue: "0x61afef"
|
||||
magenta: "0xc678dd"
|
||||
cyan: "0x56b6c2"
|
||||
white: "0xabb2bf"
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '0x3e4452'
|
||||
red: '0xbe5046'
|
||||
green: '0x98c379'
|
||||
yellow: '0xd19a66'
|
||||
blue: '0x61afef'
|
||||
magenta: '0xc678dd'
|
||||
cyan: '0x56b6c2'
|
||||
white: '0x5c6370'
|
||||
black: "0x3e4452"
|
||||
red: "0xbe5046"
|
||||
green: "0x98c379"
|
||||
yellow: "0xd19a66"
|
||||
blue: "0x61afef"
|
||||
magenta: "0xc678dd"
|
||||
cyan: "0x56b6c2"
|
||||
white: "0x5c6370"
|
||||
|
||||
bell:
|
||||
animation: EaseOutExpo
|
||||
duration: 0
|
||||
color: '#ffffff'
|
||||
color: "#ffffff"
|
||||
|
||||
background_opacity: 1.0
|
||||
|
||||
mouse_bindings:
|
||||
- { mouse: Middle, action: PasteSelection }
|
||||
|
@ -72,6 +73,8 @@ mouse:
|
|||
double_click: { threshold: 300 }
|
||||
triple_click: { threshold: 300 }
|
||||
hide_when_typing: false
|
||||
url:
|
||||
modifiers: None
|
||||
|
||||
selection:
|
||||
semantic_escape_chars: ',│`|:"'' ()[]{}<>'
|
||||
|
|
|
@ -1,31 +1,34 @@
|
|||
directory: ~/Music
|
||||
library: ~/Music/beets.db
|
||||
directory: ~/music
|
||||
library: ~/music/beets.db
|
||||
plugins:
|
||||
- edit
|
||||
- fetchart
|
||||
- fuzzy
|
||||
- info
|
||||
- lastgenre
|
||||
- lyrics
|
||||
# - mbcollection
|
||||
- mpdupdate
|
||||
- play
|
||||
- replaygain
|
||||
- thumbnails
|
||||
- web
|
||||
- acousticbrainz
|
||||
- check
|
||||
- edit
|
||||
- fetchart
|
||||
- follow
|
||||
- fuzzy
|
||||
- info
|
||||
- lastgenre
|
||||
- lyrics
|
||||
- mbcollection
|
||||
- mpdupdate
|
||||
- play
|
||||
- replaygain
|
||||
- thumbnails
|
||||
- web
|
||||
import:
|
||||
write: yes
|
||||
copy: yes
|
||||
copy: no
|
||||
move: yes
|
||||
link: no
|
||||
lastgenre:
|
||||
whitelist: ~/.config/beets/whitelist
|
||||
lyrics:
|
||||
fallback: ''
|
||||
play:
|
||||
command: mpv --no-vid --no-resume-playback
|
||||
command: mpv
|
||||
mpd:
|
||||
host: localhost
|
||||
port: 6600
|
||||
password: "{{@@ env['PASS_MPD_ADMIN'] @@}}"
|
||||
host: localhost
|
||||
port: 6600
|
||||
follow:
|
||||
email: reekymarko@reekynet.com
|
||||
password: "{{@@ env['PASS_MUSPY'] @@}}"
|
||||
|
@ -34,6 +37,9 @@ follow:
|
|||
replaygain:
|
||||
backend: gstreamer
|
||||
auto: yes
|
||||
#mbcollection:
|
||||
# auto: 'yes'
|
||||
# collection: 'a4955b5c-db7f-4e27-9887-f77f820bad34'
|
||||
musicbrainz:
|
||||
user: ReekyMarko
|
||||
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'?>
|
||||
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
|
||||
<fontconfig>
|
||||
<alias>
|
||||
<family>sans-serif</family>
|
||||
<prefer>
|
||||
<family>Adwaita Sans</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>serif</family>
|
||||
<prefer>
|
||||
<family>Adwaita Sans</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>monospace</family>
|
||||
<prefer>
|
||||
<family>Adwaita mono</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
|
||||
<alias>
|
||||
<family>sans-serif</family>
|
||||
<prefer>
|
||||
<family>Overpass</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
|
||||
<alias>
|
||||
<family>serif</family>
|
||||
<prefer>
|
||||
<family>Overpass</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
|
||||
<alias>
|
||||
<family>monospace</family>
|
||||
<prefer>
|
||||
<family>Hack Nerd Font Mono</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
|
||||
</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
|
||||
dpi-aware=yes
|
||||
pad=20x20
|
||||
|
||||
[scrollback]
|
||||
lines=1000
|
||||
|
@ -11,34 +10,21 @@ blink=yes
|
|||
hide-when-typing=yes
|
||||
|
||||
[colors]
|
||||
foreground = dcd7ba
|
||||
background = 1f1f28
|
||||
|
||||
selection-foreground = c8c093
|
||||
selection-background = 2d4f67
|
||||
|
||||
regular0 = 090618
|
||||
regular1 = c34043
|
||||
regular2 = 76946a
|
||||
regular3 = c0a36e
|
||||
regular4 = 7e9cd8
|
||||
regular5 = 957fb8
|
||||
regular6 = 6a9589
|
||||
regular7 = c8c093
|
||||
|
||||
bright0 = 727169
|
||||
bright1 = e82424
|
||||
bright2 = 98bb6c
|
||||
bright3 = e6c384
|
||||
bright4 = 7fb4ca
|
||||
bright5 = 938aa9
|
||||
bright6 = 7aa89f
|
||||
bright7 = dcd7ba
|
||||
|
||||
16 = ffa066
|
||||
17 = ff5d62
|
||||
|
||||
[csd]
|
||||
color = ff1f1f28
|
||||
button-color = ffdcd7ba
|
||||
hide-when-maximized = yes
|
||||
background=282c34
|
||||
foreground=abb2bf
|
||||
regular0=282c34
|
||||
regular1=e06c75
|
||||
regular2=98c379
|
||||
regular3=e5c07b
|
||||
regular4=61afef
|
||||
regular5=c678dd
|
||||
regular6=56b6c2
|
||||
regular7=abb2bf
|
||||
bright0=3e4452
|
||||
bright1=be5046
|
||||
bright2=98c379
|
||||
bright3=d19a66
|
||||
bright4=61afef
|
||||
bright5=c678dd
|
||||
bright6=56b6c2
|
||||
bright7=5c6370
|
||||
|
|
|
@ -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,
|
||||
vte-terminal {
|
||||
padding: 40px;
|
||||
VteTerminal, vte-terminal {
|
||||
padding: 40px;
|
||||
}
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
var child_process = require('child_process');
|
||||
var child_process = require("child_process");
|
||||
|
||||
function getStdout(cmd) {
|
||||
var stdout = child_process.execSync(cmd);
|
||||
return stdout.toString().trim();
|
||||
}
|
||||
|
||||
exports.host = 'imap.migadu.com';
|
||||
exports.host = "imap.migadu.com";
|
||||
exports.port = 993;
|
||||
exports.tls = true;
|
||||
exports.tlsOptions = {
|
||||
rejectUnauthorized: true,
|
||||
};
|
||||
exports.username = 'admin@korhonen.cc';
|
||||
exports.username = "admin@korhonen.cc";
|
||||
exports.password = "{{@@ env['PASS_EMAIL_ADMIN'] @@}}";
|
||||
exports.onNewMail = 'mbsync admin@korhonen.cc';
|
||||
exports.onNewMail = "mbsync admin@korhonen.cc";
|
||||
exports.onNewMailPost =
|
||||
'~/git/dotfiles/scripts/mail/notify-new-mail.sh admin@korhonen.cc';
|
||||
exports.boxes = ['INBOX'];
|
||||
"~/git/dotfiles/scripts/mail/notify-new-mail.sh admin@korhonen.cc";
|
||||
exports.boxes = ["INBOX"];
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
var child_process = require('child_process');
|
||||
var child_process = require("child_process");
|
||||
|
||||
function getStdout(cmd) {
|
||||
var stdout = child_process.execSync(cmd);
|
||||
return stdout.toString().trim();
|
||||
}
|
||||
|
||||
exports.host = 'imap.migadu.com';
|
||||
exports.host = "imap.migadu.com";
|
||||
exports.port = 993;
|
||||
exports.tls = true;
|
||||
exports.tlsOptions = {
|
||||
rejectUnauthorized: true,
|
||||
};
|
||||
exports.username = 'functionalhacker@korhonen.cc';
|
||||
exports.username = "functionalhacker@korhonen.cc";
|
||||
exports.password = "{{@@ env['PASS_EMAIL_HACKER'] @@}}";
|
||||
exports.onNewMail = 'mbsync functionalhacker@korhonen.cc';
|
||||
exports.onNewMail = "mbsync functionalhacker@korhonen.cc";
|
||||
exports.onNewMailPost =
|
||||
'~/git/dotfiles/scripts/mail/notify-new-mail.sh functionalhacker@korhonen.cc';
|
||||
exports.boxes = ['INBOX'];
|
||||
"~/git/dotfiles/scripts/mail/notify-new-mail.sh functionalhacker@korhonen.cc";
|
||||
exports.boxes = ["INBOX"];
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
var child_process = require('child_process');
|
||||
var child_process = require("child_process");
|
||||
|
||||
function getStdout(cmd) {
|
||||
var stdout = child_process.execSync(cmd);
|
||||
return stdout.toString().trim();
|
||||
}
|
||||
|
||||
exports.host = 'imap.migadu.com';
|
||||
exports.host = "imap.migadu.com";
|
||||
exports.port = 993;
|
||||
exports.tls = true;
|
||||
exports.tlsOptions = {
|
||||
rejectUnauthorized: true,
|
||||
};
|
||||
exports.username = 'marko@korhonen.cc';
|
||||
exports.username = "marko@korhonen.cc";
|
||||
exports.password = "{{@@ env['PASS_EMAIL_MARKO'] @@}}";
|
||||
exports.onNewMail = 'mbsync marko@korhonen.cc';
|
||||
exports.onNewMail = "mbsync marko@korhonen.cc";
|
||||
exports.onNewMailPost =
|
||||
'~/git/dotfiles/scripts/mail/notify-new-mail.sh marko@korhonen.cc';
|
||||
exports.boxes = ['INBOX'];
|
||||
"~/git/dotfiles/scripts/mail/notify-new-mail.sh marko@korhonen.cc";
|
||||
exports.boxes = ["INBOX"];
|
||||
|
|
|
@ -1,12 +1,7 @@
|
|||
background-color=#1E1D2F
|
||||
text-color=#D9E0EE
|
||||
border-color=#96CDFB
|
||||
progress-color=over #302D41
|
||||
|
||||
background-color=#282828
|
||||
text-color=#EBDBB2
|
||||
border-color=#D65D0E
|
||||
icons=1
|
||||
default-timeout=5000
|
||||
max-visible=6
|
||||
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)
|
||||
|
||||
mpvqueue %U
|
||||
^https?://www.facebook.com/watch/?v=.*
|
||||
|
||||
mpvqueue %U
|
||||
^https?://www.facebook.com/.*/videos/.*
|
||||
^https://www.facebook.com/watch/?v=.*
|
||||
|
||||
mpvqueue %U
|
||||
^https://fb.watch/.*
|
||||
|
@ -34,8 +31,11 @@ mpvqueue %U
|
|||
mpvqueue %U
|
||||
^https?://v.redd.it/.*
|
||||
|
||||
mpvqueue %U
|
||||
^https?://areena.yle.fi.*
|
||||
imgurviewer %U
|
||||
^https?://(www.)?imgur.com/a/
|
||||
|
||||
imgurviewer %U
|
||||
^https?://(www.)?imgur.com/gallery/
|
||||
|
||||
imageviewer %U
|
||||
^https?://(?:[a-z0-9\-]+\.)+[a-z]{2,6}(?:/[^/#?]+)+\.(?:jpg|jpeg|png|svg)
|
||||
|
@ -48,3 +48,6 @@ alacritty -e rtv "%U"
|
|||
|
||||
alacritty -e rtv "%U"
|
||||
^https?://redd.it.*
|
||||
|
||||
mpv "$(yle-dl --showurl %U)"
|
||||
^https?://areena.yle.fi.*
|
||||
|
|
|
@ -1,24 +1,25 @@
|
|||
music_directory "~/Music"
|
||||
playlist_directory "~/Music/Playlists"
|
||||
db_file "~/.mpd/database"
|
||||
log_file "~/.mpd/log"
|
||||
state_file "~/.mpd/state"
|
||||
sticker_file "~/.mpd/sticker.sql"
|
||||
music_directory "~/music"
|
||||
playlist_directory "~/music/Playlists"
|
||||
db_file "~/.mpd/database"
|
||||
log_file "~/.mpd/log"
|
||||
pid_file "~/.mpd/pid"
|
||||
state_file "~/.mpd/state"
|
||||
sticker_file "~/.mpd/sticker.sql"
|
||||
|
||||
replaygain "track"
|
||||
replaygain "track"
|
||||
|
||||
default_permissions "read,add,control"
|
||||
password "{{@@ env['PASS_MPD'] @@}}@read,add,control"
|
||||
password "{{@@ env['PASS_MPD_ADMIN'] @@}}@read,add,control,admin"
|
||||
default_permissions "read"
|
||||
password "{{@@ env['PASS_MPD'] @@}}@read,add,control"
|
||||
password "{{@@ env['PASS_MPD_ADMIN'] @@}}@read,add,control,admin"
|
||||
|
||||
audio_output {
|
||||
type "fifo"
|
||||
name "Visualizer"
|
||||
path "/tmp/mpd.fifo"
|
||||
format "44100:16:2"
|
||||
type "fifo"
|
||||
name "Visualizer"
|
||||
path "/tmp/mpd.fifo"
|
||||
format "44100:16:2"
|
||||
}
|
||||
|
||||
audio_output {
|
||||
type "pipewire"
|
||||
name "MPD PipeWire"
|
||||
type "pulse"
|
||||
name "MPD PulseAudio"
|
||||
}
|
||||
|
|
|
@ -22,5 +22,3 @@ MUTE cycle ao-mute
|
|||
|
||||
= add audio-delay 0.100
|
||||
- add audio-delay -0.100
|
||||
|
||||
s playlist-shuffle
|
||||
|
|
|
@ -7,8 +7,10 @@ vo=gpu
|
|||
hwdec=vaapi
|
||||
hwdec-codecs=all
|
||||
|
||||
{%@@ if wayland @@%}
|
||||
{%@@ if profile == "Mirkwood" @@%}
|
||||
gpu-context=wayland
|
||||
{%@@ elif profile == "Rivendell" @@%}
|
||||
ao=alsa
|
||||
{%@@ endif @@%}
|
||||
|
||||
#############
|
||||
|
@ -25,12 +27,8 @@ replaygain=track
|
|||
# Start ipc server
|
||||
input-ipc-server=/tmp/mpvsocket
|
||||
|
||||
# set youtube-dl max res
|
||||
{%@@ if profile == "Moria" @@%}
|
||||
ytdl-format=bestvideo[height<=2160]+bestaudio/best[height<=2160]
|
||||
{%@@ else @@%}
|
||||
# set youtube-dl max res to 1080
|
||||
ytdl-format=bestvideo[height<=1080]+bestaudio/best[height<=1080]
|
||||
{%@@ endif @@%}
|
||||
|
||||
# continue watching
|
||||
save-position-on-quit
|
||||
|
@ -106,4 +104,8 @@ ytdl-format="bestvideo[height<=2160]+bestaudio/best[height<=2160]"
|
|||
[best]
|
||||
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