this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

flake/actions: init auto-generation of github workflows

Aly Raffauf a7c25550 111e43f2

+881 -351
+22 -19
.github/workflows/build-darwin.yml
··· 1 - name: build-darwin 2 1 concurrency: 3 - group: ${{ github.workflow }}-${{ github.ref }} 4 2 cancel-in-progress: true 5 - on: 6 - push: 7 - paths-ignore: 8 - - "**/*.md" 9 - - ".github/**" 10 - - "_img/**" 11 - workflow_dispatch: 3 + group: ${{ github.workflow }}-${{ github.ref }} 12 4 jobs: 13 5 build-fortree: 14 6 runs-on: macos-latest 15 7 steps: 16 - - uses: actions/checkout@main 17 - with: 18 - fetch-depth: 1 19 - - uses: DeterminateSystems/nix-installer-action@main 20 - - uses: cachix/cachix-action@master 21 - with: 22 - name: alyraffauf 23 - authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" 24 - - name: Build fortree 25 - run: nix build --accept-flake-config --print-out-paths .#darwinConfigurations.fortree.config.system.build.toplevel 8 + - name: Checkout 9 + uses: actions/checkout@main 10 + with: 11 + fetch-depth: 1 12 + - name: Install Nix 13 + uses: DeterminateSystems/nix-installer-action@main 14 + - name: Cachix 15 + uses: cachix/cachix-action@master 16 + with: 17 + authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} 18 + name: alyraffauf 19 + - name: Build fortree 20 + run: nix build --accept-flake-config --print-out-paths .#darwinConfigurations.fortree.config.system.build.toplevel 21 + name: build-darwin 22 + 'on': 23 + push: 24 + paths-ignore: 25 + - '**/*.md' 26 + - .github/** 27 + - _img/** 28 + workflow_dispatch: {}
+51
.github/workflows/build-nix.yml
··· 1 + concurrency: 2 + cancel-in-progress: true 3 + group: ${{ github.workflow }}-${{ github.ref }} 4 + jobs: 5 + build-devShell-default: 6 + runs-on: ubuntu-latest 7 + steps: 8 + - uses: actions/checkout@main 9 + with: 10 + fetch-depth: 1 11 + - uses: DeterminateSystems/nix-installer-action@main 12 + - uses: cachix/cachix-action@master 13 + with: 14 + authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} 15 + name: alyraffauf 16 + - name: Build devShell default 17 + run: nix build --accept-flake-config --print-out-paths .#devShells.x86_64-linux.default 18 + build-package-gen-files: 19 + runs-on: ubuntu-latest 20 + steps: 21 + - uses: actions/checkout@main 22 + with: 23 + fetch-depth: 1 24 + - uses: DeterminateSystems/nix-installer-action@main 25 + - uses: cachix/cachix-action@master 26 + with: 27 + authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} 28 + name: alyraffauf 29 + - name: Build package gen-files 30 + run: nix build --accept-flake-config --print-out-paths .#packages.x86_64-linux.gen-files 31 + build-package-render-workflows: 32 + runs-on: ubuntu-latest 33 + steps: 34 + - uses: actions/checkout@main 35 + with: 36 + fetch-depth: 1 37 + - uses: DeterminateSystems/nix-installer-action@main 38 + - uses: cachix/cachix-action@master 39 + with: 40 + authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} 41 + name: alyraffauf 42 + - name: Build package render-workflows 43 + run: nix build --accept-flake-config --print-out-paths .#packages.x86_64-linux.render-workflows 44 + name: build-nix 45 + 'on': 46 + push: 47 + paths: 48 + - flake.lock 49 + - flake.nix 50 + - flake/ 51 + workflow_dispatch: {}
+219 -190
.github/workflows/build-nixos.yml
··· 1 - name: build-nixos 2 1 concurrency: 3 - group: ${{ github.workflow }}-${{ github.ref }} 4 2 cancel-in-progress: true 5 - on: 6 - push: 7 - paths-ignore: 8 - - "**/*.md" 9 - - ".github/**" 10 - - "_img/**" 11 - workflow_dispatch: 3 + group: ${{ github.workflow }}-${{ github.ref }} 12 4 jobs: 13 5 build-dewford: 14 6 runs-on: ubuntu-latest 15 7 steps: 16 - - name: Free Disk Space (Ubuntu) 17 - uses: jlumbroso/free-disk-space@main 18 - - uses: actions/checkout@main 19 - with: 20 - fetch-depth: 1 21 - - uses: DeterminateSystems/nix-installer-action@main 22 - - uses: cachix/cachix-action@master 23 - with: 24 - name: alyraffauf 25 - authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" 26 - - name: Build dewford 27 - run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.dewford.config.system.build.toplevel 28 - 8 + - name: Free Disk Space (Ubuntu) 9 + uses: jlumbroso/free-disk-space@main 10 + - name: Checkout 11 + uses: actions/checkout@main 12 + with: 13 + fetch-depth: 1 14 + - name: Install Nix 15 + uses: DeterminateSystems/nix-installer-action@main 16 + - name: Cachix 17 + uses: cachix/cachix-action@master 18 + with: 19 + authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} 20 + name: alyraffauf 21 + - name: Build dewford 22 + run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.dewford.config.system.build.toplevel 29 23 build-evergrande: 30 24 runs-on: ubuntu-latest 31 25 steps: 32 - - name: Free Disk Space (Ubuntu) 33 - uses: jlumbroso/free-disk-space@main 34 - - uses: actions/checkout@main 35 - with: 36 - fetch-depth: 1 37 - - uses: DeterminateSystems/nix-installer-action@main 38 - - uses: cachix/cachix-action@master 39 - with: 40 - name: alyraffauf 41 - authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" 42 - - name: Build evergrande 43 - run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.evergrande.config.system.build.toplevel 44 - 26 + - name: Free Disk Space (Ubuntu) 27 + uses: jlumbroso/free-disk-space@main 28 + - name: Checkout 29 + uses: actions/checkout@main 30 + with: 31 + fetch-depth: 1 32 + - name: Install Nix 33 + uses: DeterminateSystems/nix-installer-action@main 34 + - name: Cachix 35 + uses: cachix/cachix-action@master 36 + with: 37 + authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} 38 + name: alyraffauf 39 + - name: Build evergrande 40 + run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.evergrande.config.system.build.toplevel 45 41 build-fallarbor: 46 42 runs-on: ubuntu-latest 47 43 steps: 48 - - name: Free Disk Space (Ubuntu) 49 - uses: jlumbroso/free-disk-space@main 50 - - uses: actions/checkout@main 51 - with: 52 - fetch-depth: 1 53 - - uses: DeterminateSystems/nix-installer-action@main 54 - - uses: cachix/cachix-action@master 55 - with: 56 - name: alyraffauf 57 - authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" 58 - - name: Build fallarbor 59 - run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.fallarbor.config.system.build.toplevel 60 - 44 + - name: Free Disk Space (Ubuntu) 45 + uses: jlumbroso/free-disk-space@main 46 + - name: Checkout 47 + uses: actions/checkout@main 48 + with: 49 + fetch-depth: 1 50 + - name: Install Nix 51 + uses: DeterminateSystems/nix-installer-action@main 52 + - name: Cachix 53 + uses: cachix/cachix-action@master 54 + with: 55 + authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} 56 + name: alyraffauf 57 + - name: Build fallarbor 58 + run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.fallarbor.config.system.build.toplevel 61 59 build-lavaridge: 62 60 runs-on: ubuntu-latest 63 61 steps: 64 - - name: Free Disk Space (Ubuntu) 65 - uses: jlumbroso/free-disk-space@main 66 - - uses: actions/checkout@main 67 - with: 68 - fetch-depth: 1 69 - - uses: DeterminateSystems/nix-installer-action@main 70 - - uses: cachix/cachix-action@master 71 - with: 72 - name: alyraffauf 73 - authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" 74 - - name: Build lavaridge 75 - run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.lavaridge.config.system.build.toplevel 76 - 62 + - name: Free Disk Space (Ubuntu) 63 + uses: jlumbroso/free-disk-space@main 64 + - name: Checkout 65 + uses: actions/checkout@main 66 + with: 67 + fetch-depth: 1 68 + - name: Install Nix 69 + uses: DeterminateSystems/nix-installer-action@main 70 + - name: Cachix 71 + uses: cachix/cachix-action@master 72 + with: 73 + authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} 74 + name: alyraffauf 75 + - name: Build lavaridge 76 + run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.lavaridge.config.system.build.toplevel 77 77 build-lilycove: 78 78 runs-on: ubuntu-latest 79 79 steps: 80 - - name: Free Disk Space (Ubuntu) 81 - uses: jlumbroso/free-disk-space@main 82 - - uses: actions/checkout@main 83 - with: 84 - fetch-depth: 1 85 - - uses: DeterminateSystems/nix-installer-action@main 86 - - uses: cachix/cachix-action@master 87 - with: 88 - name: alyraffauf 89 - authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" 90 - - name: Build lilycove 91 - run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.lilycove.config.system.build.toplevel 92 - 80 + - name: Free Disk Space (Ubuntu) 81 + uses: jlumbroso/free-disk-space@main 82 + - name: Checkout 83 + uses: actions/checkout@main 84 + with: 85 + fetch-depth: 1 86 + - name: Install Nix 87 + uses: DeterminateSystems/nix-installer-action@main 88 + - name: Cachix 89 + uses: cachix/cachix-action@master 90 + with: 91 + authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} 92 + name: alyraffauf 93 + - name: Build lilycove 94 + run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.lilycove.config.system.build.toplevel 93 95 build-littleroot: 94 96 runs-on: ubuntu-latest 95 97 steps: 96 - - name: Free Disk Space (Ubuntu) 97 - uses: jlumbroso/free-disk-space@main 98 - - uses: actions/checkout@main 99 - with: 100 - fetch-depth: 1 101 - - uses: DeterminateSystems/nix-installer-action@main 102 - - uses: cachix/cachix-action@master 103 - with: 104 - name: alyraffauf 105 - authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" 106 - - name: Build littleroot 107 - run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.littleroot.config.system.build.toplevel 108 - 98 + - name: Free Disk Space (Ubuntu) 99 + uses: jlumbroso/free-disk-space@main 100 + - name: Checkout 101 + uses: actions/checkout@main 102 + with: 103 + fetch-depth: 1 104 + - name: Install Nix 105 + uses: DeterminateSystems/nix-installer-action@main 106 + - name: Cachix 107 + uses: cachix/cachix-action@master 108 + with: 109 + authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} 110 + name: alyraffauf 111 + - name: Build littleroot 112 + run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.littleroot.config.system.build.toplevel 109 113 build-mauville: 110 114 runs-on: ubuntu-latest 111 115 steps: 112 - - name: Free Disk Space (Ubuntu) 113 - uses: jlumbroso/free-disk-space@main 114 - - uses: actions/checkout@main 115 - with: 116 - fetch-depth: 1 117 - - uses: DeterminateSystems/nix-installer-action@main 118 - - uses: cachix/cachix-action@master 119 - with: 120 - name: alyraffauf 121 - authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" 122 - - name: Build mauville 123 - run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.mauville.config.system.build.toplevel 124 - 116 + - name: Free Disk Space (Ubuntu) 117 + uses: jlumbroso/free-disk-space@main 118 + - name: Checkout 119 + uses: actions/checkout@main 120 + with: 121 + fetch-depth: 1 122 + - name: Install Nix 123 + uses: DeterminateSystems/nix-installer-action@main 124 + - name: Cachix 125 + uses: cachix/cachix-action@master 126 + with: 127 + authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} 128 + name: alyraffauf 129 + - name: Build mauville 130 + run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.mauville.config.system.build.toplevel 125 131 build-mossdeep: 126 132 runs-on: ubuntu-latest 127 133 steps: 128 - - name: Free Disk Space (Ubuntu) 129 - uses: jlumbroso/free-disk-space@main 130 - - uses: actions/checkout@main 131 - with: 132 - fetch-depth: 1 133 - - uses: DeterminateSystems/nix-installer-action@main 134 - - uses: cachix/cachix-action@master 135 - with: 136 - name: alyraffauf 137 - authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" 138 - - name: Build mossdeep 139 - run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.mossdeep.config.system.build.toplevel 140 - 134 + - name: Free Disk Space (Ubuntu) 135 + uses: jlumbroso/free-disk-space@main 136 + - name: Checkout 137 + uses: actions/checkout@main 138 + with: 139 + fetch-depth: 1 140 + - name: Install Nix 141 + uses: DeterminateSystems/nix-installer-action@main 142 + - name: Cachix 143 + uses: cachix/cachix-action@master 144 + with: 145 + authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} 146 + name: alyraffauf 147 + - name: Build mossdeep 148 + run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.mossdeep.config.system.build.toplevel 141 149 build-oldale: 142 150 runs-on: ubuntu-latest 143 151 steps: 144 - - name: Free Disk Space (Ubuntu) 145 - uses: jlumbroso/free-disk-space@main 146 - - uses: actions/checkout@main 147 - with: 148 - fetch-depth: 1 149 - - uses: DeterminateSystems/nix-installer-action@main 150 - - uses: cachix/cachix-action@master 151 - with: 152 - name: alyraffauf 153 - authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" 154 - - name: Build oldale 155 - run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.oldale.config.system.build.toplevel 156 - 152 + - name: Free Disk Space (Ubuntu) 153 + uses: jlumbroso/free-disk-space@main 154 + - name: Checkout 155 + uses: actions/checkout@main 156 + with: 157 + fetch-depth: 1 158 + - name: Install Nix 159 + uses: DeterminateSystems/nix-installer-action@main 160 + - name: Cachix 161 + uses: cachix/cachix-action@master 162 + with: 163 + authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} 164 + name: alyraffauf 165 + - name: Build oldale 166 + run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.oldale.config.system.build.toplevel 157 167 build-petalburg: 158 168 runs-on: ubuntu-latest 159 169 steps: 160 - - name: Free Disk Space (Ubuntu) 161 - uses: jlumbroso/free-disk-space@main 162 - - uses: actions/checkout@main 163 - with: 164 - fetch-depth: 1 165 - - uses: DeterminateSystems/nix-installer-action@main 166 - - uses: cachix/cachix-action@master 167 - with: 168 - name: alyraffauf 169 - authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" 170 - - name: Build petalburg 171 - run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.petalburg.config.system.build.toplevel 172 - 170 + - name: Free Disk Space (Ubuntu) 171 + uses: jlumbroso/free-disk-space@main 172 + - name: Checkout 173 + uses: actions/checkout@main 174 + with: 175 + fetch-depth: 1 176 + - name: Install Nix 177 + uses: DeterminateSystems/nix-installer-action@main 178 + - name: Cachix 179 + uses: cachix/cachix-action@master 180 + with: 181 + authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} 182 + name: alyraffauf 183 + - name: Build petalburg 184 + run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.petalburg.config.system.build.toplevel 173 185 build-rustboro: 174 186 runs-on: ubuntu-latest 175 187 steps: 176 - - name: Free Disk Space (Ubuntu) 177 - uses: jlumbroso/free-disk-space@main 178 - - uses: actions/checkout@main 179 - with: 180 - fetch-depth: 1 181 - - uses: DeterminateSystems/nix-installer-action@main 182 - - uses: cachix/cachix-action@master 183 - with: 184 - name: alyraffauf 185 - authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" 186 - - name: Build rustboro 187 - run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.rustboro.config.system.build.toplevel 188 - 188 + - name: Free Disk Space (Ubuntu) 189 + uses: jlumbroso/free-disk-space@main 190 + - name: Checkout 191 + uses: actions/checkout@main 192 + with: 193 + fetch-depth: 1 194 + - name: Install Nix 195 + uses: DeterminateSystems/nix-installer-action@main 196 + - name: Cachix 197 + uses: cachix/cachix-action@master 198 + with: 199 + authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} 200 + name: alyraffauf 201 + - name: Build rustboro 202 + run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.rustboro.config.system.build.toplevel 189 203 build-slateport: 190 204 runs-on: ubuntu-latest 191 205 steps: 192 - - name: Free Disk Space (Ubuntu) 193 - uses: jlumbroso/free-disk-space@main 194 - - uses: actions/checkout@main 195 - with: 196 - fetch-depth: 1 197 - - uses: DeterminateSystems/nix-installer-action@main 198 - - uses: cachix/cachix-action@master 199 - with: 200 - name: alyraffauf 201 - authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" 202 - - name: Build slateport 203 - run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.slateport.config.system.build.toplevel 204 - 206 + - name: Free Disk Space (Ubuntu) 207 + uses: jlumbroso/free-disk-space@main 208 + - name: Checkout 209 + uses: actions/checkout@main 210 + with: 211 + fetch-depth: 1 212 + - name: Install Nix 213 + uses: DeterminateSystems/nix-installer-action@main 214 + - name: Cachix 215 + uses: cachix/cachix-action@master 216 + with: 217 + authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} 218 + name: alyraffauf 219 + - name: Build slateport 220 + run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.slateport.config.system.build.toplevel 205 221 build-sootopolis: 206 222 runs-on: ubuntu-latest 207 223 steps: 208 - - name: Free Disk Space (Ubuntu) 209 - uses: jlumbroso/free-disk-space@main 210 - - uses: actions/checkout@main 211 - with: 212 - fetch-depth: 1 213 - - uses: DeterminateSystems/nix-installer-action@main 214 - - uses: cachix/cachix-action@master 215 - with: 216 - name: alyraffauf 217 - authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" 218 - - name: Build sootopolis 219 - run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.sootopolis.config.system.build.toplevel 220 - 224 + - name: Free Disk Space (Ubuntu) 225 + uses: jlumbroso/free-disk-space@main 226 + - name: Checkout 227 + uses: actions/checkout@main 228 + with: 229 + fetch-depth: 1 230 + - name: Install Nix 231 + uses: DeterminateSystems/nix-installer-action@main 232 + - name: Cachix 233 + uses: cachix/cachix-action@master 234 + with: 235 + authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} 236 + name: alyraffauf 237 + - name: Build sootopolis 238 + run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.sootopolis.config.system.build.toplevel 221 239 build-verdanturf: 222 240 runs-on: ubuntu-latest 223 241 steps: 224 - - name: Free Disk Space (Ubuntu) 225 - uses: jlumbroso/free-disk-space@main 226 - - uses: actions/checkout@main 227 - with: 228 - fetch-depth: 1 229 - - uses: DeterminateSystems/nix-installer-action@main 230 - - uses: cachix/cachix-action@master 231 - with: 232 - name: alyraffauf 233 - authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" 234 - - name: Build verdanturf 235 - run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.verdanturf.config.system.build.toplevel 242 + - name: Free Disk Space (Ubuntu) 243 + uses: jlumbroso/free-disk-space@main 244 + - name: Checkout 245 + uses: actions/checkout@main 246 + with: 247 + fetch-depth: 1 248 + - name: Install Nix 249 + uses: DeterminateSystems/nix-installer-action@main 250 + - name: Cachix 251 + uses: cachix/cachix-action@master 252 + with: 253 + authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} 254 + name: alyraffauf 255 + - name: Build verdanturf 256 + run: nix build --accept-flake-config --print-out-paths .#nixosConfigurations.verdanturf.config.system.build.toplevel 257 + name: build-nixos 258 + 'on': 259 + push: 260 + paths-ignore: 261 + - '**/*.md' 262 + - .github/** 263 + - _img/** 264 + workflow_dispatch: {}
-25
.github/workflows/build-pkgs.yml
··· 1 - name: build-nix 2 - concurrency: 3 - group: ${{ github.workflow }}-${{ github.ref }} 4 - cancel-in-progress: true 5 - on: 6 - push: 7 - paths: 8 - - "flake.lock" 9 - - "flake.nix" 10 - - "flake/" 11 - workflow_dispatch: 12 - jobs: 13 - build-devShell: 14 - runs-on: ubuntu-latest 15 - steps: 16 - - uses: actions/checkout@main 17 - with: 18 - fetch-depth: 1 19 - - uses: DeterminateSystems/nix-installer-action@main 20 - - uses: cachix/cachix-action@master 21 - with: 22 - name: alyraffauf 23 - authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" 24 - - name: Build devShell 25 - run: nix build --accept-flake-config --print-out-paths .#devShells.x86_64-linux.default
+16 -16
.github/workflows/check-nix.yml
··· 1 - name: check-nix 2 1 concurrency: 3 - group: ${{ github.workflow }}-${{ github.ref }} 4 2 cancel-in-progress: true 5 - on: 6 - push: 7 - paths-ignore: 8 - - "**/*.md" 9 - - ".github/**" 10 - - "_img/**" 11 - workflow_dispatch: 3 + group: ${{ github.workflow }}-${{ github.ref }} 12 4 jobs: 13 - check-eval: 5 + check-flake: 14 6 runs-on: ubuntu-latest 15 7 steps: 16 - - uses: actions/checkout@main 17 - with: 18 - fetch-depth: 1 19 - - uses: DeterminateSystems/nix-installer-action@main 20 - - name: Check flake evaluation 21 - run: nix -Lv flake check --all-systems 8 + - uses: actions/checkout@main 9 + with: 10 + fetch-depth: 1 11 + - uses: DeterminateSystems/nix-installer-action@main 12 + - name: Check flake evaluation 13 + run: nix -Lv flake check --all-systems 14 + name: check-nix 15 + 'on': 16 + push: 17 + paths-ignore: 18 + - '**/*.md' 19 + - .github/** 20 + - _img/** 21 + workflow_dispatch: {}
+48 -48
.github/workflows/deploy-tailscale-acls.yml
··· 1 + jobs: 2 + acls: 3 + runs-on: ubuntu-latest 4 + steps: 5 + - uses: actions/checkout@main 6 + with: 7 + fetch-depth: 1 8 + - uses: DeterminateSystems/nix-installer-action@main 9 + - name: Convert .#tailscaleACLs to tailscale.json 10 + run: nix eval --json .#tailscaleACLs > tailscale.json 11 + - if: |- 12 + github.event_name == 'push' || 13 + (github.event_name == 'workflow_dispatch' && 14 + github.event.inputs.action == 'deploy') 15 + name: Deploy ACL 16 + uses: tailscale/gitops-acl-action@v1 17 + with: 18 + action: apply 19 + api-key: ${{ secrets.TS_API_KEY }} 20 + policy-file: tailscale.json 21 + tailnet: alyraffauf.github 22 + - if: |- 23 + github.event_name == 'pull_request' || 24 + (github.event_name == 'workflow_dispatch' && 25 + github.event.inputs.action == 'test') 26 + name: Test ACL 27 + uses: tailscale/gitops-acl-action@v1 28 + with: 29 + action: test 30 + api-key: ${{ secrets.TS_API_KEY }} 31 + policy-file: tailscale.json 32 + tailnet: alyraffauf.github 1 33 name: deploy-tailscale-acls 2 - 3 - on: 4 - push: 5 - branches: ["master"] 6 - paths: 7 - - ".github/workflows/deploy-tailscale-acls.yml" 8 - - "flake/tailscale.nix" 34 + 'on': 9 35 pull_request: 10 - branches: ["master"] 36 + branches: 37 + - master 11 38 paths: 12 - - ".github/workflows/deploy-tailscale-acls.yml" 13 - - "flake/tailscale.nix" 39 + - .github/workflows/deploy-tailscale-acls.yml 40 + - flake/tailscale.nix 41 + push: 42 + branches: 43 + - master 44 + paths: 45 + - .github/workflows/deploy-tailscale-acls.yml 46 + - flake/tailscale.nix 14 47 workflow_dispatch: 15 48 inputs: 16 49 action: 17 - description: "Which action to run" 18 - required: true 19 - type: choice 20 50 default: deploy 51 + description: Which action to run 21 52 options: 22 - - deploy 23 - - test 24 - 25 - jobs: 26 - acls: 27 - runs-on: ubuntu-latest 28 - 29 - steps: 30 - - uses: actions/checkout@main 31 - with: 32 - fetch-depth: 1 33 - - uses: DeterminateSystems/nix-installer-action@main 34 - - name: Convert .#tailscaleACLs to tailscale.json 35 - run: nix eval --json .#tailscaleACLs > tailscale.json 36 - - name: Deploy ACL 37 - if: > 38 - github.event_name == 'push' 39 - || (github.event_name == 'workflow_dispatch' && github.event.inputs.action == 'deploy') 40 - uses: tailscale/gitops-acl-action@v1 41 - with: 42 - api-key: ${{ secrets.TS_API_KEY }} 43 - tailnet: alyraffauf.github 44 - policy-file: tailscale.json 45 - action: apply 46 - 47 - - name: Test ACL 48 - if: > 49 - github.event_name == 'pull_request' 50 - || (github.event_name == 'workflow_dispatch' && github.event.inputs.action == 'test') 51 - uses: tailscale/gitops-acl-action@v1 52 - with: 53 - api-key: ${{ secrets.TS_API_KEY }} 54 - tailnet: alyraffauf.github 55 - policy-file: tailscale.json 56 - action: test 53 + - deploy 54 + - test 55 + required: true 56 + type: choice
+22 -24
.github/workflows/update-inputs.yml
··· 1 - name: update-inputs 2 - on: 3 - schedule: 4 - - cron: "0 6 * * 2,5" 5 - workflow_dispatch: 6 - 7 1 jobs: 8 2 update-flake-lock: 9 3 runs-on: ubuntu-latest 10 - 11 4 steps: 12 - - uses: actions/checkout@main 13 - with: 14 - ref: ${{ github.head_ref }} 15 - fetch-depth: 1 16 - - name: Setup Git 17 - run: | 18 - git config --local user.name "github-actions[bot]" 19 - git config --local user.email "github-actions[bot]@users.noreply.github.com" 20 - - uses: DeterminateSystems/nix-installer-action@main 21 - - uses: DeterminateSystems/update-flake-lock@main 22 - with: 23 - token: ${{ secrets.FLAKE_UPDATE_PAT }} 24 - pr-title: "flake: update inputs" 25 - pr-assignees: alyraffauf 26 - pr-labels: |- 27 - dependencies 28 - automated 5 + - uses: actions/checkout@main 6 + with: 7 + fetch-depth: 1 8 + ref: ${{ github.head_ref }} 9 + - name: Setup Git 10 + run: |- 11 + git config --local user.name "github-actions[bot]" 12 + git config --local user.email "github-actions[bot]@users.noreply.github.com" 13 + - uses: DeterminateSystems/nix-installer-action@main 14 + - uses: DeterminateSystems/update-flake-lock@main 15 + with: 16 + pr-assignees: alyraffauf 17 + pr-labels: |- 18 + dependencies 19 + automated 20 + pr-title: 'flake: update inputs' 21 + token: ${{ secrets.FLAKE_UPDATE_PAT }} 22 + name: update-inputs 23 + 'on': 24 + schedule: 25 + - cron: 0 6 * * 2,5 26 + workflow_dispatch: {}
+1
.prettierignore
··· 1 + .github 1 2 flake.lock
+146 -27
flake.lock
··· 16 16 "type": "github" 17 17 } 18 18 }, 19 + "actions-nix": { 20 + "inputs": { 21 + "flake-parts": "flake-parts", 22 + "git-hooks": "git-hooks", 23 + "nixpkgs": "nixpkgs" 24 + }, 25 + "locked": { 26 + "lastModified": 1753483837, 27 + "narHash": "sha256-RtOPrgRIuOSLoz1hyLQTZC1PAImEX/0lNJJC3rKJ0dw=", 28 + "owner": "alyraffauf", 29 + "repo": "actions.nix", 30 + "rev": "9ecedc5f18b654a7ad273a96ee53d3e020a9a11f", 31 + "type": "github" 32 + }, 33 + "original": { 34 + "owner": "alyraffauf", 35 + "repo": "actions.nix", 36 + "type": "github" 37 + } 38 + }, 19 39 "agenix": { 20 40 "inputs": { 21 41 "darwin": "darwin", ··· 144 164 "flake-schemas": "flake-schemas", 145 165 "home-manager": "home-manager_2", 146 166 "jovian": "jovian", 147 - "nixpkgs": "nixpkgs", 167 + "nixpkgs": "nixpkgs_2", 148 168 "rust-overlay": "rust-overlay" 149 169 }, 150 170 "locked": { ··· 298 318 "type": "github" 299 319 } 300 320 }, 321 + "flake-compat_4": { 322 + "flake": false, 323 + "locked": { 324 + "lastModified": 1696426674, 325 + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", 326 + "owner": "edolstra", 327 + "repo": "flake-compat", 328 + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", 329 + "type": "github" 330 + }, 331 + "original": { 332 + "owner": "edolstra", 333 + "repo": "flake-compat", 334 + "type": "github" 335 + } 336 + }, 301 337 "flake-parts": { 302 338 "inputs": { 339 + "nixpkgs-lib": [ 340 + "actions-nix", 341 + "nixpkgs" 342 + ] 343 + }, 344 + "locked": { 345 + "lastModified": 1738453229, 346 + "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", 347 + "owner": "hercules-ci", 348 + "repo": "flake-parts", 349 + "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", 350 + "type": "github" 351 + }, 352 + "original": { 353 + "owner": "hercules-ci", 354 + "repo": "flake-parts", 355 + "type": "github" 356 + } 357 + }, 358 + "flake-parts_2": { 359 + "inputs": { 303 360 "nixpkgs-lib": "nixpkgs-lib" 304 361 }, 305 362 "locked": { ··· 316 373 "type": "github" 317 374 } 318 375 }, 319 - "flake-parts_2": { 376 + "flake-parts_3": { 320 377 "inputs": { 321 378 "nixpkgs-lib": [ 322 379 "lanzaboote", ··· 337 394 "type": "github" 338 395 } 339 396 }, 340 - "flake-parts_3": { 397 + "flake-parts_4": { 341 398 "inputs": { 342 399 "nixpkgs-lib": [ 343 400 "nur", ··· 358 415 "type": "github" 359 416 } 360 417 }, 361 - "flake-parts_4": { 418 + "flake-parts_5": { 362 419 "inputs": { 363 420 "nixpkgs-lib": "nixpkgs-lib_2" 364 421 }, ··· 376 433 "type": "github" 377 434 } 378 435 }, 379 - "flake-parts_5": { 436 + "flake-parts_6": { 380 437 "inputs": { 381 438 "nixpkgs-lib": [ 382 439 "stylix", ··· 478 535 "type": "github" 479 536 } 480 537 }, 481 - "git-hooks-nix": { 538 + "git-hooks": { 482 539 "inputs": { 483 540 "flake-compat": "flake-compat", 484 541 "gitignore": "gitignore", 485 542 "nixpkgs": [ 543 + "actions-nix", 544 + "nixpkgs" 545 + ] 546 + }, 547 + "locked": { 548 + "lastModified": 1750779888, 549 + "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", 550 + "owner": "cachix", 551 + "repo": "git-hooks.nix", 552 + "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", 553 + "type": "github" 554 + }, 555 + "original": { 556 + "owner": "cachix", 557 + "repo": "git-hooks.nix", 558 + "type": "github" 559 + } 560 + }, 561 + "git-hooks-nix": { 562 + "inputs": { 563 + "flake-compat": "flake-compat_2", 564 + "gitignore": "gitignore_2", 565 + "nixpkgs": [ 486 566 "nixpkgs" 487 567 ] 488 568 }, ··· 503 583 "gitignore": { 504 584 "inputs": { 505 585 "nixpkgs": [ 586 + "actions-nix", 587 + "git-hooks", 588 + "nixpkgs" 589 + ] 590 + }, 591 + "locked": { 592 + "lastModified": 1709087332, 593 + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", 594 + "owner": "hercules-ci", 595 + "repo": "gitignore.nix", 596 + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", 597 + "type": "github" 598 + }, 599 + "original": { 600 + "owner": "hercules-ci", 601 + "repo": "gitignore.nix", 602 + "type": "github" 603 + } 604 + }, 605 + "gitignore_2": { 606 + "inputs": { 607 + "nixpkgs": [ 506 608 "git-hooks-nix", 507 609 "nixpkgs" 508 610 ] ··· 521 623 "type": "github" 522 624 } 523 625 }, 524 - "gitignore_2": { 626 + "gitignore_3": { 525 627 "inputs": { 526 628 "nixpkgs": [ 527 629 "lanzaboote", ··· 717 819 "lanzaboote": { 718 820 "inputs": { 719 821 "crane": "crane", 720 - "flake-compat": "flake-compat_2", 721 - "flake-parts": "flake-parts_2", 822 + "flake-compat": "flake-compat_3", 823 + "flake-parts": "flake-parts_3", 722 824 "nixpkgs": [ 723 825 "nixpkgs" 724 826 ], ··· 742 844 }, 743 845 "lix": { 744 846 "inputs": { 745 - "flake-compat": "flake-compat_3", 847 + "flake-compat": "flake-compat_4", 746 848 "nix2container": "nix2container", 747 849 "nix_2_18": "nix_2_18", 748 850 "nixpkgs": [ ··· 893 995 "flake-compat" 894 996 ], 895 997 "lowdown-src": "lowdown-src", 896 - "nixpkgs": "nixpkgs_2", 998 + "nixpkgs": "nixpkgs_3", 897 999 "nixpkgs-regression": [ 898 1000 "lix", 899 1001 "nixpkgs-regression" ··· 916 1018 }, 917 1019 "nixpkgs": { 918 1020 "locked": { 919 - "lastModified": 1753250450, 920 - "narHash": "sha256-i+CQV2rPmP8wHxj0aq4siYyohHwVlsh40kV89f3nw1s=", 921 - "owner": "NixOS", 1021 + "lastModified": 1740126099, 1022 + "narHash": "sha256-ozoOtE2hGsqh4XkTJFsrTkNxkRgShxpQxDynaPZUGxk=", 1023 + "owner": "nixos", 922 1024 "repo": "nixpkgs", 923 - "rev": "fc02ee70efb805d3b2865908a13ddd4474557ecf", 1025 + "rev": "32fb99ba93fea2798be0e997ea331dd78167f814", 924 1026 "type": "github" 925 1027 }, 926 1028 "original": { 927 - "owner": "NixOS", 1029 + "owner": "nixos", 928 1030 "ref": "nixos-unstable", 929 1031 "repo": "nixpkgs", 930 1032 "type": "github" ··· 1010 1112 }, 1011 1113 "nixpkgs_2": { 1012 1114 "locked": { 1115 + "lastModified": 1753250450, 1116 + "narHash": "sha256-i+CQV2rPmP8wHxj0aq4siYyohHwVlsh40kV89f3nw1s=", 1117 + "owner": "NixOS", 1118 + "repo": "nixpkgs", 1119 + "rev": "fc02ee70efb805d3b2865908a13ddd4474557ecf", 1120 + "type": "github" 1121 + }, 1122 + "original": { 1123 + "owner": "NixOS", 1124 + "ref": "nixos-unstable", 1125 + "repo": "nixpkgs", 1126 + "type": "github" 1127 + } 1128 + }, 1129 + "nixpkgs_3": { 1130 + "locked": { 1013 1131 "lastModified": 1705033721, 1014 1132 "narHash": "sha256-K5eJHmL1/kev6WuqyqqbS1cdNnSidIZ3jeqJ7GbrYnQ=", 1015 1133 "owner": "NixOS", ··· 1024 1142 "type": "github" 1025 1143 } 1026 1144 }, 1027 - "nixpkgs_3": { 1145 + "nixpkgs_4": { 1028 1146 "locked": { 1029 1147 "lastModified": 1753250450, 1030 1148 "narHash": "sha256-i+CQV2rPmP8wHxj0aq4siYyohHwVlsh40kV89f3nw1s=", ··· 1040 1158 "type": "github" 1041 1159 } 1042 1160 }, 1043 - "nixpkgs_4": { 1161 + "nixpkgs_5": { 1044 1162 "locked": { 1045 1163 "lastModified": 1753250450, 1046 1164 "narHash": "sha256-i+CQV2rPmP8wHxj0aq4siYyohHwVlsh40kV89f3nw1s=", ··· 1056 1174 "type": "github" 1057 1175 } 1058 1176 }, 1059 - "nixpkgs_5": { 1177 + "nixpkgs_6": { 1060 1178 "locked": { 1061 1179 "lastModified": 1682134069, 1062 1180 "narHash": "sha256-TnI/ZXSmRxQDt2sjRYK/8j8iha4B4zP2cnQCZZ3vp7k=", ··· 1072 1190 }, 1073 1191 "nur": { 1074 1192 "inputs": { 1075 - "flake-parts": "flake-parts_3", 1076 - "nixpkgs": "nixpkgs_4" 1193 + "flake-parts": "flake-parts_4", 1194 + "nixpkgs": "nixpkgs_5" 1077 1195 }, 1078 1196 "locked": { 1079 1197 "lastModified": 1753424134, ··· 1116 1234 }, 1117 1235 "nynx": { 1118 1236 "inputs": { 1119 - "flake-parts": "flake-parts_4", 1237 + "flake-parts": "flake-parts_5", 1120 1238 "nixpkgs": [ 1121 1239 "nixpkgs" 1122 1240 ], ··· 1158 1276 "lanzaboote", 1159 1277 "flake-compat" 1160 1278 ], 1161 - "gitignore": "gitignore_2", 1279 + "gitignore": "gitignore_3", 1162 1280 "nixpkgs": [ 1163 1281 "lanzaboote", 1164 1282 "nixpkgs" ··· 1182 1300 "root": { 1183 1301 "inputs": { 1184 1302 "absolute": "absolute", 1303 + "actions-nix": "actions-nix", 1185 1304 "agenix": "agenix", 1186 1305 "audnexus": "audnexus", 1187 1306 "chaotic": "chaotic", 1188 1307 "disko": "disko", 1189 1308 "files": "files", 1190 - "flake-parts": "flake-parts", 1309 + "flake-parts": "flake-parts_2", 1191 1310 "git-hooks-nix": "git-hooks-nix", 1192 1311 "hama": "hama", 1193 1312 "home-manager": "home-manager_3", ··· 1198 1317 "lix-module": "lix-module", 1199 1318 "nix-darwin": "nix-darwin", 1200 1319 "nix-homebrew": "nix-homebrew", 1201 - "nixpkgs": "nixpkgs_3", 1320 + "nixpkgs": "nixpkgs_4", 1202 1321 "nixpkgs-staging-next": "nixpkgs-staging-next", 1203 1322 "nur": "nur", 1204 1323 "nynx": "nynx", ··· 1296 1415 "base16-helix": "base16-helix", 1297 1416 "base16-vim": "base16-vim", 1298 1417 "firefox-gnome-theme": "firefox-gnome-theme", 1299 - "flake-parts": "flake-parts_5", 1418 + "flake-parts": "flake-parts_6", 1300 1419 "gnome-shell": "gnome-shell", 1301 1420 "nixpkgs": [ 1302 1421 "nixpkgs" ··· 1508 1627 "vscode-server": { 1509 1628 "inputs": { 1510 1629 "flake-utils": "flake-utils_2", 1511 - "nixpkgs": "nixpkgs_5" 1630 + "nixpkgs": "nixpkgs_6" 1512 1631 }, 1513 1632 "locked": { 1514 1633 "lastModified": 1750353031,
+2 -1
flake.nix
··· 3 3 4 4 inputs = { 5 5 nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; 6 - 7 6 nixpkgs-staging-next.url = "github:NixOS/nixpkgs/staging-next"; 7 + actions-nix.url = "github:alyraffauf/actions.nix"; 8 8 9 9 agenix = { 10 10 url = "github:ryantm/agenix"; ··· 148 148 inputs.git-hooks-nix.flakeModule 149 149 inputs.home-manager.flakeModules.home-manager 150 150 inputs.treefmt-nix.flakeModule 151 + inputs.actions-nix.flakeModules.default 151 152 ]; 152 153 }; 153 154 }
+351
modules/flake/actions.nix
··· 1 + { 2 + lib, 3 + self, 4 + ... 5 + }: { 6 + flake.actions-nix = { 7 + pre-commit.enable = true; # Set to true if you want pre-commit workflow generation 8 + 9 + workflows = { 10 + # build-nix.yml 11 + ".github/workflows/build-nix.yml" = { 12 + name = "build-nix"; 13 + concurrency = { 14 + group = "\${{ github.workflow }}-\${{ github.ref }}"; 15 + cancel-in-progress = true; 16 + }; 17 + on = { 18 + push = { 19 + paths = [ 20 + "flake.lock" 21 + "flake.nix" 22 + "flake/" 23 + ]; 24 + }; 25 + workflow_dispatch = {}; 26 + }; 27 + jobs = let 28 + devShells = lib.attrNames (self.devShells.x86_64-linux or {}); 29 + packages = lib.attrNames (self.packages.x86_64-linux or {}); 30 + devShellJobs = lib.listToAttrs (map 31 + (name: { 32 + name = "build-devShell-${name}"; 33 + value = { 34 + runs-on = "ubuntu-latest"; 35 + steps = [ 36 + { 37 + uses = "actions/checkout@main"; 38 + "with" = {fetch-depth = 1;}; 39 + } 40 + {uses = "DeterminateSystems/nix-installer-action@main";} 41 + { 42 + uses = "cachix/cachix-action@master"; 43 + "with" = { 44 + name = "alyraffauf"; 45 + authToken = "\${{ secrets.CACHIX_AUTH_TOKEN }}"; 46 + }; 47 + } 48 + { 49 + name = "Build devShell ${name}"; 50 + run = "nix build --accept-flake-config --print-out-paths .#devShells.x86_64-linux.${name}"; 51 + } 52 + ]; 53 + }; 54 + }) 55 + devShells); 56 + packageJobs = lib.listToAttrs (map 57 + (name: { 58 + name = "build-package-${name}"; 59 + value = { 60 + runs-on = "ubuntu-latest"; 61 + steps = [ 62 + { 63 + uses = "actions/checkout@main"; 64 + "with" = {fetch-depth = 1;}; 65 + } 66 + {uses = "DeterminateSystems/nix-installer-action@main";} 67 + { 68 + uses = "cachix/cachix-action@master"; 69 + "with" = { 70 + name = "alyraffauf"; 71 + authToken = "\${{ secrets.CACHIX_AUTH_TOKEN }}"; 72 + }; 73 + } 74 + { 75 + name = "Build package ${name}"; 76 + run = "nix build --accept-flake-config --print-out-paths .#packages.x86_64-linux.${name}"; 77 + } 78 + ]; 79 + }; 80 + }) 81 + packages); 82 + in 83 + devShellJobs // packageJobs; 84 + }; 85 + 86 + # build-darwin.yml 87 + ".github/workflows/build-darwin.yml" = { 88 + name = "build-darwin"; 89 + concurrency = { 90 + cancel-in-progress = true; 91 + group = "\${{ github.workflow }}-\${{ github.ref }}"; 92 + }; 93 + on = { 94 + push = { 95 + paths-ignore = [ 96 + "**/*.md" 97 + ".github/**" 98 + "_img/**" 99 + ]; 100 + }; 101 + workflow_dispatch = {}; 102 + }; 103 + jobs = 104 + lib.mapAttrs' 105 + (hostname: _: { 106 + name = "build-${hostname}"; 107 + value = { 108 + runs-on = "macos-latest"; 109 + steps = [ 110 + { 111 + name = "Checkout"; 112 + uses = "actions/checkout@main"; 113 + "with" = {fetch-depth = 1;}; 114 + } 115 + { 116 + name = "Install Nix"; 117 + uses = "DeterminateSystems/nix-installer-action@main"; 118 + } 119 + { 120 + name = "Cachix"; 121 + uses = "cachix/cachix-action@master"; 122 + "with" = { 123 + name = "alyraffauf"; 124 + authToken = "\${{ secrets.CACHIX_AUTH_TOKEN }}"; 125 + }; 126 + } 127 + { 128 + name = "Build ${hostname}"; 129 + run = "nix build --accept-flake-config --print-out-paths .#darwinConfigurations.${hostname}.config.system.build.toplevel"; 130 + } 131 + ]; 132 + }; 133 + }) 134 + self.darwinConfigurations; 135 + }; 136 + 137 + # build-nixos.yml 138 + ".github/workflows/build-nixos.yml" = { 139 + name = "build-nixos"; 140 + concurrency = { 141 + cancel-in-progress = true; 142 + group = "\${{ github.workflow }}-\${{ github.ref }}"; 143 + }; 144 + on = { 145 + push = { 146 + paths-ignore = [ 147 + "**/*.md" 148 + ".github/**" 149 + "_img/**" 150 + ]; 151 + }; 152 + workflow_dispatch = {}; 153 + }; 154 + jobs = 155 + lib.mapAttrs' 156 + (hostname: _: { 157 + name = "build-${hostname}"; 158 + value = { 159 + runs-on = "ubuntu-latest"; 160 + steps = [ 161 + { 162 + name = "Free Disk Space (Ubuntu)"; 163 + uses = "jlumbroso/free-disk-space@main"; 164 + } 165 + { 166 + name = "Checkout"; 167 + uses = "actions/checkout@main"; 168 + "with" = {fetch-depth = 1;}; 169 + } 170 + { 171 + name = "Install Nix"; 172 + uses = "DeterminateSystems/nix-installer-action@main"; 173 + } 174 + { 175 + name = "Cachix"; 176 + uses = "cachix/cachix-action@master"; 177 + "with" = { 178 + name = "alyraffauf"; 179 + authToken = "\${{ secrets.CACHIX_AUTH_TOKEN }}"; 180 + }; 181 + } 182 + { 183 + name = "Build ${hostname}"; 184 + run = "nix build --accept-flake-config --print-out-paths .#nixosConfigurations.${hostname}.config.system.build.toplevel"; 185 + } 186 + ]; 187 + }; 188 + }) 189 + self.nixosConfigurations; 190 + }; 191 + 192 + # check-nix.yml 193 + ".github/workflows/check-nix.yml" = { 194 + name = "check-nix"; 195 + concurrency = { 196 + cancel-in-progress = true; 197 + group = "\${{ github.workflow }}-\${{ github.ref }}"; 198 + }; 199 + on = { 200 + push = { 201 + paths-ignore = [ 202 + "**/*.md" 203 + ".github/**" 204 + "_img/**" 205 + ]; 206 + }; 207 + workflow_dispatch = {}; 208 + }; 209 + jobs = { 210 + check-flake = { 211 + runs-on = "ubuntu-latest"; 212 + steps = [ 213 + { 214 + uses = "actions/checkout@main"; 215 + "with" = {fetch-depth = 1;}; 216 + } 217 + {uses = "DeterminateSystems/nix-installer-action@main";} 218 + { 219 + name = "Check flake evaluation"; 220 + run = "nix -Lv flake check --all-systems"; 221 + } 222 + ]; 223 + }; 224 + }; 225 + }; 226 + 227 + # deploy-tailscale-acls.yml 228 + ".github/workflows/deploy-tailscale-acls.yml" = { 229 + name = "deploy-tailscale-acls"; 230 + on = { 231 + push = { 232 + branches = ["master"]; 233 + paths = [ 234 + ".github/workflows/deploy-tailscale-acls.yml" 235 + "flake/tailscale.nix" 236 + ]; 237 + }; 238 + pull_request = { 239 + branches = ["master"]; 240 + paths = [ 241 + ".github/workflows/deploy-tailscale-acls.yml" 242 + "flake/tailscale.nix" 243 + ]; 244 + }; 245 + workflow_dispatch = { 246 + inputs = { 247 + action = { 248 + description = "Which action to run"; 249 + required = true; 250 + type = "choice"; 251 + default = "deploy"; 252 + options = ["deploy" "test"]; 253 + }; 254 + }; 255 + }; 256 + }; 257 + jobs = { 258 + acls = { 259 + runs-on = "ubuntu-latest"; 260 + steps = [ 261 + { 262 + uses = "actions/checkout@main"; 263 + "with" = {fetch-depth = 1;}; 264 + } 265 + {uses = "DeterminateSystems/nix-installer-action@main";} 266 + { 267 + name = "Convert .#tailscaleACLs to tailscale.json"; 268 + run = "nix eval --json .#tailscaleACLs > tailscale.json"; 269 + } 270 + { 271 + name = "Deploy ACL"; 272 + "if" = '' 273 + github.event_name == 'push' || 274 + (github.event_name == 'workflow_dispatch' && 275 + github.event.inputs.action == 'deploy') 276 + ''; 277 + uses = "tailscale/gitops-acl-action@v1"; 278 + "with" = { 279 + api-key = "\${{ secrets.TS_API_KEY }}"; 280 + tailnet = "alyraffauf.github"; 281 + policy-file = "tailscale.json"; 282 + action = "apply"; 283 + }; 284 + } 285 + { 286 + name = "Test ACL"; 287 + "if" = '' 288 + github.event_name == 'pull_request' || 289 + (github.event_name == 'workflow_dispatch' && 290 + github.event.inputs.action == 'test') 291 + ''; 292 + uses = "tailscale/gitops-acl-action@v1"; 293 + "with" = { 294 + api-key = "\${{ secrets.TS_API_KEY }}"; 295 + tailnet = "alyraffauf.github"; 296 + policy-file = "tailscale.json"; 297 + action = "test"; 298 + }; 299 + } 300 + ]; 301 + }; 302 + }; 303 + }; 304 + 305 + # update-inputs.yml 306 + ".github/workflows/update-inputs.yml" = { 307 + name = "update-inputs"; 308 + on = { 309 + schedule = [ 310 + {cron = "0 6 * * 2,5";} 311 + ]; 312 + workflow_dispatch = {}; 313 + }; 314 + jobs = { 315 + update-flake-lock = { 316 + runs-on = "ubuntu-latest"; 317 + steps = [ 318 + { 319 + uses = "actions/checkout@main"; 320 + "with" = { 321 + ref = "\${{ github.head_ref }}"; 322 + fetch-depth = 1; 323 + }; 324 + } 325 + { 326 + name = "Setup Git"; 327 + run = '' 328 + git config --local user.name "github-actions[bot]" 329 + git config --local user.email "github-actions[bot]@users.noreply.github.com" 330 + ''; 331 + } 332 + {uses = "DeterminateSystems/nix-installer-action@main";} 333 + { 334 + uses = "DeterminateSystems/update-flake-lock@main"; 335 + "with" = { 336 + token = "\${{ secrets.FLAKE_UPDATE_PAT }}"; 337 + pr-title = "flake: update inputs"; 338 + pr-assignees = "alyraffauf"; 339 + pr-labels = '' 340 + dependencies 341 + automated 342 + ''; 343 + }; 344 + } 345 + ]; 346 + }; 347 + }; 348 + }; 349 + }; 350 + }; 351 + }
+2 -1
modules/flake/default.nix
··· 1 1 { 2 2 imports = [ 3 + ./actions.nix 3 4 ./darwin.nix 4 5 ./devShells.nix 5 - ./editors 6 + ./files 6 7 ./git-hooks-nix.nix 7 8 ./home-manager.nix 8 9 ./nixos.nix
+1
modules/flake/editors/default.nix modules/flake/files/default.nix
··· 1 1 { 2 2 imports = [ 3 + # ./ci 3 4 ./helix.nix 4 5 ./vscode.nix 5 6 ./zed.nix
modules/flake/editors/helix.nix modules/flake/files/helix.nix
modules/flake/editors/vscode.nix modules/flake/files/vscode.nix
modules/flake/editors/zed.nix modules/flake/files/zed.nix