diff --git a/flake.lock b/flake.lock index cc12f88..efb1690 100644 --- a/flake.lock +++ b/flake.lock @@ -79,6 +79,21 @@ "type": "github" } }, + "flake-utils": { + "locked": { + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "lowdown-src": { "flake": false, "locked": { @@ -102,11 +117,11 @@ "nixpkgs-regression": "nixpkgs-regression" }, "locked": { - "lastModified": 1658489272, - "narHash": "sha256-z0ov/NPT8egaoDUVw4i5SuKcx6t7YZbL7lzdOBsP1sA=", + "lastModified": 1659095244, + "narHash": "sha256-GHcnhelr/tBCa1nYJOoV746nlEHZPm+aTHxzdP7Jyx0=", "owner": "NixOS", "repo": "nix", - "rev": "280543933507839201547f831280faac614d0514", + "rev": "e9178d7d4a9d3f689f911440fa71f135e55b570b", "type": "github" }, "original": { @@ -179,11 +194,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1658557357, - "narHash": "sha256-0gqNef6skYQKJSS2vLojxrXOrc72zoX5VTDKUqEo6Gk=", + "lastModified": 1659077768, + "narHash": "sha256-P0XIHBVty6WIuIrk2DZNvLcYev9956y1prT4zL212H8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "42ca9bef09e780eabe84328dd1b730cef978f098", + "rev": "2a93ea177c3d7700b934bf95adfe00c435f696b8", "type": "github" }, "original": { @@ -210,11 +225,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1658500284, - "narHash": "sha256-g7vwZ5UF8PvC9f2/7Zf5O6zxgJiMSuh1CiGZVuuOhEQ=", + "lastModified": 1659052185, + "narHash": "sha256-TUbwbzCbprtWB9EtXPM52cWuKETuCV3H+cMXjLRbwTw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e3583ad6e533a9d8dd78f90bfa93812d390ea187", + "rev": "9370544d849be8a07193e7611d02e6f6f1b10768", "type": "github" }, "original": { @@ -223,6 +238,39 @@ "type": "indirect" } }, + "nixpkgs_4": { + "locked": { + "lastModified": 1645655918, + "narHash": "sha256-ZfbEFRW7o237+A1P7eTKhXje435FCAoe0blj2n20Was=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "77a7a4197740213879b9a1d2e1788c6c8ade4274", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "pre-commit-hooks": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs_4" + }, + "locked": { + "lastModified": 1658611562, + "narHash": "sha256-jktQ3mRrFAiFzzmVxQXh+8IxZOEE4hfr7St3ncXeVy4=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "f436e6dbc10bb3500775785072a40eefe057b18e", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, "root": { "inputs": { "deploy-rs": "deploy-rs", @@ -231,6 +279,7 @@ "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_3", "nixpkgs-unstable": "nixpkgs-unstable", + "pre-commit-hooks": "pre-commit-hooks", "sops-nix": "sops-nix", "stunkymonkey": "stunkymonkey" } diff --git a/flake.nix b/flake.nix index be05b10..abcd0c0 100644 --- a/flake.nix +++ b/flake.nix @@ -8,6 +8,8 @@ nixpkgs.url = "nixpkgs/nixos-22.05"; nixpkgs-unstable.url = "nixpkgs/nixos-unstable"; + pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix"; + nixos-hardware.url = "github:NixOS/nixos-hardware"; deploy-rs.url = "github:input-output-hk/deploy-rs"; diff --git a/modules/default.nix b/modules/default.nix new file mode 100644 index 0000000..6dfd5a9 --- /dev/null +++ b/modules/default.nix @@ -0,0 +1,6 @@ +{ ... }: +{ + imports = [ + ./services + ]; +} diff --git a/modules/services/default.nix b/modules/services/default.nix new file mode 100644 index 0000000..da6f7a1 --- /dev/null +++ b/modules/services/default.nix @@ -0,0 +1,8 @@ +{ ... }: +{ + imports = [ + ./homarr + ./rss-bridge + ]; +} + diff --git a/nixos/modules/webapps/config.nix b/modules/services/homarr/default.nix similarity index 99% rename from nixos/modules/webapps/config.nix rename to modules/services/homarr/default.nix index 9813f34..e04b382 100644 --- a/nixos/modules/webapps/config.nix +++ b/modules/services/homarr/default.nix @@ -102,6 +102,7 @@ icon = lib.optionalString (a.dashboard.icon != null) "fas fa-${a.dashboard.icon}"; url = a.dashboard.link; target = "_blank"; + type = "Ping"; }); } ); diff --git a/nixos/configurations.nix b/nixos/configurations.nix index 1ecc4ad..6d9f4bf 100644 --- a/nixos/configurations.nix +++ b/nixos/configurations.nix @@ -26,7 +26,10 @@ let { imports = [ ({ pkgs, ... }: { - nixpkgs.overlays = [ overlay-unstable ]; + nixpkgs.overlays = [ + overlay-unstable + (import ../pkgs) + ]; nix.nixPath = [ "nixpkgs=${pkgs.path}" ]; @@ -35,6 +38,7 @@ let sops-nix.nixosModules.sops ]; } + ../modules ]; defaultModules = baseModules ++ customModules; in diff --git a/nixos/newton/network.nix b/nixos/newton/network.nix index 9ac276e..f9fe44d 100644 --- a/nixos/newton/network.nix +++ b/nixos/newton/network.nix @@ -9,10 +9,10 @@ let ip4_gw = "38.242.192.1"; ip4_dns = [ - "79.143.183.251" - "79.143.183.252" - "213.136.95.10" - "213.136.95.11" + "8.8.8.8" + "79.143.182.242" + "178.238.234.231" + "5.189.191.29" ]; ip6_addr = "2a02:c206:3009:3317::1"; @@ -30,9 +30,8 @@ in useDHCP = false; nameservers = ip4_dns ++ ip6_dns; - search = [ - "buehler.rocks" - ]; + domain = "buehler.rocks"; + search = [ "buehler.rocks" ]; defaultGateway = { address = ip4_gw; diff --git a/pkgs/default.nix b/pkgs/default.nix new file mode 100644 index 0000000..2a25abe --- /dev/null +++ b/pkgs/default.nix @@ -0,0 +1,8 @@ +#{ pkgs }: +#pkgs.lib.makeScope pkgs.newScope (pkgs: { +# homarr = pkgs.callPackage ./homarr { }; +#}) +final: prev: +{ + homer = final.callPackage ./homer { }; +} diff --git a/pkgs/homer/default.nix b/pkgs/homer/default.nix new file mode 100644 index 0000000..76ee371 --- /dev/null +++ b/pkgs/homer/default.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchzip }: +stdenv.mkDerivation rec { + pname = "homer"; + version = "22.07.2"; + + src = fetchzip { + urls = [ + "https://github.com/bastienwirtz/homer/releases/download/v${version}/homer.zip" + ]; + sha256 = "sha256-rmCqjWn7bbTESmOHTO5H7YVyZzny617pI0VdSlsqYGI="; + stripRoot = false; + }; + + installPhase = '' + cp -r $src $out/ + ''; + sourceRoot = "."; +}