diff --git a/flake.lock b/flake.lock index 8f61579..52af937 100644 --- a/flake.lock +++ b/flake.lock @@ -53,11 +53,11 @@ "yafas": "yafas" }, "locked": { - "lastModified": 1724760873, - "narHash": "sha256-pWFGeMQsnj3TpHG/BvOg5Qt5smgupDPeHmsd/ZH+DPg=", + "lastModified": 1725324522, + "narHash": "sha256-YPpsEsv5pHVWLPfQdQDeE5MgTT/6yWgYxLENkCKQtF0=", "owner": "chaotic-cx", "repo": "nyx", - "rev": "f4510aa41ad74a3caa96365defbc356ab94e4521", + "rev": "f1f451e347243c268e7872136a353fd9a3081463", "type": "github" }, "original": { @@ -92,11 +92,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1724727194, - "narHash": "sha256-1qfV4NTz3SnuVAat9SfXzu2Jdu5156ZwODOeSZpF6xk=", + "lastModified": 1725418684, + "narHash": "sha256-gjIRoVA34RjgFTkeQQVoJ6bReB6iS8bqVjpVYi7r9T8=", "owner": "lilyinstarlight", "repo": "nixos-cosmic", - "rev": "1b1bdf467e6f638889ea6a5f30e8d6182a7a16e3", + "rev": "f5cbf1777eeb5b082e175ed9ed6187f4ab5e3cb2", "type": "github" }, "original": { @@ -135,11 +135,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1724740262, - "narHash": "sha256-cpFasbzOTlwLi4fNas6hDznVUdCJn/lMLxi7MAMG6hg=", + "lastModified": 1725172314, + "narHash": "sha256-BtLY9lWu/pe6/ImFwuRRRqMwLacY5AZOKA2hUHUQ64k=", "owner": "nix-community", "repo": "fenix", - "rev": "703efdd9b5c6a7d5824afa348a24fbbf8ff226be", + "rev": "28b42d01f549c38bd165296fbcb4fe66d98fc24f", "type": "github" }, "original": { @@ -346,11 +346,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1724763886, - "narHash": "sha256-SzBtZs5z+YGM50oyt67R78qLhxG/wG5/SlVRsCF5kRc=", + "lastModified": 1724857454, + "narHash": "sha256-Qyl9Q4QMTLZnnBb/8OuQ9LSkzWjBU1T5l5zIzTxkkhk=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "1cd12de659fab215624c630c37d1c62aa2b7824e", + "rev": "4509ca64f1084e73bc7a721b20c669a8d4c5ebe6", "type": "github" }, "original": { @@ -410,11 +410,11 @@ ] }, "locked": { - "lastModified": 1724435763, - "narHash": "sha256-UNky3lJNGQtUEXT2OY8gMxejakSWPTfWKvpFkpFlAfM=", + "lastModified": 1725180166, + "narHash": "sha256-fzssXuGR/mCeGbzM1ExaTqDz7QDGta3WA4jJsZyRruo=", "owner": "nix-community", "repo": "home-manager", - "rev": "c2cd2a52e02f1dfa1c88f95abeb89298d46023be", + "rev": "471e3eb0a114265bcd62d11d58ba8d3421ee68eb", "type": "github" }, "original": { @@ -426,15 +426,15 @@ "home-manager_2": { "inputs": { "nixpkgs": [ - "nixpkgs-unstable" + "nixpkgs-unstable-small" ] }, "locked": { - "lastModified": 1724435763, - "narHash": "sha256-UNky3lJNGQtUEXT2OY8gMxejakSWPTfWKvpFkpFlAfM=", + "lastModified": 1725180166, + "narHash": "sha256-fzssXuGR/mCeGbzM1ExaTqDz7QDGta3WA4jJsZyRruo=", "owner": "nix-community", "repo": "home-manager", - "rev": "c2cd2a52e02f1dfa1c88f95abeb89298d46023be", + "rev": "471e3eb0a114265bcd62d11d58ba8d3421ee68eb", "type": "github" }, "original": { @@ -467,11 +467,11 @@ ] }, "locked": { - "lastModified": 1724753550, - "narHash": "sha256-idw4NE/j9j6LVD7nrw7lWq77z2J6S5oCHjJdIaPyGvw=", + "lastModified": 1725153537, + "narHash": "sha256-8+BJdXM1WBAttY+C63pEMUmUtSEWXHEhXOkLK4k1s2E=", "owner": "Jovian-Experiments", "repo": "Jovian-NixOS", - "rev": "1bda3a989a5785e09d710452c817ee2699c89a3a", + "rev": "b13488a1f8ab01db6a3d18629f7b22a430f03984", "type": "github" }, "original": { @@ -537,11 +537,11 @@ "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1724561770, - "narHash": "sha256-zv8C9RNa86CIpyHwPIVO/k+5TfM8ZbjGwOOpTe1grls=", + "lastModified": 1725189302, + "narHash": "sha256-IhXok/kwQqtusPsoguQLCHA+h6gKvgdCrkhIaN+kByA=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "ac5694a0b855a981e81b4d9f14052e3ff46ca39e", + "rev": "7c4b53a7d9f3a3df902b3fddf2ae245ef20ebcda", "type": "github" }, "original": { @@ -627,24 +627,24 @@ "locked": { "lastModified": 1724346840, "narHash": "sha256-nLaw2AFhDdBmbuWICe983Pbiq+GyNMPJMpSLWV6vVZA=", - "ref": "refs/heads/main", + "owner": "mjallen18", + "repo": "nixos-apple-silicon", "rev": "77b99b63b125d85693934c83b04e1797cbf7afe7", - "revCount": 483, - "type": "git", - "url": "file:///home/matt/nixos-apple-silicon" + "type": "github" }, "original": { - "type": "git", - "url": "file:///home/matt/nixos-apple-silicon" + "owner": "mjallen18", + "repo": "nixos-apple-silicon", + "type": "github" } }, "nixos-hardware": { "locked": { - "lastModified": 1724575805, - "narHash": "sha256-OB/kEL3GAhUZmUfkbPfsPhKs0pRqJKs0EEBiLfyKZw8=", + "lastModified": 1725457709, + "narHash": "sha256-haDuGfkIJccuEjI1qk4IGBtE/u3o6F3S6H7wQ43lu3g=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "9fc19be21f0807d6be092d70bf0b1de0c00ac895", + "rev": "858107998e8a679830474333eb9bc5ebc6bc2ec1", "type": "github" }, "original": { @@ -684,11 +684,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1724316499, - "narHash": "sha256-Qb9MhKBUTCfWg/wqqaxt89Xfi6qTD3XpTzQ9eXi3JmE=", + "lastModified": 1725001927, + "narHash": "sha256-eV+63gK0Mp7ygCR0Oy4yIYSNcum2VQwnZamHxYTNi+M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "797f7dc49e0bc7fab4b57c021cdf68f595e47841", + "rev": "6e99f2a27d600612004fbd2c3282d614bfee6421", "type": "github" }, "original": { @@ -731,6 +731,22 @@ } }, "nixpkgs-stable_4": { + "locked": { + "lastModified": 1725001927, + "narHash": "sha256-eV+63gK0Mp7ygCR0Oy4yIYSNcum2VQwnZamHxYTNi+M=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "6e99f2a27d600612004fbd2c3282d614bfee6421", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable_5": { "locked": { "lastModified": 1721524707, "narHash": "sha256-5NctRsoE54N86nWd0psae70YSLfrOek3Kv1e8KoXe/0=", @@ -748,11 +764,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1724479785, - "narHash": "sha256-pP3Azj5d6M5nmG68Fu4JqZmdGt4S4vqI5f8te+E/FTw=", + "lastModified": 1725103162, + "narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d0e1602ddde669d5beb01aec49d71a51937ed7be", + "rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b", "type": "github" }, "original": { @@ -762,13 +778,29 @@ "type": "github" } }, - "nixpkgs_2": { + "nixpkgs-unstable-small": { "locked": { - "lastModified": 1724479785, - "narHash": "sha256-pP3Azj5d6M5nmG68Fu4JqZmdGt4S4vqI5f8te+E/FTw=", + "lastModified": 1725448034, + "narHash": "sha256-YWbVeDERbIHAEQCtDtUunHYUNH31ReIdJIP8juXfdpM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d0e1602ddde669d5beb01aec49d71a51937ed7be", + "rev": "9b40840066f93767bb528810ea7dc9caacd8997f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable-small", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1725103162, + "narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b", "type": "github" }, "original": { @@ -907,18 +939,20 @@ "nix-darwin": "nix-darwin", "nixos-apple-silicon": "nixos-apple-silicon", "nixos-hardware": "nixos-hardware", + "nixpkgs-stable": "nixpkgs-stable_4", "nixpkgs-unstable": "nixpkgs-unstable", + "nixpkgs-unstable-small": "nixpkgs-unstable-small", "sops-nix": "sops-nix" } }, "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1724666781, - "narHash": "sha256-nOQDgjTDlWe0/+Ptf3o2p6UrznQFHnXBHRV1ZAsSpe8=", + "lastModified": 1725094379, + "narHash": "sha256-TBujPMMIv8RG6BKlsBEpCln1ePmWz79xTcJOQpU2L18=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "095926ea6f008477a15a2ec6b0b8797e2e5be0e5", + "rev": "914a1caab54e48a028b2407d0fe6fade89532f67", "type": "github" }, "original": { @@ -936,11 +970,11 @@ ] }, "locked": { - "lastModified": 1724638882, - "narHash": "sha256-ap2jIQi/FuUHR6HCht6ASWhoz8EiB99XmI8Esot38VE=", + "lastModified": 1725330199, + "narHash": "sha256-oUkdPJIxP3r3YyVOBLkDVLIJiQV9YlrVqA+jNcdpCvM=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "19b70f147b9c67a759e35824b241f1ed92e46694", + "rev": "a562172c72d00350f9f2ff830e6515b6e7bee6d5", "type": "github" }, "original": { @@ -993,14 +1027,14 @@ "sops-nix": { "inputs": { "nixpkgs": "nixpkgs_6", - "nixpkgs-stable": "nixpkgs-stable_4" + "nixpkgs-stable": "nixpkgs-stable_5" }, "locked": { - "lastModified": 1723501126, - "narHash": "sha256-N9IcHgj/p1+2Pvk8P4Zc1bfrMwld5PcosVA0nL6IGdE=", + "lastModified": 1725201042, + "narHash": "sha256-lj5pxOwidP0W//E7IvyhbhXrnEUW99I07+QpERnzTS4=", "owner": "Mic92", "repo": "sops-nix", - "rev": "be0eec2d27563590194a9206f551a6f73d52fa34", + "rev": "5db5921e40ae382d6716dce591ea23b0a39d96f7", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 4b06ab4..ff1e27b 100644 --- a/flake.nix +++ b/flake.nix @@ -5,6 +5,12 @@ # nixpgs nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; + # nixpkgs-unstable-small + nixpkgs-unstable-small.url = "github:NixOS/nixpkgs/nixos-unstable-small"; + + # nixpgs + nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-24.05"; + # Authentik authentik-nix.url = "github:nix-community/authentik-nix"; @@ -17,7 +23,7 @@ # Home Manager home-manager = { url = "github:nix-community/home-manager"; - inputs.nixpkgs.follows = "nixpkgs-unstable"; + inputs.nixpkgs.follows = "nixpkgs-unstable-small"; }; # Lanzaboote @@ -33,8 +39,8 @@ sops-nix.url = "github:Mic92/sops-nix"; #Apple - # nixos-apple-silicon.url = "github:mjallen18/nixos-apple-silicon"; - nixos-apple-silicon.url = "git+file:///home/matt/nixos-apple-silicon"; + nixos-apple-silicon.url = "github:mjallen18/nixos-apple-silicon"; + # nixos-apple-silicon.url = "git+file:///home/matt/nixos-apple-silicon"; nix-darwin.url = "github:LnL7/nix-darwin"; cosmic = { @@ -49,6 +55,8 @@ { self, nixpkgs-unstable, + nixpkgs-unstable-small, + nixpkgs-stable, chaotic, lanzaboote, impermanence, @@ -75,7 +83,7 @@ nixosConfigurations = { # Desktop - "matt-nixos" = nixpkgs-unstable.lib.nixosSystem { + "matt-nixos" = nixpkgs-unstable-small.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs outputs; @@ -92,13 +100,6 @@ home-manager.useUserPackages = true; home-manager.users.matt = import ./hosts/desktop/home.nix; home-manager.backupFileExtension = "bakup"; - specialisation.hyprland.configuration = { - home-manager.users.matt = { - home.sessionVariables = { - DUMBTEST = "yaaaaaaas"; - }; - }; - }; } nixos-hardware.nixosModules.common-cpu-amd diff --git a/hosts/desktop/hyprland/config/waybar/scripts/waybar-wttr.py b/hosts/desktop/hyprland/config/waybar/scripts/waybar-wttr.py index 5b2e535..d409b3e 100755 --- a/hosts/desktop/hyprland/config/waybar/scripts/waybar-wttr.py +++ b/hosts/desktop/hyprland/config/waybar/scripts/waybar-wttr.py @@ -293,7 +293,7 @@ WEATHER_SYMBOL_WEGO = { data = {} -weather = requests.get("https://wttr.in/u&?format=j1").json() +weather = requests.get("https://wttr.in/?u&format=j1").json() moon = requests.get("https://wttr.in/?format=%m").text diff --git a/hosts/nas/apps.nix b/hosts/nas/apps.nix index 2101941..026b648 100644 --- a/hosts/nas/apps.nix +++ b/hosts/nas/apps.nix @@ -12,6 +12,8 @@ deluge.enable = true; + free-games-claimer.enable = true; + jackett.enable = true; jellyfin.enable = true; @@ -41,14 +43,17 @@ enable = true; httpPort = "9981"; httpsPort = "9943"; - redisSock = "/run/redis-nextcloud/redis.sock"; }; ollama.enable = true; open-webui.enable = true; - orca-slicer.enable = true; + orca-slicer = { + enable = true; + httpPort = "3300"; + httpsPort = "3301"; + }; radarr.enable = true; diff --git a/hosts/nas/configuration.nix b/hosts/nas/configuration.nix index 7678e45..9e2327a 100755 --- a/hosts/nas/configuration.nix +++ b/hosts/nas/configuration.nix @@ -103,6 +103,7 @@ in protonmail-bridge protonvpn-cli python3 + rcon sbctl speedtest-cli tailscale @@ -213,7 +214,7 @@ in }; hardware.fancontrol = { - enable = true; + enable = false; config = '' # Configuration file generated by pwmconfig, changes will be lost # hwmon6/temp9_input -- chipset temp? diff --git a/hosts/nas/services.nix b/hosts/nas/services.nix index 7fe5492..983a889 100644 --- a/hosts/nas/services.nix +++ b/hosts/nas/services.nix @@ -1,10 +1,81 @@ -{ pkgs, ... }: +{ config, pkgs, ... }: let enableDisplayManager = false; in { # Services configs services = { + + minecraft-server = { + enable = true; + eula = true; + declarative = true; + openFirewall = true; + dataDir = "/media/nas/ssd/ssd_app_data/minecraft"; + serverProperties = { + enforce-whitelist = true; + white-list = true; + "enable-rcon" = true; + "rcon.password" = "BogieDudie1"; # todo + }; + whitelist = { + mjallen18 = "03d9fba9-4453-4ad1-afa6-c67738685189"; + AlpineScent = "76ff084d-2e66-4877-aec2-d6b278431bda"; + Fortltude = "61a01913-8b10-4d64-b7ce-7958088cd6d3"; + SpicyNick = "8bb5976f-6fd9-4fa5-8697-6ecb4ee38427"; + }; + jvmOpts = "-Xms4092M -Xmx4092M -XX:+UseG1GC -XX:ParallelGCThreads=2 -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10"; + }; + + adguardhome = { + enable = true; + allowDHCP = true; + port = 1880; + openFirewall = true; + settings = { + dns = { + upstream_dns = [ + "https://dns10.quad9.net/dns-query" + "1.1.1.1" + "1.0.0.1" + "8.8.8.8" + "208.67.222.222" + "208.67.220.220" + ]; + fallback_dns = [ + "https://dns10.quad9.net/dns-query" + "1.1.1.1" + "1.0.0.1" + "8.8.8.8" + "208.67.222.222" + "208.67.220.220" + ]; + bootstrap_dns = [ + "9.9.9.10" + "1.1.1.1" + "1.0.0.1" + "8.8.8.8" + "8.8.4.4" + "208.67.222.222" + "208.67.220.220" + "149.112.112.10" + "2620:fe::10" + "2620:fe::fe:10" + ]; + }; + dhcp = { + enabled = true; + interface_name = "wlp6s0"; + dhcpv4 = { + gateway_ip = "10.0.1.1"; + subnet_mask = "255.255.255.0"; + range_start = "10.0.1.151"; + range_end = "10.0.1.250"; + }; + }; + }; + }; + udisks2.enable = true; # Enable the X11 windowing system. diff --git a/modules/apps/free-games-claimer/default.nix b/modules/apps/free-games-claimer/default.nix new file mode 100644 index 0000000..21101bc --- /dev/null +++ b/modules/apps/free-games-claimer/default.nix @@ -0,0 +1,25 @@ +{ lib, config, ... }: +with lib; +let + cfg = config.nas-apps.free-games-claimer; +in +{ + imports = [ ./options.nix ]; + + config = mkIf cfg.enable { + virtualisation.oci-containers.containers."${cfg.name}" = { + autoStart = cfg.autoStart; + image = cfg.image; + ports = [ "${cfg.httpPort}:6080" ]; + volumes = [ + "${cfg.dataPath}:/fgc/data" + ]; + environment = { + PUID = cfg.puid; + PGID = cfg.pgid; + TZ = cfg.timeZone; + # NOTIFY = "mailto://myemail:mypass@gmail.com"; + }; + }; + }; +} diff --git a/modules/apps/free-games-claimer/options.nix b/modules/apps/free-games-claimer/options.nix new file mode 100644 index 0000000..b0dec1b --- /dev/null +++ b/modules/apps/free-games-claimer/options.nix @@ -0,0 +1,47 @@ +{ lib, ... }: +with lib; +{ + options.nas-apps.free-games-claimer = { + enable = mkEnableOption "free-games-claimer docker service"; + + autoStart = mkOption { + type = types.bool; + default = true; + }; + + httpPort = mkOption { + type = types.str; + default = "6080"; + }; + + name = mkOption { + type = types.str; + default = "free-games-claimer"; + }; + + image = mkOption { + type = types.str; + default = "ghcr.io/vogler/free-games-claimer"; + }; + + dataPath = mkOption { + type = types.str; + default = "/media/nas/ssd/nix-app-data/free-games-claimer"; + }; + + puid = mkOption { + type = types.str; + default = "911"; + }; + + pgid = mkOption { + type = types.str; + default = "1000"; + }; + + timeZone = mkOption { + type = types.str; + default = "America/Chicago"; + }; + }; +} diff --git a/modules/apps/nextcloud/default.nix b/modules/apps/nextcloud/default.nix index 74a0890..af06646 100644 --- a/modules/apps/nextcloud/default.nix +++ b/modules/apps/nextcloud/default.nix @@ -18,7 +18,6 @@ in "${cfg.configPath}:/config" "${cfg.dataPath}:/data" "${cfg.tmpPath}:/data-tmp" - "${cfg.redisSock}:/var/redis/redis.sock" ]; environment = { PUID = cfg.puid; diff --git a/modules/default.nix b/modules/default.nix index e6fca58..1cfd017 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -7,6 +7,7 @@ ./apps/collabora ./apps/deluge ./apps/discover-wrapped + ./apps/free-games-claimer ./apps/jackett ./apps/jellyfin ./apps/jellyseerr diff --git a/overlays/default.nix b/overlays/default.nix index 0942b13..83e9423 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -7,4 +7,11 @@ config.allowUnfree = true; }; }; + + nixpkgs-stable = final: _prev: { + stable = import inputs.nixpkgs-stable { + system = final.system; + config.allowUnfree = true; + }; + }; }