summaryrefslogtreecommitdiff
path: root/TODO.org
blob: e91bbdecfc6b36bb0bcba6c788d4257c8180d066 (plain)
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

=== ArchSetup Tasks ===

* ArchSetup v0.5
** DONE [#B] 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 [#B] Setup Virtualbox with ArchBase for Testing
CLOSED: [2024-04-11 Thu 08:49]
** 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] Fix 2 Errors in Archsetup Fresh Installation
CLOSED: [2024-04-13 Sat 12:59]
** 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)))

** VERIFY [#C] Quiet Login of Hostname No Longer Working
*** 2024-04-13 Sat @ 14:33:42 -0500 Test if alternate getty is the reason
Ran same sed command to change all agetty commands
** TODO [#C] Add Docker Image for Telega Emacs Dependency
*** TODO Create and Test Script to Add Docker Image for Telega
** TODO [#B] v0.5 Scenario Test & Bugfixes
*** Virtualbox Installation Testing
*** Reinstall Velox Using Latest
* ArchSetup v0.6
** 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 [#B] Optional: Graphical Boot and Login
*** 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 Plymouth
** 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.
* ArchSetup Backlog
** TODO [#C] 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 [#B] ZFS on Root Install
[[file:///usr/share/doc/arch-wiki/html/en/Install_Arch_Linux_on_ZFS.html][Install Arch Linux on ZFS - ArchWiki]]
** TODO [#C] Evaluate Hyprland to Duplicate DWM Workflow
** 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]
** TODO [#A] Add Pyenv to Archsetup
** 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]