Lucien Cartier-Tilet
9fa2147042
Set default locale to en_DK to get sane defaults
Update package list:
- Remove mpd-rich-presence-discord-git
- Replace picom-git by picom
When installing packages, skip PKGBUILD review for AUR packages
Update list of org files to be tangled, as well as their needed
directories
- Remove awesome.org
- Add mpd.org
- Add neofetch.org
- Add stumpwm.org
Remove commands related to Spacemacs
Remove commands to symlink files in .etc in commit d1a639adaf
Better configuration for nordvpn
Symlink plock from its actual location. It is not guaranteed `which
plock` can already return something.
Remove installation of packages through pip
Remove Chicken installation
Update Fisher installation
245 lines
9.5 KiB
Fish
Executable File
245 lines
9.5 KiB
Fish
Executable File
#!/usr/bin/fish
|
||
if test "$USER" = 'phundrak'
|
||
yadm decrypt
|
||
else
|
||
whiptail --yesno "Decrypt private files?" 8 40 && yadm decrypt
|
||
end
|
||
|
||
set keyboardconf \
|
||
'Section "InputClass"
|
||
Identifier "system-keyboard"
|
||
MatchIsKeyboard "on"
|
||
Option "XkbLayout" "fr"
|
||
Option "XkbModel" "pc104"
|
||
Option "XkbVariant" "bepo_afnor"
|
||
Option "XkbOptions" "caps:ctrl_modifier"
|
||
EndSection'
|
||
|
||
printf "\n# Set keyboard layout #########################################################\n\n"
|
||
whiptail --yesno "Would you like to set your keyboard layout to the bépo layout?" 8 55
|
||
if test $status -eq 0
|
||
echo $keyboardconf | sudo tee /etc/X11/xorg.conf.d/00-keyboard.conf
|
||
end
|
||
|
||
set mylocales "en_US.UTF-8 UTF-8" "fr_FR.UTF-8 UTF-8" "ja_JP.UTF-8 UTF-8"
|
||
|
||
printf "\n# Set locale ##################################################################\n\n"
|
||
for item in $mylocales
|
||
whiptail --yesno "Set the \"$item\" locale?" 8 40
|
||
if test $status -eq 0 -a (grep -e "#$item" /etc/locale.gen)
|
||
sudo sed -i "/$item/s/^#//g" /etc/locale.gen
|
||
end
|
||
end
|
||
|
||
set localeconf "LANG=en_DK.UTF-8
|
||
LC_COLLATE=C
|
||
LC_NAME=fr_FR.UTF-8
|
||
LC_IDENTIFICATION=fr_FR.UTF-8
|
||
LC_TELEPHONE=fr_FR.UTF-8
|
||
LC_MONETARY=fr_FR.UTF-8
|
||
LC_PAPER=fr_FR.UTF-8
|
||
LC_ADDRESS=fr_FR.UTF-8
|
||
LC_MEASUREMENT=fr_FR.UTF-8"
|
||
|
||
whiptail --yesno "Do you agree to have the following locale set?\n\n $localeconf" 20 43
|
||
if test $status -eq 0
|
||
echo $localeconf | sudo tee /etc/locale.conf
|
||
end
|
||
|
||
printf "\n# Generate locale #############################################################\n\n"
|
||
sudo locale-gen
|
||
|
||
printf "\n# Create directories for mounting #############################################\n\n"
|
||
sudo mkdir -p /mnt/{USB,CD,Android}
|
||
sudo chown $USER:(id -g $USER) /mnt/{USB,CD,Android}
|
||
|
||
printf "\n# Set fish as the default shell ###############################################\n\n"
|
||
whiptail --yesno "Set the current user’s default shell to fish?" 8 50
|
||
if test $status -eq 0 -a ! "$SHELL" = '/usr/bin/fish'
|
||
chsh -s /usr/bin/fish
|
||
end
|
||
|
||
set PACKAGES \
|
||
acpi acpilight adobe-source-han-sans-jp-fonts arc-gtk-theme asar ascii \
|
||
aspell-en aspell-fr awesome awesome-terminal-fonts \
|
||
awesome-freedesktop-git base-devel bashtop bat biber bitwarden-bin \
|
||
bluez-firmware bluez-utils bzip2 chicken chromium clisp corrupter-git \
|
||
cppcheck cppreference cppreference-devhelp cpupower discord-canary \
|
||
discount docker docker-compose dockerfile-language-server-bin doxygen \
|
||
emacs emacs-org-mode exa exfat-utils farbfeld fd ffmpegthumbnailer \
|
||
findutils firefox flake8 flat-remix-gtk freeglut fzf gcc-libs gdb gimp \
|
||
gnome-disk-utility gnome-epub-thumbnailer gnu-free-fonts gnuplot go \
|
||
go-tools golangci-lint-bin graphviz htop hugo i3lock-color inetutils \
|
||
isync inter-font javascript-typescript-langserver js-beautify jfsutils \
|
||
jmtpfs kitty lain-git libxft-bgra linux-headers lldb logrotate meson \
|
||
minted man-db man-pages mpc mpd mpv mupdf-tools nano ncdu ncmpcpp \
|
||
nemo-fileroller nemo-preview neofetch netctl network-manager-applet \
|
||
networkmanager networkmanager-openvpn nm-connection-editor nodejs-vmd \
|
||
nomacs nordic-theme-git nordvpn-bin noto-fonts-emoji npm ntfs-3g \
|
||
numlockx obs-studio openssh otf-fandol otf-ipafont p7zip \
|
||
pacman-contrib pandoc-bin pass pavucontrol pdfpc picom \
|
||
powerline-fonts prettier pulseaudio-bluetooth python-autoflake \
|
||
python-epc python-importmagic python-language-server python-nose \
|
||
python-pip python-poetry python-ptvsd python-pytest qt5-imageformats \
|
||
qemu r raw-thumbnailer reflector ripgrep rofi rsync rtv \
|
||
ruby-rb-fsevent ruby-sass rustup samba scrot sent shadow siji-git \
|
||
simplescreenrecorder sshfs sxiv texlive-bibtexextra texlive-fontsextra \
|
||
texlive-formatsextra texlive-humanities texlive-langjapanese \
|
||
texlive-pictures texlive-pstricks texlive-publishers texlive-science \
|
||
tldr tmux tree ttf-arphic-uming ttf-baekmuk ttf-charis-sil ttf-dejavu \
|
||
ttf-google-fonts-opinionated-git ttf-hanazono ttf-joypixels ttf-koruri \
|
||
ttf-liberation ttf-monapo ttf-sazanami ttf-tibetan-machine typescript \
|
||
typescript-language-server-bin unicode-emoji unrar usbutils valgrind \
|
||
vscode-css-languageserver-bin vscode-html-languageserver-bin w3m wget \
|
||
x11-ssh-askpass xclip xdg-user-dirs-gtk xfce-polkit xidlehook xfsprogs \
|
||
xorg-drivers xorg-server xorg-xinit xss-lock xvkbd xwallpaper \
|
||
yaml-language-server-bin zeal
|
||
|
||
printf "\n# Installing needed packages ##################################################\n\n"
|
||
sudo pacman -Syu
|
||
for pkg in $PACKAGES
|
||
paru -S --skipreview --needed $pkg
|
||
end
|
||
|
||
mkdir -p $HOME/.config/fish
|
||
mkdir -p $HOME/.config/gtk-2.0
|
||
mkdir -p $HOME/.config/gtk-3.0
|
||
mkdir -p $HOME/.config/ncmpcpp
|
||
mkdir -p $HOME/.config/neofetch
|
||
mkdir -p $HOME/.config/picom
|
||
mkdir -p $HOME/.config/yadm
|
||
mkdir -p $HOME/.local/bin
|
||
mkdir -p $HOME/.stumpwm.d
|
||
mkdir -p $HOME/org/capture
|
||
|
||
printf "\n# Tangling org files ##########################################################\n\n"
|
||
printf '\n\n==== Tangling bin.org\n\n' && \
|
||
emacs -q --batch --eval '(require \'ob-tangle)' \
|
||
--eval '(setq org-confirm-babel-evaluate nil)' \
|
||
--eval '(org-babel-tangle-file "~/org/config/bin.org")'
|
||
|
||
printf '\n\n==== Tangling emacs.org\n\n' && \
|
||
emacs -q --batch --eval '(require \'ob-tangle)' \
|
||
--eval '(setq org-confirm-babel-evaluate nil)' \
|
||
--eval '(org-babel-tangle-file "~/org/config/emacs.org")'
|
||
|
||
printf '\n\n==== Tangling fish.org\n\n' && \
|
||
emacs -q --batch --eval '(require \'ob-tangle)' \
|
||
--eval '(setq org-confirm-babel-evaluate nil)' \
|
||
--eval '(org-babel-tangle-file "~/org/config/fish.org")'
|
||
|
||
printf '\n\n==== Tangling index.org\n\n' && \
|
||
emacs -q --batch --eval '(require \'ob-tangle)' \
|
||
--eval '(setq org-confirm-babel-evaluate nil)' \
|
||
--eval '(org-babel-tangle-file "~/org/config/index.org")'
|
||
|
||
printf '\n\n==== Tangling mpd.org\n\n' && \
|
||
emacs -q --batch --eval '(require \'ob-tangle)' \
|
||
--eval '(setq org-confirm-babel-evaluate nil)' \
|
||
--eval '(org-babel-tangle-file "~/org/config/mpd.org")'
|
||
|
||
printf '\n\n==== Tangling neofetch.org\n\n' && \
|
||
emacs -q --batch --eval '(require \'ob-tangle)' \
|
||
--eval '(setq org-confirm-babel-evaluate nil)' \
|
||
--eval '(org-babel-tangle-file "~/org/config/neofetch.org")'
|
||
|
||
printf '\n\n==== Tangling picom.org\n\n' && \
|
||
emacs -q --batch --eval '(require \'ob-tangle)' \
|
||
--eval '(setq org-confirm-babel-evaluate nil)' \
|
||
--eval '(org-babel-tangle-file "~/org/config/picom.org")'
|
||
|
||
printf '\n\n==== Tangling rustfmt.org\n\n' && \
|
||
emacs -q --batch --eval '(require \'ob-tangle)' \
|
||
--eval '(setq org-confirm-babel-evaluate nil)' \
|
||
--eval '(org-babel-tangle-file "~/org/config/rustfmt.org")'
|
||
|
||
printf '\n\n==== Tangling stumpwm.org\n\n' && \
|
||
emacs -q --batch --eval '(require \'ob-tangle)' \
|
||
--eval '(setq org-confirm-babel-evaluate nil)' \
|
||
--eval '(org-babel-tangle-file "~/org/config/stumpwm.org")'
|
||
|
||
printf '\n\n==== Tangling tmux.org\n\n' && \
|
||
emacs -q --batch --eval '(require \'ob-tangle)' \
|
||
--eval '(setq org-confirm-babel-evaluate nil)' \
|
||
--eval '(org-babel-tangle-file "~/org/config/tmux.org")'
|
||
|
||
if test "$USER" = 'phundrak'
|
||
|
||
printf "\n# Update yadm’s remotes #######################################################\n\n"
|
||
yadm remote set-url origin git@labs.phundrak.com:phundrak/dotfiles.git
|
||
yadm remote add github git@github.com:phundrak/dotfiles.git
|
||
|
||
printf "\n# Decrypt encrypted dotfiles ##################################################\n\n"
|
||
yadm decrypt
|
||
|
||
end
|
||
|
||
printf "\n# Getting yadm susbmodules ####################################################\n\n"
|
||
yadm submodule update --init --recursive
|
||
|
||
printf "\n# Enabling timesync ###########################################################\n\n"
|
||
sudo systemctl enable --now systemd-timesyncd
|
||
|
||
sudo timedatectl set-ntp true
|
||
|
||
printf "\n# Enabling and starting Docker ################################################\n\n"
|
||
sudo systemctl enable --now docker
|
||
|
||
read --prompt "echo 'Do you wish to be added to the `docker` group? (Y/n): ' " -l adddockergroup
|
||
if test $adddockergroup = 'y' || test $adddockergroup = "Y" || test $adddockergroup = ''
|
||
sudo usermod -aG docker $USER
|
||
end
|
||
|
||
printf "\n# Enabling Emacs as user service ##############################################\n\n"
|
||
systemctl --user enable emacs
|
||
|
||
printf "\n# Enabling Mpd as a user service ##############################################\n\n"
|
||
mkdir -p ~/.config/mpd/playlists
|
||
systemctl --user enable --now mpd
|
||
|
||
whiptail --yesno 'Do you want to activate the ssh server?' 8 50
|
||
if test $status -eq 0
|
||
printf "\n# Enabling ssh server #########################################################\n\n"
|
||
sudo systemctl enable --now sshd
|
||
end
|
||
|
||
sudo usermod -aG video $USER
|
||
|
||
sudo systemctl enable --now nordvpnd
|
||
|
||
nordvpn s protocol tcp
|
||
|
||
nordvpn set notify enabled
|
||
nordvpn set ipv6 enabled
|
||
|
||
sudo ln -s ~/.local/bin/plock /usr/bin/plock
|
||
|
||
mkdir -p ~/fromGIT
|
||
|
||
printf "\n# Install Reveal.JS ###########################################################\n\n"
|
||
cd ~/fromGIT
|
||
git clone https://github.com/hakimel/reveal.js.git
|
||
|
||
printf "\n# Install the rust toolchains, nightly is the default one #####################\n\n"
|
||
rustup default stable
|
||
|
||
rustup toolchain install nightly
|
||
|
||
printf "\n# Add rust utilities ##########################################################\n\n"
|
||
cargo install rustfmt racer
|
||
|
||
rustup component add rust-src
|
||
rustup component add rls
|
||
rustup component add clippy
|
||
|
||
printf "\n# Installing fisher ###########################################################\n\n"
|
||
curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher
|
||
|
||
printf "\n# Installing Fisher Extensions ################################################\n\n"
|
||
fisher install decors/fish-colored-man
|
||
fisher install franciscolourenco/done
|
||
fisher install jethrokuan/fzf
|
||
fisher install jorgebucaran/fish-bax
|
||
fisher install jorgebucaran/fish-getopts
|
||
fisher install laughedelic/pisces
|