1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
|
* Archsetup Current Tasks
** TODO [#D] Integrate redshift script into archsetup
** DOING [#C] Setup Syncthing
- point to the right base folder
- check the folder names are correct
** TODO [#B] Fix Archsetup Failed Package Installs
*** TODO xautolock didn't install
*** TODO colorpicker doesn't build
*** TODO adwaita-color-schemes
*** TODO tor-browser
*** TODO multi-markdown
*** TODO vagrant
** TODO [#C] Add Proton Mail Bridge and Setup Mail to Emacs
** TODO [#C] Find Backup Drive, Backup, and Add to Tech Bag
** TODO [#C] Make caps lock escape when tapped, control when pressed
** TODO [#D] Setup Login Manager With DWM Login
https://www.reddit.com/r/suckless/comments/jj61py/how_do_i_make_dwm_appear_on_my_display_manager/
** TODO Install Stockfish
** TODO Install Fruit
** TODO Install Chess GUI
* ArchSetup v0.5
** TODO [#B] Change Lockscreen to something simple
:LOGBOOK:
- State "TODO" from [2024-11-07 Thu 12:32]
:END:
** TODO [#B] Thunderbird dotfiles
:LOGBOOK:
- State "TODO" from [2024-11-07 Thu 12:32]
:END:
** TODO [#B] Calibre dotfiles
:LOGBOOK:
- State "TODO" from [2024-11-07 Thu 16:21]
:END:
** TODO [#B] Check into getting fingerprint auth working
:LOGBOOK:
- State "TODO" from [2024-11-07 Thu 16:16]
:END:
** TODO [#B] Push Archsetup to Website on Archsetup Commit
:LOGBOOK:
- State "TODO" from [2024-04-18 Thu 16:21]
:END:
** TODO [#B] Install VPN w/ GUI
:LOGBOOK:
- State "TODO" from [2024-11-07 Thu 05:31]
:END:
** TODO [#B] Fix "at" error during install
:LOGBOOK:
- State "TODO" from "VERIFY" [2024-11-30 Sat 16:56]
- State "TODO" from [2024-05-06 Mon 21:38]
:END:
*** 2024-11-30 Sat @ 16:56:46 -0600 Failed with yay on ongoing install.
I think this might be the only error.
*** 2024-11-07 Thu @ 05:28:26 -0600 Looks like it's in the extra repository
so changing to aur install
** TODO [#B] Sleep/Suspend Working on Framework Laptop
*** Note: kernel parameter for sleep/suspend issue in Framework Laptop
#+BEGIN_QUOTE
Lastly, my findings… after bit of testing and measuring, it appears that with more or less up-to-date software (current linux kernel, systemd, etc.) it evens out (very scientifically measured:) at around 1.2-1.3 percent/hour in s2idle for the above described configuration (mainly 2x16 GB SO-DIMM sticks), independent of the distribution used (i.e. Fedora and NixOS) but with “rtc_cmos.use_acpi_alarm=1” added to the kernel command line (iiuc, which will become the default in a future systemd release thanks to @Mario_Limonciello et al.) and a “powertop --auto-tune” run at boot time. Considering that refreshing memory in sleep/stand-by mode is the main consumer of energy and that soldered memory consumes around 90% less energy (with the obvious caveats, of course) in sleep than non-soldered solutions, this boils down (again, very scientifically measured) to around 0.7/0.8 watts in s2idle, which is a (very) good result, imo. This would be the first laptop with which i’ve been able to achieve acceptable suspend results now that ACPI S3 appears to have gone everywhere. Thanks a bunch, everybody…
#+END_QUOTE
[[https://community.frame.work/t/battery-drain-on-suspend-sleep-with-linux/42395/7][Battery Drain on Suspend/Sleep with Linux - Framework Laptop 13 - Framework Community]]
Captured On: [2024-03-03 Sun 06:16]
*** Note: kernel parameter to solve battery drain with Sleep/Suspend on Framework
#+BEGIN_QUOTE
Adding the kernel parameter acpi_mask_gpe=0x1A has made sleep much closer to desired with decently low battery drain overnight. Still a bit unpredictable with manual suspend where it’ll just decide to wake up instantly for some reason, but once the automatic 15 minute inactivity is hit it seems to sleep with the lid closed.
#+END_QUOTE
[[https://community.frame.work/t/battery-drain-on-suspend-sleep-with-linux/42395/4][Battery Drain on Suspend/Sleep with Linux - Framework Laptop 13 - Framework Community]]
Captured On: [2024-03-03 Sun 06:14]
*** Note: Suspend Then Hibernate for Framework Laptop
#+BEGIN_QUOTE
In /etc/systemd/logind.conf I have the following relevant lines:
HandleLidSwitch=suspend-then-hibernate
HandleLidSwitchExternalPower=suspend-then-hibernate
IdleAction=suspend-then-hibernate
In /etc/systemd/sleep.conf I have these relevant lines:
#AllowSuspendThenHibernate=yes
HibernateDelaySec=720min
The AllowSuspendThenHibernate line is commented out but that is the default so it is fine.
#+END_QUOTE
[[https://community.frame.work/t/tracking-suspend-on-linux-drains-a-lot-of-battery-compared-to-other-laptop/24737/12][[TRACKING] Suspend on linux drains a lot of battery compared to other laptop - Framework Laptop 13 / Linux - Framework Community]]
Captured On: [2024-03-03 Sun 07:14]
** TODO [#C] Graphical Boot
:LOGBOOK:
- State "TODO" from [2024-11-30 Sat 17:10]
:END:
Or perhaps just a black screen during boot if it's quick.
Low on the list, but it'll be weird to have nice UI after boot, but the boot's text raining.
** TODO [#B] Graphical Login
You're going to need this as you'll want to choose between hyprland and dwm
*** TODO SDDM?
then systemctl enable sddm.service
**** Move All Startup Apps to Startdwm and Call Startdwm From Xinitrc
**** 2024-04-02 Tue @ 18:51:04 -0500 xinit-xsession doesn't work
Steps I followed:
install xinit-xsession to run .xinitrc as a session
.xinitrc needs to be executable
**** Note: How to Add 'dwm.desktop' as an SDDM Session
#+BEGIN_QUOTE
In /usr/share/xsessions/ directory I created a dwm.desktop file:
[Desktop Entry]
Encoding=UTF-8
Name=DWM
Comment=Log in using the Dynamic Window Manager
Exec=/usr/local/bin/dwm
Icon=/usr/local/bin/dwm.png
TryExec=/usr/local/bin/dwm
Type=XSession
and in my ~/.xinitrc file I have added these lines:
# DWM Status
dwmstatus 2>&1 >/dev/null &
# Keyboard Layout
setxkbmap -layout us,gr -option grp:alt_caps_toggle &
# Compositor
picom -f &
#Add Wallpaper
nitrogen --restore &
#Execute DWM
exec dwm
Last edited by mikch (2022-05-15 18:11:34)
Offline
#22022-05-15 13:22:36
seth
Member
Registered: 2012-09-03
Posts: 50,327
Please use code tags, https://bbs.archlinux.org/help.php#bbcode
The xinitrc won't be sourced by SDDM, move that stuff (MINUS the "exec dwm"!) to ~/.xprofile
Edit: though it will then also be sourced by plasma.
In doubt create a /usr/local/bin/dwm.sh wrapper and run that instead.
#+END_QUOTE
[[https://bbs.archlinux.org/viewtopic.php?id=276424][[SOLVED]Cannot start DWM properly from SDDM session menu / Newbie Corner / Arch Linux Forums]]
Captured On: [2024-04-02 Tue 17:38]
**** Note: Starting DWM from SDDM
#+BEGIN_QUOTE
As root create a file like this:
$ cat /usr/share/xsessions/dwm.desktop
[Desktop Entry]
Encoding=UTF-8
Name=dwm
Comment=Dynamic window manager
Exec=dwm
Icon=dwm
Type=XSession
with these permissions
$ ls -l /usr/share/xsessions/dwm.desktop
-rw-r--r-- 1 root root 108 Jun 27 17:24 /usr/share/xsessions/dwm.desktop
Optionally rather than executing dwm directly you could execute a shell script instead that writes stdout / stderr to a file for logging purposes.
E.g.
Exec=startdwm
and
$ cat /usr/local/bin/startdwm
#!/bin/sh
echo "$(date): Starting dwn" >> /path/to/logs/$(date +%Y-%m-%d_%H.dwm.log)
dwm >> /path/to/logs/$(date +%Y-%m-%d_%H.dwm.log) 2>&1
$ ls -l /usr/local/bin/startdwm
-rwxr-xr-x 1 root root 204 Sep 19 14:12 /usr/local/bin/startdwm
#+END_QUOTE
[[https://www.reddit.com/r/suckless/comments/jj61py/how_do_i_make_dwm_appear_on_my_display_manager/][(3) How do I make dwm appear on my display manager? (lightDM) : suckless]]
Captured On: [2024-04-02 Tue 17:46]
** TODO [#B] Add Hyprland Config
:LOGBOOK:
- State "TODO" from [2024-11-30 Sat 17:00]
:END:
*** Reference
TechHeart
https://www.youtube.com/watch?v=iE99GrcZzhs
TypeCraft's Playlist
https://www.youtube.com/watch?v=2CP_9-jCV6A&list=PLsz00TDipIfeDrFeSA56W1wPrYYg_Kd-b
*** Hyprland Install
*** HyprPanel as the top bar
https://www.youtube.com/watch?v=6Dn9k8EX0-M
*** nwg-dock-hyprland as the doc
https://www.youtube.com/watch?v=16KX3vnbNcg
*** Other tools
https://www.youtube.com/watch?v=KA1jv40q9lQ
** TODO [#C] Walk through ranger config
:LOGBOOK:
- State "TODO" from [2024-11-09 Sat 10:28]
:END:
** TODO [#C] Scenario Test & Bugfixes
*** Virtualbox Installation Testing
*** Reinstall Velox Using Latest
** TODO [#C] Robust Installation Using Local Packages
*** What Problem Am I Trying to Solve?
reinstall current configuration entirely offline
this includes building emacs and all packages
*** requirements
- local package store as current as the last installation
- all git repositories in same location as package store
- archsetup changes to use local if available, otherwise fallback to online repositories as normal.
*** nice-to-have
- bootable archinstall with archsetup
- script that reconfigures the local store as the package repository to use for installs
*** CANCELLED aconfmgr package and restore local package cache from elsewhere?
CLOSED: [2024-04-13 Sat 15:24]
**** Decision
This is a good tool, but not for my purposes. I can get what I want easier in other ways.
It's just too easy to make a mistake with aconfmgr and excluding files or packages by mistake.
Going through the first sort, there were too many files and packages I had no idea about
Excluding them could have been fine, but they could have been important dependencies
The only real way to find out what they do would be to remove them and see how the system runs, or
to see if they come in as a dependency of something else that's important.
It's just too much effort. Much easier to reinstall from scratch.
**** Info / Thoughts
https://github.com/CyberShadow/aconfmgr
would probably need to have aconfmgr script save on systemd timer, and notify when new in unsorted.
Elsewhere could be:
- git repo download (what if no wifi available, and how is this better than using official online repos)?
- local directory (more complex)
need an attached drive or partition (maybe just partition the install this way?)
maybe still use git clone as the copy mechanism? (no - probably no need to keep revisions)
maybe rsync the package cache with --delete and then rsync in reverse during the archsetup script?
- regardless, I need to fallback to network connectivity if local repository fails
*** pacman trigger that copies packages somewhere that will function as local repository.
**** Example Trigger
#+BEGIN_QUOTE
# Force disks to sync to reduce the risk of data corruption
[Trigger]
Operation = Install
Operation = Upgrade
Operation = Remove
Type = Package
Target = *
[Action]
Depends = coreutils
When = PostTransaction
Exec = /usr/bin/sync
#+END_QUOTE
**** More info on triggers
[[https://man.archlinux.org/man/alpm-hooks.5][alpm-hooks(5) — Arch manual pages]]
Captured On: [2024-04-13 Sat 13:19]
** TODO [#C] Cleanup Dotfiles Repository
The .dotfiles repo has configuration for applications I no longer use.
** TODO [#C] Test new apps
:LOGBOOK:
- State "TODO" from [2024-11-09 Sat 10:24]
:END:
- [ ] foliate setup properly with resetmimetypes and calibre
- [ ] boxbuddy tested
- [ ] gnome-boxes tested
- [ ] archdev created
** VERIFY [#C] Add Gnome Boxes to ArchSetup
:LOGBOOK:
- State "TODO" from [2024-11-07 Thu 12:32]
:END:
** VERIFY [#C] Add OBS Studio
:LOGBOOK:
- State "TODO" from [2024-11-07 Thu 12:32]
:END:
** VERIFY [#C] Add Picom
:LOGBOOK:
- State "TODO" from [2024-11-07 Thu 12:32]
:END:
** DONE [#B] Check into issues with Chrome and Electron Apps (like Obsidian)
CLOSED: [2024-11-09 Sat 12:28]
:LOGBOOK:
- State "DONE" from "DOING" [2024-11-09 Sat 12:28]
- State "DOING" from "TODO" [2024-11-09 Sat 11:50]
- State "TODO" from [2024-11-09 Sat 10:28]
:END:
Problem Statement:
- When right clicking in an area, the surrounding menu has a buffer of 10 px, and it's black.
- When selecting a button, typing text, or using any of the UI elements, the screen doesn't refresh until it's resized or redrawn.
SOLUTION: Removing xf86-video-intel driver solved the problem.
*** DONE Run through theories
CLOSED: [2024-11-09 Sat 12:26]
:LOGBOOK:
- State "DONE" from "DOING" [2024-11-09 Sat 12:26]
- State "DOING" from "WAITING" [2024-11-09 Sat 11:43]
- State "DOING" from "PROJECT" [2024-11-09 Sat 11:43]
- State "TODO" from [2024-11-09 Sat 11:43]
:END:
**** DONE It's the compositor (it's not)
CLOSED: [2024-11-09 Sat 11:47]
:LOGBOOK:
- State "DONE" from [2024-11-09 Sat 11:47]
:END:
killed picom and the same thing's happening
**** DONE It's the wrong video driver
CLOSED: [2024-11-09 Sat 12:26]
:LOGBOOK:
- State "DONE" from "DOING" [2024-11-09 Sat 12:26]
- State "DOING" from "PROJECT" [2024-11-09 Sat 11:43]
- State "TODO" from [2024-11-09 Sat 11:43]
:END:
***** DONE [#B] Try other appropriate OSS video drivers
CLOSED: [2024-11-09 Sat 12:25]
:LOGBOOK:
- State "DONE" from "PROJECT" [2024-11-09 Sat 12:25]
- State "TODO" from [2024-11-09 Sat 11:43]
:END:
Command used to install all video drivers:
sudo pacman -S $(pacman -Sgq xorg-drivers | grep xf86-video)
Which one am I using?
from neofetch, I have
- GPU: Intel Raptor Lake-P [Iris Xe Graphics]
from inxi -G I see::
- Graphics:
Device-1: Intel Raptor Lake-P [Iris Xe Graphics] driver: i915 v: kernel
Device-2: Realtek Laptop Camera driver: uvcvideo type: USB
Display: x11 server: X.Org v: 21.1.14 driver: X: loaded: intel
unloaded: fbdev,modesetting,vesa dri: i965 gpu: i915
resolution: 2256x1504~60Hz
API: EGL v: 1.5 drivers: iris,swrast platforms: gbm,x11,surfaceless,device
API: OpenGL v: 4.6 compat-v: 4.5 vendor: intel mesa v: 24.2.6-arch1.1
renderer: Mesa Intel Graphics (RPL-P)
I noted that the first time it couldn't identify which renderer it was using, and asked for GLXinfo to be installed, so I did that.
SOLUTION: Removing xf86-video-intel driver solved the problem.
** DONE [#C] Quiet Login Removing Hostname No Longer Working
CLOSED: [2024-11-07 Thu 14:10]
:LOGBOOK:
- State "DONE" from "VERIFY" [2024-11-07 Thu 14:10]
:END:
*** 2024-04-13 Sat @ 14:33:42 -0500 Test if alternate getty is the reason
Ran same sed command to change all agetty commands
** DONE [#C] Screen Recording Solution
CLOSED: [2024-04-06 Sat 17:22]
*** 2024-04-06 Sat @ 17:22:37 -0500 Added recordnow script using ffmpeg
does everything:
- full screen recording
- all audio
- microphone
base configuration came from combining commands from https://trac.ffmpeg.org/wiki/Capture/Desktop
command is:
ffmpeg -framerate 30 -f x11grab -i :0.0+ -f pulse -i alsa_input.pci-0000_00_1b.0.analog-stereo -ac 1 -f pulse -i alsa_output.pci-0000_00_1b.0.analog-stereo.monitor -ac 2 "$LOCATION/$NAME".mkv
*** 2024-04-06 Sat @ 16:06:49 -0500 Tried OBS, but should try something simpler
** DONE [#C] Add paccache systemd timer
CLOSED: [2024-04-13 Sat 12:58]
systemctl enable --now paccache.timer
will setup paccache -rk3 to run every three days. You can locate the paccache.service file to adjust this to your needs.
** DONE [#C] No Wallpaper on First Boot
CLOSED: [2024-04-13 Sat 12:59]
** DONE [#C] Install Gist Emacs Dependency
CLOSED: [2024-04-13 Sat 14:12]
...from the AUR Under Emacs Dependencies
for this particular dependency:
(use-package erc-yank
:defer 1
:after erc
:bind
(:map erc-mode-map
("C-y" . erc-yank)))
** Add vpcserver to archsetup
https://gist.github.com/miguelmota/9cd15049843ddf1ee1a52196f5c7e5ea
* ArchSetup Backlog
** TODO [#D] Rewrite Archsetup in Another Language
There's no current way to test each function, and Archsetup's complexity will grow
*** Which Language?
**** Python
| pros | cons |
|-----------------------------------+-----------------------------------|
| text based and easily inspectable | needs the interpreter installed |
| more engineers can contribute | unit testing frameworks not great |
| great libraries | |
| ablity to curl and pipe? | |
**** Go
| pros | cons |
|------------------------------------+---------------------------------|
| no interpreter needed | opaque binary; less credibility |
| great unit test framework built-in | |
** TODO [#D] Evaluate i3 / Sway to Duplicate DWM Workflows
** TODO [#D] Evaluate Rofi Menus
** TODO [#D] Evaluate Binding the Right Alt Key to Mod4 Using Xmodmap
#+BEGIN_QUOTE
Bind the right Alt key to Mod4
When using Mod4 (the Super/Windows Key) as the MODKEY, it may be equally convenient to have the right Alt key (Alt_R) act as Mod4. This will allow you to perform otherwise awkward keystrokes one-handed, such as zooming with Alt_R+Enter.
First, find out which keycode is assigned to Alt_R:
$ xmodmap -pke | grep Alt_R
Then simply add the following to the startup script (e.g. ~/.xinitrc), changing the keycode 113 if necessary to the result gathered by the previous xmodmap command:
Reassign Alt_R to Super_L:
xmodmap -e "keycode 113 = Super_L"
Make sure X keeps it out of the "mod1" group:
xmodmap -e "remove mod1 = Super_L"
After doing so, any functions that are triggered by the Super_L key press will also be triggered by an Alt_R key press.
Note: There is a #define option in config.h which also allows you to switch the modkey.
#+END_QUOTE
[[https://wiki.archlinux.org/title/Dwm][dwm - ArchWiki]]
Captured On: [2024-04-02 Tue 17:42]
* ArchSetup Reference/Research
** Info on Local Pacman Cache/Mirror
[[https://bbs.archlinux.org/viewtopic.php?id=242471][Use pacman cache as local package mirror / Pacman & Package Upgrade Issues / Arch Linux Forums]]
Captured On: [2024-04-13 Sat 12:07]
** Zorin OS Code
Z217-1PVI-K50J-GYDA
** Arch Install Steps
*** References
[[https://youtu.be/zQQN3Pj4K0Y?list=PLHlcDXHFansDuXdFbU2XZXoNOGQiq1zr3][Stephen's Tech Talks: Arch Linux the Easy Way: Encrypted Wayland KDE, Timeshift, Working Boot from Snapshots]]
*** Arch Install Choices
These are saved as "user_configuration.json" and "user_credentials.json" in the assets folder
**** Disk Layout
- Wipe all selected drives and use a best-effort default partition layout
- Select btrfs
- Select "yes" to using BTRFS subvolumes with a default structure
- Select "yes" to BTRFS compression
**** Encryption password
This is the LUKS encryption password. Choose whatever password you like.
**** Bootloader
- Select "yes" to "use GRUB as bootloader instead of systemd-boot"
**** Profile
- Choose minimal
**** Kernels
- Choose linux
**** Additional Packages
git neovim openssh terminus-font
**** Optional Repositories
Select multilib
*** Chroot Activities
After checking these items, you can exit and reboot
**** Check /etc/fstab
change relatime to noatime for SSD performance
remove space_cache=v2 as it's redundant
**** Check /etc/default/grub
check that encryption is setup properly (look for cryptdevice in grub_cmdline_linux)
add video=1920x1080 in grub_cmdline_linux_default after "loglevel-3 quiet"
if you modify anything, make sure to type
grub-mkconfig -o /boot/grub/grub.cfg
**** Check /etc/mkinitcpio.conf
check MODULES=(btrfs)
ensure that the HOOKS= line has encrypt before filesystems
|