NFALIPAVX5OVAMLU726LHVEIL6FDOGKPVDLXOWGCHZ2X5YRMACCAC
H4WHBX7QI7KGHAOAJX5BPI5TFHYG4VYOH6ATBXNVO4FQOTWACOFQC
BV4WGTOKDCPLWU42RASWK6E7TTTVUTO6Q2APOANCTV6XKBCEBUOQC
IWXQRSNIUR6NGULYQZ2AJA6T254TWEDOOQJGTLLVT6LAFOFWRTBAC
5FLTMCXWFLP6MI36R73NDC5ZZGKRB66IXOWY7ZTESTLC7M357H2QC
BN7PSYS5IMGH4CXNCQZGOWBETO7KY4TKICB4ESZEZVXVGLOPVV7QC
QAQZFVL7TXPWTZAS3BLQQL3PCVQQWTYWPL27MF2ALVNMIVRJ72KAC
IUOT2T6JCTPBCDW2SDT2DQKJ6Y44RQKPSGR7FGD2FFCRIZZ4NFYQC
TEFQYHS4R4Y3OGNYZGTEDFVFHNHEIUYPNUSKGOXUYLURZWEKCQLAC
4DKZCHE3SKQ5Y5R3Q2LU6UAB55UPUZ5RFKHP26SZXZ4EKGOYITWAC
RIFUJPGJ4QAK2ISPAUV6XOH6Q34ND657QGX7TEMFFLQRQJ7KP5BQC
I2WI2EWK3OXLC47KJJMXKLFDTHZLHAUXFVQCET26NMXODEHY244AC
F4OVQPCPG3QAEZGFDBTBIE2LXNFNI52NQZAFXYH3STO6KIRKOEAQC
T43Q2EZ2JQWK4WMW7RRYU7MNP3QJJXW4BQKIQMRYFCGKHL7FJ7SQC
CMCNR7WJS7WNBANJHAKJYK5XKWGZ3HU6M72KF5MVE2IZVOFYV64QC
IGPZOX3MPDH6UEV5D4HHB2H37E6KTIVM4DKM5RZE7HRYJFHSRKFQC
LHVOD3PLNDZJYUS7SOYEGRDRW6AKUDDW35AWDY7Y7RCKV6KEX2IAC
WEC7RJUMNJX6A46INFCR5Q3GM5O3BCAYAF4UUISJDYXWIL5II36AC
BX2EXA45RHKBK4ZFZYUMHYDYKRVIUQJZDW6O643XUHKI5LVNDSJAC
N7DHDONTAB6UEU4PHQR7BNSUQFAA4JBIVSTKDQ7V7OF3CLOEWXOQC
X3IANZNCU5AF7H3YGJ4EUOIP3TKSQNZKVEY7I36NZY7NLI7R6YXQC
3OAFCHK7EIRUD3ZLAGZ3MAXVYOGFAJVDOF63ZIGNU7I3RWIPMAOQC
VSKDZ32TKJD6SSB6DAUT7JVYKEVFWO74LFB442LGJG4LPYX6LTRAC
WSOWVZJ5PO2VLYOJYFB656WOVPE4VWGF46LCYLKBG3LEF6HH3S3QC
PKUQNGARQTNWOZNQYHXVQH2UEXORRVKZZUYGXPQB3AAS6QXAWXBQC
CYCMGNUN3JEWVNICLLK72IDL4WPGQX34KCUBD3EDX45DUPLLSSDQC
ENKKLTY5BXQNKAJ6LPSNC4MAHOJAYINKVC633RPRX67SDXVH2HLAC
CDPM6DBHOVF7BELYPC27BZNFQ6DFENMCERT2PB45ED2H25GBK2LAC
J3Z7EVECIEYOHKSHGKY5K3ZXTYDEQV5QBAFVM3S7B63OUYEWAJ2AC
4BXYTJPI3YWWXJ4JFUNFUO6ANCMJNALQ7L3XK3U3AXQGFDV7CAEQC
nvim/plugged
nvim/.netrwhist
.DS_Store
*.swp
fishd.*
fish/functions/fzf_key_bindings.fish
/fish/private_variables.fish
fish/fish_history
/zsh/ebaliases.sh
/spacemacs/snippets/text-mode/phabricator_username_*
/spacemacs/.spacemacs
/.config/karabiner/automatic_backups/
/.config/karabiner/assets/
/.config/doctl/cache/
/.config/configstore/
/.config/doctl/
/nixpkgs/darwin/local_config.nix
/nixpkgs/darwin/pii.nix
__pycache__/
/.direnv/
/.pre-commit-config.yaml
/result
hosts/coniguration.nix.bak
name: "Nix Flake Check"
on:
push:
branches-ignore:
- main
jobs:
tests:
strategy:
matrix:
# os: [ubuntu-latest, macos-latest]
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v17
with:
extra_nix_config: |
access-tokens = github.com=${{ secrets.REPO_TOKEN }}
- uses: cachix/cachix-action@v10
with:
name: averagechris-dotfiles
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
extraPullNames: nix-community, nixpkgs-wayland
- run: nix flake check
-- this package must be cloned into ~/.hammerspoon/stackline
-- https://github.com/AdamWagner/stackline.git
stackline = require "stackline.stackline.stackline"
stackline:init({
appearance = {showIcons = false}
})
function rateLimited(nanoSeconds, fn)
lastTs = nil
return function (event)
cutOff = (lastTs or 0) + nanoSeconds
if event:timestamp() > cutOff then
fn(event)
lastTs = event:timestamp()
end
end
end
function yabaiPath()
shell = table.concat({os.getenv("SHELL"), "-c", " "}, " ")
response = hs.execute(shell .. "'which yabai'")
return string.gsub(response, "\n", "")
end
function focusWindowInStack (yabai_path, stackPosition)
cmd = table.concat({yabai_path, "-m", "window", "--focus", "stack." .. stackPosition}, " ")
hs.execute(cmd)
end
yabai_path = yabaiPath()
-- pressing hyper while vertical scrolling will scroll through the yabai window stack if there is one
scrollWatcher = hs.eventtap.new(
{hs.eventtap.event.types.scrollWheel},
-- 90 million ns delay
rateLimited(90000000, function (event)
if event:getFlags():containExactly({"cmd", "ctrl", "alt", "shift"}) then
deltaY = event:getProperty(hs.eventtap.event.properties["scrollWheelEventDeltaAxis1"])
-- match macOS "natural" scroll direction
-- TODO base this on the OS setting
if deltaY > 0 then
-- if pulling up, look at the previous window
focusWindowInStack(yabai_path, "prev")
elseif deltaY < 0 then
-- if pushing down, look at the next window
focusWindowInStack(yabai_path, "next")
end
-- override so the scroll doesn't bubble to other applications
event:setProperty(hs.eventtap.event.properties["scrollWheelEventDeltaAxis1"], 0)
end
end)
):start()
image: nixos/unstable
packages:
- nixos.cachix
sources:
- https://git.sr.ht/~averagechris/dotfiles
secrets:
- 731f7e55-4497-4228-8fa4-1657da7d3625
- d9a1d776-3f07-477d-9ee0-173606550bc0
tasks:
- setup-nix: |
mkdir -p ~/.config/nix/
echo "experimental-features = nix-command flakes" >> ~/.config/nix/nix.conf
echo "max-jobs = auto" >> ~/.config/nix/nix.conf
set +x
echo "access-tokens = github.com=$(cat ~/.ci_secrets/github_token)" >> ~/.config/nix/nix.conf
set -x
- setup-cachix: |
cachix authtoken --stdin < ~/.ci_secrets/cachix_token
cachix use nix-community
cachix use nixpkgs-wayland
cachix use averagechris-dotfiles
- pre-commit-checks: |
cd ~/dotfiles
- nix-build-nixos-configurations: |
cd ~/dotfiles
nix build .#nixosConfigurations.thelio-nixos.config.system.build.toplevel
nix build .#nixosConfigurations.xps-nixos.config.system.build.toplevel
nix build .#nixosConfigurations.tootsie.config.system.build.toplevel
nix build .#nixosConfigurations.taz.config.system.build.toplevel
nix build .
cachix watch-exec averagechris-dotfiles -- \
cachix watch-exec averagechris-dotfiles -- \
cachix watch-exec averagechris-dotfiles -- \
cachix watch-exec averagechris-dotfiles -- \
cachix watch-exec averagechris-dotfiles -- \
cachix watch-exec averagechris-dotfiles -- \
nix develop --command \
pre-commit run --all
.git
.DS_Store
result
.pre-commit-config.yaml
nvim/plugged
nvim/.netrwhist
.DS_Store
*.swp
fishd.*
fish/functions/fzf_key_bindings.fish
/fish/private_variables.fish
fish/fish_history
/zsh/ebaliases.sh
/spacemacs/snippets/text-mode/phabricator_username_*
/spacemacs/.spacemacs
/.config/karabiner/automatic_backups/
/.config/karabiner/assets/
/.config/doctl/cache/
/.config/configstore/
/.config/doctl/
/nixpkgs/darwin/local_config.nix
/nixpkgs/darwin/pii.nix
__pycache__/
/.direnv/
/.pre-commit-config.yaml
/result
hosts/coniguration.nix.bak