Compare commits

...

308 commits

Author SHA1 Message Date
d91180f763
flake.lock: Update 2024-09-19 18:32:05 +02:00
6d422179ec
Bump Arion
authentik: 2024.8.1->2024.8.2
traefik: v3.1.2->v3.1.3
navidrome: 0.52.0->0.53.1
2024-09-18 14:36:51 +02:00
cc20c8cd1c
Arion: Bump homeassistant
homeassistant: 2024.3.3->2024.4.1
2024-09-14 22:36:13 +02:00
e60f4e19b7
Arion: Bump auth
authentik: 2024.8.0->2024.8.1
2024-09-14 22:35:31 +02:00
3afe8e0baf
Merge branch 'main' of ssh://git.ghoscht.com:2222/ghoscht/nix-config 2024-09-14 16:48:13 +02:00
39b8fd69d7
Arion: Bump infrastructure & add diun rules
crowdsec: v1.6.2->v1.6.3
2024-09-14 16:48:00 +02:00
df43ff334c
Arion: Bump media
autobrr: v1.45.0 -> v1.46.0
2024-09-14 16:46:53 +02:00
1ab1765492
flake.lock: Update
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/e55f9a8678adc02024a4877c2a403e3f6daf24fe' (2024-09-03)
  → 'github:nix-community/disko/59fb64b36b0a1961f6d4c6d5b8db45cc35d040f2' (2024-09-12)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/4b1b073837d8ba654680ded26200bbc9aaafeaaa?dir=pkgs/firefox-addons' (2024-09-06)
  → 'gitlab:rycee/nur-expressions/fdc18b96e954599a613fd3c0b4bba3a07ff9148d?dir=pkgs/firefox-addons' (2024-09-12)
• Updated input 'hardware':
    'github:nixos/nixos-hardware/880be1ab837e1e9fe0449dae41ac4d034694d4ce' (2024-09-04)
  → 'github:nixos/nixos-hardware/166dee4f88a7e3ba1b7a243edb1aca822f00680e' (2024-09-09)
• Updated input 'home-manager':
    'github:nix-community/home-manager/e1391fb22e18a36f57e6999c7a9f966dc80ac073' (2024-07-03)
  → 'github:nix-community/home-manager/208df2e558b73b6a1f0faec98493cb59a25f62ba' (2024-09-07)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/6f6c45b5134a8ee2e465164811e451dcb5ad86e3' (2024-09-03)
  → 'github:nixos/nixpkgs/44a71ff39c182edaf25a7ace5c9454e7cba2c658' (2024-09-10)
• Updated input 'nixpkgs-unstable':
    'github:nixos/nixpkgs/ad416d066ca1222956472ab7d0555a6946746a80' (2024-09-04)
  → 'github:nixos/nixpkgs/1355a0cbfeac61d785b7183c0caaec1f97361b43' (2024-09-10)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/d9d781523a1463965cd1e1333a306e70d9feff07' (2024-09-05)
  → 'github:Mic92/sops-nix/cede1a08039178ac12957733e97ab1006c6b6892' (2024-09-09)
• Updated input 'sops-nix/nixpkgs':
    'github:NixOS/nixpkgs/b833ff01a0d694b910daca6e2ff4a3f26dee478c' (2024-09-01)
  → 'github:NixOS/nixpkgs/9bb1e7571aadf31ddb4af77fc64b2d59580f9a39' (2024-09-05)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/556533a23879fc7e5f98dd2e0b31a6911a213171' (2024-07-21)
  → 'github:NixOS/nixpkgs/dc454045f5b5d814e5862a6d057e7bb5c29edc05' (2024-09-08)
2024-09-12 20:43:58 +02:00
2146363559
Arion: Bump git
forgejo: 8.0.0 -> 8.0.3
2024-09-08 12:51:33 +02:00
6ae147ddab
flake.lock: Update
Flake lock file updates:

• Updated input 'arkenfox':
    'github:dwarfmaster/arkenfox-nixos/92c9a287b7b98198c3ba5cdfc90218402e49c4b3' (2024-07-23)
  → 'github:dwarfmaster/arkenfox-nixos/72addd96455cce49c0c8524c53aecd02cf20adec' (2024-09-02)
• Updated input 'arkenfox/pre-commit':
    'github:cachix/pre-commit-hooks.nix/cc4d466cb1254af050ff7bdf47f6d404a7c646d1' (2024-06-06)
  → 'github:cachix/pre-commit-hooks.nix/4509ca64f1084e73bc7a721b20c669a8d4c5ebe6' (2024-08-28)
• Updated input 'arkenfox/pre-commit/nixpkgs':
    'github:NixOS/nixpkgs/e367f7a1fb93137af22a3908f00b9a35e2d286a7' (2024-03-18)
  → 'github:NixOS/nixpkgs/9693852a2070b398ee123a329e68f0dab5526681' (2024-06-22)
• Updated input 'arkenfox/pre-commit/nixpkgs-stable':
    'github:NixOS/nixpkgs/614b4613980a522ba49f0d194531beddbb7220d3' (2024-03-17)
  → 'github:NixOS/nixpkgs/194846768975b7ad2c4988bdb82572c00222c0d7' (2024-07-07)
• Updated input 'disko':
    'github:nix-community/disko/511388d837178979de66d14ca4a2ebd5f7991cd3' (2024-08-29)
  → 'github:nix-community/disko/e55f9a8678adc02024a4877c2a403e3f6daf24fe' (2024-09-03)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/79e336c765b0bfd77a0bb1a8c5efb7eb2c9a6b58?dir=pkgs/firefox-addons' (2024-08-30)
  → 'gitlab:rycee/nur-expressions/4b1b073837d8ba654680ded26200bbc9aaafeaaa?dir=pkgs/firefox-addons' (2024-09-06)
• Updated input 'hardware':
    'github:nixos/nixos-hardware/95c3dfe6ef2e96ddc1ccdd7194e3cda02ca9a8ef' (2024-08-28)
  → 'github:nixos/nixos-hardware/880be1ab837e1e9fe0449dae41ac4d034694d4ce' (2024-09-04)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/ae2fc9e0e42caaf3f068c1bfdc11c71734125e06' (2024-08-28)
  → 'github:nixos/nixpkgs/6f6c45b5134a8ee2e465164811e451dcb5ad86e3' (2024-09-03)
• Updated input 'nixpkgs-unstable':
    'github:nixos/nixpkgs/71e91c409d1e654808b2621f28a327acfdad8dc2' (2024-08-28)
  → 'github:nixos/nixpkgs/ad416d066ca1222956472ab7d0555a6946746a80' (2024-09-04)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/be0eec2d27563590194a9206f551a6f73d52fa34' (2024-08-12)
  → 'github:Mic92/sops-nix/d9d781523a1463965cd1e1333a306e70d9feff07' (2024-09-05)
• Updated input 'sops-nix/nixpkgs':
    'github:NixOS/nixpkgs/6e14bbce7bea6c4efd7adfa88a40dac750d80100' (2024-07-20)
  → 'github:NixOS/nixpkgs/b833ff01a0d694b910daca6e2ff4a3f26dee478c' (2024-09-01)
2024-09-06 10:57:59 +02:00
90d2cb2699
Arion: Bump auth
authentik: 2024.6.4 -> 2024.8
2024-09-03 18:54:55 +02:00
f1eb673e27
flake.lock: Update
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/435737144be0259559ca3b43f7d72252b1fdcc1b' (2024-08-22)
  → 'github:nix-community/disko/511388d837178979de66d14ca4a2ebd5f7991cd3' (2024-08-29)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/8cb9ce8123529ac0b621dc1cc1464aebbfadcbf0?dir=pkgs/firefox-addons' (2024-08-23)
  → 'gitlab:rycee/nur-expressions/79e336c765b0bfd77a0bb1a8c5efb7eb2c9a6b58?dir=pkgs/firefox-addons' (2024-08-30)
• Updated input 'flatpaks':
    'github:GermanBread/declarative-flatpak/cbabea429cd7d659041e5338e869a8e70f59fa74' (2024-07-28)
  → 'github:GermanBread/declarative-flatpak/d0ac1633b1477954f0c172bdb07bc7896fa602cc' (2024-08-24)
• Removed input 'flatpaks/nixpkgs'
• Removed input 'flatpaks/utils'
• Removed input 'flatpaks/utils/systems'
• Updated input 'hardware':
    'github:nixos/nixos-hardware/b09c46430ffcf18d575acf5c339b38ac4e1db5d2' (2024-08-19)
  → 'github:nixos/nixos-hardware/95c3dfe6ef2e96ddc1ccdd7194e3cda02ca9a8ef' (2024-08-28)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/797f7dc49e0bc7fab4b57c021cdf68f595e47841' (2024-08-22)
  → 'github:nixos/nixpkgs/ae2fc9e0e42caaf3f068c1bfdc11c71734125e06' (2024-08-28)
• Updated input 'nixpkgs-unstable':
    'github:nixos/nixpkgs/c374d94f1536013ca8e92341b540eba4c22f9c62' (2024-08-21)
  → 'github:nixos/nixpkgs/71e91c409d1e654808b2621f28a327acfdad8dc2' (2024-08-28)
2024-08-30 10:55:44 +02:00
004d355a17
Autorestic: Add nas (smb share) backup 2024-08-28 15:05:15 +02:00
b97972d692
Arion: Bump media
sonarr: 4.0.8 -> 4.0.9
autobrr: v1.44.0 -> v1.45.0
2024-08-28 15:04:53 +02:00
f4377d2665
Arion: Bump auth
authentik: 2024.6.3 -> 2024.6.4
2024-08-28 15:03:59 +02:00
a05e5a0b78
Arion: Bump media
jellyfin: 10.9.9 -> 10.9.10
2024-08-25 12:06:52 +02:00
33d479e414
Arion: Bump dashboard
Homarr: 0.15.2 -> 0.15.3
2024-08-25 10:17:14 +02:00
14fa321c4f
Arion: Bump matrix
synapse: v1.104.0 -> v1.113.0
2024-08-24 10:41:40 +02:00
d5aaa84302
Franz: Disable hydra 2024-08-24 10:14:31 +02:00
9be1af00f8
Franz: Disable network monitor online check 2024-08-24 10:14:23 +02:00
7f2c004895
Arion: Bump media
radarr: 5.8.3 -> 5.9.1
2024-08-24 10:07:57 +02:00
f2cb23acf3
Adalbert: Enable NixLD 2024-08-23 13:05:29 +02:00
b26ab08b03
flake.lock: Update
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/ffc1f95f6c28e1c6d1e587b51a2147027a3e45ed' (2024-08-08)
  → 'github:nix-community/disko/435737144be0259559ca3b43f7d72252b1fdcc1b' (2024-08-22)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/ce877fc7a74fb1abfedcdb4f78e67d930a0841c8?dir=pkgs/firefox-addons' (2024-08-09)
  → 'gitlab:rycee/nur-expressions/8cb9ce8123529ac0b621dc1cc1464aebbfadcbf0?dir=pkgs/firefox-addons' (2024-08-23)
• Updated input 'hardware':
    'github:nixos/nixos-hardware/107bb46eef1f05e86fc485ee8af9b637e5157988' (2024-08-08)
  → 'github:nixos/nixos-hardware/b09c46430ffcf18d575acf5c339b38ac4e1db5d2' (2024-08-19)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/21cc704b5e918c5fbf4f9fff22b4ac2681706d90' (2024-08-06)
  → 'github:nixos/nixpkgs/797f7dc49e0bc7fab4b57c021cdf68f595e47841' (2024-08-22)
• Updated input 'nixpkgs-unstable':
    'github:nixos/nixpkgs/cb9a96f23c491c081b38eab96d22fa958043c9fa' (2024-08-04)
  → 'github:nixos/nixpkgs/c374d94f1536013ca8e92341b540eba4c22f9c62' (2024-08-21)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/8ae477955dfd9cbf5fa4eb82a8db8ddbb94e79d9' (2024-08-05)
  → 'github:Mic92/sops-nix/be0eec2d27563590194a9206f551a6f73d52fa34' (2024-08-12)
2024-08-23 11:50:55 +02:00
b05f277ea4
Arion: Bump infrastructure
traefik: v3.0 -> v3.1.2
2024-08-23 09:59:22 +02:00
9b46f6e9e9
Merge branch 'main' of ssh://git.ghoscht.com:2222/ghoscht/nix-config 2024-08-23 09:39:15 +02:00
84614d89e0
Switch nh from flake to nixpkgs 2024-08-21 11:10:25 +02:00
ad901449e1
Revert "Make navidrome home-network-only again"
This reverts commit b21b9b774d.
2024-08-19 20:56:20 +02:00
756536a2ee
Arion: Add authentik integration with non-oidc services 2024-08-19 20:55:51 +02:00
3581dfc24a
Restic: Add additional backup targets 2024-08-18 14:47:05 +02:00
e4ac3e8977
Try to fix loki docker timeout
doesn't really work, but better than nothing
2024-08-18 14:46:45 +02:00
cc1bff80f7
Revert increased nextcloud backup frequency
takes too much time for nextcloud to still be usable
2024-08-16 12:29:41 +02:00
e668b690c2
Autorestic: Increase Nextcloud backup schedule frequency 2024-08-16 10:50:39 +02:00
ff1b2bed1e
Arion: Bump passwords
vaultwarden: 1.31.0 -> 1.32.0
2024-08-12 21:25:10 +02:00
77b95427af
Arion: Remove outline depends_on 2024-08-10 21:29:06 +02:00
eb96ea8168
Diun: Remove lidarr tracking
unwanted tags slipped through
2024-08-09 19:09:57 +02:00
2f64d316fe
Arion: Bump media
jellyfin: 10.9.9
prowlarr: 1.21.2
sonarr: 4.0.8
radarr: 2.4.3
lidarr: 2.4.3
bazarr: 1.4.3
autobrr: v1.44.0
2024-08-09 19:09:25 +02:00
b21b9b774d
Make navidrome home-network-only again 2024-08-09 19:08:00 +02:00
e1b0524991
Arion: Bump git
forgejo: 8.0.0
2024-08-09 18:25:20 +02:00
82e0880f9a
Diun: Enable authentik 2024-08-09 18:06:21 +02:00
c89623fdf0
Arion: Bump authentik to 2024.6.3 2024-08-09 18:02:56 +02:00
2a45f5837e
Mount zfs keyfile store 2024-08-09 17:58:45 +02:00
4dd1cefb30
Merge branch 'main' of ssh://git.ghoscht.com:2222/ghoscht/nix-config 2024-08-09 16:11:57 +02:00
dd03bd6090
Git: Enable merge by default 2024-08-09 16:11:54 +02:00
71393d8ec5
Add diun to media containers 2024-08-09 16:05:52 +02:00
8e4fc00255
Change windscribe location
port forwarding stopped working after a certain amount of time
2024-08-09 16:04:40 +02:00
c1e8037290
Add OIDC to grafana 2024-08-09 16:03:31 +02:00
bfd1b01d65
Arion: Install crowdsec 2024-08-09 16:00:58 +02:00
925a7948a5
Fix sops env file name conflict 2024-08-09 16:00:07 +02:00
4545dd5efe
Arion: Add outline wiki 2024-08-09 15:59:15 +02:00
b5b149474b
Arion: Publically expose navidrome 2024-08-09 15:17:23 +02:00
e91191eacd
Autorestic: Enable eustachius location 2024-08-09 15:16:10 +02:00
b9e66cbecb
Arion: Change vaultwarden domain 2024-08-09 15:15:07 +02:00
c0769b53c8
flake.lock: Update
Flake lock file updates:

• Updated input 'arion':
    'github:hercules-ci/arion/236f9dd82d6ef6a2d9987c7a7df3e75f1bc8b318' (2024-07-05)
  → 'github:hercules-ci/arion/90bc85532767c785245f5c1e29ebfecb941cf8c9' (2024-08-05)
• Updated input 'arion/flake-parts':
    'github:hercules-ci/flake-parts/9227223f6d922fee3c7b190b2cc238a99527bbb7' (2024-07-03)
  → 'github:hercules-ci/flake-parts/8471fe90ad337a8074e957b69ca4d0089218391d' (2024-08-01)
• Updated input 'arion/nixpkgs':
    'github:NixOS/nixpkgs/9f4128e00b0ae8ec65918efeba59db998750ead6' (2024-07-03)
  → 'github:NixOS/nixpkgs/d04953086551086b44b6f3c6b7eeb26294f207da' (2024-08-02)
• Updated input 'arkenfox':
    'github:dwarfmaster/arkenfox-nixos/35e803fa44abfd438c65b64ff2691f3f608cd2d3' (2024-06-17)
  → 'github:dwarfmaster/arkenfox-nixos/92c9a287b7b98198c3ba5cdfc90218402e49c4b3' (2024-07-23)
• Updated input 'disko':
    'github:nix-community/disko/e8e8d9a3a9c1d0e654ccda7834bf0288a9d15c47' (2024-07-18)
  → 'github:nix-community/disko/ffc1f95f6c28e1c6d1e587b51a2147027a3e45ed' (2024-08-08)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/8e5443b5b765c83bd0adf5c85b1af0371d052395?dir=pkgs/firefox-addons' (2024-07-19)
  → 'gitlab:rycee/nur-expressions/ce877fc7a74fb1abfedcdb4f78e67d930a0841c8?dir=pkgs/firefox-addons' (2024-08-09)
• Updated input 'flatpaks':
    'github:GermanBread/declarative-flatpak/efe7897ddcfbca085fba0690b3094e7f8e8911dd' (2024-02-07)
  → 'github:GermanBread/declarative-flatpak/cbabea429cd7d659041e5338e869a8e70f59fa74' (2024-07-28)
• Updated input 'flatpaks/nixpkgs':
    'github:NixOS/nixpkgs/a77ab169a83a4175169d78684ddd2e54486ac651' (2024-01-24)
  → 'github:NixOS/nixpkgs/205fd4226592cc83fd4c0885a3e4c9c400efabb5' (2024-07-09)
• Updated input 'flatpaks/utils':
    'github:numtide/flake-utils/1ef2e671c3b0c19053962c07dbda38332dcebf26' (2024-01-15)
  → 'github:numtide/flake-utils/b1d9ab70662946ef0850d488da1c9019f3a9752a' (2024-03-11)
• Updated input 'hardware':
    'github:nixos/nixos-hardware/bb90787ea034c8b9035dfcfc9b4dc23898d414be' (2024-07-18)
  → 'github:nixos/nixos-hardware/107bb46eef1f05e86fc485ee8af9b637e5157988' (2024-08-08)
• Updated input 'nh':
    'github:viperml/nh/168c7ceea2b8d6208cf32de9eb8effa9c008b40d' (2024-07-16)
  → 'github:viperml/nh/ea9053852f8575f650ca0080b2cac6735c7447f7' (2024-08-07)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/c716603a63aca44f39bef1986c13402167450e0a' (2024-07-17)
  → 'github:nixos/nixpkgs/21cc704b5e918c5fbf4f9fff22b4ac2681706d90' (2024-08-06)
• Updated input 'nixpkgs-unstable':
    'github:nixos/nixpkgs/ad0b5eed1b6031efaed382844806550c3dcb4206' (2024-07-16)
  → 'github:nixos/nixpkgs/cb9a96f23c491c081b38eab96d22fa958043c9fa' (2024-08-04)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/0703ba03fd9c1665f8ab68cc3487302475164617' (2024-07-14)
  → 'github:Mic92/sops-nix/8ae477955dfd9cbf5fa4eb82a8db8ddbb94e79d9' (2024-08-05)
• Updated input 'sops-nix/nixpkgs':
    'github:NixOS/nixpkgs/8b5a3d5a1d951344d683b442c0739010b80039db' (2024-07-12)
  → 'github:NixOS/nixpkgs/6e14bbce7bea6c4efd7adfa88a40dac750d80100' (2024-07-20)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/74348da2f3a312ee25cea09b98cdba4cb9fa5d5d' (2024-07-14)
  → 'github:NixOS/nixpkgs/556533a23879fc7e5f98dd2e0b31a6911a213171' (2024-07-21)
• Updated input 'xremap':
    'github:xremap/nix-flake/7a9a071a84c9b5bdd48d4b3eacf6efa448665aed' (2024-05-20)
  → 'github:xremap/nix-flake/3717cb0539f4967010ba540baa439a4cf6ea8576' (2024-07-24)
• Updated input 'xremap/crane':
    'github:ipetkov/crane/7443df1c478947bf96a2e699209f53b2db26209d' (2024-05-19)
  → 'github:ipetkov/crane/8a68b987c476a33e90f203f0927614a75c3f47ea' (2024-07-18)
• Updated input 'xremap/devshell':
    'github:numtide/devshell/12e914740a25ea1891ec619bb53cf5e6ca922e40' (2024-04-19)
  → 'github:numtide/devshell/1ebbe68d57457c8cae98145410b164b5477761f4' (2024-06-03)
• Updated input 'xremap/flake-parts':
    'github:hercules-ci/flake-parts/8dc45382d5206bd292f9c2768b8058a8fd8311d9' (2024-05-16)
  → 'github:hercules-ci/flake-parts/9227223f6d922fee3c7b190b2cc238a99527bbb7' (2024-07-03)
• Updated input 'xremap/flake-parts/nixpkgs-lib':
    '50eb7ecf4c.tar.gz?narHash=sha256-QBx10%2Bk6JWz6u7VsohfSw8g8hjdBZEf8CFzXH1/1Z94%3D' (2024-05-02)
  → '5daf051448.tar.gz?narHash=sha256-Fm2rDDs86sHy0/1jxTOKB1118Q0O3Uc7EC0iXvXKpbI%3D' (2024-07-01)
• Updated input 'xremap/home-manager':
    'github:nix-community/home-manager/e3ad5108f54177e6520535768ddbf1e6af54b59d' (2024-05-17)
  → 'github:nix-community/home-manager/afd2021bedff2de92dfce0e257a3d03ae65c603d' (2024-07-16)
• Updated input 'xremap/home-manager/nixpkgs':
    'github:NixOS/nixpkgs/f1010e0469db743d14519a1efd37e23f8513d714' (2024-05-09)
  → 'github:NixOS/nixpkgs/00d80d13810dbfea8ab4ed1009b09100cca86ba8' (2024-07-01)
• Updated input 'xremap/hyprland':
    'github:hyprwm/Hyprland/f8857e6072bd85b95393499688872aaf7f088b5b' (2024-05-18)
  → 'github:hyprwm/Hyprland/f642fb97df5c69267a03452533de383ff8023570' (2024-07-20)
• Updated input 'xremap/hyprland/hyprcursor':
    'github:hyprwm/hyprcursor/7c3aa03dffb53921e583ade3d4ae3f487e390e7e' (2024-05-15)
  → 'github:hyprwm/hyprcursor/a5c0d57325c5f0814c39110a70ca19c070ae9486' (2024-07-04)
• Updated input 'xremap/hyprland/hyprlang':
    'github:hyprwm/hyprlang/969cb076e5b76f2e823aeca1937a3e1f159812ee' (2024-05-15)
  → 'github:hyprwm/hyprlang/5df0174fd09de4ac5475233d65ffc703e89b82eb' (2024-07-07)
• Added input 'xremap/hyprland/hyprlang/hyprutils':
    follows 'xremap/hyprland/hyprutils'
• Added input 'xremap/hyprland/hyprutils':
    'github:hyprwm/hyprutils/eb1ceff2b87f6820789249f63faa8e9dcb54d05f' (2024-07-15)
• Added input 'xremap/hyprland/hyprutils/nixpkgs':
    follows 'xremap/hyprland/nixpkgs'
• Added input 'xremap/hyprland/hyprutils/systems':
    follows 'xremap/hyprland/systems'
• Updated input 'xremap/hyprland/hyprwayland-scanner':
    'github:hyprwm/hyprwayland-scanner/f5181a068c1b06f2db51f6222e50a0c665a2b0c3' (2024-05-16)
  → 'github:hyprwm/hyprwayland-scanner/d5fa094ca27e0039be5e94c0a80ae433145af8bb' (2024-07-05)
• Updated input 'xremap/hyprland/nixpkgs':
    'github:NixOS/nixpkgs/33d1e753c82ffc557b4a585c77de43d4c922ebb5' (2024-05-15)
  → 'github:NixOS/nixpkgs/693bc46d169f5af9c992095736e82c3488bf7dbb' (2024-07-14)
• Updated input 'xremap/hyprland/xdph':
    'github:hyprwm/xdg-desktop-portal-hyprland/af7c87a32f5d67eb2ada908a6a700f4e74831943' (2024-05-15)
  → 'github:hyprwm/xdg-desktop-portal-hyprland/b9b97e5ba23fe7bd5fa4df54696102e8aa863cf6' (2024-07-05)
• Updated input 'xremap/hyprland/xdph/hyprland-protocols':
    'github:hyprwm/hyprland-protocols/0c2ce70625cb30aef199cb388f99e19a61a6ce03' (2023-08-11)
  → 'github:hyprwm/hyprland-protocols/1b61f0093afff20ab44d88ad707aed8bf2215290' (2024-06-18)
• Updated input 'xremap/nixpkgs':
    'github:NixOS/nixpkgs/5a5ac83292c7842072318f57d68a48474f8bd34d' (2024-05-20)
  → 'github:NixOS/nixpkgs/2d65995365a2a6b05db69e344d3b673c8d541bcd' (2024-07-20)
• Updated input 'xremap/treefmt-nix':
    'github:numtide/treefmt-nix/2fba33a182602b9d49f0b2440513e5ee091d838b' (2024-05-17)
  → 'github:numtide/treefmt-nix/888bfb10a9b091d9ed2f5f8064de8d488f7b7c97' (2024-07-20)
• Updated input 'xremap/treefmt-nix/nixpkgs':
    'github:nixos/nixpkgs/0e74ca98a74bc7270d28838369593635a5db3260' (2024-02-21)
  → 'github:nixos/nixpkgs/2741b4b489b55df32afac57bc4bfd220e8bf617e' (2024-06-29)
• Updated input 'xremap/xremap':
    'github:k0kubun/xremap/98bb9ee1b1e35bfed6370dbbdf5703a8799fec11' (2024-05-20)
  → 'github:k0kubun/xremap/d1b17c4b9958feb5804f317b654ab3936f852c61' (2024-05-20)
2024-08-09 14:58:56 +02:00
b7dcc5e579
Enable zfs autoscrub 2024-07-28 00:35:01 +02:00
35003d7f2c
flake.lock: Update
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/786965e1b1ed3fd2018d78399984f461e2a44689' (2024-07-11)
  → 'github:nix-community/disko/e8e8d9a3a9c1d0e654ccda7834bf0288a9d15c47' (2024-07-18)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/6b0aa08643c6b403e387da201eaf4bc0e04db93a?dir=pkgs/firefox-addons' (2024-07-12)
  → 'gitlab:rycee/nur-expressions/8e5443b5b765c83bd0adf5c85b1af0371d052395?dir=pkgs/firefox-addons' (2024-07-19)
• Updated input 'hardware':
    'github:nixos/nixos-hardware/c5013aa7ce2c7ec90acee5d965d950c8348db751' (2024-07-11)
  → 'github:nixos/nixos-hardware/bb90787ea034c8b9035dfcfc9b4dc23898d414be' (2024-07-18)
• Updated input 'nh':
    'github:viperml/nh/7f8a1859ed6ea971fcf49b07ca8938e3000c3af4' (2024-07-06)
  → 'github:viperml/nh/168c7ceea2b8d6208cf32de9eb8effa9c008b40d' (2024-07-16)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/a046c1202e11b62cbede5385ba64908feb7bfac4' (2024-07-11)
  → 'github:nixos/nixpkgs/c716603a63aca44f39bef1986c13402167450e0a' (2024-07-17)
• Updated input 'nixpkgs-unstable':
    'github:nixos/nixpkgs/feb2849fdeb70028c70d73b848214b00d324a497' (2024-07-09)
  → 'github:nixos/nixpkgs/ad0b5eed1b6031efaed382844806550c3dcb4206' (2024-07-16)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/67035a355b1d52d2d238501f8cc1a18706979760' (2024-07-08)
  → 'github:Mic92/sops-nix/0703ba03fd9c1665f8ab68cc3487302475164617' (2024-07-14)
• Updated input 'sops-nix/nixpkgs':
    'github:NixOS/nixpkgs/4284c2b73c8bce4b46a6adf23e16d9e2ec8da4bb' (2024-07-05)
  → 'github:NixOS/nixpkgs/8b5a3d5a1d951344d683b442c0739010b80039db' (2024-07-12)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/550ac3e955c30fe96dd8b2223e37e0f5d225c927' (2024-07-06)
  → 'github:NixOS/nixpkgs/74348da2f3a312ee25cea09b98cdba4cb9fa5d5d' (2024-07-14)
2024-07-19 11:00:08 +02:00
f5e054813f
flake.lock: Update
Flake lock file updates:

• Updated input 'arion':
    'github:hercules-ci/arion/555e7ba634cf2564737dfc18ad607134e39f52a6' (2024-06-26)
  → 'github:hercules-ci/arion/236f9dd82d6ef6a2d9987c7a7df3e75f1bc8b318' (2024-07-05)
• Updated input 'arion/flake-parts':
    'github:hercules-ci/flake-parts/2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8' (2024-06-01)
  → 'github:hercules-ci/flake-parts/9227223f6d922fee3c7b190b2cc238a99527bbb7' (2024-07-03)
• Updated input 'arion/hercules-ci-effects':
    'github:hercules-ci/hercules-ci-effects/c0302ec12d569532a6b6bd218f698bc402e93adc' (2024-04-23)
  → 'github:hercules-ci/hercules-ci-effects/11e4b8dc112e2f485d7c97e1cee77f9958f498f5' (2024-06-24)
• Updated input 'arion/nixpkgs':
    'github:NixOS/nixpkgs/57610d2f8f0937f39dbd72251e9614b1561942d8' (2024-05-31)
  → 'github:NixOS/nixpkgs/9f4128e00b0ae8ec65918efeba59db998750ead6' (2024-07-03)
• Updated input 'disko':
    'github:nix-community/disko/423b86a7f756421325e71663ada79a199bf13408' (2024-06-29)
  → 'github:nix-community/disko/786965e1b1ed3fd2018d78399984f461e2a44689' (2024-07-11)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/590551ba0bb0f960c7fcd37d6ff3a429f7cc9dd1?dir=pkgs/firefox-addons' (2024-06-29)
  → 'gitlab:rycee/nur-expressions/6b0aa08643c6b403e387da201eaf4bc0e04db93a?dir=pkgs/firefox-addons' (2024-07-12)
• Updated input 'hardware':
    'github:nixos/nixos-hardware/231274268ff2250d4730e274b808f66ef91b6381' (2024-06-29)
  → 'github:nixos/nixos-hardware/c5013aa7ce2c7ec90acee5d965d950c8348db751' (2024-07-11)
• Updated input 'home-manager':
    'github:nix-community/home-manager/a1fddf0967c33754271761d91a3d921772b30d0e' (2024-06-16)
  → 'github:nix-community/home-manager/e1391fb22e18a36f57e6999c7a9f966dc80ac073' (2024-07-03)
• Updated input 'nh':
    'github:viperml/nh/6fb30a4d490a98d08628ed93a90a9d23820ef9c8' (2024-06-14)
  → 'github:viperml/nh/7f8a1859ed6ea971fcf49b07ca8938e3000c3af4' (2024-07-06)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/89c49874fb15f4124bf71ca5f42a04f2ee5825fd' (2024-06-26)
  → 'github:nixos/nixpkgs/a046c1202e11b62cbede5385ba64908feb7bfac4' (2024-07-11)
• Updated input 'nixpkgs-unstable':
    'github:nixos/nixpkgs/2893f56de08021cffd9b6b6dfc70fd9ccd51eb60' (2024-06-24)
  → 'github:nixos/nixpkgs/feb2849fdeb70028c70d73b848214b00d324a497' (2024-07-09)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/c2ea1186c0cbfa4d06d406ae50f3e4b085ddc9b3' (2024-06-24)
  → 'github:Mic92/sops-nix/67035a355b1d52d2d238501f8cc1a18706979760' (2024-07-08)
• Updated input 'sops-nix/nixpkgs':
    'github:NixOS/nixpkgs/90338afd6177fc683a04d934199d693708c85a3b' (2024-06-21)
  → 'github:NixOS/nixpkgs/4284c2b73c8bce4b46a6adf23e16d9e2ec8da4bb' (2024-07-05)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/5e8e3b89adbd0be63192f6e645e0a54080004924' (2024-06-22)
  → 'github:NixOS/nixpkgs/550ac3e955c30fe96dd8b2223e37e0f5d225c927' (2024-07-06)
2024-07-12 15:36:17 +02:00
9e32507665
Add comics volume to kavita 2024-07-09 08:19:59 +02:00
9367167e92
Arion: Bump Kavita to 0.8.1 2024-07-09 08:19:40 +02:00
5ed372d1f4
Arion: Bump vaultwarden to 1.31.0 2024-07-09 08:19:02 +02:00
28be439381
Arion: Add windscribe port refresh
https://github.com/dumbasPL/deluge-windscribe-ephemeral-port v3

add windscribe port refresh
2024-07-05 15:52:43 +02:00
c6295daafe
Arion: Bump autobrr to 1.43.0 2024-07-05 15:50:54 +02:00
576cf1f077
Arion: Bump radarr to 5.7.0 2024-07-05 15:50:37 +02:00
29fca3dd76
Arion: Bump sonarr to 4.0.6 2024-07-05 15:50:22 +02:00
d83bf9d4ab
Arion: Bump prowlarr to 1.19.0 2024-07-05 15:50:09 +02:00
f4725f1030
Re-enable eustachius restic backup & fix notifications 2024-07-05 15:42:02 +02:00
e5d4bffe8d
Arion: Expose vaultwarden publically 2024-07-05 15:41:20 +02:00
4fd9643425
Arion: Add diun monitoring to forgejo 2024-07-05 15:40:39 +02:00
8a97ba6c49
Arion: Bump Forgejo to 7.0.5 2024-07-05 15:36:59 +02:00
3572685386
Arion: Bump Authentik to 2024.6 2024-07-05 15:36:27 +02:00
5a9cf4c15c
Arion: Add wildcard certs to traefik 2024-06-29 20:27:08 +02:00
a00655b02f
flake.lock: Update
Flake lock file updates:

• Updated input 'arion':
    'github:hercules-ci/arion/e9945eb6cdaf5c946bacd5a330e7b5ac7b3b2fdd' (2024-05-05)
  → 'github:hercules-ci/arion/555e7ba634cf2564737dfc18ad607134e39f52a6' (2024-06-26)
• Updated input 'arion/flake-parts':
    'github:hercules-ci/flake-parts/e5d10a24b66c3ea8f150e47dfdb0416ab7c3390e' (2024-05-02)
  → 'github:hercules-ci/flake-parts/2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8' (2024-06-01)
• Updated input 'arion/nixpkgs':
    'github:NixOS/nixpkgs/63c3a29ca82437c87573e4c6919b09a24ea61b0f' (2024-05-02)
  → 'github:NixOS/nixpkgs/57610d2f8f0937f39dbd72251e9614b1561942d8' (2024-05-31)
• Updated input 'arkenfox':
    'github:dwarfmaster/arkenfox-nixos/05e7e0996493f47bbc15228895c4e31ce24616f0' (2024-02-18)
  → 'github:dwarfmaster/arkenfox-nixos/35e803fa44abfd438c65b64ff2691f3f608cd2d3' (2024-06-17)
• Updated input 'arkenfox/flake-utils':
    'github:numtide/flake-utils/1ef2e671c3b0c19053962c07dbda38332dcebf26' (2024-01-15)
  → 'github:numtide/flake-utils/b1d9ab70662946ef0850d488da1c9019f3a9752a' (2024-03-11)
• Updated input 'arkenfox/pre-commit':
    'github:cachix/pre-commit-hooks.nix/5df5a70ad7575f6601d91f0efec95dd9bc619431' (2024-02-15)
  → 'github:cachix/pre-commit-hooks.nix/cc4d466cb1254af050ff7bdf47f6d404a7c646d1' (2024-06-06)
• Removed input 'arkenfox/pre-commit/flake-utils'
• Removed input 'arkenfox/pre-commit/flake-utils/systems'
• Updated input 'arkenfox/pre-commit/gitignore':
    'github:hercules-ci/gitignore.nix/43e1aa1308018f37118e34d3a9cb4f5e75dc11d5' (2023-12-29)
  → 'github:hercules-ci/gitignore.nix/637db329424fd7e46cf4185293b9cc8c88c95394' (2024-02-28)
• Updated input 'arkenfox/pre-commit/nixpkgs':
    'github:NixOS/nixpkgs/eabe8d3eface69f5bb16c18f8662a702f50c20d5' (2024-01-09)
  → 'github:NixOS/nixpkgs/e367f7a1fb93137af22a3908f00b9a35e2d286a7' (2024-03-18)
• Updated input 'arkenfox/pre-commit/nixpkgs-stable':
    'github:NixOS/nixpkgs/3dc440faeee9e889fe2d1b4d25ad0f430d449356' (2024-01-10)
  → 'github:NixOS/nixpkgs/614b4613980a522ba49f0d194531beddbb7220d3' (2024-03-17)
• Updated input 'disko':
    'github:nix-community/disko/0274af4c92531ebfba4a5bd493251a143bc51f3c' (2024-05-31)
  → 'github:nix-community/disko/423b86a7f756421325e71663ada79a199bf13408' (2024-06-29)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/29a3b4c8d5f21dcb359a91d88fd94ae4aa3e6a47?dir=pkgs/firefox-addons' (2024-06-02)
  → 'gitlab:rycee/nur-expressions/590551ba0bb0f960c7fcd37d6ff3a429f7cc9dd1?dir=pkgs/firefox-addons' (2024-06-29)
• Updated input 'hardware':
    'github:nixos/nixos-hardware/7b49d3967613d9aacac5b340ef158d493906ba79' (2024-06-01)
  → 'github:nixos/nixos-hardware/231274268ff2250d4730e274b808f66ef91b6381' (2024-06-29)
• Updated input 'home-manager':
    'github:nix-community/home-manager/a631666f5ec18271e86a5cde998cba68c33d9ac6' (2024-05-26)
  → 'github:nix-community/home-manager/a1fddf0967c33754271761d91a3d921772b30d0e' (2024-06-16)
• Updated input 'nh':
    'github:viperml/nh/0d76479fcdec0243ea560d1e2fde854337787e3a' (2024-06-01)
  → 'github:viperml/nh/6fb30a4d490a98d08628ed93a90a9d23820ef9c8' (2024-06-14)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/805a384895c696f802a9bf5bf4720f37385df547' (2024-05-31)
  → 'github:nixos/nixpkgs/89c49874fb15f4124bf71ca5f42a04f2ee5825fd' (2024-06-26)
• Updated input 'nixpkgs-unstable':
    'github:nixos/nixpkgs/ad57eef4ef0659193044870c731987a6df5cf56b' (2024-05-29)
  → 'github:nixos/nixpkgs/2893f56de08021cffd9b6b6dfc70fd9ccd51eb60' (2024-06-24)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/ab2a43b0d21d1d37d4d5726a892f714eaeb4b075' (2024-06-02)
  → 'github:Mic92/sops-nix/c2ea1186c0cbfa4d06d406ae50f3e4b085ddc9b3' (2024-06-24)
• Updated input 'sops-nix/nixpkgs':
    'github:NixOS/nixpkgs/6132b0f6e344ce2fe34fc051b72fb46e34f668e0' (2024-05-30)
  → 'github:NixOS/nixpkgs/90338afd6177fc683a04d934199d693708c85a3b' (2024-06-21)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/3b1b4895b2c5f9f5544d02132896aeb9ceea77bc' (2024-06-01)
  → 'github:NixOS/nixpkgs/5e8e3b89adbd0be63192f6e645e0a54080004924' (2024-06-22)
2024-06-29 10:13:06 +02:00
6fa61fff7f
Add coolercontrol 2024-06-29 10:11:01 +02:00
7177ce3a10
Fix breakages after upgrading to NixOS 24.05
some things still have to be fixed, but normal operation can go on for
now
2024-06-29 10:10:36 +02:00
099959a30a
Arion: Make Scrutiny data actually persistent 2024-06-25 22:11:34 +02:00
255847b6e1
Arion: Modify Diun tracking to notify for newly created images
Normal Diun behavior is to track the current tag, e.g. 'latest' and check if that has been changed
2024-06-25 22:11:12 +02:00
76a885e0d3
Arion: Add Jellyfin to Diun tracking 2024-06-25 22:09:19 +02:00
470f738403
Arion: Bump Sonarr to 4.0.5
Sonarr: 4.0.4 -> 4.0.5
2024-06-25 22:08:02 +02:00
49217e1bcc
Arion: Bump Jellyfin to 10.9.7
Jellyfin: 10.9.6 -> 10.9.7
2024-06-25 22:07:00 +02:00
a932b4598d
Arion: Add Grafana+Loki log aggregation 2024-06-25 22:06:01 +02:00
13b0e7593e
Arion: Fix nvme drive not being recognized by smartctl --scan
When attaching NVMe devices using `--device=/dev/nvme..`, make sure to provide the device controller (`/dev/nvme0`)
instead of the block device (`/dev/nvme0n1`)
2024-06-15 10:08:52 +02:00
d1b633b086
Add autorestic ntfy notifications 2024-06-14 20:17:21 +02:00
77a765e332
Add ntfy user auth 2024-06-14 13:05:19 +02:00
6043b73a04
Arion: Add diun docker update notifications 2024-06-14 11:57:42 +02:00
c213949f6f
Autorestic: Disable eustachius backup
eustachius currently isn't running
2024-06-13 23:31:39 +02:00
1debdb71d8
Franz: Enable tmux 2024-06-13 23:30:48 +02:00
26591d2175
Franz: Disable FTP
only SFTP is still supported, plain ftp is too unsafe
2024-06-13 23:30:20 +02:00
2bf237f1da
Add initial native smb share
doesn't really work yet from windows side, but linux works
2024-06-13 23:29:40 +02:00
b0e2738905
Arion: Add s3-compatible minio file hosting 2024-06-13 23:27:38 +02:00
20c587bb5e
Arion: Remove docker samba
prepares conversion to natively installed samba
2024-06-13 23:19:26 +02:00
3c7751feda
Arion: Bump Lidarr to 2.3.3
Lidarr: 2.2.5 -> 2.3.3
2024-06-13 23:18:12 +02:00
93fde832ea
Arion: Bump Jellyfin to 10.9.6
Jellyfin: 10.9.1 -> 10.9.6
2024-06-13 23:17:35 +02:00
e6b3ee395c
Arion: Bump Forgejo to 7.0.4
forgejo: 7.0.3 -> 7.0.4
2024-06-13 23:16:19 +02:00
a4ed0a03d1
flake.lock: Update
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/8ea5bcccc03111bdedaeaae9380dfab61e9deb33' (2024-05-30)
  → 'github:nix-community/disko/0274af4c92531ebfba4a5bd493251a143bc51f3c' (2024-05-31)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/984d03b48bff391f054e1676a97181d79ae309db?dir=pkgs/firefox-addons' (2024-05-30)
  → 'gitlab:rycee/nur-expressions/29a3b4c8d5f21dcb359a91d88fd94ae4aa3e6a47?dir=pkgs/firefox-addons' (2024-06-02)
• Updated input 'hardware':
    'github:nixos/nixos-hardware/8251761f93d6f5b91cee45ac09edb6e382641009' (2024-05-29)
  → 'github:nixos/nixos-hardware/7b49d3967613d9aacac5b340ef158d493906ba79' (2024-06-01)
• Updated input 'home-manager':
    'github:nix-community/home-manager/2c78a57c544dd19b07442350727ced097e1aa6e6' (2024-05-26)
  → 'github:nix-community/home-manager/a631666f5ec18271e86a5cde998cba68c33d9ac6' (2024-05-26)
• Updated input 'nh':
    'github:viperml/nh/127a23c82aa41091e97466092d2547c08c2a9a9d' (2024-05-05)
  → 'github:viperml/nh/0d76479fcdec0243ea560d1e2fde854337787e3a' (2024-06-01)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/9d29cd266cebf80234c98dd0b87256b6be0af44e' (2024-05-25)
  → 'github:nixos/nixpkgs/805a384895c696f802a9bf5bf4720f37385df547' (2024-05-31)
• Updated input 'nixpkgs-unstable':
    'github:nixos/nixpkgs/9ca3f649614213b2aaf5f1e16ec06952fe4c2632' (2024-05-27)
  → 'github:nixos/nixpkgs/ad57eef4ef0659193044870c731987a6df5cf56b' (2024-05-29)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/962797a8d7f15ed7033031731d0bb77244839960' (2024-05-26)
  → 'github:Mic92/sops-nix/ab2a43b0d21d1d37d4d5726a892f714eaeb4b075' (2024-06-02)
• Updated input 'sops-nix/nixpkgs':
    'github:NixOS/nixpkgs/c5187508b11177ef4278edf19616f44f21cc8c69' (2024-05-25)
  → 'github:NixOS/nixpkgs/6132b0f6e344ce2fe34fc051b72fb46e34f668e0' (2024-05-30)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/59a450646ec8ee0397f5fa54a08573e8240eb91f' (2024-05-25)
  → 'github:NixOS/nixpkgs/3b1b4895b2c5f9f5544d02132896aeb9ceea77bc' (2024-06-01)
2024-06-02 11:13:33 +02:00
4068f391f2
Remove podman from global default 2024-06-02 11:11:40 +02:00
4d3850020b
Disable ipv4-only git 2024-06-02 11:11:21 +02:00
89e314d3bb
eustachius: user experiments 2024-06-02 11:11:03 +02:00
910cb992f8
Add riscv64 emulation 2024-06-02 11:10:44 +02:00
92a980dab2
Add Franz SSH key 2024-05-31 12:57:58 +02:00
51a6f74c5f
Clean up eustachius config 2024-05-31 11:53:33 +02:00
7a0bbc1548
Add basic raspi build docs 2024-05-31 00:19:21 +02:00
4f73668bf4
Revert eustachius to working default
previos custom one had a glitchy tty which never could be interacted with
2024-05-31 00:13:34 +02:00
f992567e47
Add basic eustachius config 2024-05-30 23:47:03 +02:00
5f4de04583
flake.lock: Update
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/7ffc4354dfeb37c8c725ae1465f04a9b45ec8606' (2024-05-23)
  → 'github:nix-community/disko/8ea5bcccc03111bdedaeaae9380dfab61e9deb33' (2024-05-30)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/6f385fa1886cb00dba5c22b15464f9b6b935b0d8?dir=pkgs/firefox-addons' (2024-05-23)
  → 'gitlab:rycee/nur-expressions/984d03b48bff391f054e1676a97181d79ae309db?dir=pkgs/firefox-addons' (2024-05-30)
• Updated input 'hardware':
    'github:nixos/nixos-hardware/d9e0b26202fd500cf3e79f73653cce7f7d541191' (2024-05-20)
  → 'github:nixos/nixos-hardware/8251761f93d6f5b91cee45ac09edb6e382641009' (2024-05-29)
• Updated input 'home-manager':
    'github:nix-community/home-manager/ab5542e9dbd13d0100f8baae2bc2d68af901f4b4' (2024-05-10)
  → 'github:nix-community/home-manager/2c78a57c544dd19b07442350727ced097e1aa6e6' (2024-05-26)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/46397778ef1f73414b03ed553a3368f0e7e33c2f' (2024-05-22)
  → 'github:nixos/nixpkgs/9d29cd266cebf80234c98dd0b87256b6be0af44e' (2024-05-25)
• Updated input 'nixpkgs-unstable':
    'github:nixos/nixpkgs/5710852ba686cc1fd0d3b8e22b3117d43ba374c2' (2024-05-21)
  → 'github:nixos/nixpkgs/9ca3f649614213b2aaf5f1e16ec06952fe4c2632' (2024-05-27)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/b549832718b8946e875c016a4785d204fcfc2e53' (2024-05-22)
  → 'github:Mic92/sops-nix/962797a8d7f15ed7033031731d0bb77244839960' (2024-05-26)
• Updated input 'sops-nix/nixpkgs':
    'github:NixOS/nixpkgs/02923630b89aa1ab36ef8e422501a6f4fd4b2016' (2024-05-18)
  → 'github:NixOS/nixpkgs/c5187508b11177ef4278edf19616f44f21cc8c69' (2024-05-25)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/e7cc61784ddf51c81487637b3031a6dd2d6673a2' (2024-05-18)
  → 'github:NixOS/nixpkgs/59a450646ec8ee0397f5fa54a08573e8240eb91f' (2024-05-25)
2024-05-30 11:13:48 +02:00
e217c6f579
Fix adalbert display manager option 2024-05-24 14:09:29 +02:00
0bc23cc772
Merge branch 'main' of ssh://git.ghoscht.com:2222/ghoscht/nix-config 2024-05-24 14:06:46 +02:00
a479aa7046
Gnome fixes
idk
2024-05-24 14:06:43 +02:00
05498907b4
Ludwig: Allow insecure nix version 2024-05-24 14:06:15 +02:00
b52422d58c
Ludwig wayland fixes
some apps didn't open
2024-05-24 14:05:06 +02:00
42bf9fba59
Set GDDM as Ludwig login manager 2024-05-24 14:04:03 +02:00
6a73e54b73
Merge branch 'main' of ssh://git.ghoscht.com:2222/ghoscht/nix-config 2024-05-24 13:59:14 +02:00
1450de1c2b
Add glow markdown viewer 2024-05-24 13:59:12 +02:00
f73fbed43a
Neovim: Add typescript LSP 2024-05-24 13:58:42 +02:00
a1a5d9a90c
Set systemd-boot build entry limit 2024-05-24 13:56:29 +02:00
241dc3e053
Add basic hydra ci
Add basic hydra ci
2024-05-23 23:58:53 +02:00
f01d6cccb9
DynDNS: Update cloudflare api key 2024-05-23 23:56:57 +02:00
ef886a63a4
Remove conflicting firewall enable option 2024-05-23 23:56:05 +02:00
22eb62df23
Arion: Bump Forgejo to 7.0.3
7.0.1 -> 7.0.3
2024-05-23 23:55:30 +02:00
8c6e4e9ca5
flake.lock: Update
Flake lock file updates:

• Updated input 'arion':
    'github:hercules-ci/arion/efa008e12f590eea1a3e7f2088877dc9bdcc54b7' (2024-04-28)
  → 'github:hercules-ci/arion/e9945eb6cdaf5c946bacd5a330e7b5ac7b3b2fdd' (2024-05-05)
• Updated input 'arion/flake-parts':
    'github:hercules-ci/flake-parts/9126214d0a59633752a136528f5f3b9aa8565b7d' (2024-04-01)
  → 'github:hercules-ci/flake-parts/e5d10a24b66c3ea8f150e47dfdb0416ab7c3390e' (2024-05-02)
• Updated input 'arion/hercules-ci-effects':
    'github:hercules-ci/hercules-ci-effects/64e7763d72c1e4c1e5e6472640615b6ae2d40fbf' (2024-03-15)
  → 'github:hercules-ci/hercules-ci-effects/c0302ec12d569532a6b6bd218f698bc402e93adc' (2024-04-23)
• Updated input 'arion/hercules-ci-effects/flake-parts':
    'github:hercules-ci/flake-parts/f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2' (2024-03-01)
  → 'github:hercules-ci/flake-parts/9126214d0a59633752a136528f5f3b9aa8565b7d' (2024-04-01)
• Updated input 'arion/nixpkgs':
    'github:NixOS/nixpkgs/5c24cf2f0a12ad855f444c30b2421d044120c66f' (2024-04-19)
  → 'github:NixOS/nixpkgs/63c3a29ca82437c87573e4c6919b09a24ea61b0f' (2024-05-02)
• Updated input 'disko':
    'github:nix-community/disko/5eaf747af38dd272e1ab28a8ec4bd972424b07cf' (2024-04-29)
  → 'github:nix-community/disko/7ffc4354dfeb37c8c725ae1465f04a9b45ec8606' (2024-05-23)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/7772d48f5a728af51cd8ac85be5b124e2da0feac?dir=pkgs/firefox-addons' (2024-05-01)
  → 'gitlab:rycee/nur-expressions/6f385fa1886cb00dba5c22b15464f9b6b935b0d8?dir=pkgs/firefox-addons' (2024-05-23)
• Updated input 'hardware':
    'github:nixos/nixos-hardware/68d680c1b7c0e67a9b2144d6776583ee83664ef4' (2024-04-30)
  → 'github:nixos/nixos-hardware/d9e0b26202fd500cf3e79f73653cce7f7d541191' (2024-05-20)
• Updated input 'home-manager':
    'github:nix-community/home-manager/86853e31dc1b62c6eeed11c667e8cdd0285d4411' (2024-04-25)
  → 'github:nix-community/home-manager/ab5542e9dbd13d0100f8baae2bc2d68af901f4b4' (2024-05-10)
• Updated input 'nh':
    'github:viperml/nh/e4eb011975bee4c3f47199cc01d2d986e24851bd' (2024-05-01)
  → 'github:viperml/nh/127a23c82aa41091e97466092d2547c08c2a9a9d' (2024-05-05)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/576ecd43d3b864966b4423a853412d6177775e8b' (2024-04-29)
  → 'github:nixos/nixpkgs/46397778ef1f73414b03ed553a3368f0e7e33c2f' (2024-05-22)
• Updated input 'nixpkgs-unstable':
    'github:nixos/nixpkgs/58a1abdbae3217ca6b702f03d3b35125d88a2994' (2024-04-27)
  → 'github:nixos/nixpkgs/5710852ba686cc1fd0d3b8e22b3117d43ba374c2' (2024-05-21)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/f1b0adc27265274e3b0c9b872a8f476a098679bd' (2024-04-23)
  → 'github:Mic92/sops-nix/b549832718b8946e875c016a4785d204fcfc2e53' (2024-05-22)
• Updated input 'sops-nix/nixpkgs':
    'github:NixOS/nixpkgs/fd16bb6d3bcca96039b11aa52038fafeb6e4f4be' (2024-04-20)
  → 'github:NixOS/nixpkgs/02923630b89aa1ab36ef8e422501a6f4fd4b2016' (2024-05-18)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/74574c38577914733b4f7a775dd77d24245081dd' (2024-04-20)
  → 'github:NixOS/nixpkgs/e7cc61784ddf51c81487637b3031a6dd2d6673a2' (2024-05-18)
• Updated input 'xremap':
    'github:xremap/nix-flake/38c9a3c4264750f77151369f34590db259454df3' (2024-04-02)
  → 'github:xremap/nix-flake/7a9a071a84c9b5bdd48d4b3eacf6efa448665aed' (2024-05-20)
• Updated input 'xremap/crane':
    'github:ipetkov/crane/7e468a455506f2e65550e08dfd45092f0857a009' (2024-03-25)
  → 'github:ipetkov/crane/7443df1c478947bf96a2e699209f53b2db26209d' (2024-05-19)
• Updated input 'xremap/devshell':
    'github:numtide/devshell/2d45b54ca4a183f2fdcf4b19c895b64fbf620ee8' (2024-03-22)
  → 'github:numtide/devshell/12e914740a25ea1891ec619bb53cf5e6ca922e40' (2024-04-19)
• Updated input 'xremap/flake-parts':
    'github:hercules-ci/flake-parts/f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2' (2024-03-01)
  → 'github:hercules-ci/flake-parts/8dc45382d5206bd292f9c2768b8058a8fd8311d9' (2024-05-16)
• Updated input 'xremap/flake-parts/nixpkgs-lib':
    'github:NixOS/nixpkgs/1536926ef5621b09bba54035ae2bb6d806d72ac8?dir=lib' (2024-02-29)
  → '50eb7ecf4c.tar.gz?narHash=sha256-QBx10%2Bk6JWz6u7VsohfSw8g8hjdBZEf8CFzXH1/1Z94%3D' (2024-05-02)
• Updated input 'xremap/home-manager':
    'github:nix-community/home-manager/179f6acaf7c068c7870542cdae72afec9427a5b0' (2024-03-27)
  → 'github:nix-community/home-manager/e3ad5108f54177e6520535768ddbf1e6af54b59d' (2024-05-17)
• Updated input 'xremap/home-manager/nixpkgs':
    'github:NixOS/nixpkgs/b06025f1533a1e07b6db3e75151caa155d1c7eb3' (2024-03-19)
  → 'github:NixOS/nixpkgs/f1010e0469db743d14519a1efd37e23f8513d714' (2024-05-09)
• Updated input 'xremap/hyprland':
    'github:hyprwm/Hyprland/93d05114716e847c37f49d3cc2d0c5cb01d06a24' (2024-03-27)
  → 'github:hyprwm/Hyprland/f8857e6072bd85b95393499688872aaf7f088b5b' (2024-05-18)
• Updated input 'xremap/hyprland/hyprcursor':
    'github:hyprwm/hyprcursor/6a92473237f430399a417e1c2da9d7fcd4970086' (2024-03-21)
  → 'github:hyprwm/hyprcursor/7c3aa03dffb53921e583ade3d4ae3f487e390e7e' (2024-05-15)
• Updated input 'xremap/hyprland/hyprcursor/hyprlang':
    'github:hyprwm/hyprlang/a685493fdbeec01ca8ccdf1f3655c044a8ce2fe2' (2024-03-08)
  → follows 'xremap/hyprland/hyprlang'
• Removed input 'xremap/hyprland/hyprcursor/hyprlang/nixpkgs'
• Removed input 'xremap/hyprland/hyprcursor/hyprlang/systems'
• Removed input 'xremap/hyprland/hyprland-protocols'
• Removed input 'xremap/hyprland/hyprland-protocols/nixpkgs'
• Removed input 'xremap/hyprland/hyprland-protocols/systems'
• Updated input 'xremap/hyprland/hyprlang':
    'github:hyprwm/hyprlang/a2f39421144d42541c057be235154ce21b76c0f6' (2024-03-20)
  → 'github:hyprwm/hyprlang/969cb076e5b76f2e823aeca1937a3e1f159812ee' (2024-05-15)
• Added input 'xremap/hyprland/hyprwayland-scanner':
    'github:hyprwm/hyprwayland-scanner/f5181a068c1b06f2db51f6222e50a0c665a2b0c3' (2024-05-16)
• Added input 'xremap/hyprland/hyprwayland-scanner/nixpkgs':
    follows 'xremap/hyprland/nixpkgs'
• Added input 'xremap/hyprland/hyprwayland-scanner/systems':
    follows 'xremap/hyprland/systems'
• Updated input 'xremap/hyprland/nixpkgs':
    'github:NixOS/nixpkgs/20f77aa09916374aa3141cbc605c955626762c9a' (2024-03-21)
  → 'github:NixOS/nixpkgs/33d1e753c82ffc557b4a585c77de43d4c922ebb5' (2024-05-15)
• Removed input 'xremap/hyprland/wlroots'
• Updated input 'xremap/hyprland/xdph':
    'github:hyprwm/xdg-desktop-portal-hyprland/2d2fb547178ec025da643db57d40a971507b82fe' (2024-03-01)
  → 'github:hyprwm/xdg-desktop-portal-hyprland/af7c87a32f5d67eb2ada908a6a700f4e74831943' (2024-05-15)
• Updated input 'xremap/hyprland/xdph/hyprland-protocols':
    follows 'xremap/hyprland/hyprland-protocols'
  → 'github:hyprwm/hyprland-protocols/0c2ce70625cb30aef199cb388f99e19a61a6ce03' (2023-08-11)
• Added input 'xremap/hyprland/xdph/hyprland-protocols/nixpkgs':
    follows 'xremap/hyprland/xdph/nixpkgs'
• Added input 'xremap/hyprland/xdph/hyprland-protocols/systems':
    follows 'xremap/hyprland/xdph/systems'
• Updated input 'xremap/nixpkgs':
    'github:NixOS/nixpkgs/07262b18b97000d16a4bdb003418bd2fb067a932' (2024-03-25)
  → 'github:NixOS/nixpkgs/5a5ac83292c7842072318f57d68a48474f8bd34d' (2024-05-20)
• Added input 'xremap/treefmt-nix':
    'github:numtide/treefmt-nix/2fba33a182602b9d49f0b2440513e5ee091d838b' (2024-05-17)
• Added input 'xremap/treefmt-nix/nixpkgs':
    'github:nixos/nixpkgs/0e74ca98a74bc7270d28838369593635a5db3260' (2024-02-21)
• Updated input 'xremap/xremap':
    'github:k0kubun/xremap/53a6d0553d58b95777f066e4aeed05ec74c5eaed' (2024-03-27)
  → 'github:k0kubun/xremap/98bb9ee1b1e35bfed6370dbbdf5703a8799fec11' (2024-05-20)
2024-05-23 21:57:13 +02:00
7d581901ec
Tmux: Fix Neovim escape delay 2024-05-17 19:23:25 +02:00
78128824d9
Switch from custom appimage feishin to official unstable
now also works on wayland!!!!
2024-05-14 18:28:06 +02:00
ef005f364e
Wezterm: Enable IME 2024-05-14 09:15:35 +02:00
b88f16f43e
Arion: Bump Jellyfin to 10.9.1
jellyfin: 10.8.13 -> 10.9.0 -> 10.9.1

10.9.0 had subtitle sync issues
2024-05-13 16:10:30 +02:00
7ff2eb63b2
Autorestic: Remove nextcloud from ssd backup 2024-05-08 13:53:50 +02:00
9f8d290d10
Auth: Bump authentik
authentik: 2024.4.1 -> 2024.4.2
2024-05-08 13:53:06 +02:00
25c25a4a96
Tmux: Enable truecolor support 2024-05-08 13:13:30 +02:00
889739e443
Tmux: Fix split-window key rebinds 2024-05-08 10:07:36 +02:00
d483cad685
Add basic tmux support 2024-05-08 09:53:50 +02:00
af58abcf3c
Arion: Switch from Cloudflare Tunnels to port-forwarding 2024-05-06 19:49:27 +02:00
4faa092004
Autorestic: Execute authentik backup every day 2024-05-06 19:48:38 +02:00
6652435bd4
Switch Obsidian to flatpak from native
Had problems getting it to display on Wayland
2024-05-06 17:39:21 +02:00
96286d85e9
Add unar cli tool
handy tool to unarchive pretty much all archive types (even rar where everything else failed)
2024-05-06 17:38:33 +02:00
108baeae60
Arion: Fix pihole dns for all docker containers
i previously had to fall back to cloudflare dns which didn't have all custom dns entries from pihole
2024-05-03 21:01:25 +02:00
a6d9f57d8e
Arion: Add oidc to homarr 2024-05-03 16:31:26 +02:00
af61ee537a
Headscale: Add possible tags for multi-entrypoint traefik config 2024-05-03 12:19:35 +02:00
311ae93432
Arion: Add Authentik 2024-05-03 12:19:03 +02:00
184495ae51
Arion: bump media stack versions
prowlarr: 1.15.0 -> 1.16.2
sonarr: 4.0.2 -> 4.0.4
radarr: 5.3.6 -> 5.4.6
autobrr: 1.40.1 -> 1.41.0
2024-05-02 17:00:28 +02:00
b3feafcaef
Add remote restic backup 2024-05-01 17:50:16 +02:00
de24f3c5f6
Arion: Add Headscale 2024-05-01 17:49:03 +02:00
1e3e0d585f
Arion: Bump Forgejo to 7.0.1 & Navidrome to 0.52.0 2024-05-01 16:33:02 +02:00
db42af3c0f
flake.lock: Update
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/285e26465a0bae510897ca04da26ce6307c652b4' (2024-04-26)
  → 'github:nix-community/disko/5eaf747af38dd272e1ab28a8ec4bd972424b07cf' (2024-04-29)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/e8514896746fc667f2cf326c9c0c4c1e823d5e9f?dir=pkgs/firefox-addons' (2024-04-28)
  → 'gitlab:rycee/nur-expressions/7772d48f5a728af51cd8ac85be5b124e2da0feac?dir=pkgs/firefox-addons' (2024-05-01)
• Updated input 'hardware':
    'github:nixos/nixos-hardware/53db5e1070d07e750030bf65f1b9963df8f0c678' (2024-04-27)
  → 'github:nixos/nixos-hardware/68d680c1b7c0e67a9b2144d6776583ee83664ef4' (2024-04-30)
• Updated input 'nh':
    'github:viperml/nh/9589dea0e74a819c296c591123f6af37c3f0bce3' (2024-04-26)
  → 'github:viperml/nh/e4eb011975bee4c3f47199cc01d2d986e24851bd' (2024-05-01)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/12430e43bd9b81a6b4e79e64f87c624ade701eaf' (2024-04-28)
  → 'github:nixos/nixpkgs/576ecd43d3b864966b4423a853412d6177775e8b' (2024-04-29)
• Updated input 'picokontroller':
    'git+https://git.ghoscht.com/ghoscht/picoKontroller?ref=refs/heads/master&rev=5ad5641aa0cb129d2480c25cc7a9e80420cea0cc' (2024-03-14)
  → 'git+https://git.ghoscht.com/ghoscht/picoKontroller?ref=refs/heads/master&rev=661765283966d5209e204145915155f60df31b71' (2024-05-01)
2024-05-01 16:14:30 +02:00
f89d5b0f6e
Neovim: Switch from rnix-lsp to nixd 2024-05-01 14:10:56 +02:00
554c16b739
Temporarily remove bypass-paywalls
was previously dmca'd and is now missing
2024-04-29 13:06:59 +02:00
772b1e0948
flake.lock: Update
Flake lock file updates:

• Updated input 'arion':
    'github:hercules-ci/arion/1886d25075aaf24c8bc687b3d2a87ae1f5d154ec' (2024-04-05)
  → 'github:hercules-ci/arion/efa008e12f590eea1a3e7f2088877dc9bdcc54b7' (2024-04-28)
• Updated input 'arion/nixpkgs':
    'github:NixOS/nixpkgs/fd281bd6b7d3e32ddfa399853946f782553163b5' (2024-04-03)
  → 'github:NixOS/nixpkgs/5c24cf2f0a12ad855f444c30b2421d044120c66f' (2024-04-19)
• Updated input 'disko':
    'github:nix-community/disko/1efd500e9805a9efbce401ed5999006d397b9f11' (2024-04-18)
  → 'github:nix-community/disko/285e26465a0bae510897ca04da26ce6307c652b4' (2024-04-26)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/55eb93f0324e5a47c8b2c112983ce4f6bd4040c0?dir=pkgs/firefox-addons' (2024-04-19)
  → 'gitlab:rycee/nur-expressions/e8514896746fc667f2cf326c9c0c4c1e823d5e9f?dir=pkgs/firefox-addons' (2024-04-28)
• Updated input 'hardware':
    'github:nixos/nixos-hardware/5d48925b815fd202781bfae8fb6f45c07112fdb2' (2024-04-19)
  → 'github:nixos/nixos-hardware/53db5e1070d07e750030bf65f1b9963df8f0c678' (2024-04-27)
• Updated input 'heliox-cli':
    'git+https://git.ghoscht.com/heliox/cli/?ref=refs/heads/main&rev=e05db87d0f38244e6d81f25f0d15b9760e632213' (2024-02-14)
  → 'git+https://git.ghoscht.com/heliox/cli?ref=custom-dimming&rev=374d228ed9ab67fe3a2d9d2d2f3addede4770318' (2024-04-29)
• Updated input 'home-manager':
    'github:nix-community/home-manager/d6bb9f934f2870e5cbc5b94c79e9db22246141ff' (2024-04-06)
  → 'github:nix-community/home-manager/86853e31dc1b62c6eeed11c667e8cdd0285d4411' (2024-04-25)
• Updated input 'nh':
    'github:viperml/nh/131a40278054d597fea8825d6555b959006c4033' (2024-04-19)
  → 'github:viperml/nh/9589dea0e74a819c296c591123f6af37c3f0bce3' (2024-04-26)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/e402c3eb6d88384ca6c52ef1c53e61bdc9b84ddd' (2024-04-17)
  → 'github:nixos/nixpkgs/12430e43bd9b81a6b4e79e64f87c624ade701eaf' (2024-04-28)
• Updated input 'nixpkgs-unstable':
    'github:nixos/nixpkgs/66adc1e47f8784803f2deb6cacd5e07264ec2d5c' (2024-04-16)
  → 'github:nixos/nixpkgs/58a1abdbae3217ca6b702f03d3b35125d88a2994' (2024-04-27)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/6ef5c647a4f38f5608a63fdc80a58bf772b11be8' (2024-04-19)
  → 'github:Mic92/sops-nix/f1b0adc27265274e3b0c9b872a8f476a098679bd' (2024-04-23)
• Updated input 'sops-nix/nixpkgs':
    'github:NixOS/nixpkgs/2b6ee326ad047870526d9a3ae88dfd0197da898d' (2024-04-16)
  → 'github:NixOS/nixpkgs/fd16bb6d3bcca96039b11aa52038fafeb6e4f4be' (2024-04-20)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/8494ae076b7878d61a7d2d25e89a847fe8f8364c' (2024-04-18)
  → 'github:NixOS/nixpkgs/74574c38577914733b4f7a775dd77d24245081dd' (2024-04-20)
2024-04-29 12:29:08 +02:00
8facfb044b
Switch to custom light control profile: damaged led
led is flickering unbearably
2024-04-29 12:28:10 +02:00
fe5205de3a
Change eustachius ip to tailnet ip 2024-04-20 20:23:28 +02:00
a12e904d6e
Autorestic: change backup times to 4:00
ISP reassigns public IP around 3:30. If backups take too long the remote backup will fail
2024-04-20 20:15:29 +02:00
16fae21651
Arion: remove old commented-out jellyfin installation 2024-04-20 20:13:54 +02:00
0e6a8e8348
Franz: add previous matrix installation 2024-04-20 20:12:58 +02:00
e9f7194e35
Merge branch 'main' of ssh://git.ghoscht.com:2222/ghoscht/nix-config 2024-04-19 15:14:24 +02:00
1537656a8c
flake.lock: Update
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/79eab0e82cb126bf4ac170f44af82479f0895ab5' (2024-04-08)
  → 'github:nix-community/disko/1efd500e9805a9efbce401ed5999006d397b9f11' (2024-04-18)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/5f3e523af6e16a49ff10d5f7f776e2dda534a735?dir=pkgs/firefox-addons' (2024-04-09)
  → 'gitlab:rycee/nur-expressions/55eb93f0324e5a47c8b2c112983ce4f6bd4040c0?dir=pkgs/firefox-addons' (2024-04-19)
• Updated input 'hardware':
    'github:nixos/nixos-hardware/1e3b3a35b7083f4152f5a516798cf9b21e686465' (2024-04-08)
  → 'github:nixos/nixos-hardware/5d48925b815fd202781bfae8fb6f45c07112fdb2' (2024-04-19)
• Updated input 'nh':
    'github:viperml/nh/fe4a96a0b0b0662dba7c186b4a1746c70bbcad03' (2024-04-09)
  → 'github:viperml/nh/131a40278054d597fea8825d6555b959006c4033' (2024-04-19)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/d272ca50d1f7424fbfcd1e6f1c9e01d92f6da167' (2024-04-08)
  → 'github:nixos/nixpkgs/e402c3eb6d88384ca6c52ef1c53e61bdc9b84ddd' (2024-04-17)
• Updated input 'nixpkgs-unstable':
    'github:nixos/nixpkgs/ff0dbd94265ac470dda06a657d5fe49de93b4599' (2024-04-06)
  → 'github:nixos/nixpkgs/66adc1e47f8784803f2deb6cacd5e07264ec2d5c' (2024-04-16)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/538c114cfdf1f0458f507087b1dcf018ce1c0c4c' (2024-04-08)
  → 'github:Mic92/sops-nix/6ef5c647a4f38f5608a63fdc80a58bf772b11be8' (2024-04-19)
• Updated input 'sops-nix/nixpkgs':
    'github:NixOS/nixpkgs/9e7f26f82acb057498335362905fde6fea4ca50a' (2024-04-06)
  → 'github:NixOS/nixpkgs/2b6ee326ad047870526d9a3ae88dfd0197da898d' (2024-04-16)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/e38d7cb66ea4f7a0eb6681920615dfcc30fc2920' (2024-04-06)
  → 'github:NixOS/nixpkgs/8494ae076b7878d61a7d2d25e89a847fe8f8364c' (2024-04-18)
2024-04-19 14:17:19 +02:00
9db80d436b
Franz: Add eustachius sftp restick backend 2024-04-13 16:12:08 +02:00
1ecf04323a
flake.lock: Update
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/fbbac1aee6eae60c32b47e95447c4a3ec59d9773' (2024-04-05)
  → 'github:nix-community/disko/79eab0e82cb126bf4ac170f44af82479f0895ab5' (2024-04-08)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/9eeabc3223fe9296084bc55a6862df49beecf0ce?dir=pkgs/firefox-addons' (2024-04-05)
  → 'gitlab:rycee/nur-expressions/5f3e523af6e16a49ff10d5f7f776e2dda534a735?dir=pkgs/firefox-addons' (2024-04-09)
• Updated input 'hardware':
    'github:nixos/nixos-hardware/f3b959627bca46a9f7052b8fbc464b8323e68c2c' (2024-04-05)
  → 'github:nixos/nixos-hardware/1e3b3a35b7083f4152f5a516798cf9b21e686465' (2024-04-08)
• Updated input 'home-manager':
    'github:nix-community/home-manager/f33900124c23c4eca5831b9b5eb32ea5894375ce' (2024-03-19)
  → 'github:nix-community/home-manager/d6bb9f934f2870e5cbc5b94c79e9db22246141ff' (2024-04-06)
• Updated input 'nh':
    'github:viperml/nh/fd98e31fbf741045b9a649b004b99dfa61f5a63b' (2024-04-05)
  → 'github:viperml/nh/fe4a96a0b0b0662dba7c186b4a1746c70bbcad03' (2024-04-09)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/1487bdea619e4a7a53a4590c475deabb5a9d1bfb' (2024-04-03)
  → 'github:nixos/nixpkgs/d272ca50d1f7424fbfcd1e6f1c9e01d92f6da167' (2024-04-08)
• Updated input 'nixpkgs-unstable':
    'github:nixos/nixpkgs/fd281bd6b7d3e32ddfa399853946f782553163b5' (2024-04-03)
  → 'github:nixos/nixpkgs/ff0dbd94265ac470dda06a657d5fe49de93b4599' (2024-04-06)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/99b1e37f9fc0960d064a7862eb7adfb92e64fa10' (2024-03-31)
  → 'github:Mic92/sops-nix/538c114cfdf1f0458f507087b1dcf018ce1c0c4c' (2024-04-08)
• Updated input 'sops-nix/nixpkgs':
    'github:NixOS/nixpkgs/807c549feabce7eddbf259dbdcec9e0600a0660d' (2024-03-29)
  → 'github:NixOS/nixpkgs/9e7f26f82acb057498335362905fde6fea4ca50a' (2024-04-06)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/2b4e3ca0091049c6fbb4908c66b05b77eaef9f0c' (2024-03-30)
  → 'github:NixOS/nixpkgs/e38d7cb66ea4f7a0eb6681920615dfcc30fc2920' (2024-04-06)
2024-04-09 20:28:16 +02:00
f77e3f4627
Enable picom vsync 2024-04-09 15:21:11 +02:00
4d725ec1b8
Add autorestic fish abbreviation 2024-04-09 15:20:34 +02:00
75bd610b36
Enable Nextcloud CRON 2024-04-09 15:20:16 +02:00
72195f5d5c
Bump forgejo version 2024-04-09 15:19:52 +02:00
1896804153
flake.lock: Update
Flake lock file updates:

• Updated input 'arion':
    'github:hercules-ci/arion/d2d48c9ec304ac80c84ede138b8c6f298d07d995' (2024-03-05)
  → 'github:hercules-ci/arion/1886d25075aaf24c8bc687b3d2a87ae1f5d154ec' (2024-04-05)
• Updated input 'arion/flake-parts':
    'github:hercules-ci/flake-parts/f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2' (2024-03-01)
  → 'github:hercules-ci/flake-parts/9126214d0a59633752a136528f5f3b9aa8565b7d' (2024-04-01)
• Updated input 'arion/hercules-ci-effects':
    'github:hercules-ci/hercules-ci-effects/0ca27bd58e4d5be3135a4bef66b582e57abe8f4a' (2024-02-21)
  → 'github:hercules-ci/hercules-ci-effects/64e7763d72c1e4c1e5e6472640615b6ae2d40fbf' (2024-03-15)
• Updated input 'arion/hercules-ci-effects/flake-parts':
    'github:hercules-ci/flake-parts/34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5' (2023-12-01)
  → 'github:hercules-ci/flake-parts/f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2' (2024-03-01)
• Updated input 'arion/nixpkgs':
    'github:NixOS/nixpkgs/b8697e57f10292a6165a20f03d2f42920dfaf973' (2024-03-03)
  → 'github:NixOS/nixpkgs/fd281bd6b7d3e32ddfa399853946f782553163b5' (2024-04-03)
• Updated input 'disko':
    'github:nix-community/disko/502241afa3de2a24865ddcbe4c122f4546e32092' (2024-03-28)
  → 'github:nix-community/disko/fbbac1aee6eae60c32b47e95447c4a3ec59d9773' (2024-04-05)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/2d43809c568174aa083a4136bb7318a089eb3721?dir=pkgs/firefox-addons' (2024-03-31)
  → 'gitlab:rycee/nur-expressions/9eeabc3223fe9296084bc55a6862df49beecf0ce?dir=pkgs/firefox-addons' (2024-04-05)
• Updated input 'hardware':
    'github:nixos/nixos-hardware/9a763a7acc4cfbb8603bb0231fec3eda864f81c0' (2024-03-25)
  → 'github:nixos/nixos-hardware/f3b959627bca46a9f7052b8fbc464b8323e68c2c' (2024-04-05)
• Updated input 'nh':
    'github:viperml/nh/60c019a930e1718f1c5b6638f16dc221bf667d61' (2024-03-16)
  → 'github:viperml/nh/fd98e31fbf741045b9a649b004b99dfa61f5a63b' (2024-04-05)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/219951b495fc2eac67b1456824cc1ec1fd2ee659' (2024-03-28)
  → 'github:nixos/nixpkgs/1487bdea619e4a7a53a4590c475deabb5a9d1bfb' (2024-04-03)
• Updated input 'nixpkgs-unstable':
    'github:nixos/nixpkgs/d8fe5e6c92d0d190646fb9f1056741a229980089' (2024-03-29)
  → 'github:nixos/nixpkgs/fd281bd6b7d3e32ddfa399853946f782553163b5' (2024-04-03)
• Updated input 'xremap':
    'github:xremap/nix-flake/cbed2f9e9a1d5f3dcd42ee71b756fce9ececedc6' (2024-03-28)
  → 'github:xremap/nix-flake/38c9a3c4264750f77151369f34590db259454df3' (2024-04-02)
2024-04-05 23:19:06 +02:00
04180ce54a
Install citrix workspace 2024-04-05 23:17:51 +02:00
d632864cfc
Switch to linuxserver jellyfin image 2024-04-03 11:25:52 +02:00
65aa06c5f5
Fix automatic restic backup 2024-04-03 11:25:20 +02:00
73df2f82c0
flake.lock: Update
Flake lock file updates:

• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/d0df0c83bfe2e7ed6e26259a289d7056c4001ced?dir=pkgs/firefox-addons' (2024-03-27)
  → 'gitlab:rycee/nur-expressions/2d43809c568174aa083a4136bb7318a089eb3721?dir=pkgs/firefox-addons' (2024-03-31)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/44733514b72e732bd49f5511bd0203dea9b9a434' (2024-03-26)
  → 'github:nixos/nixpkgs/219951b495fc2eac67b1456824cc1ec1fd2ee659' (2024-03-28)
• Updated input 'nixpkgs-unstable':
    'github:nixos/nixpkgs/2726f127c15a4cc9810843b96cad73c7eb39e443' (2024-03-27)
  → 'github:nixos/nixpkgs/d8fe5e6c92d0d190646fb9f1056741a229980089' (2024-03-29)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/405987a66cce9a4a82f321f11b205982a7127c88' (2024-03-24)
  → 'github:Mic92/sops-nix/99b1e37f9fc0960d064a7862eb7adfb92e64fa10' (2024-03-31)
• Updated input 'sops-nix/nixpkgs':
    'github:NixOS/nixpkgs/20bc93ca7b2158ebc99b8cef987a2173a81cde35' (2024-03-23)
  → 'github:NixOS/nixpkgs/807c549feabce7eddbf259dbdcec9e0600a0660d' (2024-03-29)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/ac6bdf6181666ebb4f90dd20f31e2fa66ede6b68' (2024-03-23)
  → 'github:NixOS/nixpkgs/2b4e3ca0091049c6fbb4908c66b05b77eaef9f0c' (2024-03-30)
• Updated input 'xremap':
    'github:xremap/nix-flake/3f0634cc2a30a38ac471483fa7a9098292a4b196' (2024-03-27)
  → 'github:xremap/nix-flake/cbed2f9e9a1d5f3dcd42ee71b756fce9ececedc6' (2024-03-28)
2024-03-31 23:57:11 +02:00
7d7e92f88c
Change sftp ip to new nic ip 2024-03-31 23:56:10 +02:00
9cfab6dd2a
Enable nextcloud redis caching 2024-03-31 23:20:21 +02:00
448e3beadf
Adapt arion compose to zfs cluster 2024-03-31 22:05:29 +02:00
9d92ac2d0d
Reenable ssh kbd interactive auth 2024-03-31 22:05:09 +02:00
db57f01f8b
Add restic backups 2024-03-31 22:04:51 +02:00
bb38367685
Add zfs cluster 2024-03-31 22:04:31 +02:00
6172e26bb1
Remove .docker rsc data 2024-03-31 22:03:23 +02:00
a84d27734c
flake.lock: Update
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/c09c3a9639690f94ddff44c3dd25c85602e5aeb2' (2024-03-18)
  → 'github:nix-community/disko/502241afa3de2a24865ddcbe4c122f4546e32092' (2024-03-28)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/114486c3f75cc20196bd59836b7efd41826c2c08?dir=pkgs/firefox-addons' (2024-03-17)
  → 'gitlab:rycee/nur-expressions/d0df0c83bfe2e7ed6e26259a289d7056c4001ced?dir=pkgs/firefox-addons' (2024-03-27)
• Updated input 'hardware':
    'github:nixos/nixos-hardware/968952f950a59dee9ed1e8799dda38c6dfa1bad3' (2024-03-16)
  → 'github:nixos/nixos-hardware/9a763a7acc4cfbb8603bb0231fec3eda864f81c0' (2024-03-25)
• Updated input 'home-manager':
    'github:nix-community/home-manager/652fda4ca6dafeb090943422c34ae9145787af37' (2024-02-03)
  → 'github:nix-community/home-manager/f33900124c23c4eca5831b9b5eb32ea5894375ce' (2024-03-19)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/614b4613980a522ba49f0d194531beddbb7220d3' (2024-03-17)
  → 'github:nixos/nixpkgs/44733514b72e732bd49f5511bd0203dea9b9a434' (2024-03-26)
• Updated input 'nixpkgs-unstable':
    'github:nixos/nixpkgs/c75037bbf9093a2acb617804ee46320d6d1fea5a' (2024-03-16)
  → 'github:nixos/nixpkgs/2726f127c15a4cc9810843b96cad73c7eb39e443' (2024-03-27)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/83b68a0e8c94b72cdd0a6e547a14ca7eb1c03616' (2024-03-17)
  → 'github:Mic92/sops-nix/405987a66cce9a4a82f321f11b205982a7127c88' (2024-03-24)
• Updated input 'sops-nix/nixpkgs':
    'github:NixOS/nixpkgs/9af9c1c87ed3e3ed271934cb896e0cdd33dae212' (2024-03-15)
  → 'github:NixOS/nixpkgs/20bc93ca7b2158ebc99b8cef987a2173a81cde35' (2024-03-23)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/6dc11d9859d6a18ab0c5e5829a5b8e4810658de3' (2024-03-16)
  → 'github:NixOS/nixpkgs/ac6bdf6181666ebb4f90dd20f31e2fa66ede6b68' (2024-03-23)
• Updated input 'xremap':
    'github:xremap/nix-flake/8c3182fbe195de5f3a284d0e5b1551bdd724e611' (2024-03-14)
  → 'github:xremap/nix-flake/3f0634cc2a30a38ac471483fa7a9098292a4b196' (2024-03-27)
• Updated input 'xremap/crane':
    'github:ipetkov/crane/10484f86201bb94bd61ecc5335b1496794fedb78' (2024-03-09)
  → 'github:ipetkov/crane/7e468a455506f2e65550e08dfd45092f0857a009' (2024-03-25)
• Updated input 'xremap/devshell':
    'github:numtide/devshell/bc68b058dc7e6d4d6befc4ec6c60082b6e844b7d' (2024-03-11)
  → 'github:numtide/devshell/2d45b54ca4a183f2fdcf4b19c895b64fbf620ee8' (2024-03-22)
• Updated input 'xremap/home-manager':
    'github:nix-community/home-manager/587719494ed18a184c98c4d55dde9469af4446bf' (2024-03-14)
  → 'github:nix-community/home-manager/179f6acaf7c068c7870542cdae72afec9427a5b0' (2024-03-27)
• Updated input 'xremap/home-manager/nixpkgs':
    'github:NixOS/nixpkgs/3030f185ba6a4bf4f18b87f345f104e6a6961f34' (2024-03-09)
  → 'github:NixOS/nixpkgs/b06025f1533a1e07b6db3e75151caa155d1c7eb3' (2024-03-19)
• Updated input 'xremap/hyprland':
    'github:hyprwm/Hyprland/3e67ee0f5f66c74c0a0bd4f797361fd100c2e2d2' (2024-03-13)
  → 'github:hyprwm/Hyprland/93d05114716e847c37f49d3cc2d0c5cb01d06a24' (2024-03-27)
• Updated input 'xremap/hyprland/hyprcursor':
    'github:hyprwm/hyprcursor/05db7dfd7fc261e0195e54f8a6d655d4f370e70f' (2024-03-10)
  → 'github:hyprwm/hyprcursor/6a92473237f430399a417e1c2da9d7fcd4970086' (2024-03-21)
• Updated input 'xremap/hyprland/hyprlang':
    'github:hyprwm/hyprlang/a685493fdbeec01ca8ccdf1f3655c044a8ce2fe2' (2024-03-08)
  → 'github:hyprwm/hyprlang/a2f39421144d42541c057be235154ce21b76c0f6' (2024-03-20)
• Updated input 'xremap/hyprland/nixpkgs':
    'github:NixOS/nixpkgs/3030f185ba6a4bf4f18b87f345f104e6a6961f34' (2024-03-09)
  → 'github:NixOS/nixpkgs/20f77aa09916374aa3141cbc605c955626762c9a' (2024-03-21)
• Updated input 'xremap/nixpkgs':
    'github:NixOS/nixpkgs/db001797591bf76f7b8d4c4ed3b49233391e0c97' (2024-03-14)
  → 'github:NixOS/nixpkgs/07262b18b97000d16a4bdb003418bd2fb067a932' (2024-03-25)
• Updated input 'xremap/xremap':
    'github:k0kubun/xremap/1ea5b1e7151c0f375ff18320f0c21b3bb1d8fa05' (2024-02-24)
  → 'github:k0kubun/xremap/53a6d0553d58b95777f066e4aeed05ec74c5eaed' (2024-03-27)
2024-03-28 18:22:32 +01:00
23e41b0447
Add autostart of kde connect to awesome 2024-03-22 13:48:17 +01:00
20475505d0
Add picoKontroller autostart to awesome 2024-03-22 13:48:08 +01:00
9a21734c30
Upgrade feishin version 2024-03-22 13:47:41 +01:00
f5ce1e764b
flake.lock: Update
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/fe064a639319ed61cdf12b8f6eded9523abcc498' (2024-03-11)
  → 'github:nix-community/disko/c09c3a9639690f94ddff44c3dd25c85602e5aeb2' (2024-03-18)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/30a8c60c621cf3faa4cf4bd8a9dfa1c8e66fd45b?dir=pkgs/firefox-addons' (2024-03-12)
  → 'gitlab:rycee/nur-expressions/114486c3f75cc20196bd59836b7efd41826c2c08?dir=pkgs/firefox-addons' (2024-03-17)
• Updated input 'hardware':
    'github:nixos/nixos-hardware/ad2fd7b978d5e462048729a6c635c45d3d33c9ba' (2024-03-11)
  → 'github:nixos/nixos-hardware/968952f950a59dee9ed1e8799dda38c6dfa1bad3' (2024-03-16)
• Updated input 'nh':
    'github:viperml/nh/3f148b0c7f2d56be65dc55628f6b2e68ee10e231' (2024-03-06)
  → 'github:viperml/nh/60c019a930e1718f1c5b6638f16dc221bf667d61' (2024-03-16)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/ddcd7598b2184008c97e6c9c6a21c5f37590b8d2' (2024-03-11)
  → 'github:nixos/nixpkgs/614b4613980a522ba49f0d194531beddbb7220d3' (2024-03-17)
• Updated input 'nixpkgs-unstable':
    'github:nixos/nixpkgs/3030f185ba6a4bf4f18b87f345f104e6a6961f34' (2024-03-09)
  → 'github:nixos/nixpkgs/c75037bbf9093a2acb617804ee46320d6d1fea5a' (2024-03-16)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/e52d8117b330f690382f1d16d81ae43daeb4b880' (2024-03-11)
  → 'github:Mic92/sops-nix/83b68a0e8c94b72cdd0a6e547a14ca7eb1c03616' (2024-03-17)
• Updated input 'sops-nix/nixpkgs':
    'github:NixOS/nixpkgs/0e7f98a5f30166cbed344569426850b21e4091d4' (2024-03-09)
  → 'github:NixOS/nixpkgs/9af9c1c87ed3e3ed271934cb896e0cdd33dae212' (2024-03-15)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/b17375d3bb7c79ffc52f3538028b2ec06eb79ef8' (2024-03-10)
  → 'github:NixOS/nixpkgs/6dc11d9859d6a18ab0c5e5829a5b8e4810658de3' (2024-03-16)
• Updated input 'xremap':
    'github:xremap/nix-flake/a064ca61a03ed495881b46eb6753d4198cfbfcf6' (2024-02-29)
  → 'github:xremap/nix-flake/8c3182fbe195de5f3a284d0e5b1551bdd724e611' (2024-03-14)
• Updated input 'xremap/crane':
    'github:ipetkov/crane/8b9bad9b30bd7a9ed08782e64846b7485f9d0a38' (2023-11-30)
  → 'github:ipetkov/crane/10484f86201bb94bd61ecc5335b1496794fedb78' (2024-03-09)
• Updated input 'xremap/devshell':
    'github:numtide/devshell/7ad1c417c87e98e56dcef7ecd0e0a2f2e5669d51' (2023-11-24)
  → 'github:numtide/devshell/bc68b058dc7e6d4d6befc4ec6c60082b6e844b7d' (2024-03-11)
• Added input 'xremap/devshell/flake-utils':
    'github:numtide/flake-utils/4022d587cbbfd70fe950c1e2083a02621806a725' (2023-12-04)
• Added input 'xremap/devshell/flake-utils/systems':
    'github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e' (2023-04-09)
• Updated input 'xremap/devshell/nixpkgs':
    'github:NixOS/nixpkgs/9952d6bc395f5841262b006fbace8dd7e143b634' (2023-02-26)
  → 'github:NixOS/nixpkgs/63143ac2c9186be6d9da6035fa22620018c85932' (2024-01-02)
• Removed input 'xremap/devshell/systems'
• Updated input 'xremap/flake-parts':
    'github:hercules-ci/flake-parts/8c9fa2545007b49a5db5f650ae91f227672c3877' (2023-11-01)
  → 'github:hercules-ci/flake-parts/f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2' (2024-03-01)
• Updated input 'xremap/flake-parts/nixpkgs-lib':
    'github:NixOS/nixpkgs/0cbe9f69c234a7700596e943bfae7ef27a31b735?dir=lib' (2023-10-29)
  → 'github:NixOS/nixpkgs/1536926ef5621b09bba54035ae2bb6d806d72ac8?dir=lib' (2024-02-29)
• Updated input 'xremap/home-manager':
    'github:nix-community/home-manager/db1878f013b52ba5e4034db7c1b63e8d04173a86' (2023-11-27)
  → 'github:nix-community/home-manager/587719494ed18a184c98c4d55dde9469af4446bf' (2024-03-14)
• Updated input 'xremap/home-manager/nixpkgs':
    'github:NixOS/nixpkgs/5a09cb4b393d58f9ed0d9ca1555016a8543c2ac8' (2023-11-24)
  → 'github:NixOS/nixpkgs/3030f185ba6a4bf4f18b87f345f104e6a6961f34' (2024-03-09)
• Updated input 'xremap/hyprland':
    'github:hyprwm/Hyprland/b394c1695c05cf3b2133a473aa459d4cd750911b' (2023-11-30)
  → 'github:hyprwm/Hyprland/3e67ee0f5f66c74c0a0bd4f797361fd100c2e2d2' (2024-03-13)
• Added input 'xremap/hyprland/hyprcursor':
    'github:hyprwm/hyprcursor/05db7dfd7fc261e0195e54f8a6d655d4f370e70f' (2024-03-10)
• Added input 'xremap/hyprland/hyprcursor/hyprlang':
    'github:hyprwm/hyprlang/a685493fdbeec01ca8ccdf1f3655c044a8ce2fe2' (2024-03-08)
• Added input 'xremap/hyprland/hyprcursor/hyprlang/nixpkgs':
    follows 'xremap/hyprland/hyprcursor/nixpkgs'
• Added input 'xremap/hyprland/hyprcursor/hyprlang/systems':
    'github:nix-systems/default-linux/31732fcf5e8fea42e59c2488ad31a0e651500f68' (2023-07-14)
• Added input 'xremap/hyprland/hyprcursor/nixpkgs':
    follows 'xremap/hyprland/nixpkgs'
• Added input 'xremap/hyprland/hyprcursor/systems':
    follows 'xremap/hyprland/systems'
• Added input 'xremap/hyprland/hyprlang':
    'github:hyprwm/hyprlang/a685493fdbeec01ca8ccdf1f3655c044a8ce2fe2' (2024-03-08)
• Added input 'xremap/hyprland/hyprlang/nixpkgs':
    follows 'xremap/hyprland/nixpkgs'
• Added input 'xremap/hyprland/hyprlang/systems':
    follows 'xremap/hyprland/systems'
• Updated input 'xremap/hyprland/nixpkgs':
    'github:NixOS/nixpkgs/19cbff58383a4ae384dea4d1d0c823d72b49d614' (2023-11-22)
  → 'github:NixOS/nixpkgs/3030f185ba6a4bf4f18b87f345f104e6a6961f34' (2024-03-09)
• Updated input 'xremap/hyprland/wlroots':
    'gitlab:wlroots/wlroots/5d639394f3e83b01596dcd166a44a9a1a2583350' (2023-11-30)
  → 'gitlab:wlroots/wlroots/50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b' (2024-03-09)
• Updated input 'xremap/hyprland/xdph':
    'github:hyprwm/xdg-desktop-portal-hyprland/eb120ff25265ecacd0fc13d7dab12131b60d0f47' (2023-11-20)
  → 'github:hyprwm/xdg-desktop-portal-hyprland/2d2fb547178ec025da643db57d40a971507b82fe' (2024-03-01)
• Added input 'xremap/hyprland/xdph/hyprlang':
    follows 'xremap/hyprland/hyprlang'
• Updated input 'xremap/nixpkgs':
    'github:NixOS/nixpkgs/f5c27c6136db4d76c30e533c20517df6864c46ee' (2023-11-30)
  → 'github:NixOS/nixpkgs/db001797591bf76f7b8d4c4ed3b49233391e0c97' (2024-03-14)
• Updated input 'xremap/xremap':
    'github:k0kubun/xremap/fa6290e2ace4583c65565e81cbd24954cc657e92' (2024-01-04)
  → 'github:k0kubun/xremap/1ea5b1e7151c0f375ff18320f0c21b3bb1d8fa05' (2024-02-24)
2024-03-18 09:49:49 +01:00
8bc84b70ce
Set franz ftp to real ip 2024-03-18 09:48:44 +01:00
8595592ecf
Add custom dns to franz infrastructure containers 2024-03-17 17:08:26 +01:00
d271bd977e
Adapt franz to real installation 2024-03-17 15:18:23 +01:00
d0ae7b1f22
Allow insecure nix on franz 2024-03-16 18:21:00 +01:00
faa9747d05
Arion: move ttrss db to services scope 2024-03-15 21:33:45 +01:00
3ea35b67ae
Firefox: Enable native messaging for kde-connect 2024-03-15 21:32:32 +01:00
c5b0d3966c
Arion: Add ttrss feed 2024-03-15 21:32:09 +01:00
e806b77315
Remove download speed restriction
got new fiber internet connection with better buffer bloat router (cake)
2024-03-14 14:26:23 +01:00
415ced0290
Allow insecure nix (CVE) 2024-03-14 14:20:53 +01:00
fbe05e5abc
Add picokontroller package 2024-03-14 14:20:33 +01:00
e204a2a176
flake.lock: Update
Flake lock file updates:

• Updated input 'arion':
    'github:hercules-ci/arion/2b1fa9a8e9e40bb8e65a677c6fdd66dae4f4676e' (2024-02-14)
  → 'github:hercules-ci/arion/d2d48c9ec304ac80c84ede138b8c6f298d07d995' (2024-03-05)
• Updated input 'arion/flake-parts':
    'github:hercules-ci/flake-parts/b253292d9c0a5ead9bc98c4e9a26c6312e27d69f' (2024-02-01)
  → 'github:hercules-ci/flake-parts/f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2' (2024-03-01)
• Updated input 'arion/hercules-ci-effects':
    'github:hercules-ci/hercules-ci-effects/d5cbf433a6ae9cae05400189a8dbc6412a03ba16' (2023-12-31)
  → 'github:hercules-ci/hercules-ci-effects/0ca27bd58e4d5be3135a4bef66b582e57abe8f4a' (2024-02-21)
• Updated input 'arion/nixpkgs':
    'github:NixOS/nixpkgs/f9d39fb9aff0efee4a3d5f4a6d7c17701d38a1d8' (2024-02-11)
  → 'github:NixOS/nixpkgs/b8697e57f10292a6165a20f03d2f42920dfaf973' (2024-03-03)
• Updated input 'disko':
    'github:nix-community/disko/bde7dd352c07d43bd5b8245e6c39074a391fdd46' (2024-03-01)
  → 'github:nix-community/disko/fe064a639319ed61cdf12b8f6eded9523abcc498' (2024-03-11)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/c13d9ef669a370fd70e6732e295513cd7342b20d?dir=pkgs/firefox-addons' (2024-03-02)
  → 'gitlab:rycee/nur-expressions/30a8c60c621cf3faa4cf4bd8a9dfa1c8e66fd45b?dir=pkgs/firefox-addons' (2024-03-12)
• Updated input 'hardware':
    'github:nixos/nixos-hardware/33a97b5814d36ddd65ad678ad07ce43b1a67f159' (2024-02-28)
  → 'github:nixos/nixos-hardware/ad2fd7b978d5e462048729a6c635c45d3d33c9ba' (2024-03-11)
• Updated input 'nh':
    'github:viperml/nh/6947e6f6f234d303131ecc1e54ef6703c82257e3' (2024-03-01)
  → 'github:viperml/nh/3f148b0c7f2d56be65dc55628f6b2e68ee10e231' (2024-03-06)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/068d4db604958d05d0b46c47f79b507d84dbc069' (2024-02-29)
  → 'github:nixos/nixpkgs/ddcd7598b2184008c97e6c9c6a21c5f37590b8d2' (2024-03-11)
• Updated input 'nixpkgs-unstable':
    'github:nixos/nixpkgs/1536926ef5621b09bba54035ae2bb6d806d72ac8' (2024-02-29)
  → 'github:nixos/nixpkgs/3030f185ba6a4bf4f18b87f345f104e6a6961f34' (2024-03-09)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/075df9d85ee70cfb53e598058045e1738f05e273' (2024-03-03)
  → 'github:Mic92/sops-nix/e52d8117b330f690382f1d16d81ae43daeb4b880' (2024-03-11)
• Updated input 'sops-nix/nixpkgs':
    'github:NixOS/nixpkgs/458b097d81f90275b3fdf03796f0563844926708' (2024-03-02)
  → 'github:NixOS/nixpkgs/0e7f98a5f30166cbed344569426850b21e4091d4' (2024-03-09)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/66d65cb00b82ffa04ee03347595aa20e41fe3555' (2024-03-03)
  → 'github:NixOS/nixpkgs/b17375d3bb7c79ffc52f3538028b2ec06eb79ef8' (2024-03-10)
2024-03-12 16:41:34 +01:00
edc8264713
Persist fcitx5 config 2024-03-07 20:41:02 +01:00
3344d7ab11
Some awesomewm customization
idk what i did here
2024-03-07 17:25:58 +01:00
8409bc7f9e
Add basic forgejo config customization 2024-03-07 17:15:41 +01:00
f77c2c4a41
Forgejo: Add catppuccin themes 2024-03-07 17:09:51 +01:00
af3d70ccf0
Arion: Add homeassistant 2024-03-07 17:03:33 +01:00
61c6788047
Arion: Add dashboard 2024-03-07 16:57:10 +01:00
8e27d7112b
Enable autostart for newly added stacks 2024-03-07 16:51:17 +01:00
1816515644
Change mode
don't know how that happend, but it did...
2024-03-07 16:50:32 +01:00
ce8953a179
Add sops secrets for db & vpn 2024-03-07 16:49:55 +01:00
fd5838d3f3
Add basic forgejo config 2024-03-07 16:49:27 +01:00
6edfb42e95
Rename lidarr addons dir 2024-03-07 16:49:20 +01:00
4f987b0a6f
Arion: Add forgejo 2024-03-07 16:48:08 +01:00
66b96a843f
Arion: Add media stack 2024-03-07 16:47:34 +01:00
6b5be4cead
Arion: Add vaultwarden 2024-03-07 16:47:24 +01:00
6a3dc93ed1
Arion: Add mollysocket 2024-03-07 16:47:08 +01:00
f807e11b6c
Arion: Add volman 2024-03-07 16:46:49 +01:00
fd4e1ce93d
Split sops secrets management into separate files for each arion subdir 2024-03-06 11:35:13 +01:00
d210f0eefb
Rename dns traefik-net name to dmz 2024-03-06 11:16:42 +01:00
26f369a9ee
Add nas & file sharing arion compose 2024-03-06 11:16:14 +01:00
fb666e0c55
Update alvr to newest nightly 2024-03-05 20:59:44 +01:00
026095f971
Enable ntfs support 2024-03-05 20:59:28 +01:00
69e80b19bb
Begin transfer of docker-compose.yml to arion 2024-03-05 20:59:17 +01:00
88fd84d058
Add basic traefik config 2024-03-03 20:37:06 +01:00
e17fb2a821
Add basic docker config 2024-03-03 20:04:13 +01:00
1a16816996
Add ftp client alias 2024-03-03 15:11:52 +01:00
4e921bfee2
Remove ftp firewall code 2024-03-03 15:11:32 +01:00
e8ad16a7e6
Disable vsftpd firewall 2024-03-03 13:09:01 +01:00
b59053bc18
Disable openssh password auth 2024-03-03 13:08:46 +01:00
5de98e93e2
Enable nvim yamlfmt 2024-03-03 13:08:33 +01:00
9e47462835
Enable ftp server 2024-03-03 12:31:16 +01:00
fa8354f1f8
Make disko config universal 2024-03-03 12:15:40 +01:00
c50872c6e7
Move code to fitting file
Server had unnecessary options enabled
2024-03-03 12:01:23 +01:00
fc21e3db22
Add basic readme 2024-03-02 19:02:59 +01:00
3626a8cb99
Add basic framework laptop host config 2024-03-02 18:59:18 +01:00
03c92b4722
Fix security hole /boot and /boot/loader/random-seed
https://github.com/nix-community/disko/issues/527
2024-03-02 18:26:52 +01:00
126b71a6db
Remove all coding tools but nvim from franz 2024-03-02 18:15:45 +01:00
d7081e45fb
Add default user login 2024-03-02 17:48:50 +01:00
29dd8a6349
Enable ssh server 2024-03-02 17:41:16 +01:00
105d869bbb
Add franz configuration 2024-03-02 17:17:52 +01:00
bdf4e931e7
Add framework hardware-configuration 2024-03-02 17:02:50 +01:00
f6ad0a24b2
Add disko formatting command to host-specific readme 2024-03-02 16:48:54 +01:00
94e8e98c77
Hardcode disko device
Partitioning config will be device-specific, so the device can be hardcoded for now
2024-03-02 16:46:29 +01:00
743a0f6daa
Add franz disko partitioning 2024-03-02 16:30:57 +01:00
8f9aeb27a5
Limit nix download speed
grandparents complained about phone not working
2024-03-02 12:29:45 +01:00
80a209ece5
Enable custom easyeffects autostart 2024-03-02 12:29:10 +01:00
1a5a1f1db0
Add cool cli tools 2024-03-02 12:28:51 +01:00
cbf62f5bfb
Add rofi audio switcher
python script to easily switch audio sinks/sources with rofi

script originally taken from some github user
2024-03-02 12:28:38 +01:00
1fafe02965
flake.lock: Update
Flake lock file updates:

• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/ef5ffffab80806a4c20e54966a39fcb0649b0381?dir=pkgs/firefox-addons' (2024-02-27)
  → 'gitlab:rycee/nur-expressions/c13d9ef669a370fd70e6732e295513cd7342b20d?dir=pkgs/firefox-addons' (2024-03-02)
• Updated input 'hardware':
    'github:nixos/nixos-hardware/3f7d0bca003eac1a1a7f4659bbab9c8f8c2a0958' (2024-02-22)
  → 'github:nixos/nixos-hardware/33a97b5814d36ddd65ad678ad07ce43b1a67f159' (2024-02-28)
• Updated input 'nh':
    'github:viperml/nh/aa4df097654cdeb15aa74aabd72863a6fb30c7e6' (2024-02-19)
  → 'github:viperml/nh/6947e6f6f234d303131ecc1e54ef6703c82257e3' (2024-03-01)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/5bf1cadb72ab4e77cb0b700dab76bcdaf88f706b' (2024-02-25)
  → 'github:nixos/nixpkgs/068d4db604958d05d0b46c47f79b507d84dbc069' (2024-02-29)
• Updated input 'nixpkgs-unstable':
    'github:nixos/nixpkgs/73de017ef2d18a04ac4bfd0c02650007ccb31c2a' (2024-02-24)
  → 'github:nixos/nixpkgs/1536926ef5621b09bba54035ae2bb6d806d72ac8' (2024-02-29)
• Updated input 'xremap':
    'github:xremap/nix-flake/c8307a03099f4e07937ec781303f30f0909d29bb' (2024-01-04)
  → 'github:xremap/nix-flake/a064ca61a03ed495881b46eb6753d4198cfbfcf6' (2024-02-29)
2024-03-02 11:01:14 +01:00
e188718244
flake.lock: Update
Flake lock file updates:

• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/5890c1604631ece220d9c5d121e8e35962041d1b?dir=pkgs/firefox-addons' (2024-02-26)
  → 'gitlab:rycee/nur-expressions/ef5ffffab80806a4c20e54966a39fcb0649b0381?dir=pkgs/firefox-addons' (2024-02-27)
2024-02-27 09:51:01 +01:00
de9327e3c4
Enable support for qt6 themes
previously only qt5 were working
2024-02-27 08:43:09 +01:00
7cfbadfe08
flake.lock: Update
Flake lock file updates:

• Updated input 'arkenfox':
    'github:dwarfmaster/arkenfox-nixos/1c9d061a4ef7bf3ce8a5260eaee4acdb3ee097f9' (2023-11-26)
  → 'github:dwarfmaster/arkenfox-nixos/05e7e0996493f47bbc15228895c4e31ce24616f0' (2024-02-18)
• Updated input 'arkenfox/flake-utils':
    'github:numtide/flake-utils/ff7b65b44d01cf9ba6a71320833626af21126384' (2023-09-12)
  → 'github:numtide/flake-utils/1ef2e671c3b0c19053962c07dbda38332dcebf26' (2024-01-15)
• Updated input 'arkenfox/pre-commit':
    'github:cachix/pre-commit-hooks.nix/e5ee5c5f3844550c01d2131096c7271cec5e9b78' (2023-11-25)
  → 'github:cachix/pre-commit-hooks.nix/5df5a70ad7575f6601d91f0efec95dd9bc619431' (2024-02-15)
• Updated input 'arkenfox/pre-commit/flake-compat':
    'github:edolstra/flake-compat/35bb57c0c8d8b62bbfd284272c928ceb64ddbde9' (2023-01-17)
  → 'github:edolstra/flake-compat/0f9255e01c2351cc7d116c072cb317785dd33b33' (2023-10-04)
• Updated input 'arkenfox/pre-commit/flake-utils':
    'github:numtide/flake-utils/a1720a10a6cfe8234c0e93907ffe81be440f4cef' (2023-05-31)
  → 'github:numtide/flake-utils/4022d587cbbfd70fe950c1e2083a02621806a725' (2023-12-04)
• Updated input 'arkenfox/pre-commit/gitignore':
    'github:hercules-ci/gitignore.nix/a20de23b925fd8264fd7fad6454652e142fd7f73' (2022-08-14)
  → 'github:hercules-ci/gitignore.nix/43e1aa1308018f37118e34d3a9cb4f5e75dc11d5' (2023-12-29)
• Updated input 'arkenfox/pre-commit/nixpkgs':
    'github:NixOS/nixpkgs/df1eee2aa65052a18121ed4971081576b25d6b5c' (2023-07-13)
  → 'github:NixOS/nixpkgs/eabe8d3eface69f5bb16c18f8662a702f50c20d5' (2024-01-09)
• Updated input 'arkenfox/pre-commit/nixpkgs-stable':
    'github:NixOS/nixpkgs/c37ca420157f4abc31e26f436c1145f8951ff373' (2023-06-03)
  → 'github:NixOS/nixpkgs/3dc440faeee9e889fe2d1b4d25ad0f430d449356' (2024-01-10)
• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/bbb49a013731aecb0bc7945776a413f4ad8646dd?dir=pkgs/firefox-addons' (2024-02-14)
  → 'gitlab:rycee/nur-expressions/5890c1604631ece220d9c5d121e8e35962041d1b?dir=pkgs/firefox-addons' (2024-02-26)
• Updated input 'hardware':
    'github:nixos/nixos-hardware/f1b2f71c86a5b1941d20608db0b1e88a07d31303' (2024-02-13)
  → 'github:nixos/nixos-hardware/3f7d0bca003eac1a1a7f4659bbab9c8f8c2a0958' (2024-02-22)
• Updated input 'nh':
    'github:viperml/nh/36eba281576afe0f67e5aafb4e7a414f256dba31' (2024-01-14)
  → 'github:viperml/nh/aa4df097654cdeb15aa74aabd72863a6fb30c7e6' (2024-02-19)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/01885a071465e223f8f68971f864b15829988504' (2024-02-13)
  → 'github:nixos/nixpkgs/5bf1cadb72ab4e77cb0b700dab76bcdaf88f706b' (2024-02-25)
• Updated input 'nixpkgs-unstable':
    'github:nixos/nixpkgs/f9d39fb9aff0efee4a3d5f4a6d7c17701d38a1d8' (2024-02-11)
  → 'github:nixos/nixpkgs/73de017ef2d18a04ac4bfd0c02650007ccb31c2a' (2024-02-24)
2024-02-26 16:11:07 +01:00
5b07d8331b
Add ranger tui file manager 2024-02-26 16:10:10 +01:00
3ea58a37a3
Add bypass paywalls 2024-02-17 12:55:52 +01:00
190081b246
Switch xremap to user mode
system mode didn't work for executing applications
2024-02-16 12:32:19 +01:00
a839540671
Remove old nvchad neovim config 2024-02-16 12:20:24 +01:00
ad7384f5b1
Add gaming launchers
lutris & heroic
2024-02-16 12:20:08 +01:00
25855e6dc0
Add neovim rust formatting 2024-02-16 12:19:41 +01:00
1624cf7a21
Optimize awesome autostarts 2024-02-14 20:16:30 +01:00
285995dbe3
Add zathura settings 2024-02-14 20:16:17 +01:00
8d0af4d0c2
Remove heliox-cli alias
executable name was changed to hx
2024-02-14 20:15:42 +01:00
0398828021
flake.lock: Update
Flake lock file updates:

• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/5dd7809dab61fc370a8d2ac1b998433390642868?dir=pkgs/firefox-addons' (2024-02-14)
  → 'gitlab:rycee/nur-expressions/bbb49a013731aecb0bc7945776a413f4ad8646dd?dir=pkgs/firefox-addons' (2024-02-14)
• Updated input 'heliox-cli':
    'git+https://git.ghoscht.com/heliox/cli/?ref=refs/heads/main&rev=72c9fa0a58489ea5a9cf1de631f7195116a5ff9a' (2024-02-06)
  → 'git+https://git.ghoscht.com/heliox/cli/?ref=refs/heads/main&rev=e05db87d0f38244e6d81f25f0d15b9760e632213' (2024-02-14)
2024-02-14 17:08:32 +01:00
5c42cc1416
flake.lock: Update
Flake lock file updates:

• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/11897e488b25e4237a14fa569b5c80c61b46eac7?dir=pkgs/firefox-addons' (2024-02-02)
  → 'gitlab:rycee/nur-expressions/5dd7809dab61fc370a8d2ac1b998433390642868?dir=pkgs/firefox-addons' (2024-02-14)
• Updated input 'flatpaks':
    'github:GermanBread/declarative-flatpak/16817f92d77c3f2246443e2bcb2cee9be1701a40' (2024-01-30)
  → 'github:GermanBread/declarative-flatpak/efe7897ddcfbca085fba0690b3094e7f8e8911dd' (2024-02-07)
• Updated input 'hardware':
    'github:nixos/nixos-hardware/83e571bb291161682b9c3ccd48318f115143a550' (2024-02-02)
  → 'github:nixos/nixos-hardware/f1b2f71c86a5b1941d20608db0b1e88a07d31303' (2024-02-13)
• Updated input 'heliox-cli':
    'git+https://git.ghoscht.com/heliox/cli/?ref=refs/heads/main&rev=b3ec529d1cd3215266c1ec5da89b141e98d4431d' (2024-02-03)
  → 'git+https://git.ghoscht.com/heliox/cli/?ref=refs/heads/main&rev=72c9fa0a58489ea5a9cf1de631f7195116a5ff9a' (2024-02-06)
• Updated input 'home-manager':
    'github:nix-community/home-manager/10cd9c53115061aa6a0a90aad0b0dde6a999cdb9' (2024-01-19)
  → 'github:nix-community/home-manager/652fda4ca6dafeb090943422c34ae9145787af37' (2024-02-03)
• Updated input 'nix-colors':
    'github:misterio77/nix-colors/fc080c51d2a219b40d886870e364243783ed5ca1' (2024-01-30)
  → 'github:misterio77/nix-colors/b01f024090d2c4fc3152cd0cf12027a7b8453ba1' (2024-02-13)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/53fbe41cf76b6a685004194e38e889bc8857e8c2' (2024-01-31)
  → 'github:nixos/nixpkgs/01885a071465e223f8f68971f864b15829988504' (2024-02-13)
• Updated input 'nixpkgs-unstable':
    'github:nixos/nixpkgs/97b17f32362e475016f942bbdfda4a4a72a8a652' (2024-01-29)
  → 'github:nixos/nixpkgs/f9d39fb9aff0efee4a3d5f4a6d7c17701d38a1d8' (2024-02-11)
2024-02-14 11:08:12 +01:00
1ba3db0dbb
Ignore missing glyphs in wezterm 2024-02-06 21:32:35 +01:00
068b314dc7
Add rust lsp to neovim 2024-02-06 14:34:39 +01:00
7f9239f1f4
Persist neovim undos 2024-02-06 14:34:30 +01:00
d1cc0f5fc6
Add rainbow brackets plugin to neovim 2024-02-05 20:01:48 +01:00
c80c2737e0
Remap capslock to escape 2024-02-04 20:53:38 +01:00
e0ad3bc362
Add heliox-cli 2024-02-04 20:53:09 +01:00
f6e9fe3aa6
Set xdg user directories 2024-02-04 20:48:49 +01:00
f042ecc70f
Add 3d printing tools 2024-02-04 20:48:28 +01:00
9c5c1adaac
Add theming support
gtk, qt, cursor theme
2024-02-04 20:47:59 +01:00
b166ce3656
Add gnome extensions 2024-02-02 20:43:23 +01:00
bfb25dc49f
Re-enable swap for ludwig 2024-02-02 20:33:04 +01:00
0dd253f01a
Fix multi-touch
opentabletdriver conflicted with touchscreen
2024-02-02 20:32:53 +01:00
289a073275
Add additional settings to ludwig from old config 2024-02-02 20:13:13 +01:00
e1771e53b5
Add wallpapers 2024-02-02 20:04:39 +01:00
d7c0570ad3
Enable xdg portal for flatpak 2024-02-02 20:04:30 +01:00
9188251b85
Add vim-be-good 2024-02-02 20:04:17 +01:00
b5c9d8b07d
Merge branch 'main' of ssh://git.ghoscht.com:2222/ghoscht/nix-config 2024-02-02 20:00:05 +01:00
041cfc3ec6
Add convertible "ludwig" 2024-02-02 19:59:41 +01:00
96deb059f3
flake.lock: Update
Flake lock file updates:

• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/24985136f4a5f98254e88c26d428114d206c2565?dir=pkgs/firefox-addons' (2024-01-26)
  → 'gitlab:rycee/nur-expressions/11897e488b25e4237a14fa569b5c80c61b46eac7?dir=pkgs/firefox-addons' (2024-02-02)
• Updated input 'flatpaks':
    'github:GermanBread/declarative-flatpak/8169022bd214fa7f2f3a15d900ada5c109ac3b1d' (2024-01-28)
  → 'github:GermanBread/declarative-flatpak/16817f92d77c3f2246443e2bcb2cee9be1701a40' (2024-01-30)
• Updated input 'hardware':
    'github:nixos/nixos-hardware/f84eaffc35d1a655e84749228cde19922fcf55f1' (2024-01-25)
  → 'github:nixos/nixos-hardware/83e571bb291161682b9c3ccd48318f115143a550' (2024-02-02)
• Updated input 'nix-colors':
    'github:misterio77/nix-colors/37227f274b34a3b51649166deb94ce7fec2c6a4c' (2023-09-22)
  → 'github:misterio77/nix-colors/fc080c51d2a219b40d886870e364243783ed5ca1' (2024-01-30)
• Updated input 'nix-colors/base16-schemes':
    'github:tinted-theming/base16-schemes/d95123ca6377cd849cfdce92c0a24406b0c6a789' (2023-07-16)
  → 'github:tinted-theming/base16-schemes/a9112eaae86d9dd8ee6bb9445b664fba2f94037a' (2023-10-01)
• Updated input 'nix-colors/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/819180647f428a3826bfc917a54449da1e532ce0' (2023-09-17)
  → 'github:nix-community/nixpkgs.lib/e1e11fdbb01113d85c7f41cada9d2847660e3902' (2023-10-22)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/56911ef3403a9318b7621ce745f5452fb9ef6867' (2024-01-27)
  → 'github:nixos/nixpkgs/53fbe41cf76b6a685004194e38e889bc8857e8c2' (2024-01-31)
• Updated input 'nixpkgs-unstable':
    'github:nixos/nixpkgs/c002c6aa977ad22c60398daaa9be52f2203d0006' (2024-01-27)
  → 'github:nixos/nixpkgs/97b17f32362e475016f942bbdfda4a4a72a8a652' (2024-01-29)
2024-02-02 14:01:50 +01:00
f531bfd4a7
flake.lock: Update
Flake lock file updates:

• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/040229d7f25b7169bb66462ed728be6c1cf4d3ee?dir=pkgs/firefox-addons' (2024-01-26)
  → 'gitlab:rycee/nur-expressions/24985136f4a5f98254e88c26d428114d206c2565?dir=pkgs/firefox-addons' (2024-01-26)
• Updated input 'flatpaks':
    'github:GermanBread/declarative-flatpak/c3064ddb8ab61df2323efb5b6e92ae9e44031c7d' (2024-01-05)
  → 'github:GermanBread/declarative-flatpak/8169022bd214fa7f2f3a15d900ada5c109ac3b1d' (2024-01-28)
• Updated input 'flatpaks/nixpkgs':
    'github:NixOS/nixpkgs/7c4c20509c4363195841faa6c911777a134acdf3' (2023-11-28)
  → 'github:NixOS/nixpkgs/a77ab169a83a4175169d78684ddd2e54486ac651' (2024-01-24)
• Updated input 'flatpaks/utils':
    'github:numtide/flake-utils/ff7b65b44d01cf9ba6a71320833626af21126384' (2023-09-12)
  → 'github:numtide/flake-utils/1ef2e671c3b0c19053962c07dbda38332dcebf26' (2024-01-15)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/a77ab169a83a4175169d78684ddd2e54486ac651' (2024-01-24)
  → 'github:nixos/nixpkgs/56911ef3403a9318b7621ce745f5452fb9ef6867' (2024-01-27)
• Updated input 'nixpkgs-unstable':
    'github:nixos/nixpkgs/612f97239e2cc474c13c9dafa0df378058c5ad8d' (2024-01-21)
  → 'github:nixos/nixpkgs/c002c6aa977ad22c60398daaa9be52f2203d0006' (2024-01-27)
2024-01-29 18:50:29 +01:00
0d25c08745
Add feh image viewing tool 2024-01-26 23:03:37 +01:00
ae480c4541
Add self-packaged protonup-rs 2024-01-26 20:20:06 +01:00
8fad99d37f
Add declarative flatpak apps 2024-01-26 18:04:50 +01:00
fa15362b60
flake.lock: Update
Flake lock file updates:

• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/516de0615e77d6e4d1ea5c405c776c0b0d6c1e4c?dir=pkgs/firefox-addons' (2024-01-19)
  → 'gitlab:rycee/nur-expressions/040229d7f25b7169bb66462ed728be6c1cf4d3ee?dir=pkgs/firefox-addons' (2024-01-26)
• Updated input 'hardware':
    'github:nixos/nixos-hardware/bee2202bec57e521e3bd8acd526884b9767d7fa0' (2024-01-15)
  → 'github:nixos/nixos-hardware/f84eaffc35d1a655e84749228cde19922fcf55f1' (2024-01-25)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/8bf65f17d8070a0a490daf5f1c784b87ee73982c' (2024-01-17)
  → 'github:nixos/nixpkgs/a77ab169a83a4175169d78684ddd2e54486ac651' (2024-01-24)
• Updated input 'nixpkgs-unstable':
    'github:nixos/nixpkgs/842d9d80cfd4560648c785f8a4e6f3b096790e19' (2024-01-17)
  → 'github:nixos/nixpkgs/612f97239e2cc474c13c9dafa0df378058c5ad8d' (2024-01-21)
2024-01-26 14:09:39 +01:00
275c7ba60b
Add nextcloud sync support 2024-01-20 23:03:03 +01:00
dc01308c20
flake.lock: Update
Flake lock file updates:

• Updated input 'firefox-addons':
    'gitlab:rycee/nur-expressions/3776272394cb8b1caf3db29bc6dc853f11208b46?dir=pkgs/firefox-addons' (2023-12-25)
  → 'gitlab:rycee/nur-expressions/516de0615e77d6e4d1ea5c405c776c0b0d6c1e4c?dir=pkgs/firefox-addons' (2024-01-19)
• Updated input 'hardware':
    'github:nixos/nixos-hardware/7763c6fd1f299cb9361ff2abf755ed9619ef01d6' (2023-12-13)
  → 'github:nixos/nixos-hardware/bee2202bec57e521e3bd8acd526884b9767d7fa0' (2024-01-15)
• Updated input 'home-manager':
    'github:nix-community/home-manager/0c2353d5d930c3d93724df6858aef064a31b3c00' (2023-12-20)
  → 'github:nix-community/home-manager/10cd9c53115061aa6a0a90aad0b0dde6a999cdb9' (2024-01-19)
• Updated input 'nh':
    'github:viperml/nh/37b0d469a328a5b5969eacdf137f1e6b86c75a1d' (2023-12-19)
  → 'github:viperml/nh/36eba281576afe0f67e5aafb4e7a414f256dba31' (2024-01-14)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/d65bceaee0fb1e64363f7871bc43dc1c6ecad99f' (2023-12-20)
  → 'github:nixos/nixpkgs/8bf65f17d8070a0a490daf5f1c784b87ee73982c' (2024-01-17)
• Updated input 'nixpkgs-unstable':
    'github:nixos/nixpkgs/5e4c2ada4fcd54b99d56d7bd62f384511a7e2593' (2023-10-11)
  → 'github:nixos/nixpkgs/842d9d80cfd4560648c785f8a4e6f3b096790e19' (2024-01-17)
• Updated input 'xremap':
    'github:xremap/nix-flake/5b264392686e6caee50c9b12cb290b7d0f23cf93' (2023-12-05)
  → 'github:xremap/nix-flake/c8307a03099f4e07937ec781303f30f0909d29bb' (2024-01-04)
• Updated input 'xremap/xremap':
    'github:k0kubun/xremap/97268d1d92d94609daddff1230c4ca77d54a84dd' (2023-11-29)
  → 'github:k0kubun/xremap/fa6290e2ace4583c65565e81cbd24954cc657e92' (2024-01-04)
2024-01-19 14:02:19 +01:00
603971e590
XRemap: Try to fix x11 gui application launching 2024-01-07 15:45:50 +01:00
5d3e9d47ff
Remove unused template content 2024-01-07 15:45:15 +01:00
e53f2fd23d
Register feishin packaging to overlay 2024-01-07 15:44:59 +01:00
e2d1a54594
Allow electron as insecure package 2024-01-07 15:44:22 +01:00
f364afefd9
Firefox: Add some customization 2024-01-07 15:43:45 +01:00
61bcca0e3d
Fix vr setup 2024-01-07 15:43:08 +01:00
14f7c99c30
Remove quietboot support
somehow didn't really work, boot just failed and i had to fix it with a rescue media
2024-01-07 15:42:46 +01:00
fc804cd443
Adalbert: Enable docker service 2024-01-07 15:42:16 +01:00
dc8c3121ef
Enable udisks service 2024-01-07 15:41:41 +01:00
627b5a6aa1
Update drive ids after reinstall 2024-01-07 15:41:20 +01:00
4a67198a86
Add kde plasma 2024-01-07 15:41:04 +01:00
ea753db9c4
Add japanese support
writing & font support
2024-01-07 15:40:53 +01:00
568f5dfbc3
Enable man pages for linux
good for coding
2024-01-07 15:40:18 +01:00
26bf0c8618
Add easyeffects config 2024-01-07 15:39:55 +01:00
035dfa62a1
Add graphical applications 2024-01-07 15:39:41 +01:00
a019e2f168
Package feishin
current nix packaging doesn't have newest version because of electron issues
2024-01-07 15:39:11 +01:00
c89472f897
Remove homemanager steam 2024-01-07 15:37:54 +01:00
a4d176a3b8
Add wezterm to default desktop tools 2024-01-07 15:37:41 +01:00
64168f40c9
Add wezterm 2024-01-07 15:37:18 +01:00
6894adf02e
Fish: add abbreviations & aliases 2024-01-07 15:37:01 +01:00
8c2ed133c3
Fish: Add plugins
puffer
z
2024-01-07 15:36:16 +01:00
b96bf6dd06
Add cli tools 2024-01-07 15:35:19 +01:00
5035b060f3
Neovim: Add nvim-surround 2024-01-07 15:34:58 +01:00
9017706dbd
Neovim: Add autopair plugin 2024-01-07 15:33:57 +01:00
1d2f4c677c
Neovim: Add treesitter c grammar 2024-01-07 15:33:41 +01:00
24e1850800
Neovim: Add tabbar 2024-01-07 15:33:29 +01:00
4303d86e7f
Neovim: Add neotree styling 2024-01-07 15:32:57 +01:00
954653ad31
Neovim: Add path completion 2024-01-07 15:32:21 +01:00
2ecc6e684a
Neovim: Disable empty line squiggles
remove the "~" character which signals an empty line
2024-01-07 15:31:34 +01:00
3d2f4e8724
Add advanced steam config
copied from n0vaviper
2023-12-30 12:56:48 +01:00
18d08756cd
Add zathura color scheme 2023-12-30 12:56:12 +01:00
d7d9bfcc74
Install treesitter grammars manually
the nix one sucks
2023-12-30 12:56:02 +01:00
abacd345af
Enable automatic keyring unlock on login 2023-12-29 18:37:20 +01:00
d875ef3466
Enable nvim relative line numbers 2023-12-29 14:19:04 +01:00
5270b13465
Add pipewire util packages
pavucontrol for nice slider ui
pulseaudio for pactl
qpwgrap for nice graph ui
2023-12-29 13:44:01 +01:00
01e315370e Merge pull request 'structural-rework' (#1) from structural-rework into main
Reviewed-on: #1
2023-12-29 10:35:45 +01:00
218 changed files with 10144 additions and 1697 deletions

7
.sops.yaml Normal file
View file

@ -0,0 +1,7 @@
keys:
- &franz age1uauvjwfvg8u0zkn58ematurcptf43gz6vx44nwkq3xcnmwq95psqna9psw
creation_rules:
- path_regex: secrets/franz.yaml$
key_groups:
- age:
- *franz

20
README.md Normal file
View file

@ -0,0 +1,20 @@
# Nix-Config
## Installation
The NixOS installer image comes with password SSH auth disabled. Simply allowing the public Git keys is a nice workaround.
```sh
sudo systemctl start sshd
mkdir ~/.ssh; curl https://git.ghoscht.com/ghoscht.keys > ~/.ssh/authorized_keys
```
The specific config from "hosts" can be installed using the following command. Limiting the download speed is optional, but can come in handy.
```sh
sudo nixos-install --option download-speed 4000 --flake .#<CONFIG_NAME_HERE>
```
## RPi Image generation
```sh
nix build .#nixosConfigurations.eustachius.config.system.build.sdImage
sudo dd if=./result/sd-image/<IMAGE_NAME>.img of=/dev/<DEVICE_NAME> bs=1M status=progress
```

74
disko/btrfs-swap.nix Normal file
View file

@ -0,0 +1,74 @@
{device ? throw "Set this to your disk device, e.g. /dev/sda", ...}: {
disko.devices = {
disk.main = {
inherit device;
type = "disk";
content = {
type = "gpt";
partitions = {
boot = {
name = "boot";
size = "1M";
type = "EF02";
};
esp = {
name = "ESP";
size = "500M";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = ["umask=0077"];
};
};
swap = {
size = "4G";
content = {
type = "swap";
resumeDevice = true;
};
};
root = {
name = "root";
size = "100%";
content = {
type = "lvm_pv";
vg = "root_vg";
};
};
};
};
};
lvm_vg = {
root_vg = {
type = "lvm_vg";
lvs = {
root = {
size = "100%FREE";
content = {
type = "btrfs";
extraArgs = ["-f"];
subvolumes = {
"/root" = {
mountpoint = "/";
};
"/home" = {
mountOptions = ["compress=zstd"];
mountpoint = "/home";
};
"/nix" = {
mountOptions = ["subvol=nix" "compress=zstd" "noatime"];
mountpoint = "/nix";
};
};
};
};
};
};
};
};
}

File diff suppressed because it is too large Load diff

View file

@ -3,21 +3,23 @@
inputs = {
# Nixpkgs
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11";
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
# You can access packages and modules from different nixpkgs revs
# at the same time. Here's an working example:
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
# Also see the 'unstable-packages' overlay at 'overlays/default.nix'.
# Home manager
home-manager.url = "github:nix-community/home-manager/release-23.11";
home-manager.url = "github:nix-community/home-manager/release-24.05";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
hardware.url = "github:nixos/nixos-hardware";
nh = {
url = "github:viperml/nh";
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-colors.url = "github:misterio77/nix-colors";
firefox-addons = {
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
@ -28,13 +30,17 @@
inputs.nixpkgs.follows = "nixpkgs";
};
xremap.url = "github:xremap/nix-flake";
flatpaks.url = "github:GermanBread/declarative-flatpak/stable-v3";
heliox-cli.url = "git+https://git.ghoscht.com/heliox/cli?ref=custom-dimming";
picokontroller.url = "git+https://git.ghoscht.com/ghoscht/picoKontroller";
sops-nix.url = "github:Mic92/sops-nix";
arion.url = "github:hercules-ci/arion";
};
outputs = {
self,
nixpkgs,
home-manager,
arkenfox,
...
} @ inputs: let
inherit (self) outputs;
@ -76,12 +82,43 @@
./hosts/adalbert
];
};
ludwig = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs outputs vars;};
modules = [
./hosts/ludwig
];
};
leopold = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs outputs vars;};
modules = [
./hosts/leopold
];
};
franz = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs outputs vars;};
modules = [
./hosts/franz
];
};
# build with nix build .#nixosConfigurations.eustachius.config.system.build.sdImage
eustachius = nixpkgs.lib.nixosSystem {
system = "aarch64-linux";
modules = [
"${nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64-installer.nix"
./hosts/eustachius
# extra config for sdImage generator
{
sdImage.compressImage = false;
}
];
};
};
# Standalone home-manager configuration entrypoint
# Available through 'home-manager --flake .#your-username@your-hostname'
homeConfigurations = {
"ghoscht@adalbert" = home-manager.lib.homeManagerConfiguration {
"${vars.user}@adalbert" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance
extraSpecialArgs = {inherit inputs outputs vars;};
modules = [
@ -89,5 +126,26 @@
];
};
};
"${vars.user}@ludwig" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance
extraSpecialArgs = {inherit inputs outputs vars;};
modules = [
./home/ludwig.nix
];
};
"${vars.user}@franz" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance
extraSpecialArgs = {inherit inputs outputs vars;};
modules = [
./home/franz.nix
];
};
# "${vars.user}@eustachius" = home-manager.lib.homeManagerConfiguration {
# pkgs = nixpkgs.legacyPackages.aarch64-linux; # Home-manager requires 'pkgs' instance
# extraSpecialArgs = {inherit inputs outputs vars;};
# modules = [
# ./home/eustachius.nix
# ];
# };
};
}

View file

@ -1,6 +1,7 @@
{
inputs,
outputs,
pkgs,
...
}: let
in {
@ -9,38 +10,22 @@ in {
./features/desktop/awesome
./features/games
./features/coding
./features/desktop/common/3d-printing.nix
inputs.nix-colors.homeManagerModules.default
];
colorScheme = inputs.nix-colors.colorSchemes.catppuccin-mocha;
# wallpaper = outputs.wallpapers.cyberpunk-city-red;
#
# # ------ ----- ------
# # | DP-3 | | DP-1| | DP-2 |
# # ------ ----- ------
# monitors = [
# {
# name = "DP-3";
# width = 1920;
# height = 1080;
# x = 0;
# workspace = "3";
# enabled = false;
# }
# {
# name = "DP-1";
# width = 2560;
# height = 1080;
# x = 1920;
# workspace = "1";
# primary = true;
# }
# {
# name = "DP-2";
# width = 1920;
# height = 1080;
# x = 4480;
# workspace = "2";
# }
# ];
home.packages = [
inputs.picokontroller.packages.x86_64-linux.default
# pkgs.citrix_workspace
];
nixpkgs = {
config = {
permittedInsecurePackages = [
"electron-25.9.0"
"nix-2.15.3"
];
};
};
}

View file

@ -20,10 +20,18 @@
httpie # Better curl
diffsitter # Better diff
jq # JSON pretty printer and manipulator
timer # To help with my ADHD paralysis
timer # Nice looking timer
lazydocker # Docker TUI
neofetch
tldr # nice & short manual snippets
neofetch # Unixporn stuff
tldr # Nice & short manual snippets
ntfy-sh # Push notifications to other devices
ipinfo # IP geolocation
ranger # TUI file manager
trickle # cli network limiter
du-dust # disk usage visualizer
lftp # FTP client
unar # unarchive files like rar, zip, tar
glow # fancy markdown viewer
nvd # Differ
nix-output-monitor

View file

@ -7,11 +7,13 @@
inherit (lib) mkIf;
hasPackage = pname: lib.any (p: p ? pname && p.pname == pname) config.home.packages;
hasRipgrep = hasPackage "ripgrep";
hasLftp = hasPackage "lftp";
hasExa = hasPackage "eza";
hasLazygit = config.programs.lazygit.enable;
hasLazydocker = hasPackage "lazydocker";
hasNixYourShell = hasPackage "nix-your-shell";
hasShellColor = config.programs.shellcolor.enable;
hasWezterm = config.programs.wezterm.enable;
shellcolor = "${pkgs.shellcolord}/bin/shellcolor";
in {
programs.fish = {
@ -44,15 +46,29 @@ in {
name = "autopair";
src = pkgs.fishPlugins.autopair.src;
}
{
name = "puffer";
src = pkgs.fishPlugins.puffer.src;
}
{
name = "z";
src = pkgs.fishPlugins.z.src;
}
];
shellAliases = {
lzg = mkIf hasLazygit "lazygit";
lzd = mkIf hasLazydocker "lazydocker";
batt = ''upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep -e "percentage" -e "state"'';
hx = "~/Documents/heliox-cli/target/debug/heliox-cli --mode";
slp = "systemctl suspend";
sdn = "shutdown 0";
nrs = "nh os switch ~/.setup";
ls = mkIf hasExa "eza";
ll = mkIf hasExa "eza -l";
la = mkIf hasExa "eza -la";
exa = mkIf hasExa "eza";
imgcat = mkIf hasWezterm "wezterm imgcat";
};
shellAbbrs = rec {
jqless = "jq -C | less -r";
@ -65,8 +81,16 @@ in {
nbn = "nix build nixpkgs#";
nf = "nix flake";
ls = mkIf hasExa "eza";
exa = mkIf hasExa "eza";
glk = "gpg --list-keys --with-keygrip";
gssh = "gpg --export-ssh-key";
gnk = "gpg --full-generate-key --expert";
gek = "gpg --edit-key --expert";
udmount = "udisksctl mount -b";
udumount = "udisksctl unmount -b";
fftp = mkIf hasLftp "lftp -u ghoscht, sftp://192.168.178.35";
arss = "sudo autorestic exec -av -- snapshots";
};
functions = {
# Disable greeting

View file

@ -1,6 +1,6 @@
{pkgs, ...}: {
#Prefer IPv4 for ssh
home.file.".ssh/config".text = "AddressFamily inet";
# home.file.".ssh/config".text = "AddressFamily inet";
programs.git = {
enable = true;
@ -12,6 +12,7 @@
commit.gpgsign = true;
user.signingkey = "0x2C2C1C62A5388E82";
init.defaultBranch = "main";
pull.rebase = false; # merge by default
};
lfs.enable = true;
aliases = {

View file

@ -11,7 +11,7 @@
enableSshSupport = true;
enableFishIntegration = true;
enableZshIntegration = true;
pinentryFlavor = "gnome3";
pinentryPackage = pkgs.pinentry-gnome3;
};
# Prevent clobbering SSH_AUTH_SOCK

View file

@ -3,5 +3,6 @@
./nvim
./vscode.nix
./intellij.nix
./tmux.nix
];
}

View file

@ -7,6 +7,39 @@
}: let
vars = import ../../../../vars.nix;
colors = config.colorScheme.colors;
stableExtraPkgs = with pkgs; [
# LSP
lua-language-server
pkgs.nodePackages.typescript-language-server
# Formatters
stylua # lua
black # pyton
alejandra # nix
clang-tools_16 # c/c++
rustfmt
yamlfmt
prettierd
vscode-langservers-extracted
# Linters
ruff # python
nodePackages.jsonlint # json
nodePackages.eslint_d # javascript
# Tools
xclip
wl-clipboard
fzf
gcc
# idk?
lua
];
unstableExtraPkgs = with pkgs.unstable; [
# LSP
nixd
];
in {
home.sessionVariables.EDITOR = "nvim";
@ -17,29 +50,7 @@ in {
vimAlias = true;
vimdiffAlias = true;
extraPackages = with pkgs; [
# LSP
lua-language-server
lua
rnix-lsp # nix
# Formatters
stylua # lua
black # pyton
alejandra # nix
clang-tools_16 # c/c++
# Linters
ruff # python
nodePackages.jsonlint # json
nodePackages.eslint_d # javascript
# Tools
xclip
wl-clipboard
fzf
gcc
];
extraPackages = stableExtraPkgs ++ unstableExtraPkgs;
plugins = with pkgs.vimPlugins; [
{
@ -69,6 +80,7 @@ in {
type = "lua";
}
cmp-path
nvim-cmp
{
plugin = nvim-cmp;
@ -92,7 +104,29 @@ in {
friendly-snippets
{
plugin = nvim-treesitter.withAllGrammars;
plugin = nvim-treesitter.withPlugins (p: [
p.vim
p.bash
p.lua
p.python
p.json
p.java
p.rust
p.cpp
p.c
p.css
p.csv
p.dockerfile
p.diff
p.gitignore
p.git_config
p.gitattributes
p.make
p.yaml
p.toml
p.typescript
p.xml
]);
config = builtins.readFile ./plugin/treesitter.lua;
type = "lua";
}
@ -100,7 +134,7 @@ in {
vim-nix
{
plugin = nvim-base16;
plugin = base16-nvim;
config = ''
require('base16-colorscheme').setup({
base00 = '#${colors.base00}', base01 = '#${colors.base01}', base02 = '#${colors.base02}', base03 = '#${colors.base03}',
@ -122,6 +156,7 @@ in {
nui-nvim
{
plugin = neo-tree-nvim;
config = builtins.readFile ./plugin/neo-tree.lua;
type = "lua";
}
@ -151,7 +186,43 @@ in {
config = builtins.readFile ./plugin/none-ls.lua;
type = "lua";
}
{
plugin = nvim-autopairs;
config = "require('nvim-autopairs').setup()";
type = "lua";
}
barbar-nvim
{
plugin = nvim-surround;
config = "require('nvim-surround').setup({})";
type = "lua";
}
vim-be-good
rainbow-delimiters-nvim
rustaceanvim
{
plugin = vim-tmux-navigator;
config = builtins.readFile ./plugin/vim-tmux-navigator.lua;
type = "lua";
}
{
plugin = nvim-ts-autotag;
config = "require('nvim-ts-autotag').setup({})";
type = "lua";
}
];
extraLuaConfig = ''
${builtins.readFile ./options.lua}
'';
};
xdg.desktopEntries = {

View file

@ -1,9 +1,11 @@
vim.keymap.set("", "<Space>", "<Nop>")
vim.keymap.set("", "<C-Space>", "<Nop>")
vim.g.mapleader = " "
vim.g.maplocalleader = " "
vim.o.clipboard = "unnamedplus"
vim.o.number = true
-- vim.o.number = true
vim.o.relativenumber = true
vim.o.signcolumn = "yes"
@ -16,3 +18,8 @@ vim.o.updatetime = 300
vim.o.termguicolors = true
vim.o.mouse = "a"
-- disable empty line ~
vim.o.fillchars = "eob: "
vim.o.undofile = true

View file

@ -42,5 +42,6 @@ cmp.setup({
sources = {
{ name = "nvim_lsp" },
{ name = "luasnip" },
{ name = "path" },
},
})

View file

@ -39,7 +39,29 @@ require("lspconfig").lua_ls.setup({
},
})
require("lspconfig").rnix.setup({
require("lspconfig").nixd.setup({
on_attach = on_attach,
capabilities = capabilities,
})
require("lspconfig").tsserver.setup({
on_attach = on_attach,
capabilities = capabilities,
})
require("lspconfig").eslint.setup({
settings = {
packageManager = "yarn",
},
on_attach = function(client, bufnr)
vim.api.nvim_create_autocmd("BufWritePre", {
buffer = bufnr,
command = "EslintFixAll",
})
vim.api.nvim_create_autocmd("BufWritePost", {
callback = function()
vim.lsp.buf.format()
end,
})
end,
})

View file

@ -0,0 +1,19 @@
require("neo-tree").setup({
close_if_last_window = true, -- Close Neo-tree if it is the last window left in the tab
hide_root_node = true, -- Hide the root node
filesystem = {
filtered_items = {
visible = false,
hide_dotfiles = false,
hide_gitignored = false,
hide_by_name = {
".git",
".DS_Store",
"thumbs.db",
},
show_hidden_count = false,
},
},
})
vim.keymap.set("n", "<C-n>", "<Cmd>Neotree toggle<CR>")

View file

@ -7,14 +7,24 @@ local opts = {
null_ls.builtins.formatting.stylua,
-- Python
null_ls.builtins.formatting.black,
null_ls.builtins.diagnostics.ruff,
-- null_ls.builtins.diagnostics.ruff,
-- Javascript
null_ls.builtins.diagnostics.eslint_d,
null_ls.builtins.diagnostics.jsonlint,
-- null_ls.builtins.diagnostics.eslint_d,
-- null_ls.builtins.diagnostics.jsonlint,
-- C/C++
null_ls.builtins.formatting.clang_format,
-- Nix
null_ls.builtins.formatting.alejandra,
-- Rust
-- null_ls.builtins.formatting.rustfmt,
-- YAML
null_ls.builtins.formatting.yamlfmt,
-- Typescript
null_ls.builtins.formatting.prettier.with({
condition = function(utils)
return utils.has_file({ ".prettierrc.js" })
end,
}),
},
on_attach = function(client, bufnr)
if client.supports_method("textDocument/formatting") then

View file

@ -0,0 +1,5 @@
-- Navigate vim panes better
vim.keymap.set("n", "<c-k>", ":wincmd k<CR>")
vim.keymap.set("n", "<c-j>", ":wincmd j<CR>")
vim.keymap.set("n", "<c-h>", ":wincmd h<CR>")
vim.keymap.set("n", "<c-l>", ":wincmd l<CR>")

View file

@ -0,0 +1,46 @@
{pkgs, ...}: {
home.packages = [pkgs.tmuxinator-fzf-start];
programs.tmux = {
enable = true;
keyMode = "vi";
customPaneNavigationAndResize = true;
mouse = true;
tmuxinator.enable = true;
shortcut = "Space";
extraConfig = ''
bind % split-window -h -c "#{pane_current_path}"
bind '"' split-window -v -c "#{pane_current_path}"
set -sg escape-time 0
'';
plugins = with pkgs; [
tmuxPlugins.vim-tmux-navigator
{
plugin = tmuxPlugins.catppuccin;
extraConfig = ''
set -g status-position top
set-option -sa terminal-features ',xterm-256color:RGB'
set -g @catppuccin_window_left_separator ""
set -g @catppuccin_window_right_separator " "
set -g @catppuccin_window_middle_separator " "
set -g @catppuccin_window_number_position "right"
set -g @catppuccin_window_default_fill "number"
set -g @catppuccin_window_default_text "#W"
set -g @catppuccin_window_current_fill "number"
set -g @catppuccin_window_current_text "#W"
set -g @catppuccin_status_modules_right "directory session"
set -g @catppuccin_status_left_separator " "
set -g @catppuccin_status_right_separator ""
set -g @catppuccin_status_fill "icon"
set -g @catppuccin_status_connect_separator "no"
set -g @catppuccin_directory_text "#{pane_current_path}"
'';
}
];
};
}

View file

@ -1,6 +1,7 @@
{pkgs, ...}: {
imports = [
../common
./zathura.nix
];
home = {
@ -30,6 +31,7 @@
flameshot
xclip
brightnessctl
feh
];
};
}

View file

@ -0,0 +1,47 @@
{pkgs, ...}: {
programs.zathura = {
enable = true;
options = {
selection-clipboard = "clipboard";
statusbar-home-tilde = true;
default-fg = "#CDD6F4";
default-bg = "#1E1E2E";
completion-bg = "#313244";
completion-fg = "#CDD6F4";
completion-highlight-bg = "#575268";
completion-highlight-fg = "#CDD6F4";
completion-group-bg = "#313244";
completion-group-fg = "#89B4FA";
statusbar-fg = "#CDD6F4";
statusbar-bg = "#313244";
notification-bg = "#313244";
notification-fg = "#CDD6F4";
notification-error-bg = "#313244";
notification-error-fg = "#F38BA8";
notification-warning-bg = "#313244";
notification-warning-fg = "#FAE3B0";
inputbar-fg = "#CDD6F4";
inputbar-bg = "#313244";
recolor-lightcolor = "#1E1E2E";
recolor-darkcolor = "#CDD6F4";
index-fg = "#CDD6F4";
index-bg = "#1E1E2E";
index-active-fg = "#CDD6F4";
index-active-bg = "#313244";
render-loading-bg = "#1E1E2E";
render-loading-fg = "#CDD6F4";
highlight-color = "#575268";
highlight-fg = "#F5C2E7";
highlight-active-color = "#F5C2E7";
};
};
}

View file

@ -0,0 +1,3 @@
{pkgs, ...}: {
home.packages = with pkgs; [freecad cura];
}

View file

@ -1,8 +1,29 @@
{
{pkgs, ...}: {
imports = [
./theming.nix
./firefox.nix
./alacritty.nix
./wezterm.nix
./font.nix
./playerctl.nix
./easyeffects.nix
./nextcloud.nix
./flatpak.nix
./notes.nix
./fcitx5.nix
];
home.packages = with pkgs;
[
jellyfin-media-player # watch shows & movies from jellyfin with hardware decoding
# feishin-appimage # self-packaged feishin while electron build fails
signal-desktop # secure messenger
webcord-vencord # more "privacy friendly" discord client
anki
calibre
rofi-audio-switcher # Script to switch default audio sinks/sources
mpv # Video player
]
++ (with pkgs.unstable; [feishin]);
}

View file

@ -0,0 +1,7 @@
{pkgs, ...}: {
# services.easyeffects.enable = true;
xdg.configFile."easyeffects/output/Beyerdynamic_DT990_Oratory.json" = {
source = ../../../../rsc/config/easyeffects/Beyerdynamic_DT990_Oratory.json;
};
home.packages = with pkgs; [easyeffects];
}

View file

@ -0,0 +1,6 @@
{pkgs, ...}: {
xdg.configFile."fcitx5" = {
source = ../../../../rsc/config/fcitx5;
recursive = true;
};
}

View file

@ -5,6 +5,8 @@
...
}: {
imports = [inputs.arkenfox.hmModules.default];
home.file.".mozilla/native-messaging-hosts/org.kde.plasma.browser_integration.json".source = "${pkgs.plasma5Packages.plasma-browser-integration}/lib/mozilla/native-messaging-hosts/org.kde.plasma.browser_integration.json";
programs.firefox = {
enable = true;
@ -20,6 +22,7 @@
darkreader
tabliss
consent-o-matic
# bypass-paywalls-clean
];
search.engines = {
@ -116,59 +119,69 @@
search.default = "Searx";
settings = {
"media.hardwaremediakeys.enabled" = false;
"dom.security.https_only_mode" = true;
"browser.download.panel.shown" = true;
"browser.download.panel.shown" = false;
"browser.toolbars.bookmarks.visibility" = "always";
"signon.rememberSignons" = false;
"browser.formfill.enable" = false;
"signon. prefillForms" = false;
"browser.shell.checkDefaultBrowser" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
# "browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
"browser.uiCustomization.state" = ''{"placements":{"widget-overflow-fixed-list":[],"unified-extensions-area":["addon_darkreader_org-browser-action","plasma-browser-integration_kde_org-browser-action","_506e023c-7f2b-40a3-8066-bc5deb40aebe_-browser-action","_testpilot-containers-browser-action","7esoorv3_alefvanoon_anonaddy_me-browser-action","_a6c4a591-f1b2-4f03-b3ff-767e5bedf4e7_-browser-action","gdpr_cavi_au_dk-browser-action","firefoxcolor_mozilla_com-browser-action","firefox-translations-addon_mozilla_org-browser-action"],"nav-bar":["back-button","forward-button","stop-reload-button","urlbar-container","downloads-button","unified-extensions-button","ublock0_raymondhill_net-browser-action","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action"],"toolbar-menubar":["menubar-items"],"TabsToolbar":["tabbrowser-tabs","new-tab-button","alltabs-button"],"PersonalToolbar":["personal-bookmarks"]},"seen":["save-to-pocket-button","developer-button","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","addon_darkreader_org-browser-action","ublock0_raymondhill_net-browser-action","plasma-browser-integration_kde_org-browser-action","_506e023c-7f2b-40a3-8066-bc5deb40aebe_-browser-action","_testpilot-containers-browser-action","7esoorv3_alefvanoon_anonaddy_me-browser-action","_a6c4a591-f1b2-4f03-b3ff-767e5bedf4e7_-browser-action","gdpr_cavi_au_dk-browser-action","firefoxcolor_mozilla_com-browser-action","firefox-translations-addon_mozilla_org-browser-action"],"dirtyAreaCache":["nav-bar","PersonalToolbar","toolbar-menubar","TabsToolbar","unified-extensions-area"],"currentVersion":20,"newElementCount":4}'';
};
arkenfox = {
enable = true;
"0000".enable = true;
"0100" = {
enable = true;
# Allow setting homepage
"0102"."browser.startup.page".value = 1;
};
"0200" = {
enable = true;
};
"0300".enable = true;
# We keep safebrowsing
"0400".enable = false;
"0600" = {
enable = true;
"0610"."browser.send_pings".enable = true;
};
"0700" = {
enable = true;
# Disable DNS over HTTPS
"0710"."network.trr.mode".value = 5;
};
# "0800" = {
# enable = true;
# # Keep using url bar as search bar
# "0801"."keyword.enabled".value = true;
# };
"0900".enable = true;
"1000" = {
enable = true;
# Enable disk cache for performance reasons
"1001"."browser.cache.disk.enable".enable = true;
"1001"."browser.cache.disk.enable".value = true;
};
"1200".enable = true;
# I don't use container tabs
"1700".enable = false;
"2600" = {
enable = true;
# The recent documents feature is useful
"2653".enable = false;
};
"2700".enable = true;
"0000".enable = true;
"0100" = {
enable = true;
# Allow setting homepage
"0102"."browser.startup.page".value = 1;
};
"0200" = {
enable = true;
};
"0300".enable = true;
# We keep safebrowsing
"0400".enable = false;
"0600" = {
enable = true;
"0610"."browser.send_pings".enable = true;
};
"0700" = {
enable = true;
# Disable DNS over HTTPS
"0710"."network.trr.mode".value = 5;
};
# "0800" = {
# enable = true;
# # Keep using url bar as search bar
# "0801"."keyword.enabled".value = true;
# };
"0900".enable = true;
"1000" = {
enable = true;
# Enable disk cache for performance reasons
"1001"."browser.cache.disk.enable".enable = true;
"1001"."browser.cache.disk.enable".value = true;
};
"1200".enable = true;
# I don't use container tabs
"1700".enable = false;
"2600" = {
enable = true;
# useDownloadDir
"2651".enable = false;
# always_ask_before_handling_new_types
"2654".enable = false;
};
"2700".enable = true;
"2800" = {
"2812".enable = true;
};
"5000" = {
"5008".enable = true;
};
};
};
};

View file

@ -0,0 +1,32 @@
{
inputs,
pkgs,
vars,
...
}: {
imports = [inputs.flatpaks.homeManagerModules.default];
services.flatpak = {
remotes.flathub = "https://flathub.org/repo/flathub.flatpakrepo";
packages = [
"flathub:app/us.zoom.Zoom//stable"
"flathub:app/com.discordapp.Discord//stable"
"flathub:app/md.obsidian.Obsidian//stable"
];
overrides = {
global = {
filesystems = [
"~/.local/share/icons"
];
environment = {
"MOZ_ENABLE_WAYLAND" = 1;
};
};
"md.obsidian.Obsidian" = {
sockets = [
"wayland"
"system-bus"
];
};
};
};
}

View file

@ -0,0 +1,3 @@
{
services.nextcloud-client.enable = true;
}

View file

@ -0,0 +1,5 @@
{pkgs, ...}: {
home.packages = with pkgs; [
xournalpp
];
}

View file

@ -0,0 +1,33 @@
{pkgs, ...}: {
home.pointerCursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
size = 25;
x11.enable = true;
gtk.enable = true;
};
# gtk.cursorTheme.package = pkgs.bibata-cursors;
# gtk.cursorTheme.name = "Bibata-Modern-Ice";
# home.file.".icons/bibata".source = "${pkgs.bibata-cursors}/share/icons/Bibata-Modern-Classic";
# xdg.dataFile."icons/bibata".source = "${pkgs.bibata-cursors}/share/icons/Bibata-Modern-Classic";
gtk = {
enable = true;
theme.package = pkgs.adw-gtk3;
theme.name = "adw-gtk3-dark";
iconTheme.package = pkgs.papirus-icon-theme;
iconTheme.name = "Papirus";
};
qt = {
enable = true;
platformTheme = "gtk";
style.package = with pkgs; [adwaita-qt adwaita-qt6];
style.name = "adwaita-dark";
};
home.packages = with pkgs; [
libsForQt5.qt5.qtquickcontrols2
libsForQt5.qt5.qtgraphicaleffects
];
}

View file

@ -0,0 +1,55 @@
{
pkgs,
config,
...
}: {
programs.wezterm = {
enable = true;
colorSchemes = {
"${config.colorscheme.slug}" = with config.colorScheme; {
foreground = "#${colors.base05}";
background = "#${colors.base00}";
ansi = [
"#${colors.base00}"
"#${colors.base08}"
"#${colors.base0B}"
"#${colors.base0A}"
"#${colors.base0D}"
"#${colors.base0E}"
"#${colors.base0C}"
"#${colors.base05}"
];
brights = [
"#${colors.base03}"
"#${colors.base08}"
"#${colors.base0B}"
"#${colors.base0A}"
"#${colors.base0D}"
"#${colors.base0E}"
"#${colors.base0C}"
"#${colors.base07}"
];
cursor_fg = "#${colors.base00}";
cursor_bg = "#${colors.base05}";
selection_fg = "#${colors.base00}";
selection_bg = "#${colors.base05}";
};
};
extraConfig = ''
return {
warn_about_missing_glyphs=false,
font = wezterm.font("${config.fontProfiles.monospace.family}"),
font_size = 12.0,
window_background_opacity = 0.83,
color_scheme = "${config.colorscheme.slug}",
hide_tab_bar_if_only_one_tab = true,
window_close_confirmation = "NeverPrompt",
use_ime = true,
set_environment_variables = {
TERM = 'wezterm',
},
}
'';
};
}

View file

@ -0,0 +1,5 @@
{pkgs, ...}: {
imports = [
../common
];
}

View file

@ -1,5 +1,12 @@
{pkgs, ...}: {
imports = [
# ./steam.nix
home.packages = with pkgs; [
protonup-rs
heroic
(lutris.override {
extraLibraries = pkgs: [
wine
wineWowPackages.stable
];
})
];
}

View file

@ -1,31 +0,0 @@
{
pkgs,
lib,
config,
...
}: let
steam-with-pkgs = pkgs.steam.override {
extraPkgs = pkgs:
with pkgs; [
xorg.libXcursor
xorg.libXi
xorg.libXinerama
xorg.libXScrnSaver
libpng
libpulseaudio
libvorbis
stdenv.cc.cc.lib
libkrb5
keyutils
gamescope
mangohud
];
};
in {
home.packages = with pkgs; [
steam-with-pkgs
gamescope
mangohud
protontricks
];
}

View file

@ -0,0 +1,14 @@
{
xdg.userDirs = {
enable = true;
createDirectories = true;
desktop = "/home/ghoscht/Uni";
download = "/home/ghoscht/Downloads";
documents = "/home/ghoscht/Documents";
music = null;
pictures = "/home/ghoscht/Pictures";
publicShare = null;
templates = null;
videos = null;
};
}

27
home/franz.nix Normal file
View file

@ -0,0 +1,27 @@
{
inputs,
outputs,
...
}: let
in {
imports = [
./global
./features/coding/nvim
./features/coding/tmux.nix
inputs.nix-colors.homeManagerModules.default
];
colorScheme = inputs.nix-colors.colorSchemes.catppuccin-mocha;
home.file.".docker" = {
source = ../rsc/docker/franz;
recursive = true;
};
nixpkgs = {
config = {
permittedInsecurePackages = [
"nix-2.15.3"
];
};
};
}

View file

@ -20,6 +20,7 @@
# You can also split up your configuration and import pieces of it here:
../features/cli
../features/general/xdg-dirs.nix
]
++ (builtins.attrValues outputs.homeManagerModules);

27
home/ludwig.nix Normal file
View file

@ -0,0 +1,27 @@
{
pkgs,
inputs,
outputs,
...
}: let
in {
imports = [
./global
./features/desktop/awesome
./features/desktop/gnome
./features/coding
inputs.nix-colors.homeManagerModules.default
];
home.packages = with pkgs; [nextcloud-client];
colorScheme = inputs.nix-colors.colorSchemes.catppuccin-mocha;
nixpkgs = {
config = {
permittedInsecurePackages = [
"electron-25.9.0"
"nix-2.15.3"
];
};
};
}

View file

@ -3,9 +3,6 @@
{
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
# You can import other NixOS modules here
@ -32,9 +29,11 @@
../common/optional/kde-connect.nix
../common/optional/gnome-keyring.nix
../common/optional/adb.nix
../common/optional/docker.nix
../common/optional/gaming/gamemode.nix
../common/optional/gaming/steam.nix
../common/optional/gaming/vr.nix
../common/optional/desktop/japanese.nix
../common/optional/udisks.nix
];
nixpkgs = {
@ -65,13 +64,29 @@
networking.hostName = "adalbert";
services.udev.packages = [inputs.heliox-cli.packages.x86_64-linux.default];
environment.systemPackages = [inputs.heliox-cli.packages.x86_64-linux.default];
programs.nix-ld.enable = true;
# services.xserver.displayManager.sddm.enable = true;
services.xserver.displayManager.gdm.enable = true;
# Force disable Nvidia PRIME, needed by nix-hardware
hardware.nvidia.prime.offload.enable = false;
programs.coolercontrol = {
enable = true;
nvidiaSupport = true;
};
boot.binfmt.emulatedSystems = [
"aarch64-linux"
"riscv64-linux"
];
programs = {
adb.enable = true;
dconf.enable = true;
kdeconnect.enable = true;
};
hardware = {

View file

@ -18,17 +18,17 @@
boot.extraModulePackages = [];
fileSystems."/" = {
device = "/dev/disk/by-uuid/f9ba57fb-0b82-47e0-8189-7bbebc530e2b";
device = "/dev/disk/by-uuid/e92a5e85-52ce-4627-be79-5c07a99e2d1b";
fsType = "ext4";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/BCF2-51D4";
device = "/dev/disk/by-uuid/348E-AC69";
fsType = "vfat";
};
swapDevices = [
{device = "/dev/disk/by-uuid/4834fbc3-3feb-4b93-b11f-8b9bd054c5c1";}
{device = "/dev/disk/by-uuid/ae322cab-c083-4644-80ff-9122498d54e8";}
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking

View file

@ -2,7 +2,6 @@
{
inputs,
outputs,
config,
...
}: {
imports =
@ -12,8 +11,8 @@
./fish.nix
./locale.nix
./nix.nix
./podman.nix
./power-button.nix
./documentation.nix
]
++ (builtins.attrValues outputs.nixosModules);
@ -26,8 +25,8 @@
};
};
# Fix for qt6 plugins
environment.profileRelativeSessionVariables = {
QT_PLUGIN_PATH = ["/lib/qt-6/plugins"];
};
# Enable networking
networking.networkmanager.enable = true;
boot.supportedFilesystems = ["ntfs"];
}

View file

@ -0,0 +1,9 @@
{pkgs, ...}: {
environment.systemPackages = with pkgs; [man-pages man-pages-posix];
documentation.dev.enable = true;
documentation.man = {
# In order to enable to mandoc man-db has to be disabled.
man-db.enable = false;
mandoc.enable = true;
};
}

View file

@ -9,4 +9,6 @@
# Create folder where all fonts are linked to /run/current-system/sw/share/X11/fonts
fonts.fontDir.enable = true;
xdg.portal.enable = true;
}

View file

@ -4,15 +4,13 @@
pkgs,
...
}: {
imports = [./pipewire.nix ../printing.nix ./flatpak.nix ./xdg.nix ./xremap.nix];
# Enable networking
networking.networkmanager.enable = true;
imports = [./pipewire.nix ../printing.nix ./flatpak.nix ./xremap.nix];
# Enable for GTK
programs.dconf.enable = true;
services.xserver = {
displayManager.sddm.enable = true;
# Fix for qt6 plugins
environment.profileRelativeSessionVariables = {
QT_PLUGIN_PATH = ["/lib/qt-6/plugins"];
};
}

View file

@ -11,6 +11,41 @@
desktopManager.gnome = {
enable = true;
};
libinput.enable = true;
modules = [pkgs.xf86_input_wacom];
wacom.enable = true;
};
udev.packages = with pkgs; [
gnome.gnome-settings-daemon
];
};
environment = {
systemPackages = with pkgs; [
# System-Wide Packages
gnome.adwaita-icon-theme
gnome.dconf-editor
gnome.gnome-tweaks
gnomeExtensions.kimpanel
gnomeExtensions.vitals
gnomeExtensions.tray-icons-reloaded
];
gnome.excludePackages =
(with pkgs; [
# Ignored Packages
gnome-tour
])
++ (with pkgs.gnome; [
atomix
epiphany
geary
gedit
gnome-characters
gnome-contacts
gnome-initial-setup
hitori
iagno
tali
]);
};
}

View file

@ -0,0 +1,12 @@
{pkgs, ...}: {
i18n.inputMethod = {
enabled = "fcitx5";
fcitx5.addons = with pkgs; [
fcitx5-mozc
fcitx5-gtk
];
};
fonts.packages = with pkgs; [
noto-fonts-cjk-sans
];
}

View file

@ -1,4 +1,4 @@
{
{pkgs, ...}: {
security.rtkit.enable = true;
hardware.pulseaudio.enable = false;
services.pipewire = {
@ -8,4 +8,6 @@
pulse.enable = true;
jack.enable = true;
};
environment.systemPackages = with pkgs; [pavucontrol pulseaudio qpwgraph];
}

View file

@ -0,0 +1,15 @@
{pkgs, ...}: {
imports = [./global.nix ./x11.nix];
services.xserver.desktopManager.plasma5.enable = true;
environment.plasma5.excludePackages = with pkgs.libsForQt5; [
elisa
gwenview
okular
oxygen
khelpcenter
konsole
plasma-browser-integration
print-manager
];
}

View file

@ -1,21 +1,63 @@
{
pkgs,
inputs,
lib,
...
}: {
imports = [
inputs.xremap.nixosModules.default
];
hardware.uinput.enable = true;
users.groups.uinput.members = ["ghoscht"];
users.groups.input.members = ["ghoscht"];
systemd.user.services.set-xhost = {
description = "Run a one-shot command upon user login";
path = [pkgs.xorg.xhost];
wantedBy = ["default.target"];
script = "xhost +SI:localuser:root";
environment.DISPLAY = ":0"; # NOTE: This is hardcoded for this flake
};
services.xremap = {
withX11 = true;
watch = true;
debug = false;
userName = "ghoscht";
serviceMode = "user";
config = {
keymap = [
{
name = "main remaps";
name = "Global";
remap = {
super-e = {
launch = ["firefox"];
"CapsLock" = "Esc";
"Esc" = "CapsLock";
super-x = {
launch = ["${lib.getExe pkgs.wezterm}"];
};
# super-space = {
# launch = ["${lib.getExe pkgs.rofi}" "-i" "-show" "drun" "-show-icons"];
# };
# super-control-l = {
# launch = ["${lib.getExe pkgs.firefox}"];
# };
# super-control-shift-l = {
# launch = ["${lib.getExe pkgs.firefox}" "--private-window"];
# };
};
}
{
name = "Music";
remap = {
"KEY_PLAYPAUSE" = {
launch = ["${lib.getExe pkgs.playerctl}" "play-pause"];
};
"KEY_NEXTSONG" = {
launch = ["${lib.getExe pkgs.playerctl}" "next"];
};
"KEY_PREVIOUSSONG" = {
launch = ["${lib.getExe pkgs.playerctl}" "previous"];
};
};
}

View file

@ -1,18 +1,17 @@
{pkgs, ...}: {
environment.systemPackages = with pkgs.unstable; [
heroic # Game Launcher
lutris # Game Launcher
steam # Game Launcher
];
{
config,
lib,
pkgs,
...
}: {
programs = {
steam = {
enable = true;
remotePlay.openFirewall = true;
gamescopeSession.enable = false;
};
# Steam: Right-click game - Properties - Launch options: gamemoderun %command%
# Lutris: General Preferences - Enable Feral GameMode
# - Global options - Add Environment Variables: LD_PRELOAD=/nix/store/*-gamemode-*-lib/lib/libgamemodeauto.so
};
xdg.mime = {
defaultApplications."x-scheme-handler/steam" = "steam.desktop";
addedAssociations."x-scheme-handler/steam" = "steam.desktop";
};
}

View file

@ -1,6 +0,0 @@
{
programs.alvr = {
enable = true;
openFirewall = true;
};
}

View file

@ -2,11 +2,10 @@
config,
lib,
pkgs,
vars,
...
}: let
in {
security.pam.services.${vars.user}.enableGnomeKeyring = true;
security.pam.services.sddm.enableGnomeKeyring = true;
services.gnome.gnome-keyring.enable = true;
programs.seahorse.enable = true;
}

View file

@ -1,33 +0,0 @@
{
pkgs,
config,
...
}: {
console = {
useXkbConfig = true;
earlySetup = false;
};
boot = {
plymouth = {
enable = true;
theme = "spinner-monochrome";
themePackages = [
(pkgs.plymouth-spinner-monochrome.override {
inherit (config.boot.plymouth) logo;
})
];
};
loader.timeout = 0;
kernelParams = [
"quiet"
"loglevel=3"
"systemd.show_status=auto"
"udev.log_level=3"
"rd.udev.log_level=3"
"vt.global_cursor_default=0"
];
consoleLogLevel = 0;
initrd.verbose = false;
};
}

View file

@ -3,6 +3,7 @@
systemd-boot = {
enable = true;
consoleMode = "max";
configurationLimit = 42;
};
efi.canTouchEfiVariables = true;
};

View file

@ -0,0 +1,3 @@
{
services.udisks2.enable = true;
}

View file

@ -0,0 +1,7 @@
{
services.vsftpd = {
enable = true;
writeEnable = true;
localUsers = true;
};
}

View file

@ -0,0 +1,117 @@
{
pkgs,
lib,
...
}: let
vars = import ../../vars.nix;
in {
imports = [../common/global/locale.nix];
# NixOS wants to enable GRUB by default
boot.loader.grub.enable = false;
# Enables the generation of /boot/extlinux/extlinux.conf
boot.loader.generic-extlinux-compatible.enable = true;
# !!! Set to specific linux kernel version
boot.kernelPackages = pkgs.linuxPackages;
# Disable ZFS on kernel 6
boot.supportedFilesystems = lib.mkForce [
"vfat"
"xfs"
"cifs"
"ntfs"
];
# !!! Needed for the virtual console to work on the RPi 3, as the default of 16M doesn't seem to be enough.
# If X.org behaves weirdly (I only saw the cursor) then try increasing this to 256M.
# On a Raspberry Pi 4 with 4 GB, you should either disable this parameter or increase to at least 64M if you want the USB ports to work.
boot.kernelParams = ["cma=256M"];
# File systems configuration for using the installer's partition layout
fileSystems = {
# Prior to 19.09, the boot partition was hosted on the smaller first partition
# Starting with 19.09, the /boot folder is on the main bigger partition.
# The following is to be used only with older images.
/*
"/boot" = {
device = "/dev/disk/by-label/NIXOS_BOOT";
fsType = "vfat";
};
*/
"/" = {
device = "/dev/disk/by-label/NIXOS_SD";
fsType = "ext4";
};
};
# !!! Adding a swap file is optional, but strongly recommended!
swapDevices = [
{
device = "/swapfile";
size = 1024;
}
];
# systemPackages
environment.systemPackages = with pkgs; [
neovim
curl
wget
];
services.openssh = {
enable = true;
settings.PermitRootLogin = "yes";
};
services.restic.server = {
enable = true;
dataDir = "/mnt/backups";
extraFlags = ["--no-auth"];
};
services.tailscale = {
enable = true;
useRoutingFeatures = "server";
};
virtualisation.docker.enable = true;
networking.firewall.enable = false;
# Networking
networking.useDHCP = true;
# forwarding
boot.kernel.sysctl = {
"net.ipv4.conf.all.forwarding" = true;
"net.ipv6.conf.all.forwarding" = true;
"net.ipv4.tcp_ecn" = true;
};
# put your own configuration here, for example ssh keys:
users.mutableUsers = true;
users.users.nixos = {
isNormalUser = true;
password = "changeme";
extraGroups = ["wheel" "docker"];
openssh.authorizedKeys.keys = [
#Adalbert
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJd6Gut34abkwlZ4tZVBO4Qt7CkIpPm/Z8R6JCisjnYy openpgp:0xBD0CFCA0"
#Ludwig
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFlRsnLqm6Ap3yKEEhtFiWavo72df/X5Il1ZCmENUqev openpgp:0xDE189CA5"
#Franz
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIINCjLoirHMos7c9lRatWtSYAk68xbUGc8vPU0wFxIzj openpgp:0x7430326E"
];
};
users.users.admin = {
isNormalUser = true;
extraGroups = ["wheel"]; # Enable sudo for the user.
hashedPassword = "blablabla"; # generate with `mkpasswd`
};
nix.settings.trusted-users = ["admin" "ghoscht" "nixos"];
system.stateVersion = "23.11";
}

7
hosts/franz/README.md Normal file
View file

@ -0,0 +1,7 @@
# Franz
## Drive Formatting
```sh
sudo nix --experimental-features "nix-command flakes" run github:nix-community/disko -- --mode disko ../../disko/btrfs-swap.nix --arg device '"/dev/nvme0n1"'
```

View file

@ -0,0 +1,131 @@
let
authentikImage = "ghcr.io/goauthentik/server:2024.8.2";
in {
project.name = "auth";
networks.dmz = {
name = "dmz";
external = true;
};
networks.internal = {};
services = {
authentik.service = {
image = authentikImage;
container_name = "authentik";
labels = {
"traefik.enable" = "true";
"traefik.http.services.authentik.loadbalancer.server.port" = "9000";
"traefik.http.routers.authentik.service" = "authentik";
"traefik.http.routers.authentik.rule" = "Host(`auth.ghoscht.com`)";
"traefik.http.routers.authentik.entrypoints" = "websecure";
"traefik.http.routers.authentik.tls" = "true";
"traefik.http.routers.authentik.tls.certresolver" = "letsencrypt";
"traefik.http.services.authentik-external.loadbalancer.server.port" = "9000";
"traefik.http.routers.authentik-external.service" = "authentik-external";
"traefik.http.routers.authentik-external.rule" = "Host(`auth.ghoscht.com`)";
"traefik.http.routers.authentik-external.entrypoints" = "websecure-external";
"traefik.http.routers.authentik-external.tls" = "true";
"traefik.http.routers.authentik-external.tls.certresolver" = "letsencrypt";
"diun.enable" = "true";
"diun.watch_repo" = "true";
"diun.include_tags" = "^\\d+\\.\\d+\\.\\d+$$";
};
command = "server";
environment = {
AUTHENTIK_REDIS__HOST = "redis";
AUTHENTIK_POSTGRESQL__HOST = "postgres";
AUTHENTIK_ERROR_REPORTING__ENABLED = "true";
};
env_file = [
"/home/ghoscht/.docker/auth/authentik.env"
];
restart = "always";
depends_on = {
redis = {condition = "service_healthy";};
postgres = {condition = "service_healthy";};
};
volumes = [
"/storage/dataset/docker/auth/authentik_media:/media"
"/storage/dataset/docker/auth/authentik_custom_templates:/templates"
];
networks = [
"dmz"
"internal"
];
};
worker.service = {
image = authentikImage;
command = "worker";
environment = {
AUTHENTIK_REDIS__HOST = "redis";
AUTHENTIK_POSTGRESQL__HOST = "postgres";
AUTHENTIK_ERROR_REPORTING__ENABLED = "true";
};
env_file = [
"/home/ghoscht/.docker/auth/authentik.env"
];
depends_on = {
redis = {condition = "service_healthy";};
postgres = {condition = "service_healthy";};
};
volumes = [
"/var/run/docker.sock:/var/run/docker.sock"
"/storage/dataset/docker/auth/authentik_media:/media"
"/storage/dataset/docker/auth/authentik_custom_templates:/templates"
];
restart = "always";
user = "root";
networks = [
"internal"
];
};
redis.service = {
image = "redis:7.2.4";
command = "--save 60 1 --loglevel warning";
healthcheck = {
test = [
"CMD-SHELL"
"redis-cli ping | grep PONG"
];
start_period = "20s";
interval = "30s";
retries = 5;
timeout = "5s";
};
restart = "always";
volumes = [
"/storage/dataset/docker/auth/redis_data:/data"
];
networks = [
"internal"
];
};
postgres.service = {
image = "postgres:12.18";
restart = "always";
env_file = [
"/home/ghoscht/.docker/auth/postgres.env"
];
volumes = [
"/storage/dataset/docker/auth/postgres_data:/var/lib/postgresql/data"
];
healthcheck = {
test = [
"CMD-SHELL"
"pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"
];
start_period = "20s";
interval = "30s";
retries = 5;
timeout = "5s";
};
networks = [
"internal"
];
};
};
}

View file

@ -0,0 +1,6 @@
# Instead of pinning Nixpkgs, we can opt to use the one in NIX_PATH
import <nixpkgs> {
# We specify the architecture explicitly. Use a Linux remote builder when
# calling arion from other platforms.
system = "x86_64-linux";
}

View file

@ -0,0 +1,45 @@
{config, ...}: let
vars = import ../../../../vars.nix;
in {
virtualisation.arion = {
projects.auth.settings = {
imports = [./arion-compose.nix];
};
};
sops.secrets."auth/postgres_db" = {
owner = vars.user;
};
sops.secrets."auth/postgres_user" = {
owner = vars.user;
};
sops.secrets."auth/postgres_pw" = {
owner = vars.user;
};
sops.secrets."auth/authentik_secret_key" = {
owner = vars.user;
};
sops.templates."auth-postgres.env" = {
path = "/home/${vars.user}/.docker/auth/postgres.env";
owner = vars.user;
mode = "0775";
content = ''
POSTGRES_PASSWORD="${config.sops.placeholder."auth/postgres_pw"}"
POSTGRES_USER="${config.sops.placeholder."auth/postgres_user"}"
POSTGRES_DB="${config.sops.placeholder."auth/postgres_db"}"
'';
};
sops.templates."auth-authentik.env" = {
path = "/home/${vars.user}/.docker/auth/authentik.env";
owner = vars.user;
mode = "0775";
content = ''
AUTHENTIK_POSTGRESQL__PASSWORD="${config.sops.placeholder."auth/postgres_pw"}"
AUTHENTIK_POSTGRESQL__USER="${config.sops.placeholder."auth/postgres_user"}"
AUTHENTIK_POSTGRESQL__NAME="${config.sops.placeholder."auth/postgres_db"}"
AUTHENTIK_SECRET_KEY="${config.sops.placeholder."auth/authentik_secret_key"}"
'';
};
}

View file

@ -0,0 +1,42 @@
{pkgs, ...}: {
project.name = "dashboard";
networks.dmz = {
name = "dmz";
external = true;
};
services = {
homarr.service = {
image = "ghcr.io/ajnart/homarr:0.15.3";
container_name = "homarr";
labels = {
"traefik.enable" = "true";
"traefik.http.routers.homarr.entrypoints" = "websecure";
"traefik.http.routers.homarr.rule" = "Host(`dashboard.ghoscht.com`)";
"traefik.http.routers.homarr.tls" = "true";
"traefik.http.routers.homarr.tls.certresolver" = "letsencrypt";
};
environment = {
AUTH_PROVIDER = "oidc";
AUTH_OIDC_URI = "https://auth.ghoscht.com/application/o/homarr";
AUTH_OIDC_CLIENT_NAME = "authentik";
NEXTAUTH_URL = "https://dashboard.ghoscht.com";
AUTH_OIDC_ADMIN_GROUP = "Homarr Admins";
AUTH_OIDC_OWNER_GROUP = "Homarr Admins";
};
env_file = [
"/home/ghoscht/.docker/dashboard/homarr.env"
];
volumes = [
"/storage/dataset/docker/dashboard/homarr_data:/data"
"/storage/dataset/docker/dashboard/homarr_config:/app/data/configs"
"/storage/dataset/docker/dashboard/homarr_icons:/app/public/imgs"
];
restart = "always";
networks = [
"dmz"
];
};
};
}

View file

@ -0,0 +1,6 @@
# Instead of pinning Nixpkgs, we can opt to use the one in NIX_PATH
import <nixpkgs> {
# We specify the architecture explicitly. Use a Linux remote builder when
# calling arion from other platforms.
system = "x86_64-linux";
}

View file

@ -0,0 +1,24 @@
{config, ...}: let
vars = import ../../../../vars.nix;
in {
virtualisation.arion = {
projects.dashboard.settings = {
imports = [./arion-compose.nix];
};
};
sops.secrets."homarr/oidc_client_id" = {
owner = vars.user;
};
sops.secrets."homarr/oidc_client_secret" = {
owner = vars.user;
};
sops.templates."homarr.env" = {
path = "/home/${vars.user}/.docker/dashboard/homarr.env";
owner = vars.user;
mode = "0775";
content = ''
AUTH_OIDC_CLIENT_SECRET="${config.sops.placeholder."homarr/oidc_client_secret"}"
AUTH_OIDC_CLIENT_ID="${config.sops.placeholder."homarr/oidc_client_id"}"
'';
};
}

View file

@ -0,0 +1,51 @@
{
inputs,
pkgs,
config,
...
}: {
imports = [
inputs.arion.nixosModules.arion
./dns
./infrastructure
./nextcloud
./push
./git
./passwords
./media
./dashboard
./smarthome
./signal
./feed
./matrix
./headscale
./auth
./minio
./stats
./wiki
];
environment.systemPackages = with pkgs; [arion];
virtualisation.arion.backend = "docker";
systemd.services.init-dmz-bridge-network = {
description = "Create the network bridge dmz for the Docker stack.";
after = ["network.target"];
wantedBy = ["multi-user.target"];
serviceConfig.Type = "oneshot";
script = let
dockercli = "${config.virtualisation.docker.package}/bin/docker";
in ''
# Put a true at the end to prevent getting non-zero return code, which will
# crash the whole service.
check=$(${dockercli} network ls | grep "dmz" || true)
if [ -z "$check" ]; then
${dockercli} network create dmz
else
echo "dmz already exists in docker"
fi
'';
};
}

View file

@ -0,0 +1,76 @@
{pkgs, ...}: {
project.name = "dns";
networks.dmz = {
name = "dmz";
external = true;
};
networks.dns = {
name = "dns";
driver = "bridge";
ipam.config = [
{
subnet = "172.28.1.0/24";
ip_range = "172.28.1.5/30";
gateway = "172.28.1.1";
}
];
};
services = {
pihole.service = {
image = "pihole/pihole:2024.03.1";
container_name = "pihole";
hostname = "pihole";
environment = {
IPv6 = "True";
TZ = "Europe/Berlin";
SKIPGRAVITYONBOOT = 1;
VIRTUAL_HOST = "pihole.ghoscht.com";
};
volumes = [
"/storage/dataset/docker/dns/pihole_data:/etc/pihole"
"/storage/dataset/docker/dns/pihole_dnsmasq:/etc/dnsmasq.d"
];
labels = {
"traefik.enable" = "true";
"traefik.http.routers.pihole.entrypoints" = "websecure";
"traefik.http.routers.pihole.rule" = "Host(`pihole.ghoscht.com`)";
"traefik.http.services.pihole.loadbalancer.server.port" = "80";
"traefik.docker.network" = "dmz";
"traefik.http.routers.pihole.tls" = "true";
"traefik.http.routers.pihole.tls.certresolver" = "letsencrypt";
};
restart = "always";
networks = {
dmz = {};
dns = {
ipv4_address = "172.28.1.6";
};
};
capabilities = {
NET_ADMIN = true;
};
ports = [
"8420:80"
"53:53/tcp"
"53:53/udp"
];
};
unbound.service = {
image = "mvance/unbound:1.19.3";
container_name = "unbound";
useHostStore = true;
volumes = [
"/storage/dataset/docker/dns/unbound_data:/opt/unbound/etc/unbound"
];
restart = "always";
networks = {
dns = {
ipv4_address = "172.28.1.5";
};
};
};
};
}

View file

@ -0,0 +1,6 @@
# Instead of pinning Nixpkgs, we can opt to use the one in NIX_PATH
import <nixpkgs> {
# We specify the architecture explicitly. Use a Linux remote builder when
# calling arion from other platforms.
system = "x86_64-linux";
}

View file

@ -0,0 +1,11 @@
{pkgs, ...}: {
virtualisation.arion = {
projects.dns.settings = {
imports = [./arion-compose.nix];
};
};
# Fix containers not being able to use pihole as dns
networking.resolvconf.useLocalResolver = true;
networking.firewall.allowedTCPPorts = [80 443];
}

View file

@ -0,0 +1,46 @@
{pkgs, ...}: {
project.name = "feed";
networks.dmz = {
name = "dmz";
external = true;
};
networks.transport = {};
services = {
ttrss.service = {
image = "wangqiru/ttrss:latest-2024-02-28";
container_name = "ttrss";
ports = [
"181:80"
];
environment = {
PUID = 1000;
PGID = 1000;
DB_HOST = "feed-db";
};
env_file = [
"/home/ghoscht/.docker/feed/ttrss.env"
];
restart = "always";
networks = [
"dmz"
"transport"
];
};
feed-db.service = {
image = "postgres:13-alpine";
volumes = [
"/storage/dataset/docker/feed/ttrss_db:/var/lib/postgresql/data"
];
env_file = [
"/home/ghoscht/.docker/feed/ttrss.env"
];
restart = "always";
networks = [
"transport"
];
};
};
}

View file

@ -0,0 +1,6 @@
# Instead of pinning Nixpkgs, we can opt to use the one in NIX_PATH
import <nixpkgs> {
# We specify the architecture explicitly. Use a Linux remote builder when
# calling arion from other platforms.
system = "x86_64-linux";
}

View file

@ -0,0 +1,22 @@
{config, ...}: let
vars = import ../../../../vars.nix;
in {
virtualisation.arion = {
projects.feed.settings = {
imports = [./arion-compose.nix];
};
};
sops.secrets."ttrss/db_password" = {
owner = vars.user;
};
sops.templates."ttrss.env" = {
path = "/home/${vars.user}/.docker/feed/ttrss.env";
owner = vars.user;
mode = "0775";
content = ''
DB_PASS="${config.sops.placeholder."ttrss/db_password"}"
'';
};
}

View file

@ -0,0 +1,76 @@
{pkgs, ...}: {
project.name = "git";
networks.dmz = {
name = "dmz";
external = true;
};
networks.transport = {};
services = {
forgejo.service = {
image = "codeberg.org/forgejo/forgejo:8.0.3";
container_name = "forgejo";
useHostStore = true;
labels = {
"traefik.enable" = "true";
"traefik.docker.network" = "dmz";
"traefik.http.services.forgejo.loadbalancer.server.port" = "3000";
"traefik.http.routers.forgejo.service" = "forgejo";
"traefik.http.routers.forgejo.entrypoints" = "websecure";
"traefik.http.routers.forgejo.rule" = "Host(`git.ghoscht.com`)";
"traefik.http.routers.forgejo.tls" = "true";
"traefik.http.routers.forgejo.tls.certresolver" = "letsencrypt";
"traefik.http.services.forgejo-external.loadbalancer.server.port" = "3000";
"traefik.http.routers.forgejo-external.service" = "forgejo-external";
"traefik.http.routers.forgejo-external.rule" = "Host(`git.ghoscht.com`)";
"traefik.http.routers.forgejo-external.entrypoints" = "websecure-external";
"traefik.http.routers.forgejo-external.tls" = "true";
"traefik.http.routers.forgejo-external.tls.certresolver" = "letsencrypt";
"diun.enable" = "true";
"diun.watch_repo" = "true";
"diun.sort_tags" = "semver";
"diun.include_tags" = "^\\d+\\.\\d+\\.\\d+$$";
"diun.exclude_tags" = "\\b\\d{4,}\\b";
};
volumes = [
"/storage/dataset/docker/git/forgejo_data:/data"
"/etc/localtime:/etc/localtime:ro"
];
ports = [
"2222:22"
];
environment = {
USER_UID = 1000;
USER_GID = 1000;
GITEA__database__DB_TYPE = "postgres";
GITEA__database__HOST = "git-db:5432";
};
env_file = [
"/home/ghoscht/.docker/git/forgejo.env"
];
restart = "unless-stopped";
networks = [
"dmz"
"transport"
];
};
git-db.service = {
image = "postgres:15.3-bullseye";
env_file = [
"/home/ghoscht/.docker/git/forgejo-db.env"
];
volumes = [
"/storage/dataset/docker/git/forgejo_db:/var/lib/postgresql/data"
];
restart = "unless-stopped";
networks = [
"transport"
];
};
};
}

View file

@ -0,0 +1,6 @@
# Instead of pinning Nixpkgs, we can opt to use the one in NIX_PATH
import <nixpkgs> {
# We specify the architecture explicitly. Use a Linux remote builder when
# calling arion from other platforms.
system = "x86_64-linux";
}

View file

@ -0,0 +1,41 @@
{config, ...}: let
vars = import ../../../../vars.nix;
in {
virtualisation.arion = {
projects.git.settings = {
imports = [./arion-compose.nix];
};
};
sops.secrets."forgejo/db_password" = {
owner = vars.user;
};
sops.secrets."forgejo/db_user" = {
owner = vars.user;
};
sops.secrets."forgejo/db_database" = {
owner = vars.user;
};
sops.templates."forgejo.env" = {
path = "/home/${vars.user}/.docker/git/forgejo.env";
owner = vars.user;
mode = "0775";
content = ''
GITEA__database__NAME="${config.sops.placeholder."forgejo/db_database"}"
GITEA__database__USER="${config.sops.placeholder."forgejo/db_user"}"
GITEA__database__PASSWD="${config.sops.placeholder."forgejo/db_password"}"
'';
};
sops.templates."forgejo-db.env" = {
path = "/home/${vars.user}/.docker/git/forgejo-db.env";
owner = vars.user;
mode = "0775";
content = ''
POSTGRES_DB="${config.sops.placeholder."forgejo/db_database"}"
POSTGRES_USER="${config.sops.placeholder."forgejo/db_user"}"
POSTGRES_PASSWORD="${config.sops.placeholder."forgejo/db_password"}"
'';
};
}

View file

@ -0,0 +1,56 @@
{pkgs, ...}: {
project.name = "headscale";
networks.dmz = {
name = "dmz";
external = true;
};
services = {
headscale.service = {
image = "headscale/headscale:0.22.3-debug";
container_name = "headscale";
restart = "always";
command = "headscale serve";
labels = {
"traefik.enable" = "true";
"traefik.http.services.headscale.loadbalancer.server.port" = "8080";
"traefik.http.routers.headscale.service" = "headscale";
"traefik.http.routers.headscale.entrypoints" = "websecure";
"traefik.http.routers.headscale.rule" = "Host(`headscale.ghoscht.com`)";
"traefik.http.routers.headscale.tls" = "true";
"traefik.http.routers.headscale.tls.certresolver" = "letsencrypt";
"traefik.http.services.headscale-external.loadbalancer.server.port" = "8080";
"traefik.http.routers.headscale-external.service" = "headscale-external";
"traefik.http.routers.headscale-external.rule" = "Host(`headscale.ghoscht.com`)";
"traefik.http.routers.headscale-external.entrypoints" = "websecure-external";
"traefik.http.routers.headscale-external.tls" = "true";
"traefik.http.routers.headscale-external.tls.certresolver" = "letsencrypt";
};
volumes = [
"/storage/dataset/docker/headscale/headscale_config:/etc/headscale"
"/storage/dataset/docker/headscale/headscale_data:/var/lib/headscale"
];
networks = [
"dmz"
];
};
headscale-ui.service = {
image = "ghcr.io/gurucomputing/headscale-ui:2024.02.24-beta1";
container_name = "headscale-ui";
restart = "always";
labels = {
"traefik.enable" = "true";
"traefik.http.routers.headscale-ui.entrypoints" = "websecure";
"traefik.http.routers.headscale-ui.rule" = "PathPrefix(`/web`)&&Host(`headscale.ghoscht.com`)";
"traefik.http.services.headscale-ui.loadbalancer.server.port" = "80";
"traefik.http.routers.headscale-ui.tls" = "true";
"traefik.http.routers.headscale-ui.tls.certresolver" = "letsencrypt";
};
networks = [
"dmz"
];
};
};
}

View file

@ -0,0 +1,6 @@
# Instead of pinning Nixpkgs, we can opt to use the one in NIX_PATH
import <nixpkgs> {
# We specify the architecture explicitly. Use a Linux remote builder when
# calling arion from other platforms.
system = "x86_64-linux";
}

View file

@ -0,0 +1,15 @@
{config, ...}: let
vars = import ../../../../vars.nix;
in {
# Tailscale client for exit node/routes
services.tailscale = {
enable = true;
useRoutingFeatures = "server";
};
virtualisation.arion = {
projects.headscale.settings = {
imports = [./arion-compose.nix];
};
};
}

View file

@ -0,0 +1,172 @@
{pkgs, ...}: {
project.name = "infrastructure";
networks.dmz = {
name = "dmz";
external = true;
};
docker-compose.volumes = {
traefik-logs = null;
};
services = {
traefik.service = {
image = "traefik:v3.1.3";
container_name = "traefik";
useHostStore = true;
ports = [
"80:80"
"81:81"
"443:443"
"444:444"
"8421:8080"
];
labels = {
"traefik.enable" = "true";
"traefik.http.routers.dashboard.rule" = "Host(`traefik.ghoscht.com`)";
"traefik.http.routers.dashboard.entrypoints" = "websecure";
"traefik.http.services.dashboard.loadbalancer.server.port" = "8080";
"traefik.http.routers.dashboard.tls" = "true";
"traefik.http.routers.dashboard.tls.certresolver" = "letsencrypt";
"traefik.http.routers.dashboard.tls.domains[0].main" = "ghoscht.com";
"traefik.http.routers.dashboard.tls.domains[0].sans" = "*.ghoscht.com";
"traefik.http.middlewares.traefik-https-redirect.redirectscheme.scheme" = "https";
"traefik.http.middlewares.sslheader.headers.customrequestheaders.X-Forwarded-Proto" = "https";
"diun.enable" = "true";
"diun.watch_repo" = "true";
"diun.sort_tags" = "semver";
"diun.include_tags" = "^v\\d+\\.\\d+\\.\\d+$$";
};
volumes = [
"/home/ghoscht/.docker/infrastructure/traefik_config/traefik.yml:/traefik.yml:ro"
"/home/ghoscht/.docker/infrastructure/traefik_config/conf:/conf:ro"
"/storage/dataset/docker/infrastructure/traefik_data/acme.json:/acme.json"
"/var/run/docker.sock:/var/run/docker.sock:ro"
"traefik-logs:/var/log/traefik"
];
env_file = [
"/home/ghoscht/.docker/infrastructure/traefik.env"
];
restart = "always";
networks = [
"dmz"
];
};
crowdsec.service = {
image = "crowdsecurity/crowdsec:v1.6.3";
container_name = "crowdsec";
environment = {
GID = "1000";
COLLECTIONS = "crowdsecurity/linux crowdsecurity/traefik firix/authentik LePresidente/gitea Dominic-Wagner/vaultwarden";
};
volumes = [
"/storage/dataset/docker/infrastructure/crowdsec_config/acquis.yaml:/etc/crowdsec/acquis.yaml"
"/storage/dataset/docker/infrastructure/crowdsec_config/profiles.yaml:/etc/crowdsec/profiles.yaml"
"/storage/dataset/docker/infrastructure/crowdsec_config/ntfy.yaml:/etc/crowdsec/notifications/ntfy.yaml"
"/storage/dataset/docker/infrastructure/crowdsec_db:/var/lib/crowdsec/data/"
"/storage/dataset/docker/infrastructure/crowdsec_data:/etc/crowdsec/"
"traefik-logs:/var/log/traefik/:ro"
"/var/run/docker.sock:/var/run/docker.sock:ro"
];
labels = {
"diun.enable" = "true";
"diun.watch_repo" = "true";
"diun.sort_tags" = "semver";
"diun.include_tags" = "^v\\d+\\.\\d+\\.\\d+$$";
};
depends_on = [
"traefik"
];
networks = [
"dmz"
];
restart = "always";
};
bouncer-traefik.service = {
image = "fbonalair/traefik-crowdsec-bouncer:0.5.0";
environment = {
CROWDSEC_AGENT_HOST = "crowdsec:8080";
};
env_file = [
"/home/ghoscht/.docker/infrastructure/traefik-bouncer.env"
];
depends_on = [
"crowdsec"
];
networks = [
"dmz"
];
restart = "always";
};
scrutiny.service = {
image = "ghcr.io/analogj/scrutiny:v0.8.0-omnibus";
container_name = "scrutiny";
restart = "always";
labels = {
"traefik.enable" = "true";
"traefik.http.routers.scrutiny.entrypoints" = "websecure";
"traefik.http.routers.scrutiny.rule" = "Host(`scrutiny.ghoscht.com`)";
"traefik.http.services.scrutiny.loadbalancer.server.port" = "8080";
"traefik.http.routers.scrutiny.tls" = "true";
"traefik.http.routers.scrutiny.tls.certresolver" = "letsencrypt";
};
capabilities = {
SYS_RAWIO = true;
SYS_ADMIN = true; #enables nvme support
};
volumes = [
"/run/udev:/run/udev:ro"
"/storage/dataset/docker/infrastructure/scrutiny_data:/opt/scrutiny/config"
"/storage/dataset/docker/infrastructure/scrutiny_influxdb_data:/opt/scrutiny/influxdb"
];
devices = [
"/dev/nvme0"
"/dev/sda"
"/dev/sdb"
"/dev/sdc"
"/dev/sdd"
"/dev/sde"
"/dev/sdf"
];
networks = [
"dmz"
];
};
diun.service = {
image = "crazymax/diun:4.28";
container_name = "diun";
restart = "always";
command = "serve";
volumes = [
"/storage/dataset/docker/infrastructure/diun_data:/data"
"/var/run/docker.sock:/var/run/docker.sock"
];
environment = {
TZ = "Europe/Berlin";
LOG_LEVEL = "info";
#Only when setting workers=1 sorting can be actually observed
DIUN_WATCH_WORKERS = "20";
DIUN_WATCH_SCHEDULE = "0 */6 * * *";
DIUN_WATCH_JITTER = "30s";
DIUN_WATCH_RUNONSTARTUP = "true";
DIUN_PROVIDERS_DOCKER = "true";
DIUN_DEFAULTS_MAXTAGS = 1;
DIUN_DEFAULTS_NOTIFYON = "new";
DIUN_NOTIF_NTFY_ENDPOINT = "http://ntfy";
DIUN_NOTIF_NTFY_TOPIC = "docker-updates";
};
env_file = [
"/home/ghoscht/.docker/infrastructure/diun.env"
];
networks = [
"dmz"
];
};
};
}

View file

@ -0,0 +1,6 @@
# Instead of pinning Nixpkgs, we can opt to use the one in NIX_PATH
import <nixpkgs> {
# We specify the architecture explicitly. Use a Linux remote builder when
# calling arion from other platforms.
system = "x86_64-linux";
}

View file

@ -0,0 +1,132 @@
{config, ...}: let
vars = import ../../../../vars.nix;
in {
virtualisation.arion = {
projects.infrastructure.settings = {
imports = [./arion-compose.nix];
};
};
sops.secrets."cloudflared/tunnel_token" = {
owner = vars.user;
};
sops.secrets."traefik/acme_email" = {
owner = vars.user;
};
sops.secrets."traefik/cloudflare_email" = {
owner = vars.user;
};
sops.secrets."traefik/cloudflare_api_key" = {
owner = vars.user;
};
sops.secrets."crowdsec/traefik_bouncer_api_key" = {
owner = vars.user;
};
sops.secrets."diun/ntfy_access_token" = {
owner = vars.user;
};
sops.templates."cloudflared.env" = {
path = "/home/${vars.user}/.docker/infrastructure/cloudflared.env";
owner = vars.user;
mode = "0775";
content = ''
TUNNEL_TOKEN="${config.sops.placeholder."cloudflared/tunnel_token"}"
'';
};
sops.templates."traefik.env" = {
path = "/home/${vars.user}/.docker/infrastructure/traefik.env";
owner = vars.user;
mode = "0775";
content = ''
CLOUDFLARE_EMAIL="${config.sops.placeholder."traefik/cloudflare_email"}"
CLOUDFLARE_API_KEY="${config.sops.placeholder."traefik/cloudflare_api_key"}"
'';
};
sops.templates."traefik-bouncer.env" = {
path = "/home/${vars.user}/.docker/infrastructure/traefik-bouncer.env";
owner = vars.user;
mode = "0775";
content = ''
CROWDSEC_BOUNCER_API_KEY="${config.sops.placeholder."crowdsec/traefik_bouncer_api_key"}"
'';
};
sops.templates."traefik.yml" = {
path = "/home/${vars.user}/.docker/infrastructure/traefik_config/traefik.yml";
owner = vars.user;
mode = "0775";
content = ''
api:
dashboard: true
debug: true
insecure: true
entryPoints:
web:
address: ":80"
http:
redirections:
entrypoint:
to: websecure
scheme: https
websecure:
address: ":443"
web-external:
address: ":81"
http:
redirections:
entrypoint:
to: websecure-external
scheme: https
middlewares:
- crowdsec-bouncer@file
websecure-external:
address: ":444"
http:
middlewares:
- crowdsec-bouncer@file
providers:
docker:
watch: true
exposedByDefault: false
network: dmz
file:
watch: true
directory: /conf/
certificatesResolvers:
letsencrypt:
acme:
email: ${config.sops.placeholder."traefik/acme_email"}
storage: acme.json
dnsChallenge:
provider: cloudflare
resolvers:
- "1.1.1.1:53"
- "1.0.0.1:53"
log:
level: "INFO"
filePath: "/var/log/traefik/traefik.log"
accessLog:
filePath: "/var/log/traefik/access.log"
'';
};
sops.templates."diun.env" = {
path = "/home/${vars.user}/.docker/infrastructure/diun.env";
owner = vars.user;
mode = "0775";
content = ''
DIUN_NOTIF_NTFY_TOKEN="${config.sops.placeholder."diun/ntfy_access_token"}"
'';
};
services.cron = {
enable = true;
systemCronJobs = [
"0 * * * * root . /etc/profile; docker exec crowdsec cscli hub update && docker exec crowdsec cscli hub upgrade >> /var/log/crowdsec-update.log"
];
};
}

View file

@ -0,0 +1,113 @@
{pkgs, ...}: {
project.name = "matrix";
networks.dmz = {
name = "dmz";
external = true;
};
networks.transport = {};
services = {
synapse.service = {
image = "matrixdotorg/synapse:v1.113.0";
container_name = "synapse";
labels = {
"traefik.enable" = "true";
"traefik.http.services.synapse.loadbalancer.server.port" = "8008";
"traefik.http.routers.synapse.service" = "synapse";
"traefik.http.routers.synapse.entrypoints" = "websecure";
"traefik.http.routers.synapse.rule" = "Host(`synapse.ghoscht.com`)";
"traefik.docker.network" = "dmz";
"traefik.http.routers.synapse.tls" = "true";
"traefik.http.routers.synapse.tls.certresolver" = "letsencrypt";
"traefik.http.services.synapse-external.loadbalancer.server.port" = "8008";
"traefik.http.routers.synapse-external.service" = "synapse-external";
"traefik.http.routers.synapse-external.rule" = "Host(`synapse.ghoscht.com`)";
"traefik.http.routers.synapse-external.entrypoints" = "websecure-external";
"traefik.http.routers.synapse-external.tls" = "true";
"traefik.http.routers.synapse-external.tls.certresolver" = "letsencrypt";
};
volumes = [
"/storage/dataset/docker/matrix/synapse_data:/data"
];
env_file = [
"/home/ghoscht/.docker/matrix/synapse.env"
];
environment = {
UID = "1000";
GID = "1000";
TZ = "Europe/Berlin";
};
restart = "unless-stopped";
networks = [
"dmz"
"transport"
];
};
postgres.service = {
image = "postgres:14";
env_file = [
"/home/ghoscht/.docker/matrix/synapse.env"
];
volumes = [
"/storage/dataset/docker/matrix/synapse_db:/var/lib/postgresql/data"
];
restart = "unless-stopped";
networks = [
"transport"
];
};
matrix-nginx.service = {
container_name = "matrix-nginx";
image = "nginx:1.25.4";
volumes = [
"/storage/dataset/docker/matrix/nginx_data/matrix.conf:/etc/nginx/conf.d/matrix.conf"
"/storage/dataset/docker/matrix/nginx_data/www:/var/www/"
];
labels = {
"traefik.enable" = "true";
"traefik.http.services.matrix.loadbalancer.server.port" = "80";
"traefik.http.routers.matrix.service" = "matrix";
"traefik.http.routers.matrix.entrypoints" = "websecure";
"traefik.http.routers.matrix.rule" = "Host(`matrix.ghoscht.com`)";
"traefik.docker.network" = "dmz";
"traefik.http.routers.matrix.tls" = "true";
"traefik.http.routers.matrix.tls.certresolver" = "letsencrypt";
"traefik.http.services.matrix-external.loadbalancer.server.port" = "80";
"traefik.http.routers.matrix-external.service" = "matrix-external";
"traefik.http.routers.matrix-external.rule" = "Host(`matrix.ghoscht.com`)";
"traefik.http.routers.matrix-external.entrypoints" = "websecure-external";
"traefik.http.routers.matrix-external.tls" = "true";
"traefik.http.routers.matrix-external.tls.certresolver" = "letsencrypt";
};
restart = "unless-stopped";
networks = [
"transport"
"dmz"
];
};
element.service = {
image = "vectorim/element-web:v1.11.64";
volumes = [
"/storage/dataset/docker/matrix/element_data/element-config.json:/app/config.json"
];
labels = {
"traefik.enable" = "true";
"traefik.http.routers.element.entrypoints" = "websecure";
"traefik.http.routers.element.rule" = "Host(`chat.ghoscht.com`)";
"traefik.docker.network" = "dmz";
"traefik.http.routers.element.tls" = "true";
"traefik.http.routers.element.tls.certresolver" = "letsencrypt";
};
restart = "unless-stopped";
networks = [
"dmz"
];
};
};
}

View file

@ -0,0 +1,6 @@
# Instead of pinning Nixpkgs, we can opt to use the one in NIX_PATH
import <nixpkgs> {
# We specify the architecture explicitly. Use a Linux remote builder when
# calling arion from other platforms.
system = "x86_64-linux";
}

View file

@ -0,0 +1,30 @@
{config, ...}: let
vars = import ../../../../vars.nix;
in {
# virtualisation.arion = {
# projects.matrix.settings = {
# imports = [./arion-compose.nix];
# };
# };
sops.secrets."matrix/postgres_password" = {
owner = vars.user;
};
sops.secrets."matrix/postgres_database" = {
owner = vars.user;
};
sops.secrets."matrix/postgres_user" = {
owner = vars.user;
};
sops.templates."synapse.env" = {
path = "/home/${vars.user}/.docker/matrix/synapse.env";
owner = vars.user;
mode = "0775";
content = ''
POSTGRES_DB="${config.sops.placeholder."matrix/postgres_database"}"
POSTGRES_USER="${config.sops.placeholder."matrix/postgres_user"}"
POSTGRES_PASSWORD="${config.sops.placeholder."matrix/postgres_password"}"
'';
};
}

View file

@ -0,0 +1,458 @@
{pkgs, ...}: {
project.name = "media";
networks.dmz = {
name = "dmz";
external = true;
};
networks.internal = {};
services = {
jellyfin.service = {
image = "linuxserver/jellyfin:10.9.10";
container_name = "jellyfin";
ports = [
"8096:8096"
];
labels = {
"traefik.enable" = "true";
"traefik.http.routers.jellyfin.entrypoints" = "websecure";
"traefik.http.routers.jellyfin.rule" = "Host(`jellyfin.ghoscht.com`)";
"traefik.http.services.jellyfin.loadbalancer.server.port" = "8096";
"traefik.http.services.jellyfin.loadbalancer.passHostHeader" = "true";
"traefik.http.routers.jellyfin.tls" = "true";
"traefik.http.routers.jellyfin.tls.certresolver" = "letsencrypt";
"diun.enable" = "true";
"diun.watch_repo" = "true";
"diun.sort_tags" = "semver";
"diun.include_tags" = "^\\d+\\.\\d+\\.\\d+$$";
"diun.exclude_tags" = "\\b\\d{4,}\\b";
};
volumes = [
"/storage/dataset/docker/media/jellyfin_data:/config"
"/storage/dataset/data/media/tv:/tv"
"/storage/dataset/data/media/anime:/anime"
"/storage/dataset/data/media/movies:/movies"
];
environment = {
PUID = 1000;
PGID = 1000;
TZ = "Europe/Berlin";
};
restart = "always";
networks = [
"dmz"
];
};
navidrome.service = {
image = "deluan/navidrome:0.53.1";
container_name = "navidrome";
labels = {
"traefik.enable" = "true";
"traefik.docker.network" = "dmz";
"traefik.http.services.navidrome.loadbalancer.server.port" = "4533";
"traefik.http.routers.navidrome.service" = "navidrome";
"traefik.http.routers.navidrome.entrypoints" = "websecure";
"traefik.http.routers.navidrome.rule" = "Host(`music.ghoscht.com`)";
"traefik.http.routers.navidrome.tls" = "true";
"traefik.http.routers.navidrome.tls.certresolver" = "letsencrypt";
"traefik.http.services.navidrome-external.loadbalancer.server.port" = "4533";
"traefik.http.routers.navidrome-external.service" = "navidrome-external";
"traefik.http.routers.navidrome-external.rule" = "Host(`music.ghoscht.com`)";
"traefik.http.routers.navidrome-external.entrypoints" = "websecure-external";
"traefik.http.routers.navidrome-external.tls" = "true";
"traefik.http.routers.navidrome-external.tls.certresolver" = "letsencrypt";
"diun.enable" = "true";
"diun.watch_repo" = "true";
"diun.sort_tags" = "semver";
"diun.include_tags" = "^\\d+\\.\\d+\\.\\d+$$";
"diun.exclude_tags" = "\\b\\d{4,}\\b";
};
volumes = [
"/storage/dataset/docker/media/navidrome_data:/data"
"/storage/dataset/data/media/music:/music"
];
environment = {
ND_SESSIONTIMEOUT = "336h";
};
env_file = [
"/home/ghoscht/.docker/media/navidrome.env"
];
restart = "always";
networks = [
"dmz"
];
};
kavita.service = {
image = "jvmilazz0/kavita:0.8.1";
container_name = "kavita";
labels = {
"traefik.enable" = "true";
"traefik.http.routers.kavita.entrypoints" = "websecure";
"traefik.http.routers.kavita.rule" = "Host(`kavita.ghoscht.com`)";
"traefik.http.services.kavita.loadbalancer.server.port" = "5000";
"traefik.http.routers.kavita.tls" = "true";
"traefik.http.routers.kavita.tls.certresolver" = "letsencrypt";
};
volumes = [
"/storage/dataset/docker/media/kavita_data:/kavita/config"
"/storage/dataset/data/media/manga:/manga"
"/storage/dataset/data/media/comics:/comics"
];
restart = "always";
networks = [
"dmz"
];
};
vpn.service = {
image = "haugene/transmission-openvpn:5.3.1";
container_name = "transmission";
labels = {
"traefik.enable" = "true";
"traefik.http.routers.transmission.entrypoints" = "websecure";
"traefik.http.routers.transmission.rule" = "Host(`transmission.ghoscht.com`)";
"traefik.http.services.transmission.loadbalancer.server.port" = "9091";
"traefik.docker.network" = "dmz";
"traefik.http.routers.transmission.tls" = "true";
"traefik.http.routers.transmission.tls.certresolver" = "letsencrypt";
"traefik.http.routers.transmission.middlewares" = "authentik@file";
};
volumes = [
"/storage/dataset/docker/media/transmission_data:/config"
"/storage/dataset/data/:/data"
];
environment = {
PUID = 1000;
PGID = 1000;
TZ = "Europe/Berlin";
OPENVPN_PROVIDER = "WINDSCRIBE";
OPENVPN_CONFIG = "Amsterdam-Tulip-udp";
OVPN_PROTOCOL = "udp";
OPENVPN_OPTS = "--reneg-sec 0 --verb 4";
LOCAL_NETWORK = "192.168.0.0/16";
TRANSMISSION_DOWNLOAD_DIR = "/data/torrents";
TRANSMISSION_INCOMPLETE_DIR = "/data/torrents/incomplete";
TRANSMISSION_WEB_UI = "flood-for-transmission";
WEBPROXY_ENABLED = "true";
};
ports = ["8118:8118"];
env_file = [
"/home/ghoscht/.docker/media/windscribe.env"
];
capabilities = {
NET_ADMIN = true;
};
restart = "always";
networks = [
"dmz"
"internal"
];
};
prowlarr.service = {
image = "linuxserver/prowlarr:1.21.2";
container_name = "prowlarr";
labels = {
"traefik.enable" = "true";
"traefik.http.routers.prowlarr.entrypoints" = "websecure";
"traefik.http.routers.prowlarr.rule" = "Host(`prowlarr.ghoscht.com`)";
"traefik.http.services.prowlarr.loadbalancer.server.port" = "9696";
"traefik.docker.network" = "dmz";
"traefik.http.routers.prowlarr.tls" = "true";
"traefik.http.routers.prowlarr.tls.certresolver" = "letsencrypt";
"traefik.http.routers.prowlarr.middlewares" = "authentik@file";
"diun.enable" = "true";
"diun.watch_repo" = "true";
"diun.include_tags" = "^\\d+\\.\\d+\\.\\d+$$";
};
volumes = [
"/storage/dataset/docker/media/prowlarr_data:/config"
];
environment = {
PUID = 1000;
PGID = 1000;
TZ = "Europe/Berlin";
};
network_mode = "service:vpn";
depends_on = {
vpn = {condition = "service_healthy";};
};
restart = "always";
};
sonarr.service = {
image = "linuxserver/sonarr:4.0.9";
container_name = "sonarr";
labels = {
"traefik.enable" = "true";
"traefik.http.routers.sonarr.entrypoints" = "websecure";
"traefik.http.routers.sonarr.rule" = "Host(`sonarr.ghoscht.com`)";
"traefik.http.services.sonarr.loadbalancer.server.port" = "8989";
"traefik.docker.network" = "dmz";
"traefik.http.routers.sonarr.tls" = "true";
"traefik.http.routers.sonarr.tls.certresolver" = "letsencrypt";
"traefik.http.routers.sonarr.middlewares" = "authentik@file";
"diun.enable" = "true";
"diun.watch_repo" = "true";
"diun.include_tags" = "^\\d+\\.\\d+\\.\\d+$$";
};
volumes = [
"/storage/dataset/docker/media/sonarr_data:/config"
"/storage/dataset/data/:/data"
];
environment = {
PUID = 1000;
PGID = 1000;
TZ = "Europe/Berlin";
};
network_mode = "service:vpn";
depends_on = {
vpn = {condition = "service_healthy";};
prowlarr = {condition = "service_started";};
};
restart = "always";
};
radarr.service = {
image = "linuxserver/radarr:5.9.1";
container_name = "radarr";
labels = {
"traefik.enable" = "true";
"traefik.http.routers.radarr.entrypoints" = "websecure";
"traefik.http.routers.radarr.rule" = "Host(`radarr.ghoscht.com`)";
"traefik.http.services.radarr.loadbalancer.server.port" = "7878";
"traefik.docker.network" = "dmz";
"traefik.http.routers.radarr.tls" = "true";
"traefik.http.routers.radarr.tls.certresolver" = "letsencrypt";
"traefik.http.routers.radarr.middlewares" = "authentik@file";
"diun.enable" = "true";
"diun.watch_repo" = "true";
"diun.include_tags" = "^\\d+\\.\\d+\\.\\d+$$";
};
volumes = [
"/storage/dataset/docker/media/radarr_data:/config"
"/storage/dataset/data/:/data"
];
environment = {
PUID = 1000;
PGID = 1000;
TZ = "Europe/Berlin";
};
network_mode = "service:vpn";
depends_on = {
vpn = {condition = "service_healthy";};
prowlarr = {condition = "service_started";};
};
restart = "always";
};
lidarr.service = {
image = "linuxserver/lidarr:2.4.3";
container_name = "lidarr";
labels = {
"traefik.enable" = "true";
"traefik.http.routers.lidarr.entrypoints" = "websecure";
"traefik.http.routers.lidarr.rule" = "Host(`lidarr.ghoscht.com`)";
"traefik.http.services.lidarr.loadbalancer.server.port" = "8686";
"traefik.http.routers.lidarr.service" = "lidarr";
"traefik.docker.network" = "dmz";
"traefik.http.routers.lidarr.tls" = "true";
"traefik.http.routers.lidarr.tls.certresolver" = "letsencrypt";
"traefik.http.routers.lidarr.middlewares" = "authentik@file";
};
volumes = [
"/storage/dataset/docker/media/lidarr_data:/config"
"/storage/dataset/docker/media/lidarr_addons/custom-services.d:/custom-services.d"
"/storage/dataset/docker/media/lidarr_addons/custom-cont-init.d:/custom-cont-init.d"
"/storage/dataset/data/:/data"
];
environment = {
PUID = 1000;
PGID = 1000;
TZ = "Europe/Berlin";
};
network_mode = "service:vpn";
depends_on = {
vpn = {condition = "service_healthy";};
prowlarr = {condition = "service_started";};
};
restart = "always";
};
bazarr.service = {
image = "hotio/bazarr:release-1.4.3";
container_name = "bazarr";
labels = {
"traefik.enable" = "true";
"traefik.http.routers.bazarr.entrypoints" = "websecure";
"traefik.http.routers.bazarr.rule" = "Host(`bazarr.ghoscht.com`)";
"traefik.http.services.bazarr.loadbalancer.server.port" = "6767";
"traefik.docker.network" = "dmz";
"traefik.http.routers.bazarr.tls" = "true";
"traefik.http.routers.bazarr.tls.certresolver" = "letsencrypt";
"traefik.http.routers.bazarr.middlewares" = "authentik@file";
};
volumes = [
"/storage/dataset/docker/media/bazarr_data:/config"
"/storage/dataset/data/:/data"
];
environment = {
PUID = 1000;
PGID = 1000;
TZ = "Europe/Berlin";
};
networks = ["dmz"];
restart = "always";
};
jellyseerr.service = {
image = "fallenbagel/jellyseerr:1.7.0";
container_name = "jellyseerr";
labels = {
"traefik.enable" = "true";
"traefik.http.routers.jellyseerr.entrypoints" = "websecure";
"traefik.http.routers.jellyseerr.rule" = "Host(`jellyseerr.ghoscht.com`)";
"traefik.http.services.jellyseerr.loadbalancer.server.port" = "5055";
"traefik.docker.network" = "dmz";
"traefik.http.routers.jellyseerr.tls" = "true";
"traefik.http.routers.jellyseerr.tls.certresolver" = "letsencrypt";
};
volumes = [
"/storage/dataset/docker/media/jellyseerr_data:/app/config"
];
environment = {
PUID = 1000;
PGID = 1000;
TZ = "Europe/Berlin";
};
networks = ["dmz"];
restart = "always";
};
autobrr.service = {
image = "ghcr.io/autobrr/autobrr:v1.46.0";
container_name = "autobrr";
labels = {
"traefik.enable" = "true";
"traefik.http.routers.autobrr.entrypoints" = "websecure";
"traefik.http.routers.autobrr.rule" = "Host(`autobrr.ghoscht.com`)";
"traefik.http.services.autobrr.loadbalancer.server.port" = "7474";
"traefik.docker.network" = "dmz";
"traefik.http.routers.autobrr.tls" = "true";
"traefik.http.routers.autobrr.tls.certresolver" = "letsencrypt";
"diun.enable" = "true";
"diun.watch_repo" = "true";
"diun.include_tags" = "^v\\d+\\.\\d+\\.\\d+$$";
};
volumes = [
"/storage/dataset/docker/media/autobrr_data:/config"
];
environment = {
PUID = 1000;
PGID = 1000;
TZ = "Europe/Berlin";
};
network_mode = "service:vpn";
depends_on = {
vpn = {condition = "service_healthy";};
prowlarr = {condition = "service_started";};
sonarr = {condition = "service_started";};
radarr = {condition = "service_started";};
};
restart = "always";
};
deemix.service = {
image = "finniedj/deemix:latest";
container_name = "deemix";
labels = {
"traefik.enable" = "true";
"traefik.http.routers.deemix.entrypoints" = "websecure";
"traefik.http.routers.deemix.rule" = "Host(`deemix.ghoscht.com`)";
"traefik.http.services.deemix.loadbalancer.server.port" = "6595";
"traefik.docker.network" = "dmz";
"traefik.http.routers.deemix.tls" = "true";
"traefik.http.routers.deemix.tls.certresolver" = "letsencrypt";
};
volumes = [
"/storage/dataset/data/deemix:/downloads"
];
environment = {
PUID = 1000;
PGID = 1000;
UMASK_SET = 022;
TZ = "Europe/Berlin";
};
network_mode = "service:vpn";
depends_on = {
vpn = {condition = "service_healthy";};
};
restart = "always";
};
unpackerr.service = {
image = "golift/unpackerr:0.13";
container_name = "unpackerr";
volumes = [
"/storage/dataset/data/:/data"
];
user = "1000:1000";
env_file = [
"/home/ghoscht/.docker/media/unpackerr.env"
];
environment = {
TZ = "Europe/Berlin";
# General config
UN_DEBUG = "false";
UN_INTERVAL = "2m";
UN_START_DELAY = "1m";
UN_RETRY_DELAY = "5m";
UN_MAX_RETRIES = 3;
UN_PARALLEL = 1;
UN_FILE_MODE = 0644;
UN_DIR_MODE = 0755;
# Sonarr Config
UN_SONARR_0_URL = "http://transmission:8989";
UN_SONARR_0_PATHS_0 = "/data/torrents/tv";
UN_SONARR_0_PROTOCOLS = "torrent";
UN_SONARR_0_TIMEOUT = "10s";
UN_SONARR_0_DELETE_ORIG = "false";
UN_SONARR_0_DELETE_DELAY = "5m";
# Radarr Config
UN_RADARR_0_URL = "http://transmission:7878";
UN_RADARR_0_PATHS_0 = "/data/torrents/movies";
UN_RADARR_0_PROTOCOLS = "torrent";
UN_RADARR_0_TIMEOUT = "10s";
UN_RADARR_0_DELETE_ORIG = "false";
UN_RADARR_0_DELETE_DELAY = "5m";
# Lidarr Config
UN_LIDARR_0_URL = "http://transmission:8686";
UN_LIDARR_0_PATHS_0 = "/data/torrents/music";
UN_LIDARR_0_PROTOCOLS = "torrent";
UN_LIDARR_0_TIMEOUT = "10s";
UN_LIDARR_0_DELETE_ORIG = "false";
UN_LIDARR_0_DELETE_DELAY = "5m";
};
networks = ["dmz"];
depends_on = {
vpn = {condition = "service_healthy";};
prowlarr = {condition = "service_started";};
sonarr = {condition = "service_started";};
radarr = {condition = "service_started";};
};
restart = "always";
};
port-refresh.service = {
image = "ghoscht/windscribe-ephemeral-port:latest";
container_name = "port-refresh";
volumes = [
"/storage/dataset/docker/media/port-refresh_config/config.yml:/config/config.yaml"
];
networks = [
"internal"
];
depends_on = {
vpn = {condition = "service_healthy";};
};
};
};
}

View file

@ -0,0 +1,6 @@
# Instead of pinning Nixpkgs, we can opt to use the one in NIX_PATH
import <nixpkgs> {
# We specify the architecture explicitly. Use a Linux remote builder when
# calling arion from other platforms.
system = "x86_64-linux";
}

View file

@ -0,0 +1,73 @@
{config, ...}: let
vars = import ../../../../vars.nix;
in {
virtualisation.arion = {
projects.media.settings = {
imports = [./arion-compose.nix];
};
};
sops.secrets."navidrome/spotify_id" = {
owner = vars.user;
};
sops.secrets."navidrome/spotify_secret" = {
owner = vars.user;
};
sops.secrets."navidrome/lastfm_api_key" = {
owner = vars.user;
};
sops.secrets."navidrome/lastfm_api_secret" = {
owner = vars.user;
};
sops.secrets."windscribe/openvpn_username" = {
owner = vars.user;
};
sops.secrets."windscribe/openvpn_password" = {
owner = vars.user;
};
sops.secrets."unpackerr/sonarr_api_key" = {
owner = vars.user;
};
sops.secrets."unpackerr/radarr_api_key" = {
owner = vars.user;
};
sops.secrets."unpackerr/lidarr_api_key" = {
owner = vars.user;
};
sops.templates."navidrome.env" = {
path = "/home/${vars.user}/.docker/media/navidrome.env";
owner = vars.user;
mode = "0775";
content = ''
ND_SPOTIFY_ID="${config.sops.placeholder."navidrome/spotify_id"}"
ND_SPOTIFY_SECRET="${config.sops.placeholder."navidrome/spotify_secret"}"
ND_LASTFM_APIKEY="${config.sops.placeholder."navidrome/lastfm_api_key"}"
ND_LASTFM_SECRET="${config.sops.placeholder."navidrome/lastfm_api_secret"}"
'';
};
sops.templates."windscribe.env" = {
path = "/home/${vars.user}/.docker/media/windscribe.env";
owner = vars.user;
mode = "0775";
content = ''
OPENVPN_USERNAME="${config.sops.placeholder."windscribe/openvpn_username"}"
OPENVPN_PASSWORD="${config.sops.placeholder."windscribe/openvpn_password"}"
'';
};
sops.templates."unpackerr.env" = {
path = "/home/${vars.user}/.docker/media/unpackerr.env";
owner = vars.user;
mode = "0775";
content = ''
UN_SONARR_0_API_KEY="${config.sops.placeholder."unpackerr/sonarr_api_key"}"
UN_RADARR_0_API_KEY="${config.sops.placeholder."unpackerr/lidarr_api_key"}"
UN_LIDARR_0_API_KEY="${config.sops.placeholder."unpackerr/radarr_api_key"}"
'';
};
}

View file

@ -0,0 +1,48 @@
{
project.name = "minio";
networks.dmz = {
name = "dmz";
external = true;
};
services = {
minio.service = {
image = "bitnami/minio:2024.5.10";
container_name = "minio";
labels = {
"traefik.enable" = "true";
# API
"traefik.http.routers.minio.rule" = "Host(`files.ghoscht.com`)";
"traefik.http.routers.minio.service" = "minio";
"traefik.http.routers.minio.entrypoints" = "websecure";
"traefik.http.services.minio.loadbalancer.server.port" = "9000";
"traefik.http.routers.minio.tls" = "true";
"traefik.http.routers.minio.tls.certresolver" = "letsencrypt";
# Dashboard
"traefik.http.routers.minio-dash.rule" = "Host(`minio.ghoscht.com`)";
"traefik.http.routers.minio-dash.service" = "minio-dash";
"traefik.http.routers.minio-dash.entrypoints" = "websecure";
"traefik.http.services.minio-dash.loadbalancer.server.port" = "9001";
"traefik.http.routers.minio-dash.tls" = "true";
"traefik.http.routers.minio-dash.tls.certresolver" = "letsencrypt";
};
volumes = [
"/storage/dataset/docker/minio/minio_data:/data"
];
environment = {
MINIO_DATA_DIR = "/data";
MINIO_BROWSER_REDIRECT_URL = "https://minio.ghoscht.com";
};
env_file = [
"/home/ghoscht/.docker/minio/minio.env"
];
restart = "unless-stopped";
networks = [
"dmz"
];
};
};
}

View file

@ -0,0 +1,6 @@
# Instead of pinning Nixpkgs, we can opt to use the one in NIX_PATH
import <nixpkgs> {
# We specify the architecture explicitly. Use a Linux remote builder when
# calling arion from other platforms.
system = "x86_64-linux";
}

View file

@ -0,0 +1,25 @@
{config, ...}: let
vars = import ../../../../vars.nix;
in {
virtualisation.arion = {
projects.minio.settings = {
imports = [./arion-compose.nix];
};
};
sops.secrets."minio/root_user" = {
owner = vars.user;
};
sops.secrets."minio/root_password" = {
owner = vars.user;
};
sops.templates."minio.env" = {
path = "/home/${vars.user}/.docker/minio/minio.env";
owner = vars.user;
mode = "0775";
content = ''
MINIO_ROOT_USER="${config.sops.placeholder."minio/root_user"}"
MINIO_ROOT_PASSWORD="${config.sops.placeholder."minio/root_password"}"
'';
};
}

View file

@ -0,0 +1,60 @@
{pkgs, ...}: {
project.name = "nextcloud";
networks.dmz = {
name = "dmz";
external = true;
};
networks.transport = {};
services = {
nextcloud.service = {
image = "nextcloud:28.0.4";
container_name = "nextcloud";
useHostStore = true;
labels = {
"traefik.enable" = "true";
"traefik.http.routers.nextcloud.entrypoints" = "websecure";
"traefik.http.routers.nextcloud.rule" = "Host(`nextcloud.ghoscht.com`)";
"traefik.docker.network" = "dmz";
"traefik.http.routers.nextcloud.tls" = "true";
"traefik.http.routers.nextcloud.tls.certresolver" = "letsencrypt";
};
volumes = [
"/storage/dataset/docker/nextcloud/nextcloud_data:/var/www/html"
];
hostname = "nextcloud.ghoscht.com";
environment = {
REDIS_HOST = "nextcloud-redis";
REDIS_PORT = 6379;
};
restart = "unless-stopped";
networks = [
"dmz"
"transport"
];
};
nextcloud-db.service = {
image = "mariadb:11.4.1-rc-jammy";
env_file = [
"/home/ghoscht/.docker/nextcloud/nextcloud.env"
];
volumes = [
"/storage/dataset/docker/nextcloud/nextcloud_db:/var/lib/mysql"
];
restart = "unless-stopped";
command = "--transaction-isolation=READ-COMMITTED --binlog-format=ROW";
networks = [
"transport"
];
};
nextcloud-redis.service = {
image = "redis:alpine3.19";
restart = "unless-stopped";
networks = [
"transport"
];
};
};
}

View file

@ -0,0 +1,6 @@
# Instead of pinning Nixpkgs, we can opt to use the one in NIX_PATH
import <nixpkgs> {
# We specify the architecture explicitly. Use a Linux remote builder when
# calling arion from other platforms.
system = "x86_64-linux";
}

View file

@ -0,0 +1,41 @@
{config, ...}: let
vars = import ../../../../vars.nix;
in {
virtualisation.arion = {
projects.nextcloud.settings = {
imports = [./arion-compose.nix];
};
};
services.cron = {
enable = true;
systemCronJobs = [
"*/5 * * * * root . /etc/profile; docker exec -u www-data nextcloud php /var/www/html/cron.php"
];
};
sops.secrets."nextcloud/mysql_root_password" = {
owner = vars.user;
};
sops.secrets."nextcloud/mysql_password" = {
owner = vars.user;
};
sops.secrets."nextcloud/mysql_database" = {
owner = vars.user;
};
sops.secrets."nextcloud/mysql_user" = {
owner = vars.user;
};
sops.templates."nextcloud.env" = {
path = "/home/${vars.user}/.docker/nextcloud/nextcloud.env";
owner = vars.user;
mode = "0775";
content = ''
MYSQL_ROOT_PASSWORD="${config.sops.placeholder."nextcloud/mysql_root_password"}"
MYSQL_PASSWORD="${config.sops.placeholder."nextcloud/mysql_password"}"
MYSQL_DATABASE="${config.sops.placeholder."nextcloud/mysql_database"}"
MYSQL_USER="${config.sops.placeholder."nextcloud/mysql_user"}"
'';
};
}

View file

@ -0,0 +1,49 @@
{pkgs, ...}: {
project.name = "passwords";
networks.dmz = {
name = "dmz";
external = true;
};
services = {
vaultwarden.service = {
image = "vaultwarden/server:1.32.0";
container_name = "vaultwarden";
labels = {
"traefik.enable" = "true";
"traefik.docker.network" = "dmz";
"traefik.http.services.vaultwarden.loadbalancer.server.port" = "80";
"traefik.http.routers.vaultwarden.service" = "vaultwarden";
"traefik.http.routers.vaultwarden.entrypoints" = "websecure";
"traefik.http.routers.vaultwarden.rule" = "Host(`vault.ghoscht.com`)";
"traefik.http.routers.vaultwarden.tls" = "true";
"traefik.http.routers.vaultwarden.tls.certresolver" = "letsencrypt";
"traefik.http.services.vaultwarden-external.loadbalancer.server.port" = "80";
"traefik.http.routers.vaultwarden-external.service" = "vaultwarden-external";
"traefik.http.routers.vaultwarden-external.rule" = "Host(`vault.ghoscht.com`)";
"traefik.http.routers.vaultwarden-external.entrypoints" = "websecure-external";
"traefik.http.routers.vaultwarden-external.tls" = "true";
"traefik.http.routers.vaultwarden-external.tls.certresolver" = "letsencrypt";
"diun.enable" = "true";
"diun.watch_repo" = "true";
"diun.sort_tags" = "semver";
"diun.include_tags" = "^\\d+\\.\\d+\\.\\d+$$";
"diun.exclude_tags" = "\\b\\d{4,}\\b";
};
volumes = [
"/storage/dataset/docker/passwords/vaultwarden_data/:/data"
];
environment = {
DOMAIN = "http://vaultwarden.ghoscht.com";
};
restart = "always";
networks = [
"dmz"
];
};
};
}

View file

@ -0,0 +1,6 @@
# Instead of pinning Nixpkgs, we can opt to use the one in NIX_PATH
import <nixpkgs> {
# We specify the architecture explicitly. Use a Linux remote builder when
# calling arion from other platforms.
system = "x86_64-linux";
}

View file

@ -0,0 +1,8 @@
{config, ...}: let
in {
virtualisation.arion = {
projects.password.settings = {
imports = [./arion-compose.nix];
};
};
}

View file

@ -0,0 +1,46 @@
{pkgs, ...}: {
project.name = "push";
networks.dmz = {
name = "dmz";
external = true;
};
services = {
ntfy.service = {
image = "binwiederhier/ntfy:v2.10.0";
container_name = "ntfy";
user = "1000:1000";
command = "serve";
useHostStore = true;
labels = {
"traefik.enable" = "true";
"traefik.http.routers.ntfy.service" = "ntfy";
"traefik.http.services.ntfy.loadbalancer.server.port" = "80";
"traefik.http.routers.ntfy.entrypoints" = "websecure";
"traefik.http.routers.ntfy.rule" = "Host(`push.ghoscht.com`)";
"traefik.http.routers.ntfy.tls" = "true";
"traefik.http.routers.ntfy.tls.certresolver" = "letsencrypt";
"traefik.http.routers.ntfy-external.service" = "ntfy-external";
"traefik.http.services.ntfy-external.loadbalancer.server.port" = "80";
"traefik.http.routers.ntfy-external.rule" = "Host(`push.ghoscht.com`)";
"traefik.http.routers.ntfy-external.entrypoints" = "websecure-external";
"traefik.http.routers.ntfy-external.tls" = "true";
"traefik.http.routers.ntfy-external.tls.certresolver" = "letsencrypt";
};
volumes = [
"/home/ghoscht/.docker/push/ntfy_data/server.yml:/etc/ntfy/server.yml"
"/storage/dataset/docker/push/ntfy_data:/etc/ntfy/data"
];
environment = {
TZ = "Europe/Berlin";
};
restart = "always";
networks = [
"dmz"
];
};
};
}

View file

@ -0,0 +1,6 @@
# Instead of pinning Nixpkgs, we can opt to use the one in NIX_PATH
import <nixpkgs> {
# We specify the architecture explicitly. Use a Linux remote builder when
# calling arion from other platforms.
system = "x86_64-linux";
}

View file

@ -0,0 +1,7 @@
{
virtualisation.arion = {
projects.push.settings = {
imports = [./arion-compose.nix];
};
};
}

View file

@ -0,0 +1,50 @@
{pkgs, ...}: {
project.name = "signal";
networks.dmz = {
name = "dmz";
external = true;
};
services = {
mollysocket.service = {
image = "ghcr.io/mollyim/mollysocket:1.3.0";
container_name = "mollysocket";
useHostStore = true;
ports = [
"8020:8020"
];
command = "server";
working_dir = "/data";
labels = {
"traefik.enable" = "true";
"traefik.http.routers.mollysocket.rule" = "Host(`signal.ghoscht.com`)";
"traefik.http.routers.mollysocket.service" = "mollysocket";
"traefik.http.routers.mollysocket.entrypoints" = "websecure";
"traefik.http.services.mollysocket.loadbalancer.server.port" = "8020";
"traefik.http.routers.mollysocket.tls" = "true";
"traefik.http.routers.mollysocket.tls.certresolver" = "letsencrypt";
"traefik.http.services.mollysocket-external.loadbalancer.server.port" = "8020";
"traefik.http.routers.mollysocket-external.service" = "mollysocket-external";
"traefik.http.routers.mollysocket-external.rule" = "Host(`signal.ghoscht.com`)";
"traefik.http.routers.mollysocket-external.entrypoints" = "websecure-external";
"traefik.http.routers.mollysocket-external.tls" = "true";
"traefik.http.routers.mollysocket-external.tls.certresolver" = "letsencrypt";
};
environment = {
MOLLY_DB = "/data/mollysocket.db";
MOLLY_ALLOWED_ENDPOINTS = "[\"https://push.ghoscht.com\",\"*\"]";
MOLLY_ALLOWED_UUIDS = "[\"*\"]";
MOLLY_HOST = "0.0.0.0";
MOLLY_PORT = 8020;
RUST_LOG = "info";
};
restart = "always";
networks = [
"dmz"
];
};
};
}

Some files were not shown because too many files have changed in this diff Show more