notes/updates.txt
2025-03-04 11:39:05 -08:00

731 lines
20 KiB
Text
Executable file

Use this file as a post-it for packages to install on laptop/desktop.
add notation about awk as
Select everything but the second field:
awk '!($2="")'
add notation about tr (translate command):
replace every newline with a single space: tr '\n' ' '
add notation about using find to list only files in current directory and NOT subdirectory:
find $dir -maxdepth 1 -type f
add notation about using pick to parse through output, and pipe that using xargs to another command:
example:
ls | pick | xargs bat # will give you a choice of the files from ls, pick displays a menu to "pick" the file, which then is parsed to xargs bat (invokes bat on choice from ls | pick)
https://medium.com/techie-delight/top-25-algorithms-every-programmer-should-know-373246b4881b
sudo chmod 755 /usr/local/bin/pkgtop
Finally figured out how to get language servers working neovim, you have to npm install -g each of them from ~/.local/nvim/share/lsp-servers (note that there is still work to be done here...)
Download and install in virtmanager Windows 10 iso (for purposes of software tests)
Use this site (microsoft only has .exe now... 64 bit, version 21H2)
https://www.itechtics.com/windows-10-download-iso/
To understand google-font-installer(gfi): visit: https://github.com/lordgiotto/google-font-installer
Check out artix-news on github and look at its source code to understand a basic web-scraper written in python: https://github.com/ryukinix/artix-news
SOLVED:Currently troubleshooting fail2ban to work with this, but due to no systemd, fail2ban needs further configuration that I have yet to figure out
ANSWER: In /etc/fail2ban/jail.conf, comment out the line that says 'polling' under the search for 'backend'
This will allow for logging to be done with a native logger instead of it searching for systemd's journald by default.
Then create a file called /etc/fail2ban/jail.d/sshd.local and input the following:
[sshd]
enabled = true
filter = sshd
banaction = ufw
backend = polling
maxretry = 3
findtime = 1d
bantime = 1d
ignoreip = 127.0.0.1/8
In /etc/ssh/sshd_config
Change LogLevel to VERBOSE
restart the fail2ban service and test it with:
doas fai2ban -client status
install paxtest
doas pacman -S paxtest
install firejail
doas pacman -S firejail
doas firecfg
doas apparmor_parser -r /etc/appamor.d/firejail-default
to disable certain applications in firejail, simply navigate to /usr/local/bin where you will find many of the soft links created by firejail:
doas mv someapp someapp_disabled (will break the link, simply name it back to its original to reenable it) rtorrent, newsboat, mpv, librewolf, chromium, links, steam, steam-runtime
also comment out in /etc/firejail/steam* all rules
cd /etc/firejail
doas nvim steam-native.profile
doas nvim steam.profile
doas nvim steam-runtime.profile
Install ncpamixer (ncurses pavu controller replacement)
paru ncpamixer (1st)
Install difftastic (better diff version with colors written in rust)
subtle change here
paru difftastic (only 1 option, very new program)
Install local network sniffer avahi:
doas pacman -S avahi avahi-runit nss-mdns
doas ln -s /etc/runit/sv/avahi-daemon /run/runit/service/
Install brother printer drivers
paru brother-mfc-j615w 1.1.3-2
Set up the printer using first by searching for all printers in the area:
lpinfo --include-schemes dnssd -v
This will provide you with the needed uri to name the printer:
lpadmin -p Brother
lpadmin -p Brother -E -v socket://10.0.0.251
Install ripdrag:
cargo install ripdrag
your zshrc has ~/.cargo/bin added to the $PATH variable to use ripdrag
Set difftastic as git diff default:
git config --global diff.external difft
Install glsxinfo (mesa-utils):
doas pacman -S glsxinfo
Install extra backgrounds
doas pacman -S artix-backgrounds artix-backgrounds-extra
Install mktorrent
doas pacman -S mktorrent
Add difftastic to IgnorePkg in /etc/pacman.conf (compiling does not recognize update on paru):
IgnorePkg = difftastic-git
Install calibre (ebooks utilities package):
doas pacman -S calibre
Install pdfgrep (grep utility within pdfs)
doas pacman -S pdfgrep
Install cpu-x
paru cpu-x (choose x11 from galaxy when prompted)
Install byzanz and silentcast (gif recorders, silentcast good for finding pixel start points for byzanz)
doas pacman -S byzanz
paru silentcast
Install asciinema (records terminal sessions for demoing of cli projects and uploads it to asciinema.org for use, login via proton):
doas pacman -S asciinema
Install figma-linux (sign in using email z3r pr@w)
paru figma-linux
Install brave and uninstall ungoogled chromium (configure brave first with extensions and chrome://flags)
Install css LSP in neovim
Install openresolv (for use with Mullvad)
doas pacman -S openresolv
log into mullvadvpn using your account number (see offline notes on desktop):
download configuration files (use default udp)
xtract -zip the mullvad.zip configuration and copy all files to /etc/openvpn/client
edit mullvad_x.conf to reflect all files to /etc/openvpn/client/files*
In /etc/runit/sv/openvpn/run, edit to exec /usr/bin/openvpn --config /etc/openvpn/client/mullvad_x.conf
Install mkcert (good for ssl certification generation so you can use https on localhost...just have to figure out how it works...)
doas pacman -S mkcert
Install gobuster and dirb and strace
doas pacman -S strace
paru gobuster (1st option)
paru dirb (1st option)
Go to Chrome store and install CSS Dig on brave
Install slop and gifsicle and libimage-exiftool-perl and rebuild-detector and keynav and dvtm and dtach and lowdown and inotify-tools
doas pacman -S slop gifsicle libimage-exiftool-perl rebuild-detector keynav dvtm
lowdown inotify-tools lynis socat diffstat
paru dtach sherlock-git moar devour
Install moreutils package (pretty awesome), yapf (python formatter), shfmt
(shell formatter), stylua (lua formatter), ttf-joypixels (emojis in terminal),
progress (useful for large file downloads)
doas pacman -S moreutils yapf shfmt stylua ttf-joypixels progress
Install xmlstarlet and liferea (xml parser and rss reader):
doas pacman -S xmlstarlet liferea
Install openoffice-bin and xidel (minimal office suite and web scraper)
paru openoffice (choose bin)
paru xidel(1st option)
Install foliate (epub book reader) and xournalpp (pdf signer)
and dash (for emergency shell)
and jpegoptim (obvious)
doas pacman -S foliate xounralapp dash jpegoptim
Install autoprefixer for css files:
npm install -g postcss postcss-cli autoprefixer
Install firefox (for when privacy facing browsers just can't do it...)
And thunderbird
doas pacman -S firefox thunderbird
Install cloc (counts lines of code from terminal):
neomutt and urlscan
doas pacman -S cloc neomutt urlscan
Remove cmus (no longer use in pref of straight mpv)
doas pacman -Rs cmus
Install tmux-resurrect (persist tmux sessions after reboot):
paru tmux-resurrect
Install wemux (pair programming in tmux, lol):
paru wemux
(follow instructions on updating /etc/wemux/wemux.conf)
Uninstall gtktranslate-bin (use your own ltranslate script instead)
paru -Rs gtktranslate-bin
DONE AS OF 08/05/2023
06/02/2023
Install svgo (cli svg optimization tool)
paru svgo
DONE AS OF 08/05/2023
06/02/2023
Install Marksman (code assister for markdown) AND
Install httpie (more simple cli than curl for http requests) AND
Install mypy (typechecker for python) And
Install sqlitebrowser(sqlite from browser?):
doas pacman -S marksman httpie mypy sqlitebrowser
DONE AS OF 08/05/2023
06/15/2023
You took up typescript apparently...
Install typescript
doas npm i -g typescript
Install rome in nvim to get proper linting
:Mason
select rome
DONE AS OF 08/05/2023
06/19/2023
Install nginx and html-minifier (and uglifycss and uglifyjs if not already)
doas pacman -S nginx nginx-runit
doas sv ln -s /etc/runit/sv/nginx /run/runit/service/
doas npm install -g html-minifier uglifyjs uglifycss
DONE AS OF 08/05/2023
06/23/2023
Install rsspls (cli tool to generate rss feeds)
paru rsspls
DONE AS OF 08/05/2023
06/25/2023
Install html2pug (it is what it sounds like)
doas npm install -g html2pug
DONE AS OF 08/05/2023
07/02/2023
Install gfeeds (minimal rss reader)
doas pacman -S gfeeds
DONE AS OF 08/05/2023
07/03/2023
doas pacman -S wine-mono
DONE AS OF 08/05/2023
07/17/2023
Install gpm and gpm-runit (allows use of mouse in tty)
doas pacman -S gpm gpm-runit
ln -s /etc/runit/sv/gpm/ /run/runit/service/
DONE AS OF 08/05/2023
07/27/2023
Install metalog and metalog-runit
doas pacman -S metalog metalog-runit
do the whole ln -s thing
Remove syslog-ng and syslog-ng-runit
doas pacman -Rs syslog-ng syslog-ng-runit
Remove service files and soft link
08/05/2023
Install python-pipx (easy way to set up python virtual environments)
doas pacman -S python-pipx
Install nvtop-nosystemd-git (nvtop started needing systemd):
paru nvtop (select 2)
08/10/2023
Install android-file-transfer:
doas pacman -S android-file-transfer
Make a mount point:
mkdir /mnt/media/pixel
Change ownership of directory:
doas chown USER:USER /mnt/media/pixel
09/05/2023
Install words (for us dictionary):
doas pacman -S words
09/11/2023
Uninstall librewolf as artix no longer supports it
doas pacman -Rs librewolf
And reinstall from AUR:
paru librewolf-bin
Should work out of the box with old configs and bookmarks
Install python-requests-html library (for web scraping)
paru requests-html (or python-requests-html)
Apply new pacman.conf to /etc/pacman.conf
See if you can get your NVIDIA gpu to be recognized, this possibly has to do with the way GRUB is loading kernel modules:
https://bbs.archlinux.org/viewtopic.php?id=277640
Research and pray it works...keep a good iso handy for chrooting...
10/06/2023
Install arch-install-scripts
doas pacman -S arch-install-scripts
10/09/2023
In neovim, install emmet-ls for use in javascriptreact files
10/17/2023
Install thorium and uninstall ungoogled-chromium
paru -S thorium (choose thorium-browser-bin)
doas pacman -Rs ungoogled-chromium
11/01/2023
Reinstall ungoogled-chromium and uninstall thorium (chromium more private and up to date):
doas pacman -S ungoogled-chromium
paru -Rs thorium-browser-bin
11/13/2023
Install pnpm (more efficient version of npm):
doas pacman -S pnpm
11/14/2023
Install php (i guess i'll be getting into this a bit...):
doas pacman -S php
And additional packages:
doas pacman -S php-sqlite php-fpm php-fpm-runit php-cgi
And adjust /etc/php/php.ini according to arch wiki docs:
https://wiki.archlinux.org/title/PHP
For the basics on how to get a local web server running via nginx, see this article from Linode/Akamai:
https://www.linode.com/docs/guides/install-php-8-for-apache-and-nginx-on-ubuntu/
11/19/2023
Install csvkit (for csvparsing from terminal):
doas pacman -S csvkit
11/21/2023
Install php-composer (depenedency manager):
doas pacman -S composer
11/22/2023
Install profanity (terminal xmpp client similar to irssi):
doas pacman -S profanity
11/25/2023
Install python-virtualenvwrapper (for easily creating python venvs on Arch)
python-virtualenvwrapper
11/26/2023
Uninstall pug-cli from npm and use paru instead:
doas npm -g uninstall pug-cli
paru pug-cli
11/28/2023
Install ack (command line tool along the lines of grep):
doas pacman -S ack
11/30/2023
Reinstall paru (updated to v2):
doas rm /usr/bin/paru
git clone "https://aur.archlinux.org/paru.git"
cd paru
makepkg -si
12/02/2023
Install huggingface-cli from AUR:
paru huggingface-cli (1st choice, not -git)
12/03/2023
Config already set up for it, but install new packages and set up Codeium(code completion AI similar to Github Copilot)
You already have an api key set up, just log in using your details (see keepassxc)
https://github.com/Exafunction/codeium.vim#-installation-options
12/12/2023
Install redis
doas pacman -S redis redis-runit
12/15/2023
Recently there were memory issues installing redis server within docker. After researching, I found that editing our /etc/rc.local file holds the answer. Append the following and reboot:
sysctl vm.overcommit_memory=1
sysctl fs.file-max=100000
01/04/2024
Install gobble to replace devour (doesn't work on wayland, but is supposedly better than devour):
paru -S gobble
paru -Rs devour
01/21/2024
Reset omniverse repo mirror list in /etc/pacman.conf:
https://wiki.artixlinux.org/Main/Repositories#Omniverse
Once done, paru -Rs librewolf-bin ungoogled-chromium
And reinstall using pacman:
doas pacman -S librewolf ungoogled-chromium
Also, install ctop (top for seeing running docker containers)
doas pacman -S ctop
02/19/2024
Install stitchy (stitches two pics together from cli):
rustup update
cargo install stitchy
02/21/2024
Add gopls lsp to neovim from Mason
Add Wappalyzer extension to browsers (reveals tech used on websites/web apps)
02/25/2024
Uninstall foliate and install fbreader
doas pacman -Rs foliate && doas pacman -S fbreader
02/26/2024
Install sqlc and goose for use with golang
doas pacman -S sqlc
paru goose
02/28/2024
Install browser-sync using npm (aur version is orphaned).
doas npm install -g browser-sync
02/29/2024
Install silicon (a cli tool to generate code snippet pics):
doas pacman -S silicon
03/03/2024
Install libreoffice-still
doas pacman -S libreoffice (choose still from galaxy repo)
Run in safe mode first
libreoffice --safe-mode
Choose to configure it to work with out hardware acceleration and then choose apply and restart
03/04/2024
Uninstall onlyoffice-bin
doas pacman -Rs onlyoffice-bin
03/09/2024
Install restic (backup tool similar to timeshift)
doas pacman -S restic
03/16/2024
Install yad
doas pacman -S yad
Install obs-studio (video recording and streaming software)
doas pacman -S obs-studio
03/20/2024
Install vsce (vscode compiler for extensions not found in MS store, i.e. cloned from github)
doas npm install -g vsce
03/22/2024
Install the lldb (LLVM debugger)
doas pacman -S lldb
03/26/2024
Install gcolor2 (gcolor3 breaks due to dependency hell, add gcolor3 to IgnorePkg for now)
paru gcolor2
03/29/2024
Install rust-analyzer
doas pacman -S rust-analyzer
03/30/2024
Install sox (cli audio editor)
doas pacman -S sox
Install anoise/anoise-gui (white noise audio)
paru anoise (choose both anoise and anoise-gui)
04/10/2024
Install pkgfile (dependency checker for packages on Arch based systems)
doas pacman -S pkgfile
doas pkgfile --update
04/14/2024
Install nvtop from world repo (nvtop-nosystemd-git no longer maintained in AUR)
doas pacman -S nvtop
Uninstall tut and tootle (Mastodon clients I never use)
paru -R tootle
doas pacman -Rs tut
04/22/2024
Install sqlx (sql parsing lib for rust)
doas pacman -S sqlx
05/06/2024
Add ${USER} to docker group:
doas usermod -aG docker ${USER}
06/04/2024
Install entr (runs on file save, haven't quite figured it out)
doas pacman -S entr
Install concurrently and livereload:
doas npm install -g livereload concurrently
07/29/2024
Install zig and use it to install fex
doas pacman -S zig
cd ~/aur_packages/
git clone https://github.com/18alantom/fex && cd fex
zig build-exe -O ReleaseSafe main.zig -lc
mv main /usr/bin/fex
08/04/2024
Remove ncpamixer
doas pacman -R ncpamixer
08/07/2024
Install cargo-watch
cargo install cargo-watch
Install trunk
cargo install trunk
Install wasm32
rustup target add wasm32-unknown-unknown
Install leptosfmt
cargo install leptosfmt
08/08/2024
Install stylance-cli
cargo install stylance-cli
08/09/2024
Install lftp (like curl/wget):
doas pacman -S lftp
08/11/2024
Install cargo-leptos:
cargo install cargo-leptos
08/12/2024
Install isort and stylelint
doas pacman -S python-isort stylelint
Install sql-formatter
paru sql-formatter
Install black (python formatter)
doas pacman -S python-black
Install taplo (TOML formatter)
doas pacman -S taplo
Install deno
doas pacman -S deno
Install bun
curl -fsSL https://bun.sh/install | bash
Install fastapi
doas pacman -S python-fastapi
Install python-poetry (modern python package manager)
doas pacman -S python-poetry
Install rye (even more modern python package manager)
doas pacman -S rye
Then invoke rye to install it (note choose to not have rye choose your global python version, use OS)
rye
08/21/2024
Install pnpm-shell-completion
paru -S pnpm-shell-completion
09/07/2024
doas npm install -g typescript-language-server typescript
09/15/2024
Reinstall paru (recent updates to paru break libalpm)
cd ~/aur_packages/
git clone https://aur.archlinux.org/paru-git.git
cd paru-git
makepkg -si
09/16/2024
Install duf (alternative for df):
paru duf-git
Install doggo (alternative for dig):
paru doggo-bin
Install i2pd and i2pd-runit:
doas pacman -S i2pd i2pd-runit
doas ln -s /etc/runit/sv/i2pd /run/runit/service/i2pd
Make sure ufw enables i2p:
doas ufw allow 4444
And make sure that you forward i2p traffic through privoxy
(note: must be beneath all other forwards in /etc/privoxy/config):
forward .i2p localhost:4444
To access i2p sites, you'll need to modify the /etc/i2pd/i2pd.conf file:
[addressbook]
subscriptions= http://add2here.i2p/hosts.txt
(note: the hosts.txt is how i2p resolves)
09/23/2024
Add a script for rustdesk as it now needs a service daemon:
cd /etc/runit/sv/
doas mkdir rustdesk
cd rustdesk
doas touch run
doas chmod +x run
doas nvim run
```sh
#!/bin/sh
exec /usr/bin/rustdesk --service
````
doas ln -s /etc/runit/sv/rustdesk /run/runit/service/
doas sv start rustdesk
doas touch down
10/13/2024
Remove rustdesk-bin:
paru -Rs rustdesk-bin
10/26/2024
Install and test use wireshark
doas pacman -S wireshark-qt
doas groupadd wireshark
doas usermod -aG wireshark "$USER"
doas chgrp wireshark /usr/bin/dumpcap
doas setcap cap_net_raw,cap_net_admin=ep /usr/bin/dumpcap
To monitor wlan0(wifi) traffic:
wireshark -i wlan0 -k
Install and use tcpdump
doas pacman -S tcpdump
doas groupadd pcap
doas usermod -aG pcap "$USER"
doas chgrp pcap /usr/bin/tcpdump
doas setcap cap_net_raw,cap_net_admin=ep /usr/bin/tcpdump
Install adwaita-qt6 (not git version)
paru adwaita-qt6
Install dxvk-bin and set it up (may need to re-run whenever installing new vulkan drivers)
paru dxvk-bin
setup_dxvk install
11/02/2024
Install qalculate
doas pacman -S qalculate-qt
Adjust style:
Preferences > Check Dark Mode > Adjust Fonts each up font size by 2 units
Uninstall galculator
doas pacman -Rs galculator
11/05/2024
Install lksctp-tools (TCP Tools)
doas pacman -S lksctp-tools
Install tcc (tiny c compiler):
doas pacman -S tcc
Install minimodem
paru minimodem
Install cowsay
doas pacman -S cowsay
Reinstall pgcli from official artix repos:
paru -Rs pgcli-git
doas pacman -S pgcli
Install pipeviewer (pv):
doas pacman -S pv
Uninstall old tldr and replace with tealdeer
doas pacman -Rs tldr && doas pacman -S tealdeer && tldr --update
Install btop-theme-catppuccin
paru -S btop-theme-catppuccin
Install ipython (better python interpreter):
doas pacman -S ipython
Configure ipython to use vi keybindings
ipython profile create
in ~/.ipython/profile_default/ipython_config.py,
edit c.TerminalInteractiveShell.editing_mode = 'vi'
On updating mycli, you'll need some new python packages:
paru python-sqlglot python-pyfzf
Remove global postgresql:
doas pacman -Rs postgresql postgresql-runit
Install cargo-update
cargo install cargo-update
Install kalker (cli calculator app)
cargo install kalker
Update all cargo packages using cargo-u alias:
cargo-u
Install macchanger
doas pacman -S macchanger
Also in /etc/NetworkManager/conf.d/wifi_rand_mac.conf (need to create this), write:
```
[device-mac-randomization]
# "yes" is already the default for scanning
wifi.scan-rand-mac-address=yes
[connection-mac-randomization]
# Randomize MAC for every ethernet connection
ethernet.cloned-mac-address=random
# Generate a random MAC for each Wi-Fi and associate the two permanently.
wifi.cloned-mac-address=stable
```
02/09/2025
Install tinycss2 (for Inkscape):
doas pacman -S python-tinycss2
02/17/2025
Remove gfeeds
doas pacman -rs gfeeds
02/20/2025
Install pacman-static
doas pacman -S pacman-static
02/23/2025
Install audacity
doas pacman -S audacity
02/26/2025
install wireshark-dumpcap.hook
(See ./custom_hooks/)
03/04/2025
Adjust ~/.gitconfig according to
https://blog.gitbutler.com/how-git-core-devs-configure-git/