mirror of
https://github.com/alyraffauf/nixcfg.git
synced 2024-11-22 13:03:56 -05:00
moved syncthing to alyraffauf.services
This commit is contained in:
parent
3a1b312aac
commit
4a2ded993c
|
@ -45,6 +45,9 @@
|
||||||
podman.enable = true;
|
podman.enable = true;
|
||||||
virt-manager.enable = true;
|
virt-manager.enable = true;
|
||||||
};
|
};
|
||||||
|
services = {
|
||||||
|
syncthing.enable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.aly.hashedPassword = "$y$j9T$O9NgTk6iRfh3mxiRDvfdm1$BjvsAKYEMB3C28652FF15cj/i.3TgQAObQvR0rN1E6C";
|
users.users.aly.hashedPassword = "$y$j9T$O9NgTk6iRfh3mxiRDvfdm1$BjvsAKYEMB3C28652FF15cj/i.3TgQAObQvR0rN1E6C";
|
||||||
|
|
|
@ -53,6 +53,11 @@ in {
|
||||||
gpu = ""; # rocm is broken on nixos unstable
|
gpu = ""; # rocm is broken on nixos unstable
|
||||||
listenAddress = "0.0.0.0:11434";
|
listenAddress = "0.0.0.0:11434";
|
||||||
};
|
};
|
||||||
|
syncthing = {
|
||||||
|
enable = true;
|
||||||
|
syncMusic = true;
|
||||||
|
syncMusicPath = "${mediaDirectory}/Music";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
system = {
|
system = {
|
||||||
plymouth.enable = true;
|
plymouth.enable = true;
|
||||||
|
|
|
@ -45,6 +45,7 @@
|
||||||
};
|
};
|
||||||
services = {
|
services = {
|
||||||
flatpak.enable = true;
|
flatpak.enable = true;
|
||||||
|
syncthing.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -92,6 +92,9 @@ in {
|
||||||
apps = {
|
apps = {
|
||||||
steam.enable = true;
|
steam.enable = true;
|
||||||
};
|
};
|
||||||
|
services = {
|
||||||
|
syncthing.enable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.aly.hashedPassword = "$y$j9T$Ug0ZLHQQuRciFJDgOI6r00$eHc.KyQY0oU4k0LKRiZiGWJ19jkKNWHpOoyCJbtJif8";
|
users.users.aly.hashedPassword = "$y$j9T$Ug0ZLHQQuRciFJDgOI6r00$eHc.KyQY0oU4k0LKRiZiGWJ19jkKNWHpOoyCJbtJif8";
|
||||||
|
|
|
@ -67,6 +67,9 @@
|
||||||
apps = {
|
apps = {
|
||||||
steam.enable = true;
|
steam.enable = true;
|
||||||
};
|
};
|
||||||
|
services = {
|
||||||
|
syncthing.enable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.aly.hashedPassword = "$y$j9T$VdtiEyMOegHpcUwgmCVFD0$K8Ne6.zk//VJNq2zxVQ0xE0Wg3LohvAQd3Xm9aXdM15";
|
users.users.aly.hashedPassword = "$y$j9T$VdtiEyMOegHpcUwgmCVFD0$K8Ne6.zk//VJNq2zxVQ0xE0Wg3LohvAQd3Xm9aXdM15";
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [./binaryCache ./flatpak ./ollama];
|
imports = [./binaryCache ./flatpak ./ollama ./syncthing];
|
||||||
}
|
}
|
||||||
|
|
57
nixosModules/services/syncthing/default.nix
Normal file
57
nixosModules/services/syncthing/default.nix
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [./syncMusic.nix];
|
||||||
|
|
||||||
|
options = {
|
||||||
|
alyraffauf.services.syncthing.enable = lib.mkEnableOption "Enable Syncthing";
|
||||||
|
alyraffauf.services.syncthing.user = lib.mkOption {
|
||||||
|
description = "Specify user Syncthing runs as.";
|
||||||
|
default = "aly";
|
||||||
|
type = lib.types.str;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.alyraffauf.services.syncthing.enable {
|
||||||
|
services.syncthing = {
|
||||||
|
enable = true;
|
||||||
|
openDefaultPorts = true;
|
||||||
|
user = "${config.alyraffauf.services.syncthing.user}";
|
||||||
|
dataDir = "/home/${config.alyraffauf.services.syncthing.user}";
|
||||||
|
settings = {
|
||||||
|
options = {
|
||||||
|
localAnnounceEnabled = true;
|
||||||
|
relaysEnabled = true;
|
||||||
|
urAccepted = -1;
|
||||||
|
};
|
||||||
|
devices = {
|
||||||
|
"brawly" = {id = "BBIBWMR-CN4CFC4-2XMPLII-XFWXBT5-EPCZCAF-JOWAX5J-DHIGNM4-O3XQ4Q3";}; # Pixel 6a
|
||||||
|
"gsgmba" = {id = "V2YCZSL-XY7H72L-FGJFWP2-JNYX72O-OJ5V2HY-V4SSSJM-77A7E3Z-7EJFAAV";}; # Work Macbook Air
|
||||||
|
"iphone12" = {id = "SBQNUXS-H4XDJ3E-RBHJPT5-45WDJJA-2U43M4P-23XGUJ7-E3CNNKZ-BXSGIA3";}; # iPhone 12 Pro Max
|
||||||
|
"lavaridge" = {id = "6ZHSHTQ-HO7NLK5-JVKGTAN-H7W7KXS-QB5FN2X-CEDETRE-7E6LDHE-U5FYLAS";}; # Framework 13 AMD
|
||||||
|
"mauville" = {id = "52MTCMC-PKEWSAU-HADMTZU-DY5EKFO-B323P7V-OBXLNTQ-EJY7F7Y-EUWFBQX";}; # Desktop/Homelab
|
||||||
|
"mossdeep" = {id = "XRIGHMT-54OGBWP-UAAGAJS-LGTRHA2-EMKOMEB-EJEWKZN-GJFK6FO-3O6KQQ4";}; # Steam Deck OLED
|
||||||
|
"petalburg" = {id = "E7XBKXN-QGEPQGZ-P6PIYXI-3IHWXRD-VJCFLYP-D3M6ACJ-EDZDQ3D-ZLTEBAC";}; # Yoga 9i
|
||||||
|
"rustboro" = {id = "MUCZMA2-5K3XVT7-CF5W5MG-WZUG3PU-VAX6ZZY-FCTFPEZ-FNRSCNC-A4W5LAR";}; # Thinkpad t440p
|
||||||
|
"wattson" = {id = "B2EYRQJ-LE2FR2J-D4M35TY-FXVGJ6D-USE7S2T-5V357SV-IQQWEAT-RQBLJQB";}; # Samsung a54 5g
|
||||||
|
"winona" = {id = "IGAW5SS-WY2QN6J-5TF74YZ-6XPNPTC-RCH3HIT-ZZQKCAI-6L54IS2-SNRIMA2";}; # Pixel Tablet
|
||||||
|
};
|
||||||
|
folders = {
|
||||||
|
"sync" = {
|
||||||
|
id = "default";
|
||||||
|
path = "/home/${config.alyraffauf.services.syncthing.user}/sync";
|
||||||
|
devices = ["brawly" "gsgmba" "iphone12" "lavaridge" "mauville" "petalburg" "rustboro" "mossdeep" "wattson" "winona"];
|
||||||
|
};
|
||||||
|
"camera" = {
|
||||||
|
id = "fcsgh-dlxys";
|
||||||
|
path = "/home/${config.alyraffauf.services.syncthing.user}/pics/camera";
|
||||||
|
devices = ["brawly" "lavaridge" "mauville" "petalburg" "rustboro" "wattson" "winona"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
33
nixosModules/services/syncthing/syncMusic.nix
Normal file
33
nixosModules/services/syncthing/syncMusic.nix
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options = {
|
||||||
|
alyraffauf.services.syncthing.syncMusic = lib.mkOption {
|
||||||
|
description = "Whether to sync music folder.";
|
||||||
|
default = true;
|
||||||
|
type = lib.types.bool;
|
||||||
|
};
|
||||||
|
alyraffauf.services.syncthing.syncMusicPath = lib.mkOption {
|
||||||
|
description = "Whether to sync music folder.";
|
||||||
|
default = "/home/${config.alyraffauf.services.syncthing.user}/music";
|
||||||
|
type = lib.types.str;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.alyraffauf.services.syncthing.syncMusic {
|
||||||
|
services.syncthing = {
|
||||||
|
settings = {
|
||||||
|
folders = {
|
||||||
|
"music" = {
|
||||||
|
id = "6nzmu-z9der";
|
||||||
|
path = config.alyraffauf.services.syncthing.syncMusicPath;
|
||||||
|
devices = ["lavaridge" "mauville" "petalburg" "rustboro" "wattson"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -10,57 +10,10 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf config.alyraffauf.user.aly.enable {
|
config = lib.mkIf config.alyraffauf.user.aly.enable {
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
|
||||||
users.users.aly = {
|
users.users.aly = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Aly Raffauf";
|
description = "Aly Raffauf";
|
||||||
extraGroups = ["networkmanager" "wheel" "docker" "libvirtd" "video"];
|
extraGroups = ["networkmanager" "wheel" "docker" "libvirtd" "video"];
|
||||||
};
|
};
|
||||||
|
|
||||||
services.syncthing = {
|
|
||||||
enable = true;
|
|
||||||
openDefaultPorts = true;
|
|
||||||
user = "aly";
|
|
||||||
dataDir = "/home/aly";
|
|
||||||
settings = {
|
|
||||||
options = {
|
|
||||||
localAnnounceEnabled = true;
|
|
||||||
relaysEnabled = true;
|
|
||||||
urAccepted = -1;
|
|
||||||
};
|
|
||||||
devices = {
|
|
||||||
"brawly" = {id = "BBIBWMR-CN4CFC4-2XMPLII-XFWXBT5-EPCZCAF-JOWAX5J-DHIGNM4-O3XQ4Q3";}; # Pixel 6a
|
|
||||||
"gsgmba" = {id = "V2YCZSL-XY7H72L-FGJFWP2-JNYX72O-OJ5V2HY-V4SSSJM-77A7E3Z-7EJFAAV";}; # Work Macbook Air
|
|
||||||
"iphone12" = {id = "SBQNUXS-H4XDJ3E-RBHJPT5-45WDJJA-2U43M4P-23XGUJ7-E3CNNKZ-BXSGIA3";}; # iPhone 12 Pro Max
|
|
||||||
"lavaridge" = {id = "6ZHSHTQ-HO7NLK5-JVKGTAN-H7W7KXS-QB5FN2X-CEDETRE-7E6LDHE-U5FYLAS";}; # Framework 13 AMD
|
|
||||||
"mauville" = {id = "52MTCMC-PKEWSAU-HADMTZU-DY5EKFO-B323P7V-OBXLNTQ-EJY7F7Y-EUWFBQX";}; # Desktop/Homelab
|
|
||||||
"mossdeep" = {id = "XRIGHMT-54OGBWP-UAAGAJS-LGTRHA2-EMKOMEB-EJEWKZN-GJFK6FO-3O6KQQ4";}; # Steam Deck OLED
|
|
||||||
"petalburg" = {id = "E7XBKXN-QGEPQGZ-P6PIYXI-3IHWXRD-VJCFLYP-D3M6ACJ-EDZDQ3D-ZLTEBAC";}; # Yoga 9i
|
|
||||||
"rustboro" = {id = "MUCZMA2-5K3XVT7-CF5W5MG-WZUG3PU-VAX6ZZY-FCTFPEZ-FNRSCNC-A4W5LAR";}; # Thinkpad t440p
|
|
||||||
"wattson" = {id = "B2EYRQJ-LE2FR2J-D4M35TY-FXVGJ6D-USE7S2T-5V357SV-IQQWEAT-RQBLJQB";}; # Samsung a54 5g
|
|
||||||
"winona" = {id = "IGAW5SS-WY2QN6J-5TF74YZ-6XPNPTC-RCH3HIT-ZZQKCAI-6L54IS2-SNRIMA2";}; # Pixel Tablet
|
|
||||||
};
|
|
||||||
folders = {
|
|
||||||
"sync" = {
|
|
||||||
id = "default";
|
|
||||||
path = "/home/aly/sync";
|
|
||||||
devices = ["brawly" "gsgmba" "iphone12" "lavaridge" "mauville" "petalburg" "rustboro" "mossdeep" "wattson" "winona"];
|
|
||||||
};
|
|
||||||
"camera" = {
|
|
||||||
id = "fcsgh-dlxys";
|
|
||||||
path = "/home/aly/pics/camera";
|
|
||||||
devices = ["brawly" "lavaridge" "mauville" "petalburg" "rustboro" "wattson" "winona"];
|
|
||||||
};
|
|
||||||
"music" = {
|
|
||||||
id = "6nzmu-z9der";
|
|
||||||
path =
|
|
||||||
if config.networking.hostName == "mauville"
|
|
||||||
then "/mnt/Media/Music"
|
|
||||||
else "/home/aly/music";
|
|
||||||
devices = ["lavaridge" "mauville" "petalburg" "rustboro" "wattson"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue