Compare commits

...

25 commits

Author SHA1 Message Date
5d87a0be1d
Convert server to LAN only mode 2025-04-07 15:28:38 -05:00
efcbae3c3e
Remove obsolete files 2025-04-07 15:28:10 -05:00
5174bf5a11
Home automation: Remove disabled services 2025-03-28 21:40:56 -05:00
cb92c22070
Remove korhonen.social 2025-03-28 21:38:16 -05:00
9fd94c6c8c
Add lappeenranta to gnome world clocks 2025-03-27 16:23:54 -05:00
b3c3899692
Change fonts to new Gnome fonts 2025-03-27 16:20:12 -05:00
7f9ee72c57
Add fontconfig to VentoyArch 2025-03-27 16:20:01 -05:00
c6b7e65ce6
Add VentoyArch 2025-03-27 16:14:54 -05:00
67ce104ced
Update Shire configs after new Arch install 2025-03-27 14:48:43 -05:00
9d6629fc8e
Update neovim plugins 2025-03-27 14:21:49 -05:00
d790ce3c4a
Nvim: add json schema store
Allows automatically fetching schemas in json files without specifying
schema
2025-03-20 23:34:54 -05:00
73ffa28143
Update nvim plugins 2025-03-20 23:34:42 -05:00
dbce5d07dc
Fix hibernate resume 2025-02-13 12:19:36 -06:00
8b9ec33ab7
Remove unused scripts 2025-02-13 12:18:30 -06:00
0aa27334e9
Update neovim plugins 2025-02-10 16:13:53 -06:00
6a65ed6edd
Fix shire hibernate 2025-02-10 16:09:02 -06:00
541ec47d59
Update ntp settings 2025-02-10 16:08:34 -06:00
b5bc36941e
Update nvim plugins 2025-01-29 14:34:34 -06:00
bf5f88a8e7
Update mirkwood resume offset 2025-01-29 14:22:47 -06:00
184dcdc287
Update mirkwood root UUID 2025-01-29 14:17:44 -06:00
4c18772a67
Paru: fetch pgp 2025-01-29 14:17:32 -06:00
33019b0cef
Update nvim plugins 2025-01-29 14:17:16 -06:00
7e44488b62
Update neovim plugins 2024-12-30 09:07:22 +02:00
e50564e443
Update nvim plugins 2024-12-02 16:14:30 +02:00
8295978c2b
Git: Add dno alias 2024-12-02 16:14:15 +02:00
26 changed files with 403 additions and 537 deletions

View file

@ -1,3 +1,6 @@
[actions]
mkinitcpio = "mkinitcpio -P"
[config]
backup = true
banner = true
@ -118,6 +121,7 @@ dst = "/.ignore"
[dotfiles."f_mkinitcpio.conf"]
src = "etc/mkinitcpio.conf"
dst = "/etc/mkinitcpio.conf"
actions = ["mkinitcpio"]
[dotfiles."f_vconsole.conf"]
src = "etc/vconsole.conf"
@ -146,6 +150,7 @@ 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"
@ -201,6 +206,23 @@ dotfiles = [
]
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",
@ -222,7 +244,7 @@ dotfiles = [
"f_sshd_config",
"f_system.conf",
]
include = ["Locale"]
include = ["Locale", "Pacman"]
[profiles.Moria]
include = ["Locale", "Pacman"]

View file

@ -214,6 +214,16 @@ dotfiles = [
[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 = [

View file

@ -66,16 +66,6 @@ services:
environment:
GEOIPUPDATE_EDITION_IDS: GeoLite2-City
GEOIPUPDATE_FREQUENCY: '8'
whoami-test:
image: traefik/whoami
container_name: whoami-test
restart: unless-stopped
security_opt:
- no-new-privileges:true
networks:
- proxy
environment:
- TZ
networks:
authentik:
external: true

View file

@ -1,118 +1,34 @@
{
order umami first
auto_https off
}
(common_site_settings) {
encode zstd gzip
tls {
dns cloudflare {$CLOUDFLARE_API_TOKEN}
resolvers 1.1.1.1
}
header {
Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
}
}
korhonen.cc, *.korhonen.cc {
import common_site_settings
@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
}
http://index.korhonen.lan {
root * /var/www/index.korhonen.cc
file_server browse
}
@home-assistant host home.korhonen.cc
handle @home-assistant {
http://home.korhonen.lan {
reverse_proxy home-assistant:8123
}
@authentik host sso.korhonen.cc
handle @authentik {
http://sso.korhonen.lan, http://sso.korhonen.cc {
reverse_proxy authentik:9000
}
@forgejo host git.korhonen.cc
handle @forgejo {
http://git.korhonen.lan {
rewrite /user/login /user/oauth2/authentik
reverse_proxy forgejo:3000
}
@woodpecker host ci.korhonen.cc
handle @woodpecker {
reverse_proxy woodpecker:8000
}
@searx host search.korhonen.cc
handle @searx {
http://search.korhonen.lan {
reverse_proxy searx:8080
}
@freshrss host rss.korhonen.cc
handle @freshrss {
reverse_proxy freshrss
}
@jellyfin host jellyfin.korhonen.cc
handle @jellyfin {
http://jellyfin.korhonen.lan {
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 {
http://cloud.korhonen.lan {
# Redirect login page to Authentik
redir /login /apps/sociallogin/custom_oidc/korhonen-sso 301
@ -146,73 +62,6 @@ korhonen.cc, *.korhonen.cc {
file_server
}
@tvheadend host tvheadend.korhonen.cc
handle @tvheadend {
reverse_proxy tvheadend:9981
}
@collabora host collabora.korhonen.cc
handle @collabora {
http://collabora.korhonen.lan {
reverse_proxy collabora:9980
}
@grafana host grafana.korhonen.cc
handle @grafana {
reverse_proxy grafana:3000
}
@drop host drop.korhonen.cc
handle @drop {
reverse_proxy drop:3000
}
@ipvX host ipv6.korhonen.cc ipv4.korhonen.cc
handle @ipvX {
respond {remote_host}
}
@ott host ott.korhonen.cc
handle @ott {
reverse_proxy opentogethertube:8080
}
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}"
}
}
korhonen.social, *.korhonen.social {
import common_site_settings
@firefish-www-redir host www.korhonen.social
handle @firefish-www-redir {
redir https://korhonen.social
}
@firefish host korhonen.social
handle @firefish {
reverse_proxy firefish:3000
}
handle {
respond "404 Not Found" 404
}
handle_errors {
respond "{err.status_code} {err.status_text}"
}
}

195
docker/caddy/Caddyfile.old Normal file
View file

@ -0,0 +1,195 @@
# My old public configuration.
# Currently don't have a public IP so running everything in LAN
# in the current configuration
{
order umami first
}
(common_site_settings) {
encode zstd gzip
tls {
dns cloudflare {$CLOUDFLARE_API_TOKEN}
resolvers 1.1.1.1
}
header {
Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
}
}
korhonen.cc, *.korhonen.cc {
import common_site_settings
@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/authentik
reverse_proxy forgejo:3000
}
@woodpecker host ci.korhonen.cc
handle @woodpecker {
reverse_proxy woodpecker:8000
}
@searx host search.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
}
@tvheadend host tvheadend.korhonen.cc
handle @tvheadend {
reverse_proxy tvheadend:9981
}
@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}
}
@ott host ott.korhonen.cc
handle @ott {
reverse_proxy opentogethertube:8080
}
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}"
}
}

View file

@ -11,8 +11,6 @@ services:
restart: unless-stopped
environment:
- TZ=Europe/Helsinki
devices:
- /dev/ttyACM0
volumes:
- hass:/config
- /etc/localtime:/etc/localtime:ro
@ -25,20 +23,20 @@ services:
- 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
# 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
@ -75,85 +73,6 @@ services:
volumes:
- whisper_english:/data
- /etc/localtime:/etc/localtime:ro
openwakeword_english:
container_name: openwakeword_english
image: rhasspy/wyoming-openwakeword
restart: unless-stopped
environment:
- TZ=Europe/Helsinki
networks:
- homeautomation
command:
- --preload-model
- ok_nabu
depends_on:
- home-assistant
volumes:
- openwakeword_english:/data
- /etc/localtime:/etc/localtime:ro
microphone:
build: https://github.com/rhasspy/wyoming-mic-external.git
image: rhasspy/wyoming-mic-external
container_name: microphone
restart: unless-stopped
devices:
- /dev/snd:/dev/snd
ports:
- 10600:10600
group_add:
- audio
networks:
- homeautomation
command:
- --device
- plughw:CARD=USB,DEV=0
- --debug
volumes:
- /etc/localtime:/etc/localtime:ro
speaker:
build: https://github.com/rhasspy/wyoming-snd-external.git
image: rhasspy/wyoming-snd-external
container_name: speaker
restart: unless-stopped
devices:
- /dev/snd:/dev/snd
ports:
- 10601:10601
group_add:
- audio
networks:
- homeautomation
command:
- --device
- iec958:CARD=USB,DEV=0
- --debug
volumes:
- /etc/localtime:/etc/localtime:ro
satellite:
build: https://github.com/rhasspy/wyoming-satellite.git
image: rhasspy/wyoming-satellite
container_name: satellite
restart: unless-stopped
ports:
- 10700:10700
networks:
- homeautomation
depends_on:
- speaker
- microphone
- whisper_english
command:
- --name
- ha-server-satellite
- --mic-uri
- tcp://microphone:10600
- --snd-uri
- tcp://speaker:10601
- --wake-uri
- tcp://openwakeword_english:10400
- --debug
volumes:
- /etc/localtime:/etc/localtime:ro
networks:
homeautomation:
external: false

View file

@ -17,10 +17,10 @@ locations=[<(uint32 2, <('Lappeenranta', 'EFLP', false, [(1.0654507804726074, 0.
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)])>)>]
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)])>)>}]
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

View file

@ -4,19 +4,19 @@
<alias>
<family>sans-serif</family>
<prefer>
<family>Overpass</family>
<family>Adwaita Sans</family>
</prefer>
</alias>
<alias>
<family>serif</family>
<prefer>
<family>Overpass</family>
<family>Adwaita Sans</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Hack Nerd Font Mono</family>
<family>Adwaita mono</family>
</prefer>
</alias>
</fontconfig>

View file

@ -42,6 +42,7 @@ 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

View file

@ -1,69 +1,70 @@
{
"LuaSnip": { "branch": "master", "commit": "787dee55ca364cc9119787165418fe93b74c1842" },
"alpha-nvim": { "branch": "main", "commit": "bf3c8bb8c02ed3d9644cc5bbc48e2bdc39349cd7" },
"auto-dark-mode.nvim": { "branch": "master", "commit": "d365beccca05ffcb01e50109f2adca2459c3995a" },
"bufferline.nvim": { "branch": "main", "commit": "5cc447cb2b463cb499c82eaeabbed4f5fa6a0a44" },
"LuaSnip": { "branch": "master", "commit": "c9b9a22904c97d0eb69ccb9bab76037838326817" },
"alpha-nvim": { "branch": "main", "commit": "de72250e054e5e691b9736ee30db72c65d560771" },
"auto-dark-mode.nvim": { "branch": "master", "commit": "c31de126963ffe9403901b4b0990dde0e6999cc6" },
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
"cder.nvim": { "branch": "main", "commit": "0a071389bb52544ac9cf9557378aa1212dff6982" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" },
"cmp-git": { "branch": "main", "commit": "741b6a759dbbcc55e9e5d72e2a84099cf6f4af9c" },
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
"cmp-git": { "branch": "main", "commit": "d9efd00e0b9527ee05031ce7e7e55d6b118f543e" },
"cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp-spell": { "branch": "master", "commit": "694a4e50809d6d645c1ea29015dad0c293f019d6" },
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"confirm-quit.nvim": { "branch": "main", "commit": "f15f6d728d385a3d2efa22098e9a45b8a2b20144" },
"copilot-cmp": { "branch": "master", "commit": "b6e5286b3d74b04256d0a7e3bd2908eabec34b44" },
"copilot.lua": { "branch": "master", "commit": "f8d8d872bb319f640d5177dad5fbf01f7a16d7d0" },
"copilot-cmp": { "branch": "master", "commit": "15fc12af3d0109fa76b60b5cffa1373697e261d1" },
"copilot.lua": { "branch": "master", "commit": "535ebb53880ae67e33d9e50b503d25f9ef3ca06c" },
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
"dropbar.nvim": { "branch": "master", "commit": "998441a88476af2ec77d8cb1b21bae62c9f548c1" },
"firenvim": { "branch": "master", "commit": "64f9389b88c8b0c7667d45c171a5f25c42d852fb" },
"friendly-snippets": { "branch": "main", "commit": "de8fce94985873666bd9712ea3e49ee17aadb1ed" },
"dropbar.nvim": { "branch": "master", "commit": "873ba43f83398fd0e28880cf98fd89e6ce667c51" },
"firenvim": { "branch": "master", "commit": "c4ab7d2aeb145cd93db8660cb134f771722f2b5e" },
"friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
"fugitive-gitea": { "branch": "master", "commit": "d93176028d13820f941c165c14039a6019744a5a" },
"gitsigns.nvim": { "branch": "main", "commit": "ee7634ab4f0a6606438fe13e16cbf2065589a5ed" },
"indent-blankline.nvim": { "branch": "master", "commit": "e7a4442e055ec953311e77791546238d1eaae507" },
"kanagawa.nvim": { "branch": "master", "commit": "f491b0fe68fffbece7030181073dfe51f45cda81" },
"lazy.nvim": { "branch": "main", "commit": "cf8ecc2c5e4332760431a33534240b0cbc6680ab" },
"lazydev.nvim": { "branch": "main", "commit": "491452cf1ca6f029e90ad0d0368848fac717c6d2" },
"lualine.nvim": { "branch": "master", "commit": "b431d228b7bbcdaea818bdc3e25b8cdbe861f056" },
"gitsigns.nvim": { "branch": "main", "commit": "7010000889bfb6c26065e0b0f7f1e6aa9163edd9" },
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
"kanagawa.nvim": { "branch": "master", "commit": "709018d5af92d2e5780bfb8a6d36e9cad01a6402" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
"lualine.nvim": { "branch": "master", "commit": "1517caa8fff05e4b4999857319d3b0609a7f57fa" },
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
"mason-extra-cmds": { "branch": "main", "commit": "606ecf0cebed0f91926558158e61725d2678d90c" },
"mason-extra-cmds": { "branch": "main", "commit": "cc7163cb5089236042b5e351cb1a078d0905e40d" },
"mason-lock.nvim": { "branch": "main", "commit": "86614f76c3442fba1c5c8d79aa1efcb3ad69de1c" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "7446f47b3dfb7df801f31a6f6783c2ad119a6935" },
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
"mini.nvim": { "branch": "main", "commit": "77533e69cc4fadb7f4c25f23255ae0890a058818" },
"neoformat": { "branch": "master", "commit": "d9d3311097eacdba9bd7a425b267d304b509e7ea" },
"noice.nvim": { "branch": "main", "commit": "df448c649ef6bc5a6a633a44f2ad0ed8d4442499" },
"nui.nvim": { "branch": "main", "commit": "b58e2bfda5cea347c9d58b7f11cf3012c7b3953f" },
"nvim-asciidoc-preview": { "branch": "main", "commit": "7b8dacdcea38dad0b53b8c3ae01e7045ed6a04db" },
"nvim-autopairs": { "branch": "master", "commit": "ee297f215e95a60b01fde33275cc3c820eddeebe" },
"nvim-cmp": { "branch": "main", "commit": "29fb4854573355792df9e156cb779f0d31308796" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
"mini.nvim": { "branch": "main", "commit": "189010888bc37fc1c382f2dcc81b7a6441160686" },
"neoformat": { "branch": "master", "commit": "874dcd0995db340278c41860e0209bef29d6ef87" },
"noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
"nui.nvim": { "branch": "main", "commit": "8d3bce9764e627b62b07424e0df77f680d47ffdb" },
"nvim-asciidoc-preview": { "branch": "main", "commit": "b12e113b5f7e7522b4e412213d5498cc529f2628" },
"nvim-autopairs": { "branch": "master", "commit": "6522027785b305269fa17088395dfc0f456cedd2" },
"nvim-cmp": { "branch": "main", "commit": "1e1900b0769324a9675ef85b38f99cca29e203b3" },
"nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
"nvim-dap": { "branch": "master", "commit": "7ff6936010b7222fea2caea0f67ed77f1b7c60dd" },
"nvim-dap-ui": { "branch": "master", "commit": "ffa89839f97bad360e78428d5c740fdad9a0ff02" },
"nvim-jdtls": { "branch": "master", "commit": "efe813854432a314b472226dca813f0f2598d44a" },
"nvim-dap": { "branch": "master", "commit": "6a5bba0ddea5d419a783e170c20988046376090d" },
"nvim-dap-ui": { "branch": "master", "commit": "bc81f8d3440aede116f821114547a476b082b319" },
"nvim-jdtls": { "branch": "master", "commit": "2f7bff9b8d2ee1918b36ca55f19547d9d335a268" },
"nvim-lsp-file-operations": { "branch": "master", "commit": "9744b738183a5adca0f916527922078a965515ed" },
"nvim-lspconfig": { "branch": "master", "commit": "85afd4b936acd62b578c2e2d8e86541fb972c32e" },
"nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" },
"nvim-notify": { "branch": "master", "commit": "fbef5d32be8466dd76544a257d3f3dce20082a07" },
"nvim-tree.lua": { "branch": "master", "commit": "8760d76c1d316aa46f141f3f2b80b853a2acc41e" },
"nvim-treesitter": { "branch": "master", "commit": "377039daa260b71f304c881d1b21d643c501a261" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "0d79d169fcd45a8da464727ac893044728f121d4" },
"nvim-ts-autotag": { "branch": "main", "commit": "e239a560f338be31337e7abc3ee42515daf23f5e" },
"nvim-ufo": { "branch": "main", "commit": "c96bb3bb853ff6253fe74f057df03e61fafd2403" },
"nvim-web-devicons": { "branch": "master", "commit": "19d257cf889f79f4022163c3fbb5e08639077bd8" },
"nvim-lspconfig": { "branch": "master", "commit": "85e0dd26b710e834a105d679200d01e326a3d2b0" },
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
"nvim-notify": { "branch": "master", "commit": "22f29093eae7785773ee9d543f8750348b1a195c" },
"nvim-tree.lua": { "branch": "master", "commit": "44d9b58f11d5a426c297aafd0be1c9d45617a849" },
"nvim-treesitter": { "branch": "master", "commit": "da5825bf70cc2ea7eacd1e60c32c07baf19adeba" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "9937e5e356e5b227ec56d83d0a9d0a0f6bc9cad4" },
"nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" },
"nvim-ufo": { "branch": "main", "commit": "a52c92c3bbaa10f0c9b547a50adaa8c7d8b29f94" },
"nvim-web-devicons": { "branch": "master", "commit": "4c3a5848ee0b09ecdea73adcd2a689190aeb728c" },
"password-store": { "branch": "master", "commit": "b5e965a838bb68c1227caa2cdd874ba496f10149" },
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" },
"statuscol.nvim": { "branch": "main", "commit": "5998d16044159ad3779f62c45e756c555e3051f0" },
"suda.vim": { "branch": "master", "commit": "b97fab52f9cdeabe2bbb5eb98d82356899f30829" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" },
"telescope-project.nvim": { "branch": "master", "commit": "796200876bb0fe8157b8eb1ce03d927d3827a052" },
"schemastore.nvim": { "branch": "main", "commit": "d307d291f38678d064cb987112926df6d9134de3" },
"statuscol.nvim": { "branch": "main", "commit": "c399884e8f64019ec9bb581251f9710915b7f996" },
"suda.vim": { "branch": "master", "commit": "9adda7d195222d4e2854efb2a88005a120296c47" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" },
"telescope-project.nvim": { "branch": "master", "commit": "ce2c9fe209a68c7a924acde42d94ed8a2b2a52c5" },
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
"telescope.nvim": { "branch": "master", "commit": "df534c3042572fb958586facd02841e10186707c" },
"telescope.nvim": { "branch": "master", "commit": "a4ed82509cecc56df1c7138920a1aeaf246c0ac5" },
"vim-asciidoctor": { "branch": "master", "commit": "f553311b5db03440eb8d7035434d0405e4a2c559" },
"vim-caddyfile": { "branch": "master", "commit": "24fe0720551883e407cb70ae1d7c03f162d1d5a0" },
"vim-fugitive": { "branch": "master", "commit": "d4877e54cef67f5af4f950935b1ade19ed6b7370" },
"vim-fugitive": { "branch": "master", "commit": "4a745ea72fa93bb15dd077109afbb3d1809383f2" },
"vim-gnupg": { "branch": "main", "commit": "f9b608f29003dfde6450931dc0f495a912973a88" },
"which-key.nvim": { "branch": "main", "commit": "8badb359f7ab8711e2575ef75dfe6fbbd87e4821" }
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
}

View file

@ -19,12 +19,15 @@ return {
"mfussenegger/nvim-jdtls",
-- Add support for LSP file operations
{ "antosha417/nvim-lsp-file-operations", opts = {} },
-- Automatically fetch schemas from JSON schema store
"b0o/schemastore.nvim",
},
config = function()
require("mason").setup()
local mlspc = require("mason-lspconfig")
local lsp_utils = require("lsp_utils")
local lspconfig = require("lspconfig")
local commonLspConfigArgs = {
on_attach = lsp_utils.map_keys,
@ -35,13 +38,13 @@ return {
mlspc.setup_handlers({
-- Default handler
function(server_name)
require("lspconfig")[server_name].setup(commonLspConfigArgs)
lspconfig[server_name].setup(commonLspConfigArgs)
end,
-- Disable tsserver diagnostics diagnostics
-- that come from ESLint
["ts_ls"] = function()
require("lspconfig").ts_ls.setup(vim.tbl_extend("force", commonLspConfigArgs, {
lspconfig.ts_ls.setup(vim.tbl_extend("force", commonLspConfigArgs, {
settings = {
diagnostics = {
ignoredCodes = {
@ -55,6 +58,17 @@ return {
-- Don't set up jdtls, it is set up by nvim-jdtls
["jdtls"] = function() end,
["jsonls"] = function()
lspconfig.jsonls.setup(vim.tbl_extend("force", commonLspConfigArgs, {
settings = {
json = {
schemas = require("schemastore").json.schemas(),
validate = { enable = true },
},
},
}))
end,
})
end,
}

View file

@ -1,23 +1,15 @@
{
"bash-language-server": "5.4.2",
"bash-language-server": "5.4.3",
"bibtex-tidy": "1.14.0",
"css-lsp": "4.10.0",
"docker-compose-language-service": "0.2.0",
"docker-compose-language-service": "0.3.0",
"dockerfile-language-server": "0.13.0",
"eslint-lsp": "4.10.0",
"google-java-format": "v1.24.0",
"html-lsp": "4.10.0",
"java-debug-adapter": "0.58.0",
"jdtls": "v1.40.0",
"json-lsp": "4.10.0",
"lemminx": "0.27.1",
"lua-language-server": "3.11.1",
"nil": "2024-08-06",
"nixpkgs-fmt": "1.3.0",
"prettier": "3.3.3",
"prettierd": "0.25.3",
"stylua": "v0.20.0",
"taplo": "0.9.3",
"tree-sitter-cli": "v0.24.3",
"typescript-language-server": "4.3.3",
"yaml-language-server": "1.15.0"
"lemminx": "0.28.0",
"lua-language-server": "3.13.9",
"texlab": "v5.22.1",
"typescript-language-server": "4.3.4",
"yaml-language-server": "1.17.0"
}

View file

@ -1,5 +1,6 @@
[options]
NewsOnUpgrade
PgpFetch
[bin]
Sudo = doas

View file

@ -1,7 +1,9 @@
{%@@ if profile == "Mirkwood" @@%}
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 vt.global_cursor_default=0 fbcon=nodefer log_level=3 udev.log_level=3
cryptdevice=UUID=ddc8cabe-f726-4287-8407-3a0323ec6037:cryptroot:allow-discards root=/dev/mapper/cryptroot rootflags=subvol=root resume=/dev/mapper/cryptroot resume_offset=18529853 rw quiet splash vt.global_cursor_default=0 fbcon=nodefer log_level=3 udev.log_level=3
{%@@ elif profile == "Moria" @@%}
cryptdevice=UUID=51115cf2-6a44-4f8c-8aa2-ff9d834953d8:cryptroot root=/dev/mapper/cryptroot rootflags=subvol=root ip=:::::eth0:dhcp netconf_timeout=60 rw quiet splash vt.global_cursor_default=0 fbcon=nodefer log_level=3 udev.log_level=3
cryptdevice=UUID=51115cf2-6a44-4f8c-8aa2-ff9d834953d8:cryptroot:allow-discards root=/dev/mapper/cryptroot rootflags=subvol=root ip=:::::eth0:dhcp netconf_timeout=60 rw quiet splash vt.global_cursor_default=0 fbcon=nodefer log_level=3 udev.log_level=3
{%@@ elif profile == "Shire" @@%}
cryptdevice=UUID=370d6c2a-86ab-4e7d-9442-d15ad173f3e3:cryptroot root=/dev/mapper/cryptroot resume_offset=1908736 intel_idle.max_cstate=1 rw quiet splash vt.global_cursor_default=0 fbcon=nodefer log_level=3 udev.log_level=3
cryptdevice=UUID=8898d32c-d150-4258-ad0f-96b5afca4718:cryptroot root=/dev/mapper/cryptroot rootflags=subvol=root resume_offset=2106624 intel_idle.max_cstate=1 rw quiet splash vt.global_cursor_default=0 fbcon=nodefer log_level=3 udev.log_level=3
{%@@ elif profile == "VentoyArch" @@%}
cryptdevice=UUID=d43414f3-37e9-4f35-9d3c-2f85c36c0034:cryptroot:allow-discards root=/dev/mapper/cryptroot rootflags=subvol=root rw quiet splash vt.global_cursor_default=0 fbcon=nodefer log_level=3 udev.log_level=3
{%@@ endif @@%}

View file

@ -12,9 +12,11 @@ BINARIES=()
FILES=()
{%@@ if profile == "Mirkwood" @@%}
HOOKS=(base udev kms plymouth keyboard autodetect microcode modconf block filesystems btrfs encrypt fsck)
HOOKS=(base udev kms plymouth keyboard autodetect microcode modconf block filesystems btrfs encrypt resume fsck)
{%@@ elif profile == 'Moria' @@%}
HOOKS=(base udev kms keyboard autodetect microcode modconf block netconf dropbear encryptssh filesystems btrfs fsck)
{%@@ elif profile == 'Shire' @@%}
HOOKS=(base udev kms keyboard keymap autodetect microcode modconf block unl0kr encrypt plymouth filesystems fsck)
HOOKS=(base udev kms keyboard keymap autodetect microcode modconf block bluetooth unl0kr encrypt plymouth filesystems resume fsck)
{%@@ elif profile == "VentoyArch" @@%}
HOOKS=(base udev kms plymouth keyboard autodetect microcode modconf block ventoy filesystems btrfs encrypt resume fsck)
{%@@ endif @@%}

View file

@ -30,6 +30,5 @@ Include = /etc/pacman.d/mirrorlist
Server = file:///var/www/index.korhonen.cc/repo/arch_linux/$repo/$arch
{%@@ else @@%}
Include = /etc/pacman.d/pacserve
Server = https://index.korhonen.cc/repo/arch_linux/$repo/$arch
Server = http://index.korhonen.lan/repo/arch_linux/$repo/$arch
{%@@ endif @@%}

View file

@ -1,3 +0,0 @@
[Service]
ExecStart=
ExecStart=-/usr/bin/agetty --skip-login --nonewline --noissue --autologin {{@@ env['USRNAME'] @@}} --noclear %I $TERM

View file

@ -1,10 +0,0 @@
[Unit]
Description=qBittorrent Daemon Service
After=network.target
[Service]
User=qbtuser
ExecStart=/usr/bin/qbittorrent-nox --webui-port=8080
[Install]
WantedBy=multi-user.target

View file

@ -1,3 +1,3 @@
[Time]
NTP=ntp.korhonen.cc
FallbackNTP=0.fi.pool.ntp.org
NTP=esgaroth.korhonen.lan
FallbackNTP=0.pool.ntp.org

View file

@ -1,22 +0,0 @@
#!/bin/bash
function rotate_ms {
case $1 in
"normal")
swaymsg output eDP-1 transform 0
;;
"right-up")
swaymsg output eDP-1 transform 90
;;
"bottom-up")
swaymsg output eDP-1 transform 180
;;
"left-up")
swaymsg output eDP-1 transform 270
;;
esac
}
while IFS='$\n' read -r line; do
rotation="$(echo $line | sed -En "s/^.*orientation changed: (.*)/\1/p")"
[[ ! -z $rotation ]] && rotate_ms $rotation
done < <(stdbuf -oL monitor-sensor)

View file

@ -1,12 +0,0 @@
#!/bin/sh
checkupdates -d
CODE=$?
if [ $CODE -eq 2 ]; then
echo "No updates available"
exit 0
fi
exit $CODE

9
scripts/fhackeditor Executable file
View file

@ -0,0 +1,9 @@
#!/bin/sh
# Script to launch a graphical editor if in graphical mode,
# terminal editor otherwise
if [ -n "$DISPLAY" ] || [ -n "$WAYLAND_DISPLAY" ]; then
echo "Running in graphical mode"
else
echo "Running in TTY mode"
fi

View file

@ -1,23 +0,0 @@
#!/bin/bash
NEWMAILDIR=~/.mail/$1/INBOX/new
COUNT=$(ls $NEWMAILDIR | wc -l)
ICON=/usr/share/icons/Papirus-Dark/64x64/apps/email.svg
SOUND=/usr/share/sounds/Oxygen-Im-Message-In.ogg
if [ $COUNT -ne 0 ]; then
mpv $SOUND &
fi
if [ $COUNT -gt 1 ]; then
fromaddress=$(cat $NEWMAILDIR/$(ls $NEWMAILDIR | sort -R | tail -1) | formail -x From | tail -1)
notify-send.sh -i $ICON "$COUNT new messages in $1" "From $fromaddress and others"
elif [ $COUNT -eq 1 ]; then
mailsubject=$(cat $NEWMAILDIR/* | formail -x Subject)
fromaddress=$(cat $NEWMAILDIR/* | formail -x From | tail -1)
notify-send.sh -i $ICON "New message in $1" "$fromaddress $mailsubject"
else
echo "No new mail"
fi

View file

@ -1,29 +0,0 @@
#!/bin/bash
if [ $# -eq 1 ]; then
DIR=/tmp/images
IMGNAME=$(basename $1)
if [ ! -d $DIR ]; then
mkdir $DIR
fi
if [ ! -f $DIR/$IMGNAME ]; then
wget $1 -O $DIR/$IMGNAME
fi
mimeo $DIR/$IMGNAME
else
DIR=/tmp/images/$(basename $1)
if [ ! -d $]; then
mkdir -p $DIR
fi
if [ ! -f $DIR/$IMGNAME ]; then
wget -P $DIR $@
fi
mimeo $DIR/*
fi

View file

@ -1,11 +0,0 @@
#!/bin/bash
ALBUMNAME=$(basename $1)
ALBUMDIR=/tmp/imgur/$ALBUMNAME
if [ ! -d $ALBUMDIR ]; then
mkdir -p $ALBUMDIR
imgur-album-downloader $1 $ALBUMDIR
fi
mimeo $ALBUMDIR

View file

@ -1,30 +0,0 @@
#!/usr/bin/env bash
notify="notify-send -i mpv -a mpv"
url="$1"
# NOTE: You need to configure mpv to
# enable ipc server on this path (see my mpv config for an example)
MPVSOCKET="/tmp/mpvsocket"
# See if MPV is already running
if [ -z "$(pidof mpv)" ]; then
# mpv is not running
# pause other players
playerctl pause
# start mpv
/usr/bin/mpv --no-terminal "$url" & disown
# Wait for mpv to be up before adding anything else to playlist
while [ -z "$(pidof mpv)" ]; do
sleep 1
done
$notify "Playing $url"
else
# mpv is running, so add stuff to playlist
$notify "Adding $url"
echo "{\"command\": [\"loadfile\", \"$url\", \"append\"]}" | socat - /tmp/mpvsocket
fi