diff --git a/examples/archlinux-gnome/conf.d/basic.sh b/examples/archlinux-gnome/conf.d/basic.sh index 380872dcc08c2a74619b95dc9322c8a591cc03d4..9342b568aae01ec554d069136d7727ac48fe1156 100644 --- a/examples/archlinux-gnome/conf.d/basic.sh +++ b/examples/archlinux-gnome/conf.d/basic.sh @@ -1,5 +1,24 @@ lc_assert_user_is root +desktop_related_setup () { + # to install & enable gnome + pacman -Sy --noconfirm gnome networkmanager power-profiles-daemon nextcloud-client firefox + systemctl enable gdm NetworkManager power-profiles-daemon + + # more customization... + pacman -Sy --needed --noconfirm base-devel nextcloud-client firefox telegram-desktop docker shadowsocks-rust v2ray proxychains xclip adobe-source-han-sans-cn-fonts pcsclite ccid git inetutils wget ttf-fira-code htop tmux dos2unix nfs-utils python-pip gnome-tweaks fcitx5-im man-db man-pages kolourpaint breeze + pacman -Sy --needed --noconfirm recolic-aur/gnome-terminal-transparency recolic-aur/oreo-cursors-git + + echo ' +# This file is parsed by pam_env module +# Syntax: simple KEY=VAL pairs on separate lines +GTK_IM_MODULE=fcitx5 +QT_IM_MODULE=fcitx5 +XMODIFIERS=@im=fcitx5' > /etc/environment + + systemctl enable bluetooth pcscd.service +} + lc_init () { # my favorite pkgs pacman -Sy --noconfirm fish dhcpcd vim sudo openssh @@ -12,8 +31,16 @@ lc_init () { sudo -u rtest linuxconf register masterconf.sh - # more desktop pkgs - pacman -Sy --noconfirm gnome networkmanager power-profiles-daemon nextcloud-client firefox - systemctl enable gdm NetworkManager power-profiles-daemon + # more customization... + grep kernel.sysrq=1 /etc/sysctl.d/99-sysctl.conf || echo 'kernel.sysrq=1' >> /etc/sysctl.d/99-sysctl.conf + + grep recolic-aur /etc/pacman.conf || echo '[recolic-aur] + SigLevel = Optional TrustAll + Server = https://drive.recolic.cc/mirrors/recolic-aur' >> /etc/pacman.conf + sed -i 's/^[# ]*ParallelDownloads =[ 0-9A-Za-z]*$/ParallelDownloads = 5/g' /etc/pacman.conf + sed -i 's/^[# ]*SystemMaxUse=[ 0-9A-Za-z]*$/SystemMaxUse=150M/g' /etc/systemd/journald.conf + sed -i 's/^[# ]*SystemMaxFileSize=[ 0-9A-Za-z]*$/SystemMaxFileSize=30M/g' /etc/systemd/journald.conf + + desktop_related_setup } diff --git a/examples/archlinux-gnome/conf.d/desktop.sh b/examples/archlinux-gnome/conf.d/desktop.sh index f9eda26e7ee2e8f6cbab6febc660eeefcaf995af..5b7acdf10ab27ead4832e31b8b1669fc8df6e108 100644 --- a/examples/archlinux-gnome/conf.d/desktop.sh +++ b/examples/archlinux-gnome/conf.d/desktop.sh @@ -1,14 +1,54 @@ lc_assert_user_is_not root +config_gsettings () { + echo "## gnome desktop config" + gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type nothing + gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type nothing + gsettings set org.gnome.settings-daemon.plugins.power idle-dim false + gsettings set org.gnome.desktop.screensaver idle-activation-enabled false + gsettings set org.gnome.desktop.privacy remember-recent-files false + gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true + gsettings set org.gnome.desktop.interface enable-hot-corners false + gsettings set org.gnome.desktop.media-handling automount false + gsettings set org.gnome.desktop.media-handling automount-open false + gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-left "['<Shift><Alt>Left']" + gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-right "['<Shift><Alt>Right']" + gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-up "['<Shift><Alt>Up']" + gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-down "['<Shift><Alt>Down']" + gsettings set org.gnome.desktop.wm.keybindings move-to-monitor-left "['<Super><Shift>Left']" + gsettings set org.gnome.desktop.wm.keybindings move-to-monitor-right "['<Super><Shift>Right']" + gsettings set org.gnome.desktop.wm.keybindings move-to-monitor-up "['<Super><Shift>Up']" + gsettings set org.gnome.desktop.wm.keybindings move-to-monitor-down "['<Super><Shift>Down']" + gsettings set org.gnome.desktop.wm.keybindings switch-windows "['<Primary>Tab']" + gsettings set org.gnome.desktop.wm.keybindings switch-windows-backward "['<Primary><Shift>Tab']" + gsettings set org.gnome.desktop.wm.keybindings switch-applications "['<Super>Tab', '<Alt>Tab']" + gsettings set org.gnome.desktop.wm.keybindings switch-applications-backward "['<Shift><Super>Tab', '<Shift><Alt>Tab']" + + +} + lc_init () { [[ -d $HOME/sh ]] || git clone https://git.recolic.net/root/daily-scripts.git $HOME/sh || return 1 + # config_gpg + config_gsettings } lc_fsmap $HOME/sh/mybin /usr/mybin lc_startup () { + firefox_config=' +user_pref("browser.tabs.tabmanager.enabled", false); +user_pref("services.sync.prefs.sync.browser.uiCustomization.state", true); +user_pref("browser.tabs.hoverPreview.enabled", false);' + for dir in "$HOME"/.mozilla/firefox/*.default*; do + [[ -d "$dir" ]] && echo "$firefox_config" > "$dir/user.js" + done + [[ -f /usr/bin/az ]] && az config set core.login_experience_v2=off } +lc_login () { + # echo _:1 | bash /usr/mybin/unlock_keyrings +} diff --git a/examples/template/masterconf.sh b/examples/template/masterconf.sh index 20fe813813b8a8e0449b56cc3cf5f24a8263e0a0..a073090704780e08d01c862935238ff37870d36c 100644 --- a/examples/template/masterconf.sh +++ b/examples/template/masterconf.sh @@ -46,6 +46,8 @@ function lc_cron () { # Warning: watch out for unintended user lc_fsmap files/vimrc $LC_USER_HOME/.vimrc +lc_daemon files/myservice.sh + # TODO: what if lc_fsmap depends on lc_init() ?? This is not recommended usage. # e.g: 'git clone xxx $HOME/sh' and lc_fsmap $HOME/sh/something /usr/bin/fancy # lc_fsmap should success even if $HOME/sh/something doesn't exist yet. (what if dest also not exist? let it fail...)