Home

git-pr-nix @main - refs - log -
-
https://git.jolheiser.com/git-pr-nix.git
git-pr nix
tree log patch
chore: nixfmt Signed-off-by: jolheiser <git@jolheiser.com>
Signature
-----BEGIN SSH SIGNATURE----- U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgBTEvCQk6VqUAdN2RuH6bj1dNkY oOpbPWj+jw4ua1B1cAAAADZ2l0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5 AAAAQCB6Xjx2lUF5z+DhaOkFHWNqY30Kx49RjTQ/2jrqizM9WY+gHzkmOyJP1FRLkK6SI8 ZpIZ+yAOhclLTCNcMutwc= -----END SSH SIGNATURE-----
jolheiser <git@jolheiser.com>
6 months ago
5 changed files, 87 additions(+), 71 deletions(-)
M default.nixdefault.nix
diff --git a/default.nix b/default.nix
index 29e68779f3982e44987fa1315618ecb5b44be0a9..91f414e0ee10044b7d926781a105cddc781a1db5 100644
--- a/default.nix
+++ b/default.nix
@@ -1,6 +1,10 @@
-{pkgs ? import <nixpkgs>}: let
-  pkg = pkgs.callPackage ./pkg {inherit pkgs;};
-in {
+{
+  pkgs ? import <nixpkgs>,
+}:
+let
+  pkg = pkgs.callPackage ./pkg { inherit pkgs; };
+in
+{
   git-pr = pkg;
   default = pkg;
 }
M flake.nixflake.nix
diff --git a/flake.nix b/flake.nix
index 32219644e283d3dde05b892bb79f9f3bf64e9729..74bc5777604fe556c0b486928117028cef913588 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,26 +1,25 @@
 {
   description = "git-pr package and module";
   inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
-  outputs = {
-    self,
-    nixpkgs,
-  }: let
-    systems = [
-      "x86_64-linux"
-      "i686-linux"
-      "x86_64-darwin"
-      "aarch64-linux"
-      "armv6l-linux"
-      "armv7l-linux"
-    ];
-    forAllSystems = f: nixpkgs.lib.genAttrs systems f;
-  in {
-    overlays.default = import ./overlay;
-    nixosModules.git-pr = import ./module;
-    nixosModules.default = self.nixosModules.git-pr;
-    packages = forAllSystems (
-      system:
-        import ./default.nix {pkgs = import nixpkgs {inherit system;};}
-    );
-  };
+  outputs =
+    { self, nixpkgs }:
+    let
+      systems = [
+        "x86_64-linux"
+        "i686-linux"
+        "x86_64-darwin"
+        "aarch64-linux"
+        "armv6l-linux"
+        "armv7l-linux"
+      ];
+      forAllSystems = f: nixpkgs.lib.genAttrs systems f;
+    in
+    {
+      overlays.default = import ./overlay;
+      nixosModules.git-pr = import ./module;
+      nixosModules.default = self.nixosModules.git-pr;
+      packages = forAllSystems (
+        system: import ./default.nix { pkgs = import nixpkgs { inherit system; }; }
+      );
+    };
 }
M module/default.nixmodule/default.nix
diff --git a/module/default.nix b/module/default.nix
index 7fd054329c1190cb1434b6d547ac5b4f64377e1b..f183a9d217ccd6b665721906ecdc5ebe46ccd90e 100644
--- a/module/default.nix
+++ b/module/default.nix
@@ -3,25 +3,31 @@   config,
   lib,
   pkgs,
   ...
-}: let
+}:
+let
   cfg = config.services.git-pr;
-  pkg = pkgs.callPackage ../pkg {inherit pkgs;};
-  tomlFormat = pkgs.formats.toml {};
-  configFile = tomlFormat.generate "git-pr-config" (lib.recursiveUpdate {
-      inherit (cfg) url admins host theme;
+  pkg = pkgs.callPackage ../pkg { inherit pkgs; };
+  tomlFormat = pkgs.formats.toml { };
+  configFile = tomlFormat.generate "git-pr-config" (
+    lib.recursiveUpdate {
+      inherit (cfg)
+        url
+        admins
+        host
+        theme
+        ;
       data_dir = cfg.dataDir;
       ssh_port = cfg.sshPort;
       web_port = cfg.webPort;
       time_format = cfg.timeFormat;
-      repo =
-        builtins.map (repo: {
-          inherit (repo) id desc;
-          clone_addr = repo.cloneAddr;
-        })
-        cfg.repos;
-    }
-    cfg.extraConfig);
-in {
+      repo = builtins.map (repo: {
+        inherit (repo) id desc;
+        clone_addr = repo.cloneAddr;
+      }) cfg.repos;
+    } cfg.extraConfig
+  );
+in
+{
   options.services.git-pr = {
     enable = lib.mkEnableOption "Git PR service";
 
@@ -45,7 +51,7 @@     };
 
     admins = lib.mkOption {
       type = lib.types.listOf lib.types.str;
-      default = [];
+      default = [ ];
       description = "List of admin SSH public keys";
     };
 
@@ -76,23 +82,25 @@       description = "Theme for the web interface";
     };
 
     repos = lib.mkOption {
-      type = lib.types.listOf (lib.types.submodule {
-        options = {
-          id = lib.mkOption {
-            type = lib.types.str;
-            description = "Repository ID";
-          };
-          cloneAddr = lib.mkOption {
-            type = lib.types.str;
-            description = "Git clone address";
+      type = lib.types.listOf (
+        lib.types.submodule {
+          options = {
+            id = lib.mkOption {
+              type = lib.types.str;
+              description = "Repository ID";
+            };
+            cloneAddr = lib.mkOption {
+              type = lib.types.str;
+              description = "Git clone address";
+            };
+            desc = lib.mkOption {
+              type = lib.types.str;
+              description = "Repository description";
+            };
           };
-          desc = lib.mkOption {
-            type = lib.types.str;
-            description = "Repository description";
-          };
-        };
-      });
-      default = [];
+        }
+      );
+      default = [ ];
       description = "List of repositories to manage";
     };
 
@@ -104,7 +112,7 @@     };
 
     extraConfig = lib.mkOption {
       type = lib.types.attrs;
-      default = {};
+      default = { };
       description = "Additional configuration options to be added to the TOML file";
     };
 
@@ -119,8 +127,8 @@   config = lib.mkIf cfg.enable {
     # SSH service
     systemd.services.git-pr-ssh = {
       description = "Git PR SSH Service";
-      after = ["network.target"];
-      wantedBy = ["multi-user.target"];
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
 
       serviceConfig = {
         ExecStart = "${cfg.package}/bin/ssh --config ${configFile}";
@@ -133,8 +141,8 @@
     # Web service
     systemd.services.git-pr-web = {
       description = "Git PR Web Service";
-      after = ["network.target"];
-      wantedBy = ["multi-user.target"];
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
 
       serviceConfig = {
         ExecStart = "${cfg.package}/bin/web --config ${configFile}";
@@ -152,10 +160,13 @@       home = cfg.dataDir;
       createHome = true;
     };
 
-    users.groups.git-pr = {};
+    users.groups.git-pr = { };
 
     networking.firewall = lib.mkIf cfg.openFirewall {
-      allowedTCPPorts = [cfg.webPort cfg.sshPort];
+      allowedTCPPorts = [
+        cfg.webPort
+        cfg.sshPort
+      ];
     };
   };
 }
M overlay/default.nixoverlay/default.nix
diff --git a/overlay/default.nix b/overlay/default.nix
index b78adb301d3f1b42bab7a3b503da289f32256a2f..0b8fc9fd5b7b7369d25e4c1dd1cece066d7dde26 100644
--- a/overlay/default.nix
+++ b/overlay/default.nix
@@ -1,8 +1,5 @@
 final: prev: {
-  nixosModules =
-    prev.nixosModules
-    or {}
-    // {
-      git-pr = import ../module;
-    };
+  nixosModules = prev.nixosModules or { } // {
+    git-pr = import ../module;
+  };
 }
M pkg/default.nixpkg/default.nix
diff --git a/pkg/default.nix b/pkg/default.nix
index e063fb60572ef43d2b9bbbb195ddb34acff97772..fa569c263549ce663a78f0c26979378c7275c7c5 100644
--- a/pkg/default.nix
+++ b/pkg/default.nix
@@ -1,4 +1,6 @@
-{pkgs ? import <nixpkgs>}:
+{
+  pkgs ? import <nixpkgs>,
+}:
 pkgs.buildGoModule rec {
   pname = "git-pr";
   version = "d15bf3ca0f2b9222c59bc2c180f681e0c2b6cd39";
@@ -12,7 +14,10 @@   };
 
   vendorHash = "sha256-yoEITVoM6Dbf7QRVxxjsGKTmllDlMwRsqGevbM6AJ+w=";
 
-  subPackages = ["cmd/ssh" "cmd/web"];
+  subPackages = [
+    "cmd/ssh"
+    "cmd/web"
+  ];
 
   CGO_ENABLED = 0;