Compare commits

...

2 Commits

Author SHA1 Message Date
e3f99b745d wip: ci
Some checks failed
Build and populate cache / tests (nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz) (pull_request) Failing after 6s
2026-03-19 15:01:52 -06:00
51cdc66c48 chore: readme 2026-03-19 15:01:47 -06:00
2 changed files with 69 additions and 12 deletions

View File

@@ -0,0 +1,65 @@
name: "Build and populate cache"
on:
pull_request:
push:
branches:
- main
- master
schedule:
# rebuild everyday at 2:51
# TIP: Choose a random time here so not all repositories are build at once:
# https://www.random.org/clock-times/?num=1&earliest=01%3A00&latest=08%3A00&interval=5&format=html&rnd=new
- cron: '55 3 * * *'
workflow_dispatch:
jobs:
tests:
strategy:
matrix:
# Set this to cache your build results in cachix for faster builds
# in CI and for everyone who uses your cache.
#
# Format: Your cachix cache host name without the ".cachix.org" suffix.
# Example: mycache (for mycache.cachix.org)
#
# For this to work, you also need to set the CACHIX_SIGNING_KEY or
# CACHIX_AUTH_TOKEN secret in your repository secrets settings in
# Github found at
# https://github.com/<your_githubname>/nur-packages/settings/secrets
# cachixName:
# - sydpkgs
nixPath:
- nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz
# - nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-unstable.tar.gz
# - nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-24.05.tar.gz
runs-on: nixos
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install nix
uses: cachix/install-nix-action@v31
with:
nix_path: "${{ matrix.nixPath }}"
extra_nix_config: |
experimental-features = nix-command flakes
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
- name: Show nixpkgs version
run: nix-instantiate --eval -E '(import <nixpkgs> {}).lib.version'
# - name: Setup cachix
# uses: cachix/cachix-action@v15
# # Don't replace <YOUR_CACHIX_NAME> here!
# if: ${{ matrix.cachixName != '<YOUR_CACHIX_NAME>' }}
# with:
# name: ${{ matrix.cachixName }}
# signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
# authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- name: Check evaluation
run: |
nix-env -f . -qa \* --meta --xml \
--allowed-uris https://static.rust-lang.org \
--option restrict-eval true \
--option allow-import-from-derivation true \
--drv-path --show-trace \
-I nixpkgs=$(nix-instantiate --find-file nixpkgs) \
-I $PWD
- name: Build nix packages
run: nix shell -f '<nixpkgs>' nix-build-uncached -c nix-build-uncached ci.nix -A cacheOutputs

View File

@@ -7,19 +7,19 @@ For the practical purposes including easy deployment and version-tracking, as we
* Disclaimers
** This is an alpha status project
** This is a young project
At the moment, this project should mostly be considered a proof of concept. It is usable, I am using it, but it is pretty bare-bones. I hope to gradually expand this project anon. More packages, modules, all the Nix goodness we're accustomed to.
Further, I'm not the most experienced Nix user. Expect bad code and unidiomatic interfaces. I encourage you to point out said bad code if you spot it. }:)
** TF2 is a radioactive zigzagging target
** TF2 is an unpredictable target
In my experience, TF2 and Valve software in general [[https://github.com/DeerUwU/deerhud-tf2/pull/15][react]] [[https://github.com/flathub/com.valvesoftware.Steam/issues/1218][very]] [[https://github.com/nix-community/impermanence/issues/165#issuecomment-2529954063][dramatically]][fn:2][fn:3] when prodded with even slightly unorthodox setups. Brace yourself before updating TF2, and never be afraid to open an issue here.
* FAQ (Frequently-anticipated questions)
* FAQ (a Few Anticipated Questions)
** How make [[https://github.com/nix-community/impermanence][Impermanence]] work?
** How to make [[https://github.com/nix-community/impermanence][Impermanence]] work?
See [[https://github.com/nix-community/impermanence/issues/165#issuecomment-2537723929][nix-community/impermanence#165]]:
@@ -37,10 +37,7 @@ tf2-nix is dead simple. No modules of any variety are provided (at this point in
** TL;DR
*** As a flake
Bring in the input, and build your TF2 config as a package:
#+begin_src nix
{
inputs = {
@@ -78,9 +75,7 @@ Bring in the input, and build your TF2 config as a package:
};
}
#+end_src
You can then install your configuration into TF2's =tf= directory:
#+begin_src nix
### home.nix
let
@@ -93,17 +88,14 @@ You can then install your configuration into TF2's =tf= directory:
};
}
#+end_src
Rebuild your system, and rejoice!
** Example Flake
Try out the example flake:
#+begin_example
$ nix build 'gitlab:msyds/tf2-nix?dir=example'
#+end_example
The resulting config can then be explored in =./result/=.
** Library