From a7488745cb429f82d85e0bbf2107bc5d5457be3e Mon Sep 17 00:00:00 2001 From: speedie Date: Sun, 20 Nov 2022 17:51:35 +0100 Subject: [PATCH] Update Gentoo configuration. --- commit.sh | 14 ++ install.sh | 86 ++++++++ src/etc/portage/make.conf | 84 ++++++++ src/etc/portage/package.accept_keywords | 5 + src/etc/portage/package.license | 2 + src/etc/portage/package.use | 265 ++++++++++++++++++++++++ src/mkpkglist.sh | 6 + src/pkglist | 1 + src/setup-pkgs.sh | 11 + src/setup-world.sh | 18 ++ src/setup.sh | 61 ++++++ src/update-world.sh | 2 + src/updatedots.sh | 28 +++ update.sh | 7 + 14 files changed, 590 insertions(+) create mode 100755 commit.sh create mode 100755 install.sh create mode 100644 src/etc/portage/make.conf create mode 100644 src/etc/portage/package.accept_keywords create mode 100644 src/etc/portage/package.license create mode 100644 src/etc/portage/package.use create mode 100755 src/mkpkglist.sh create mode 100644 src/pkglist create mode 100755 src/setup-pkgs.sh create mode 100755 src/setup-world.sh create mode 100755 src/setup.sh create mode 100755 src/update-world.sh create mode 100755 src/updatedots.sh create mode 100755 update.sh diff --git a/commit.sh b/commit.sh new file mode 100755 index 0000000..1dc81ce --- /dev/null +++ b/commit.sh @@ -0,0 +1,14 @@ +#!/bin/sh +# commit and push + +git add * + +# update +if [ command -v lspci > /dev/null ]; then + lspci | grep -q "comet lake" && git commit -am "Update gentoo configuration (desktop)." + lspci | grep -q "2nd generation core processor" && git commit -am "Update gentoo configuration (laptop)." +else + git commit -am "Update Gentoo configuration." +fi + +git push diff --git a/install.sh b/install.sh new file mode 100755 index 0000000..6a78c82 --- /dev/null +++ b/install.sh @@ -0,0 +1,86 @@ +#!/bin/sh +# install dots + +# require root +if [ "$(whoami)" != "root" ]; then + echo "Not running as root." + exit 1 +fi + +clear + +echo "What would you like to do?" +echo "[a] Install everything." +echo "[q] Quit." +echo "[ip] Install all packages." +echo "[iw] Install @world file (NOTE: This can be risky sometimes but a backup is created.)." +echo "[id] Install portage config files." +printf "> " + +read installaction + +# check valid options +if [ "$installaction" != "ip" ] && [ "$installaction" != "iw" ] && [ "$installaction" != "id" ] && [ "$installaction" != "a" ] && [ "$installaction" != "q" ]; then + echo "Invalid option, try again." + sleep 1 + $0 && exit +fi + +curdir="$(pwd)" + +WARN() { + echo "WARNING: You are about to install packages. Make sure your /etc/portage/make.conf is set up properly." + echo "Do you want to edit it now? (y/n)" + printf "> " + read edit + + if [ "$edit" != "y" ] || [ "$edit" != "n" ]; then + echo "Try again." + WARN + fi + + if [ "$edit" = "y" ]; then + command -v nvim > /dev/null && EDITOR=nvim + command -v vim > /dev/null && EDITOR=vim + command -v vi > /dev/null && EDITOR=vi + command -v $EDITOR > /dev/null && EDITOR=$EDITOR + command -v nano > /dev/null && EDITOR=nano + + FINDEDITOR() { + if [ "$EDITOR" = "" ]; then + echo "Not able to find an editor on your system, please specify one." + printf "> " + read EDITOR + + command -v $EDITOR > /dev/null || FINDEDITOR + fi + } + + FINDEDITOR + fi +} + +if [ "$installaction" = "ip" ]; then + WARN + cd src + ./setup-pkgs.sh +elif [ "$installaction" = "iw" ]; then + WARN + cd src + ./setup-world.sh + ./update-world.sh +elif [ "$installaction" = "id" ]; then + cd src + ./setup.sh +elif [ "$installaction" = "q" ]; then + exit 0 +elif [ "$installaction" = "a" ]; then + WARN + cd src + ./setup.sh + ./setup-world.sh + ./update-world.sh + ./setup-pkgs.sh +fi + +cd $curdir diff --git a/src/etc/portage/make.conf b/src/etc/portage/make.conf new file mode 100644 index 0000000..1b7590c --- /dev/null +++ b/src/etc/portage/make.conf @@ -0,0 +1,84 @@ +# speedie's Gentoo make.conf for virtual machines, my desktop and the thinkpad x220/t420 +# by default, these options are for the desktop + +# disabled +DUSE="-gnome -kde -systemd -nls gtk -gtk-doc -gles2 -gles3 lz4 pulseaudio alsa \ + -mpeg -gnome-keyring -polkit -policykit -plasma -qt5 -pcmcia savedconfig -startup-notification \ + -doc -debug -geolocation -examples -gles2-only -branding -emacs -geoip -gmp -handbook \ + -modules pdf -dbus -elf -mime -clang -python -aac -suid -rust -udev -acl -introspection \ + -webkit -dvd -cd -bzip2 -ipv6" + +# enabled +NUSE="mp3 mp4 flac opengl unicode fontconfig ffmpeg fbcon minimal mono ncurses threads \ + graphite mount buildtarball xvfb" + +# system specific comment what you don't use +DESKTOP_USE="-wayland pulseaudio bluetooth x264 -wifi vulkan" +#VM_USE="-wayland pulseaudio bluetooth x264 -wifi -vulkan" +#X220_USE="-wayland pulseaudio bluetooth x264 wifi -vulkan" + +# mirrors +GENTOO_MIRRORS="https://mirrors.dotsrc.org/gentoo/ \ + http://mirrors.dotsrc.org/gentoo/ \ + ftp://mirrors.dotsrc.org/gentoo/ \ + rsync://mirrors.dotsrc.org/gentoo/ \ +" + +# host options +CHOST="x86_64-pc-linux-gnu" +CPUGEN="skylake" +CPU_FLAGS_SKYLAKE="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sse sse2 sse3 sse4_1 sse4_2 ssse3" +#CPU_FLAGS_SANDYBRIDGE="aes avx mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" +LOGLANG=C +BOOT="efi-64" + +# compilation options +COMMON_FLAGS="-O2 -pipe -march=${CPUGEN} -mtune=${CPUGEN}" +EMERGE_DEFAULT_OPTS="--quiet --verbose --ask" +MAKEOPTS="-j8 -l9" +PORTAGE_NICENESS=1 +FEATURES="parallel-install parallel-fetch" + +# language +L10N="en-US" +LINGUAS="en-US" + +# accept rules +ACCEPT_KEYWORDS="~amd64" +ACCEPT_LICENSE="-* @FREE" + +# x11 options +#X220_VIDEO_CARDS="intel fbdev" +DESKTOP_VIDEO_CARDS="amdgpu" +DESKTOP_VULKAN_VIDEO_CARDS="vulkan-amdgpu radeonsi" +#VMWARE_VBOX_VIDEO_CARDS="vmware" +#LEGACY_VBOX_VIDEO_CARDS="virtualbox" +#QEMU_QXL_VIDEO_CARDS="qxl" + +#X220_INPUT_DEVICES="synaptics" +#GENERAL_INPUT_DEVICES="libinput" + +# targets +LLVM_TARGETS="AMDGPU X86" +RUBY_TARGETS="ruby30 ruby26" +PYTHON_TARGETS="python3_9" +QEMU_USER_TARGETS="x86_64" +LUA_USER_TARGETS="lua5-4" +GRUB_PLATFORMS="${BOOT}" + +# paths +PORTDIR="/var/db/repos/gentoo" +DISTDIR="/var/cache/distfiles" +PKGDIR="/var/cache/binpkgs" + +# use the above +CFLAGS="${COMMON_FLAGS}" +CXXFLAGS="${COMMON_FLAGS}" +FCFLAGS="${COMMON_FLAGS}" +FFLAGS="${COMMON_FLAGS}" +LC_MESSAGES="${LOGLANG}" + +USE="${NUSE} ${DUSE} ${DESKTOP_USE} ${X220_USE} ${VM_USE}" +VIDEO_CARDS="${DESKTOP_VIDEO_CARDS} ${DESKTOP_VULKAN_VIDEO_CARDS} ${X220_VIDEO_CARDS} ${VMWARE_VBOX_VIDEO_CARDS} ${LEGACY_VBOX_VIDEO_CARDS} ${QEMU_QXL_VIDEO_CARDS}" +INPUT_DEVICES="${GENERAL_INPUT_DEVICES} ${X220_INPUT_DEVICES}" +CPU_FLAGS_X86="${CPU_FLAGS_SKYLAKE} ${CPU_FLAGS_SANDYBRIDGE}" diff --git a/src/etc/portage/package.accept_keywords b/src/etc/portage/package.accept_keywords new file mode 100644 index 0000000..f9c928d --- /dev/null +++ b/src/etc/portage/package.accept_keywords @@ -0,0 +1,5 @@ +=x11-wm/speedwm-9999 ** +=x11-wm/libspeedwm-9999 ** +=x11-wm/speedwm-extras-9999 ** +=x11-terms/st-spde-9999 ** +*/*::steam-overlay ** diff --git a/src/etc/portage/package.license b/src/etc/portage/package.license new file mode 100644 index 0000000..a1766a3 --- /dev/null +++ b/src/etc/portage/package.license @@ -0,0 +1,2 @@ +sys-kernel/linux-firmware @BINARY-REDISTRIBUTABLE +games-util/steam-launcher ValveSteamLicense diff --git a/src/etc/portage/package.use b/src/etc/portage/package.use new file mode 100644 index 0000000..1f093e9 --- /dev/null +++ b/src/etc/portage/package.use @@ -0,0 +1,265 @@ +app-editors/vim X -crypt -minimal -nls -terminal +app-arch/libarchive -lz4 -lzma -iconv -e2fsprogs +dev-util/cmake -ncurses +net-misc/dhcpcd -embedded +sys-fs/dosfstools -iconv +app-shells/zsh -pcre +app-crypt/rhash -nls +app-editors/vim-core -crypt -minimal -nls +media-libs/libglvnd X +x11-base/xorg-server udev -minimal elogind xephyr +sys-auth/elogind pam +sys-auth/pambase elogind pam +dev-vcs/git -iconv -perl +www-client/links gpm +media-libs/harfbuzz -cairo glib introspection +x11-libs/cairo X +dev-libs/nettle gmp +sys-apps/systemd-utils udev +media-libs/libvpx postproc +www-client/firefox -gmp-autoupdate +x11-libs/gtk+ -introspection +gnome-base/librslv -introspection -vala +gnome-base/librsvg -vala -gtk-doc +media-video/ffmpeg X xcb libdrm x265 vulkan libass sdl xvid vpx vorbis theora opus +net-irc/weechat perl python lua -spell scripts -relay +media-libs/gexiv2 introspection +app-text/poppler cairo +media-libs/gegl cairo +net-libs/libsoup introspection +dev-dotnet/gtk-sharp atk cairo gdk pango +app-crypt/gcr introspection +app-crypt/libsecret introspection +x11-libs/gtk+ introspection +dev-libs/atk introspection +x11-libs/gdk-pixbuf introspection +x11-libs/pango introspection +media-gfx/imagemagick jpeg jpeg2k +app-emulation/virtualbox qt5 +dev-qt/qtgui udev dbus +dev-qt/qtwidgets dbus +x11-libs/libxkbcommon X +media-libs/libsdl X +x11-libs/pango X +app-text/xmlto text +net-wireless/bluez udev +dev-python/pygobject python_targets_python3_10 +dev-python/pycairo python_targets_python3_10 +x11-libs/libnotify introspection +dev-python/cython python_targets_python3_10 +dev-python/gpep517 python_targets_python3_10 +dev-python/setuptools python_targets_python3_10 +dev-python/wheel python_targets_python3_10 +dev-python/packaging python_targets_python3_10 +dev-python/flit_core python_targets_python3_10 +dev-python/tomli python_targets_python3_10 +dev-python/pyparsing python_targets_python3_10 +dev-python/appdirs python_targets_python3_10 +dev-python/jaraco-text python_targets_python3_10 +dev-python/more-itertools python_targets_python3_10 +dev-python/nspektr python_targets_python3_10 +dev-python/ordered-set python_targets_python3_10 +dev-python/certifi python_targets_python3_10 +dev-python/setuptools_scm python_targets_python3_10 +dev-python/typing-extensions python_targets_python3_10 +dev-python/jaraco-context python_targets_python3_10 +dev-python/jaraco-functools python_targets_python3_10 +dev-python/installer python_targets_python3_10 +media-libs/gsound introspection +gui-libs/libadwaita introspection +gui-libs/gtk introspection +media-libs/graphene introspection +dev-python/dbus-python python_targets_python3_10 +dev-python/setproctitle python_targets_python3_10 +dev-python/python3-xapp python_targets_python3_10 +net-wireless/gnome-bluetooth introspection +x11-libs/xapp introspection +dev-python/psutil python_targets_python3_10 +dev-libs/libdbusmenu gtk3 +media-sound/pulseaudio-daemon dbus +media-libs/libpulse X dbus +app-arch/unzip natspec +net-dns/dnsmasq script ipv6 +sys-apps/iproute2 -minimal +app-emulation/libvirt-glib introspection +net-libs/gtk-vnc introspection +x11-libs/libva X +dev-libs/libxml2 python_targets_python3_10 python +dev-python/argcomplete python_targets_python3_10 +dev-python/libvirt-python python_targets_python3_10 +dev-python/requests python_targets_python3_10 +sys-libs/libosinfo introspection +net-misc/spice-gtk introspection usbredir +sys-apps/dbus X +x11-libs/gtksourceview introspection +x11-libs/vte introspection +dev-python/charset_normalizer python_targets_python3_10 +dev-python/idna python_targets_python3_10 +dev-python/urllib3 python_targets_python3_10 +dev-python/PySocks python_targets_python3_10 +dev-python/six python_targets_python3_10 +media-libs/gstreamer introspection +media-sound/cmus -mp4 +dev-libs/boost icu nls +dev-qt/qtsingleapplication X +sys-kernel/gentoo-sources experimental +dev-python/numpy python_targets_python3_10 +dev-python/zstandard python_targets_python3_10 +dev-python/cffi python_targets_python3_10 +dev-python/pycparser python_targets_python3_10 +dev-python/ply python_targets_python3_10 +media-libs/opencolorio -opengl +dev-python/autocommand python_targets_python3_10 +dev-python/inflect python_targets_python3_10 +dev-python/pydantic python_targets_python3_10 +app-accessibility/at-spi2-core introspection +dev-libs/libxml2 icu +sys-libs/zlib minizip +app-text/ghostscript-gpl cups +dev-qt/qtcore icu +dev-python/colorama python_targets_python3_10 +dev-python/jinja python_targets_python3_10 +dev-python/markupsafe python_targets_python3_10 +dev-python/pygments python_targets_python3_10 +dev-python/PyQt5 declarative sql multimedia printsupport gui python_targets_python3_10 widgets dbus network webchannel +dev-python/PyQtWebEngine python_targets_python3_10 +dev-python/pyyaml python_targets_python3_10 +dev-python/zipp python_targets_python3_10 +dev-python/adblock python_targets_python3_10 +dev-util/maturin python_targets_python3_10 +dev-python/setuptools-rust python_targets_python3_10 +dev-python/semantic_version python_targets_python3_10 +dev-qt/qtwebengine widgets +dev-python/PyQt5-sip python_targets_python3_10 +dev-python/PyQt-builder python_targets_python3_10 +dev-python/sip python_targets_python3_10 +dev-python/toml python_targets_python3_10 +dev-qt/qtwebchannel qml +dev-qt/qtmultimedia widgets +dev-python/hatchling python_targets_python3_10 +dev-python/editables python_targets_python3_10 +dev-python/pathspec python_targets_python3_10 +dev-python/pluggy python_targets_python3_10 +dev-qt/qtwebengine jumbo-build +dev-python/lxml python_targets_python3_10 +app-admin/conky X irc cmus wifi xinerama curl imlib lua-imlib rss iostats lua-rsvg math truetype bundled-toluapp +media-video/ffmpegthumbnailer jpeg png +dev-python/python-zstandard python_targets_python3_10 +media-libs/freetype brotli +media-libs/mlt qt5 frei0r xml sdl +app-arch/libarchive bzip2 +media-libs/libsdl2 X +media-libs/opencv contribdnn qt5 contrib +x11-libs/libX11 abi_x86_32 +x11-libs/libXau abi_x86_32 +x11-libs/libxcb abi_x86_32 +x11-libs/libXdmcp abi_x86_32 +dev-libs/libbsd abi_x86_32 +app-crypt/libmd abi_x86_32 +virtual/opengl abi_x86_32 +media-libs/mesa abi_x86_32 vulkan vulkan-overlay X +dev-libs/expat abi_x86_32 +media-libs/libglvnd abi_x86_32 +sys-libs/zlib abi_x86_32 +x11-libs/libdrm abi_x86_32 +x11-libs/libxshmfence abi_x86_32 +x11-libs/libXext abi_x86_32 +x11-libs/libXxf86vm abi_x86_32 +x11-libs/libXfixes abi_x86_32 +app-arch/zstd abi_x86_32 +sys-devel/llvm abi_x86_32 +x11-libs/libXrandr abi_x86_32 +x11-libs/libXrender abi_x86_32 +dev-libs/libffi abi_x86_32 +sys-libs/ncurses abi_x86_32 +>=dev-libs/gmp-6.2.1-r2 abi_x86_32 +>=dev-libs/libgcrypt-1.10.1-r2 abi_x86_32 +>=media-libs/freetype-2.12.1-r2 abi_x86_32 +>=media-libs/vulkan-loader-1.3.231 abi_x86_32 X +>=x11-libs/libXcursor-1.2.1 abi_x86_32 +>=x11-libs/libXi-1.8 abi_x86_32 +>=media-libs/fontconfig-2.14.1-r1 abi_x86_32 +>=media-libs/libsdl2-2.24.0-r2 abi_x86_32 haptic +>=net-libs/gnutls-3.7.8 abi_x86_32 +>=x11-libs/libXcomposite-0.4.5 abi_x86_32 +>=media-libs/alsa-lib-1.2.8-r1 abi_x86_32 +>=dev-libs/glib-2.74.1-r1 abi_x86_32 +>=media-libs/gst-plugins-base-1.20.3 abi_x86_32 +>=media-libs/gstreamer-1.20.3 abi_x86_32 +>=media-libs/libpulse-16.1-r1 abi_x86_32 +>=sys-libs/libunwind-1.6.2-r1 abi_x86_32 +>=app-emulation/vkd3d-1.5 abi_x86_32 +>=app-emulation/wine-gecko-2.47.3 abi_x86_32 +>=media-plugins/gst-plugins-meta-1.20.3 abi_x86_32 +>=media-libs/gst-plugins-good-1.20.3 abi_x86_32 +>=media-plugins/gst-plugins-libav-1.20.3 abi_x86_32 +>=media-plugins/gst-plugins-flac-1.20.3-r1 abi_x86_32 +>=media-libs/gst-plugins-ugly-1.20.3 abi_x86_32 +>=media-plugins/gst-plugins-mpg123-1.20.3 abi_x86_32 +>=media-plugins/gst-plugins-pulse-1.20.3 abi_x86_32 +>=media-plugins/gst-plugins-x264-1.20.3 abi_x86_32 +>=media-libs/x264-0.0.20220222 abi_x86_32 +>=media-sound/pulseaudio-16.1 abi_x86_32 +>=media-sound/mpg123-1.31.1 abi_x86_32 +>=media-libs/flac-1.4.2 abi_x86_32 +>=media-video/ffmpeg-4.4.3 abi_x86_32 +>=media-libs/dav1d-1.0.0 abi_x86_32 +>=media-sound/lame-3.100-r3 abi_x86_32 +>=media-libs/libogg-1.3.5 abi_x86_32 +>=media-libs/libtheora-1.1.1-r2 abi_x86_32 +>=media-libs/x265-3.5-r2 abi_x86_32 +>=media-libs/xvid-1.3.7-r1 abi_x86_32 +>=media-libs/libass-0.16.0 abi_x86_32 +>=media-libs/opus-1.3.1-r3 abi_x86_32 +>=media-libs/libvorbis-1.3.7 abi_x86_32 +>=media-libs/libvpx-1.12.0-r1 abi_x86_32 +>=x11-libs/libXv-1.0.11-r2 abi_x86_32 +>=dev-libs/fribidi-1.0.12 abi_x86_32 +>=media-libs/harfbuzz-5.3.1-r1 abi_x86_32 +>=media-gfx/graphite2-1.3.14_p20210810-r2 abi_x86_32 +>=app-arch/bzip2-1.0.8-r3 abi_x86_32 +>=media-libs/libsndfile-1.1.0-r1 abi_x86_32 +>=net-libs/libasyncns-0.8-r4 abi_x86_32 +>=sys-apps/dbus-1.15.2 abi_x86_32 +>=sys-libs/libcap-2.66 abi_x86_32 +>=sys-libs/pam-1.5.2-r3 abi_x86_32 +>=x11-libs/pango-1.50.11 abi_x86_32 +>=media-libs/graphene-1.10.8 abi_x86_32 +>=media-libs/libpng-1.6.38 abi_x86_32 +>=media-libs/libjpeg-turbo-2.1.4 abi_x86_32 +>=x11-libs/cairo-1.17.6 abi_x86_32 +>=x11-libs/libXft-2.3.6 abi_x86_32 +>=dev-libs/lzo-2.10 abi_x86_32 +>=x11-libs/pixman-0.42.2 abi_x86_32 +>=dev-libs/libpcre2-10.40-r1 abi_x86_32 +>=sys-apps/util-linux-2.38.1 abi_x86_32 +>=dev-libs/libtasn1-4.19.0 abi_x86_32 +>=dev-libs/libunistring-1.1-r1 abi_x86_32 +>=dev-libs/nettle-3.8.1 abi_x86_32 +>=net-dns/libidn2-2.3.4 abi_x86_32 +>=app-arch/brotli-1.0.9-r5 abi_x86_32 +>=dev-libs/libgpg-error-1.46-r1 abi_x86_32 +>=virtual/libintl-0-r2 abi_x86_32 +>=virtual/glu-9.0-r2 abi_x86_32 +>=media-libs/glu-9.0.2 abi_x86_32 +>=virtual/libiconv-0-r2 abi_x86_32 +sys-libs/glibc stack-realign +>=x11-libs/libdrm-2.4.114 video_cards_radeon +>=virtual/libelf-3-r1 abi_x86_32 +>=dev-libs/elfutils-0.188 abi_x86_32 +dev-lang/php mysqli mysql +# required by mail-client/mutt-wizard-3.2.1-r1::gentoo +# required by mutt-wizard (argument) +>=mail-client/neomutt-20220429 sasl notmuch +# required by app-admin/pass-1.7.4-r2::gentoo +# required by mail-client/mutt-wizard-3.2.1-r1::gentoo +# required by mutt-wizard (argument) +>=media-gfx/qrencode-4.1.1 png +# required by media-libs/libsvgtiny-0.1.7-r2::gentoo +# required by www-client/netsurf-3.10-r6::gentoo[svg,svgtiny] +# required by netsurf (argument) +>=net-libs/libdom-0.4.1-r1 xml +x11-misc/barrier gui +# required by x11-misc/barrier-2.4.0::gentoo[gui] +# required by barrier (argument) +>=net-dns/avahi-0.8-r7 mdnsresponder-compat dbus diff --git a/src/mkpkglist.sh b/src/mkpkglist.sh new file mode 100755 index 0000000..d565d74 --- /dev/null +++ b/src/mkpkglist.sh @@ -0,0 +1,6 @@ +#!/bin/sh +# +# write package list + +command -v qlist > /dev/null && qlist -I | sed ':a;N;$!ba;s/\n/ /g' > pkglist +echo "Created pkglist" diff --git a/src/pkglist b/src/pkglist new file mode 100644 index 0000000..bfc7256 --- /dev/null +++ b/src/pkglist @@ -0,0 +1 @@ +acct-group/audio acct-group/avahi acct-group/cdrom acct-group/dialout acct-group/disk acct-group/input acct-group/kmem acct-group/kvm acct-group/locate acct-group/lp acct-group/lpadmin acct-group/mail acct-group/man acct-group/messagebus acct-group/mysql acct-group/netdev acct-group/ntp acct-group/nullmail acct-group/polkitd acct-group/portage acct-group/render acct-group/sgx acct-group/sshd acct-group/tape acct-group/tty acct-group/video acct-user/avahi acct-user/mail acct-user/man acct-user/messagebus acct-user/mysql acct-user/ntp acct-user/nullmail acct-user/polkitd acct-user/portage acct-user/postmaster acct-user/sshd app-accessibility/at-spi2-atk app-accessibility/at-spi2-core app-admin/conky app-admin/doas app-admin/eselect app-admin/metalog app-admin/pass app-admin/perl-cleaner app-arch/brotli app-arch/bzip2 app-arch/cpio app-arch/gzip app-arch/libarchive app-arch/lz4 app-arch/rpm2targz app-arch/snappy app-arch/tar app-arch/unzip app-arch/xz-utils app-arch/zstd app-cdr/cuetools app-crypt/gcr app-crypt/gnupg app-crypt/gpgme app-crypt/libb2 app-crypt/libmd app-crypt/libsecret app-crypt/mit-krb5 app-crypt/p11-kit app-crypt/pinentry app-crypt/rhash app-doc/xmltoman app-editors/neovim app-editors/vim app-editors/vim-core app-emulation/vkd3d app-emulation/wine-desktop-common app-emulation/wine-gecko app-emulation/wine-mono app-emulation/wine-proton app-eselect/eselect-fontconfig app-eselect/eselect-iptables app-eselect/eselect-lib-bin-symlink app-eselect/eselect-lua app-eselect/eselect-mpg123 app-eselect/eselect-notify-send app-eselect/eselect-php app-eselect/eselect-pinentry app-eselect/eselect-repository app-eselect/eselect-ruby app-eselect/eselect-rust app-eselect/eselect-vi app-eselect/eselect-wine app-i18n/uchardet app-misc/c_rehash app-misc/ca-certificates app-misc/editor-wrapper app-misc/gsimplecal app-misc/jq app-misc/mime-types app-misc/neofetch app-misc/pax-utils app-misc/pywal app-misc/smatrix app-misc/tmux app-misc/vifm app-misc/vifm-ueberzug app-portage/elt-patches app-portage/gemato app-portage/layman app-portage/portage-utils app-shells/bash app-shells/dash app-shells/gentoo-zsh-completions app-shells/zsh app-text/asciidoc app-text/build-docbook-catalog app-text/docbook-xml-dtd app-text/docbook-xml-dtd app-text/docbook-xml-dtd app-text/docbook-xml-dtd app-text/docbook-xml-dtd app-text/docbook-xsl-ns-stylesheets app-text/docbook-xsl-stylesheets app-text/ghostscript-gpl app-text/iso-codes app-text/libpaper app-text/mandoc app-text/manpager app-text/mupdf app-text/opensp app-text/po4a app-text/poppler app-text/poppler-data app-text/qpdf app-text/rman app-text/scdoc app-text/sgml-common app-text/tree app-text/xmlto app-text/zathura app-text/zathura-pdf-poppler app-vim/gentoo-syntax dev-cpp/gtest dev-cpp/gulrak-filesystem dev-db/mariadb dev-db/mysql-connector-c dev-db/mysql-init-scripts dev-db/sqlite dev-lang/cfortran dev-lang/duktape dev-lang/go dev-lang/go-bootstrap dev-lang/lua dev-lang/lua dev-lang/lua dev-lang/luajit dev-lang/mono dev-lang/mujs dev-lang/nasm dev-lang/perl dev-lang/php dev-lang/python dev-lang/python dev-lang/python dev-lang/python-exec dev-lang/python-exec-conf dev-lang/ruby dev-lang/rust dev-lang/tcc dev-lang/tcl dev-lang/vala dev-lang/yasm dev-libs/atk dev-libs/boehm-gc dev-libs/boost dev-libs/check dev-libs/confuse dev-libs/cyrus-sasl dev-libs/dbus-glib dev-libs/double-conversion dev-libs/elfutils dev-libs/ell dev-libs/expat dev-libs/fribidi dev-libs/geoip dev-libs/girara dev-libs/glib dev-libs/gmime dev-libs/gmp dev-libs/gobject-introspection dev-libs/gobject-introspection-common dev-libs/gumbo dev-libs/icu dev-libs/isl dev-libs/jansson dev-libs/json-c dev-libs/jsoncpp dev-libs/libaio dev-libs/libassuan dev-libs/libatomic_ops dev-libs/libbsd dev-libs/libconfig dev-libs/libcss dev-libs/libdaemon dev-libs/libedit dev-libs/libev dev-libs/libevdev dev-libs/libevent dev-libs/libffi dev-libs/libgcrypt dev-libs/libgit2 dev-libs/libgpg-error dev-libs/libical dev-libs/libinput dev-libs/libksba dev-libs/libltdl dev-libs/libmpack dev-libs/libnatspec dev-libs/libnl dev-libs/libnsfb dev-libs/libnsutils dev-libs/libparserutils dev-libs/libpcre dev-libs/libpcre2 dev-libs/libpipeline dev-libs/libtasn1 dev-libs/libtermkey dev-libs/libunistring dev-libs/libusb dev-libs/libutf8proc dev-libs/libuv dev-libs/libverto dev-libs/libvterm dev-libs/libwapcaplet dev-libs/libxml2 dev-libs/libxslt dev-libs/libyaml dev-libs/lzo dev-libs/mpc dev-libs/mpfr dev-libs/msgpack dev-libs/nettle dev-libs/npth dev-libs/nsgenbind dev-libs/nspr dev-libs/nss dev-libs/oniguruma dev-libs/openssl dev-libs/popt dev-libs/re2 dev-libs/stfl dev-libs/tree-sitter dev-libs/tree-sitter-bash dev-libs/unibilium dev-libs/uthash dev-libs/vala-common dev-libs/xapian dev-libs/yajl dev-lua/lpeg dev-lua/luv dev-lua/mpack dev-perl/Clone dev-perl/DBD-mysql dev-perl/DBI dev-perl/Devel-CheckLib dev-perl/Encode-Locale dev-perl/ExtUtils-CChecker dev-perl/File-BaseDir dev-perl/File-DesktopEntry dev-perl/File-Listing dev-perl/File-MimeInfo dev-perl/HTML-Parser dev-perl/HTML-Tagset dev-perl/HTTP-Cookies dev-perl/HTTP-Date dev-perl/HTTP-Message dev-perl/HTTP-Negotiate dev-perl/IO-HTML dev-perl/IO-Socket-INET6 dev-perl/IO-Socket-SSL dev-perl/IPC-System-Simple dev-perl/libwww-perl dev-perl/Locale-gettext dev-perl/LWP-MediaTypes dev-perl/LWP-Protocol-https dev-perl/MIME-Charset dev-perl/Module-Build dev-perl/Mozilla-CA dev-perl/Net-Daemon dev-perl/Net-HTTP dev-perl/Net-SSLeay dev-perl/PlRPC dev-perl/Pod-Parser dev-perl/SGMLSpm dev-perl/Socket6 dev-perl/Sub-Name dev-perl/Syntax-Keyword-Try dev-perl/TermReadKey dev-perl/Text-CharWidth dev-perl/Text-WrapI18N dev-perl/TimeDate dev-perl/Try-Tiny dev-perl/Unicode-LineBreak dev-perl/URI dev-perl/WWW-RobotRules dev-perl/XML-Parser dev-perl/XS-Parse-Keyword dev-perl/YAML-Tiny dev-python/adblock dev-python/alabaster dev-python/appdirs dev-python/arrow dev-python/attrs dev-python/autocommand dev-python/Babel dev-python/certifi dev-python/chardet dev-python/charset_normalizer dev-python/colorama dev-python/cython dev-python/dbus-python dev-python/docopt dev-python/docutils dev-python/editables dev-python/ensurepip-pip dev-python/ensurepip-setuptools dev-python/ensurepip-wheels dev-python/flit_core dev-python/fqdn dev-python/gpep517 dev-python/hatch-fancy-pypi-readme dev-python/hatch-vcs dev-python/hatchling dev-python/idna dev-python/imagesize dev-python/importlib_metadata dev-python/inflect dev-python/installer dev-python/isoduration dev-python/jaraco-context dev-python/jaraco-functools dev-python/jaraco-text dev-python/jinja dev-python/jsonpointer dev-python/jsonschema dev-python/lark dev-python/lazy-object-proxy dev-python/lxml dev-python/mako dev-python/markupsafe dev-python/more-itertools dev-python/nspektr dev-python/olefile dev-python/ordered-set dev-python/packaging dev-python/pathspec dev-python/pillow dev-python/pkgconfig dev-python/pluggy dev-python/ply dev-python/poetry-core dev-python/pycairo dev-python/pydantic dev-python/pygments dev-python/pygobject dev-python/pyparsing dev-python/pypax dev-python/PyQt-builder dev-python/PyQt5 dev-python/PyQt5-sip dev-python/PyQtWebEngine dev-python/pyrsistent dev-python/PySocks dev-python/python-dateutil dev-python/python-xlib dev-python/pytz dev-python/pyyaml dev-python/regex dev-python/requests dev-python/rfc3339-validator dev-python/rfc3986-validator dev-python/rfc3987 dev-python/semantic_version dev-python/setuptools dev-python/setuptools-rust dev-python/setuptools_scm dev-python/sip dev-python/six dev-python/snakeoil dev-python/snowballstemmer dev-python/sphinx dev-python/sphinxcontrib-applehelp dev-python/sphinxcontrib-devhelp dev-python/sphinxcontrib-htmlhelp dev-python/sphinxcontrib-jsmath dev-python/sphinxcontrib-qthelp dev-python/sphinxcontrib-serializinghtml dev-python/ssl-fetch dev-python/strict-rfc3339 dev-python/toml dev-python/tomli dev-python/tomlkit dev-python/tree-sitter dev-python/typing-extensions dev-python/uri_template dev-python/urllib3 dev-python/webcolors dev-python/wheel dev-python/zipp dev-python/zope-interface dev-qt/linguist-tools dev-qt/qtbluetooth dev-qt/qtconcurrent dev-qt/qtcore dev-qt/qtdbus dev-qt/qtdeclarative dev-qt/qtgui dev-qt/qtmultimedia dev-qt/qtnetwork dev-qt/qtopengl dev-qt/qtprintsupport dev-qt/qtsql dev-qt/qtsvg dev-qt/qttest dev-qt/qtwebchannel dev-qt/qtwebengine dev-qt/qtwidgets dev-qt/qtxml dev-ruby/asciidoctor dev-ruby/bundler dev-ruby/did_you_mean dev-ruby/json dev-ruby/kpeg dev-ruby/minitest dev-ruby/power_assert dev-ruby/psych dev-ruby/racc dev-ruby/rake dev-ruby/rbs dev-ruby/rdoc dev-ruby/rexml dev-ruby/rss dev-ruby/rubygems dev-ruby/stringio dev-ruby/test-unit dev-ruby/typeprof dev-util/b2 dev-util/cmake dev-util/colm dev-util/desktop-file-utils dev-util/gdbus-codegen dev-util/github-cli dev-util/glib-utils dev-util/glslang dev-util/gperf dev-util/gtk-doc-am dev-util/gtk-update-icon-cache dev-util/intltool dev-util/itstool dev-util/maturin dev-util/meson dev-util/meson-format-array dev-util/mingw64-toolchain dev-util/netsurf-buildsystem dev-util/ninja dev-util/pkgcheck dev-util/pkgconf dev-util/pkgdev dev-util/ragel dev-util/re2c dev-util/spirv-headers dev-util/spirv-tools dev-util/vulkan-headers dev-util/vulkan-tools dev-vcs/git games-util/steam-launcher gnome-base/gnome-keyring gnome-base/gsettings-desktop-schemas gnome-base/librsvg gnome-extra/zenity gui-libs/display-manager-init mail-client/aerc mail-client/mutt-wizard mail-client/neomutt mail-mta/msmtp media-fonts/cascadia-code media-fonts/dejavu media-fonts/dejavu-sans-code media-fonts/fantasque-sans-mono media-fonts/fira-code media-fonts/font-util media-fonts/fontawesome media-fonts/iosevka media-fonts/noto media-fonts/noto-cjk media-fonts/noto-emoji media-fonts/urw-fonts media-gfx/graphite2 media-gfx/imagemagick media-gfx/maim media-gfx/nsxiv media-gfx/qrencode media-gfx/ueberzug media-libs/alsa-lib media-libs/alsa-topology-conf media-libs/alsa-ucm-conf media-libs/dav1d media-libs/fdk-aac media-libs/flac media-libs/fontconfig media-libs/freeglut media-libs/freetype media-libs/gd media-libs/giflib media-libs/glew media-libs/glm media-libs/glu media-libs/graphene media-libs/gst-plugins-base media-libs/gst-plugins-good media-libs/gst-plugins-ugly media-libs/gstreamer media-libs/harfbuzz media-libs/imlib2 media-libs/jbig2dec media-libs/lcms media-libs/libaom media-libs/libass media-libs/libepoxy media-libs/libfreeaptx media-libs/libglvnd media-libs/libid3tag media-libs/libjpeg-turbo media-libs/libldac media-libs/libmad media-libs/libnsgif media-libs/libnspsl media-libs/libogg media-libs/libplacebo media-libs/libpng media-libs/libpulse media-libs/libsamplerate media-libs/libsdl2 media-libs/libsixel media-libs/libsndfile media-libs/libsvgtiny media-libs/libtheora media-libs/libvorbis media-libs/libvpx media-libs/libwebp media-libs/mesa media-libs/openh264 media-libs/openjpeg media-libs/opus media-libs/sbc media-libs/shaderc media-libs/speexdsp media-libs/taglib media-libs/tiff media-libs/vulkan-loader media-libs/webrtc-audio-processing media-libs/x264 media-libs/x265 media-libs/xvid media-plugins/alsa-plugins media-plugins/gst-plugins-flac media-plugins/gst-plugins-libav media-plugins/gst-plugins-meta media-plugins/gst-plugins-mpg123 media-plugins/gst-plugins-pulse media-plugins/gst-plugins-x264 media-sound/alsa-utils media-sound/bluez-alsa media-sound/cli-visualizer media-sound/cli-visualizer-pywal media-sound/cmus media-sound/flacon media-sound/lame media-sound/mpg123 media-sound/pulseaudio media-sound/pulseaudio-daemon media-sound/pulsemixer media-sound/shntool media-sound/volumeicon media-video/ffmpeg media-video/ffmpegthumbnailer media-video/mpv media-video/pipewire media-video/wireplumber net-analyzer/bmon net-dns/avahi net-dns/c-ares net-dns/libidn net-dns/libidn2 net-firewall/iptables net-irc/weechat net-libs/gnutls net-libs/http-parser net-libs/libasyncns net-libs/libdom net-libs/libhubbub net-libs/libircclient net-libs/libmnl net-libs/libnsl net-libs/libssh2 net-libs/libtirpc net-libs/libtorrent-rasterbar net-libs/nghttp2 net-libs/nodejs net-mail/isync net-mail/mailbase net-mail/notmuch net-misc/chrony net-misc/curl net-misc/dhcpcd net-misc/iputils net-misc/iron net-misc/netifrc net-misc/openssh net-misc/rsync net-misc/wget net-news/newsboat net-news/sfeed net-p2p/qbittorrent net-print/cups net-print/cups-filters net-wireless/bluez net-wireless/bluez-tools net-wireless/wireless-tools perl-core/Compress-Raw-Zlib perl-core/File-Temp sci-astronomy/wcstools sci-libs/cfitsio sci-libs/fftw sec-keys/openpgp-keys-gentoo-release sys-apps/acl sys-apps/attr sys-apps/baselayout sys-apps/coreutils sys-apps/dbus sys-apps/debianutils sys-apps/diffutils sys-apps/elfix sys-apps/exa sys-apps/file sys-apps/findutils sys-apps/gawk sys-apps/gentoo-functions sys-apps/grep sys-apps/groff sys-apps/help2man sys-apps/hwdata sys-apps/install-xattr sys-apps/iproute2 sys-apps/kbd sys-apps/keyutils sys-apps/kmod sys-apps/less sys-apps/lm-sensors sys-apps/lsb-release sys-apps/man-db sys-apps/man-pages sys-apps/mlocate sys-apps/net-tools sys-apps/openrc sys-apps/pciutils sys-apps/pkgcore sys-apps/portage sys-apps/sandbox sys-apps/sed sys-apps/shadow sys-apps/systemd-utils sys-apps/sysvinit sys-apps/texinfo sys-apps/usbutils sys-apps/util-linux sys-apps/which sys-auth/elogind sys-auth/pambase sys-auth/passwdqc sys-boot/efibootmgr sys-boot/grub sys-devel/autoconf sys-devel/autoconf-archive sys-devel/autoconf-wrapper sys-devel/automake sys-devel/automake-wrapper sys-devel/bc sys-devel/binutils sys-devel/binutils sys-devel/binutils-config sys-devel/bison sys-devel/flex sys-devel/gcc sys-devel/gcc sys-devel/gcc-config sys-devel/gettext sys-devel/gnuconfig sys-devel/libtool sys-devel/llvm sys-devel/llvm-common sys-devel/llvm-toolchain-symlinks sys-devel/llvmgold sys-devel/m4 sys-devel/make sys-devel/patch sys-fs/btrfs-progs sys-fs/dosfstools sys-fs/e2fsprogs sys-fs/fuse sys-fs/fuse-common sys-fs/genfstab sys-fs/udev-init-scripts sys-kernel/dracut sys-kernel/genkernel sys-kernel/gentoo-kernel-bin sys-kernel/gentoo-sources sys-kernel/gentoo-sources sys-kernel/gentoo-sources sys-kernel/installkernel-gentoo sys-kernel/linux-firmware sys-kernel/linux-headers sys-libs/binutils-libs sys-libs/efivar sys-libs/gdbm sys-libs/glibc sys-libs/libcap sys-libs/libseccomp sys-libs/libunwind sys-libs/libxcrypt sys-libs/mtdev sys-libs/ncurses sys-libs/pam sys-libs/readline sys-libs/talloc sys-libs/timezone-data sys-libs/zlib sys-process/htop sys-process/procps sys-process/psmisc virtual/acl virtual/awk virtual/dev-manager virtual/dist-kernel virtual/editor virtual/fortran virtual/freedesktop-icon-theme virtual/glu virtual/jpeg virtual/libc virtual/libcrypt virtual/libelf virtual/libiconv virtual/libintl virtual/libudev virtual/libusb virtual/logger virtual/man virtual/mta virtual/notification-daemon virtual/opengl virtual/os-headers virtual/package-manager virtual/pager virtual/perl-Carp virtual/perl-Compress-Raw-Bzip2 virtual/perl-Compress-Raw-Zlib virtual/perl-CPAN virtual/perl-CPAN-Meta virtual/perl-CPAN-Meta-Requirements virtual/perl-CPAN-Meta-YAML virtual/perl-Data-Dumper virtual/perl-Digest-MD5 virtual/perl-Encode virtual/perl-Exporter virtual/perl-ExtUtils-CBuilder virtual/perl-ExtUtils-Install virtual/perl-ExtUtils-MakeMaker virtual/perl-ExtUtils-Manifest virtual/perl-ExtUtils-ParseXS virtual/perl-File-Path virtual/perl-File-Spec virtual/perl-File-Temp virtual/perl-Getopt-Long virtual/perl-IO virtual/perl-IO-Compress virtual/perl-IO-Socket-IP virtual/perl-JSON-PP virtual/perl-libnet virtual/perl-MIME-Base64 virtual/perl-Module-Metadata virtual/perl-parent virtual/perl-Parse-CPAN-Meta virtual/perl-Perl-OSType virtual/perl-podlators virtual/perl-Scalar-List-Utils virtual/perl-Storable virtual/perl-Sys-Syslog virtual/perl-Test-Harness virtual/perl-Text-ParseWords virtual/perl-Time-Local virtual/perl-version virtual/perl-XSLoader virtual/pkgconfig virtual/ruby-ssl virtual/rubygems virtual/rust virtual/secret-service virtual/service-manager virtual/ssh virtual/tmpfiles virtual/ttf-fonts virtual/udev virtual/w3m virtual/yacc www-client/chromium-bin www-client/firefox-bin www-client/icecat-bin www-client/lynx www-client/netsurf www-client/qutebrowser www-client/w3m www-plugins/pdfjs x11-apps/iceauth x11-apps/rgb x11-apps/sx x11-apps/xauth x11-apps/xdpyinfo x11-apps/xfontsel x11-apps/xinit x11-apps/xkbcomp x11-apps/xprop x11-apps/xrandr x11-apps/xrdb x11-apps/xset x11-apps/xsetroot x11-base/xcb-proto x11-base/xorg-drivers x11-base/xorg-proto x11-base/xorg-server x11-drivers/xf86-input-libinput x11-drivers/xf86-video-amdgpu x11-drivers/xf86-video-ati x11-libs/cairo x11-libs/gdk-pixbuf x11-libs/gtk+ x11-libs/gtk+ x11-libs/libdrm x11-libs/libfontenc x11-libs/libICE x11-libs/libnotify x11-libs/libpciaccess x11-libs/libSM x11-libs/libX11 x11-libs/libXau x11-libs/libXaw x11-libs/libxcb x11-libs/libXcomposite x11-libs/libXcursor x11-libs/libxcvt x11-libs/libXdamage x11-libs/libXdmcp x11-libs/libXext x11-libs/libXfixes x11-libs/libXfont2 x11-libs/libXft x11-libs/libXi x11-libs/libXinerama x11-libs/libxkbcommon x11-libs/libxkbfile x11-libs/libXmu x11-libs/libXpm x11-libs/libXpresent x11-libs/libXrandr x11-libs/libXrender x11-libs/libXScrnSaver x11-libs/libxshmfence x11-libs/libXt x11-libs/libXtst x11-libs/libXv x11-libs/libXxf86vm x11-libs/pango x11-libs/pixman x11-libs/xcb-util x11-libs/xcb-util-cursor x11-libs/xcb-util-image x11-libs/xcb-util-keysyms x11-libs/xcb-util-renderutil x11-libs/xcb-util-wm x11-libs/xtrans x11-misc/barrier x11-misc/compose-tables x11-misc/dmenu-spde x11-misc/dunst x11-misc/imake x11-misc/j4-dmenu-desktop-spde x11-misc/picom-animations x11-misc/screenkey x11-misc/shared-mime-info x11-misc/slock-spde x11-misc/slop x11-misc/spde x11-misc/util-macros x11-misc/wmctrl x11-misc/xautolock x11-misc/xbitmaps x11-misc/xcb x11-misc/xclip x11-misc/xdg-user-dirs x11-misc/xdg-user-dirs-gtk x11-misc/xdg-utils x11-misc/xdotool x11-misc/xkeyboard-config x11-misc/xorg-cf-files x11-misc/xwallpaper x11-terms/alacritty x11-terms/st-spde x11-themes/adwaita-icon-theme x11-themes/gnome-themes-standard x11-themes/gtk-engines-adwaita x11-themes/hicolor-icon-theme x11-wm/libspeedwm x11-wm/speedwm x11-wm/speedwm-extras diff --git a/src/setup-pkgs.sh b/src/setup-pkgs.sh new file mode 100755 index 0000000..3fe8c80 --- /dev/null +++ b/src/setup-pkgs.sh @@ -0,0 +1,11 @@ +#!/bin/sh +# install packages + +# install packages +if [ -e "pkglist" ]; then + emerge --noreplace --verbose $(cat pkglist) + exit 0 +else + echo "No pkglist found." + exit 1 +fi diff --git a/src/setup-world.sh b/src/setup-world.sh new file mode 100755 index 0000000..6353025 --- /dev/null +++ b/src/setup-world.sh @@ -0,0 +1,18 @@ +#!/bin/sh +# install gentoo world + +# root check +if [ "$(whoami)" != "root" ]; then + echo "Not running as root, please run me as root." +fi + +# backup world +if [ -e "/var/lib/portage/world" ]; then + cp -f /var/lib/portage/world /var/lib/portage/world.orig +fi + +# install +test var/lib/portage/world && cp var/lib/portage/world /var/lib/portage/world + +echo "For kernel, see my other repositories." +exit 0 diff --git a/src/setup.sh b/src/setup.sh new file mode 100755 index 0000000..3aa0b1b --- /dev/null +++ b/src/setup.sh @@ -0,0 +1,61 @@ +#!/bin/sh +# install gentoo dots + +# root check +if [ "$(whoami)" != "root" ]; then + echo "Not running as root, please run me as root." +fi + +# backup make.conf +if [ -e "/etc/portage/make.conf" ]; then + cp /etc/portage/make.conf /etc/portage/make.conf.orig +fi + +# backup package.use +if [ -d "/etc/portage/package.use" ]; then + cp -r /etc/portage/package.use /etc/portage/package.use-orig +elif [ -f "/etc/portage/package.use" ]; then + cp /etc/portage/package.use /etc/portage/package.use.orig +fi + +# backup accept_keywords +if [ -f "/etc/portage/package.accept_keywords" ]; then + cp /etc/portage/package.accept_keywords.orig +elif [ -d "/etc/portage/package.accept_keywords" ]; then + cp -r /etc/portage/package.accept_keywords-orig +fi + +# backup license +if [ -f "/etc/portage/package.license" ]; then + cp /etc/portage/package.license.orig +elif [ -d "/etc/portage/package.license" ]; then + cp -r /etc/portage/package.license-orig +fi + +# backup mask +if [ -f "/etc/portage/package.mask" ]; then + cp /etc/portage/package.mask.orig +elif [ -d "/etc/portage/package.mask" ]; then + cp -r /etc/portage/package.mask-orig +fi + +# backup (un) mask +if [ -f "/etc/portage/package.unmask" ]; then + cp /etc/portage/package.unmask.orig +elif [ -d "/etc/portage/package.unmask" ]; then + cp -r /etc/portage/package.unmask-orig +fi + +# install +test etc/portage/make.conf && cp etc/portage/make.conf /etc/portage/make.conf +test etc/portage/package.use && cp etc/portage/package.use /etc/portage/package.use +test etc/portage/package.accept_keywords && cp etc/portage/package.accept_keywords /etc/portage/package.accept_keywords +test etc/portage/package.license && cp etc/portage/package.license /etc/portage/package.license +test etc/portage/package.mask && cp etc/portage/package.mask /etc/portage/package.mask +test etc/portage/package.unmask && cp etc/portage/package.unmask /etc/portage/package.unmask + +echo "NOTE: This make.conf has options by default that are very host specific." +echo "Edit it to match your system. I have commented lines for all my computers (ThinkPad X220, my desktop and virtual machines) that you can just uncomment." +echo "For kernel, see my other repositories." + +exit 0 diff --git a/src/update-world.sh b/src/update-world.sh new file mode 100755 index 0000000..ca20864 --- /dev/null +++ b/src/update-world.sh @@ -0,0 +1,2 @@ +#!/bin/sh +emerge --ask --deep --update --newuse --verbose @world diff --git a/src/updatedots.sh b/src/updatedots.sh new file mode 100755 index 0000000..3e46421 --- /dev/null +++ b/src/updatedots.sh @@ -0,0 +1,28 @@ +#!/bin/sh +# updatedots + +if [ -f "/etc/portage/make.conf" ]; then + cp /etc/portage/make.conf etc/portage/make.conf && echo "Updated make.conf (1/6)" +fi + +if [ -f "/etc/portage/package.use" ]; then + cp /etc/portage/package.use etc/portage/package.use && echo "Updated package.use (2/6)" +fi + +if [ -f "/etc/portage/package.license" ]; then + cp /etc/portage/package.license etc/portage/package.license && echo "Updated package.license (3/6)" +fi + +if [ -f "/etc/portage/package.accept_keywords" ]; then + cp /etc/portage/package.accept_keywords etc/portage/package.accept_keywords && echo "Updated package.accept_keywords (4/6)" +fi + +if [ -f "/etc/portage/package.mask" ]; then + cp /etc/portage/package.mask etc/portage/package.mask && echo "Updated package.mask (5/6)" +fi + +if [ -f "/etc/portage/package.unmask" ]; then + cp -r /etc/portage/package.unmask etc/portage/package.unmask && echo "Updated package.unmask (6/6)" +fi + +echo "Complete!" diff --git a/update.sh b/update.sh new file mode 100755 index 0000000..698d6f7 --- /dev/null +++ b/update.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +cd src +./updatedots.sh && echo "Updated Portage configs (1/2)" +./mkpkglist.sh && echo "Updated package list (2/2)" + +echo "All done."