Initial commit
Signed-off-by: fly <merspieler@alwaysdata.com>
This commit is contained in:
commit
02e1fad297
35 changed files with 1591 additions and 0 deletions
12
.gitignore
vendored
Normal file
12
.gitignore
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
*.swp
|
||||
*.swo
|
||||
|
||||
# .fgfs stuff
|
||||
fgfs/Aircraft/
|
||||
fgfs/ai/
|
||||
fgfs/aircraft-data/
|
||||
fgfs/autosave_*.xml
|
||||
fgfs/fgfs*.log
|
||||
fgfs/fgfs_lock.pid
|
||||
fgfs/navdata_*.cache
|
||||
fgfs/FlightGear/
|
37
fgfs/Export/A320-family-config.xml
Normal file
37
fgfs/Export/A320-family-config.xml
Normal file
|
@ -0,0 +1,37 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
<fadec>
|
||||
<climb-b type="double">0.49</climb-b>
|
||||
<climb-t type="double">0.51</climb-t>
|
||||
<idle-t type="double">0.24</idle-t>
|
||||
<mct-b type="double">0.72</mct-b>
|
||||
<mct-t type="double">0.74</mct-t>
|
||||
<toga-b type="double">0.95</toga-b>
|
||||
</fadec>
|
||||
<igniter-select-1 type="int">0</igniter-select-1>
|
||||
<igniter-select-2 type="int">0</igniter-select-2>
|
||||
<separate-tiller-axis type="bool">false</separate-tiller-axis>
|
||||
<auto-ready-for-takeoff type="bool">true</auto-ready-for-takeoff>
|
||||
<revision type="double">2481</revision>
|
||||
<keyboard-mode type="double">0</keyboard-mode>
|
||||
<fgcamera-keys-enabled type="double">0</fgcamera-keys-enabled>
|
||||
<weight-kgs type="double">1</weight-kgs>
|
||||
<adirs-skip type="double">0</adirs-skip>
|
||||
<toggle-tooltips type="double">0</toggle-tooltips>
|
||||
<allow-oil-consumption type="double">0</allow-oil-consumption>
|
||||
<atis-server type="string">faa</atis-server>
|
||||
<wxr-server type="string">noaa</wxr-server>
|
||||
<welcome-skip type="double">1</welcome-skip>
|
||||
<no-rendering-warn type="double">0</no-rendering-warn>
|
||||
<save-state type="double">0</save-state>
|
||||
<hide-canvas-outside type="double">0</hide-canvas-outside>
|
||||
<nd-rate type="double">1</nd-rate>
|
||||
<dcdu-rate type="double">1</dcdu-rate>
|
||||
<autopush>
|
||||
<show-route type="double">1</show-route>
|
||||
<show-wingtip type="double">1</show-wingtip>
|
||||
</autopush>
|
||||
<fo-view type="bool">false</fo-view>
|
||||
<simbrief-username type="string"></simbrief-username>
|
||||
</PropertyList>
|
3
fgfs/Export/A320SavedWaypoints.xml
Normal file
3
fgfs/Export/A320SavedWaypoints.xml
Normal file
|
@ -0,0 +1,3 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<waypoints/>
|
5
fgfs/Export/A320SavedWinds.txt
Normal file
5
fgfs/Export/A320SavedWinds.txt
Normal file
|
@ -0,0 +1,5 @@
|
|||
045,008,FL50
|
||||
-1,-1,
|
||||
-1,-1,
|
||||
-1,-1,
|
||||
-1,-1,
|
29
fgfs/Input/Event/FLC-Meow-Pedestal-box.xml
Normal file
29
fgfs/Input/Event/FLC-Meow-Pedestal-box.xml
Normal file
|
@ -0,0 +1,29 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
<name type="string">FLC Meow Pedestal box</name>
|
||||
<debug-events type="bool">true</debug-events>
|
||||
<nasal>
|
||||
<open>
|
||||
<![CDATA[
|
||||
setprop("/FLC/Pedestal/backlight", 0);
|
||||
var refreshPanels = func(){
|
||||
setprop('/FLC/Pedestal/backlight', getprop('/controls/lighting/main-panel-norm') * 48000);
|
||||
}
|
||||
var lis1 = setlistener('/controls/lighting/main-panel-norm', refreshPanels);
|
||||
]]>
|
||||
</open>
|
||||
</nasal>
|
||||
<event>
|
||||
<name>vendor-0</name>
|
||||
<setting>
|
||||
<property>/FLC/Pedestal/backlight</property>
|
||||
</setting>
|
||||
</event>
|
||||
<event>
|
||||
<name>vendor-1</name>
|
||||
<setting>
|
||||
<property>/test</property>
|
||||
</setting>
|
||||
</event>
|
||||
</PropertyList>
|
127
fgfs/Input/Joysticks/5-Axis,12-Button-with-POV-.xml
Normal file
127
fgfs/Input/Joysticks/5-Axis,12-Button-with-POV-.xml
Normal file
|
@ -0,0 +1,127 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
<name type="string">5-Axis,12-Button with POV </name>
|
||||
<axis>
|
||||
<desc type="string">Aileron</desc>
|
||||
<binding>
|
||||
<command type="string">property-scale</command>
|
||||
<property type="string">/controls/flight/aileron[1]</property>
|
||||
<factor type="double">1</factor>
|
||||
<offset type="double">0</offset>
|
||||
<power type="double">2</power>
|
||||
</binding>
|
||||
</axis>
|
||||
<axis n="1">
|
||||
<desc type="string">Elevator</desc>
|
||||
<binding>
|
||||
<command type="string">property-scale</command>
|
||||
<property type="string">/controls/flight/elevator[1]</property>
|
||||
<factor type="double">-1</factor>
|
||||
<offset type="double">0</offset>
|
||||
<power type="double">2</power>
|
||||
</binding>
|
||||
</axis>
|
||||
<axis n="6">
|
||||
<desc type="string">View (left/right)</desc>
|
||||
<low>
|
||||
<repeatable type="string">true</repeatable>
|
||||
<binding>
|
||||
<command type="string">property-adjust</command>
|
||||
<property type="string">/sim/current-view/goal-heading-offset-deg</property>
|
||||
<step type="double">1</step>
|
||||
</binding>
|
||||
</low>
|
||||
<high>
|
||||
<repeatable type="string">true</repeatable>
|
||||
<binding>
|
||||
<command type="string">property-adjust</command>
|
||||
<property type="string">/sim/current-view/goal-heading-offset-deg</property>
|
||||
<step type="double">-1</step>
|
||||
</binding>
|
||||
</high>
|
||||
</axis>
|
||||
<axis n="7">
|
||||
<desc type="string">View (up/down)</desc>
|
||||
<low>
|
||||
<repeatable type="string">true</repeatable>
|
||||
<binding>
|
||||
<command type="string">property-adjust</command>
|
||||
<property type="string">/sim/current-view/goal-pitch-offset-deg</property>
|
||||
<step type="double">-1</step>
|
||||
</binding>
|
||||
</low>
|
||||
<high>
|
||||
<repeatable type="string">true</repeatable>
|
||||
<binding>
|
||||
<command type="string">property-adjust</command>
|
||||
<property type="string">/sim/current-view/goal-pitch-offset-deg</property>
|
||||
<step type="double">1</step>
|
||||
</binding>
|
||||
</high>
|
||||
</axis>
|
||||
<button>
|
||||
<desc type="string">Trigger</desc>
|
||||
<repeatable type="string">false</repeatable>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">controls.trigger(1);</script>
|
||||
</binding>
|
||||
<mod-up>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">controls.trigger(0);</script>
|
||||
</binding>
|
||||
</mod-up>
|
||||
</button>
|
||||
<button n="1">
|
||||
<desc type="string">FGCom PTT</desc>
|
||||
<repeatable type="string">false</repeatable>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">controls.ptt(1);</script>
|
||||
</binding>
|
||||
<mod-up>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">controls.ptt(0);</script>
|
||||
</binding>
|
||||
</mod-up>
|
||||
</button>
|
||||
<button n="2">
|
||||
<desc type="string">Elevator Trim Up</desc>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">controls.elevatorTrim(-1);</script>
|
||||
</binding>
|
||||
<repeatable type="double">1</repeatable>
|
||||
</button>
|
||||
<button n="3">
|
||||
<desc type="string">Custom</desc>
|
||||
<repeatable type="string">true</repeatable>
|
||||
<binding>
|
||||
<command type="string">property-adjust</command>
|
||||
<property type="string">/sim/current-view/field-of-view</property>
|
||||
<step type="double">0.3</step>
|
||||
<max type="string">179</max>
|
||||
</binding>
|
||||
</button>
|
||||
<button n="4">
|
||||
<desc type="string">Elevator Trim Down</desc>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">controls.elevatorTrim(1);</script>
|
||||
</binding>
|
||||
<repeatable type="double">1</repeatable>
|
||||
</button>
|
||||
<button n="5">
|
||||
<desc type="string">Custom</desc>
|
||||
<repeatable type="string">true</repeatable>
|
||||
<binding>
|
||||
<command type="string">property-adjust</command>
|
||||
<property type="string">/sim/current-view/field-of-view</property>
|
||||
<step type="double">-0.3</step>
|
||||
<min type="string">1</min>
|
||||
</binding>
|
||||
</button>
|
||||
</PropertyList>
|
65
fgfs/Input/Joysticks/FLC-Meow-Pedestal-box.xml
Normal file
65
fgfs/Input/Joysticks/FLC-Meow-Pedestal-box.xml
Normal file
|
@ -0,0 +1,65 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
<name type="string">FLC Meow Pedestal box</name>
|
||||
<axis>
|
||||
<desc type="string">IntegLT</desc>
|
||||
<binding>
|
||||
<command type="string">property-scale</command>
|
||||
<property type="string">/controls/lighting/main-panel-knb</property>
|
||||
<factor type="double">0.5</factor>
|
||||
<offset type="double">1</offset>
|
||||
<power type="double">1</power>
|
||||
</binding>
|
||||
</axis>
|
||||
<axis n="1">
|
||||
<desc type="string">FloodTL</desc>
|
||||
<binding>
|
||||
<command type="string">property-scale</command>
|
||||
<property type="string">/controls/lighting/main-flood-knb</property>
|
||||
<factor type="double">0.5</factor>
|
||||
<offset type="double">1</offset>
|
||||
<power type="double">1</power>
|
||||
</binding>
|
||||
</axis>
|
||||
<button>
|
||||
<desc type="string">Ext Power</desc>
|
||||
<repeatable type="string">false</repeatable>
|
||||
<binding>
|
||||
<command type="string">property-toggle</command>
|
||||
<property>/controls/electrical/switches/ext-pwr</property>
|
||||
</binding>
|
||||
</button>
|
||||
<button n="1">
|
||||
<desc type="string">ENG Master 1</desc>
|
||||
<repeatable type="string">false</repeatable>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>controls/engines/engine[0]/cutoff-switch</property>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
<mod-up>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>controls/engines/engine[0]/cutoff-switch</property>
|
||||
<value>1</value>
|
||||
</binding>
|
||||
</mod-up>
|
||||
</button>
|
||||
<button n="2">
|
||||
<desc type="string">ENG Master 2</desc>
|
||||
<repeatable type="string">false</repeatable>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>controls/engines/engine[1]/cutoff-switch</property>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
<mod-up>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>controls/engines/engine[1]/cutoff-switch</property>
|
||||
<value>1</value>
|
||||
</binding>
|
||||
</mod-up>
|
||||
</button>
|
||||
</PropertyList>
|
65
fgfs/Input/Joysticks/Thrustmaster-T-Rudder.xml
Normal file
65
fgfs/Input/Joysticks/Thrustmaster-T-Rudder.xml
Normal file
|
@ -0,0 +1,65 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
<name type="string">Thrustmaster T-Rudder</name>
|
||||
<axis>
|
||||
<desc type="string">Brake Right</desc>
|
||||
<binding>
|
||||
<command type="string">property-scale</command>
|
||||
<property type="string">/controls/gear/brake-right</property>
|
||||
<factor type="double">-0.5</factor>
|
||||
<offset type="double">-1</offset>
|
||||
<power type="double">1</power>
|
||||
</binding>
|
||||
</axis>
|
||||
<axis n="1">
|
||||
<desc type="string">Brake Left</desc>
|
||||
<binding>
|
||||
<command type="string">property-scale</command>
|
||||
<property type="string">/controls/gear/brake-left</property>
|
||||
<factor type="double">-0.5</factor>
|
||||
<offset type="double">-1</offset>
|
||||
<power type="double">1</power>
|
||||
</binding>
|
||||
</axis>
|
||||
<axis n="2">
|
||||
<desc type="string">Rudder</desc>
|
||||
<binding>
|
||||
<command type="string">property-scale</command>
|
||||
<property type="string">/controls/flight/rudder</property>
|
||||
<factor type="double">1</factor>
|
||||
<offset type="double">0</offset>
|
||||
<power type="double">1</power>
|
||||
</binding>
|
||||
</axis>
|
||||
<button>
|
||||
<desc type="string">Brakes</desc>
|
||||
<repeatable type="string">false</repeatable>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">controls.applyBrakes(1);</script>
|
||||
</binding>
|
||||
<mod-up>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">controls.applyBrakes(0);</script>
|
||||
</binding>
|
||||
</mod-up>
|
||||
</button>
|
||||
<button n="1">
|
||||
<desc type="string">Elevator Trim Down</desc>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">controls.elevatorTrim(1);</script>
|
||||
</binding>
|
||||
<repeatable type="double">1</repeatable>
|
||||
</button>
|
||||
<button n="2">
|
||||
<desc type="string">Elevator Trim Up</desc>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">controls.elevatorTrim(-1);</script>
|
||||
</binding>
|
||||
<repeatable type="double">1</repeatable>
|
||||
</button>
|
||||
</PropertyList>
|
57
fgfs/Input/Joysticks/Thrustmaster-TA320-Copilot.xml
Normal file
57
fgfs/Input/Joysticks/Thrustmaster-TA320-Copilot.xml
Normal file
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
<name type="string">Thrustmaster T.A320 Copilot</name>
|
||||
<axis>
|
||||
<desc type="string">Aileron</desc>
|
||||
<binding>
|
||||
<command type="string">property-scale</command>
|
||||
<property type="string">/controls/flight/aileron</property>
|
||||
<factor type="double">1</factor>
|
||||
<offset type="double">0</offset>
|
||||
<power type="double">1</power>
|
||||
</binding>
|
||||
</axis>
|
||||
<axis n="1">
|
||||
<desc type="string">Elevator</desc>
|
||||
<binding>
|
||||
<command type="string">property-scale</command>
|
||||
<property type="string">/controls/flight/elevator</property>
|
||||
<factor type="double">-1</factor>
|
||||
<offset type="double">0</offset>
|
||||
<power type="double">1</power>
|
||||
</binding>
|
||||
</axis>
|
||||
<button n="11">
|
||||
<desc type="string">Flaps Down</desc>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">controls.flapsDown(1);</script>
|
||||
</binding>
|
||||
<repeatable type="double">0</repeatable>
|
||||
</button>
|
||||
<button n="12">
|
||||
<desc type="string">Flaps Up</desc>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">controls.flapsDown(-1);</script>
|
||||
</binding>
|
||||
<repeatable type="double">0</repeatable>
|
||||
</button>
|
||||
<button n="13">
|
||||
<desc type="string">Gear Up</desc>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">controls.gearDown(-1);</script>
|
||||
</binding>
|
||||
<repeatable type="double">0</repeatable>
|
||||
</button>
|
||||
<button n="14">
|
||||
<desc type="string">Gear Down</desc>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">controls.gearDown(1);</script>
|
||||
</binding>
|
||||
<repeatable type="double">0</repeatable>
|
||||
</button>
|
||||
</PropertyList>
|
230
fgfs/Input/Joysticks/Thrustmaster-TA320-Pilot.xml
Normal file
230
fgfs/Input/Joysticks/Thrustmaster-TA320-Pilot.xml
Normal file
|
@ -0,0 +1,230 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
<name type="string">Thrustmaster T.A320 Pilot</name>
|
||||
<axis>
|
||||
<desc type="string">Aileron</desc>
|
||||
<binding>
|
||||
<command type="string">property-scale</command>
|
||||
<property type="string">/controls/flight/aileron</property>
|
||||
<factor type="double">1</factor>
|
||||
<offset type="double">0</offset>
|
||||
<power type="double">1</power>
|
||||
</binding>
|
||||
</axis>
|
||||
<axis n="1">
|
||||
<desc type="string">Elevator</desc>
|
||||
<binding>
|
||||
<command type="string">property-scale</command>
|
||||
<property type="string">/controls/flight/elevator</property>
|
||||
<factor type="double">-1</factor>
|
||||
<offset type="double">0</offset>
|
||||
<power type="double">1</power>
|
||||
</binding>
|
||||
</axis>
|
||||
<axis n="2">
|
||||
<desc type="string">Tiller</desc>
|
||||
<binding>
|
||||
<command type="string">property-scale</command>
|
||||
<property type="string">controls/gear/steering</property>
|
||||
<factor type="double">1</factor>
|
||||
<offset type="double">0</offset>
|
||||
<power type="double">1</power>
|
||||
</binding>
|
||||
</axis>
|
||||
<axis n="3">
|
||||
<desc type="string">Speed Brake</desc>
|
||||
<binding>
|
||||
<command type="string">property-scale</command>
|
||||
<property type="string">controls/flight/speedbrake</property>
|
||||
<factor type="double">0.5</factor>
|
||||
<offset type="double">1</offset>
|
||||
</binding>
|
||||
</axis>
|
||||
<axis n="4">
|
||||
<desc type="string">View (horizontal)</desc>
|
||||
<low>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">setprop("/sim/current-view/goal-heading-offset-deg", getprop("/sim/current-view/goal-heading-offset-deg") + 2);</script>
|
||||
</binding>
|
||||
<repeatable type="bool">true</repeatable>
|
||||
</low>
|
||||
<high>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">setprop("/sim/current-view/goal-heading-offset-deg", getprop("/sim/current-view/goal-heading-offset-deg") - 2);</script>
|
||||
</binding>
|
||||
<repeatable type="bool">true</repeatable>
|
||||
</high>
|
||||
</axis>
|
||||
<axis n="5">
|
||||
<desc type="string">View (vertical)</desc>
|
||||
<low>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">setprop("/sim/current-view/goal-pitch-offset-deg", getprop("/sim/current-view/goal-pitch-offset-deg") + 1);</script>
|
||||
</binding>
|
||||
<repeatable type="bool">true</repeatable>
|
||||
</low>
|
||||
<high>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">setprop("/sim/current-view/goal-pitch-offset-deg", getprop("/sim/current-view/goal-pitch-offset-deg") - 1);</script>
|
||||
</binding>
|
||||
<repeatable type="bool">true</repeatable>
|
||||
</high>
|
||||
</axis>
|
||||
<button>
|
||||
<desc type="string">FGCom PTT</desc>
|
||||
<repeatable type="string">false</repeatable>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">controls.ptt(1);</script>
|
||||
</binding>
|
||||
<mod-up>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">controls.ptt(0);</script>
|
||||
</binding>
|
||||
</mod-up>
|
||||
</button>
|
||||
<button n="2">
|
||||
<desc type="string">View Cycle Forwards</desc>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">view.stepView(1);</script>
|
||||
</binding>
|
||||
<repeatable type="double">0</repeatable>
|
||||
</button>
|
||||
<button n="3">
|
||||
<desc type="string">Custom</desc>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">
|
||||
if (string.match(getprop("/sim/aero"), "A3[123458][0189]*"))
|
||||
{
|
||||
fcu.FCUController.APDisc(side=1, press=1);
|
||||
}
|
||||
</script>
|
||||
<module type="string">__js3</module>
|
||||
<offset type="double">1</offset>
|
||||
</binding>
|
||||
<mod-up>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">
|
||||
if (string.match(getprop("/sim/aero"), "A3[123458][0189]*"))
|
||||
{
|
||||
fcu.FCUController.APDisc(side=1, press=0);
|
||||
}
|
||||
</script>
|
||||
<module type="string">__js3</module>
|
||||
<offset type="double">1</offset>
|
||||
</binding>
|
||||
</mod-up>
|
||||
<repeatable type="double">0</repeatable>
|
||||
</button>
|
||||
<button n="4">
|
||||
<desc type="string">SPD BRK ARM</desc>
|
||||
<binding>
|
||||
<command>property-cycle</command>
|
||||
<property>controls/flight/speedbrake-arm</property>
|
||||
<value>0</value>
|
||||
<value>1</value>
|
||||
</binding>
|
||||
<repeatable type="double">0</repeatable>
|
||||
</button>
|
||||
<button n="5">
|
||||
<desc type="string">Flaps Down</desc>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">controls.flapsDown(1);</script>
|
||||
</binding>
|
||||
<repeatable type="double">0</repeatable>
|
||||
</button>
|
||||
<button n="6">
|
||||
<desc type="string">Flaps Up</desc>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">controls.flapsDown(-1);</script>
|
||||
</binding>
|
||||
<repeatable type="double">0</repeatable>
|
||||
</button>
|
||||
<button n="7">
|
||||
<desc type="string">Gear Up</desc>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">controls.gearDown(-1);</script>
|
||||
</binding>
|
||||
<repeatable type="double">0</repeatable>
|
||||
</button>
|
||||
<button n="8">
|
||||
<desc type="string">Gear Down</desc>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">controls.gearDown(1);</script>
|
||||
</binding>
|
||||
<repeatable type="double">0</repeatable>
|
||||
</button>
|
||||
<button n="10">
|
||||
<desc type="string">Strobe LT</desc>
|
||||
<binding>
|
||||
<command type="string">property-toggle</command>
|
||||
<property>controls/switches/strobe</property>
|
||||
</binding>
|
||||
<repeatable type="double">0</repeatable>
|
||||
</button>
|
||||
<button n="12">
|
||||
<desc type="string">ATC Mode</desc>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">
|
||||
if (string.match(getprop("/sim/aero"), "A3[123458][0189]*"))
|
||||
{
|
||||
if(getprop("/controls/atc/mode-knob") == 0)
|
||||
{
|
||||
setprop("/controls/atc/mode-knob", 4);
|
||||
atc.transponderPanel.modeSwitch(5);
|
||||
}
|
||||
else
|
||||
{
|
||||
setprop("/controls/atc/mode-knob", 0);
|
||||
atc.transponderPanel.modeSwitch(1);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</binding>
|
||||
</button>
|
||||
<button n="13">
|
||||
<desc type="string">Nose LT</desc>
|
||||
<binding>
|
||||
<command>property-cycle</command>
|
||||
<property>controls/lighting/taxi-light-switch</property>
|
||||
<value>0</value>
|
||||
<value>0.5</value>
|
||||
<value>1</value>
|
||||
</binding>
|
||||
<repeatable type="double">0</repeatable>
|
||||
</button>
|
||||
<button n="14">
|
||||
<desc type="string">LDG LT</desc>
|
||||
<binding>
|
||||
<command type="string">property-toggle</command>
|
||||
<property>controls/switches/landing-lights-l</property>
|
||||
</binding>
|
||||
<binding>
|
||||
<command type="string">property-toggle</command>
|
||||
<property>controls/switches/landing-lights-r</property>
|
||||
</binding>
|
||||
<repeatable type="double">0</repeatable>
|
||||
</button>
|
||||
<button n="15">
|
||||
<desc type="string">RWY Turnoff LT</desc>
|
||||
<binding>
|
||||
<command type="string">property-toggle</command>
|
||||
<property>controls/lighting/turnoff-light-switch</property>
|
||||
</binding>
|
||||
<repeatable type="double">0</repeatable>
|
||||
</button>
|
||||
</PropertyList>
|
326
fgfs/Input/Joysticks/Thrustmaster-TCA-Q-Eng-1&2.xml
Normal file
326
fgfs/Input/Joysticks/Thrustmaster-TCA-Q-Eng-1&2.xml
Normal file
|
@ -0,0 +1,326 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
<name type="string">Thrustmaster TCA Q-Eng 1&2</name>
|
||||
<axis>
|
||||
<desc type="string">Throttle Engine 0</desc>
|
||||
<!-- Single and dual ENG aircraft -->
|
||||
<binding>
|
||||
<!--condition>
|
||||
<and>
|
||||
<not-equals>
|
||||
<property>/sim/aero/</property>
|
||||
<value>A380_RJ</value>
|
||||
</not-equals>
|
||||
<not-equals>
|
||||
<property>/sim/aero/</property>
|
||||
<value>MD-11F-GE</value>
|
||||
</not-equals>
|
||||
<not-equals>
|
||||
<property>/sim/aero/</property>
|
||||
<value>Tu-144D-jsbsim/Tu-144D</value>
|
||||
</not-equals>
|
||||
</and>
|
||||
</condition-->
|
||||
<command type="string">property-scale</command>
|
||||
<property type="string">/controls/engines/engine[0]/throttle</property>
|
||||
<factor type="double">-0.5</factor>
|
||||
<offset type="double">-1</offset>
|
||||
</binding>
|
||||
<!-- quad ENG aircraft -->
|
||||
<binding>
|
||||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>/sim/aero/</property>
|
||||
<value>A380</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/sim/aero/</property>
|
||||
<value>MD-11F-GE</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/sim/aero/</property>
|
||||
<value>Tu-144D-jsbsim/Tu-144D</value>
|
||||
</equals>
|
||||
</or>
|
||||
</condition>
|
||||
<command type="string">property-scale</command>
|
||||
<property type="string">/controls/engines/engine[0]/throttle</property>
|
||||
<factor type="double">-0.5</factor>
|
||||
<offset type="double">-1</offset>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>/sim/aero/</property>
|
||||
<value>A380_RJ</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/sim/aero/</property>
|
||||
<value>MD-11F-GE</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/sim/aero/</property>
|
||||
<value>Tu-144D-jsbsim/Tu-144D</value>
|
||||
</equals>
|
||||
</or>
|
||||
</condition>
|
||||
<command type="string">property-scale</command>
|
||||
<property type="string">/controls/engines/engine[1]/throttle</property>
|
||||
<factor type="double">-0.5</factor>
|
||||
<offset type="double">-1</offset>
|
||||
</binding>
|
||||
<!-- Reverse zone -->
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>controls/engines/engine[0]/reverse-zone</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command type="string">property-scale</command>
|
||||
<property type="string">/controls/engines/engine[0]/reverse-lever</property>
|
||||
<factor type="double">2</factor>
|
||||
<offset type="double">-0.5</offset>
|
||||
</binding>
|
||||
</axis>
|
||||
<axis n="1">
|
||||
<desc type="string">Throttle Engine 1</desc>
|
||||
<!-- Single and dual ENG aircraft -->
|
||||
<binding>
|
||||
<condition>
|
||||
<and>
|
||||
<not-equals>
|
||||
<property>/sim/aero/</property>
|
||||
<value>A380_RJ</value>
|
||||
</not-equals>
|
||||
<not-equals>
|
||||
<property>/sim/aero/</property>
|
||||
<value>MD-11F-GE</value>
|
||||
</not-equals>
|
||||
<not-equals>
|
||||
<property>/sim/aero/</property>
|
||||
<value>Tu-144D-jsbsim/Tu-144D</value>
|
||||
</not-equals>
|
||||
</and>
|
||||
</condition>
|
||||
<command type="string">property-scale</command>
|
||||
<property type="string">/controls/engines/engine[1]/throttle</property>
|
||||
<factor type="double">-0.5</factor>
|
||||
<offset type="double">-1</offset>
|
||||
</binding>
|
||||
<!-- quad ENG aircraft -->
|
||||
<binding>
|
||||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>/sim/aero/</property>
|
||||
<value>A380_RJ</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/sim/aero/</property>
|
||||
<value>MD-11F-GE</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/sim/aero/</property>
|
||||
<value>Tu-144D-jsbsim/Tu-144D</value>
|
||||
</equals>
|
||||
</or>
|
||||
</condition>
|
||||
<command type="string">property-scale</command>
|
||||
<property type="string">/controls/engines/engine[2]/throttle</property>
|
||||
<factor type="double">-0.5</factor>
|
||||
<offset type="double">-1</offset>
|
||||
</binding>
|
||||
<binding>
|
||||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>/sim/aero/</property>
|
||||
<value>A380_RJ</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/sim/aero/</property>
|
||||
<value>MD-11F-GE</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/sim/aero/</property>
|
||||
<value>Tu-144D-jsbsim/Tu-144D</value>
|
||||
</equals>
|
||||
</or>
|
||||
</condition>
|
||||
<command type="string">property-scale</command>
|
||||
<property type="string">/controls/engines/engine[3]/throttle</property>
|
||||
<factor type="double">-0.5</factor>
|
||||
<offset type="double">-1</offset>
|
||||
</binding>
|
||||
<!-- Reverse zone -->
|
||||
<binding>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>controls/engines/engine[1]/reverse-zone</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<command type="string">property-scale</command>
|
||||
<property type="string">/controls/engines/engine[1]/reverse-lever</property>
|
||||
<factor type="double">2</factor>
|
||||
<offset type="double">-0.5</offset>
|
||||
</binding>
|
||||
</axis>
|
||||
<button>
|
||||
<desc type="string">A/THR Disc</desc>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">
|
||||
if (string.match(getprop("/sim/aero"), "A3[123458][0189]*"))
|
||||
{
|
||||
fcu.FCUController.ATDisc();
|
||||
}
|
||||
</script>
|
||||
</binding>
|
||||
</button>
|
||||
<button n="1">
|
||||
<desc type="string">A/THR Disc</desc>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">
|
||||
if (string.match(getprop("/sim/aero"), "A3[123458][0189]*"))
|
||||
{
|
||||
fcu.FCUController.ATDisc();
|
||||
}
|
||||
</script>
|
||||
</binding>
|
||||
</button>
|
||||
<button n="2">
|
||||
<desc type="string">ENG Master 1</desc>
|
||||
<repeatable type="string">false</repeatable>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>controls/engines/engine[0]/cutoff-switch</property>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
<mod-up>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>controls/engines/engine[0]/cutoff-switch</property>
|
||||
<value>1</value>
|
||||
</binding>
|
||||
</mod-up>
|
||||
</button>
|
||||
<button n="3">
|
||||
<desc type="string">ENG Master 1</desc>
|
||||
<repeatable type="string">false</repeatable>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>controls/engines/engine[1]/cutoff-switch</property>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
<mod-up>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>controls/engines/engine[1]/cutoff-switch</property>
|
||||
<value>1</value>
|
||||
</binding>
|
||||
</mod-up>
|
||||
</button>
|
||||
<button n="5">
|
||||
<desc type="string">APU Start/Stop</desc>
|
||||
<binding>
|
||||
<command type="string">nasal</command>
|
||||
<script type="string">
|
||||
if (string.match(getprop("/sim/aero"), "A3[123458][0189]*"))
|
||||
{
|
||||
if(getprop("/systems/electrical/bus/dc-bat") >= 25)
|
||||
{
|
||||
if(getprop("/controls/apu/master") == 0)
|
||||
{
|
||||
setprop("/controls/apu/master", 1);
|
||||
systems.APUController.APU.startCommand();
|
||||
}
|
||||
else
|
||||
{
|
||||
setprop("/controls/apu/master", 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</binding>
|
||||
</button>
|
||||
<button n="6">
|
||||
<desc type="string">ENG Mode Crank</desc>
|
||||
<repeatable type="string">false</repeatable>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>controls/ignition/start-sw</property>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
<mod-up>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>controls/ignition/start-sw</property>
|
||||
<value>1</value>
|
||||
</binding>
|
||||
</mod-up>
|
||||
</button>
|
||||
<button n="7">
|
||||
<desc type="string">ENG Mode Start</desc>
|
||||
<repeatable type="string">false</repeatable>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>controls/ignition/start-sw</property>
|
||||
<value>2</value>
|
||||
</binding>
|
||||
<mod-up>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>controls/ignition/start-sw</property>
|
||||
<value>1</value>
|
||||
</binding>
|
||||
</mod-up>
|
||||
</button>
|
||||
<button n="11">
|
||||
<desc type="string">Rev Engaged</desc>
|
||||
<repeatable type="string">false</repeatable>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>controls/engines/engine[0]/reverse-zone</property>
|
||||
<value>1</value>
|
||||
</binding>
|
||||
<mod-up>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>controls/engines/engine[0]/reverse-zone</property>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>controls/engines/engine[0]/reverse-lever</property>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
</mod-up>
|
||||
</button>
|
||||
<button n="15">
|
||||
<desc type="string">Rev Engaged</desc>
|
||||
<repeatable type="string">false</repeatable>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>controls/engines/engine[1]/reverse-zone</property>
|
||||
<value>1</value>
|
||||
</binding>
|
||||
<mod-up>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>controls/engines/engine[1]/reverse-zone</property>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<property>controls/engines/engine[1]/reverse-lever</property>
|
||||
<value>0</value>
|
||||
</binding>
|
||||
</mod-up>
|
||||
</button>
|
||||
</PropertyList>
|
128
nixos/configs/base.nix
Normal file
128
nixos/configs/base.nix
Normal file
|
@ -0,0 +1,128 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
console = {
|
||||
font = "Lat2-Terminus16";
|
||||
keyMap = "de";
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
wget
|
||||
curl
|
||||
htop
|
||||
iotop
|
||||
iftop
|
||||
ranger
|
||||
parallel
|
||||
ncdu
|
||||
zip
|
||||
smartmontools
|
||||
nmap
|
||||
rsync
|
||||
progress
|
||||
perl
|
||||
acpi
|
||||
lm_sensors
|
||||
torsocks
|
||||
tmux
|
||||
gnupg1
|
||||
nix-index
|
||||
hexedit
|
||||
gdb
|
||||
dig
|
||||
(lib.lowPrio python311)
|
||||
borgbackup
|
||||
zip
|
||||
unzip
|
||||
p7zip
|
||||
lsof
|
||||
pciutils
|
||||
usbutils
|
||||
dmidecode
|
||||
tree
|
||||
gitui
|
||||
git-lfs
|
||||
gitFull
|
||||
];
|
||||
|
||||
services = {
|
||||
netdata = {
|
||||
enable = true;
|
||||
config = {
|
||||
global = {
|
||||
"memory mode" = "dbengine";
|
||||
"page cache size" = "32";
|
||||
"dbengine multihost disk space" = "4096";
|
||||
};
|
||||
ml = {
|
||||
"enabled" = "no";
|
||||
};
|
||||
};
|
||||
};
|
||||
openssh = {
|
||||
enable = true;
|
||||
settings = {
|
||||
PermitRootLogin = "no";
|
||||
PasswordAuthentication = false;
|
||||
KbdInteractiveAuthentication = false;
|
||||
Ciphers = [
|
||||
"chacha20-poly1305@openssh.com"
|
||||
"aes256-gcm@openssh.com"
|
||||
"aes256-ctr"
|
||||
];
|
||||
KexAlgorithms = [
|
||||
"sntrup761x25519-sha512@openssh.com"
|
||||
"curve25519-sha256"
|
||||
"curve25519-sha256@libssh.org"
|
||||
];
|
||||
};
|
||||
openFirewall = true;
|
||||
};
|
||||
cron.enable = true;
|
||||
fail2ban.enable = true;
|
||||
|
||||
# For SSDs
|
||||
fstrim.enable = lib.mkDefault true;
|
||||
};
|
||||
|
||||
users.users.fly = {
|
||||
isNormalUser = true;
|
||||
};
|
||||
|
||||
# to fix issue with iotop not showing IO times, see https://github.com/NixOS/nixpkgs/issues/160361#issuecomment-1246433671
|
||||
boot.kernel.sysctl = { "kernel.task_delayacct" = 1; };
|
||||
|
||||
security.sudo.extraConfig = "Cmnd_Alias SHUTDOWN = /run/current-system/sw/bin/shutdown
|
||||
Cmnd_Alias IOTOP = /run/current-system/sw/bin/iotop
|
||||
Cmnd_Alias IFTOP = /run/current-system/sw/bin/iftop
|
||||
Cmnd_Alias RPROF = /run/current-system/sw/bin/radeon-profile
|
||||
Cmnd_Alias CCTRL = /run/current-system/sw/bin/corectrl
|
||||
Cmnd_Alias LIGHT = /run/current-system/sw/bin/light
|
||||
fly ALL=(ALL) NOPASSWD: SHUTDOWN,IOTOP,IFTOP,RPROF,CCTRL,LIGHT";
|
||||
|
||||
|
||||
programs = {
|
||||
vim.defaultEditor = true;
|
||||
ssh = {
|
||||
ciphers = [
|
||||
"chacha20-poly1305@openssh.com"
|
||||
"aes256-gcm@openssh.com"
|
||||
"aes256-ctr"
|
||||
];
|
||||
kexAlgorithms = [
|
||||
"sntrup761x25519-sha512@openssh.com"
|
||||
"curve25519-sha256"
|
||||
"curve25519-sha256@libssh.org"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
nix.settings = {
|
||||
experimental-features = [
|
||||
"flakes"
|
||||
"nix-command"
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
}
|
33
nixos/configs/desktop-base.nix
Normal file
33
nixos/configs/desktop-base.nix
Normal file
|
@ -0,0 +1,33 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
firefox
|
||||
arandr
|
||||
ffmpeg
|
||||
pavucontrol
|
||||
vlc
|
||||
xorg.xbacklight
|
||||
];
|
||||
|
||||
# Enable sound.
|
||||
sound.enable = true;
|
||||
hardware.pulseaudio = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
services = {
|
||||
# pipewire = {
|
||||
# enable = true;
|
||||
# pulse.enable = true;
|
||||
# alsa.enable = true;
|
||||
# wireplumber.enable = true;
|
||||
# };
|
||||
# Configure keymap in X11
|
||||
xserver.layout = "de";
|
||||
};
|
||||
|
||||
networking.networkmanager.enable = true;
|
||||
users.users.fly.extraGroups = [ "networkmanager" ];
|
||||
|
||||
}
|
18
nixos/configs/desktop-i3.nix
Normal file
18
nixos/configs/desktop-i3.nix
Normal file
|
@ -0,0 +1,18 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
# Enable the X11 windowing system.
|
||||
services.xserver.enable = true;
|
||||
services.xserver.windowManager.i3.enable = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
i3blocks
|
||||
i3lock
|
||||
playerctl
|
||||
xkblayout-state
|
||||
gnome.gnome-terminal
|
||||
dconf
|
||||
pango
|
||||
sysstat # for mpstat
|
||||
];
|
||||
}
|
13
nixos/configs/flightgear-shell.nix
Normal file
13
nixos/configs/flightgear-shell.nix
Normal file
|
@ -0,0 +1,13 @@
|
|||
let
|
||||
pkgs = import <nixpkgs> {};
|
||||
openxr-loader = pkgs.openxr-loader;
|
||||
osgXR = pkgs.callPackage /home/fly/nix/programs/osgXR/default.nix {inherit openxr-loader;};
|
||||
in pkgs.mkShell {
|
||||
QT_PLUGIN_PATH = "${pkgs.libsForQt5.qt5.qtbase}/${pkgs.libsForQt5.qt5.qtbase.qtPluginPrefix}";
|
||||
inputsFrom = [pkgs.flightgear];
|
||||
packages = with pkgs; [
|
||||
osgXR
|
||||
pkgs.openxr-loader
|
||||
pkgs.libsForQt5.qt5.wrapQtAppsHook
|
||||
];
|
||||
}
|
17
nixos/configs/flightgear.nix
Normal file
17
nixos/configs/flightgear.nix
Normal file
|
@ -0,0 +1,17 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs;
|
||||
let atools = pkgs.libsForQt5.callPackage ../programs/atools/default.nix {};
|
||||
in [
|
||||
(pkgs.libsForQt5.callPackage ../programs/littlenavmap/default.nix {inherit atools;})
|
||||
# (pkgs.libsForQt5.callPackage ../programs/littlefgconnect/default.nix {inherit atools;})
|
||||
(pkgs.libsForQt5.callPackage ../programs/fgqcanvas/default.nix {})
|
||||
mangohud
|
||||
flightgear
|
||||
];
|
||||
services.udev.extraRules = ''
|
||||
SUBSYSTEM=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="27dd", MODE="0666"
|
||||
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="27dd", MODE="0666", TAG+="uaccess"
|
||||
'';
|
||||
}
|
27
nixos/flake.lock
Normal file
27
nixos/flake.lock
Normal file
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1716361217,
|
||||
"narHash": "sha256-mzZDr00WUiUXVm1ujBVv6A0qRd8okaITyUp4ezYRgc4=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "46397778ef1f73414b03ed553a3368f0e7e33c2f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-23.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
15
nixos/flake.nix
Normal file
15
nixos/flake.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
|
||||
};
|
||||
outputs = { self, nixpkgs, ... }: {
|
||||
nixosConfigurations = {
|
||||
simhost1 = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
./systems/simhost1/simhost1.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
1
nixos/programs/atools/build
Executable file
1
nixos/programs/atools/build
Executable file
|
@ -0,0 +1 @@
|
|||
nix-build -E '(import <nixpkgs> {}).callPackage ./. {}'
|
47
nixos/programs/atools/default.nix
Normal file
47
nixos/programs/atools/default.nix
Normal file
|
@ -0,0 +1,47 @@
|
|||
{ fetchFromGitHub
|
||||
, pkg-config
|
||||
, stdenv
|
||||
, lib
|
||||
# Package dependencies
|
||||
, libsForQt5
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "atools";
|
||||
version = "4.0.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "albar965";
|
||||
repo = "atools";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-ieL7cGqXNmGMyTf8tXCSmwQFwyHyy8NwGJ+3Zg92nmM=";
|
||||
};
|
||||
|
||||
dontWrapQtApps = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/include
|
||||
mv libatools.a $out
|
||||
cp -r * $out/include/
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
libsForQt5.qmake
|
||||
pkg-config
|
||||
libsForQt5.qttools
|
||||
];
|
||||
buildInputs = [
|
||||
libsForQt5.qtwebengine
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/albar965/atools";
|
||||
description = "static library extending Qt for exception handling,
|
||||
a log4j like logging framework, Flight Simulator related utilities like BGL reader
|
||||
and more.";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ nayala ];
|
||||
};
|
||||
}
|
1
nixos/programs/atools/result
Symbolic link
1
nixos/programs/atools/result
Symbolic link
|
@ -0,0 +1 @@
|
|||
/nix/store/58lmazbvfa9638rl0bfdw25yl1v1sn4v-atools-4.0.6
|
1
nixos/programs/fgqcanvas/build
Executable file
1
nixos/programs/fgqcanvas/build
Executable file
|
@ -0,0 +1 @@
|
|||
nix-build -E 'let pkgs = import <nixpkgs> {}; in (import <nixpkgs> {}).libsForQt5.callPackage ./. {}'
|
57
nixos/programs/fgqcanvas/default.nix
Normal file
57
nixos/programs/fgqcanvas/default.nix
Normal file
|
@ -0,0 +1,57 @@
|
|||
{ qmake
|
||||
, wrapQtAppsHook
|
||||
, fetchgit
|
||||
, pkg-config
|
||||
, stdenv
|
||||
, lib
|
||||
, pkgs
|
||||
# Package dependencies
|
||||
, qttools
|
||||
, qtwebsockets
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fgqcanvas";
|
||||
version = "0.1";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.code.sf.net/p/flightgear/flightgear";
|
||||
rev = "3168828949d6b42959ccee6c202b8895493edb2b";
|
||||
sha256 = "sha256-QiIMkrzaB/ljVf6c+RJNFWKLZa84cIjYPO5nxEFDqjg=";
|
||||
};
|
||||
|
||||
# patches = [];
|
||||
|
||||
nativeBuildInputs = [
|
||||
wrapQtAppsHook
|
||||
qmake
|
||||
pkg-config
|
||||
qttools
|
||||
];
|
||||
buildInputs = [
|
||||
qtwebsockets
|
||||
|
||||
];
|
||||
|
||||
configurePhase = ''
|
||||
cd utils/fgqcanvas/
|
||||
mkdir -p build
|
||||
cd build
|
||||
qmake -makefile ../fgcanvas.pro CONFIG+="release" QMAKE_CXXFLAGS+=' -Wno-deprecated-copy -Wno-deprecated -Wno-deprecated-declarations'
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
mv fgqcanvas $out/bin/
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://sourceforge.net/p/flightgear/flightgear/ci/next/tree/utils/fgqcanvas/README.md";
|
||||
description = "A Qt-based remote canvas application for FlightGear";
|
||||
# license = licenses.gpl3;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [];
|
||||
};
|
||||
}
|
1
nixos/programs/fgqcanvas/result
Symbolic link
1
nixos/programs/fgqcanvas/result
Symbolic link
|
@ -0,0 +1 @@
|
|||
/nix/store/xqa9csszk2yg9p673wb3pf2s9dcbixla-fgqcanvas-0.1
|
1
nixos/programs/hidviz/build
Executable file
1
nixos/programs/hidviz/build
Executable file
|
@ -0,0 +1 @@
|
|||
nix-build -E '(import <nixpkgs> {}).callPackage ./. {}'
|
58
nixos/programs/hidviz/default.nix
Normal file
58
nixos/programs/hidviz/default.nix
Normal file
|
@ -0,0 +1,58 @@
|
|||
{ lib
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, pkg-config
|
||||
, stdenv
|
||||
# Package dependencies
|
||||
, qt6
|
||||
, libusb1
|
||||
, protobuf
|
||||
, asio
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "hidviz";
|
||||
version = "0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hidviz";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-9crHFYVNNxJjwJojwqB8qdAGyr1Ieux9qC3m3rpIJw0=";
|
||||
};
|
||||
|
||||
#patches = [ ./fix_webkit_webengine.patch ];
|
||||
|
||||
dontWrapQtApps = true;
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace libhidx/cmake_modules/Findasio.cmake --replace '/usr/include/asio' '${lib.getDev asio}/include/asio'
|
||||
'';
|
||||
|
||||
# installPhase = ''
|
||||
# runHook preInstall
|
||||
# mkdir -p $out/include
|
||||
# mv libatools.a $out
|
||||
# cp -r * $out/include/
|
||||
# '';
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
qt6.qttools
|
||||
];
|
||||
buildInputs = [
|
||||
qt6.qtwebengine
|
||||
libusb1
|
||||
protobuf
|
||||
asio
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/hidviz/hidviz";
|
||||
description = "A GUI application for in-depth analysis of USB HID class devices.";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [];
|
||||
};
|
||||
}
|
1
nixos/programs/hidviz/result
Symbolic link
1
nixos/programs/hidviz/result
Symbolic link
|
@ -0,0 +1 @@
|
|||
/nix/store/mbp2iaraz2xbb2drd68gsnf9iyxhm05b-hidviz-0.2
|
1
nixos/programs/littlefgconnect/build
Executable file
1
nixos/programs/littlefgconnect/build
Executable file
|
@ -0,0 +1 @@
|
|||
nix-build -E 'let pkgs = import <nixpkgs> {}; atools = pkgs.libsForQt5.callPackage ../atools/default.nix {}; in (import <nixpkgs> {}).libsForQt5.callPackage ./. {inherit atools;}'
|
62
nixos/programs/littlefgconnect/default.nix
Normal file
62
nixos/programs/littlefgconnect/default.nix
Normal file
|
@ -0,0 +1,62 @@
|
|||
{ qmake
|
||||
, wrapQtAppsHook
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, stdenv
|
||||
, lib
|
||||
, pkgs
|
||||
# Package dependencies
|
||||
, qttools
|
||||
, atools
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "littlefgconnect";
|
||||
version = "0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "slawekmikula";
|
||||
repo = pname;
|
||||
rev = "f082b2fc7e2dbe61384dd1e362859f5309500859";
|
||||
sha256 = "sha256-W7K3aAsmITOmX73z3nDzVPUWzgYf+FwHVpgz9Pwo13E=";
|
||||
};
|
||||
|
||||
patches = [ ./fix-var-name.patch ];
|
||||
|
||||
ATOOLS_LIB_PATH = atools;
|
||||
ATOOLS_INC_PATH = "${atools}/include/src";
|
||||
|
||||
nativeBuildInputs = [
|
||||
wrapQtAppsHook
|
||||
qmake
|
||||
pkg-config
|
||||
qttools
|
||||
];
|
||||
buildInputs = [
|
||||
atools
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
mkdir -p build
|
||||
cd build
|
||||
qmake ../littlefgconnect.pro CONFIG+="release" QMAKE_CXXFLAGS+=' -Wno-deprecated-copy -Wno-deprecated -Wno-deprecated-declarations'
|
||||
make -j $(nproc)
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
mv littlefgconnect $out/bin/
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/slawekmikula/littlefgconnect";
|
||||
description = "Connector between Littlenavmap and Flightgear";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [];
|
||||
};
|
||||
}
|
13
nixos/programs/littlefgconnect/fix-var-name.patch
Normal file
13
nixos/programs/littlefgconnect/fix-var-name.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
diff --git a/src/fgconnect.cpp b/src/fgconnect.cpp
|
||||
index 0ccf479..2ad6292 100644
|
||||
--- a/src/fgconnect.cpp
|
||||
+++ b/src/fgconnect.cpp
|
||||
@@ -225,7 +225,7 @@ bool XpConnect::fillSimConnectData(QString simData, atools::fs::sc::SimConnectDa
|
||||
// userAircraft.wingSpanFt
|
||||
|
||||
// Set misc flags
|
||||
- userAircraft.flags = atools::fs::sc::IS_USER | atools::fs::sc::SIM_XPLANE; // FIXME
|
||||
+ userAircraft.flags = atools::fs::sc::IS_USER | atools::fs::sc::SIM_XPLANE11; // FIXME
|
||||
if((int)altitudeAboveGroundFt == 0) {
|
||||
userAircraft.flags |= atools::fs::sc::ON_GROUND;
|
||||
}
|
1
nixos/programs/littlenavmap/build
Executable file
1
nixos/programs/littlenavmap/build
Executable file
|
@ -0,0 +1 @@
|
|||
nix-build -E 'let pkgs = import <nixpkgs> {}; atools = pkgs.callPackage ../atools/default.nix {}; in (import <nixpkgs> {}).libsForQt5.callPackage ./. {inherit atools;}'
|
73
nixos/programs/littlenavmap/default.nix
Normal file
73
nixos/programs/littlenavmap/default.nix
Normal file
|
@ -0,0 +1,73 @@
|
|||
{ fetchFromGitHub
|
||||
, pkg-config
|
||||
, stdenv
|
||||
, lib
|
||||
, pkgs
|
||||
# Package dependencies
|
||||
, libsForQt5
|
||||
, atools
|
||||
, plasma5Packages
|
||||
}:
|
||||
|
||||
let
|
||||
customMarble = plasma5Packages.marble.overrideAttrs (old: { src = fetchFromGitHub {
|
||||
owner = "albar965";
|
||||
repo = "marble";
|
||||
rev = "722acf7f8d79023f6c6a761063645a1470bb3935"; # MUST be lnm/1.1 branch
|
||||
sha256 = "sha256-5GSa+xIQS9EgJXxMFUOA5jTtHJ6Dl4C9yAkFPIOrgo8=";
|
||||
}; preConfigure = ''
|
||||
cmakeFlags+=" -DQTONLY=TRUE -DBUILD_MARBLE_EXAMPLES=NO -DBUILD_INHIBIT_SCREENSAVER_PLUGIN=NO -DBUILD_MARBLE_APPS=NO -DBUILD_MARBLE_EXAMPLES=NO -DBUILD_MARBLE_TESTS=NO -DBUILD_MARBLE_TOOLS=NO -DBUILD_TESTING=NO -DBUILD_WITH_DBUS=NO -DMARBLE_EMPTY_MAPTHEME=YES -DMOBILE=NO -DWITH_DESIGNER_PLUGIN=NO -DWITH_Phonon=NO -DWITH_Qt5Location=NO -DWITH_Qt5Positioning=NO -DWITH_Qt5SerialPort=NO -DWITH_ZLIB=NO -DWITH_libgps=NO -DWITH_libshp=NO -DWITH_libwlocate=NO -Wno-deprecated-copy -Wno-deprecated -Wno-deprecated-declarations -DINCLUDE_INSTALL_DIR=''${!outputDev}/include"
|
||||
''; });
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "littlenavmap";
|
||||
version = "3.0.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "albar965";
|
||||
repo = "littlenavmap";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-u3H2U+8HZD18Yt6UB7QTTQOrrzN03PGolbFYddG8AIc=";
|
||||
};
|
||||
|
||||
ATOOLS_LIB_PATH = atools;
|
||||
ATOOLS_INC_PATH = "${atools}/include/src";
|
||||
MARBLE_LIB_PATH = "${customMarble}/lib";
|
||||
MARBLE_INC_PATH = "${customMarble}/include";
|
||||
|
||||
nativeBuildInputs = [
|
||||
libsForQt5.wrapQtAppsHook
|
||||
libsForQt5.qmake
|
||||
pkg-config
|
||||
libsForQt5.qttools
|
||||
];
|
||||
buildInputs = [
|
||||
libsForQt5.qtwebengine
|
||||
atools
|
||||
customMarble
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
mkdir -p build
|
||||
cd build
|
||||
qmake ../littlenavmap.pro CONFIG+="release" QMAKE_CXXFLAGS+=' -Wno-deprecated-copy -Wno-deprecated -Wno-deprecated-declarations'
|
||||
make -j $(nproc)
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
mv littlenavmap customize data help translations plugins $out/bin/
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://albar965.github.io/index.html";
|
||||
description = "A free open source flight planner, navigation tool, moving map, airport search and airport information system";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [];
|
||||
};
|
||||
}
|
1
nixos/programs/littlenavmap/result
Symbolic link
1
nixos/programs/littlenavmap/result
Symbolic link
|
@ -0,0 +1 @@
|
|||
/nix/store/57s1iay4mbbnaksqbni6hl76i6x56kj5-littlenavmap-3.0.6
|
40
nixos/systems/simhost1/hardware-configuration.nix
Normal file
40
nixos/systems/simhost1/hardware-configuration.nix
Normal file
|
@ -0,0 +1,40 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ "dm-snapshot" ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/d490887c-cae0-4c5c-85b7-0c23b1c115a1";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/12CE-A600";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0022" "dmask=0022" ];
|
||||
};
|
||||
|
||||
swapDevices = [];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.docker0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.eno1.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.virbr0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
25
nixos/systems/simhost1/simhost1.nix
Normal file
25
nixos/systems/simhost1/simhost1.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
../../configs/base.nix
|
||||
../../configs/desktop-base.nix
|
||||
../../configs/desktop-i3.nix
|
||||
../../configs/flightgear.nix
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
killall
|
||||
];
|
||||
|
||||
boot.loader.grub.enable = true;
|
||||
# boot.loader.grub.efiSupport = true;
|
||||
boot.loader.grub.device = "/dev/sda"; # or "nodev" for efi only
|
||||
|
||||
networking.hostName = "simhost1";
|
||||
|
||||
system.stateVersion = "23.11"; # Did you read the comment?
|
||||
|
||||
}
|
||||
|
Loading…
Reference in a new issue