Skip to content

Instantly share code, notes, and snippets.

View jamieastley's full-sized avatar
Working from home

jamieastley

Working from home
View GitHub Profile
@jamieastley
jamieastley / traefik.yaml
Created February 7, 2026 06:02 — forked from birkanozer/traefik.yaml
Valheim Docker + Traefik
version: '3.8'
services:
traefik:
image: traefik:latest
restart: always
environment:
- DO_AUTH_TOKEN=/run/secrets/do_auth_token_ro
ports:
- target: 80 # <== http
@jamieastley
jamieastley / vnv-steamos-guide.md
Created January 10, 2026 02:53 — forked from ashtonqlb/vnv-steamos-guide.md
Viva New Vegas on SteamOS installation guide

Intro & Disclaimers

Important

I am a bit of a madman and already rewrote this entire thing again, and it outgrew the format of this Gist. If you want to go check out the latest version of this guide, check out my repository here

This guide will help guide you the installation of Fallout: New Vegas, Mod Organizer 2 and Viva New Vegas on your SteamOS 3 device.

Before we begin, please take the time to read the following disclaimers.

This guide assumes you have completed the following prerequisites.

title:[object Object]s wishlist
// Vision of Confluence (Timelost) - Vision of Confluence - PvE (pve,mnk)
//notes: tags:pve,mnk
dimwishlist:item=337578911&perks=1482024992,3142289711,4293542123,3824105627
dimwishlist:item=337578911&perks=1482024992,3142289711,4293542123,3038247973
dimwishlist:item=337578911&perks=1482024992,3142289711,3017780555,3824105627
dimwishlist:item=337578911&perks=1482024992,3142289711,3017780555,3038247973
@jamieastley
jamieastley / build.gradle
Created January 17, 2024 05:53
Use dart-defines in app/build.gradle
def dartEnvironmentVariables = [
MY_KEY: ''
];
if (project.hasProperty('dart-defines')) {
dartEnvironmentVariables = dartEnvironmentVariables + project.property('dart-defines')
.split(',')
.collectEntries { entry ->
def pair = new String(entry.decodeBase64(), 'UTF-8').split('=')
[(pair.first()): pair.last()]
@jamieastley
jamieastley / main.dart
Created September 5, 2023 04:53
Dropdown example
import 'package:flutter/material.dart';
// change '20' to item count you want to test behaviour
final List<String> list = List.generate(20, (i) => '$i');
void main() => runApp(const DropdownMenuApp());
class DropdownMenuApp extends StatelessWidget {
const DropdownMenuApp({super.key});
@jamieastley
jamieastley / Build Runner --delete-conflicting.run.xml
Created August 23, 2023 05:09
IntelliJ build_runner task for Dart/Flutter
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Build Runner --delete-conflicting" type="ShConfigurationType">
<option name="SCRIPT_TEXT" value="flutter pub run build_runner build --delete-conflicting-outputs" />
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
<option name="SCRIPT_PATH" value="" />
<option name="SCRIPT_OPTIONS" value="" />
<option name="INDEPENDENT_SCRIPT_WORKING_DIRECTORY" value="true" />
<option name="SCRIPT_WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="INDEPENDENT_INTERPRETER_PATH" value="true" />
<option name="INTERPRETER_PATH" value="/bin/zsh" />
void main() {
final items = ['one', 'two', 'three'];
print(items.join(', '));
}
@jamieastley
jamieastley / main.dart
Created November 3, 2022 04:33
Fold comparison
void main() {
final items = [['one', 'two', 'three'], ['one', 'two']];
final currentImpl = [
...{for (var list in items) ...list ?? []}
];
print(currentImpl);
final folded = items.fold<List<String>>( <String>[], (previousLineItems, lineItem) => previousLineItems..addAll(lineItem!));
@jamieastley
jamieastley / main.dart
Last active September 24, 2021 04:25
AnimatedCrossFade
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
@jamieastley
jamieastley / main.dart
Last active September 24, 2021 04:23
Expandable container
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(