Compare commits

...

15 Commits

Author SHA1 Message Date
Eli Ribble 1d81fbcd9d Add VLC for watching recorded videos 2025-04-09 09:14:30 -07:00
Eli Ribble 947244095b Add tools for assessing overheat risk.
I'm thinking that I've been overheating my laptop, and that has lead to
the occasional restarts. These tools are helping me to assess that.
2025-04-09 09:13:44 -07:00
Eli Ribble 09369a243a Add libation for extracting audiobooks 2025-04-09 09:12:57 -07:00
Eli Ribble 481b3ac59f Switch from old Brother printer to new Brother printer.
I no longer need the elaborate workaround for a 12-year-old printer.
2025-03-25 13:12:10 -07:00
Eli Ribble c8dfe8bfde Add Freetube.
Not sure how long it'll work, but right now YouTube on my Chromium
install is getting blocked about 8 seconds into any video.
2025-03-12 09:27:31 -07:00
Eli Ribble 9ace639765 Add devenv for setting up elaborate Python dev environments 2025-03-12 09:27:31 -07:00
Eli Ribble 9fd5cf781a Add custom fish shell that shows whether I'm in nix-shell 2025-03-12 09:27:31 -07:00
Eli Ribble 25169346e6 Add thunderbird 2025-03-12 09:27:31 -07:00
Eli Ribble f185e4f61f Fix enable ungoogled chromium 2025-03-12 09:27:31 -07:00
Eli Ribble 7e7df75a27 Add gitFull package for git.
It allows me to send patch emails
2025-03-12 09:27:31 -07:00
Eli Ribble d5bd463b49 Update to a newer home-manager channel
Mirrors the update I did to the overall system
2025-03-12 09:27:31 -07:00
Eli Ribble 12485dc698 Get rid of spotify, use spotify-player
The main graphical spotify client seems to crash kind of a lot.
2025-03-12 09:27:31 -07:00
Eli Ribble 8b8f4c9379 Add mercurial.
Sometimes I do stuff with code.
2025-03-12 09:27:31 -07:00
Eli Ribble 8338996e65 Move to ungoogled-chromium for my browsing.
I'm sick of those guys.
2025-03-12 09:27:31 -07:00
Eli Ribble cee7610873 Add aerc email client.
I figured out how to get it to work with Stalwart mail.
2025-03-12 09:27:31 -07:00
3 changed files with 201 additions and 698 deletions

View File

@ -1,665 +0,0 @@
*PPD-Adobe: "4.3"
*%================================================
*% Copyright(C) 2013 Brother Industries, Ltd.
*% "Brother HL-L8250CDN BR-Script3"
*%================================================
*%==== General Information Keywords ========================
*FormatVersion: "4.3"
*FileVersion: "1.0"
*LanguageEncoding: ISOLatin1
*LanguageVersion: English
*Manufacturer: "Brother"
*PCFileName: "BRPHL8250CDN.PPD"
*Product: "(Brother HL-L8250CDN)"
*PSVersion: "(3010.106) 3"
*ShortNickName: "Brother HL-L8250CDN BR-Script3"
*ModelName: "Brother HL-L8250CDN BR-Script3"
*NickName: "Brother HL-L8250CDN BR-Script3"
*%==== Basic Device Capabilities =============
*LanguageLevel: "3"
*TTRasterizer: Type42
*ColorDevice: True
*DefaultColorSpace: CMYK
*FileSystem: True
*?FileSystem:"
save
/devname (%disk0%) def
/ret false def
0 1 7{
devname exch 48 add 5 exch put
devname devstatus {
0 ne {/ret true def}if
pop pop pop pop pop pop pop
}if
}for
ret {(True)}{(False)} ifelse = flush
restore
"
*End
*Throughput: "28"
*FreeVM: "2700000"
*%==== Emulations and Protocols ==========
*Protocols: TBCP
*SuggestedJobTimeout: "0"
*SuggestedWaitTimeout: "300"
*PrintPSErrors: True
*%==== PostScript Patches ==========
*%*JobPatchFile 1: "statusdict/setusbbinary known{statusdict begin true setusbbinary end}if"
*%==== JCL Features ==========================
*%JCLBegin: "<1B>%-12345X@PJL JOB<0A>"
*%JCLToPSInterpreter: "@PJL ENTER LANGUAGE = POSTSCRIPT <0A>"
*%JCLEnd: "<1B>%-12345X@PJL EOJ <0A><1B>%-12345X"
*%==== Installable Options ===================
*OpenGroup: InstallableOptions/Options Installed
*OpenUI *OptionTrays/Number of Input Trays: PickOne
*DefaultOptionTrays: 2Trays
*OptionTrays 1Trays/ 1: ""
*OptionTrays 2Trays/ 2: ""
*?OptionTrays:"
save
<</BRFeeder 1>>setpagedevice currentpagedevice/BRFeeder get
1 eq{(2Trays)}{(1Trays)}ifelse
= flush
restore
"
*End
*CloseUI: *OptionTrays
*CloseGroup: InstallableOptions
*UIConstraints: *OptionTrays 1Trays *InputSlot Tray2
*UIConstraints: *InputSlot Tray2 *OptionTrays 1Trays
*%==== Media Selection ======================
*OpenUI *PageSize: PickOne
*OrderDependency: 30 AnySetup *PageSize
*DefaultPageSize: Letter
*PageSize Letter/Letter: "<< /PageSize [612 792] /ImagingBBox null >> setpagedevice"
*PageSize Legal/Legal: "<< /PageSize [612 1008] /ImagingBBox null >> setpagedevice"
*PageSize Executive/Executive: "<< /PageSize [522 756] /ImagingBBox null >> setpagedevice"
*PageSize A4/A4: "<< /PageSize [595 842] /ImagingBBox null >> setpagedevice"
*PageSize A5/A5: "<< /PageSize [420 595] /ImagingBBox null >> setpagedevice"
*PageSize A5L/A5 Long Edge: "<< /PageSize [595 419] /ImagingBBox null >> setpagedevice"
*PageSize A6/A6: "<< /PageSize [297 420] /ImagingBBox null >> setpagedevice"
*PageSize Env10/Com-10: "<< /PageSize [297 684] /ImagingBBox null >> setpagedevice"
*PageSize EnvMonarch/Monarch: "<</PageSize [279 540] /ImagingBBox null>> setpagedevice"
*PageSize EnvDL/DL: "<< /PageSize [312 624] /ImagingBBox null >> setpagedevice"
*%*PageSize EnvDLRotated/DL Long Edge: "<< /PageSize [624 312] /ImagingBBox null >> setpagedevice"
*PageSize EnvC5/C5: "<</PageSize [459 649] /ImagingBBox null>> setpagedevice"
*PageSize EnvISOB5/B5: "<< /PageSize [499 709] /ImagingBBox null >> setpagedevice"
*PageSize B5/JIS B5: "<< /PageSize [515.0 727.0] /ImagingBBox null >> setpagedevice"
*PageSize 3x5/3 x 5: "<< /PageSize [216 360] /ImagingBBox null >> setpagedevice"
*PageSize FanFoldGermanLegal/Folio: "<< /PageSize [612 936] /ImagingBBox null >> setpagedevice"
*CloseUI: *PageSize
*OpenUI *PageRegion: PickOne
*OrderDependency: 40 AnySetup *PageRegion
*DefaultPageRegion: Letter
*PageRegion Letter/Letter: "<< /PageSize [612 792] /ImagingBBox null >> setpagedevice"
*PageRegion Legal/Legal: "<< /PageSize [612 1008] /ImagingBBox null >> setpagedevice"
*PageRegion Executive/Executive: "<< /PageSize [522 756] /ImagingBBox null >> setpagedevice"
*PageRegion A4/A4: "<< /PageSize [595 842] /ImagingBBox null >> setpagedevice"
*PageRegion A5/A5: "<< /PageSize [420 595] /ImagingBBox null >> setpagedevice"
*PageRegion A5L/A5 Long Edge: "<< /PageSize [595 419] /ImagingBBox null >> setpagedevice"
*PageRegion A6/A6: "<< /PageSize [297 420] /ImagingBBox null >> setpagedevice"
*PageRegion Env10/Com-10: "<< /PageSize [297 684] /ImagingBBox null >> setpagedevice"
*PageRegion EnvMonarch/Monarch: "<</PageSize [279 540] /ImagingBBox null>> setpagedevice"
*PageRegion EnvDL/DL: "<< /PageSize [312 624] /ImagingBBox null >> setpagedevice"
*%*PageRegion EnvDLRotated/DL Long Edge: "<< /PageSize [624 312] /ImagingBBox null >> setpagedevice"
*PageRegion EnvC5/C5: "<</PageSize [459 649] /ImagingBBox null>> setpagedevice"
*PageRegion EnvISOB5/B5: "<< /PageSize [499 709] /ImagingBBox null >> setpagedevice"
*PageRegion B5/JIS B5: "<< /PageSize [515.0 727.0] /ImagingBBox null >> setpagedevice"
*PageRegion 3x5/3 x 5: "<< /PageSize [216 360] /ImagingBBox null >> setpagedevice"
*PageRegion FanFoldGermanLegal/Folio: "<< /PageSize [612 936] /ImagingBBox null >> setpagedevice"
*CloseUI: *PageRegion
*DefaultImageableArea: Letter
*ImageableArea Letter/Letter: "12.0 12.12 599.88 780.0"
*ImageableArea Legal/Legal: "12.0 12.12 599.88 996.0"
*ImageableArea Executive/Executive: "11.99 12.12 510.0 744.0"
*ImageableArea A4/A4: "12.0 12.24 583.08 829.92"
*ImageableArea A5/A5: "12.0 11.88 407.4 582.96"
*ImageableArea A5L/A5 Long Edge: "12.0 11.88 407.4 582.96"
*ImageableArea A6/A6: "12.0 12.6 285.48 408.0"
*ImageableArea Env10/Com-10: "12.0 12.12 284.88 672.0"
*ImageableArea EnvMonarch/Monarch: "12.0 12.12 266.76 528.0"
*ImageableArea EnvDL/DL: "12.0 12.24 299.88 612.0"
*%*ImageableArea EnvDLRotated/DL Long Edge: "17.76 12.12 606.24 300.0"
*ImageableArea EnvC5/C5: "12.0 12.24 446.76 636.96"
*ImageableArea EnvISOB5/B5: "12.0 12.48 486.72 696.96"
*ImageableArea B5/JIS B5: "12.0 12.48 502.92 714.96"
*ImageableArea 3x5/3 x 5: "12.0 12.12 204.00 348.00"
*ImageableArea FanFoldGermanLegal/Folio: "12.0 12.12 599.88 924.0"
*%==== Information About Media Sizes ========
*DefaultPaperDimension: Letter
*PaperDimension Letter/Letter: "612 792"
*PaperDimension Legal/Legal: "612 1008"
*PaperDimension Executive/Executive: "522 756"
*PaperDimension A4/A4: "595 842"
*PaperDimension A5/A5: "420 595"
*PaperDimension A5L/A5 Long Edge: "420 595"
*PaperDimension A6/A6: "297 420"
*PaperDimension Env10/Com-10: "297 684"
*PaperDimension EnvMonarch/Monarch: "279 540"
*PaperDimension EnvDL/DL: "312 624"
*%*PaperDimension EnvDLRotated/DL Long Edge: "624 312"
*PaperDimension EnvC5/C5: "459 649"
*PaperDimension EnvISOB5/B5: "499 709"
*PaperDimension B5/JIS B5: "516 729"
*PaperDimension 3x5/3 x 5: "216 360"
*PaperDimension FanFoldGermanLegal/Folio: "612 936"
*%==== Custom Page Sizes ====================
*NonUIOrderDependency: 40 AnySetup *CustomPageSize
*VariablePaperSize: True
*LeadingEdge Short: ""
*LeadingEdge Long: ""
*DefaultLeadingEdge: Short
*MaxMediaWidth: "612"
*MaxMediaHeight: "1008"
*HWMargins: 13 13 13 13
*CustomPageSize True: "
<</BRCustomPageSize true>> setpagedevice
exch pop exch pop 0 eq{exch}if
<< /PageSize [ 5 -2 roll ] /ImagingBBox null >>
setpagedevice
"
*End
*ParamCustomPageSize Width: 1 points 216 612
*ParamCustomPageSize Height: 2 points 360 1008
*ParamCustomPageSize WidthOffset: 3 points 0 0
*ParamCustomPageSize HeightOffset: 4 points 0 0
*ParamCustomPageSize Orientation: 5 int 0 1
*%==== 5.12 Finishing Features =================================
*%%%%% Resolution and Appearance Control %%%%%
*DefaultResolution: 600dpi
*OpenUI *CAPT/Print Quality:PickOne
*OrderDependency: 10 AnySetup *CAPT
*DefaultCAPT: Fine
*CAPT Fine/Normal (600 x 600 dpi): "<</BRApt 0 /HWResolution [600 600]>> setpagedevice"
*CAPT SuperFine/Fine (2400 dpi class): "<</BRApt 2 /HWResolution [600 600]>> setpagedevice"
*?CAPT: "
currentpagedevice /BRApt get 2 eq
{(SuperFine)}
{
currentpagedevice/HWResolution get 0 get 600 eq{(Fine)}{(Draft)}ifelse
}ifelse = flush
"
*End
*CloseUI: *CAPT
*%==== 5.13 Media Handling Features ============================
*OpenUI *BRMediaType/Media Type: PickOne
*OrderDependency: 28 AnySetup *BRMediaType
*DefaultBRMediaType:Plain
*BRMediaType Plain/Plain Paper: "<</MediaType (REGULAR)>>setpagedevice"
*BRMediaType Thin/Thin Paper: "<</MediaType (THIN)>>setpagedevice"
*BRMediaType Thick/Thick Paper: "<</MediaType (THICK)>>setpagedevice"
*BRMediaType ThickPaper2/Thicker Paper: "<</MediaType (THICK2)>>setpagedevice"
*BRMediaType BOND/Bond Paper: "<</MediaType (BOND)>>setpagedevice"
*BRMediaType Env/Envelopes: "<</MediaType (ENVELOPES)>>setpagedevice"
*BRMediaType EnvThick/Env. Thick: "<</MediaType (ENVTHICK)>>setpagedevice"
*BRMediaType EnvThin/Env. Thin: "<</MediaType (ENVTHIN)>>setpagedevice"
*BRMediaType Recycled/Recycled Paper: "<</MediaType (RECYCLED)>>setpagedevice"
*BRMediaType Label/Label: "<</MediaType (LABEL)>>setpagedevice"
*BRMediaType Glossy/Glossy Paper: "<</MediaType (GLOSSY)>>setpagedevice"
*CloseUI: *BRMediaType
*OpenUI *InputSlot: PickOne
*OrderDependency: 29 AnySetup *InputSlot
*DefaultInputSlot: AutoSelect
*InputSlot AutoSelect/Auto Select by Printer: "<</ManualFeed false /BRTraysw true >> setpagedevice"
*InputSlot Tray1/Tray1: "<</ManualFeed false /BRTraysw false /BRFeeder 0>> setpagedevice"
*InputSlot Tray2/Tray2: "<</ManualFeed false /BRTraysw false /BRFeeder 1>> setpagedevice"
*InputSlot MPTray/MP Tray: "<</ManualFeed false /BRTraysw false /BRFeeder 4>> setpagedevice"
*CloseUI: *InputSlot
*RequiresPageRegion All:True
*%=== Duplex ================================
*OpenUI *Duplex: PickOne
*OrderDependency: 25 AnySetup *Duplex
*DefaultDuplex: None
*Duplex DuplexTumble: "<</Duplex true /Tumble true>>setpagedevice"
*Duplex DuplexNoTumble: "<</Duplex true /Tumble false>>setpagedevice"
*Duplex None: "<</Duplex false /Tumble false>>setpagedevice"
*CloseUI: *Duplex
*%=== Output Bin =============================
*DefaultOutputBin: OnlyOne
*% === Collate ==========
*%=== JobHold ================================
*%*OpenUI *BRJobHold/Secure Print: PickOne
*%*OrderDependency: 21 AnySetup *BRJobHold
*%*DefaultBRJobHold: None
*%*BRJobHold None/Off: "<</BRHold 0>>setpagedevice"
*%*BRJobHold Private/On: "<</BRHold 2 /BRHoldType 1>>setpagedevice"
*%*CloseUI: *BRJobHold
*%*OpenUI *BRJobPIN/Password: PickOne
*%*OrderDependency: 22 AnySetup *BRJobPIN
*%*DefaultBRJobPIN: HoldKey0
*%*BRJobPIN HoldKey0/0000: "<</BRHoldKey 0>> setpagedevice"
*%*BRJobPIN HoldKey1/1002: "<</BRHoldKey 1002>> setpagedevice"
*%*BRJobPIN HoldKey2/2833: "<</BRHoldKey 2833>> setpagedevice"
*%*BRJobPIN HoldKey3/3410: "<</BRHoldKey 3410>> setpagedevice"
*%*BRJobPIN HoldKey4/4791: "<</BRHoldKey 4791>> setpagedevice"
*%*BRJobPIN HoldKey5/0052: "<</BRHoldKey 0052>> setpagedevice"
*%*BRJobPIN HoldKey6/9612: "<</BRHoldKey 9612>> setpagedevice"
*%*BRJobPIN HoldKey7/0438: "<</BRHoldKey 0438>> setpagedevice"
*%*BRJobPIN HoldKey8/7328: "<</BRHoldKey 7328>> setpagedevice"
*%*BRJobPIN HoldKey9/0001: "<</BRHoldKey 0001>> setpagedevice"
*%*CloseUI: *BRJobPIN
*%*OpenUI *BRUser/User Name: PickOne
*%*OrderDependency: 91 AnySetup *BRUser
*%*DefaultBRUser: UserSystem
*%*BRUser UserSystem/System Name: "
*%"
*%*End
*%*CloseUI: *BRUser
*%*OpenUI *BRJobName/Job Name: PickOne
*%*OrderDependency: 92 AnySetup *BRJobName
*%*DefaultBRJobName: JobNameSystem
*%*BRJobName JobNameSystem/System Name: ""
*%*BRJobName JobName1/1: "%%BRTitle: 1
*%"
*%*End
*%*BRJobName JobName2/2: "%%BRTitle: 2
*%"
*%*End
*%*BRJobName JobName3/3: "%%BRTitle: 3
*%"
*%*End
*%*BRJobName JobName4/4: "%%BRTitle: 4
*%"
*%*End
*%*BRJobName JobName5/5: "%%BRTitle: 5
*%"
*%*End
*%*BRJobName JobName6/6: "%%BRTitle: 6
*%"
*%*End
*%*BRJobName JobName7/7: "%%BRTitle: 7
*%"
*%*End
*%*BRJobName JobName8/8: "%%BRTitle: 8
*%"
*%*End
*%*BRJobName JobName9/9: "%%BRTitle: 9
*%"
*%*End
*%*CloseUI: *BRJobName
*OpenUI *TonerSaveMode/Toner Save Mode: Boolean
*DefaultTonerSaveMode: False
*OrderDependency: 10 AnySetup *TonerSaveMode
*TonerSaveMode False/Off: "
statusdict/tonersave known{statusdict begin false tonersave end}if
"
*End
*TonerSaveMode True/On: "
statusdict/tonersave known{statusdict begin true tonersave end}if
"
*End
*CloseUI: *TonerSaveMode
*OpenUI *Sleep/Sleep Time [Min.]: PickOne
*DefaultSleep: PrinterDefault
*OrderDependency: 10 AnySetup *Sleep
*Sleep PrinterDefault/Printer Default: ""
*Sleep 2minutes/2: "statusdict/powersavetime known{statusdict begin 2 powersavetime end}if"
*Sleep 10minutes/10: "statusdict/powersavetime known{statusdict begin 10 powersavetime end}if"
*Sleep 30minutes/30: "statusdict/powersavetime known{statusdict begin 30 powersavetime end}if"
*CloseUI: *Sleep
*%==== BR-Script Color Original UI ==================================
*OpenUI *BRPrintQuality/Color / Mono: PickOne
*OrderDependency: 15 AnySetup *BRPrintQuality
*DefaultBRPrintQuality: Auto
*BRPrintQuality Auto/Auto: "
<</BRProcessColor 4 /BRHrc 0>>setpagedevice
<</BRColorAdapt true>>setpagedevice
<</BRRenderMode false>>setpagedevice"
*BRPrintQuality Color/Color: "
<</BRProcessColor 4 /BRHrc 0>>setpagedevice
<</BRColorAdapt false>>setpagedevice
<</BRRenderMode false>>setpagedevice"
*BRPrintQuality Black/Mono: "
<</BRProcessColor 1>>setpagedevice
<</BRColorAdapt false>>setpagedevice
<</BRRenderMode true>>setpagedevice"
*?BRPrintQuality: "
save
currentpagedevice /BRProcessColor get 1 eq
{(Black)}{(Color)}ifelse
= flush
restore
"
*End
*CloseUI: *BRPrintQuality
*% Color Mode Information ===============
*OpenUI *BRColorMode/Color Mode: PickOne
*OrderDependency: 131.0 AnySetup *BRColorMode
*DefaultBRColorMode: Normal
*BRColorMode Normal/Normal: "
<</UseCIEColor true>>setpagedevice
<</BRColorMode 0>>setpagedevice
"
*End
*BRColorMode Vivid/Vivid: "
<</UseCIEColor true>>setpagedevice
<</BRColorMode 1>>setpagedevice
"
*End
*BRColorMode None/None: "
<</UseCIEColor false>>setpagedevice
"
*End
*CloseUI: *BRColorMode
*% Improve Gray Color Information ===============
*OpenUI *BRImprovedGray/Improve Gray Color: PickOne
*OrderDependency: 132.0 AnySetup *BRImprovedGray
*DefaultBRImprovedGray: True
*BRImprovedGray True/On: "
<</BRImprovedGray true>>setpagedevice
"
*End
*BRImprovedGray False/Off: "
<</BRImprovedGray false>>setpagedevice
"
*End
*CloseUI: *BRImprovedGray
*% UCRGCR Information ===============
*OpenUI *UCRGCRForImage/Enhance Black Printing: Boolean
*OrderDependency: 133 AnySetup *ScreenLock
*DefaultUCRGCRForImage: False
*UCRGCRForImage False/Off: "
statusdict begin false ucrgcrforimage end
"
*End
*UCRGCRForImage True/On: "
statusdict begin true ucrgcrforimage end
"
*End
*CloseUI: *UCRGCRForImage
*% Halftone Screen Lock Information ===============
*OpenUI *ScreenLock/Halftone Screen Lock: Boolean
*OrderDependency: 90 AnySetup *ScreenLock
*DefaultScreenLock: True
*ScreenLock True/On: "
<</HalftoneMode 1>>setuserparams
"
*End
*ScreenLock False/Off: "
<</HalftoneMode 0>>setuserparams
"
*End
*CloseUI: *ScreenLock
*% Reduced Image ===============
*OpenUI *BRReducedImage/High Quality Image Printing: Boolean
*OrderDependency: 131.0 AnySetup *BRReducedImage
*DefaultBRReducedImage: False
*BRReducedImage False/Off: "
<</BRReduceImage true>>setpagedevice
"
*End
*BRReducedImage True/On: "
<</BRReduceImage false>>setpagedevice
"
*End
*CloseUI: *BRReducedImage
*% Improve Print Output ===============
*OpenUI *ImprovePrintOutput/Improve Print Output: PickOne
*OrderDependency: 135.0 AnySetup *ImprovePrintOutput
*DefaultImprovePrintOutput: None
*ImprovePrintOutput None/Off: "
<</BRReducePaperCurl false /BRImproveTonerFixing false>>setpagedevice
"
*End
*ImprovePrintOutput ReducePaperCurl/Reduce Paper Curl: "
<</BRReducePaperCurl true /BRImproveTonerFixing false>>setpagedevice
"
*End
*ImprovePrintOutput ImproveTonerFixing/Improve Toner Fixing: "
<</BRReducePaperCurl false /BRImproveTonerFixing true>>setpagedevice
"
*End
*CloseUI: *ImprovePrintOutput
*%==== 5.17 Gray Levels and Halftoninig ========================
*AccurateScreenSupport: False
*ScreenFreq: "60.0"
*ScreenAngle: "0.0"
*DefaultScreenProc: Dot
*ScreenProc Dot: "{1.0 add 180 mul 1 add sin 0.001 add exch 1.0 add 180 mul 2 add sin mul}"
*DefaultTransfer: Null
*Transfer Null: "{}"
*Transfer Null.Inverse: "{1 exch sub}"
*%==== 5.18 Color Issues =======================================
*% BlackSubstitution -> Original UI
*%==== 5.19 Color Separation Keywords ==========================
*DefaultColorSep: ProcessBlack
*ColorSepScreenFreq ProcessBlack.71lpi.600dpi/71 lpi / 600 dpi: "70.7107"
*ColorSepScreenFreq CustomColor.71lpi.600dpi/71 lpi / 600 dpi: "70.7107"
*ColorSepScreenFreq ProcessCyan.71lpi.600dpi/71 lpi / 600 dpi: "63.2456"
*ColorSepScreenFreq ProcessMagenta.71lpi.600dpi/71 lpi / 600 dpi: "63.2456"
*ColorSepScreenFreq ProcessYellow.71lpi.600dpi/71 lpi / 600 dpi: "66.6667"
*ColorSepScreenFreq ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "60"
*ColorSepScreenFreq CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "60"
*ColorSepScreenFreq ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "60"
*ColorSepScreenFreq ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "60"
*ColorSepScreenFreq ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "60"
*ColorSepScreenFreq ProcessBlack.53lpi.300dpi/53 lpi / 300 dpi: "53.033"
*ColorSepScreenFreq CustomColor.53lpi.300dpi/53 lpi / 300 dpi: "53.033"
*ColorSepScreenFreq ProcessCyan.53lpi.300dpi/53 lpi / 300 dpi: "47.4342"
*ColorSepScreenFreq ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi:"47.4342"
*ColorSepScreenFreq ProcessYellow.53lpi.300dpi/53 lpi / 300 dpi: "50.0"
*ColorSepScreenAngle ProcessBlack.71lpi.600dpi/71 lpi / 600 dpi: "45.0"
*ColorSepScreenAngle CustomColor.71lpi.600dpi/71 lpi / 600 dpi: "45.0"
*ColorSepScreenAngle ProcessCyan.71lpi.600dpi/71 lpi / 600 dpi: "71.5651"
*ColorSepScreenAngle ProcessMagenta.71lpi.600dpi/71 lpi / 600 dpi: "18.4349"
*ColorSepScreenAngle ProcessYellow.71lpi.600dpi/71 lpi / 600 dpi: "0.0"
*ColorSepScreenAngle ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "45"
*ColorSepScreenAngle CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "45"
*ColorSepScreenAngle ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "15"
*ColorSepScreenAngle ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "75"
*ColorSepScreenAngle ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "0"
*ColorSepScreenAngle ProcessBlack.53lpi.300dpi/53 lpi / 300 dpi: "45.0"
*ColorSepScreenAngle CustomColor.53lpi.300dpi/53 lpi / 300 dpi: "45.0"
*ColorSepScreenAngle ProcessCyan.53lpi.300dpi/53 lpi / 300 dpi: "71.5651"
*ColorSepScreenAngle ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi: "18.4349"
*ColorSepScreenAngle ProcessYellow.53lpi.300dpi/53 lpi / 300 dpi: "0.0"
*End
*InkName: ProcessBlack/Process Black
*InkName: CustomColor/Custom Color
*InkName: ProcessCyan/Process Cyan
*InkName: ProcessMagenta/Process Magenta
*InkName: ProcessYellow/Process Yellow
*%==== 5.20 Font Related Keywords ==============================
*DefaultFont: Courier
*Font AvantGarde-Book: Standard "(001.006S)" Standard ROM
*Font AvantGarde-BookOblique: Standard "(001.006S)" Standard ROM
*Font AvantGarde-Demi: Standard "(001.007S)" Standard ROM
*Font AvantGarde-DemiOblique: Standard "(001.007S)" Standard ROM
*Font Bookman-Demi: Standard "(001.004S)" Standard ROM
*Font Bookman-DemiItalic: Standard "(001.004S)" Standard ROM
*Font Bookman-Light: Standard "(001.004S)" Standard ROM
*Font Bookman-LightItalic: Standard "(001.004S)" Standard ROM
*Font Courier: Standard "(002.004S)" Standard ROM
*Font Courier-Bold: Standard "(002.004S)" Standard ROM
*Font Courier-BoldOblique: Standard "(002.004S)" Standard ROM
*Font Courier-Oblique: Standard "(002.004S)" Standard ROM
*Font Helvetica: Standard "(001.006S)" Standard ROM
*Font Helvetica-Bold: Standard "(001.007S)" Standard ROM
*Font Helvetica-BoldOblique: Standard "(001.007S)" Standard ROM
*Font Helvetica-Narrow: Standard "(001.006S)" Standard ROM
*Font Helvetica-Narrow-Bold: Standard "(001.007S)" Standard ROM
*Font Helvetica-Narrow-BoldOblique: Standard "(001.007S)" Standard ROM
*Font Helvetica-Narrow-Oblique: Standard "(001.006S)" Standard ROM
*Font Helvetica-Oblique: Standard "(001.006S)" Standard ROM
*Font NewCenturySchlbk-Bold: Standard "(001.009S)" Standard ROM
*Font NewCenturySchlbk-BoldItalic: Standard "(001.007S)" Standard ROM
*Font NewCenturySchlbk-Italic: Standard "(001.006S)" Standard ROM
*Font NewCenturySchlbk-Roman: Standard "(001.007S)" Standard ROM
*Font Palatino-Bold: Standard "(001.005S)" Standard ROM
*Font Palatino-BoldItalic: Standard "(001.005S)" Standard ROM
*Font Palatino-Italic: Standard "(001.005S)" Standard ROM
*Font Palatino-Roman: Standard "(001.005S)" Standard ROM
*Font Times-Bold: Standard "(001.007S)" Standard ROM
*Font Times-BoldItalic: Standard "(001.009S)" Standard ROM
*Font Times-Italic: Standard "(001.007S)" Standard ROM
*Font Times-Roman: Standard "(001.007S)" Standard ROM
*Font ZapfChancery-MediumItalic: Standard "(001.007S)" Standard ROM
*Font ZapfDingbats: Special "(001.004S)" Special ROM
*Font Symbol: Special "(001.007S)" Special ROM
*Font Alaska: Standard "(001.005)" Standard ROM
*Font AlaskaExtrabold: Standard "(001.005)" Standard ROM
*Font AntiqueOakland: Standard "(001.005)" Standard ROM
*Font AntiqueOakland-Bold: Standard "(001.005)" Standard ROM
*Font AntiqueOakland-Oblique: Standard "(001.005)" Standard ROM
*Font ClevelandCondensed: Standard "(001.005)" Standard ROM
*Font Connecticut: Standard "(001.005)" Standard ROM
*Font Guatemala-Antique: Standard "(001.005)" Standard ROM
*Font Guatemala-Bold: Standard "(001.005)" Standard ROM
*Font Guatemala-Italic: Standard "(001.005)" Standard ROM
*Font Guatemala-BoldItalic: Standard "(001.005)" Standard ROM
*Font LetterGothic: Standard "(001.005)" Standard ROM
*Font LetterGothic-Bold: Standard "(001.005)" Standard ROM
*Font LetterGothic-Oblique: Standard "(001.005)" Standard ROM
*Font Maryland: Standard "(001.005)" Standard ROM
*Font Oklahoma: Standard "(001.005)" Standard ROM
*Font Oklahoma-Bold: Standard "(001.005)" Standard ROM
*Font Oklahoma-Oblique: Standard "(001.005)" Standard ROM
*Font Oklahoma-BoldOblique: Standard "(001.005)" Standard ROM
*Font Utah: Standard "(001.005)" Standard ROM
*Font Utah-Bold: Standard "(001.005)" Standard ROM
*Font Utah-Oblique: Standard "(001.005)" Standard ROM
*Font Utah-BoldOblique: Standard "(001.005)" Standard ROM
*Font UtahCondensed: Standard "(001.005)" Standard ROM
*Font UtahCondensed-Bold: Standard "(001.005)" Standard ROM
*Font UtahCondensed-Oblique: Standard "(001.004)" Standard ROM
*Font UtahCondensed-BoldOblique: Standard "(001.005)" Standard ROM
*Font BermudaScript: Standard "(001.005)" Standard ROM
*Font Germany: Standard "(001.005)" Standard ROM
*Font SanDiego: Standard "(001.005)" Standard ROM
*Font US-Roman: Standard "(001.005)" Standard ROM
*?FontQuery: "
save
count 1 gt
{exch dup dup
=string cvs (/) print print (:) print
FontDirectory exch known
{pop(Yes)}
{(fonts/)AppendName exch pop mark exch
{}=string filenameforall counttomark
0 gt
{cleartomark(Yes)}
{cleartomark(No)}ifelse
}ifelse
=
}if
(*) = flush
restore
"
*End
*?FontList: "
save
FontDirectory{pop ==}forall
(fonts/*)
{dup length 6 sub 6 exch getinterval cvn ==
}=string filenameforall
(*) = flush
restore
"
*End
*%==== 5.21 Printer Messages ===================================
*%
*% Printer Message
*%
*PrinterError: "service call"
*PrinterError: "cover open"
*PrinterError: "end of ink"
*PrinterError: "out of maintenance paper"
*PrinterError: "out of paper"
*PrinterError: "paper jam"
*PrinterError: "manual feed time out"
*PrinterError: "load paper letter size"
*PrinterError: "load paper legal size"
*PrinterError: "load paper B5 size"
*PrinterError: "load paper A4 size"
*PrinterError: "offline"
*Status: "idle"
*Status: "busy"
*Status: "waiting"
*Status: "printing"
*Status: "warming up"
*Status: "PrinterError: service call"
*Status: "PrinterError: cover open"
*Status: "PrinterError: end of ink"
*Status: "PrinterError: out of paper"
*Status: "PrinterError: paper jam"
*Status: "PrinterError: manual feed time out"
*Status: "PrinterError: load paper letter size"
*Status: "PrinterError: load paper legal size"
*Status: "PrinterError: load paper B5 size"
*Status: "PrinterError: load paper A4 size"
*Status: "PrinterError: offline"
*% Input Sources (format: %%[ status: <stat>; source: <one of these> ]%% )
*Source: "Serial"
*Source: "Parallel"
*Source: "EtherTalk"
*Source: "LPR"
*Source: "PrintServer"
*Source: "Internal"
*Message: "%%[ exitserver: permanent state may be changed ]%%"
*Message: "%%[ Flushing: rest of job (to end-of-file) will be ignored ]%%"
*Message: "\FontName\ not found, using BR-03B."
*%==== 5.22 System Management ==================================
*Password: "0"
*ExitServer: "
serverdict begin 0 exitserver
"
*End
*Reset: "
clear cleardictstack
serverdict begin 0 exitserver
systemdict /quit get exec
"
*End

View File

@ -35,17 +35,19 @@
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
aerc
brgenml1lpr
brgenml1cupswrapper
brlaser
cargo
chezmoi
chromium
cups-filters
devenv
dia
dig
fish
fractal
freetube
gcc
google-cloud-sdk
gimp-with-plugins
@ -57,8 +59,11 @@
hplip
kdePackages.plasma-browser-integration
keychain
libation
lm_sensors
lunar-client
mosh
mercurial
mumble
ndisc6
nfs-utils
@ -71,45 +76,32 @@
rustc
signal-desktop
splix
spotify
spotify-player
s-tui
step-ca
step-cli
thunderbird
tig
tmux
ungoogled-chromium
usbutils
wget
websocat
vlc
];
# Bluetooth
hardware.bluetooth.enable = true; # enables support for Bluetooth
hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot
hardware.printers = {
ensureDefaultPrinter = "HL-L8250CDW";
ensurePrinters = [{
name = "HL-L8250CDW";
deviceUri = "ipps://192.168.88.10/ipp/print";
model = "Brother_HL-L8250CDN.ppd";
description = "Brother HL-L8250CDW";
location = "kids desks";
ppdOptions = {
PageSize = "Letter";
Duplex = "DuplexNoTumble"; # Double-sided along the long edge
Resolution = "600dpi";
PrintQuality = "4";
PwgRasterDocumentType = "Rgb_8";
};
}];
};
hardware.pulseaudio.enable = false;
home-manager.useGlobalPkgs = true;
home-manager.users.eliribble = {
home.homeDirectory = "/home/eliribble";
# The home.stateVersion option does not have a default and must be set
home.stateVersion = "24.05";
home.stateVersion = "24.11";
home.username = "eliribble";
home.file.".config/fish/functions/fish_prompt.fish".source = ./home/eliribble/config/fish/functions/fish_prompt.fish;
home.file.".config/nvim/after/ftplugin/html.vim".source = ./home/eliribble/config/nvim/after/ftplugin/html.vim;
home.file.".config/nvim/after/ftplugin/go.vim".source = ./home/eliribble/config/nvim/after/ftplugin/go.vim;
home.file.".config/tmux/tmux.conf".source = ./home/eliribble/config/tmux/tmux.conf;
@ -124,6 +116,7 @@
};
programs.git = {
enable = true;
package = pkgs.gitFull;
userName = "Eli Ribble";
userEmail = "eli@theribbles.org";
};
@ -163,23 +156,33 @@
# Enable networking
networking.networkmanager.enable = true;
nix.extraOptions = ''
trusted-users = root eliribble
'';
nix.settings.experimental-features = [ "flakes" "nix-command" ];
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"brgenml1lpr" "lunar-client" "spotify"
"brgenml1lpr" "lunarclient"
];
# Set up Android dev tools
programs.adb.enable = true;
# Install firefox.
programs.firefox.enable = true;
# Integrate Chromium with Plasma
programs.chromium.enablePlasmaBrowserIntegration = true;
# Set neovim as the default editor
programs.neovim.enable = true;
programs.neovim.defaultEditor = true;
programs.thunderbird.enable = true;
programs.virt-manager.enable = true;
# Enable printer auto-discovery
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
# Enable the KDE Plasma Desktop Environment.
services.displayManager.sddm.enable = true;
services.desktopManager.plasma6.enable = true;
@ -197,15 +200,6 @@
# Enable CUPS to print documents.
services.printing.enable = true;
services.printing.drivers = [
# This PPD file was extracted from a windows BR-Script driver from the Brother website
# named 'Y13D_C1-ps-64-120-enus.EXE' when downloaded. I then used '7zz x <file>' to extract it
# and 'msexpand USA/brphl8250cdn.pp_' to expand it. Those tools are available in the _7zz and mscompress
# modules, respectively: 'nix-shell -p _7zz mscompress'.
(pkgs.writeTextDir "share/cups/model/Brother_HL-L8250CDN.ppd" (builtins.readFile ./Brother_HL-L8250CDN.ppd))
# See https://github.com/NixOS/nixpkgs/issues/78535#issuecomment-2200268221
# for an attempt at making this work when away from the printer
];
# Enable rpcbind for nfs mounting
services.rpcbind.enable = true;
@ -233,8 +227,31 @@
# no need to redefine it in your config for now)
#media-session.enable = true;
};
services.power-profiles-daemon.enable = false;
services.resolved.enable = true;
services.tailscale.enable = true;
services.tlp = {
enable = true;
settings = {
CPU_SCALING_GOVERNOR_ON_AC = "performance";
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
CPU_MIN_PERF_ON_AC = 0;
CPU_MAX_PERF_ON_AC = 100;
CPU_MIN_PERF_ON_BAT = 0;
CPU_MAX_PERF_ON_BAT = 20;
# Optional helps save long term battery health
START_CHARGE_THRESH_BAT0 = 40; # 40 and below it starts to charge
STOP_CHARGE_THRESH_BAT0 = 80; # 80 and above it stops charging
};
};
services.thinkfan = {
enable = true;
};
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;

View File

@ -0,0 +1,151 @@
set -l nix_shell_info (
if test -n "$IN_NIX_SHELL"
echo -n "<nix-shell> "
end
)
# Based on the 'nim' prompt from
# https://github.com/fish-shell/fish-shell/blob/master/share/tools/web_config/sample_prompts/nim.fish
function fish_prompt
# This prompt shows:
# - green lines if the last return command is OK, red otherwise
# - your user name, in red if root or yellow otherwise
# - your hostname, in cyan if ssh or blue otherwise
# - the current path (with prompt_pwd)
# - date +%X
# - the current virtual environment, if any
# - the current git status, if any, with fish_git_prompt
# - the current battery state, if any, and if your power cable is unplugged, and if you have "acpi"
# - current background jobs, if any
# It goes from:
# ┬─[nim@Hattori:~][11:39:00]
# ╰─>$ echo here
# To:
# ┬─[nim@Hattori:~/w/dashboard][11:37:14][V:django20][G:master↑1|111][B:85%, 05:41:42 remaining]
# │ 2 15054 0% arrêtée sleep 100000
# │ 1 15048 0% arrêtée sleep 100000
# ╰─>$ echo there
set -l retc red
test $status = 0; and set retc green
set -q __fish_git_prompt_showupstream
or set -g __fish_git_prompt_showupstream auto
function _nim_prompt_wrapper
set retc $argv[1]
set -l field_name $argv[2]
set -l field_value $argv[3]
set_color normal
set_color $retc
echo -n '─'
set_color -o green
echo -n '['
set_color normal
test -n $field_name
and echo -n $field_name:
set_color $retc
echo -n $field_value
set_color -o green
echo -n ']'
end
set_color $retc
echo -n '┬─'
set_color -o green
echo -n [
if functions -q fish_is_root_user; and fish_is_root_user
set_color -o red
else
set_color -o yellow
end
echo -n $USER
set_color -o white
echo -n @
if test -z "$SSH_CLIENT"
set_color -o blue
else
set_color -o cyan
end
echo -n (prompt_hostname)
set_color -o white
echo -n :(prompt_pwd)
set_color -o green
echo -n ']'
# Date
_nim_prompt_wrapper $retc '' (date +%X)
# Vi-mode
# The default mode prompt would be prefixed, which ruins our alignment.
function fish_mode_prompt
end
if test "$fish_key_bindings" = fish_vi_key_bindings
or test "$fish_key_bindings" = fish_hybrid_key_bindings
set -l mode
switch $fish_bind_mode
case default
set mode (set_color --bold red)N
case insert
set mode (set_color --bold green)I
case replace_one
set mode (set_color --bold green)R
echo '[R]'
case replace
set mode (set_color --bold cyan)R
case visual
set mode (set_color --bold magenta)V
end
set mode $mode(set_color normal)
_nim_prompt_wrapper $retc '' $mode
end
# Virtual Environment
set -q VIRTUAL_ENV_DISABLE_PROMPT
or set -g VIRTUAL_ENV_DISABLE_PROMPT true
set -q VIRTUAL_ENV
and _nim_prompt_wrapper $retc V (path basename "$VIRTUAL_ENV")
# nix-shell
if test -n "$IN_NIX_SHELL"
echo -n " <nix-shell> "
end
# git
set -l prompt_git (fish_git_prompt '%s')
test -n "$prompt_git"
and _nim_prompt_wrapper $retc G $prompt_git
# Battery status
type -q acpi
and acpi -a 2>/dev/null | string match -rq off
and _nim_prompt_wrapper $retc B (acpi -b | cut -d' ' -f 4-)
# New line
echo
# Background jobs
set_color normal
for job in (jobs)
set_color $retc
echo -n '│ '
set_color brown
echo $job
end
set_color normal
set_color $retc
echo -n '╰─>'
set_color -o red
echo -n '$ '
set_color normal
end