Skip to content

Instantly share code, notes, and snippets.

@salopst
Created September 24, 2023 13:30
Show Gist options
  • Save salopst/0b59d996325597b2ae53eef5771585d9 to your computer and use it in GitHub Desktop.
Save salopst/0b59d996325597b2ae53eef5771585d9 to your computer and use it in GitHub Desktop.
Running list of apps and stuff installed following Pop OS install Sept 2023
#!/bin/bash
# 2023-09-22
# salopst@t14g3.maranlan
# $HOME/.dotfiles/_startup/2023-09-22-pop-os-post-install.sh
#
# rsync -chavzP --stats salopst@192.168.1.203:/home/salopst/webarchive /home/salopst/webarchive
# pretty prompt
curl -sS https://starship.rs/install.sh | sh
export XDG_CONFIG_HOME=$HOME/.config
echo "$XDG_CONFIG_HOME"
sudo apt update && sudo apt full-upgrade -y
### DELETE FROM STOCK
#
#
sudo apt purge --autoremove geary -y # replaced with evolution
# sudo apt purge --autoremove eog -y # POS cannot even crop... after all these years!
# gedit for geany ??
# GNOME videos for MPV / VLC ??
sudo apt install -y \
alacritty apt-file curl copyq dconf-editor evolution evtest fdupes ffmpeg \
file flameshot flatpak fonts-powerline fonts-roboto fortune \
fonts-font-awesome fzf git gnome-sushi\
gnome-tweaks gpick gthumb htop ibus-m17n imagemagick inxi jq kazam \
libimage-exiftool-perl \
libsane-hpaio lshw most neofetch nautilus-admin neovim\
nmap nodejs npm ocrfeeder openssh-server p7zip pavucontrol \
python3 python3-dev python3-pip python3-testresources \
qalc recoll restic ripgrep rofi ruby-dev samba sane sane-airscan shotwell spice-vdagent \
stow sqlite3 texinfo \
tmux ubuntu-restricted-extras unrar unzip vim wireguard yt-dlp zsh \
proton gamehub lutris
##### Dependencies for Recoll xapian local indexer
#
#
sudo apt install -y \
antiword catdvi djvulibre-bin liblzma-dev libwpd-tools unrtf untex
pip3 install pylzma
#### DEV
#
#
sudo apt install -y \
autoconf automake autotools-dev build-essential clang cmake \
gnome-builder gridsite-clients kbd \
libclang-dev libexif-dev libgtk-3-dev libgtk4-dev libimlib2-dev \
nodejs npm libreadline-dev libyaml-dev\
wl-clipboard libxkbcommon-dev libdbus-1-dev libwxgtk3.0-gtk3-dev libssl-dev
#### Haskel Stack
#
#
# https://github.com/commercialhaskell/stack/tree/master/doc
curl -sSL https://get.haskellstack.org/ | sh
## kmonad -- a keyboard remapper. See also kanata, same but in Rust
cd ~src/kmonad
git fetch && git pull
stack install
cd -
##### Rust Cargo
#
#
curl https://sh.rustup.rs -sSf | sh
cargo install alacritty bat cargo-make du-dust exa kanata starship tealdeer topgrade zellij
## espanso -- a text expander
cd ~/src/espanso
git fetch && git pull
cd espanso
# Wayland
# cargo make --profile release --env NO_X11=true build-binary
# X11
cargo make --profile release --env NO_X11=false build-binary
sudo mv target/release/espanso /usr/local/bin/espanso
espanso service register && espanso service start
cd -
##### Golang
#
#
# https://go.dev/dl/
export PATH=$PATH:/usr/local/go/bin
cd ~/Downloads
wget https://go.dev/dl/go1.21.1.linux-amd64.tar.gz
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.21.1.linux-amd64.tar.gz
cd - # same as cd $OLDPWD
go verion
##### Python and Pip
#
#
sudo apt install python3 -y
sudo apt install python3-pip -y
sudo apt install python3.10-venv -y
python3 -m pip install --user pipx
python3 -m pipx ensurepath
python3 -m pip install --user upgrade pipx
pipx install jrnl
##### Ruby & gems and shit
#
#
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer | bash
gem install yaml
rbenv install 3.2.2
# NOTE: to activate this Ruby version as the new default, run: rbenv global 3.2.2
# SHOULD BE GOOD FROM PREVIOUS CONFIGS, but
# The directory `/home/salopst/.rbenv/shims' must be present in PATH for rbenv to work.
# Please run `rbenv init' and follow the instructions.
#### PHONE & FILESYSTEMS
#
# PHONE
sudo apt install -y \
ifuse libimobiledevice6 libimobiledevice-utils
# FILESYSTEMS
sudo mkdir -p /media/{iphone,macos,external}
sudo apt install -y \
btrfs-progs bzip2 fuse gnutls-dev libjpeg-dev libattr1-dev \
libdsk-utils libfuse3-dev libtiff-dev libssl-dev openssl libacl1-dev \
libacl1 libgif-dev libxpm-dev libdsk-utils libgtk2.0-dev libgtk-3-dev \
libfuse-dev libmediainfo-dev pkg-config libncurses5-dev libreadline-dev \
libxml2-dev libxt-dev libbz2 zfsutils-linux zlib1g-dev
#### VIRTUALISATION
#
#
sudo apt install -y \
genisoimage gnome-boxes libguestfs-tools libosinfo-bin libvirt-dev linux-source \
qemu-kvm uuid-runtime virtinst virt-manager virt-viewer
###############################################################################
#### END REPO APT INSTALLS
###############################################################################
##### Pet -- a command line snippet manager
wget https://github.com/knqyf263/pet/releases/download/v0.3.6/pet_0.3.6_linux_amd64.deb && sudo
dpkg -i pet_0.3.6_linux_amd64.deb
##### Kitty Terminal in Go
curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin
##### DCONF / GSETTINGS
#
# $ grep -i -R --exclude-dir=~/.local 'gsettings set' ~/ > ~/Desktop/gsettings-search.txt
#
# GUI `dconf-editor` and CLI `gsettings` both access the same db, but command line has options not present in GUI... figures!
#
gsettings set org.gnome.desktop.interface cursor-theme "Pop"
gsettings set org.gnome.desktop.interface locate-pointer true
gsettings set org.gnome.desktop.interface icon-theme "Pop"
gsettings set org.gnome.desktop.interface gtk-key-theme "Emacs"
gsettings set org.gnome.desktop.notifications.show-in-lockscreen false
gsettings set org.gnome.shell.extensions.pop-cosmic show-applications-button false
gsettings set org.gnome.shell.extensions.pop-cosmic show-workspaces-button true
dconf write /org/gnome/nautilus/preferences/always-use-location-entry true
dconf write /org/gnome/desktop/interface/clock-format "['24hr']"
dconf write /org/gnome/desktop/interface/locate-pointer "['true']"
dconf write /org/gnome/desktop/wm/keybindings/show-desktop "['<Super>D']"
dconf write /org/gnome/desktop/wm/keybindings/switch-to-workspace-1 "['<Super>1']"
dconf write /org/gnome/desktop/wm/keybindings/switch-to-workspace-2 "['<Super>2']"
dconf write /org/gnome/desktop/wm/keybindings/switch-to-workspace-3 "['<Super>3']"
dconf write /org/gnome/desktop/wm/keybindings/switch-to-workspace-4 "['<Super>4']"
dconf write /org/gnome/desktop/input-sources/xkb-options "['caps:ctrl','caps:ctrl_modifier','compose:ralt']"
# for the GNOME panel-date-format extension, below
dconf write /org/gnome/shell/extensions/panel-date-format/format "'%A | %Y-%m-%d | ** %k:%M:%s ** '"
# for the workspace-switch-wraparound, below. switch workspaces w/ <Super>Tab
dconf write /org/gnome/desktop/wm/kwybindings/switch-to-workspace-down "['<Primary><Super>Down', '<Primary><Super>KP_Down', '<Primary><Super>j', '<Super>Tab']"
##### FLATPAK
#
#
# to add to ulauncher etc, add aliases $XDG_CONFIG_HOME/.shell_aliases.sh...
# `alias vscodium="flatpak run com.vscodium.codium"`
#
# flatpak uninstall --delete-data --noninteractive -y <app-name>
if [ $(dpkg-query -W -f='${Status}' flatpak 2>/dev/null | grep -c "ok installed") -eq 0 ];
then
echo ""
echo "Installing → flatpak"
echo ""
sudo apt-get install -qq -y flatpak;
fi
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install -y --noninteractive --user flathub \
net.ankiweb.Anki \
org.audacityteam.Audacity \
org.audacityteam.Audacity.Codecs \
com.bitwarden.desktop \
com.calibre_ebook.calibre \
com.google.Chrome \
com.github.qarmin.czkawka \
com.discordapp.Discord \
com.dropbox.Client \
com.github.johnfactotum.Foliate \
com.github.tchx84.Flatseal \
org.freefilesync.FreeFileSync \
com.github.tchx84.Flatseal \
org.gimp.GIMP \
com.helix_editor.Helix \
org.inkscape.Inkscape \
org.nomacs.ImageLounge \
io.github.seadve.Kooha \
org.gnome.Lollypop \
io.github.liberodark.OpenDrive \
org.musicbrainz.Picard \
io.github.Qalculate \
com.obsproject.Studio \
ch.protonmail.protonmail-bridge \
ch.protonmail.protonmail-import-export-app \
com.github.wwmm.pulseeffects \
de.haeckerfelix.Shortwave \
org.signal.Signal \
com.github.ahrm.sioyek \
com.skype.Client \
it.mijorus.smile \
com.spotify.Client \
org.telegram.desktop \
org.texstudio.TeXstudio \
com.transmissionbt.Transmission \
org.videolan.VLC \
io.typora.Typora \
com.visualstudio.code \
com.vscodium.codium \
us.zoom.Zoom \
org.zotero.Zotero
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment