Compare commits
2 Commits
f08d128859
...
e3f99b745d
| Author | SHA1 | Date | |
|---|---|---|---|
| e3f99b745d | |||
| 51cdc66c48 |
65
.gitea/workflows/build.yml
Normal file
65
.gitea/workflows/build.yml
Normal 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
|
||||
16
README.org
16
README.org
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user