Compare commits

...

11 commits

Author SHA1 Message Date
3242d90c24
bert: Enable immich 2025-07-04 16:33:32 -05:00
6e60a9f25f
bert: Store forgejo data in /srv 2025-07-04 16:28:06 -05:00
6c4454b1e8
bert: Automatically mount bigbird_public on startup 2025-07-04 16:23:40 -05:00
8f24ff4e36
bert: Serve home.chandlerswift.com/newspapers 2025-07-04 16:13:34 -05:00
a1cd3c02c5
bert: Disallow robots on home.chandlerswift.com/sheets
I don't want those indexed!
2025-07-04 16:11:21 -05:00
1941d89b9e
oscar: Install jujutsu 2025-07-04 14:43:39 -05:00
ccda971ed8
oscar: Set BUILDKIT_PROGRESS=plain for simple docker build output 2025-07-04 14:43:18 -05:00
1bdd587830
oscar: Add chandler to libvirtd for unpriv virt-manager 2025-07-04 14:28:02 -05:00
3e994311ec
oscar: Simplify binfmt config
I no longer need the full config now that this PR is merged:

https://github.com/NixOS/nixpkgs/pull/334859
2025-07-04 14:27:58 -05:00
b933ecc24e
bert: Fix bigbird_public mount path
The mount path had changed months back:

    commit ccc8708a6b
    Author: Chandler Swift <chandler@chandlerswift.com>
    Date:   Tue Jan 14 23:31:14 2025 -0600

        bert: Rename mount so systemd doesn't escape hyphen

    diff --git a/bert/configuration.nix b/bert/configuration.nix
    index 61f79b1..4072b87 100644
    --- a/bert/configuration.nix
    +++ b/bert/configuration.nix
    @@ -40 +40 @@
    -  fileSystems."/mnt/bigbird-public" = {
    +  fileSystems."/mnt/bigbird_public" = {

but I missed this use, so `/sheets` was 404ing.
2025-07-04 14:27:53 -05:00
721fdf9719
bert: Install immich 2025-06-19 23:17:45 -05:00
6 changed files with 42 additions and 9 deletions

View file

@ -6,6 +6,7 @@
./hardware-configuration.nix ./hardware-configuration.nix
./services/factorio.nix ./services/factorio.nix
./services/http/index.nix ./services/http/index.nix
./services/immich.nix
./services/minecraft.nix ./services/minecraft.nix
./services/monitoring.nix ./services/monitoring.nix
./services/forgejo.nix ./services/forgejo.nix
@ -41,7 +42,11 @@
fileSystems."/mnt/bigbird_public" = { fileSystems."/mnt/bigbird_public" = {
device = "//bigbird/public"; device = "//bigbird/public";
fsType = "cifs"; fsType = "cifs";
options = [ "guest" ]; options = [
"x-systemd.automount"
"x-systemd.requires=network-online.target"
"guest"
];
}; };
time.timeZone = "America/Chicago"; time.timeZone = "America/Chicago";

View file

@ -1,6 +1,7 @@
{ {
services.forgejo = { services.forgejo = {
enable = true; enable = true;
stateDir = "/srv/forgejo";
settings = { settings = {
DEFAULT = { DEFAULT = {
APP_NAME = "Forgejo: Beyond coding. We Forge."; # TODO APP_NAME = "Forgejo: Beyond coding. We Forge."; # TODO

View file

@ -7,6 +7,24 @@
reverse_proxy /grafana/* localhost:3000 reverse_proxy /grafana/* localhost:3000
# hide .git # ??? # hide .git # ???
respond /robots.txt 200 {
body <<EOF
User-agent: *
Disallow: /sheets/
Disallow: /newspapers/
EOF
}
file_server /newspapers/* {
browse ${./caddy-browse-template.html}
# TOOD: is there a better way to strip the prefix here? This shouldn't be
# vulnerable to a directory traversal attack (and it doesn't really
# matter anyway; everything in there is public somewhere or another!) but
# it sorta feels wrong to do this without a `/sheets` suffix.
root /mnt/bigbird_public
}
file_server /sheets/* { file_server /sheets/* {
browse ${./caddy-browse-template.html} browse ${./caddy-browse-template.html}
@ -14,7 +32,7 @@
# vulnerable to a directory traversal attack (and it doesn't really # vulnerable to a directory traversal attack (and it doesn't really
# matter anyway; everything in there is public somewhere or another!) but # matter anyway; everything in there is public somewhere or another!) but
# it sorta feels wrong to do this without a `/sheets` suffix. # it sorta feels wrong to do this without a `/sheets` suffix.
root /mnt/bigbird-public root /mnt/bigbird_public
} }
handle_errors { handle_errors {

View file

@ -13,6 +13,7 @@
./maps.chandlerswift.com.nix ./maps.chandlerswift.com.nix
./music.chandlerswift.com.nix ./music.chandlerswift.com.nix
./nau-sidewalks.chandlerswift.com.nix ./nau-sidewalks.chandlerswift.com.nix
./photos.chandlerswift.com.nix
./preview.chandlerswift.com.nix ./preview.chandlerswift.com.nix
./sharontrahan.com.nix ./sharontrahan.com.nix
./social.chandlerswift.com.nix ./social.chandlerswift.com.nix

View file

@ -0,0 +1,8 @@
{config, ...}: {
services.immich.enable = true;
services.immich.mediaLocation = "/srv/immich";
services.caddy.virtualHosts."photos.chandlerswift.com".extraConfig = ''
reverse_proxy localhost:${toString config.services.immich.port}
'';
}

View file

@ -34,11 +34,7 @@
boot.plymouth.theme = "breeze"; boot.plymouth.theme = "breeze";
boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
boot.binfmt.registrations.aarch64-linux = { boot.binfmt.preferStaticEmulators = true;
interpreter = "${pkgs.pkgsStatic.qemu-user.override { hostCpuTargets = ["aarch64-linux-user"]; }}/bin/qemu-aarch64";
wrapInterpreterInShell = false;
fixBinary = true;
};
boot.initrd.luks.devices."luks-ca2fdf0b-d385-498c-9f7d-f58368a65fd4".device = "/dev/disk/by-uuid/ca2fdf0b-d385-498c-9f7d-f58368a65fd4"; boot.initrd.luks.devices."luks-ca2fdf0b-d385-498c-9f7d-f58368a65fd4".device = "/dev/disk/by-uuid/ca2fdf0b-d385-498c-9f7d-f58368a65fd4";
networking.hostName = "oscar"; # Define your hostname. networking.hostName = "oscar"; # Define your hostname.
@ -101,12 +97,15 @@
jack.enable = true; jack.enable = true;
}; };
environment.sessionVariables.NIXOS_OZONE_WL = "1"; environment.sessionVariables = {
NIXOS_OZONE_WL = "1";
BUILDKIT_PROGRESS = "plain";
};
# Define a user account. Don't forget to set a password with passwd. # Define a user account. Don't forget to set a password with passwd.
users.users.chandler.isNormalUser = true; users.users.chandler.isNormalUser = true;
users.users.chandler.description = "Chandler Swift"; users.users.chandler.description = "Chandler Swift";
users.users.chandler.extraGroups = [ "networkmanager" "wheel" "dialout" "cdrom" "plugdev" "adbusers" "docker" ]; users.users.chandler.extraGroups = [ "networkmanager" "wheel" "dialout" "cdrom" "plugdev" "adbusers" "libvirtd" "docker" ];
home-manager.backupFileExtension = "backup"; home-manager.backupFileExtension = "backup";
home-manager.users.chandler = { pkgs, ... }: { home-manager.users.chandler = { pkgs, ... }: {
@ -152,6 +151,7 @@
ffmpeg ffmpeg
git-absorb git-absorb
imagemagick imagemagick
jujutsu
killall killall
pv pv
scrcpy scrcpy