Compare commits
11 Commits
mautrix-te
...
227bf853ab
Author | SHA1 | Date | |
---|---|---|---|
227bf853ab | |||
e7100daf2f | |||
04069f02ec | |||
4210857297 | |||
3136ec6762 | |||
fc2a78b0db | |||
bb77fc54d4 | |||
91f4fe8b13 | |||
8be0deed4b | |||
9ed9e10931 | |||
75c76ef032 |
@@ -1,11 +1,5 @@
|
|||||||
{ pkgs, config, secrets, ... }:
|
{ pkgs, config, secrets, ... }:
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
restic
|
|
||||||
libnotify
|
|
||||||
backblaze-b2
|
|
||||||
];
|
|
||||||
|
|
||||||
systemd.services = {
|
systemd.services = {
|
||||||
notify-backup-b2-failed = {
|
notify-backup-b2-failed = {
|
||||||
description = "Notify on failed backup to B2";
|
description = "Notify on failed backup to B2";
|
||||||
@@ -26,8 +20,8 @@
|
|||||||
|
|
||||||
environment.etc = {
|
environment.etc = {
|
||||||
"restic-env".text = ''
|
"restic-env".text = ''
|
||||||
export B2_ACCOUNT_ID="${secrets.b2.accountId}"
|
B2_ACCOUNT_ID="${secrets.b2.accountId}"
|
||||||
export B2_ACCOUNT_KEY="${secrets.b2.accountKey}"
|
B2_ACCOUNT_KEY="${secrets.b2.accountKey}"
|
||||||
'';
|
'';
|
||||||
"restic-password".text = secrets.restic.password;
|
"restic-password".text = secrets.restic.password;
|
||||||
};
|
};
|
||||||
|
@@ -9,7 +9,10 @@
|
|||||||
./printing.nix
|
./printing.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
networking.hostName = "marauder";
|
networking = {
|
||||||
|
hostName = "marauder";
|
||||||
|
firewall.enable = false;
|
||||||
|
};
|
||||||
|
|
||||||
fileSystems = {
|
fileSystems = {
|
||||||
"/" = {
|
"/" = {
|
||||||
@@ -86,8 +89,11 @@
|
|||||||
ffmpeg
|
ffmpeg
|
||||||
(callPackage ./ffcheck.nix { })
|
(callPackage ./ffcheck.nix { })
|
||||||
|
|
||||||
# Productivity
|
# Misc
|
||||||
obsidian
|
obsidian
|
||||||
|
intiface-central
|
||||||
|
prismlauncher
|
||||||
|
blender
|
||||||
]);
|
]);
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -97,6 +103,23 @@
|
|||||||
dedicatedServer.openFirewall = true;
|
dedicatedServer.openFirewall = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs.ssh.extraConfig = ''
|
||||||
|
Host quasar
|
||||||
|
HostName consortium.chat
|
||||||
|
IdentityFile ~/.ssh/LightsailDefaultKey-us-west-2.pem
|
||||||
|
|
||||||
|
Host monolith
|
||||||
|
HostName 10.243.210.154
|
||||||
|
|
||||||
|
Host fennbox
|
||||||
|
HostName 10.243.109.199
|
||||||
|
User fenn
|
||||||
|
'';
|
||||||
|
|
||||||
|
programs.nix-ld = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
videoDrivers = [ "nvidia" ];
|
videoDrivers = [ "nvidia" ];
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
{ self, ... }:
|
{ self, pkgs, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
self.nixosModules.common
|
self.nixosModules.common
|
||||||
@@ -11,6 +11,7 @@
|
|||||||
networking = {
|
networking = {
|
||||||
hostName = "monolith";
|
hostName = "monolith";
|
||||||
hostId = "44551c32";
|
hostId = "44551c32";
|
||||||
|
firewall.allowedTCPPorts = [ 8000 ];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems = {
|
fileSystems = {
|
||||||
@@ -39,6 +40,32 @@
|
|||||||
supportedFilesystems = [ "zfs" ];
|
supportedFilesystems = [ "zfs" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
rclone
|
||||||
|
beets
|
||||||
|
flac
|
||||||
|
screen
|
||||||
|
rustup
|
||||||
|
gcc
|
||||||
|
(callPackage ../marauder/ffcheck.nix { })
|
||||||
|
];
|
||||||
|
|
||||||
|
services.jellyfin = {
|
||||||
|
enable = true;
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.navidrome = {
|
||||||
|
enable = true;
|
||||||
|
openFirewall = true;
|
||||||
|
settings = {
|
||||||
|
Address = "0.0.0.0";
|
||||||
|
MusicFolder = "/library/music";
|
||||||
|
Scanner.GroupAlbumReleases = "true";
|
||||||
|
ScanSchedule = "0";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
promptEmoji = "🏰";
|
promptEmoji = "🏰";
|
||||||
|
|
||||||
time.timeZone = "America/Los_Angeles";
|
time.timeZone = "America/Los_Angeles";
|
||||||
|
@@ -3,22 +3,16 @@
|
|||||||
systemd.services.update-dns = {
|
systemd.services.update-dns = {
|
||||||
serviceConfig.Type = "oneshot";
|
serviceConfig.Type = "oneshot";
|
||||||
description = "Update the leaf.ninja DNS records";
|
description = "Update the leaf.ninja DNS records";
|
||||||
path = with pkgs; [ curl jq ];
|
path = with pkgs; [ curl ];
|
||||||
script = ''
|
script = ''
|
||||||
public_ip=$(curl -s https://ifconfig.me/ip)
|
public_ip=$(curl -s https://ifconfig.me/ip)
|
||||||
endpoint="https://api.gandi.net/v5/livedns/domains/leaf.ninja/records"
|
endpoint="https://api.gandi.net/v5/livedns/domains/leaf.ninja/records"
|
||||||
curl -s \
|
curl \
|
||||||
-X PUT \
|
-X PUT \
|
||||||
-H "Authorization: Bearer ${secrets.gandi.token}" \
|
-H "Authorization: Bearer ${secrets.gandi.token}" \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-d "{\"rrset_values\":[\"$public_ip\"]}" \
|
-d "{\"rrset_values\":[\"$public_ip\"]}" \
|
||||||
"$ENDPOINT/%2A/A" | jq
|
$endpoint/ostiary/A
|
||||||
curl -s \
|
|
||||||
-X PUT \
|
|
||||||
-H "Authorization: Bearer ${secrets.gandi.token}" \
|
|
||||||
-H "Content-Type: application/json" \
|
|
||||||
-d "{\"rrset_values\":[\"$public_ip\"]}" \
|
|
||||||
"$ENDPOINT/%40/A" | jq
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user