Browse Source

Move configuration to jcmdln/cfg for easier forking

master
jcmdln 2 years ago
parent
commit
13c0a273cb

+ 0
- 4
etc/Xresources View File

@@ -1,4 +0,0 @@
# /etc/Xresources

Xcursor.theme: breeze
Xcursor.size: 16

+ 0
- 9
etc/bash/bashrc View File

@@ -1,9 +0,0 @@
# /etc/bash/bashrc

[ -e /etc/profile ] && source /etc/profile

shopt -s checkwinsize
shopt -s no_empty_cmd_completion
shopt -s histappend

unset sh

+ 0
- 222
etc/i3/config View File

@@ -1,222 +0,0 @@
# /etc/i3/config

### Startup ######################################

## Disable DPMS
exec --no-startup-id xset s off -dpms

## i3wm modifier key
set $mod Mod4

## Applications
bindsym $mod+d exec --no-startup-id dmenu_run
bindsym $mod+Return exec --no-startup-id st -f 'Noto Mono:10pt'


### Appearance ###################################

## Font
font pango:Noto Mono Regular 9.5

## Taskbar
bar {
position top
status_command i3status

colors {
background #333333
statusline #eeeeee
separator #eeeeee

focused_workspace #eeeeee #00894e
active_workspace #eeeeee #777777
inactive_workspace #eeeeee #333333
urgent_workspace #eeeeee #b22222
}
}

## Colors
exec --no-startup-id xsetroot -solid '#333333'
client.background #333333
client.focused #00894e #00894e #eeeeee #30f277 #00894e
client.focused_inactive #333333 #333333 #eeeeee #888888 #333333
client.placeholder #333333 #333333 #eeeeee #333333 #333333
client.unfocused #333333 #333333 #888888 #888888 #333333
client.urgent #b22222 #b22222 #eeeeee #ff5454 #b22222


### System #######################################

## Reload
set $Config Reload i3 config (r), Live restart of i3 (Shift+r)
bindsym $mod+Shift+r mode "$Config"
mode "$Config" {
bindsym r reload
bindsym Shift+r restart

bindsym Escape mode "default"
}

## i3lock
set $Locker xset s 10 dpms 10 && i3lock -c 333333 -n && xset s off -dpms

## Menu
set $System Lock (l), Logout (e), Reboot (r), Shutdown (s)
bindsym $mod+Home mode "$System"
mode "$System" {
bindsym l exec --no-startup-id $Locker, mode "default"
bindsym e exec --no-startup-id i3-msg exit, mode "default"
bindsym r exec --no-startup-id reboot, mode "default"
bindsym s exec --no-startup-id poweroff -i, mode "default"

bindsym Escape mode "default"
}


### Display ######################################

## Auto-enable/disable displays when connected
exec --no-startup-id \
while :; do \
Displays=$(xrandr | grep 'connected' | awk '{print $1}');\
for display in $Displays; do \
if [ $(xrandr | grep $display | awk '{print $2}') == "connected" ]; then \
xrandr --output $display --auto; \
fi; \
done; \
sleep 10; \
done


#### Keybinds ####################################

## Window splitting
bindsym $mod+h split h
bindsym $mod+v split v

## Fullscreen focused container
bindsym $mod+f fullscreen toggle

## Kill focused window
bindsym $mod+Shift+q kill

## Cycle frame layout
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split

## Change focus
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+semicolon focus right
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right

## Move focused window
bindsym $mod+Shift+j move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+l move up
bindsym $mod+Shift+semicolon move right
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right

## Switch to workspace
bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10

## Move focused container to workspace
bindsym $mod+Shift+1 move container to workspace 1
bindsym $mod+Shift+2 move container to workspace 2
bindsym $mod+Shift+3 move container to workspace 3
bindsym $mod+Shift+4 move container to workspace 4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+Shift+9 move container to workspace 9
bindsym $mod+Shift+0 move container to workspace 10

## Focus the parent container
bindsym $mod+a focus parent

## Drag floating windows with Mouse+$mod
floating_modifier $mod

## Toggle floating on focused frame
bindsym $mod+Shift+space floating toggle

## Change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle

## Floating rules
for_window [window_role="pop-up"] floating enable

## Resize
bindsym $mod+r mode "resize"
mode "resize" {
bindsym j resize shrink width 10 px or 10 ppt
bindsym k resize grow height 10 px or 10 ppt
bindsym l resize shrink height 10 px or 10 ppt
bindsym semicolon resize grow width 10 px or 10 ppt
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt

bindsym Escape mode "default"
}


#### Multimedia ##################################

## Screenshot (scrot)
bindsym Print exec --no-startup-id \
scrot $HOME/Pictures/`date +%Y-%m-%d_%H:%M:%S`.png
bindsym $mod+Print exec --no-startup-id \
scrot -u $HOME/Pictures/`date +%Y-%m-%d_%H:%M:%S`.png
bindsym Shift+Print --release exec --no-startup-id \
scrot -s $HOME/Pictures/`date +%Y-%m-%d_%H:%M:%S`.png

## Audio (Alsa)
# bindsym XF86AudioRaiseVolume exec --no-startup-id amixer set Master 5+
# bindsym XF86AudioLowerVolume exec --no-startup-id amixer set Master 5-
# bindsym XF86AudioMute exec --no-startup-id amixer set Master toggle

## Audio (PulseAudio)
# bindsym XF86AudioRaiseVolume exec --no-startup-id \
# pactl set-sink-volume @DEFAULT_SINK@ +5%
# bindsym XF86AudioLowerVolume exec --no-startup-id \
# pactl set-sink-volume @DEFAULT_SINK@ -5%
# bindsym XF86AudioMute exec --no-startup-id \
# pactl set-sink-mute @DEFAULT_SINK@ toggle
# bindsym XF86AudioPlay exec --no-startup-id pactl play-pause
# bindsym XF86AudioPause exec --no-startup-id pactl pause
# bindsym XF86AudioNext exec --no-startup-id pactl next
# bindsym XF86AudioPrev exec --no-startup-id pactl previous

## Audio (Sndio)
# bindsym XF86AudioRaiseVolume exec --no-startup-id mixerctl
# bindsym XF86AudioLowerVolume exec --no-startup-id mixerctl
# bindsym XF86AudioMute \
# exec --no-startup-id mixerctl -t outputs.master.mute

## Brightness (brightnessctl)
# bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl set 5%+
# bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl set 5%-

## Brightness (xbacklight)
bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 15
bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 15

+ 0
- 47
etc/i3status.conf View File

@@ -1,47 +0,0 @@
# /etc/i3status.conf

general {
colors = true
interval = 5
}

order += "ipv6"
order += "wireless _first_"
order += "ethernet _first_"
order += "volume master"
#order += "disk /"
order += "battery all"
order += "load"
order += "tztime local"

wireless _first_ {
format_up = "W: (%quality at %essid) %ip"
format_down = "W: down"
}

ethernet _first_ {
format_up = "E: %ip (%speed)"
format_down = "E: down"
}

volume master {
format = "🔊: %volume"
format_muted = "🔈: %volume"
device = "default"
}

disk "/" {
format = "%avail"
}

battery all {
format = "%status %percentage %remaining"
}

tztime local {
format = "%Y-%m-%d %H:%M:%S"
}

load {
format = "%1min"
}

+ 0
- 19
etc/portage/make.conf View File

@@ -1,19 +0,0 @@
# /etc/portage/make.conf

# System
CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3"
INPUT_DEVICES="libinput"
L10N="en-US"
LINGUAS="en_US"
VIDEO_CARDS="Video_Cards"

# Portage
GENTOO_MIRRORS="http://distfiles.gentoo.org"
PORTDIR="/usr/portage"
DISTDIR="$PORTDIR/distfiles"
PKGDIR="$PORTDIR/packages"

# Compilation
MAKEOPTS="Make_Opts"
CFLAGS="-O3 -march=native -pipe"
CXXFLAGS="$CFLAGS"

+ 0
- 20
etc/portage/package.accept_keywords View File

@@ -1,20 +0,0 @@
# /etc/portage/package.accept_keywords

## General
app-editors/emacs
dev-lang/go
dev-util/bcc
lxqt-base/*
media-gfx/lximage-qt
sys-devel/binutils
sys-devel/gcc
sys-kernel/gentoo-sources
sys-kernel/linux-headers
x11-misc/obconf-qt
x11-misc/pcmanfm-qt

## amd64
app-emulation/wine-mono ~amd64
app-emulation/wine-staging ~amd64
net-misc/cmst ~amd64
sys-firmware/nvidia-firmware ~amd64

+ 0
- 1
etc/portage/package.env View File

@@ -1 +0,0 @@
# /etc/portage/package.env

+ 0
- 4
etc/portage/package.license View File

@@ -1,4 +0,0 @@
# /etc/portage/package.license

app-emulation/virtualbox-bin PUEL
www-client/google-chrome google-chrome

+ 0
- 14
etc/portage/package.use/defaults View File

@@ -1,14 +0,0 @@
# /etc/portage/package.use/default

*/* -aqua -avahi -bindist -cairo -doc -games -gnome-keyring -gtk -gtk2 -handbook -introspection -kdesu -kwallet -llvm -multilib -offensive -qt4 -sslv3 -static -static-libs -systemd -tls-heartbeat -wayland

## Base
*/* deblob gnutls minimal threads unicode

## Minimal
*/* dbus bzip2 zlib

## Desktop
# */* alsa bluetooth pulseaudio
# */* ffmpeg gif imagemagick jpeg jpeg2k motif png svg tiff xpm
# */* X egl gles openal opengl sdl sdl2 vaapi vdpau xft

+ 0
- 124
etc/portage/package.use/multilib View File

@@ -1,124 +0,0 @@
# /etc/portage/package.use/multilib

# app-accessibility/at-spi2-atk abi_x86_32
# app-accessibility/at-spi2-core abi_x86_32
# app-arch/bzip2 abi_x86_32
# app-emulation/wine-gecko abi_x86_32
# dev-db/sqlite abi_x86_32
# dev-libs/atk abi_x86_32
# dev-libs/expat abi_x86_32
# dev-libs/glib abi_x86_32
# dev-libs/gmp abi_x86_32
# dev-libs/icu abi_x86_32
# dev-libs/libcroco abi_x86_32
# dev-libs/libffi abi_x86_32
# dev-libs/libgcrypt abi_x86_32
# dev-libs/libgpg-error abi_x86_32
# dev-libs/libpcre abi_x86_32
# dev-libs/libpthread-stubs abi_x86_32
# dev-libs/libtasn1 abi_x86_32
# dev-libs/libunistring abi_x86_32
# dev-libs/libxml2 abi_x86_32
# dev-libs/libxslt abi_x86_32
# dev-libs/lzo abi_x86_32
# dev-libs/nettle abi_x86_32
# dev-libs/nspr abi_x86_32
# dev-libs/nss abi_x86_32
# dev-libs/openssl abi_x86_32
# dev-libs/wayland abi_x86_32
# dev-util/pkgconfig abi_x86_32
# gnome-base/librsvg abi_x86_32
# media-gfx/graphite2 abi_x86_32
# media-libs/alsa-lib abi_x86_32
# media-libs/fontconfig abi_x86_32
# media-libs/freeglut abi_x86_32
# media-libs/freetype abi_x86_32
# media-libs/glu abi_x86_32
# media-libs/harfbuzz abi_x86_32
# media-libs/jasper abi_x86_32
# media-libs/lcms abi_x86_32
# media-libs/libjpeg-turbo abi_x86_32
# media-libs/libpng abi_x86_32
# media-libs/libsndfile abi_x86_32
# media-libs/libtxc_dxtn abi_x86_32
# media-libs/mesa abi_x86_32
# media-libs/openal abi_x86_32
# media-libs/tiff abi_x86_32
# media-plugins/alsa-plugins abi_x86_32
# media-sound/pulseaudio abi_x86_32
# net-dns/libidn2 abi_x86_32
# net-libs/gnutls abi_x86_32
# net-libs/libasyncns abi_x86_32
# net-misc/curl abi_x86_32
# sys-apps/attr abi_x86_32
# sys-apps/dbus abi_x86_32
# sys-apps/tcp-wrappers abi_x86_32
# sys-apps/util-linux abi_x86_32
# sys-devel/gettext abi_x86_32
# sys-fs/eudev abi_x86_32
# sys-fs/udev abi_x86_32
# sys-libs/binutils-libs abi_x86_32
# sys-libs/gpm abi_x86_32
# sys-libs/libcap abi_x86_32
# sys-libs/ncurses abi_x86_32
# sys-libs/readline abi_x86_32
# sys-libs/zlib abi_x86_32
# virtual/glu abi_x86_32
# virtual/jpeg abi_x86_32
# virtual/libffi abi_x86_32
# virtual/libiconv abi_x86_32
# virtual/libintl abi_x86_32
# virtual/libudev abi_x86_32 x32
# virtual/opengl abi_x86_32
# virtual/pkgconfig abi_x86_32
# x11-libs/cairo abi_x86_32
# x11-libs/gdk-pixbuf abi_x86_32
# x11-libs/libICE abi_x86_32
# x11-libs/libSM abi_x86_32
# x11-libs/libX11 abi_x86_32
# x11-libs/libXScrnSaver abi_x86_32
# x11-libs/libXau abi_x86_32
# x11-libs/libXcomposite abi_x86_32
# x11-libs/libXcursor abi_x86_32
# x11-libs/libXdamage abi_x86_32
# x11-libs/libXdmcp abi_x86_32
# x11-libs/libXext abi_x86_32
# x11-libs/libXfixes abi_x86_32
# x11-libs/libXft abi_x86_32
# x11-libs/libXi abi_x86_32
# x11-libs/libXinerama abi_x86_32
# x11-libs/libXmu abi_x86_32
# x11-libs/libXrandr abi_x86_32
# x11-libs/libXrender abi_x86_32
# x11-libs/libXt abi_x86_32
# x11-libs/libXtst abi_x86_32
# x11-libs/libXxf86vm abi_x86_32
# x11-libs/libdrm abi_x86_32
# x11-libs/libpciaccess abi_x86_32
# x11-libs/libva abi_x86_32
# x11-libs/libva-intel-driver abi_x86_32
# x11-libs/libvdpau abi_x86_32
# x11-libs/libxcb abi_x86_32
# x11-libs/libxshmfence abi_x86_32
# x11-libs/pango abi_x86_32
# x11-libs/pixman abi_x86_32
# x11-proto/compositeproto abi_x86_32
# x11-proto/damageproto abi_x86_32
# x11-proto/dri2proto abi_x86_32
# x11-proto/dri3proto abi_x86_32
# x11-proto/fixesproto abi_x86_32
# x11-proto/glproto abi_x86_32
# x11-proto/inputproto abi_x86_32
# x11-proto/kbproto abi_x86_32
# x11-proto/presentproto abi_x86_32
# x11-proto/randrproto abi_x86_32
# x11-proto/recordproto abi_x86_32
# x11-proto/renderproto abi_x86_32
# x11-proto/scrnsaverproto abi_x86_32
# x11-proto/xcb-proto abi_x86_32
# x11-proto/xextproto abi_x86_32
# x11-proto/xf86bigfontproto abi_x86_32
# x11-proto/xf86driproto abi_x86_32
# x11-proto/xf86vidmodeproto abi_x86_32
# x11-proto/xineramaproto abi_x86_32
# x11-proto/xproto abi_x86_32

+ 0
- 76
etc/portage/package.use/packages View File

@@ -1,76 +0,0 @@
# /etc/portage/package.use/packages

app-admin/sudo -gcrypt -openssl sendmail
app-arch/zip -bzip2
app-editors/emacs -athena acl dynamic-loading gtk3 gzip-el inotify libxml2 sound ssl xwidgets
app-editors/vim -X -minimal -perl -python -racket -tcl
app-emulation/qemu usb
app-laptop/laptop-mode-tools acpi
app-misc/screenfetch -X
app-office/libreoffice collada gltf gstreamer gtk mysql pdfimport postgres
app-text/ghostscript-gpl cups
app-text/poppler -qt5
app-text/xmlto text
dev-games/ogre examples ois
dev-games/openscenegraph truetype
dev-lang/python:2.7 sqlite
dev-libs/libpcre pcre16
dev-libs/libxml2 icu python
dev-qt/qtcore icu
dev-qt/qtmultimedia gstreamer qml
dev-qt/qtnetwork connman
dev-util/cmake -ncurses -qt5
dev-util/geany gtk3 vte
dev-vcs/git -gpg
kde-frameworks/kidletime xscreensaver
kde-plasma/kde-cli-tools -X
kde-plasma/kwin multimedia
kde-plasma/systemsettings gtk
lxqt-base/lxqt-meta -oxygen about admin filemanager icons lximage powermanagement sddm
lxqt-base/lxqt-panel clock colorpicker cpuload desktopswitch kbindicator mainmenu mount quicklaunch sensors showdesktop statusnotifier sysstat taskbar tray volume
mail-client/thunderbird lightning system-cairo system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-sqlite
media-fonts/noto -cjk
media-gfx/blender boost bullet collada colorio cuda cuda cycles dds elbeem game-engine jemalloc openimageio opensubdiv player sndfile valgrind
media-gfx/feh curl exif cinerma xinerama
media-gfx/gimp smp
media-gfx/imagemagick corefonts cxx djvu fontconfig fpx fttw hdri jbig lcms lzma openexr raw opencl truetype webp wmf xml
media-gfx/inkscape latex
media-gfx/pstoedit plotutils
media-libs/harfbuzz icu
media-libs/libpng apng
media-libs/mesa -vaapi gles2
media-libs/phonon -vlc gstreamer
media-plugins/gst-plugins-meta ogg vorbis
media-sound/cmus aac alsa flac libsamplerate mad mp4 opus oss vorbis wavpack
media-video/ffmpeg aac amr blueray cdio encode gme hevc libass mp3 network ogg openh264 openssl opus rtmp theora vorbis vpx wavpack x264 x265 xvid
media-video/mpv libass libmpv
net-misc/connman bluetooth ethernet iptables openvpn wifi
net-misc/openssh -X
net-vpn/openvpn lz4 lzo plugins
net-wireless/wpa_supplicant -qt5
sys-apps/openrc -netifrc
sys-auth/consolekit policykit
sys-auth/pambase consolekit
sys-devel/gcc cxx nls nplt
sys-devel/llvm clang
sys-libs/libcxx libcxxabi
sys-libs/zlib minizip
www-client/chromium hangouts proprietary-codecs system-ffmpeg system-icu system-libvpx
www-client/w3m -X
www-plugins/adobe-flash ppapi
x11-base/xorg-drivers libinput
x11-base/xorg-server -minimal
x11-drivers/nvidia-drivers x86_video_abi multilib
x11-drivers/xf86-video-amdgpu glamor
x11-drivers/xf86-video-ati glamor
x11-drivers/xf86-video-intel dri3 sna
x11-drivers/xf86-video-virtualbox dri
x11-libs/cairo xcb
x11-libs/libfm vala
x11-libs/libva -egl
x11-libs/libxcb xkb
x11-misc/dmenu xinerama
x11-misc/i3status filecaps
x11-misc/sddm consolekit
x11-terms/gnome-terminal -gnome-shell -nautilus
x11-terms/rxvt-unicode 256-color blink fading-colors font-styles mousewheel perl pixbuf unicode3

+ 0
- 10
etc/portage/repos.conf/gentoo.conf View File

@@ -1,10 +0,0 @@
# /etc/portage/repos.conf/gentoo.conf

[DEFAULT]
main-repo = gentoo

[gentoo]
location = /usr/portage
sync-type = git
sync-uri = https://github.com/gentoo/gentoo.git
auto-sync = yes

+ 0
- 21
etc/portage/sets/gein-base View File

@@ -1,21 +0,0 @@
# gein-base

app-admin/sudo
app-editors/vim
app-misc/tmux
app-text/aspell
dev-vcs/git
media-fonts/noto
media-libs/alsa-lib
media-sound/alsa-utils
net-misc/dhcpcd
sys-apps/mlocate
sys-apps/pciutils
sys-boot/grub:2
sys-kernel/gentoo-sources
sys-kernel/linux-firmware
sys-process/htop
virtual/cron
x11-apps/xset
x11-apps/xsetroot
x11-misc/xclip

+ 0
- 8
etc/portage/sets/gein-i3wm View File

@@ -1,8 +0,0 @@
# gein-i3wm

x11-misc/arandr
x11-misc/dmenu
x11-misc/i3lock
x11-misc/i3status
x11-wm/i3
x11-terms/st

+ 0
- 4
etc/portage/sets/gein-laptop View File

@@ -1,4 +0,0 @@
# gein-laptop

app-laptop/laptop-mode-tools
sys-power/acpilight

+ 0
- 11
etc/portage/sets/gein-lxqt View File

@@ -1,11 +0,0 @@
# gein-lxqt

kde-frameworks/breeze-icons
kde-plasma/breeze
kde-plasma/breeze-grub
kde-plasma/breeze-gtk
kde-plasma/kwin
kde-plasma/sddm-kcm
lxde-base/lxappearance
lxqt-base/lxqt-meta
net-misc/cmst

+ 0
- 36
etc/portage/sets/gein-steam View File

@@ -1,36 +0,0 @@
# gein-steam

dev-libs/glib:2
dev-libs/libgcrypt
dev-libs/nspr
dev-libs/nss
gnome-base/gconf
media-libs/alsa-lib
media-libs/fontconfig
media-libs/freetype:2
media-libs/libjpeg-turbo
media-libs/libogg
media-libs/libpng:1.2
media-libs/libsdl
media-libs/libtheora
media-libs/libtxc_dxtn
media-libs/libvorbis
media-libs/openal
net-misc/curl
net-print/cups
sys-apps/dbus
virtual/libusb:1
virtual/opengl
x11-libs/cairo
x11-libs/gdk-pixbuf
x11-libs/gtk+:2
x11-libs/libX11
x11-libs/libXScrnSaver
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXi
x11-libs/libXrandr
x11-libs/libXrender
x11-libs/pango
x11-libs/pixman
x11-misc/xdg-user-dirs

+ 0
- 95
etc/profile View File

@@ -1,95 +0,0 @@
# /etc/profile

# Check for an interactive shell and set umask accordingly. Currently the
# threshold for system-reserved uid/guid's is 200 though you may check
# '/usr/share/doc/setup/uidgid' to confirm this is valid.

case $- in
*i*) INTERACTIVE=true ;;
*) INTERACTIVE=false ;;
esac

if [ $INTERACTIVE = false ]; then
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
# Mask current process as a daemon
umask 002
else
# Mask current process as an initscript
umask 022
fi

return
fi


# Gentoo has '/etc/profile.env' which needs to be read. Here we will
# check if it exists and source it if found.

[ -e /etc/profile.env ] && source /etc/profile.env


# Setting PS1 correctly depending on the current shell can be important
# for users of non-standard shells. Here we will attempt to accommodate
# other shells if currently in use, and default to standard shell
# semantics.

if [ ! -n $ZSH_VERSION ]; then
PS1="[%n@%M %d]$ "
else
PS1="[\u@\h \W]\$ "
fi


# This section defines all PATH and MANPATH locations and is mean to be a
# somewhat exhaustive list for compatibility across various systems. It
# may look quite upsetting but it works for our purposes.

PATH="/usr/local/sbin/:/usr/local/bin:/usr/sbin:/usr/bin:/opt/bin"
PATH="$PATH:/sbin:/bin:$HOME/.local/bin:$HOME/.bin:$HOME/bin"

MANPATH="/usr/man:/usr/share/man:/usr/local/man:/usr/local/share/man"
MANPATH="$MANPATH:$HOME/.local/man:$HOME/.local/share/man"


# This section defines our exports, including the PATH, MANPATH and PS1
# that we defined in previous sections.

export EDITOR="vi"
#export HISTTIMEFORMAT="(%m/%d/%y) %T "
export LANG="en_US.UTF-8"
export MANPATH
export PAGER="/usr/bin/less"
export PATH
export PROMPT_COMMAND="history -a"
export PS1
export SSH_KEY_PATH="$HOME/.ssh/rsa_id"
export TERM="xterm"


# This section will find and source all files in '/etc/profile.d' that
# end in '.sh'. This is a mechanism to allow the use of multiple files
# that will comprise environment settings or other configurations.

for sh in /etc/profile.d/*.sh; do
[ -r "$sh" ] && source "$sh"
done


# A $USER may want to maintain local shell configuration files. The
# following section attempts to source '$HOME/.profile' along with all
# files within '$HOME/profile.d' that end in '.sh' similarly to the above
# section.

[ -e $HOME/.profile ] && source $HOME/.profile

if [ -d $HOME/profile.d ]; then
for sh in $HOME/profile.d/*.sh; do
[ -r "$sh" ] && source "$sh"
done
fi


# Keeping things clean in our shell environment is rather important. Here
# we will unset any variables that are no longer needed.

unset sh

+ 0
- 8
etc/profile.d/alias.sh View File

@@ -1,8 +0,0 @@
# /etc/profile.d/alias.sh

alias df="df -h"
alias free="free -h"
alias ls="ls -hSF"
alias mkdir="mkdir -vp"
alias mv="mv -vi"
alias rm="rm -vi"

+ 0
- 12
etc/profile.d/defaults.sh View File

@@ -1,12 +0,0 @@
# /etc/profile.d/defaults.sh

## User Directories
if [ $(whoami) != 'root' ]; then
Folders="Documents Downloads Music Pictures Projects Videos"

for Folder in $Folders; do
[ -d $HOME/$Folder ] || mkdir $HOME/$Folder
done

unset Folders
fi

+ 0
- 8
etc/profile.d/golang.sh View File

@@ -1,8 +0,0 @@
# /etc/profile.d/golang.sh

GOPATH="$HOME/.go:$HOME/Projects"
GOBIN="$GOPATH/bin"
GODOC="$GOPATH/doc"

export GOPATH GOBIN GODOC
export PATH="$PATH:$GOBIN"

+ 0
- 66
etc/profile.d/gpkg.sh View File

@@ -1,66 +0,0 @@
# /etc/profile.d/gein.sh

gpkg() {
if [ $EUID -ne 0 ]; then
if [ -e $(command -v sudo) ]; then
SU="sudo"
else
SU="su -c"
fi
fi

case $1 in
-S|sync)
echo "gpkg: syncing Portage..."
$SU emerge -q --sync &&
echo "gpkg: Portage sync completed"
;;

-i|install)
$SU emerge -av --quiet-build ${@:2}
;;

-r|--remove)
$SU emerge -avc --quiet-build ${@:2}
;;

-p|--purge)
$SU gpkg -r $(qlist -CI ${@:2})
;;

-c|--clean)
$SU emerge -av --depclean --quiet-build
;;

-u|--update)
case $2 in
-w|--world)
$SU emerge -avuDU --keep-going --with-bdeps=y \
--quiet-build @world
;;

-s|--system)
$SU emerge -avuDN --quiet-build @system
;;

*)
echo "gpkg: update: Available options:"
echo " -w, --world Update world packages"
echo " -s, --system Update system packages"
;;
esac
;;

*)
echo "gpkg: Available options:"
echo " -S, --sync Sync Portage"
echo " -i, --install Install a package"
echo " -r, --remove Safely remove a package"
echo " -p, --purge Purge package and dependencies"
echo " -c, --clean Remove unneeded packages"
echo " -u, --update Update packages"
echo " -w, --world Update world packages"
echo " -s, --system Update system packages"
;;
esac
}

+ 0
- 38
etc/profile.d/kbuild.sh View File

@@ -1,38 +0,0 @@
# /etc/profile.d/kbuild.sh

kbuild() {
CWD="$(pwd)"

if [ $EUID -ne 0 ]; then
if [ -e $(command -v sudo) ]; then
SU="sudo"
else
SU="su -c"
fi
fi

KMake="make -s -j$(grep -c ^processor /proc/cpuinfo)"

eselect kernel list
TargetProfile=""
while [ -z "$TargetProfile" ]; do
read -ep "Which profile?: " TargetProfile
done

if [ -n "$TargetProfile" ]; then
$SU eselect kernel set "$TargetProfile" &&
cd /usr/src/linux &&
$SU make menuconfig &&
$SU $KMake &&
$SU $KMake modules &&
$SU $KMake install &&
$SU $KMake modules install &&
$SU grub-mkconfig -o /boot/grub/grub.cfg &&
$SU emerge -av --quiet-build @module-rebuild
fi

$SU make clean
unset KMake

cd $CWD
}

+ 0
- 15
etc/profile.d/racket.sh View File

@@ -1,15 +0,0 @@
# /etc/profile.d/racket.sh

RKTPATH="/usr/racket:/usr/local/racket"
RKTPATH="$RKTPATH:$HOME/racket:$HOME/.racket:$HOME/.local/racket"

RKTBIN="/usr/racket/bin:/usr/local/racket/bin"
RKTBIN="$RKTBIN:$HOME/racket/bin:$HOME/.racket/bin:$HOME/.local/racket/bin"

RKTMAN="/usr/racket/man:/usr/local/racket/man"
RKTMAN="$RKTMAN:$HOME/racket/man:$HOME/.racket/man:$HOME/.local/racket/man"

export PATH="$PATH:$RKTBIN"
export MANPATH="$MANPATH:$RKTMAN"

unset RKTPATH RKTBIN RKTMAN

+ 0
- 3
etc/xinitrc View File

@@ -1,3 +0,0 @@
# /etc/xinitrc

exec i3

+ 26
- 116
gein.sh View File

@@ -36,10 +36,12 @@
## Configuration
#
# This script relies on downloading configuration files from the main
# repository. Here we will create the $Source variable to simplify
# future sections.
# repository. Here we will create the 'Source' variable which points to
# the main repository, and a 'Config' variable which is where all
# custom configuration lives.

Source="https://raw.githubusercontent.com/jcmdln/gein/master"
Config="https://raw.githubusercontent.com/jcmdln/cfg/master"


## System
@@ -83,14 +85,6 @@ AutoKernel="true"
# 'ProfileFilter' will filter out any Portage profiles that are marked
# as 'dev' or 'exp', though if you want to see all profiles then comment
# this out.
#
# Much work has been done to simplify or in most cases fully automate
# interacting with Portage though this section simply creates easily
# referenced variables that may be called later in this script. At the
# time of writing, the Gentoo stage3 no longer includes 'git' which
# prevents using the GitHub mirror, though this is still available
# using the 'ReposConf' variable. Please leave this commented unless
# you plan to emerge git ahead of time.

case "$(uname -m)" in
amd64|x86_64) CPUArch="amd64" ;;
@@ -103,13 +97,6 @@ esac
CPUCores="$(grep -c ^processor /proc/cpuinfo)"
ProfileFilter="| grep -Evi 'dev|exp'"

MakeConf="$Source/etc/portage/make.conf"
PackageAcceptKeywords="$Source/etc/portage/package.accept_keywords"
PackageEnv="$Source/etc/portage/package.env"
PackageLicense="$Source/etc/portage/package.license"
PackageUse="$Source/etc/portage/package.use"
#ReposConf="$Source/etc/portage/repos.conf/gentoo.conf"


## Command Aliases
#
@@ -130,13 +117,13 @@ Wget="wget -q"
# errors when executing MINIMAL() or DESKTOP() due to cURL missing
# after completing the BOOTSTRAP().

S3_Arch="amd64"
S3_Source="http://distfiles.gentoo.org/releases/$S3_Arch/autobuilds"
S3_Release="curl -s $S3_Source/latest-stage3-$S3_Arch.txt"
S3_Source="http://distfiles.gentoo.org/releases/$CPUArch/autobuilds"
S3_Release="curl -s $S3_Source/latest-stage3-$CPUArch.txt"

[ -x "$(command -v curl)" ] &&
S3_Current="$($S3_Release|tail -1|awk '{print $1}')" &&
if [ -x "$(command -v curl)" ]; then
S3_Current="$($S3_Release|tail -1|awk '{print $1}')"
Stage3="$S3_Source/$S3_Current"
fi


# Bootstrapping a Gentoo stage3 archive is a fairly quick process though
@@ -166,11 +153,11 @@ BOOTSTRAP() {
echo "gein: Ensuring we are in /mnt/gentoo..."
[ ! -e /mnt/gentoo/$(basename "$0") ] &&
cp "$0" /mnt/gentoo/ &&
cd /mnt/gentoo
cd /mnt/gentoo &&

echo "gein: Setting system time via ntpd..."
[ -x "$(command -v ntpd)" ] &&
ntpd -q -g
ntpd -q -g &&

echo "gein: Downloading and extracting Stage3 tarball..."
if [ -n "$Stage3" ]; then
@@ -213,59 +200,7 @@ BOOTSTRAP() {
fi

echo "gein: Copying '/etc/resolv.conf'..." &&
cp -L /etc/resolv.conf /mnt/gentoo/etc/

echo "gein: Downloading Portage configuration files..."
[ -n "$MakeConf" ] &&
$Wget "$MakeConf" \
-O /mnt/gentoo/etc/portage/make.conf

[ -n "$PackageAcceptKeywords" ] &&
$Wget "$PackageAcceptKeywords" \
-O /mnt/gentoo/etc/portage/package.accept_keywords

[ -n "$PackageEnv" ] &&
$Wget "$PackageEnv" \
-O /mnt/gentoo/etc/portage/package.env

[ -n "$PackageLicense" ] &&
$Wget "$PackageLicense" \
-O /mnt/gentoo/etc/portage/package.license

[ -n "$PackageUse" ] &&
rm -rf /mnt/gentoo/etc/portage/package.use &&
$Wget "$PackageUse" \
-O /mnt/gentoo/etc/portage/package.use

[ -n "$ReposConf" ] &&
mkdir -p /mnt/gentoo/etc/portage/repos.conf &&
$Wget "$ReposConf" \
-O /mnt/gentoo/etc/portage/repos.conf/gentoo.conf

echo "gein: Downloading gein Portage package sets..."
rm -rf /mnt/gentoo/etc/portage/package.use
mkdir -p /mnt/gentoo/etc/portage/package.use
PackageUse="
/etc/portage/package.use/defaults
/etc/portage/package.use/multilib
/etc/portage/package.use/packages
"
for File in $PackageUse; do
$Wget "$Source"/"$File" -O /mnt/gentoo/"$File"
done

echo "gein: Downloading gein Portage package sets..."
mkdir -p /mnt/gentoo/etc/portage/sets
PortageSets="
/etc/portage/sets/gein-base
/etc/portage/sets/gein-i3wm
/etc/portage/sets/gein-laptop
/etc/portage/sets/gein-lxqt
/etc/portage/sets/gein-steam
"
for Set in $PortageSets; do
$Wget "$Source"/"$Set" -O /mnt/gentoo/"$Set"
done
cp -L /etc/resolv.conf /mnt/gentoo/etc/ &&

echo "gein: Chroot'ing into /mnt/gentoo..." &&
chroot /mnt/gentoo /usr/bin/env -i \
@@ -282,9 +217,13 @@ BOOTSTRAP() {
# desired profile, compile the kernel, and install some basic packages.

MINIMAL() {
echo "gein: getting configuration files from 'cfg'..." &&
$Wget $Config/cfg.sh &&
source cfg.sh &&

echo "gein: Setting CPU cores and GPU type..." &&
sed -i "s/Video_Cards/$VideoCards/g; s/Make_Opts/-j$CPUCores/g" \
/etc/portage/make.conf
/etc/portage/make.conf &&

echo "gein: Syncing Portage and selecting profile..." &&
emerge -q --sync &&
@@ -295,25 +234,24 @@ MINIMAL() {
read -ep "Which profile?: " TargetProfile
done &&
eselect profile set "$TargetProfile" &&
$Emerge -uDN @world
$Emerge -uDN @world &&

echo "gein: Setting timezone..." &&
echo "$TimeZone" > /etc/timezone &&
$Emerge --config sys-libs/timezone-data
$Emerge --config sys-libs/timezone-data &&

echo "gein: Setting locale..." &&
echo "$Locale" > /etc/locale.gen &&
locale-gen && locale -a &&
LocaleMain=$(echo $Locale | awk -F '[-]' '{print $1}') &&
LocaleSet=$(eselect locale list | \
grep -i $LocaleMain | \
LocaleSet=$(eselect locale list | grep -i $LocaleMain | \
awk -F '[][]' '{print $2}') &&
eselect locale set $LocaleSet &&
env-update && source /etc/profile &&
export PS1="[chroot \u@\h \W]$ "

echo "gein: Emerging minimal packages..." &&
$Emerge @gein-base
$Emerge @gein-base &&

if grep -Rqi 'intel' /proc/cpuinfo; then
echo "gein: emerging intel-microcode" &&
@@ -344,33 +282,18 @@ MINIMAL() {
$Make && $Make modules &&
$Make install && $Make modules install &&
$Make distclean &&
cd /
cd / &&

echo "gein: Adding services to OpenRC..." &&
rc-update add dhcpcd default &&
rc-update add cronie default
rc-update add cronie default &&

echo "gein: Setting hostname..." &&
echo "hostname=$Hostname" > /etc/conf.d/hostname
echo "hostname=$Hostname" > /etc/conf.d/hostname &&

echo "gein: Installing Grub to $PartitionBoot..." &&
grub-install "$PartitionBoot" &&
grub-mkconfig -o /boot/grub/grub.cfg

echo "gein: Adding userland configurations..."
CfgFiles="
/etc/bash/bashrc
/etc/profile
/etc/profile.d/alias.sh
/etc/profile.d/defaults.sh
/etc/profile.d/gein.sh
/etc/profile.d/golang.sh
/etc/profile.d/kernel.sh
/etc/profile.d/racket.sh
"
for cfg in $CfgFiles; do
$Wget "$Source"/"$cfg" -O "$cfg"
done
grub-mkconfig -o /boot/grub/grub.cfg &&

echo "gein: Setting root password..."
[ -x $(command -v chpasswd) ] && \
@@ -390,13 +313,6 @@ DESKTOP() {

echo "gein: Installing desktop packages..." &&
$Emerge @gein-base "$DesktopChoice"

if [ -n "$DesktopConfig" ]; then
echo "gein: Adding configuration files..."
for cfg in $DesktopConfig; do
$Wget "$Source"/"$cfg" -O "$cfg"
done
fi
}

LAPTOP() {
@@ -453,18 +369,12 @@ case $1 in
case $2 in
i3wm)
DesktopChoice="@gein-i3wm"
DesktopConfig="
/etc/i3status.conf
/etc/xinitrc
/etc/Xresources
/etc/i3/config
"
MINIMAL && DESKTOP && POSTINSTALL
;;

lxqt)
DesktopChoice="@gein-lxqt"
MINIMAL && DESKTOP
MINIMAL && DESKTOP &&

echo "azryn: Set SDDM as the display manager" &&
sed -i 's/DISPLAYMANAGER="xdm"/DISPLAYMANAGER="sddm"/g' \

Loading…
Cancel
Save