diff --git a/drafts.nix b/drafts.nix deleted file mode 100644 index 7ea35135f..000000000 --- a/drafts.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ pkgs }: - -pkgs.writeShellApplication { - name = "drafts"; - - runtimeInputs = with pkgs; [ gnugrep ]; - - text = '' - grep -r 'draft: true' "''${1:-source}" - ''; -} diff --git a/flake-modules/dev-shell.nix b/flake-modules/dev-shell.nix index 68f9ca267..35336caee 100644 --- a/flake-modules/dev-shell.nix +++ b/flake-modules/dev-shell.nix @@ -3,24 +3,26 @@ { imports = [ inputs.devshell.flakeModule ]; - perSystem.devshells.default = - { pkgs, ... }: + perSystem = + { pkgs, self', ... }: { - packages = with pkgs; [ - nodePackages.browser-sync + devshells.default = { + packages = with pkgs; [ + self'.packages.drafts + self'.packages.new-draft + self'.packages.publish - (php83.buildEnv { - extraConfig = '' - error_reporting = E_ALL & ~E_DEPRECATED & ~E_USER_DEPRECATED - ''; - }) + nodePackages.browser-sync - php83Packages.composer - tailwindcss + (php83.buildEnv { + extraConfig = '' + error_reporting = E_ALL & ~E_DEPRECATED & ~E_USER_DEPRECATED + ''; + }) - (import ../drafts.nix { inherit pkgs; }) - (import ../new-draft.nix { inherit pkgs; }) - (import ../publish.nix { inherit pkgs; }) - ]; + php83Packages.composer + tailwindcss + ]; + }; }; } diff --git a/flake-modules/drafts.nix b/flake-modules/drafts.nix new file mode 100644 index 000000000..f1ac84955 --- /dev/null +++ b/flake-modules/drafts.nix @@ -0,0 +1,16 @@ +{ + perSystem = + { pkgs, ... }: + { + packages.drafts = pkgs.writeShellApplication { + name = "drafts"; + + runtimeInputs = with pkgs; [ gnugrep ]; + + text = '' + echo "oob" + grep -r 'draft: true' "''${1:-source}" + ''; + }; + }; +} diff --git a/flake-modules/new-draft.nix b/flake-modules/new-draft.nix new file mode 100644 index 000000000..31ee75800 --- /dev/null +++ b/flake-modules/new-draft.nix @@ -0,0 +1,33 @@ +{ + perSystem = + { pkgs, ... }: + { + packages.new-draft = pkgs.writeShellApplication { + name = "new-draft"; + + runtimeInputs = with pkgs; [ + coreutils + git + ]; + + text = '' + title="$1" + + exclude_words="for|at|and" + + filtered_title=$(echo "$title" | sed -E "s/\b($exclude_words)\b//g") + + slug=$(echo "$filtered_title" | tr '[:upper:]' '[:lower:]' | sed -e 's/[^a-z0-9]/-/g' -e 's/-\+/-/g' -e 's/^-//g' -e 's/-$//g') + + file="source/_posts/$slug.md" + + echo -e "---\ntitle: $title\ndate: ~\ndraft: true\n---" > "$file" + + echo "File created: $file" + + git add "$file" + git commit -s -m "Add draft: $title" + ''; + }; + }; +} diff --git a/flake-modules/publish.nix b/flake-modules/publish.nix new file mode 100644 index 000000000..d15ee49aa --- /dev/null +++ b/flake-modules/publish.nix @@ -0,0 +1,21 @@ +{ + perSystem = + { pkgs, ... }: + { + packages.publish = pkgs.writeShellApplication { + name = "publish"; + + runtimeInputs = with pkgs; [ + rsync + php + ]; + + text = '' + vendor/bin/sculpin generate --env prod + + rsync -uvrP static/ output_prod "$@" + rsync -uvrP output_prod/ nixedo.oliverdavies.uk:/var/www/vhosts/website-sculpin "$@" + ''; + }; + }; +} diff --git a/new-draft.nix b/new-draft.nix deleted file mode 100644 index 703f92ec4..000000000 --- a/new-draft.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ pkgs }: - -pkgs.writeShellApplication { - name = "new-draft"; - - runtimeInputs = with pkgs; [ coreutils git ]; - - text = '' - title="$1" - - exclude_words="for|at|and" - - filtered_title=$(echo "$title" | sed -E "s/\b($exclude_words)\b//g") - - slug=$(echo "$filtered_title" | tr '[:upper:]' '[:lower:]' | sed -e 's/[^a-z0-9]/-/g' -e 's/-\+/-/g' -e 's/^-//g' -e 's/-$//g') - - file="source/_posts/$slug.md" - - echo -e "---\ntitle: $title\ndate: ~\ndraft: true\n---" > "$file" - - echo "File created: $file" - - git add "$file" - git commit -s -m "Add draft: $title" - ''; -} diff --git a/publish.nix b/publish.nix deleted file mode 100644 index a08a07c64..000000000 --- a/publish.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ pkgs }: - -pkgs.writeShellApplication { - name = "publish"; - - runtimeInputs = with pkgs; [ rsync php ]; - - text = '' - vendor/bin/sculpin generate --env prod - - rsync -uvrP static/ output_prod "$@" - rsync -uvrP output_prod/ nixedo.oliverdavies.uk:/var/www/vhosts/website-sculpin "$@" - ''; -}