update lock file remove tabs
This commit is contained in:
Generated
+16
-16
@@ -9,11 +9,11 @@
|
|||||||
"utils": "utils"
|
"utils": "utils"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1785518313,
|
"lastModified": 1788879443,
|
||||||
"narHash": "sha256-anlq3YQDCsNrkNlu3HTg4dEIpRugwnyAVUxoPcBmA/U=",
|
"narHash": "sha256-qb9sL86UCUEd3SYAda4ItN1NV0vhMSdbpA64WckvVI0=",
|
||||||
"owner": "serokell",
|
"owner": "serokell",
|
||||||
"repo": "deploy-rs",
|
"repo": "deploy-rs",
|
||||||
"rev": "b974715a27b49fadbf3bf6d85e26bcb3109daa6d",
|
"rev": "414ac5f35d79aabe5a0bf52451d8cf61eadf6c88",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -58,11 +58,11 @@
|
|||||||
"grasswren": {
|
"grasswren": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1783801496,
|
"lastModified": 1788394295,
|
||||||
"narHash": "sha256-awQZQVk5jz8ZyNCEnqarBZENKP7RvKHN8QRuDQJY7YA=",
|
"narHash": "sha256-Fg8PUA0tG5/N8fYWpsOHo0j1+Bnez8G0d8Xd3K63zb8=",
|
||||||
"ref": "main",
|
"ref": "main",
|
||||||
"rev": "4d505fe6467e14b6e37b89e2e9e3a3b2bbf6649f",
|
"rev": "5123b8e9873b7f413c080ba97f01feb85be51808",
|
||||||
"revCount": 4,
|
"revCount": 5,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://code.grasswren.net/Lilac/Grasswren.git"
|
"url": "https://code.grasswren.net/Lilac/Grasswren.git"
|
||||||
},
|
},
|
||||||
@@ -79,11 +79,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1785119570,
|
"lastModified": 1789182507,
|
||||||
"narHash": "sha256-Rgs2xKnGLFWQscxUaXX07oyZeuMDOHEbqDOsgliLFGM=",
|
"narHash": "sha256-9nt4W0HNNP84B+b37yRs9Zxat1ZR5guJxEZDEjAgex4=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "d4fd24667c8cbef124bb70a20380cab75ec8474d",
|
"rev": "b1d1b60084970f9d1e2b72662639dab6d039be71",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -111,11 +111,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1785599192,
|
"lastModified": 1789114715,
|
||||||
"narHash": "sha256-dg4RTtDxnXY13UkJNdhmgTUTl0n/IJBlCigfO7nutZw=",
|
"narHash": "sha256-ugpsyk3NM2s87vXfUiIIiibbJ4Pp0JPS5p/3mfs+q+c=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "6d65bfc1bcef2ef39a239d38e577e92a89fb0f07",
|
"rev": "21a67dc470149f337cecafbe965d8d252a390518",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -156,11 +156,11 @@
|
|||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1783174389,
|
"lastModified": 1788914643,
|
||||||
"narHash": "sha256-aCWC8ngycU7OdJrU2+Je3qf+1a2ykuBvpPhZT/9tXMc=",
|
"narHash": "sha256-4GuMPW90JSxXWDPUB9M+1m7fYbe3H0apOd86/zBQ2Kw=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "f1406619a3884cd5c47992a70b8b35c9c0fcb4c9",
|
"rev": "13616fff713a9f94055c66f15687ebdc17a335df",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -40,8 +40,9 @@
|
|||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
./hosts/vps/default.nix
|
./hosts/vps/default.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
backup = nixpkgs.lib.nixosSystem {
|
|
||||||
|
backup = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = { inherit inputs; };
|
||||||
modules = [
|
modules = [
|
||||||
@@ -51,18 +52,20 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
homeConfigurations.lilac = home-manager.lib.homeManagerConfiguration {
|
|
||||||
pkgs = import nixpkgs { system = "x86_64-linux"; };
|
|
||||||
modules = [
|
|
||||||
./home/lilac.nix
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
# nix run github:nix-community/nixos-anywhere -- --flake .#<CONFIGURATION> --phases install root@<ADDRESS>
|
|
||||||
# nix run github:serokell/deploy-rs
|
|
||||||
deploy.nodes = {
|
deploy.nodes = {
|
||||||
|
desktop = {
|
||||||
|
hostname = "10.0.0.2";
|
||||||
|
sshUser = "root";
|
||||||
|
magicRollbackTimeout = 120;
|
||||||
|
profiles.system = {
|
||||||
|
user = "root";
|
||||||
|
remoteBuild = false;
|
||||||
|
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.desktop;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
vps = {
|
vps = {
|
||||||
hostname = "216.128.177.13";
|
hostname = "10.0.0.3";
|
||||||
sshUser = "root";
|
sshUser = "root";
|
||||||
magicRollbackTimeout = 120;
|
magicRollbackTimeout = 120;
|
||||||
profiles.system = {
|
profiles.system = {
|
||||||
@@ -72,16 +75,6 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
desktop = {
|
|
||||||
hostname = "192.168.1.133";
|
|
||||||
sshUser = "root";
|
|
||||||
magicRollbackTimeout = 120;
|
|
||||||
profiles.system = {
|
|
||||||
user = "root";
|
|
||||||
remoteBuild = false;
|
|
||||||
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.desktop;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
backup = {
|
backup = {
|
||||||
hostname = "10.0.0.4";
|
hostname = "10.0.0.4";
|
||||||
sshUser = "root";
|
sshUser = "root";
|
||||||
@@ -92,7 +85,8 @@
|
|||||||
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.backup;
|
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.backup;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
checks = {
|
checks = {
|
||||||
x86_64-linux = deploy-rs.lib.x86_64-linux.deployChecks self.deploy;
|
x86_64-linux = deploy-rs.lib.x86_64-linux.deployChecks self.deploy;
|
||||||
};
|
};
|
||||||
|
|||||||
+24
-24
@@ -7,16 +7,16 @@
|
|||||||
|
|
||||||
users.users.lilac = {
|
users.users.lilac = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
group = "lilac";
|
group = "lilac";
|
||||||
extraGroups = [ "wheel" ];
|
extraGroups = [ "wheel" ];
|
||||||
};
|
};
|
||||||
users.groups.lilac = {};
|
users.groups.lilac = {};
|
||||||
home-manager = {
|
home-manager = {
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
|
|
||||||
users.lilac = import ../../home/lilac.nix;
|
users.lilac = import ../../home/lilac.nix;
|
||||||
};
|
};
|
||||||
programs.zsh.enable = true;
|
programs.zsh.enable = true;
|
||||||
users.users.lilac.shell = pkgs.zsh;
|
users.users.lilac.shell = pkgs.zsh;
|
||||||
security.sudo.wheelNeedsPassword = false;
|
security.sudo.wheelNeedsPassword = false;
|
||||||
@@ -62,8 +62,8 @@
|
|||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
whipper
|
whipper
|
||||||
flac
|
flac
|
||||||
tor-browser
|
tor-browser
|
||||||
];
|
];
|
||||||
|
|
||||||
networking.wireless.enable = true;
|
networking.wireless.enable = true;
|
||||||
@@ -73,22 +73,22 @@
|
|||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
firewall = {
|
firewall = {
|
||||||
enable = true;
|
enable = true;
|
||||||
allowedUDPPorts = [ 51820 ];
|
allowedUDPPorts = [ 51820 ];
|
||||||
trustedInterfaces = [ "wg0" ];
|
trustedInterfaces = [ "wg0" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
wireguard.interfaces."wg0" = {
|
wireguard.interfaces."wg0" = {
|
||||||
ips = [ "10.0.0.4/24" ];
|
ips = [ "10.0.0.4/24" ];
|
||||||
generatePrivateKeyFile = true;
|
generatePrivateKeyFile = true;
|
||||||
privateKeyFile = "/var/lib/wireguard/wg0.key";
|
privateKeyFile = "/var/lib/wireguard/wg0.key";
|
||||||
peers = [{
|
peers = [{
|
||||||
publicKey = "Tst6SiqoGLSoOAF9l5vT2vvR2RGJ/mFcoBL3BL5n90k=";
|
publicKey = "Tst6SiqoGLSoOAF9l5vT2vvR2RGJ/mFcoBL3BL5n90k=";
|
||||||
allowedIPs = [ "10.0.0.0/24" ];
|
allowedIPs = [ "10.0.0.0/24" ];
|
||||||
endpoint = "216.128.177.13:51820";
|
endpoint = "216.128.177.13:51820";
|
||||||
persistentKeepalive = 25;
|
persistentKeepalive = 25;
|
||||||
}];
|
}];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
@@ -99,10 +99,10 @@ networking = {
|
|||||||
|
|
||||||
services.restic.server = {
|
services.restic.server = {
|
||||||
enable = true;
|
enable = true;
|
||||||
listenAddress = "10.0.0.4:8000";
|
listenAddress = "10.0.0.4:8000";
|
||||||
dataDir = "/var/lib/restic";
|
dataDir = "/var/lib/restic";
|
||||||
appendOnly = true;
|
appendOnly = true;
|
||||||
extraFlags = [ "--no-auth" ];
|
extraFlags = [ "--no-auth" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.firewall.interfaces.wg0.allowedTCPPorts = [ 8000 ];
|
networking.firewall.interfaces.wg0.allowedTCPPorts = [ 8000 ];
|
||||||
|
|||||||
+25
-25
@@ -9,17 +9,17 @@
|
|||||||
../../modules/site/mail.nix
|
../../modules/site/mail.nix
|
||||||
../../modules/site/music.nix
|
../../modules/site/music.nix
|
||||||
../../modules/site/photo.nix
|
../../modules/site/photo.nix
|
||||||
../../modules/site/vault.nix
|
../../modules/site/vault.nix
|
||||||
|
|
||||||
../../modules/ssh.nix
|
../../modules/ssh.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
networking.hostName = "desktop";
|
networking.hostName = "desktop";
|
||||||
|
|
||||||
users.users.lilac = {
|
users.users.lilac = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
group = "lilac";
|
group = "lilac";
|
||||||
extraGroups = [ "wheel" "render" "video" "input" "uinput" ];
|
extraGroups = [ "wheel" "render" "video" "input" "uinput" ];
|
||||||
};
|
};
|
||||||
users.groups.lilac = {};
|
users.groups.lilac = {};
|
||||||
home-manager = {
|
home-manager = {
|
||||||
@@ -102,31 +102,31 @@
|
|||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
whipper
|
whipper
|
||||||
flac
|
flac
|
||||||
tor-browser
|
tor-browser
|
||||||
restic
|
restic
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.steam.enable = true;
|
programs.steam.enable = true;
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
firewall = {
|
firewall = {
|
||||||
enable = true;
|
enable = true;
|
||||||
allowedUDPPorts = [ 51820 ];
|
allowedUDPPorts = [ 51820 ];
|
||||||
trustedInterfaces = [ "wg0" ];
|
trustedInterfaces = [ "wg0" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
wireguard.interfaces."wg0" = {
|
wireguard.interfaces."wg0" = {
|
||||||
ips = [ "10.0.0.2/24" ];
|
ips = [ "10.0.0.2/24" ];
|
||||||
generatePrivateKeyFile = true;
|
generatePrivateKeyFile = true;
|
||||||
privateKeyFile = "/var/lib/wireguard/wg0.key";
|
privateKeyFile = "/var/lib/wireguard/wg0.key";
|
||||||
peers = [{
|
peers = [{
|
||||||
publicKey = "Tst6SiqoGLSoOAF9l5vT2vvR2RGJ/mFcoBL3BL5n90k=";
|
publicKey = "Tst6SiqoGLSoOAF9l5vT2vvR2RGJ/mFcoBL3BL5n90k=";
|
||||||
allowedIPs = [ "10.0.0.0/24" ];
|
allowedIPs = [ "10.0.0.0/24" ];
|
||||||
endpoint = "216.128.177.13:51820";
|
endpoint = "216.128.177.13:51820";
|
||||||
persistentKeepalive = 25;
|
persistentKeepalive = 25;
|
||||||
}];
|
}];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
@@ -135,10 +135,10 @@
|
|||||||
|
|
||||||
services.restic.backups.backup = {
|
services.restic.backups.backup = {
|
||||||
repository = "rest:http://10.0.0.4:8000/backup";
|
repository = "rest:http://10.0.0.4:8000/backup";
|
||||||
initialize = true;
|
initialize = true;
|
||||||
passwordFile = "/home/lilac/test-password";
|
passwordFile = "/home/lilac/test-password";
|
||||||
paths = [ "/var/lib/immich" "/var/lib/music" "/var/lib/gitea" "/var/lib/vault-backup" ];
|
paths = [ "/var/lib/immich" "/var/lib/music" "/var/lib/gitea" "/var/lib/vault-backup" ];
|
||||||
timerConfig.OnCalendar = "03:30";
|
timerConfig.OnCalendar = "03:30";
|
||||||
pruneOpts = [ "--keep-daily 7" "--keep-weekly 4" "--keep-monthly 12" ];
|
pruneOpts = [ "--keep-daily 7" "--keep-weekly 4" "--keep-monthly 12" ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
+30
-30
@@ -11,8 +11,8 @@
|
|||||||
|
|
||||||
users.users.lilac = {
|
users.users.lilac = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
group = "lilac";
|
group = "lilac";
|
||||||
extraGroups = [ "wheel" ];
|
extraGroups = [ "wheel" ];
|
||||||
};
|
};
|
||||||
users.groups.lilac = {};
|
users.groups.lilac = {};
|
||||||
home-manager = {
|
home-manager = {
|
||||||
@@ -27,47 +27,47 @@
|
|||||||
# forwarding inbound network traffic over wireguard
|
# forwarding inbound network traffic over wireguard
|
||||||
networking = {
|
networking = {
|
||||||
firewall = {
|
firewall = {
|
||||||
enable = true;
|
enable = true;
|
||||||
allowedTCPPorts = [ 80 443 ];
|
allowedTCPPorts = [ 80 443 ];
|
||||||
allowedUDPPorts = [ 51820 ];
|
allowedUDPPorts = [ 51820 ];
|
||||||
trustedInterfaces = [ "wg0" ];
|
trustedInterfaces = [ "wg0" ];
|
||||||
};
|
};
|
||||||
wireguard.interfaces."wg0" = {
|
wireguard.interfaces."wg0" = {
|
||||||
ips = [ "10.0.0.3/24" ];
|
ips = [ "10.0.0.3/24" ];
|
||||||
listenPort = 51820;
|
listenPort = 51820;
|
||||||
generatePrivateKeyFile = true;
|
generatePrivateKeyFile = true;
|
||||||
privateKeyFile = "/var/lib/wireguard/wg0.key";
|
privateKeyFile = "/var/lib/wireguard/wg0.key";
|
||||||
peers = [
|
peers = [
|
||||||
{
|
{
|
||||||
allowedIPs = [ "10.0.0.1/32" ];
|
allowedIPs = [ "10.0.0.1/32" ];
|
||||||
publicKey = "guKFJGQW946HXWjca/biMYH1nJKw0fguLjzGXKZ7Bxw=";
|
publicKey = "guKFJGQW946HXWjca/biMYH1nJKw0fguLjzGXKZ7Bxw=";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
allowedIPs = [ "10.0.0.2/32" ];
|
allowedIPs = [ "10.0.0.2/32" ];
|
||||||
publicKey = "7BcwtszpzS4ABDwKwMaiJ7F35sJRa89fBbuh80Sk8Uk=";
|
publicKey = "7BcwtszpzS4ABDwKwMaiJ7F35sJRa89fBbuh80Sk8Uk=";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
allowedIPs = [ "10.0.0.4/32" ];
|
allowedIPs = [ "10.0.0.4/32" ];
|
||||||
publicKey = "XjuV3wzkP03UUjYSJfY3OG3WWLRtoQBN7GokDEWhdhQ=";
|
publicKey = "XjuV3wzkP03UUjYSJfY3OG3WWLRtoQBN7GokDEWhdhQ=";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
nftables = {
|
nftables = {
|
||||||
enable = true;
|
enable = true;
|
||||||
tables.nat = {
|
tables.nat = {
|
||||||
family = "ip";
|
family = "ip";
|
||||||
content = ''
|
content = ''
|
||||||
chain prerouting {
|
chain prerouting {
|
||||||
type nat hook prerouting priority dstnat; policy accept;
|
type nat hook prerouting priority dstnat; policy accept;
|
||||||
iifname "enp1s0" tcp dport { 80, 443 } dnat to 10.0.0.2
|
iifname "enp1s0" tcp dport { 80, 443 } dnat to 10.0.0.2
|
||||||
}
|
}
|
||||||
chain postrouting {
|
chain postrouting {
|
||||||
type nat hook postrouting priority srcnat; policy accept;
|
type nat hook postrouting priority srcnat; policy accept;
|
||||||
oifname "wg0" masquerade
|
oifname "wg0" masquerade
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
boot.kernel.sysctl = {
|
boot.kernel.sysctl = {
|
||||||
"net.ipv4.ip_forward" = 1;
|
"net.ipv4.ip_forward" = 1;
|
||||||
|
|||||||
@@ -3,11 +3,11 @@
|
|||||||
{
|
{
|
||||||
boot = {
|
boot = {
|
||||||
initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
|
initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
|
||||||
kernelModules = [ ];
|
kernelModules = [ ];
|
||||||
extraModulePackages = [ ];
|
extraModulePackages = [ ];
|
||||||
loader.systemd-boot.enable = true;
|
loader.systemd-boot.enable = true;
|
||||||
loader.efi.canTouchEfiVariables = true;
|
loader.efi.canTouchEfiVariables = true;
|
||||||
loader.efi.efiSysMountPoint = "/boot/efi";
|
loader.efi.efiSysMountPoint = "/boot/efi";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/" = { device = "/dev/vda2"; fsType = "ext4"; };
|
fileSystems."/" = { device = "/dev/vda2"; fsType = "ext4"; };
|
||||||
|
|||||||
+4
-4
@@ -3,7 +3,7 @@
|
|||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
whipper
|
whipper
|
||||||
beets
|
beets
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.beets = {
|
programs.beets = {
|
||||||
@@ -14,11 +14,11 @@
|
|||||||
library = "/var/lib/music/library.db";
|
library = "/var/lib/music/library.db";
|
||||||
|
|
||||||
plugins = [
|
plugins = [
|
||||||
"musicbrainz"
|
"musicbrainz"
|
||||||
"fetchart"
|
"fetchart"
|
||||||
"embedart"
|
"embedart"
|
||||||
"scrub"
|
"scrub"
|
||||||
"chroma"
|
"chroma"
|
||||||
];
|
];
|
||||||
|
|
||||||
per_disc_numbering = true;
|
per_disc_numbering = true;
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
default = "$albumartist/$album%aunique{}/$track - $title";
|
default = "$albumartist/$album%aunique{}/$track - $title";
|
||||||
};
|
};
|
||||||
|
|
||||||
fetchart.auto = true;
|
fetchart.auto = true;
|
||||||
embedart.auto = true;
|
embedart.auto = true;
|
||||||
scrub.auto = true;
|
scrub.auto = true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -14,13 +14,7 @@ in
|
|||||||
enable = true;
|
enable = true;
|
||||||
virtualHosts."grasswren.net".extraConfig = ''
|
virtualHosts."grasswren.net".extraConfig = ''
|
||||||
encode
|
encode
|
||||||
root * ${website}/home
|
root * ${website}
|
||||||
file_server
|
|
||||||
'';
|
|
||||||
|
|
||||||
virtualHosts."blog.grasswren.net".extraConfig = ''
|
|
||||||
encode
|
|
||||||
root * ${website}/blog
|
|
||||||
file_server
|
file_server
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -20,13 +20,13 @@
|
|||||||
user = "gitea";
|
user = "gitea";
|
||||||
};
|
};
|
||||||
|
|
||||||
settings.service.DISABLE_REGISTRATION = true;
|
settings.service.DISABLE_REGISTRATION = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.caddy = {
|
services.caddy = {
|
||||||
enable = true;
|
enable = true;
|
||||||
virtualHosts."code.grasswren.net".extraConfig = ''
|
virtualHosts."code.grasswren.net".extraConfig = ''
|
||||||
reverse_proxy localhost:3000
|
reverse_proxy localhost:3000
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,13 +3,13 @@
|
|||||||
{
|
{
|
||||||
services.navidrome = {
|
services.navidrome = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings.MusicFolder = "/var/lib/music";
|
settings.MusicFolder = "/var/lib/music";
|
||||||
};
|
};
|
||||||
|
|
||||||
services.caddy = {
|
services.caddy = {
|
||||||
enable = true;
|
enable = true;
|
||||||
virtualHosts."music.grasswren.net".extraConfig = ''
|
virtualHosts."music.grasswren.net".extraConfig = ''
|
||||||
reverse_proxy localhost:4533
|
reverse_proxy localhost:4533
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,15 +3,15 @@
|
|||||||
{
|
{
|
||||||
services.immich = {
|
services.immich = {
|
||||||
enable = true;
|
enable = true;
|
||||||
host = "127.0.0.1";
|
host = "127.0.0.1";
|
||||||
port = 2283;
|
port = 2283;
|
||||||
mediaLocation = "/var/lib/immich";
|
mediaLocation = "/var/lib/immich";
|
||||||
};
|
};
|
||||||
|
|
||||||
services.caddy = {
|
services.caddy = {
|
||||||
enable = true;
|
enable = true;
|
||||||
virtualHosts."photo.grasswren.net".extraConfig = ''
|
virtualHosts."photo.grasswren.net".extraConfig = ''
|
||||||
reverse_proxy localhost:2283
|
reverse_proxy localhost:2283
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
{
|
{
|
||||||
services.vaultwarden = {
|
services.vaultwarden = {
|
||||||
enable = true;
|
enable = true;
|
||||||
backupDir = "/var/lib/vault-backup";
|
backupDir = "/var/lib/vault-backup";
|
||||||
config = {
|
config = {
|
||||||
DOMAIN = "https://vault.example.com";
|
DOMAIN = "https://vault.example.com";
|
||||||
SIGNUPS_ALLOWED = false;
|
SIGNUPS_ALLOWED = false;
|
||||||
@@ -14,8 +14,8 @@
|
|||||||
|
|
||||||
services.caddy = {
|
services.caddy = {
|
||||||
enable = true;
|
enable = true;
|
||||||
virtualHosts."vault.grasswren.net".extraConfig = ''
|
virtualHosts."vault.grasswren.net".extraConfig = ''
|
||||||
reverse_proxy localhost:8222
|
reverse_proxy localhost:8222
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
+13
-13
@@ -3,29 +3,29 @@
|
|||||||
{
|
{
|
||||||
services.headscale = {
|
services.headscale = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
server_url = "https://vpn.grasswren.net";
|
server_url = "https://vpn.grasswren.net";
|
||||||
listen_addr = "127.0.0.1:8080";
|
listen_addr = "127.0.0.1:8080";
|
||||||
|
|
||||||
database.type = "sqlite";
|
database.type = "sqlite";
|
||||||
|
|
||||||
ip_prefixes = [
|
ip_prefixes = [
|
||||||
"100.64.0.0/10"
|
"100.64.0.0/10"
|
||||||
"fd7a:115c:a1e0::/48"
|
"fd7a:115c:a1e0::/48"
|
||||||
];
|
];
|
||||||
|
|
||||||
dns = {
|
dns = {
|
||||||
magic_domain = true;
|
magic_domain = true;
|
||||||
base_domain = "vpn.grasswren.net";
|
base_domain = "vpn.grasswren.net";
|
||||||
nameservers.global = [ "1.1.1.1" ];
|
nameservers.global = [ "1.1.1.1" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.caddy = {
|
services.caddy = {
|
||||||
enable = true;
|
enable = true;
|
||||||
virtualHosts."vpn.grasswren.net".extraConfig = ''
|
virtualHosts."vpn.grasswren.net".extraConfig = ''
|
||||||
reverse_proxy localhost:8080
|
reverse_proxy localhost:8080
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
+8
-8
@@ -3,19 +3,19 @@
|
|||||||
{
|
{
|
||||||
networking.firewall = {
|
networking.firewall = {
|
||||||
enable = true;
|
enable = true;
|
||||||
interfaces.wg0.allowedTCPPorts = [ 22 ];
|
interfaces.wg0.allowedTCPPorts = [ 22 ];
|
||||||
};
|
};
|
||||||
services.openssh = {
|
services.openssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
PermitRootLogin = "prohibit-password";
|
PermitRootLogin = "prohibit-password";
|
||||||
PasswordAuthentication = false;
|
PasswordAuthentication = false;
|
||||||
KbdInteractiveAuthentication = false;
|
KbdInteractiveAuthentication = false;
|
||||||
};
|
};
|
||||||
listenAddresses = [{
|
listenAddresses = [{
|
||||||
addr = "0.0.0.0";
|
addr = "0.0.0.0";
|
||||||
port = 22;
|
port = 22;
|
||||||
}];
|
}];
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.lilac.openssh.authorizedKeys.keys = [
|
users.users.lilac.openssh.authorizedKeys.keys = [
|
||||||
|
|||||||
Reference in New Issue
Block a user