Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1cfde67609 | |||
| 1e7842e71a |
@@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"recommendations": [
|
|
||||||
"paisleysoftworks.renpywarp",
|
|
||||||
"luquedaniel.languague-renpy",
|
|
||||||
"jnoortheen.nix-ide"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
[soupclown1]
|
|
||||||
root@187.77.193.76
|
|
||||||
|
|
||||||
[pt1]
|
|
||||||
dietpi@192.168.68.54
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
---
|
|
||||||
- hosts: pt1
|
|
||||||
become: yes
|
|
||||||
roles:
|
|
||||||
- dietpi
|
|
||||||
vars:
|
|
||||||
radios:
|
|
||||||
B407:
|
|
||||||
name: B407
|
|
||||||
serialpath: /dev/serial/by-id/usb-1a86_USB_Single_Serial_54FC052298-if00
|
|
||||||
5678:
|
|
||||||
name: 5678
|
|
||||||
serialpath: /dev/serial/by-id/usb-1a86_USB_Single_Serial_54F7017826-if00
|
|
||||||
D77E:
|
|
||||||
name: D77E
|
|
||||||
serialpath: /dev/serial/by-id/usb-1a86_USB_Single_Serial_54F7017033-if00
|
|
||||||
XXXX:
|
|
||||||
enabled: "no"
|
|
||||||
name: XXXX
|
|
||||||
serialpath: /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0
|
|
||||||
|
|
||||||
# C123:
|
|
||||||
# name: C123
|
|
||||||
# serialpath: /dev/ttyACM1
|
|
||||||
# frequency: 915000000
|
|
||||||
# bandwidth: 125000
|
|
||||||
# txpower: 14
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
- name: Install pyenv
|
|
||||||
import_tasks: pyenv.yaml
|
|
||||||
|
|
||||||
- name: Install Reticulum Network Stack (RNS)
|
|
||||||
import_tasks: rns.yaml
|
|
||||||
|
|
||||||
- name: Install nomadnet (lxmf message daemon)
|
|
||||||
import_tasks: nomadnet.yaml
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Create systemd service for nomadnet
|
|
||||||
copy:
|
|
||||||
dest: /etc/systemd/system/nomadnet.service
|
|
||||||
content: |
|
|
||||||
[Unit]
|
|
||||||
Description=Nomadnet Daemon
|
|
||||||
After=multi-user.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=simple
|
|
||||||
Restart=always
|
|
||||||
RestartSec=3
|
|
||||||
User=root
|
|
||||||
ExecStart=nomadnet -d
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
|
|
||||||
- name: Reload systemd
|
|
||||||
systemd:
|
|
||||||
daemon_reload: yes
|
|
||||||
|
|
||||||
- name: Start nomadnet service after config update
|
|
||||||
systemd:
|
|
||||||
name: nomadnet.service
|
|
||||||
enabled: yes
|
|
||||||
state: started
|
|
||||||
@@ -1,59 +0,0 @@
|
|||||||
- name: Install build environment
|
|
||||||
become: true
|
|
||||||
apt:
|
|
||||||
update_cache: true
|
|
||||||
cache_valid_time: 3600
|
|
||||||
pkg:
|
|
||||||
- git
|
|
||||||
- build-essential
|
|
||||||
- libssl-dev
|
|
||||||
- zlib1g-dev
|
|
||||||
- libbz2-dev
|
|
||||||
- libreadline-dev
|
|
||||||
- libsqlite3-dev
|
|
||||||
- curl
|
|
||||||
- libncursesw5-dev
|
|
||||||
- xz-utils
|
|
||||||
- tk-dev
|
|
||||||
- libxml2-dev
|
|
||||||
- libxmlsec1-dev
|
|
||||||
- libffi-dev
|
|
||||||
- liblzma-dev
|
|
||||||
- python3-pip
|
|
||||||
- python3-venv
|
|
||||||
|
|
||||||
- name: Check if pyenv is installed
|
|
||||||
stat:
|
|
||||||
path: /root/.pyenv
|
|
||||||
register: pyenv_installed
|
|
||||||
|
|
||||||
- name: Download pyenv install script
|
|
||||||
get_url:
|
|
||||||
url: https://pyenv.run
|
|
||||||
dest: /tmp/install_pyenv.sh
|
|
||||||
mode: 0755
|
|
||||||
when: not pyenv_installed.stat.exists
|
|
||||||
|
|
||||||
- name: Run install script
|
|
||||||
shell: /tmp/install_pyenv.sh
|
|
||||||
when: not pyenv_installed.stat.exists
|
|
||||||
|
|
||||||
- name: Add pyenv to .bashrc
|
|
||||||
blockinfile:
|
|
||||||
dest: "/home/dietpi/.bashrc"
|
|
||||||
block: |
|
|
||||||
export PYENV_ROOT="$HOME/.pyenv"
|
|
||||||
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
|
|
||||||
eval "$(pyenv init -)"
|
|
||||||
marker: '# {mark} ANSIBLE MANAGED BLOCK - pyenv'
|
|
||||||
create: yes
|
|
||||||
|
|
||||||
- name: Add pyenv to .profile
|
|
||||||
blockinfile:
|
|
||||||
dest: "/home/dietpi/.profile"
|
|
||||||
block: |
|
|
||||||
export PYENV_ROOT="$HOME/.pyenv"
|
|
||||||
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
|
|
||||||
eval "$(pyenv init -)"
|
|
||||||
marker: '# {mark} ANSIBLE MANAGED BLOCK - pyenv'
|
|
||||||
create: yes
|
|
||||||
@@ -1,93 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Install the rns package
|
|
||||||
ansible.builtin.pip:
|
|
||||||
name: rns
|
|
||||||
state: present
|
|
||||||
break_system_packages: yes
|
|
||||||
|
|
||||||
- name: Install the lxmf package
|
|
||||||
ansible.builtin.pip:
|
|
||||||
name: lxmf
|
|
||||||
state: present
|
|
||||||
break_system_packages: yes
|
|
||||||
|
|
||||||
- name: Install the nomadnet package
|
|
||||||
ansible.builtin.pip:
|
|
||||||
name: nomadnet
|
|
||||||
state: present
|
|
||||||
break_system_packages: yes
|
|
||||||
|
|
||||||
- name: Create systemd service for rns
|
|
||||||
copy:
|
|
||||||
dest: /etc/systemd/system/rns.service
|
|
||||||
content: |
|
|
||||||
[Unit]
|
|
||||||
Description=Reticulum Network Stack Daemon
|
|
||||||
After=multi-user.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=simple
|
|
||||||
Restart=always
|
|
||||||
RestartSec=3
|
|
||||||
User=root
|
|
||||||
ExecStart=rnsd --service
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
|
|
||||||
- name: Reload systemd
|
|
||||||
systemd:
|
|
||||||
daemon_reload: yes
|
|
||||||
|
|
||||||
- name: Ensure rns service is configured
|
|
||||||
systemd:
|
|
||||||
name: rns.service
|
|
||||||
enabled: yes
|
|
||||||
state: stopped
|
|
||||||
|
|
||||||
- name: Ensure Reticulum config directory exists
|
|
||||||
file:
|
|
||||||
path: /root/.reticulum
|
|
||||||
state: directory
|
|
||||||
mode: "0755"
|
|
||||||
|
|
||||||
- name: Deploy rns configuration file (using block for friendly file updates)
|
|
||||||
copy:
|
|
||||||
dest: /root/.reticulum/config
|
|
||||||
content: |
|
|
||||||
[reticulum]
|
|
||||||
enable_transport = Yes
|
|
||||||
share_instance = Yes
|
|
||||||
instance_name = {{ansible_hostname}}
|
|
||||||
discover_interfaces = Yes
|
|
||||||
panic_on_interface_error = No
|
|
||||||
respond_to_probes = Yes
|
|
||||||
|
|
||||||
[logging]
|
|
||||||
loglevel = 6
|
|
||||||
|
|
||||||
[interfaces]
|
|
||||||
|
|
||||||
[[Default Interface]]
|
|
||||||
type = AutoInterface
|
|
||||||
enabled = Yes
|
|
||||||
{% for key, radio in radios.items() %}
|
|
||||||
|
|
||||||
[[RNode LoRa {{radio.name}}]]
|
|
||||||
type = RNodeInterface
|
|
||||||
enabled = {{ radio.enabled | default('yes') }}
|
|
||||||
port = {{ radio.serialpath | default('/dev/ttyACM0') }}
|
|
||||||
frequency = {{ radio.frequency | default(915000000) }}
|
|
||||||
bandwidth = {{ radio.bandwidth | default(125000) }}
|
|
||||||
txpower = {{ radio.txpower | default(7) }}
|
|
||||||
spreadingfactor = {{ radio.spreadingfactor | default(8) }}
|
|
||||||
codingrate = {{ radio.codingrate | default(5) }}
|
|
||||||
id_callsign = {{ radio.name | default(key) }}
|
|
||||||
id_interval = {{ radio.id_interval | default(600) }}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
- name: Start rns service after config update
|
|
||||||
systemd:
|
|
||||||
name: rns.service
|
|
||||||
enabled: yes
|
|
||||||
state: started
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
# compiled output
|
|
||||||
/dist
|
|
||||||
/node_modules
|
|
||||||
/build
|
|
||||||
|
|
||||||
# Logs
|
|
||||||
logs
|
|
||||||
*.log
|
|
||||||
npm-debug.log*
|
|
||||||
pnpm-debug.log*
|
|
||||||
yarn-debug.log*
|
|
||||||
yarn-error.log*
|
|
||||||
lerna-debug.log*
|
|
||||||
|
|
||||||
# OS
|
|
||||||
.DS_Store
|
|
||||||
|
|
||||||
# Tests
|
|
||||||
/coverage
|
|
||||||
/.nyc_output
|
|
||||||
|
|
||||||
# IDEs and editors
|
|
||||||
/.idea
|
|
||||||
.project
|
|
||||||
.classpath
|
|
||||||
.c9/
|
|
||||||
*.launch
|
|
||||||
.settings/
|
|
||||||
*.sublime-workspace
|
|
||||||
|
|
||||||
# IDE - VSCode
|
|
||||||
.vscode/*
|
|
||||||
!.vscode/settings.json
|
|
||||||
!.vscode/tasks.json
|
|
||||||
!.vscode/launch.json
|
|
||||||
!.vscode/extensions.json
|
|
||||||
|
|
||||||
# dotenv environment variable files
|
|
||||||
.env
|
|
||||||
.env.development.local
|
|
||||||
.env.test.local
|
|
||||||
.env.production.local
|
|
||||||
.env.local
|
|
||||||
|
|
||||||
# temp directory
|
|
||||||
.temp
|
|
||||||
.tmp
|
|
||||||
|
|
||||||
# Runtime data
|
|
||||||
pids
|
|
||||||
*.pid
|
|
||||||
*.seed
|
|
||||||
*.pid.lock
|
|
||||||
|
|
||||||
# Diagnostic reports (https://nodejs.org/api/report.html)
|
|
||||||
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"singleQuote": true,
|
|
||||||
"trailingComma": "all"
|
|
||||||
}
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
// @ts-check
|
|
||||||
import eslint from '@eslint/js';
|
|
||||||
import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended';
|
|
||||||
import globals from 'globals';
|
|
||||||
import tseslint from 'typescript-eslint';
|
|
||||||
|
|
||||||
export default tseslint.config(
|
|
||||||
{
|
|
||||||
ignores: ['eslint.config.mjs'],
|
|
||||||
},
|
|
||||||
eslint.configs.recommended,
|
|
||||||
...tseslint.configs.recommendedTypeChecked,
|
|
||||||
eslintPluginPrettierRecommended,
|
|
||||||
{
|
|
||||||
languageOptions: {
|
|
||||||
globals: {
|
|
||||||
...globals.node,
|
|
||||||
...globals.jest,
|
|
||||||
},
|
|
||||||
sourceType: 'commonjs',
|
|
||||||
parserOptions: {
|
|
||||||
projectService: true,
|
|
||||||
tsconfigRootDir: import.meta.dirname,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
rules: {
|
|
||||||
'@typescript-eslint/no-explicit-any': 'off',
|
|
||||||
'@typescript-eslint/no-floating-promises': 'warn',
|
|
||||||
'@typescript-eslint/no-unsafe-argument': 'warn',
|
|
||||||
"prettier/prettier": ["error", { endOfLine: "auto" }],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
);
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "https://json.schemastore.org/nest-cli",
|
|
||||||
"collection": "@nestjs/schematics",
|
|
||||||
"sourceRoot": "src",
|
|
||||||
"compilerOptions": {
|
|
||||||
"deleteOutDir": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,73 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "core",
|
|
||||||
"version": "0.0.1",
|
|
||||||
"description": "",
|
|
||||||
"author": "",
|
|
||||||
"private": true,
|
|
||||||
"license": "UNLICENSED",
|
|
||||||
"scripts": {
|
|
||||||
"build": "nest build",
|
|
||||||
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
|
|
||||||
"start": "nest start",
|
|
||||||
"start:dev": "nest start --watch",
|
|
||||||
"start:debug": "nest start --debug --watch",
|
|
||||||
"start:prod": "node dist/main",
|
|
||||||
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
|
|
||||||
"test": "jest",
|
|
||||||
"test:watch": "jest --watch",
|
|
||||||
"test:cov": "jest --coverage",
|
|
||||||
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
|
|
||||||
"test:e2e": "jest --config ./test/jest-e2e.json"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"@nestjs/common": "^11.0.1",
|
|
||||||
"@nestjs/core": "^11.0.1",
|
|
||||||
"@nestjs/platform-express": "^11.0.1",
|
|
||||||
"@nestjs/platform-socket.io": "^11.1.19",
|
|
||||||
"@nestjs/websockets": "^11.1.19",
|
|
||||||
"reflect-metadata": "^0.2.2",
|
|
||||||
"rxjs": "^7.8.1"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@eslint/eslintrc": "^3.2.0",
|
|
||||||
"@eslint/js": "^9.18.0",
|
|
||||||
"@nestjs/cli": "^11.0.0",
|
|
||||||
"@nestjs/schematics": "^11.0.0",
|
|
||||||
"@nestjs/testing": "^11.0.1",
|
|
||||||
"@types/express": "^5.0.0",
|
|
||||||
"@types/jest": "^30.0.0",
|
|
||||||
"@types/node": "^24.0.0",
|
|
||||||
"@types/supertest": "^7.0.0",
|
|
||||||
"eslint": "^9.18.0",
|
|
||||||
"eslint-config-prettier": "^10.0.1",
|
|
||||||
"eslint-plugin-prettier": "^5.2.2",
|
|
||||||
"globals": "^17.0.0",
|
|
||||||
"jest": "^30.0.0",
|
|
||||||
"prettier": "^3.4.2",
|
|
||||||
"source-map-support": "^0.5.21",
|
|
||||||
"supertest": "^7.0.0",
|
|
||||||
"ts-jest": "^29.2.5",
|
|
||||||
"ts-loader": "^9.5.2",
|
|
||||||
"ts-node": "^10.9.2",
|
|
||||||
"tsconfig-paths": "^4.2.0",
|
|
||||||
"typescript": "^5.7.3",
|
|
||||||
"typescript-eslint": "^8.20.0"
|
|
||||||
},
|
|
||||||
"jest": {
|
|
||||||
"moduleFileExtensions": [
|
|
||||||
"js",
|
|
||||||
"json",
|
|
||||||
"ts"
|
|
||||||
],
|
|
||||||
"rootDir": "src",
|
|
||||||
"testRegex": ".*\\.spec\\.ts$",
|
|
||||||
"transform": {
|
|
||||||
"^.+\\.(t|j)s$": "ts-jest"
|
|
||||||
},
|
|
||||||
"collectCoverageFrom": [
|
|
||||||
"**/*.(t|j)s"
|
|
||||||
],
|
|
||||||
"coverageDirectory": "../coverage",
|
|
||||||
"testEnvironment": "node"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
import { Module } from '@nestjs/common';
|
|
||||||
import { AppService } from './app.service';
|
|
||||||
import { BackupModule } from './backup/backup.module';
|
|
||||||
|
|
||||||
@Module({
|
|
||||||
imports: [BackupModule],
|
|
||||||
controllers: [],
|
|
||||||
providers: [AppService],
|
|
||||||
})
|
|
||||||
export class AppModule {}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
import { Injectable } from '@nestjs/common';
|
|
||||||
|
|
||||||
@Injectable()
|
|
||||||
export class AppService {
|
|
||||||
getHello(): string {
|
|
||||||
return 'Hello World!';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
import {
|
|
||||||
MessageBody,
|
|
||||||
SubscribeMessage,
|
|
||||||
WebSocketGateway,
|
|
||||||
WebSocketServer,
|
|
||||||
WsResponse,
|
|
||||||
} from '@nestjs/websockets';
|
|
||||||
import { from, Observable } from 'rxjs';
|
|
||||||
import { map } from 'rxjs/operators';
|
|
||||||
import { Server } from 'socket.io';
|
|
||||||
|
|
||||||
@WebSocketGateway({
|
|
||||||
cors: {
|
|
||||||
origin: '*',
|
|
||||||
},
|
|
||||||
})
|
|
||||||
export class BackupGateway {
|
|
||||||
@WebSocketServer()
|
|
||||||
server: Server;
|
|
||||||
|
|
||||||
@SubscribeMessage('events')
|
|
||||||
findAll(@MessageBody() data: any): Observable<WsResponse<number>> {
|
|
||||||
return from([1, 2, 3]).pipe(map(item => ({ event: 'events', data: item })));
|
|
||||||
}
|
|
||||||
|
|
||||||
@SubscribeMessage('identity')
|
|
||||||
async identity(@MessageBody() data: number): Promise<number> {
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
import { Module } from '@nestjs/common';
|
|
||||||
import { BackupGateway } from './backup.gateway';
|
|
||||||
|
|
||||||
@Module({
|
|
||||||
imports: [],
|
|
||||||
controllers: [],
|
|
||||||
providers: [BackupGateway],
|
|
||||||
})
|
|
||||||
export class BackupModule {}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
import { NestFactory } from '@nestjs/core';
|
|
||||||
import { AppModule } from './app.module';
|
|
||||||
|
|
||||||
async function bootstrap() {
|
|
||||||
const app = await NestFactory.create(AppModule);
|
|
||||||
await app.listen(process.env.PORT ?? 3000);
|
|
||||||
}
|
|
||||||
bootstrap();
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"extends": "./tsconfig.json",
|
|
||||||
"exclude": ["node_modules", "test", "dist", "**/*spec.ts"]
|
|
||||||
}
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
{
|
|
||||||
"compilerOptions": {
|
|
||||||
"module": "nodenext",
|
|
||||||
"moduleResolution": "nodenext",
|
|
||||||
"resolvePackageJsonExports": true,
|
|
||||||
"esModuleInterop": true,
|
|
||||||
"isolatedModules": true,
|
|
||||||
"declaration": true,
|
|
||||||
"removeComments": true,
|
|
||||||
"emitDecoratorMetadata": true,
|
|
||||||
"experimentalDecorators": true,
|
|
||||||
"allowSyntheticDefaultImports": true,
|
|
||||||
"target": "ES2023",
|
|
||||||
"sourceMap": true,
|
|
||||||
"outDir": "./dist",
|
|
||||||
"baseUrl": "./",
|
|
||||||
"incremental": true,
|
|
||||||
"skipLibCheck": true,
|
|
||||||
"strictNullChecks": true,
|
|
||||||
"forceConsistentCasingInFileNames": true,
|
|
||||||
"noImplicitAny": false,
|
|
||||||
"strictBindCallApply": false,
|
|
||||||
"noFallthroughCasesInSwitch": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,23 +1,5 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"flake-parts": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1775087534,
|
|
||||||
"narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -39,21 +21,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"import-tree": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1773693634,
|
|
||||||
"narHash": "sha256-BtZ2dtkBdSUnFPPFc+n0kcMbgaTxzFNPv2iaO326Ffg=",
|
|
||||||
"owner": "vic",
|
|
||||||
"repo": "import-tree",
|
|
||||||
"rev": "c41e7d58045f9057880b0d85e1152d6a4430dbf1",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "vic",
|
|
||||||
"repo": "import-tree",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773533765,
|
"lastModified": 1773533765,
|
||||||
@@ -86,26 +53,9 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-lib": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1774748309,
|
|
||||||
"narHash": "sha256-+U7gF3qxzwD5TZuANzZPeJTZRHS29OFQgkQ2kiTJBIQ=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "nixpkgs.lib",
|
|
||||||
"rev": "333c4e0545a6da976206c74db8773a1645b5870a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "nixpkgs.lib",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts",
|
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"import-tree": "import-tree",
|
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,8 +4,6 @@
|
|||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
|
||||||
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
||||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
|
||||||
import-tree.url = "github:vic/import-tree";
|
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/release-23.05";
|
url = "github:nix-community/home-manager/release-23.05";
|
||||||
@@ -13,31 +11,31 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{ flake-parts, nixos-hardware, import-tree, nixpkgs, ... }:
|
outputs = { self, nixpkgs, home-manager, nixos-hardware, ... }@inputs: {
|
||||||
flake-parts.lib.mkFlake { inherit inputs; } (top@{ config, withSystem, moduleWithSystem, ... }: {
|
|
||||||
flake = {
|
|
||||||
nixosConfigurations.qmoran-laptop = nixpkgs.lib.nixosSystem {
|
nixosConfigurations.qmoran-laptop = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
(import-tree ./modules)
|
|
||||||
nixos-hardware.nixosModules.framework-11th-gen-intel
|
|
||||||
./nix/qlhc.nix
|
./nix/qlhc.nix
|
||||||
|
./nix/common.nix
|
||||||
|
./nix/user-quin.nix
|
||||||
|
./nix/gui1.nix
|
||||||
|
./nix/mega.nix
|
||||||
|
nixos-hardware.nixosModules.framework-11th-gen-intel
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
nixosConfigurations.qmoran-desktop = nixpkgs.lib.nixosSystem {
|
nixosConfigurations.qmoran-desktop = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
(import-tree ./modules)
|
|
||||||
./nix/qdhc.nix
|
./nix/qdhc.nix
|
||||||
|
./nix/common.nix
|
||||||
|
./nix/user-quin.nix
|
||||||
|
./nix/gui1.nix
|
||||||
|
./nix/mega.nix
|
||||||
./nix/jf-server.nix
|
./nix/jf-server.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
systems = [
|
|
||||||
"x86_64-linux"
|
|
||||||
];
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# It's NixOS!
|
||||||
|
|
||||||
|
Hello MtV and welcome to my crib. These are all the things pertaining to my nixos stuff.
|
||||||
|
|
||||||
|
- [./common.nix](./common.nix) is all the common things that hosts will have configured
|
||||||
|
- Services
|
||||||
|
- locale settings
|
||||||
|
- timezone
|
||||||
|
- [./gui1](./gui1.nix) all config things for a linux UX experience, KDE Plasma in this instance, but perhaps there could be a gui2 someday...
|
||||||
|
- [./qlhc.nix](./qlhc.nix) this stands for quins-laptop-hardware-configuraion. I'll find a better way to do this stuff later.
|
||||||
|
- [./user-quin](./user-quin.nix) my personal user account, here for all to see.
|
||||||
|
- packages
|
||||||
|
- groups
|
||||||
@@ -18,10 +18,6 @@
|
|||||||
"flakes"
|
"flakes"
|
||||||
];
|
];
|
||||||
|
|
||||||
nixpkgs.config.permittedInsecurePackages = [
|
|
||||||
"python3.12-ecdsa-0.19.1" # I'm sure this is fine (just don't use python for anything important like usual)
|
|
||||||
];
|
|
||||||
|
|
||||||
i18n.extraLocaleSettings = {
|
i18n.extraLocaleSettings = {
|
||||||
LC_ADDRESS = "en_US.UTF-8";
|
LC_ADDRESS = "en_US.UTF-8";
|
||||||
LC_IDENTIFICATION = "en_US.UTF-8";
|
LC_IDENTIFICATION = "en_US.UTF-8";
|
||||||
@@ -37,6 +33,5 @@
|
|||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
git
|
git
|
||||||
tailscale
|
tailscale
|
||||||
rclone
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
@@ -30,13 +30,6 @@
|
|||||||
options = [ "fmask=0077" "dmask=0077" ];
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/mnt/tmpMedia" =
|
|
||||||
{
|
|
||||||
device = "/dev/disk/by-uuid/fa20e116-e04e-4f3e-bf5a-c2e2c1fad610";
|
|
||||||
fsType = "ext4";
|
|
||||||
options = ["noatime" "nodiratime" "noauto"];
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices =
|
swapDevices =
|
||||||
[ { device = "/dev/disk/by-uuid/cf4cff49-15d7-4145-86c2-8be30e71fe4c"; }
|
[ { device = "/dev/disk/by-uuid/cf4cff49-15d7-4145-86c2-8be30e71fe4c"; }
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -28,13 +28,6 @@
|
|||||||
gimp
|
gimp
|
||||||
kicad-small
|
kicad-small
|
||||||
rpi-imager
|
rpi-imager
|
||||||
vscodium-fhs
|
|
||||||
ansible_2_18
|
|
||||||
usbutils
|
|
||||||
python313Packages.nomadnet
|
|
||||||
screen
|
|
||||||
jellyfin-desktop
|
|
||||||
renpy
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
#renpy assets for localdev
|
|
||||||
cache/
|
|
||||||
saves/
|
|
||||||
log.txt
|
|
||||||
traceback.txt
|
|
||||||
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
# Directories that Ren'Py changes files in.
|
|
||||||
/game/saves
|
|
||||||
/game/cache
|
|
||||||
|
|
||||||
# Compiled script files. These are important for saving, and so should
|
|
||||||
# be preserved by developer and build systems after the game has been released.
|
|
||||||
/game/**/*.rpyc
|
|
||||||
/game/**/*.rpymc
|
|
||||||
|
|
||||||
# Files Ren'Py can generate.
|
|
||||||
/game/**/*.bak
|
|
||||||
/game/**/*.new
|
|
||||||
/game/**/*.old
|
|
||||||
|
|
||||||
# Error, log, and output files.
|
|
||||||
/errors.txt
|
|
||||||
/files.txt
|
|
||||||
/image_cache.txt
|
|
||||||
/log.txt
|
|
||||||
/save_dump.txt
|
|
||||||
/traceback.txt
|
|
||||||
|
|
||||||
# Launcher-generated files.
|
|
||||||
/dialogue.tab
|
|
||||||
/dialogue.txt
|
|
||||||
/strings.json
|
|
||||||
@@ -1,480 +0,0 @@
|
|||||||
################################################################################
|
|
||||||
## Initialization
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
## The init offset statement causes the initialization statements in this file
|
|
||||||
## to run before init statements in any other file.
|
|
||||||
init offset = -2
|
|
||||||
|
|
||||||
## Calling gui.init resets the styles to sensible default values, and sets the
|
|
||||||
## width and height of the game.
|
|
||||||
init python:
|
|
||||||
gui.init(1920, 1080)
|
|
||||||
|
|
||||||
## Enable checks for invalid or unstable properties in screens or transforms
|
|
||||||
define config.check_conflicting_properties = True
|
|
||||||
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
## GUI Configuration Variables
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
|
|
||||||
## Colors ######################################################################
|
|
||||||
##
|
|
||||||
## The colors of text in the interface.
|
|
||||||
|
|
||||||
## An accent color used throughout the interface to label and highlight text.
|
|
||||||
define gui.accent_color = '#cc6600'
|
|
||||||
|
|
||||||
## The color used for a text button when it is neither selected nor hovered.
|
|
||||||
define gui.idle_color = '#888888'
|
|
||||||
|
|
||||||
## The small color is used for small text, which needs to be brighter/darker to
|
|
||||||
## achieve the same effect.
|
|
||||||
define gui.idle_small_color = '#aaaaaa'
|
|
||||||
|
|
||||||
## The color that is used for buttons and bars that are hovered.
|
|
||||||
define gui.hover_color = '#e0a366'
|
|
||||||
|
|
||||||
## The color used for a text button when it is selected but not focused. A
|
|
||||||
## button is selected if it is the current screen or preference value.
|
|
||||||
define gui.selected_color = '#ffffff'
|
|
||||||
|
|
||||||
## The color used for a text button when it cannot be selected.
|
|
||||||
define gui.insensitive_color = '#8888887f'
|
|
||||||
|
|
||||||
## Colors used for the portions of bars that are not filled in. These are not
|
|
||||||
## used directly, but are used when re-generating bar image files.
|
|
||||||
define gui.muted_color = '#512800'
|
|
||||||
define gui.hover_muted_color = '#7a3d00'
|
|
||||||
|
|
||||||
## The colors used for dialogue and menu choice text.
|
|
||||||
define gui.text_color = '#ffffff'
|
|
||||||
define gui.interface_text_color = '#ffffff'
|
|
||||||
|
|
||||||
|
|
||||||
## Fonts and Font Sizes ########################################################
|
|
||||||
|
|
||||||
## The font used for in-game text.
|
|
||||||
define gui.text_font = "DejaVuSans.ttf"
|
|
||||||
|
|
||||||
## The font used for character names.
|
|
||||||
define gui.name_text_font = "DejaVuSans.ttf"
|
|
||||||
|
|
||||||
## The font used for out-of-game text.
|
|
||||||
define gui.interface_text_font = "DejaVuSans.ttf"
|
|
||||||
|
|
||||||
## The size of normal dialogue text.
|
|
||||||
define gui.text_size = 33
|
|
||||||
|
|
||||||
## The size of character names.
|
|
||||||
define gui.name_text_size = 45
|
|
||||||
|
|
||||||
## The size of text in the game's user interface.
|
|
||||||
define gui.interface_text_size = 33
|
|
||||||
|
|
||||||
## The size of labels in the game's user interface.
|
|
||||||
define gui.label_text_size = 36
|
|
||||||
|
|
||||||
## The size of text on the notify screen.
|
|
||||||
define gui.notify_text_size = 24
|
|
||||||
|
|
||||||
## The size of the game's title.
|
|
||||||
define gui.title_text_size = 75
|
|
||||||
|
|
||||||
|
|
||||||
## Main and Game Menus #########################################################
|
|
||||||
|
|
||||||
## The images used for the main and game menus.
|
|
||||||
define gui.main_menu_background = "gui/main_menu.png"
|
|
||||||
define gui.game_menu_background = "gui/game_menu.png"
|
|
||||||
|
|
||||||
|
|
||||||
## Dialogue ####################################################################
|
|
||||||
##
|
|
||||||
## These variables control how dialogue is displayed on the screen one line at
|
|
||||||
## a time.
|
|
||||||
|
|
||||||
## The height of the textbox containing dialogue.
|
|
||||||
define gui.textbox_height = 278
|
|
||||||
|
|
||||||
## The placement of the textbox vertically on the screen. 0.0 is the top, 0.5
|
|
||||||
## is center, and 1.0 is the bottom.
|
|
||||||
define gui.textbox_yalign = 1.0
|
|
||||||
|
|
||||||
|
|
||||||
## The placement of the speaking character's name, relative to the textbox.
|
|
||||||
## These can be a whole number of pixels from the left or top, or 0.5 to center.
|
|
||||||
define gui.name_xpos = 360
|
|
||||||
define gui.name_ypos = 0
|
|
||||||
|
|
||||||
## The horizontal alignment of the character's name. This can be 0.0 for left-
|
|
||||||
## aligned, 0.5 for centered, and 1.0 for right-aligned.
|
|
||||||
define gui.name_xalign = 0.0
|
|
||||||
|
|
||||||
## The width, height, and borders of the box containing the character's name,
|
|
||||||
## or None to automatically size it.
|
|
||||||
define gui.namebox_width = None
|
|
||||||
define gui.namebox_height = None
|
|
||||||
|
|
||||||
## The borders of the box containing the character's name, in left, top, right,
|
|
||||||
## bottom order.
|
|
||||||
define gui.namebox_borders = Borders(5, 5, 5, 5)
|
|
||||||
|
|
||||||
## If True, the background of the namebox will be tiled, if False, the
|
|
||||||
## background of the namebox will be scaled.
|
|
||||||
define gui.namebox_tile = False
|
|
||||||
|
|
||||||
|
|
||||||
## The placement of dialogue relative to the textbox. These can be a whole
|
|
||||||
## number of pixels relative to the left or top side of the textbox, or 0.5 to
|
|
||||||
## center.
|
|
||||||
define gui.dialogue_xpos = 402
|
|
||||||
define gui.dialogue_ypos = 75
|
|
||||||
|
|
||||||
## The maximum width of dialogue text, in pixels.
|
|
||||||
define gui.dialogue_width = 1116
|
|
||||||
|
|
||||||
## The horizontal alignment of the dialogue text. This can be 0.0 for left-
|
|
||||||
## aligned, 0.5 for centered, and 1.0 for right-aligned.
|
|
||||||
define gui.dialogue_text_xalign = 0.0
|
|
||||||
|
|
||||||
|
|
||||||
## Buttons #####################################################################
|
|
||||||
##
|
|
||||||
## These variables, along with the image files in gui/button, control aspects
|
|
||||||
## of how buttons are displayed.
|
|
||||||
|
|
||||||
## The width and height of a button, in pixels. If None, Ren'Py computes a size.
|
|
||||||
define gui.button_width = None
|
|
||||||
define gui.button_height = None
|
|
||||||
|
|
||||||
## The borders on each side of the button, in left, top, right, bottom order.
|
|
||||||
define gui.button_borders = Borders(6, 6, 6, 6)
|
|
||||||
|
|
||||||
## If True, the background image will be tiled. If False, the background image
|
|
||||||
## will be linearly scaled.
|
|
||||||
define gui.button_tile = False
|
|
||||||
|
|
||||||
## The font used by the button.
|
|
||||||
define gui.button_text_font = gui.interface_text_font
|
|
||||||
|
|
||||||
## The size of the text used by the button.
|
|
||||||
define gui.button_text_size = gui.interface_text_size
|
|
||||||
|
|
||||||
## The color of button text in various states.
|
|
||||||
define gui.button_text_idle_color = gui.idle_color
|
|
||||||
define gui.button_text_hover_color = gui.hover_color
|
|
||||||
define gui.button_text_selected_color = gui.selected_color
|
|
||||||
define gui.button_text_insensitive_color = gui.insensitive_color
|
|
||||||
|
|
||||||
## The horizontal alignment of the button text. (0.0 is left, 0.5 is center,
|
|
||||||
## 1.0 is right).
|
|
||||||
define gui.button_text_xalign = 0.0
|
|
||||||
|
|
||||||
|
|
||||||
## These variables override settings for different kinds of buttons. Please see
|
|
||||||
## the gui documentation for the kinds of buttons available, and what each is
|
|
||||||
## used for.
|
|
||||||
##
|
|
||||||
## These customizations are used by the default interface:
|
|
||||||
|
|
||||||
define gui.radio_button_borders = Borders(27, 6, 6, 6)
|
|
||||||
|
|
||||||
define gui.check_button_borders = Borders(27, 6, 6, 6)
|
|
||||||
|
|
||||||
define gui.confirm_button_text_xalign = 0.5
|
|
||||||
|
|
||||||
define gui.page_button_borders = Borders(15, 6, 15, 6)
|
|
||||||
|
|
||||||
define gui.quick_button_borders = Borders(15, 6, 15, 0)
|
|
||||||
define gui.quick_button_text_size = 21
|
|
||||||
define gui.quick_button_text_idle_color = gui.idle_small_color
|
|
||||||
define gui.quick_button_text_selected_color = gui.accent_color
|
|
||||||
|
|
||||||
## You can also add your own customizations, by adding properly-named
|
|
||||||
## variables. For example, you can uncomment the following line to set the width
|
|
||||||
## of a navigation button.
|
|
||||||
|
|
||||||
# define gui.navigation_button_width = 250
|
|
||||||
|
|
||||||
|
|
||||||
## Choice Buttons ##############################################################
|
|
||||||
##
|
|
||||||
## Choice buttons are used in the in-game menus.
|
|
||||||
|
|
||||||
define gui.choice_button_width = 1185
|
|
||||||
define gui.choice_button_height = None
|
|
||||||
define gui.choice_button_tile = False
|
|
||||||
define gui.choice_button_borders = Borders(150, 8, 150, 8)
|
|
||||||
define gui.choice_button_text_font = gui.text_font
|
|
||||||
define gui.choice_button_text_size = gui.text_size
|
|
||||||
define gui.choice_button_text_xalign = 0.5
|
|
||||||
define gui.choice_button_text_idle_color = '#888888'
|
|
||||||
define gui.choice_button_text_hover_color = "#ffffff"
|
|
||||||
define gui.choice_button_text_insensitive_color = '#8888887f'
|
|
||||||
|
|
||||||
|
|
||||||
## File Slot Buttons ###########################################################
|
|
||||||
##
|
|
||||||
## A file slot button is a special kind of button. It contains a thumbnail
|
|
||||||
## image, and text describing the contents of the save slot. A save slot uses
|
|
||||||
## image files in gui/button, like the other kinds of buttons.
|
|
||||||
|
|
||||||
## The save slot button.
|
|
||||||
define gui.slot_button_width = 414
|
|
||||||
define gui.slot_button_height = 309
|
|
||||||
define gui.slot_button_borders = Borders(15, 15, 15, 15)
|
|
||||||
define gui.slot_button_text_size = 21
|
|
||||||
define gui.slot_button_text_xalign = 0.5
|
|
||||||
define gui.slot_button_text_idle_color = gui.idle_small_color
|
|
||||||
define gui.slot_button_text_selected_idle_color = gui.selected_color
|
|
||||||
define gui.slot_button_text_selected_hover_color = gui.hover_color
|
|
||||||
|
|
||||||
## The width and height of thumbnails used by the save slots.
|
|
||||||
define config.thumbnail_width = 384
|
|
||||||
define config.thumbnail_height = 216
|
|
||||||
|
|
||||||
## The number of columns and rows in the grid of save slots.
|
|
||||||
define gui.file_slot_cols = 3
|
|
||||||
define gui.file_slot_rows = 2
|
|
||||||
|
|
||||||
|
|
||||||
## Positioning and Spacing #####################################################
|
|
||||||
##
|
|
||||||
## These variables control the positioning and spacing of various user
|
|
||||||
## interface elements.
|
|
||||||
|
|
||||||
## The position of the left side of the navigation buttons, relative to the
|
|
||||||
## left side of the screen.
|
|
||||||
define gui.navigation_xpos = 60
|
|
||||||
|
|
||||||
## The vertical position of the skip indicator.
|
|
||||||
define gui.skip_ypos = 15
|
|
||||||
|
|
||||||
## The vertical position of the notify screen.
|
|
||||||
define gui.notify_ypos = 68
|
|
||||||
|
|
||||||
## The spacing between menu choices.
|
|
||||||
define gui.choice_spacing = 33
|
|
||||||
|
|
||||||
## Buttons in the navigation section of the main and game menus.
|
|
||||||
define gui.navigation_spacing = 6
|
|
||||||
|
|
||||||
## Controls the amount of spacing between preferences.
|
|
||||||
define gui.pref_spacing = 15
|
|
||||||
|
|
||||||
## Controls the amount of spacing between preference buttons.
|
|
||||||
define gui.pref_button_spacing = 0
|
|
||||||
|
|
||||||
## The spacing between file page buttons.
|
|
||||||
define gui.page_spacing = 0
|
|
||||||
|
|
||||||
## The spacing between file slots.
|
|
||||||
define gui.slot_spacing = 15
|
|
||||||
|
|
||||||
## The position of the main menu text.
|
|
||||||
define gui.main_menu_text_xalign = 1.0
|
|
||||||
|
|
||||||
|
|
||||||
## Frames ######################################################################
|
|
||||||
##
|
|
||||||
## These variables control the look of frames that can contain user interface
|
|
||||||
## components when an overlay or window is not present.
|
|
||||||
|
|
||||||
## Generic frames.
|
|
||||||
define gui.frame_borders = Borders(6, 6, 6, 6)
|
|
||||||
|
|
||||||
## The frame that is used as part of the confirm screen.
|
|
||||||
define gui.confirm_frame_borders = Borders(60, 60, 60, 60)
|
|
||||||
|
|
||||||
## The frame that is used as part of the skip screen.
|
|
||||||
define gui.skip_frame_borders = Borders(24, 8, 75, 8)
|
|
||||||
|
|
||||||
## The frame that is used as part of the notify screen.
|
|
||||||
define gui.notify_frame_borders = Borders(24, 8, 60, 8)
|
|
||||||
|
|
||||||
## Should frame backgrounds be tiled?
|
|
||||||
define gui.frame_tile = False
|
|
||||||
|
|
||||||
|
|
||||||
## Bars, Scrollbars, and Sliders ###############################################
|
|
||||||
##
|
|
||||||
## These control the look and size of bars, scrollbars, and sliders.
|
|
||||||
##
|
|
||||||
## The default GUI only uses sliders and vertical scrollbars. All of the other
|
|
||||||
## bars are only used in creator-written screens.
|
|
||||||
|
|
||||||
## The height of horizontal bars, scrollbars, and sliders. The width of
|
|
||||||
## vertical bars, scrollbars, and sliders.
|
|
||||||
define gui.bar_size = 38
|
|
||||||
define gui.scrollbar_size = 18
|
|
||||||
define gui.slider_size = 38
|
|
||||||
|
|
||||||
## True if bar images should be tiled. False if they should be linearly scaled.
|
|
||||||
define gui.bar_tile = False
|
|
||||||
define gui.scrollbar_tile = False
|
|
||||||
define gui.slider_tile = False
|
|
||||||
|
|
||||||
## Horizontal borders.
|
|
||||||
define gui.bar_borders = Borders(6, 6, 6, 6)
|
|
||||||
define gui.scrollbar_borders = Borders(6, 6, 6, 6)
|
|
||||||
define gui.slider_borders = Borders(6, 6, 6, 6)
|
|
||||||
|
|
||||||
## Vertical borders.
|
|
||||||
define gui.vbar_borders = Borders(6, 6, 6, 6)
|
|
||||||
define gui.vscrollbar_borders = Borders(6, 6, 6, 6)
|
|
||||||
define gui.vslider_borders = Borders(6, 6, 6, 6)
|
|
||||||
|
|
||||||
## What to do with unscrollable scrollbars in the game menu. "hide" hides them,
|
|
||||||
## while None shows them.
|
|
||||||
define gui.unscrollable = "hide"
|
|
||||||
|
|
||||||
|
|
||||||
## History #####################################################################
|
|
||||||
##
|
|
||||||
## The history screen displays dialogue that the player has already dismissed.
|
|
||||||
|
|
||||||
## The number of blocks of dialogue history Ren'Py will keep.
|
|
||||||
define config.history_length = 250
|
|
||||||
|
|
||||||
## The height of a history screen entry, or None to make the height variable at
|
|
||||||
## the cost of performance.
|
|
||||||
define gui.history_height = 210
|
|
||||||
|
|
||||||
## Additional space to add between history screen entries.
|
|
||||||
define gui.history_spacing = 0
|
|
||||||
|
|
||||||
## The position, width, and alignment of the label giving the name of the
|
|
||||||
## speaking character.
|
|
||||||
define gui.history_name_xpos = 233
|
|
||||||
define gui.history_name_ypos = 0
|
|
||||||
define gui.history_name_width = 233
|
|
||||||
define gui.history_name_xalign = 1.0
|
|
||||||
|
|
||||||
## The position, width, and alignment of the dialogue text.
|
|
||||||
define gui.history_text_xpos = 255
|
|
||||||
define gui.history_text_ypos = 3
|
|
||||||
define gui.history_text_width = 1110
|
|
||||||
define gui.history_text_xalign = 0.0
|
|
||||||
|
|
||||||
|
|
||||||
## NVL-Mode ####################################################################
|
|
||||||
##
|
|
||||||
## The NVL-mode screen displays the dialogue spoken by NVL-mode characters.
|
|
||||||
|
|
||||||
## The borders of the background of the NVL-mode background window.
|
|
||||||
define gui.nvl_borders = Borders(0, 15, 0, 30)
|
|
||||||
|
|
||||||
## The maximum number of NVL-mode entries Ren'Py will display. When more
|
|
||||||
## entries than this are to be show, the oldest entry will be removed.
|
|
||||||
define gui.nvl_list_length = 6
|
|
||||||
|
|
||||||
## The height of an NVL-mode entry. Set this to None to have the entries
|
|
||||||
## dynamically adjust height.
|
|
||||||
define gui.nvl_height = 173
|
|
||||||
|
|
||||||
## The spacing between NVL-mode entries when gui.nvl_height is None, and
|
|
||||||
## between NVL-mode entries and an NVL-mode menu.
|
|
||||||
define gui.nvl_spacing = 15
|
|
||||||
|
|
||||||
## The position, width, and alignment of the label giving the name of the
|
|
||||||
## speaking character.
|
|
||||||
define gui.nvl_name_xpos = 645
|
|
||||||
define gui.nvl_name_ypos = 0
|
|
||||||
define gui.nvl_name_width = 225
|
|
||||||
define gui.nvl_name_xalign = 1.0
|
|
||||||
|
|
||||||
## The position, width, and alignment of the dialogue text.
|
|
||||||
define gui.nvl_text_xpos = 675
|
|
||||||
define gui.nvl_text_ypos = 12
|
|
||||||
define gui.nvl_text_width = 885
|
|
||||||
define gui.nvl_text_xalign = 0.0
|
|
||||||
|
|
||||||
## The position, width, and alignment of nvl_thought text (the text said by the
|
|
||||||
## nvl_narrator character.)
|
|
||||||
define gui.nvl_thought_xpos = 360
|
|
||||||
define gui.nvl_thought_ypos = 0
|
|
||||||
define gui.nvl_thought_width = 1170
|
|
||||||
define gui.nvl_thought_xalign = 0.0
|
|
||||||
|
|
||||||
## The position of nvl menu_buttons.
|
|
||||||
define gui.nvl_button_xpos = 675
|
|
||||||
define gui.nvl_button_xalign = 0.0
|
|
||||||
|
|
||||||
|
|
||||||
## Localization ################################################################
|
|
||||||
|
|
||||||
## This controls where a line break is permitted. The default is suitable
|
|
||||||
## for most languages. A list of available values can be found at https://
|
|
||||||
## www.renpy.org/doc/html/style_properties.html#style-property-language
|
|
||||||
|
|
||||||
define gui.language = "unicode"
|
|
||||||
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
## Mobile devices
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
init python:
|
|
||||||
|
|
||||||
## This increases the size of the quick buttons to make them easier to
|
|
||||||
## touch on tablets and phones.
|
|
||||||
@gui.variant
|
|
||||||
def touch():
|
|
||||||
|
|
||||||
gui.quick_button_borders = Borders(60, 21, 60, 0)
|
|
||||||
|
|
||||||
## This changes the size and spacing of various GUI elements to ensure they
|
|
||||||
## are easily visible on phones.
|
|
||||||
@gui.variant
|
|
||||||
def small():
|
|
||||||
|
|
||||||
## Font sizes.
|
|
||||||
gui.text_size = 45
|
|
||||||
gui.name_text_size = 54
|
|
||||||
gui.notify_text_size = 38
|
|
||||||
gui.interface_text_size = 45
|
|
||||||
gui.button_text_size = 45
|
|
||||||
gui.label_text_size = 51
|
|
||||||
|
|
||||||
## Adjust the location of the textbox.
|
|
||||||
gui.textbox_height = 360
|
|
||||||
gui.name_xpos = 120
|
|
||||||
gui.dialogue_xpos = 135
|
|
||||||
gui.dialogue_width = 1650
|
|
||||||
|
|
||||||
## Change the size and spacing of various things.
|
|
||||||
gui.slider_size = 54
|
|
||||||
|
|
||||||
gui.choice_button_width = 1860
|
|
||||||
gui.choice_button_text_size = 45
|
|
||||||
|
|
||||||
gui.navigation_spacing = 30
|
|
||||||
gui.pref_button_spacing = 15
|
|
||||||
|
|
||||||
gui.history_height = 285
|
|
||||||
gui.history_text_width = 1035
|
|
||||||
|
|
||||||
gui.quick_button_text_size = 30
|
|
||||||
|
|
||||||
## File button layout.
|
|
||||||
gui.file_slot_cols = 2
|
|
||||||
gui.file_slot_rows = 2
|
|
||||||
|
|
||||||
## NVL-mode.
|
|
||||||
gui.nvl_height = 255
|
|
||||||
|
|
||||||
gui.nvl_name_width = 458
|
|
||||||
gui.nvl_name_xpos = 488
|
|
||||||
|
|
||||||
gui.nvl_text_width = 1373
|
|
||||||
gui.nvl_text_xpos = 518
|
|
||||||
gui.nvl_text_ypos = 8
|
|
||||||
|
|
||||||
gui.nvl_thought_width = 1860
|
|
||||||
gui.nvl_thought_xpos = 30
|
|
||||||
|
|
||||||
gui.nvl_button_width = 1860
|
|
||||||
gui.nvl_button_xpos = 30
|
|
||||||
|
Before Width: | Height: | Size: 838 B |
|
Before Width: | Height: | Size: 522 B |
|
Before Width: | Height: | Size: 522 B |
|
Before Width: | Height: | Size: 838 B |
|
Before Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 104 B |
|
Before Width: | Height: | Size: 160 B |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 465 B |
|
Before Width: | Height: | Size: 465 B |
|
Before Width: | Height: | Size: 198 B |
|
Before Width: | Height: | Size: 198 B |
|
Before Width: | Height: | Size: 104 B |
|
Before Width: | Height: | Size: 160 B |
|
Before Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 503 B |
|
Before Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 838 B |
|
Before Width: | Height: | Size: 522 B |
|
Before Width: | Height: | Size: 522 B |
|
Before Width: | Height: | Size: 838 B |
|
Before Width: | Height: | Size: 111 B |
|
Before Width: | Height: | Size: 178 B |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 583 B |
|
Before Width: | Height: | Size: 583 B |
|
Before Width: | Height: | Size: 111 B |
|
Before Width: | Height: | Size: 178 B |
|
Before Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 462 B |
|
Before Width: | Height: | Size: 465 B |
|
Before Width: | Height: | Size: 464 B |
|
Before Width: | Height: | Size: 462 B |
|
Before Width: | Height: | Size: 803 B |
|
Before Width: | Height: | Size: 805 B |
|
Before Width: | Height: | Size: 804 B |
|
Before Width: | Height: | Size: 803 B |
|
Before Width: | Height: | Size: 702 B |
|
Before Width: | Height: | Size: 141 B |
|
Before Width: | Height: | Size: 703 B |
|
Before Width: | Height: | Size: 139 B |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 146 B |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 144 B |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 462 B |
|
Before Width: | Height: | Size: 465 B |
|
Before Width: | Height: | Size: 464 B |
|
Before Width: | Height: | Size: 462 B |
|
Before Width: | Height: | Size: 803 B |
|
Before Width: | Height: | Size: 805 B |
|
Before Width: | Height: | Size: 804 B |
|
Before Width: | Height: | Size: 803 B |
|
Before Width: | Height: | Size: 721 B |