Skip to content

try sway + cache nix #7

try sway + cache nix

try sway + cache nix #7

name: Update flake inputs
on:
workflow_dispatch:
push:
branches:
- action-test
jobs:
update-flake:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- name: Install Nix
uses: nixbuild/nix-quick-install-action@v31
with:
nix_conf: |
keep-env-derivations = true
keep-outputs = true
- name: Restore and save Nix store
uses: nix-community/cache-nix-action@v6
with:
# restore and save a cache using this key
primary-key: nix-${{ hashFiles('**/*.nix', '**/flake.lock') }}
# if there's no cache hit, restore a cache by this prefix
restore-prefixes-first-match: nix-
# collect garbage until the Nix store size (in bytes) is at most this number
# before trying to save a new cache
# 1G = 1073741824
gc-max-store-size-linux: 1G
# do purge caches
purge: true
# purge all versions of the cache
purge-prefixes: nix-
# created more than this number of seconds ago
purge-created: 0
# or, last accessed more than this number of seconds ago
# relative to the start of the `Post Restore and save Nix store` phase
purge-last-accessed: 0
# except any version with the key that is the same as the `primary-key`
purge-primary-key: never
- name: Update flake inputs
run: nix flake update
- name: Attempt to build flake
run: nix build
- name: Test on Sway
env:
XDG_RUNTIME_DIR: /home/runner/runtime
WLR_BACKENDS: headless
WLR_LIBINPUT_NO_DEVICES: 1
WAYLAND_DISPLAY: wayland-1
run: |
mkdir $XDG_RUNTIME_DIR
chown $USER $XDG_RUNTIME_DIR
chmod 0700 $XDG_RUNTIME_DIR
nix profile add 'nixpkgs#sway'
sway &
sleep 5 # Give Hyprland some time to start
result/bin/caelestia-shell -d
sleep 5 # Give the shell some time to start
pgrep .caelestia-shell || exit 1 # Fail job if shell died
result/bin/caelestia-shell kill
swaymsg exit
- name: Check for changes
id: check
run: echo modified=$(test -n "$(git status --porcelain)" && echo 'true' || echo 'false') >> $GITHUB_OUTPUT
# - name: Commit and push changes
# if: steps.check.outputs.modified == 'true'
# uses: EndBug/add-and-commit@v9
# with:
# add: flake.lock
# default_author: github_actions
# message: "[CI] chore: update flake"