From aa6ba0c07c8a3af540d65cbd97dc957bf8fa6e68 Mon Sep 17 00:00:00 2001 From: derfenix Date: Tue, 7 Jan 2025 21:55:17 +0300 Subject: [PATCH] Update nix flake, bugfix --- flake.nix | 3 +-- internal/organizer/organizer.go | 8 +++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index 1a00743..d380cd5 100644 --- a/flake.nix +++ b/flake.nix @@ -6,7 +6,7 @@ outputs = { self, nixpkgs }: let lastModifiedDate = self.lastModifiedDate or self.lastModified or "19700101"; - version = "2.0.0"; + version = "2.0.2"; supportedSystems = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]; forAllSystems = nixpkgs.lib.genAttrs supportedSystems; nixpkgsFor = forAllSystems (system: import nixpkgs { inherit system; }); @@ -41,7 +41,6 @@ }; type = types.attrsOf (types.submodule ({ name, ... }: { -# freeformType = settingsFormat.type; options = { source = mkOption { type = types.str; diff --git a/internal/organizer/organizer.go b/internal/organizer/organizer.go index 57e0a31..a85bc4c 100644 --- a/internal/organizer/organizer.go +++ b/internal/organizer/organizer.go @@ -243,6 +243,8 @@ func (o *Organizer) getMetadata(fp string, data io.Reader) (metadata.Metadata, e } func (o *Organizer) processFile(sourcePath string) error { + fmt.Printf("%s %d %o\n", o.fileMode, o.fileMode, o.fileMode) + meta, err := o.getMetaForPath(sourcePath) if err != nil { return err @@ -302,9 +304,13 @@ func (o *Organizer) ensureTargetPath(targetPath string) error { for _, part := range strings.Split(relPath, string(filepath.Separator)) { dir = filepath.Join(dir, part) - if err := os.Mkdir(dir, o.dirMode); err != nil && !os.IsExist(err) { + if err := os.Mkdir(dir, os.ModePerm); err != nil && !os.IsExist(err) { return fmt.Errorf("create target directory path at %s: %w", dir, err) } + + if err := os.Chmod(dir, os.ModePerm&o.dirMode); err != nil { + return fmt.Errorf("chmod directory %s: %w", dir, err) + } } return nil