From 84be02a1225d89f75e076f120aa8a063b22d4646 Mon Sep 17 00:00:00 2001 From: geemili Date: Tue, 9 Jan 2024 12:23:12 -0700 Subject: [PATCH] feat: cockpit: add cockpit-tailscale plugin --- configuration.nix | 3 +++ flake.nix | 16 +++++++++++----- pkgs/cockpit-tailscale.nix | 15 +++++++++++++++ 3 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 pkgs/cockpit-tailscale.nix diff --git a/configuration.nix b/configuration.nix index 509c575..7ae801e 100644 --- a/configuration.nix +++ b/configuration.nix @@ -65,6 +65,9 @@ juanfont-headscale.headscale # install to allow debugging/control of headscale using the CLI pkgs.glauth + + # Plugins for cockpit + cockpit-tailscale ]; environment.variables = { diff --git a/flake.nix b/flake.nix index 7edc193..628121c 100644 --- a/flake.nix +++ b/flake.nix @@ -13,15 +13,21 @@ outputs = { self, nixpkgs, agenix, juanfont-headscale }: let - overlay-juanfont-headscale = final: prev: { - juanfont-headscale = juanfont-headscale.packages.${prev.system}; - glauth = prev.callPackage ./pkgs/glauth.nix {}; - }; + pkgs = import nixpkgs { system = "x86_64-linux"; }; in { + packages.x86_64-linux.glauth = pkgs.callPackage ./pkgs/glauth.nix {}; + packages.x86_64-linux.cockpit-tailscale = pkgs.callPackage ./pkgs/cockpit-tailscale.nix {}; + nixosConfigurations.samsehu = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ - ({config, pkgs, ...}: { nixpkgs.overlays = [ overlay-juanfont-headscale ]; }) + ({config, pkgs, ...}: { + nixpkgs.overlays = [ (final: prev: { + juanfont-headscale = juanfont-headscale.packages.${prev.system}; + glauth = self.packages.${prev.system}.glauth; + cockpit-tailscale = self.packages.${prev.system}.cockpit-tailscale; + })]; + }) ./agenix-config-module.nix ./configuration.nix ./services/glauth.nix diff --git a/pkgs/cockpit-tailscale.nix b/pkgs/cockpit-tailscale.nix new file mode 100644 index 0000000..4a0a916 --- /dev/null +++ b/pkgs/cockpit-tailscale.nix @@ -0,0 +1,15 @@ +{ lib, stdenv, fetchzip }: +stdenv.mkDerivation rec { + pname = "cockpit-tailscale"; + version = "0.0.6"; + + src = fetchzip { + url = "https://github.com/spotsnel/cockpit-tailscale/releases/download/v${version}/cockpit-tailscale-v${version}.tar.gz"; + sha256 = "sha256-ESUZdt8GVEToyrv6UP8lOff67LsumdJAY1lXvC3fBaI="; + }; + + installPhase = '' + mkdir -p $out/share/cockpit + cp -r ${src} $out/share/cockpit/tailscale + ''; +}