This commit is contained in:
mjallen18
2024-04-06 18:47:18 -05:00
parent 75ebde2cce
commit eb456b934f
9 changed files with 254 additions and 90 deletions

128
flake.lock generated
View File

@@ -21,12 +21,12 @@
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1707922053,
"narHash": "sha256-wSZjK+rOXn+UQiP1NbdNn5/UW6UcBxjvlqr2wh++MbM=",
"rev": "6eabc3f02fae3683bffab483e614bebfcd476b21",
"revCount": 193,
"lastModified": 1711742460,
"narHash": "sha256-0O4v6e4a1toxXZ2gf5INhg4WPE5C5T+SVvsBt+45Mcc=",
"rev": "4dbdbee45728d8ce5788db6461aaaa89d98081f0",
"revCount": 197,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/zhaofengli/attic/0.1.193%2Brev-6eabc3f02fae3683bffab483e614bebfcd476b21/018da817-367d-75ac-bd41-470d92844bf2/source.tar.gz"
"url": "https://api.flakehub.com/f/pinned/zhaofengli/attic/0.1.197%2Brev-4dbdbee45728d8ce5788db6461aaaa89d98081f0/018e8bce-1229-7d78-a052-5121272f0341/source.tar.gz"
},
"original": {
"type": "tarball",
@@ -53,11 +53,11 @@
"yafas": "yafas"
},
"locked": {
"lastModified": 1711553831,
"narHash": "sha256-lhghmdbx85HiaO0SVzShLo1URAKaQ8di6wCza0dFl3s=",
"lastModified": 1712410564,
"narHash": "sha256-SaieRX6F81W84WA973bA8NGAybjomH01y79FLLj5l6c=",
"owner": "chaotic-cx",
"repo": "nyx",
"rev": "540183bd3862a6ede4acc860e1b4e5f8f79eef27",
"rev": "658cc876186c56526ebacaa5954e3c88fb7e3577",
"type": "github"
},
"original": {
@@ -113,11 +113,11 @@
]
},
"locked": {
"lastModified": 1711506264,
"narHash": "sha256-GaQJvPyEkZu3YMdV9m1UENoeE10fkV6PcnLUtzPmuOY=",
"lastModified": 1712369716,
"narHash": "sha256-9zs+0GTfSyGHdpiA6dPJXnDKAHmfr01OE9FxDE9KvPI=",
"owner": "girlbossceo",
"repo": "conduwuit",
"rev": "051668b62b76270dc8ad3b011c6adbfe8ee8bde2",
"rev": "2516d44cb178547194a66fa9c44930ab9bddd910",
"type": "github"
},
"original": {
@@ -188,12 +188,12 @@
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
"lastModified": 1709274179,
"narHash": "sha256-O6EC6QELBLHzhdzBOJj0chx8AOcd4nDRECIagfT5Nd0=",
"rev": "4be608f4f81d351aacca01b21ffd91028c23cc22",
"revCount": 1791,
"lastModified": 1711952616,
"narHash": "sha256-WJvDdOph001fA1Ap3AyaQtz/afJAe7meSG5uJAdSE+A=",
"rev": "209048d7c545905c470f6f8c05c5061f391031a8",
"revCount": 1822,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1791%2Brev-4be608f4f81d351aacca01b21ffd91028c23cc22/018df913-b6d3-756c-b05c-358eca6e487d/source.tar.gz"
"url": "https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1822%2Brev-209048d7c545905c470f6f8c05c5061f391031a8/018e98ba-d842-7dad-9d6a-0d0ee173b6b1/source.tar.gz"
},
"original": {
"type": "tarball",
@@ -368,11 +368,11 @@
]
},
"locked": {
"lastModified": 1711554349,
"narHash": "sha256-RypwcWEIFePBI0Hubfj4chanbM/G2yzJzC6wgz+dmS4=",
"lastModified": 1712390667,
"narHash": "sha256-ebq+fJZfobqpsAdGDGpxNWSySbQejRwW9cdiil6krCo=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "179f6acaf7c068c7870542cdae72afec9427a5b0",
"rev": "b787726a8413e11b074cde42704b4af32d95545c",
"type": "github"
},
"original": {
@@ -388,11 +388,11 @@
]
},
"locked": {
"lastModified": 1711554349,
"narHash": "sha256-RypwcWEIFePBI0Hubfj4chanbM/G2yzJzC6wgz+dmS4=",
"lastModified": 1712390667,
"narHash": "sha256-ebq+fJZfobqpsAdGDGpxNWSySbQejRwW9cdiil6krCo=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "179f6acaf7c068c7870542cdae72afec9427a5b0",
"rev": "b787726a8413e11b074cde42704b4af32d95545c",
"type": "github"
},
"original": {
@@ -425,11 +425,11 @@
]
},
"locked": {
"lastModified": 1711231487,
"narHash": "sha256-dRdFjStMA7GeuD/V4vzKblzuHwxMPgzEboRleVdZlUM=",
"lastModified": 1712296875,
"narHash": "sha256-Cmyer1n39J5IucCiyy84kf1XLr1Gdz/i5HKbzzEOQYM=",
"owner": "Jovian-Experiments",
"repo": "Jovian-NixOS",
"rev": "1171169117f63f1de9ef2ea36efd8dcf377c6d5a",
"rev": "9b0e8712f1a9e5569036b227d539b745fcf54aad",
"type": "github"
},
"original": {
@@ -451,11 +451,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1711497966,
"narHash": "sha256-riUI0kKAPlx0IueXm6cn2jjAnorwumLSN2kFbVvDwT8=",
"lastModified": 1712361380,
"narHash": "sha256-1cEiFtUvjBlp4J4kCvlsEobrTEsAzRBhRNvG8N1XH9w=",
"owner": "martinvonz",
"repo": "jj",
"rev": "423a2a54463471e525a04959c9e79e3f4a206f4a",
"rev": "93cebcd0c0e910b8b7de606982efa8430a94676e",
"type": "github"
},
"original": {
@@ -515,11 +515,11 @@
]
},
"locked": {
"lastModified": 1711518378,
"narHash": "sha256-+wOdvNOEtkb5sGeJBXK5CpUPx+NWeVwVH6y4NdVH2os=",
"lastModified": 1712150496,
"narHash": "sha256-24MK9P+3OIBeaVsyy6r/W77/9TVLCQGDF8RVOCkK4Uk=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "e276c906bf4bea27dc8173815ff373d04c20caaf",
"rev": "8be938197486acb2af4ba91aae0fac57619a46c8",
"type": "github"
},
"original": {
@@ -533,11 +533,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1710717205,
"narHash": "sha256-Wf3gHh5uV6W1TV/A8X8QJf99a5ypDSugY4sNtdJDe0A=",
"lastModified": 1711763326,
"narHash": "sha256-sXcesZWKXFlEQ8oyGHnfk4xc9f2Ip0X/+YZOq3sKviI=",
"owner": "LnL7",
"repo": "nix-darwin",
"rev": "bcc8afd06e237df060c85bad6af7128e05fd61a3",
"rev": "36524adc31566655f2f4d55ad6b875fb5c1a4083",
"type": "github"
},
"original": {
@@ -563,11 +563,11 @@
},
"nix-flatpak": {
"locked": {
"lastModified": 1708781964,
"narHash": "sha256-qbEZgB1mNuMADLmM64EtcRjDHXR3UFL4xVmoanv9wZU=",
"lastModified": 1711997375,
"narHash": "sha256-KvU4gOtuFMS9Il67glRGtdNfguAINT9pCaXtvCL8uI8=",
"owner": "gmodena",
"repo": "nix-flatpak",
"rev": "09d07c73b4d9771f527a168e0b1b6d8a1f39de28",
"rev": "45bf66f7068db79b552da864c0e87452be624d6c",
"type": "github"
},
"original": {
@@ -606,11 +606,11 @@
"rust-overlay": "rust-overlay_3"
},
"locked": {
"lastModified": 1711325419,
"narHash": "sha256-dKZUWMB4py9rhefu1lsrCrwksK4WX/dtW8Ma807KyPA=",
"lastModified": 1712279577,
"narHash": "sha256-Bwn4rmQi2L2iX6g3ycQMA4baE3zgPHAO0xPBpr2T4/k=",
"owner": "tpwrules",
"repo": "nixos-apple-silicon",
"rev": "93e85575f63b32b9996676513d95288fc1c87ca9",
"rev": "d47afc3f0f8b3078c818da8609c41340af61a2ec",
"type": "github"
},
"original": {
@@ -621,11 +621,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1711352745,
"narHash": "sha256-luvqik+i3HTvCbXQZgB6uggvEcxI9uae0nmrgtXJ17U=",
"lastModified": 1712324865,
"narHash": "sha256-+BatEWd4HlMeK7Ora+gYIkarjxFVCg9oKrIeybHIIX4=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "9a763a7acc4cfbb8603bb0231fec3eda864f81c0",
"rev": "f3b959627bca46a9f7052b8fbc464b8323e68c2c",
"type": "github"
},
"original": {
@@ -637,12 +637,12 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1711333969,
"narHash": "sha256-5PiWGn10DQjMZee5NXzeA6ccsv60iLu+Xtw+mfvkUAs=",
"rev": "57e6b3a9e4ebec5aa121188301f04a6b8c354c9b",
"revCount": 602673,
"lastModified": 1712163089,
"narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=",
"rev": "fd281bd6b7d3e32ddfa399853946f782553163b5",
"revCount": 606852,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.602673%2Brev-57e6b3a9e4ebec5aa121188301f04a6b8c354c9b/018e7c50-ca3c-7fd6-942c-ae00212f9fe1/source.tar.gz"
"url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.606852%2Brev-fd281bd6b7d3e32ddfa399853946f782553163b5/018ea93e-9d24-76a4-810e-9d1f01e82d37/source.tar.gz"
},
"original": {
"type": "tarball",
@@ -651,11 +651,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1702780907,
"narHash": "sha256-blbrBBXjjZt6OKTcYX1jpe9SRof2P9ZYWPzq22tzXAA=",
"lastModified": 1711460390,
"narHash": "sha256-akSgjDZL6pVHEfSE6sz1DNSXuYX6hq+P/1Z5IoYWs7E=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1e2e384c5b7c50dbf8e9c441a9e58d85f408b01f",
"rev": "44733514b72e732bd49f5511bd0203dea9b9a434",
"type": "github"
},
"original": {
@@ -683,11 +683,11 @@
},
"nixpkgs-stable_3": {
"locked": {
"lastModified": 1711460390,
"narHash": "sha256-akSgjDZL6pVHEfSE6sz1DNSXuYX6hq+P/1Z5IoYWs7E=",
"lastModified": 1712310679,
"narHash": "sha256-XgC/a/giEeNkhme/AV1ToipoZ/IVm1MV2ntiK4Tm+pw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "44733514b72e732bd49f5511bd0203dea9b9a434",
"rev": "72da83d9515b43550436891f538ff41d68eecc7f",
"type": "github"
},
"original": {
@@ -712,27 +712,27 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1711163522,
"narHash": "sha256-YN/Ciidm+A0fmJPWlHBGvVkcarYWSC+s3NTPk/P+q3c=",
"lastModified": 1712163089,
"narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "44d0940ea560dee511026a53f0e2e2cde489b4d4",
"rev": "fd281bd6b7d3e32ddfa399853946f782553163b5",
"type": "github"
},
"original": {
"owner": "nixos",
"repo": "nixpkgs",
"rev": "44d0940ea560dee511026a53f0e2e2cde489b4d4",
"rev": "fd281bd6b7d3e32ddfa399853946f782553163b5",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1711333969,
"narHash": "sha256-5PiWGn10DQjMZee5NXzeA6ccsv60iLu+Xtw+mfvkUAs=",
"lastModified": 1712163089,
"narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "57e6b3a9e4ebec5aa121188301f04a6b8c354c9b",
"rev": "fd281bd6b7d3e32ddfa399853946f782553163b5",
"type": "github"
},
"original": {
@@ -791,11 +791,11 @@
"rust-analyzer-src": {
"flake": false,
"locked": {
"lastModified": 1709219524,
"narHash": "sha256-8HHRXm4kYQLdUohNDUuCC3Rge7fXrtkjBUf0GERxrkM=",
"lastModified": 1711885694,
"narHash": "sha256-dyezzeSbWMpflma+E9USmvSxuLgGcNGcGw3cOnX36ko=",
"owner": "rust-lang",
"repo": "rust-analyzer",
"rev": "9efa23c4dacee88b93540632eb3d88c5dfebfe17",
"rev": "e4a405f877efd820bef9c0e77a02494e47c17512",
"type": "github"
},
"original": {

View File

@@ -36,6 +36,8 @@ in {
jellyseerr.enable = true;
homepage.enable = true;
sabnzbd.enable = true;
radarr.enable = true;
@@ -54,6 +56,8 @@ in {
orca-slicer.enable = true;
vscode.enable = true;
swag.enable = true;
};
@@ -86,6 +90,14 @@ in {
enableTimeMachine = true;
timeMachineMaxSize = "1T";
};
app_data = {
public = true;
sharePath = "/mnt/ssd/ssd_app_data";
};
nix-config = {
public = true;
sharePath = "/home/matt/nix-config";
};
};
};
@@ -287,6 +299,11 @@ in {
# etc."nut/upsmon.conf".source = ./upsmon.conf;
# List packages installed in system profile. To search, run:
# $ nix search wget
sessionVariables = rec {
CACHIX_AGENT_TOKEN = "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJlY2RjYjJiNi05YWQ4LTRiYmMtYWEwYS1mNGU5Yzk1ODM2OTMiLCJzY29wZXMiOiJhZ2VudCJ9.8SENqsNZ-UIFV4atm-cZnMT6LR08Iz_raAZi5QVsppo";
};
systemPackages = with pkgs; [
vim
wget
@@ -408,7 +425,11 @@ in {
isSystemUser = true;
uid = 911;
group = "jallen-nas";
extraGroups = [ "jallen-nas" ]; # Enable sudo for the user.
extraGroups = [
"jallen-nas"
"docker"
"podman"
]; # Enable sudo for the user.
hashedPassword = password;
};

View File

@@ -31,31 +31,31 @@
programs.command-not-found.enable = true;
home.packages = with pkgs; [
homepage-dashboard
# homepage-dashboard
];
# Configure homepage-dashboard
home.file.".homepage-dashboard/config.json".text = ''
{
"modules": [
{
"type": "greeting",
"config": {
"greetings": [
"Welcome to My Dashboard!"
]
}
},
{
"type": "clock"
},
{
"type": "weather",
"config": {
"location": "St. Paul, MN"
}
}
]
}
'';
# # Configure homepage-dashboard
# home.file.".homepage-dashboard/config.json".text = ''
# {
# "modules": [
# {
# "type": "greeting",
# "config": {
# "greetings": [
# "Welcome to My Dashboard!"
# ]
# }
# },
# {
# "type": "clock"
# },
# {
# "type": "weather",
# "config": {
# "location": "St. Paul, MN"
# }
# }
# ]
# }
# '';
}

View File

@@ -0,0 +1,24 @@
{ lib, pkgs, config, ... }:
with lib;
let cfg = config.nas-apps.homepage;
in {
imports = [ ./options.nix ];
config = mkIf cfg.enable {
virtualisation.oci-containers.containers."${cfg.name}" = {
autoStart = cfg.autoStart;
image = cfg.image;
ports = [ "${cfg.httpPort}:3000" ];
volumes = [
"${cfg.configPath}:/app/config"
"/var/run/docker.sock:/var/run/docker.sock"
"/var/run/podman/podman.sock:/var/run/podman.sock"
];
environment = {
# PUID = cfg.puid;
# PGID = cfg.pgid;
TZ = cfg.timeZone;
};
};
};
}

View File

@@ -0,0 +1,46 @@
{ lib, ... }:
with lib; {
options.nas-apps.homepage = {
enable = mkEnableOption "homepage docker service";
autoStart = mkOption {
type = types.bool;
default = true;
};
httpPort = mkOption {
type = types.str;
default = "3030";
};
name = mkOption {
type = types.str;
default = "homepage";
};
image = mkOption {
type = types.str;
default = " ghcr.io/gethomepage/homepage";
};
configPath = mkOption {
type = types.str;
default = "/mnt/ssd/ssd_app_data/homepage";
};
puid = mkOption {
type = types.str;
default = "911";
};
pgid = mkOption {
type = types.str;
default = "1000";
};
timeZone = mkOption {
type = types.str;
default = "America/Chicago";
};
};
}

View File

@@ -0,0 +1,24 @@
{ lib, pkgs, config, ... }:
with lib;
let cfg = config.nas-apps.vscode;
in {
imports = [ ./options.nix ];
config = mkIf cfg.enable {
virtualisation.oci-containers.containers."${cfg.name}" = {
autoStart = cfg.autoStart;
image = cfg.image;
ports = [ "${cfg.port}:8443" ];
volumes = [
"${cfg.configPath}:/config"
"/mnt/ssd/ssd_app_data:/ssd_app_data"
"/home/admin/nix-config:/nix-config"
];
environment = {
PUID = cfg.puid;
PGID = cfg.pgid;
TZ = cfg.timeZone;
};
};
};
}

View File

@@ -0,0 +1,46 @@
{ lib, ... }:
with lib; {
options.nas-apps.vscode = {
enable = mkEnableOption "vscode docker service";
autoStart = mkOption {
type = types.bool;
default = true;
};
port = mkOption {
type = types.str;
default = "8443";
};
name = mkOption {
type = types.str;
default = "vscode";
};
image = mkOption {
type = types.str;
default = "linuxserver/code-server";
};
configPath = mkOption {
type = types.str;
default = "/mnt/ssd/ssd_app_data/vscode";
};
puid = mkOption {
type = types.str;
default = "911";
};
pgid = mkOption {
type = types.str;
default = "1000";
};
timeZone = mkOption {
type = types.str;
default = "America/Chicago";
};
};
}

View File

@@ -4,6 +4,7 @@
./apps/collabora
# ./apps/dashy
./apps/discover-wrapped
./apps/homepage
./apps/jellyfin
./apps/jellyseerr
./apps/mariadb
@@ -13,5 +14,6 @@
./apps/sabnzbd
./apps/sonarr
./apps/swag
./apps/vscode
];
}

1
scripts/node Symbolic link
View File

@@ -0,0 +1 @@
/run/current-system/sw/bin/node