added packages
34
packages/ckbcomp/PKGBUILD
Normal file
@ -0,0 +1,34 @@
|
||||
# Maintainer: tux <0xtux@pm.me>
|
||||
|
||||
pkgname=ckbcomp
|
||||
pkgver=1.218
|
||||
pkgrel=1
|
||||
pkgdesc="Compile a XKB keyboard description to a keymap suitable for loadkeys or kbdcontrol"
|
||||
arch=(any)
|
||||
url="http://anonscm.debian.org/cgit/d-i/console-setup.git/"
|
||||
license=('GPL2')
|
||||
depends=('perl')
|
||||
source=("http://ftp.de.debian.org/debian/pool/main/c/console-setup/console-setup_${pkgver}.tar.xz")
|
||||
sha256sums=('f5df7952e205a9193a7f68de44abf33b0582408579e85aea1efc6c676f4214c2')
|
||||
|
||||
package() {
|
||||
if [[ -d "${srcdir}/console-setup" ]]
|
||||
then
|
||||
cd console-setup
|
||||
elif [[ -d "${srcdir}/console-setup-${pkgver}" ]]
|
||||
then
|
||||
cd console-setup-${pkgver}
|
||||
else
|
||||
echo "Source directory not found.".
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
if [[ ${?} != 0 ]]
|
||||
then
|
||||
cd console-setup-${pkgver}
|
||||
fi
|
||||
|
||||
install -d ${pkgdir}/usr/bin/
|
||||
install -m755 Keyboard/ckbcomp ${pkgdir}/usr/bin/
|
||||
}
|
29
packages/mkinitcpio-openswap/PKGBUILD
Normal file
@ -0,0 +1,29 @@
|
||||
# Maintainer: Jenya Sovetkin <e.sovetkin@gmail.com>
|
||||
# Contributors: https://aur.archlinux.org/account/f4bio
|
||||
|
||||
pkgname=mkinitcpio-openswap
|
||||
pkgver=0.1.0
|
||||
pkgrel=3
|
||||
pkgdesc="mkinitcpio hook to open swap at boot time"
|
||||
arch=(any)
|
||||
license=('unknown')
|
||||
url="https://aur.archlinux.org/packages/mkinitcpio-openswap/"
|
||||
depends=(mkinitcpio)
|
||||
backup=('etc/openswap.conf')
|
||||
install="usage.install"
|
||||
source=('openswap.hook'
|
||||
'openswap.install'
|
||||
'openswap.conf')
|
||||
sha256sums=('84ef428386b7f4353af036ccfbd4c60901a76e2d0c7a38dd3be2000219ea9d23'
|
||||
'94dd98a953bab2244215a2b20767cdc9500fc438bed9ec27cae72a73766c6b86'
|
||||
'3308f2679bb7c962d98adf2684d25390025d025e3d30bc1e773e3522311ad325')
|
||||
|
||||
|
||||
package() {
|
||||
install -Dm 644 openswap.hook \
|
||||
"${pkgdir}/usr/lib/initcpio/hooks/openswap"
|
||||
install -Dm 644 openswap.install \
|
||||
"${pkgdir}/usr/lib/initcpio/install/openswap"
|
||||
install -Dm 644 openswap.conf \
|
||||
"${pkgdir}/etc/openswap.conf"
|
||||
}
|
17
packages/mkinitcpio-openswap/openswap.conf
Normal file
@ -0,0 +1,17 @@
|
||||
## cryptsetup open $swap_device $crypt_swap_name
|
||||
## get uuid using e.g. lsblk -f
|
||||
swap_device=/dev/disk/by-uuid/2788eb78-074d-4424-9f1d-ebffc9c37262
|
||||
crypt_swap_name=cryptswap
|
||||
|
||||
## one can optionally provide a keyfile device and path on this device
|
||||
## to the keyfile
|
||||
keyfile_device=/dev/mapper/cryptroot
|
||||
keyfile_filename=etc/keyfile-cryptswap
|
||||
|
||||
## additional arguments are given to mount for keyfile_device
|
||||
## has to start with --options (if so desired)
|
||||
#keyfile_device_mount_options="--options=subvol=__active/__"
|
||||
|
||||
## additional arguments are given to cryptsetup
|
||||
## --allow-discards options is desired in case swap is on SSD partition
|
||||
cryptsetup_options="--type luks"
|
25
packages/mkinitcpio-openswap/openswap.hook
Normal file
@ -0,0 +1,25 @@
|
||||
run_hook ()
|
||||
{
|
||||
## read openswap configurations
|
||||
source /openswap.conf
|
||||
|
||||
## Optional: To avoid race conditions
|
||||
x=0;
|
||||
while [ ! -b "$keyfile_device" ] && [ $x -le 10 ]; do
|
||||
x=$((x+1))
|
||||
sleep .2
|
||||
done
|
||||
## End of optional
|
||||
|
||||
if [ -z "$keyfile_device" ] || [ -z "$keyfile_filename" ]
|
||||
then
|
||||
## case when no keyfile provided in configurations
|
||||
cryptsetup open $cryptsetup_options "$swap_device" "$crypt_swap_name"
|
||||
else
|
||||
## case when keyfile is provided in configurations
|
||||
mkdir openswap_keymount
|
||||
mount $keyfile_device_mount_options "$keyfile_device" openswap_keymount
|
||||
cryptsetup open $cryptsetup_options --key-file "openswap_keymount/$keyfile_filename" "$swap_device" "$crypt_swap_name"
|
||||
umount openswap_keymount
|
||||
fi
|
||||
}
|
27
packages/mkinitcpio-openswap/openswap.install
Normal file
@ -0,0 +1,27 @@
|
||||
build ()
|
||||
{
|
||||
grep "swap_device=" /etc/openswap.conf > "$BUILDROOT/openswap.conf"
|
||||
grep "crypt_swap_name=" /etc/openswap.conf >> "$BUILDROOT/openswap.conf"
|
||||
grep "keyfile_device=" /etc/openswap.conf >> "$BUILDROOT/openswap.conf"
|
||||
grep "keyfile_filename=" /etc/openswap.conf >> "$BUILDROOT/openswap.conf"
|
||||
grep "keyfile_device_mount_options=" /etc/openswap.conf >> "$BUILDROOT/openswap.conf"
|
||||
grep "cryptsetup_options=" /etc/openswap.conf >> "$BUILDROOT/openswap.conf"
|
||||
|
||||
source "$BUILDROOT/openswap.conf"
|
||||
|
||||
if [ -z "$swap_device" ]; then
|
||||
warning "swap_device variable is not set"
|
||||
fi
|
||||
|
||||
if [ -z "$crypt_swap_name" ]; then
|
||||
warning "crypt_swap_name variable is not set"
|
||||
fi
|
||||
|
||||
add_runscript
|
||||
}
|
||||
help ()
|
||||
{
|
||||
cat<<HELPEOF
|
||||
This hook opens a swap at boot time
|
||||
HELPEOF
|
||||
}
|
9
packages/mkinitcpio-openswap/usage.install
Normal file
@ -0,0 +1,9 @@
|
||||
post_install() {
|
||||
echo ""
|
||||
echo "Alter /etc/openswap.conf file for your swap device name, keyfiles, etc..."
|
||||
echo ""
|
||||
echo "For more information see: https://wiki.archlinux.org/index.php/Dm-crypt/Swap_encryption#mkinitcpio_hook"
|
||||
echo ""
|
||||
echo "Don't forget to add the openswap hook after encrypt and before resume in your /etc/mkinitcpio.conf and run mkinitcpio -p linux..."
|
||||
echo ""
|
||||
}
|
50
packages/picom-pijulius-git/PKGBUILD
Normal file
@ -0,0 +1,50 @@
|
||||
# Maintainer: WorMzy Tykashi <wormzy.tykashi@gmail.com>
|
||||
# Contributor: OK100 <ok100 at lavabit dot com>
|
||||
# Contributor: Valère Monseur <valere dot monseur at ymail dot com>
|
||||
|
||||
pkgname=picom-pijulius-git
|
||||
_gitname=picom
|
||||
pkgver=1691_Next.129.g982bb43_2021.10.23
|
||||
pkgrel=1
|
||||
pkgdesc="pijulius's fork of picom, adds animations"
|
||||
arch=(i686 x86_64)
|
||||
url="https://github.com/pijulius/${_gitname}"
|
||||
license=('MIT' 'MPL2')
|
||||
depends=('libgl' 'libev' 'pcre' 'libx11' 'xcb-util-renderutil' 'libxcb' 'xcb-util-image' 'libxext'
|
||||
'pixman' 'libconfig' 'libdbus' 'hicolor-icon-theme')
|
||||
makedepends=('git' 'mesa' 'meson' 'asciidoc' 'uthash' 'xorgproto')
|
||||
optdepends=('dbus: To control picom via D-Bus'
|
||||
'xorg-xwininfo: For picom-trans'
|
||||
'xorg-xprop: For picom-trans'
|
||||
'python: For picom-convgen.py')
|
||||
provides=('compton' 'compton-git' 'picom')
|
||||
conflicts=('compton' 'compton-git' 'picom')
|
||||
replaces=('compton-git')
|
||||
source=(git+"https://github.com/pijulius/${_gitname}.git#branch=implement-window-animations")
|
||||
md5sums=("SKIP")
|
||||
|
||||
pkgver() {
|
||||
cd ${_gitname}
|
||||
_tag=$(git describe --tags | sed 's:^v::') # tag is mobile, and switches between numbers and letters, can't use it for versioning
|
||||
_commits=$(git rev-list --count HEAD) # total commits is the most sane way of getting incremental pkgver
|
||||
_date=$(git log -1 --date=short --pretty=format:%cd)
|
||||
printf "%s_%s_%s\n" "${_commits}" "${_tag}" "${_date}" | sed 's/-/./g'
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "${srcdir}/${_gitname}"
|
||||
meson --buildtype=release . build --prefix=/usr -Dwith_docs=true
|
||||
ninja -C build
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "${srcdir}/${_gitname}"
|
||||
|
||||
DESTDIR="${pkgdir}" ninja -C build install
|
||||
|
||||
# install license
|
||||
install -D -m644 "LICENSES/MIT" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE-MIT"
|
||||
|
||||
# example conf
|
||||
install -D -m644 "picom.sample.conf" "${pkgdir}/etc/xdg/picom.conf.example"
|
||||
}
|
37
packages/tuxos-bspwm/PKGBUILD
Normal file
@ -0,0 +1,37 @@
|
||||
# Maintainer: tux <0xtux@pm.me>
|
||||
|
||||
pkgname=tuxos-bspwm
|
||||
pkgver=1.0
|
||||
pkgrel=1
|
||||
pkgdesc="Bspwm Configurations for tuxOS"
|
||||
arch=('any')
|
||||
license=('GPL3')
|
||||
makedepends=()
|
||||
depends=('bspwm' 'sxhkd' 'polybar' 'rofi' 'dunst')
|
||||
provides=("${pkgname}")
|
||||
options=(!strip !emptydirs)
|
||||
#install="${pkgname}.install"
|
||||
|
||||
prepare() {
|
||||
cp -af ../bspwm/. ${srcdir}
|
||||
}
|
||||
|
||||
package() {
|
||||
local _skeldir=${pkgdir}/etc/skel
|
||||
local _configdir=${_skeldir}/.config
|
||||
local _bspwmdir=${_configdir}/bspwm
|
||||
|
||||
mkdir -p "$_skeldir" && mkdir -p "$_configdir" && mkdir -p "$_bspwmdir"
|
||||
|
||||
cp -r ${srcdir}/polybar "$_bspwmdir"
|
||||
cp -r ${srcdir}/scripts "$_bspwmdir"
|
||||
cp -r ${srcdir}/wallpapers "$_bspwmdir"
|
||||
|
||||
install -Dm 755 bspwmrc "$_bspwmdir"/bspwmrc
|
||||
install -Dm 644 sxhkdrc "$_bspwmdir"/sxhkdrc
|
||||
install -Dm 644 dunstrc "$_bspwmdir"/dunstrc
|
||||
install -Dm 644 launcher.rasi "$_bspwmdir"/launcher.rasi
|
||||
install -Dm 644 powermenu.rasi "$_bspwmdir"/powermenu.rasi
|
||||
|
||||
chmod +x "$_bspwmdir"/scripts/*
|
||||
}
|
75
packages/tuxos-bspwm/bspwm/bspwmrc
Normal file
@ -0,0 +1,75 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
## Bspwm config directory
|
||||
BSPDIR="$HOME/.config/bspwm"
|
||||
|
||||
## Bspwm colors
|
||||
BSPWM_FBC='#fff'
|
||||
BSPWM_NBC='#1E1E2E'
|
||||
BSPWM_ABC='#fff'
|
||||
BSPWM_PFC='#A6E3A1'
|
||||
|
||||
## Bspwm appearance
|
||||
BSPWM_BORDER='0'
|
||||
BSPWM_GAP='14'
|
||||
BSPWM_SRATIO='0.50'
|
||||
|
||||
## Manager Workspaces
|
||||
workspaces() {
|
||||
name=1
|
||||
for monitor in `bspc query -M`; do
|
||||
bspc monitor ${monitor} -n "$name" -d '' '' '' '' '' '' '' ''
|
||||
let name++
|
||||
done
|
||||
}
|
||||
workspaces
|
||||
|
||||
## Apply bspwm configurations
|
||||
bspc config border_width "$BSPWM_BORDER"
|
||||
bspc config window_gap "$BSPWM_GAP"
|
||||
bspc config split_ratio "$BSPWM_SRATIO"
|
||||
|
||||
bspc config focused_border_color "$BSPWM_FBC"
|
||||
bspc config normal_border_color "$BSPWM_NBC"
|
||||
bspc config active_border_color "$BSPWM_ABC"
|
||||
bspc config presel_feedback_color "$BSPWM_PFC"
|
||||
|
||||
bspc config borderless_monocle true
|
||||
bspc config gapless_monocle true
|
||||
bspc config paddingless_monocle true
|
||||
bspc config single_monocle false
|
||||
bspc config focus_follows_pointer true
|
||||
bspc config presel_feedback true
|
||||
|
||||
## Manage all the unmanaged windows remaining from a previous session.
|
||||
bspc wm --adopt-orphans
|
||||
|
||||
# remove all rules first
|
||||
bspc rule -r *:*
|
||||
|
||||
# Terminate already running polybar, eww, picom, sxhkd and dunst instances
|
||||
processes=("picom" "polybar" "eww" "sxhkd" "dunst")
|
||||
|
||||
for process in "${processes[@]}"; do
|
||||
if pidof -q "$process"; then
|
||||
pkill -x "$process" > /dev/null; sleep 0.1
|
||||
fi
|
||||
done
|
||||
|
||||
# Lauch keybindings daemon
|
||||
sxhkd -c "$BSPDIR"/sxhkdrc &
|
||||
|
||||
# Set Wallpaper
|
||||
feh --no-fehbg --bg-fill "$BSPDIR"/wallpapers/cat_leaves.png &
|
||||
|
||||
# Exec Eww bar
|
||||
# eww -c "$HOME"/.config/eww/dashboard open dashboard &
|
||||
|
||||
# Exec Polybar
|
||||
polybar -q astro -c $HOME/.config/bspwm/polybar/config.ini &
|
||||
|
||||
# Exec Picom
|
||||
picom -b --animations --animation-window-mass 0.5 --animation-for-open-window zoom --animation-stiffness 350 --corner-radius 12 &
|
||||
|
||||
# Exec Dunst
|
||||
dunst -config $HOME/.config/bspwm/dunstrc &
|
64
packages/tuxos-bspwm/bspwm/dunstrc
Normal file
@ -0,0 +1,64 @@
|
||||
[global]
|
||||
title = Dunst
|
||||
class = Dunst
|
||||
monitor = 0
|
||||
follow = mouse
|
||||
width = 300
|
||||
height = 300
|
||||
origin = top-right
|
||||
offset = 10x92
|
||||
indicate_hidden = yes
|
||||
shrink = yes
|
||||
|
||||
transparency = 0
|
||||
separator_height = 2
|
||||
padding = 8
|
||||
horizontal_padding = 11
|
||||
frame_width = 6
|
||||
frame_color = "#000"
|
||||
separator_color = "#c0caf5"
|
||||
|
||||
font = FiraCode Nerd Font Medium 9
|
||||
|
||||
line_height = 0
|
||||
markup = full
|
||||
format = "<span size='x-large' font_desc='Cantarell 9' weight='bold' foreground='#f9f9f9'>%s</span>\n%b"
|
||||
alignment = center
|
||||
|
||||
idle_threshold = 120
|
||||
show_age_threshold = 60
|
||||
sort = no
|
||||
word_wrap = yes
|
||||
ignore_newline = no
|
||||
stack_duplicates = false
|
||||
hide_duplicate_count = yes
|
||||
show_indicators = no
|
||||
sticky_history = no
|
||||
history_length = 20
|
||||
always_run_script = true
|
||||
corner_radius = 4
|
||||
icon_position = left
|
||||
max_icon_size = 80
|
||||
|
||||
icon_path = /usr/share/icons/Papirus-Dark/48x48/actions/:/usr/share/icons/Papirus-Dark/48x48/apps/:/usr/share/icons/Papirus-Dark/48x48/devices/:/usr/share/icons/Papirus-Dark/48x48/emblems/:/usr/share/icons/Papirus-Dark/48x48/emotes/:/usr/share/icons/Papirus-Dark/48x48/mimetypes/:/usr/share/icons/Papirus-Dark/48x48/places/:/usr/share/icons/Papirus-Dark/48x48/status/
|
||||
|
||||
browser = firefox
|
||||
|
||||
mouse_left_click = close_current
|
||||
mouse_middle_click = do_action
|
||||
mouse_right_click = close_all
|
||||
|
||||
[urgency_low]
|
||||
timeout = 3
|
||||
background = "#000"
|
||||
foreground = "#c0caf5"
|
||||
|
||||
[urgency_normal]
|
||||
timeout = 6
|
||||
background = "#000"
|
||||
foreground = "#c0caf5"
|
||||
|
||||
[urgency_critical]
|
||||
timeout = 0
|
||||
background = "#000"
|
||||
foreground = "#c0caf5"
|
161
packages/tuxos-bspwm/bspwm/launcher.rasi
Normal file
@ -0,0 +1,161 @@
|
||||
configuration {
|
||||
modi: "drun";
|
||||
icon-theme: "Papirus-Dark";
|
||||
application-fallback-icon: "Adwaita";
|
||||
show-icons: true;
|
||||
drun-display-format: "{name}";
|
||||
disable-history: true;
|
||||
sidebar-mode: false;
|
||||
}
|
||||
|
||||
/*****----- Global Properties -----*****/
|
||||
* {
|
||||
font: "FiraCode Nerd Font Bold 9";
|
||||
background: #000;
|
||||
background-alt: #000;
|
||||
foreground: #c0caf5;
|
||||
selected: #7aa2f7;
|
||||
}
|
||||
|
||||
/*****----- Main Window -----*****/
|
||||
window {
|
||||
/* properties for window widget */
|
||||
transparency: "real";
|
||||
location: center;
|
||||
anchor: center;
|
||||
fullscreen: false;
|
||||
width: 500px;
|
||||
height: 39%;
|
||||
x-offset: 0px;
|
||||
y-offset: 0px;
|
||||
|
||||
/* properties for all widgets */
|
||||
enabled: true;
|
||||
border-radius: 6px;
|
||||
cursor: "default";
|
||||
background-color: @background;
|
||||
}
|
||||
|
||||
/*****----- Main Box -----*****/
|
||||
mainbox {
|
||||
enabled: true;
|
||||
spacing: 0px;
|
||||
background-color: transparent;
|
||||
orientation: vertical;
|
||||
children: [ "inputbar", "listbox" ];
|
||||
}
|
||||
|
||||
listbox {
|
||||
spacing: 10px;
|
||||
padding: 10px 5px 10px 5px;
|
||||
background-color: transparent;
|
||||
orientation: vertical;
|
||||
children: [ "message", "listview" ];
|
||||
}
|
||||
|
||||
/*****----- Inputbar -----*****/
|
||||
inputbar {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
padding: 40px 40px 45px;
|
||||
background-color: transparent;
|
||||
background-image: url("~/.config/bspwm/assets/em-rofi.webp", width);
|
||||
text-color: @foreground;
|
||||
orientation: horizontal;
|
||||
children: [ "textbox-prompt-colon", "entry" ];
|
||||
}
|
||||
textbox-prompt-colon {
|
||||
enabled: true;
|
||||
expand: false;
|
||||
str: "";
|
||||
padding: 12px 15px;
|
||||
border-radius: 8px;
|
||||
background-color: @background-alt;
|
||||
text-color: inherit;
|
||||
}
|
||||
entry {
|
||||
enabled: true;
|
||||
expand: true;
|
||||
padding: 12px 16px;
|
||||
border-radius: 8px;
|
||||
background-color: @background-alt;
|
||||
text-color: inherit;
|
||||
cursor: text;
|
||||
placeholder: "Search";
|
||||
placeholder-color: inherit;
|
||||
}
|
||||
dummy {
|
||||
expand: true;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*****----- Listview -----*****/
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 3;
|
||||
cycle: false;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
|
||||
spacing: 0px;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
cursor: "default";
|
||||
}
|
||||
|
||||
/*****----- Elements -----*****/
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
padding: 8px;
|
||||
border-radius: 4px;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
cursor: pointer;
|
||||
}
|
||||
element normal.normal {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
element selected.normal {
|
||||
background-color: @selected;
|
||||
text-color: @background;
|
||||
}
|
||||
element-icon {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
size: 24px;
|
||||
cursor: inherit;
|
||||
}
|
||||
element-text {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
cursor: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
}
|
||||
|
||||
/*****----- Message -----*****/
|
||||
message {
|
||||
background-color: transparent;
|
||||
}
|
||||
textbox {
|
||||
padding: 12px;
|
||||
border-radius: 5px;
|
||||
background-color: @background-alt;
|
||||
text-color: @foreground;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
}
|
||||
error-message {
|
||||
padding: 12px;
|
||||
border-radius: 5px;
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
}
|
94
packages/tuxos-bspwm/bspwm/polybar/config.ini
Normal file
@ -0,0 +1,94 @@
|
||||
[color]
|
||||
bg = #000
|
||||
fg = #F1F1F1
|
||||
mb = #000
|
||||
|
||||
trans = #00000000
|
||||
white = #FFFFFF
|
||||
black = #000000
|
||||
|
||||
red = #f7768e
|
||||
pink = #FF0677
|
||||
purple = #583794
|
||||
blue = #7aa2f7
|
||||
blue-arch = #0A9CF5
|
||||
cyan = #4DD0E1
|
||||
teal = #00B19F
|
||||
green = #9ece6a
|
||||
lime = #B9C244
|
||||
yellow = #e0af68
|
||||
amber = #FBC02D
|
||||
orange = #E57C46
|
||||
brown = #AC8476
|
||||
grey = #8C8C8C
|
||||
indigo = #6C77BB
|
||||
blue-gray = #6D8895
|
||||
|
||||
[global/wm]
|
||||
margin-bottom = 0
|
||||
margin-top = 0
|
||||
include-file = modules.ini
|
||||
|
||||
[bar/astro]
|
||||
monitor-strict = false
|
||||
override-redirect = false
|
||||
bottom = false
|
||||
fixed-center = true
|
||||
width = 99%
|
||||
height = 26
|
||||
offset-x = 0.5%
|
||||
offset-y = 1%
|
||||
background = ${color.bg}
|
||||
foreground = ${color.fg}
|
||||
radius = 1.0
|
||||
line-size = 2
|
||||
line-color = ${color.blue}
|
||||
border-size = 8px
|
||||
border-color = ${color.bg}
|
||||
padding = 1
|
||||
module-margin-left = 0
|
||||
module-margin-right = 0
|
||||
|
||||
font-0 = "FiraCode Nerd Font:style=Bold:pixelsize=13;4"
|
||||
font-1 = "FiraCode Nerd Font:size=18;3"
|
||||
|
||||
modules-left = cpu_bar sep memory_bar sep filesystem
|
||||
modules-center = bspwm
|
||||
modules-right = network sep pulseaudio sep battery sep date
|
||||
|
||||
spacing = 0
|
||||
separator =
|
||||
dim-value = 1.0
|
||||
tray-position = right
|
||||
tray-detached = false
|
||||
tray-maxsize = 16
|
||||
tray-background = ${color.bg}
|
||||
tray-offset-x = 0
|
||||
tray-offset-y = 0
|
||||
tray-padding = 0
|
||||
tray-scale = 1.0
|
||||
wm-restack = bspwm
|
||||
enable-ipc = true
|
||||
cursor-click = pointer
|
||||
cursor-scroll =
|
||||
|
||||
[settings]
|
||||
screenchange-reload = false
|
||||
compositing-background = source
|
||||
compositing-foreground = over
|
||||
compositing-overline = over
|
||||
compositing-underline = over
|
||||
compositing-border = over
|
||||
pseudo-transparency = false
|
||||
|
||||
; The variables for the polybar modules are taken from this file.
|
||||
|
||||
;; Edit according to your system
|
||||
;; Run `ls -1 /sys/class/power_supply/` to list list batteries and adapters.
|
||||
;; Run `ls -1 /sys/class/backlight/` to list available graphics cards.
|
||||
;; Run `ip link | awk '/state UP/ {print $2}' | tr -d :` to get active network interface.
|
||||
[system]
|
||||
sys_adapter = AC
|
||||
sys_battery = BAT0
|
||||
sys_graphics_card = amdgpu_bl0
|
||||
sys_network_interface = wlan0
|
215
packages/tuxos-bspwm/bspwm/polybar/modules.ini
Normal file
@ -0,0 +1,215 @@
|
||||
[module/bi]
|
||||
type = custom/text
|
||||
content = "%{T5}%{T-}"
|
||||
content-foreground = ${color.mb}
|
||||
content-background = ${color.bg}
|
||||
|
||||
[module/bd]
|
||||
type = custom/text
|
||||
content = "%{T5}%{T-}"
|
||||
content-foreground = ${color.mb}
|
||||
content-background = ${color.bg}
|
||||
|
||||
[module/sep]
|
||||
type = custom/text
|
||||
content = " "
|
||||
content-foreground = ${color.bg}
|
||||
|
||||
######################################################
|
||||
|
||||
[module/cpu_bar]
|
||||
type = internal/cpu
|
||||
interval = 0.5
|
||||
format = <label>
|
||||
format-prefix = ""
|
||||
format-prefix-font = 2
|
||||
format-prefix-background = ${color.mb}
|
||||
format-prefix-foreground = ${color.red}
|
||||
label = " %percentage%%"
|
||||
label-background = ${color.mb}
|
||||
|
||||
######################################################
|
||||
|
||||
[module/memory_bar]
|
||||
type = internal/memory
|
||||
interval = 3
|
||||
format = <label>
|
||||
format-prefix = ""
|
||||
format-prefix-font = 2
|
||||
format-prefix-background = ${color.mb}
|
||||
format-prefix-foreground = ${color.cyan}
|
||||
label = " %used%"
|
||||
label-background = ${color.mb}
|
||||
|
||||
######################################################
|
||||
|
||||
[module/filesystem]
|
||||
type = internal/fs
|
||||
mount-0 = /
|
||||
interval = 60
|
||||
fixed-values = true
|
||||
format-mounted = <label-mounted>
|
||||
format-mounted-prefix = ""
|
||||
format-mounted-prefix-font = 2
|
||||
format-mounted-prefix-background = ${color.mb}
|
||||
format-mounted-prefix-foreground = ${color.amber}
|
||||
format-unmounted = <label-unmounted>
|
||||
format-unmounted-prefix-font = 2
|
||||
format-unmounted-prefix = ""
|
||||
label-mounted = " %used%"
|
||||
label-mounted-background = ${color.mb}
|
||||
label-unmounted = %mountpoint%: not mounted
|
||||
|
||||
######################################################
|
||||
|
||||
[module/bspwm]
|
||||
type = internal/bspwm
|
||||
enable-click = true
|
||||
enable-scroll = true
|
||||
reverse-scroll = true
|
||||
pin-workspaces = true
|
||||
occupied-scroll = false
|
||||
format = <label-state>
|
||||
format-font = 2
|
||||
label-focused =
|
||||
label-focused-background = ${color.mb}
|
||||
label-focused-padding = 1
|
||||
label-focused-foreground = ${color.yellow}
|
||||
label-occupied =
|
||||
label-occupied-padding = 1
|
||||
label-occupied-background = ${color.mb}
|
||||
label-occupied-foreground= ${color.blue}
|
||||
label-urgent = %icon%
|
||||
label-urgent-padding = 0
|
||||
label-empty =
|
||||
label-empty-foreground = ${color.purple}
|
||||
label-empty-padding = 1
|
||||
label-empty-background = ${color.mb}
|
||||
|
||||
######################################################
|
||||
|
||||
[module/network]
|
||||
type = internal/network
|
||||
interface = "wlan0"
|
||||
|
||||
interval = 3.0
|
||||
accumulate-stats = true
|
||||
unknown-as-up = true
|
||||
|
||||
format-connected = <label-connected>
|
||||
format-connected-prefix = " "
|
||||
format-connected-prefix-font = 2
|
||||
format-connected-background = ${color.mb}
|
||||
format-connected-foreground = ${color.green}
|
||||
|
||||
speed-unit = ""
|
||||
label-connected = "%netspeed%"
|
||||
label-connected-background = ${color.mb}
|
||||
label-connected-foreground = ${color.amber}
|
||||
|
||||
format-disconnected = <label-disconnected>
|
||||
format-disconnected-prefix = " "
|
||||
format-disconnected-prefix-font = 2
|
||||
format-disconnected-prefix-background = ${color.mb}
|
||||
format-disconnected-foreground = ${color.red}
|
||||
|
||||
label-disconnected = "Offline"
|
||||
label-disconnected-background = ${color.mb}
|
||||
label-disconnected-foreground = ${color.red}
|
||||
|
||||
|
||||
######################################################
|
||||
|
||||
[module/pulseaudio]
|
||||
type = internal/pulseaudio
|
||||
|
||||
use-ui-max = true
|
||||
interval = 5
|
||||
|
||||
format-volume = <label-volume>
|
||||
format-volume-prefix = " "
|
||||
format-volume-prefix-font = 2
|
||||
format-volume-background = ${color.mb}
|
||||
format-volume-foreground = ${color.indigo}
|
||||
|
||||
label-volume = "%percentage%%"
|
||||
label-volume-background = ${color.mb}
|
||||
label-volume-foreground = ${color.fg}
|
||||
|
||||
format-muted = <label-muted>
|
||||
format-muted-prefix = " "
|
||||
format-muted-prefix-font = 2
|
||||
format-muted-foreground = ${color.indigo}
|
||||
format-muted-background = ${color.mb}
|
||||
label-muted = "Muted"
|
||||
label-muted-foreground = ${color.red}
|
||||
label-muted-background = ${color.mb}
|
||||
|
||||
ramp-volume-0 =
|
||||
ramp-volume-1 =
|
||||
ramp-volume-2 =
|
||||
ramp-volume-3 =
|
||||
ramp-volume-4 =
|
||||
|
||||
click-right = OpenApps --soundcontrol
|
||||
|
||||
######################################################
|
||||
|
||||
[module/battery]
|
||||
type = internal/battery
|
||||
full-at = 99
|
||||
battery = ${system.sys_battery}
|
||||
adapter = ${system.sys_adapter}
|
||||
poll-interval = 2
|
||||
time-format = %H:%M
|
||||
|
||||
format-charging = <animation-charging><label-charging>
|
||||
format-charging-prefix-font = 2
|
||||
format-charging-prefix-foreground = ${color.red}
|
||||
label-charging = " %percentage%%"
|
||||
|
||||
format-discharging = <ramp-capacity><label-discharging>
|
||||
label-discharging = " %percentage%%"
|
||||
|
||||
format-full = <label-full>
|
||||
format-full-prefix =
|
||||
format-full-prefix-font = 2
|
||||
format-full-prefix-foreground = ${color.green}
|
||||
label-full = " %percentage%%"
|
||||
|
||||
ramp-capacity-0 =
|
||||
ramp-capacity-1 =
|
||||
ramp-capacity-2 =
|
||||
ramp-capacity-3 =
|
||||
ramp-capacity-4 =
|
||||
ramp-capacity-foreground = ${color.yellow}
|
||||
ramp-capacity-font = 2
|
||||
|
||||
animation-charging-0 =
|
||||
animation-charging-1 =
|
||||
animation-charging-2 =
|
||||
animation-charging-3 =
|
||||
animation-charging-4 =
|
||||
animation-charging-foreground = ${color.green}
|
||||
animation-charging-font = 2
|
||||
animation-charging-framerate = 700
|
||||
|
||||
######################################################
|
||||
|
||||
[module/date]
|
||||
type = internal/date
|
||||
|
||||
interval = 1.0
|
||||
|
||||
time = %I:%M %P
|
||||
format-background = ${color.mb}
|
||||
format-foreground = ${color.fg}
|
||||
date-alt = "%A, %d %B %Y"
|
||||
|
||||
format = <label>
|
||||
format-prefix = ""
|
||||
format-prefix-font = 2
|
||||
format-prefix-background = ${color.mb}
|
||||
format-prefix-foreground = ${color.blue-gray}
|
||||
|
||||
label = %date% %time%
|
168
packages/tuxos-bspwm/bspwm/powermenu.rasi
Normal file
@ -0,0 +1,168 @@
|
||||
/*****----- Configuration -----*****/
|
||||
configuration {
|
||||
show-icons: false;
|
||||
}
|
||||
|
||||
/*****----- Global Properties -----*****/
|
||||
* {
|
||||
background: #000;
|
||||
background-alt: #000;
|
||||
foreground: #FFFFFFFF;
|
||||
selected: #61AFEFFF;
|
||||
active: #98C379FF;
|
||||
urgent: #E06C75FF;
|
||||
font: "FiraCode Nerd Font Bold 9";
|
||||
}
|
||||
|
||||
/*
|
||||
USE_BUTTONS=YES
|
||||
*/
|
||||
|
||||
/*****----- Main Window -----*****/
|
||||
window {
|
||||
/* properties for window widget */
|
||||
transparency: "real";
|
||||
location: center;
|
||||
anchor: center;
|
||||
fullscreen: false;
|
||||
width: 800px;
|
||||
x-offset: 0px;
|
||||
y-offset: 0px;
|
||||
|
||||
/* properties for all widgets */
|
||||
enabled: true;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
cursor: "default";
|
||||
background-color: @background;
|
||||
}
|
||||
|
||||
/*****----- Main Box -----*****/
|
||||
mainbox {
|
||||
enabled: true;
|
||||
spacing: 15px;
|
||||
margin: 0px;
|
||||
padding: 30px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
background-color: transparent;
|
||||
children: [ "inputbar", "listview" ];
|
||||
}
|
||||
|
||||
/*****----- Inputbar -----*****/
|
||||
inputbar {
|
||||
enabled: true;
|
||||
spacing: 15px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
children: [ "textbox-prompt-colon", "prompt"];
|
||||
}
|
||||
|
||||
dummy {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
textbox-prompt-colon {
|
||||
enabled: true;
|
||||
expand: false;
|
||||
str: "";
|
||||
padding: 12px 16px;
|
||||
border-radius: 0px;
|
||||
background-color: @urgent;
|
||||
text-color: @background;
|
||||
}
|
||||
prompt {
|
||||
enabled: true;
|
||||
padding: 12px;
|
||||
border-radius: 0px;
|
||||
background-color: @active;
|
||||
text-color: @background;
|
||||
}
|
||||
|
||||
/*****----- Message -----*****/
|
||||
message {
|
||||
enabled: true;
|
||||
margin: 0px;
|
||||
padding: 12px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
background-color: @background-alt;
|
||||
text-color: @foreground;
|
||||
}
|
||||
textbox {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
placeholder-color: @foreground;
|
||||
blink: true;
|
||||
markup: true;
|
||||
}
|
||||
error-message {
|
||||
padding: 12px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
|
||||
/*****----- Listview -----*****/
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 5;
|
||||
lines: 1;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
|
||||
spacing: 15px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
cursor: "default";
|
||||
}
|
||||
|
||||
/*****----- Elements -----*****/
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 0px;
|
||||
margin: 0px;
|
||||
padding: 40px 10px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
background-color: @background-alt;
|
||||
text-color: @foreground;
|
||||
cursor: pointer;
|
||||
}
|
||||
element-text {
|
||||
font: "feather bold 32";
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
cursor: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
element selected.normal {
|
||||
background-color: var(selected);
|
||||
text-color: var(background);
|
||||
}
|
101
packages/tuxos-bspwm/bspwm/scripts/PowerMenu
Executable file
@ -0,0 +1,101 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Current Theme
|
||||
dir="$HOME/.config/bspwm/"
|
||||
theme='powermenu'
|
||||
|
||||
# CMDs
|
||||
uptime="`uptime -p | sed -e 's/up //g'`"
|
||||
host=`hostname`
|
||||
|
||||
# Options
|
||||
shutdown=''
|
||||
reboot=''
|
||||
lock=''
|
||||
suspend=''
|
||||
logout=''
|
||||
yes=''
|
||||
no=''
|
||||
|
||||
# Rofi CMD
|
||||
rofi_cmd() {
|
||||
rofi -dmenu \
|
||||
-p "Uptime: $uptime" \
|
||||
-mesg "Uptime: $uptime" \
|
||||
-theme ${dir}/${theme}.rasi
|
||||
}
|
||||
|
||||
# Confirmation CMD
|
||||
confirm_cmd() {
|
||||
rofi -theme-str 'window {location: center; anchor: center; fullscreen: false; width: 350px;}' \
|
||||
-theme-str 'mainbox {children: [ "message", "listview" ];}' \
|
||||
-theme-str 'listview {columns: 2; lines: 1;}' \
|
||||
-theme-str 'element-text {horizontal-align: 0.5;}' \
|
||||
-theme-str 'textbox {horizontal-align: 0.5;}' \
|
||||
-dmenu \
|
||||
-p 'Confirmation' \
|
||||
-mesg 'Are you Sure?' \
|
||||
-theme ${dir}/${theme}.rasi
|
||||
}
|
||||
|
||||
# Ask for confirmation
|
||||
confirm_exit() {
|
||||
echo -e "$yes\n$no" | confirm_cmd
|
||||
}
|
||||
|
||||
# Pass variables to rofi dmenu
|
||||
run_rofi() {
|
||||
echo -e "$lock\n$suspend\n$logout\n$reboot\n$shutdown" | rofi_cmd
|
||||
}
|
||||
|
||||
# Execute Command
|
||||
run_cmd() {
|
||||
selected="$(confirm_exit)"
|
||||
if [[ "$selected" == "$yes" ]]; then
|
||||
if [[ $1 == '--shutdown' ]]; then
|
||||
systemctl poweroff
|
||||
elif [[ $1 == '--reboot' ]]; then
|
||||
systemctl reboot
|
||||
elif [[ $1 == '--suspend' ]]; then
|
||||
mpc -q pause
|
||||
amixer set Master mute
|
||||
systemctl suspend
|
||||
elif [[ $1 == '--logout' ]]; then
|
||||
if [[ "$DESKTOP_SESSION" == 'openbox' ]]; then
|
||||
openbox --exit
|
||||
elif [[ "$DESKTOP_SESSION" == 'bspwm' ]]; then
|
||||
bspc quit
|
||||
elif [[ "$DESKTOP_SESSION" == 'i3' ]]; then
|
||||
i3-msg exit
|
||||
elif [[ "$DESKTOP_SESSION" == 'plasma' ]]; then
|
||||
qdbus org.kde.ksmserver /KSMServer logout 0 0 0
|
||||
fi
|
||||
fi
|
||||
else
|
||||
exit 0
|
||||
fi
|
||||
}
|
||||
|
||||
# Actions
|
||||
chosen="$(run_rofi)"
|
||||
case ${chosen} in
|
||||
$shutdown)
|
||||
run_cmd --shutdown
|
||||
;;
|
||||
$reboot)
|
||||
run_cmd --reboot
|
||||
;;
|
||||
$lock)
|
||||
if [[ -x '/usr/bin/betterlockscreen' ]]; then
|
||||
betterlockscreen -l
|
||||
elif [[ -x '/usr/bin/i3lock' ]]; then
|
||||
i3lock
|
||||
fi
|
||||
;;
|
||||
$suspend)
|
||||
run_cmd --suspend
|
||||
;;
|
||||
$logout)
|
||||
run_cmd --logout
|
||||
;;
|
||||
esac
|
36
packages/tuxos-bspwm/bspwm/scripts/Updates
Normal file
@ -0,0 +1,36 @@
|
||||
get_total_updates() {
|
||||
local total_updates=$(($(checkupdates 2> /dev/null | wc -l || echo 0) + $(paru -Qua 2> /dev/null | wc -l || echo 0)))
|
||||
echo "${total_updates:-0}"
|
||||
}
|
||||
|
||||
get_list_updates() {
|
||||
echo -e "\033[1m\033[34mRegular updates:\033[0m"
|
||||
checkupdates | sed 's/->/\x1b[32;1m\x1b[0m/g'
|
||||
}
|
||||
|
||||
print_updates() {
|
||||
local print_updates=$(get_total_updates)
|
||||
|
||||
if [[ "$print_updates" -gt 0 ]]; then
|
||||
echo -e "\033[1m\033[33mThere are $print_updates updates available:\033[0m\n"
|
||||
get_list_updates
|
||||
else
|
||||
echo -e "\033[1m\033[32mYour system is already updated!\033[0m"
|
||||
fi
|
||||
}
|
||||
|
||||
update_system() {
|
||||
paru -Syu --nocombinedupgrade
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
--get-updates)get_total_updates;;
|
||||
--print-updates)print_updates;;
|
||||
--update-system)update_system;;
|
||||
--help|*)echo -e "Updates [options]
|
||||
|
||||
Options:
|
||||
--get-updates Get the numer of updates available.
|
||||
--print-updates Print the available package to updates.
|
||||
--update-system Update your system including AUR.\n"
|
||||
esac
|
138
packages/tuxos-bspwm/bspwm/sxhkdrc
Normal file
@ -0,0 +1,138 @@
|
||||
# Terminal
|
||||
super + Return
|
||||
kitty
|
||||
|
||||
# Terminal (floating)
|
||||
super + shift + Return
|
||||
kitty
|
||||
|
||||
# Terminal (fullscreen)
|
||||
super + alt + Return
|
||||
kitty
|
||||
|
||||
# Rofi App Launcher
|
||||
super + d
|
||||
rofi -show drun -theme $HOME/.config/bspwm/launcher.rasi
|
||||
|
||||
super + x
|
||||
$HOME/.config/bspwm/scripts/PowerMenu
|
||||
|
||||
# Launch Apps
|
||||
super + shift + {f,w}
|
||||
{thunar,firefox}
|
||||
|
||||
# Lockscreen
|
||||
ctrl + alt + l
|
||||
betterlockscreen --lock
|
||||
|
||||
|
||||
# Take a screenshot
|
||||
Print
|
||||
|
||||
|
||||
# Take screenshot in 5 second
|
||||
alt + Print
|
||||
|
||||
# Take screenshot in 10 second
|
||||
shift + Print
|
||||
|
||||
# Take screenshot of active window
|
||||
ctrl + Print
|
||||
|
||||
# Take screenshot of area
|
||||
super + Print
|
||||
|
||||
# Brighness control
|
||||
XF86MonBrightness{Up,Down}
|
||||
|
||||
# Speaker Volume control
|
||||
XF86Audio{RaiseVolume,LowerVolume}
|
||||
|
||||
# Mic Volume control
|
||||
XF86Audio{Mute,MicMute}
|
||||
|
||||
# Music control
|
||||
XF86Audio{Next,Prev,Play,Stop}
|
||||
|
||||
# Hide/Unhide Window
|
||||
super + shift + h
|
||||
|
||||
# Close App
|
||||
super + {_,shift + }c
|
||||
bspc node -{c,k}
|
||||
|
||||
# kill window
|
||||
ctrl + alt + Escape
|
||||
xkill
|
||||
|
||||
# Quit/Restart bspwm
|
||||
ctrl + shift + {q,r}
|
||||
bspc {quit,wm -r}
|
||||
|
||||
# Reload Keybindings
|
||||
super + Escape
|
||||
pkill -USR1 -x sxhkd
|
||||
|
||||
# Switch workspace
|
||||
ctrl + alt + {Left,Right}
|
||||
bspc desktop -f {prev.local,next.local}
|
||||
|
||||
# Switch workspace or Send focused Node to another workspace
|
||||
super + {_,shift + }{1-8}
|
||||
bspc {desktop -f,node -d} '^{1-8}' '--follow'
|
||||
|
||||
# Send focused Node to workspace directionally
|
||||
super + ctrl + shift + {Left,Right}
|
||||
bspc node -d {prev,next} '--follow'
|
||||
|
||||
# Change focus of the Node or Swap Nodes
|
||||
super + {_,shift + }{Left,Down,Up,Right}
|
||||
bspc node -{f,s} {west,south,north,east}
|
||||
|
||||
# Move floating windows
|
||||
super + alt + shift + {Left,Down,Up,Right}
|
||||
bspc node -v {-20 0,0 20,0 -20,20 0}
|
||||
|
||||
# Expanding windows
|
||||
super + control + {Left,Right,Up,Down}
|
||||
bspc node -z {left -20 0,right 20 0,top 0 -20,bottom 0 20}
|
||||
|
||||
# Shrinking windows
|
||||
super + alt + {Left,Right,Up,Down}
|
||||
bspc node -z {left 20 0,right -20 0,top 0 20,bottom 0 -20}
|
||||
|
||||
# Split horizontal, vertical or cancel
|
||||
super + {h,v,q}
|
||||
bspc node -p {east,south,cancel}
|
||||
|
||||
# Preselect the ratio
|
||||
super + ctrl + {1-9}
|
||||
bspc node -o 0.{1-9}
|
||||
|
||||
# Toggle Layout (Tiled/Monocle)
|
||||
super + l
|
||||
bspc desktop -l next
|
||||
|
||||
# Toggle Fullscreen
|
||||
super + f
|
||||
bspc node -t "~"fullscreen
|
||||
|
||||
# Toggle beetwen floating & tiled
|
||||
super + space
|
||||
bspc node -t "~"{floating,tiled}
|
||||
|
||||
# Pseudo Tiled & tiled mode
|
||||
super + shift + space
|
||||
bspc node -t "~"{pseudo_tiled,tiled}
|
||||
|
||||
# Set the node flags
|
||||
super + ctrl + {m,x,y,z}
|
||||
bspc node -g {marked,locked,sticky,private}
|
||||
|
||||
# Change focus to next window, including floating window
|
||||
alt + {_,shift + }Tab
|
||||
bspc node -f {next.local,prev.local}
|
||||
|
||||
# Switch to last opened workspace
|
||||
super + {Tab,grave}
|
||||
bspc {node,desktop} -f last
|
BIN
packages/tuxos-bspwm/bspwm/wallpapers/cat_leaves.png
Normal file
After Width: | Height: | Size: 1.3 MiB |
BIN
packages/tuxos-bspwm/bspwm/wallpapers/exodus.png
Normal file
After Width: | Height: | Size: 8.4 MiB |
BIN
packages/tuxos-bspwm/bspwm/wallpapers/firewatch.png
Executable file
After Width: | Height: | Size: 2.4 MiB |
24
packages/tuxos-bspwm/tuxos-bspwm.install
Normal file
@ -0,0 +1,24 @@
|
||||
main() {
|
||||
local _user=`echo ${SUDO_USER:-$(whoami)}`
|
||||
local _gid=`echo ${SUDO_GID}`
|
||||
local _group=`cat /etc/group | grep ${_gid} | cut -d: -f1 | head -1`
|
||||
local _dir="/home/${_user}/.config"
|
||||
local _skel='/etc/skel/.config'
|
||||
|
||||
mkdir -p ${_dir}/bspwm
|
||||
cp -rf ${_skel}/bspwm/* ${_dir}/bspwm/
|
||||
chown -R ${_user}:${_group} ${_dir}/bspwm
|
||||
echo -e "tuxOS-bspwm installed successfully"
|
||||
}
|
||||
|
||||
post_install() {
|
||||
main
|
||||
}
|
||||
|
||||
post_upgrade() {
|
||||
main
|
||||
}
|
||||
|
||||
post_remove() {
|
||||
echo -e "Delete config files from home directory manually."
|
||||
}
|
22
packages/tuxos-calamares-config/PKGBUILD
Normal file
@ -0,0 +1,22 @@
|
||||
# Maintainer: tux <0xtux@pm.me>
|
||||
|
||||
pkgname=tuxos-calamares-config
|
||||
pkgver=1.0
|
||||
pkgrel=1
|
||||
pkgdesc="Calamares configuration for tuxOS."
|
||||
arch=('any')
|
||||
license=('GPL')
|
||||
provides=($pkgname)
|
||||
conflicts=($pkgname)
|
||||
depends=()
|
||||
|
||||
prepare() {
|
||||
cp -af ../files/. ${srcdir}
|
||||
}
|
||||
|
||||
package() {
|
||||
# copy all files recursively in /etc/calamares
|
||||
(find calamares -type f -exec install -Dm 644 "{}" "$pkgdir/etc/{}" \;)
|
||||
# make scripts executable
|
||||
chmod 755 "$pkgdir"/etc/calamares/launch.sh
|
||||
}
|
After Width: | Height: | Size: 145 KiB |
@ -0,0 +1,107 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
||||
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||
width="1920.000000pt" height="1080.000000pt" viewBox="0 0 1920.000000 1080.000000"
|
||||
preserveAspectRatio="xMidYMid meet">
|
||||
|
||||
<g transform="translate(0.000000,1080.000000) scale(0.100000,-0.100000)"
|
||||
fill="#000000" stroke="none">
|
||||
<path d="M0 5400 l0 -5400 9600 0 9600 0 0 5400 0 5400 -9600 0 -9600 0 0
|
||||
-5400z m10070 2867 c387 -73 644 -227 912 -547 215 -257 356 -545 432 -885 71
|
||||
-317 128 -473 365 -998 140 -310 155 -358 149 -477 -5 -90 -22 -138 -73 -198
|
||||
-35 -42 -152 -99 -219 -107 l-54 -7 -12 -81 c-29 -198 -124 -430 -233 -570
|
||||
-16 -21 -28 -39 -26 -41 2 -2 24 -14 49 -26 121 -61 180 -130 180 -211 -1
|
||||
-118 -100 -188 -340 -237 -56 -11 -152 -16 -380 -17 -292 -2 -309 -4 -410 -29
|
||||
-232 -58 -356 -70 -710 -71 -283 0 -348 3 -504 23 l-179 23 -76 -20 c-170 -45
|
||||
-364 -45 -603 0 -263 49 -425 134 -444 234 -17 93 34 164 162 226 l83 40 -71
|
||||
82 c-38 45 -95 123 -124 174 -53 89 -144 285 -144 311 0 16 -8 15 -93 -8 -99
|
||||
-28 -224 -36 -283 -20 -71 20 -118 73 -145 161 -42 138 -14 263 120 530 116
|
||||
230 203 361 413 625 204 256 269 370 357 627 181 533 402 909 670 1145 208
|
||||
183 466 311 711 356 109 20 398 16 520 -7z m-2472 -5364 c8 -10 25 -36 38 -58
|
||||
l25 -40 -3 60 -3 60 40 0 40 0 0 -125 0 -125 -42 -3 c-42 -3 -43 -2 -74 52
|
||||
-17 31 -33 56 -35 56 -3 0 -3 -25 0 -56 l6 -55 -43 3 -42 3 -3 119 c-2 89 1
|
||||
122 10 128 19 13 71 1 86 -19z m419 -6 c31 -29 37 -41 40 -88 7 -98 -58 -158
|
||||
-159 -146 -87 11 -118 48 -118 143 0 50 3 59 34 90 32 32 38 34 100 34 61 0
|
||||
69 -3 103 -33z m261 7 c26 -17 30 -65 7 -84 -14 -12 -13 -15 5 -32 25 -23 26
|
||||
-59 2 -88 -15 -19 -31 -23 -104 -27 l-86 -6 -6 89 c-7 111 -3 153 15 165 19
|
||||
14 139 1 167 -17z m297 -7 c42 -42 54 -106 32 -160 -28 -65 -124 -95 -202 -63
|
||||
-41 17 -62 48 -71 102 -15 97 39 154 144 154 59 0 67 -3 97 -33z m270 4 c43
|
||||
-24 62 -86 43 -143 -20 -63 -49 -79 -149 -81 l-84 -2 -3 122 c-2 110 -1 122
|
||||
15 125 37 9 149 -5 178 -21z m150 23 c8 -4 23 -20 31 -36 l16 -30 24 36 c25
|
||||
36 35 39 86 27 l27 -6 -49 -73 c-44 -63 -50 -79 -50 -122 l0 -50 -40 0 -40 0
|
||||
0 50 c0 43 -7 60 -47 121 -38 57 -44 72 -32 80 16 10 50 12 74 3z m433 -3 c30
|
||||
-1 32 -3 32 -36 0 -34 -1 -35 -40 -35 -22 0 -40 -4 -40 -10 0 -5 16 -10 35
|
||||
-10 33 0 35 -2 35 -35 0 -33 -2 -35 -35 -35 -35 0 -35 0 -35 -46 l0 -45 -42 3
|
||||
-43 3 -3 122 c-3 135 -5 131 68 127 19 -1 50 -2 68 -3z m140 0 c9 -5 13 -32
|
||||
13 -78 0 -82 16 -115 46 -97 14 9 19 27 21 91 l3 81 32 6 c47 9 56 -10 53
|
||||
-111 -3 -66 -8 -90 -23 -111 -24 -33 -88 -49 -140 -36 -57 14 -73 46 -79 151
|
||||
-4 80 -2 93 13 102 22 13 44 13 61 2z m302 -13 c11 -12 20 -25 20 -30 0 -17
|
||||
17 -7 28 16 8 17 21 25 54 29 23 3 47 2 51 -2 5 -5 -7 -32 -27 -60 -20 -28
|
||||
-36 -54 -36 -58 0 -4 18 -33 40 -64 22 -32 40 -60 40 -63 0 -3 -22 -6 -49 -6
|
||||
-46 0 -51 3 -71 35 l-22 35 -22 -32 c-19 -28 -28 -33 -69 -36 -26 -2 -47 1
|
||||
-47 5 0 4 18 34 40 66 l41 58 -41 57 c-39 56 -40 57 -18 64 43 12 67 8 88 -14z
|
||||
m346 14 c7 -4 17 -34 24 -67 l13 -60 12 58 c7 32 15 61 19 64 8 8 71 7 85 -1
|
||||
5 -4 13 -27 17 -51 9 -60 21 -65 29 -12 4 24 10 48 13 54 10 15 55 23 71 13
|
||||
16 -10 9 -51 -30 -182 l-21 -68 -42 0 -43 0 -18 67 c-10 37 -20 63 -21 58 -2
|
||||
-6 -10 -36 -19 -67 l-16 -58 -40 0 c-46 0 -46 0 -84 137 -30 112 -30 111 -2
|
||||
116 37 7 42 7 53 -1z m398 2 c13 -5 16 -26 16 -131 l0 -124 -42 3 -43 3 -3
|
||||
114 c-2 75 1 118 9 127 12 15 37 18 63 8z m219 0 c34 -5 37 -8 37 -40 0 -31
|
||||
-3 -34 -30 -34 l-29 0 -3 -87 -3 -88 -42 -3 -43 -3 0 90 0 91 -30 0 c-27 0
|
||||
-30 3 -30 33 0 19 2 36 5 39 7 7 126 9 168 2z m125 0 c18 -5 22 -13 22 -45 0
|
||||
-38 1 -39 34 -39 34 0 35 1 38 43 3 37 6 42 29 45 55 6 65 -30 52 -195 l-5
|
||||
-63 -39 0 -39 0 0 48 c0 47 0 47 -35 49 l-35 3 0 -50 0 -50 -40 0 -40 0 -1 63
|
||||
c-2 113 3 182 15 189 13 9 15 9 44 2z m465 0 c34 -5 37 -8 37 -40 0 -31 -3
|
||||
-34 -30 -34 l-30 0 0 -90 0 -90 -39 0 c-47 0 -51 8 -51 106 l0 74 -30 0 c-27
|
||||
0 -30 3 -30 33 0 19 3 36 6 39 7 8 118 9 167 2z m135 -3 c9 -5 13 -32 13 -78
|
||||
0 -82 16 -115 46 -97 14 9 19 27 21 91 l3 81 32 6 c47 9 56 -10 53 -111 -3
|
||||
-66 -8 -90 -23 -111 -24 -33 -88 -49 -140 -36 -57 14 -73 46 -79 151 -4 80 -2
|
||||
93 13 102 22 13 44 13 61 2z m302 -13 c11 -12 20 -25 20 -30 0 -17 17 -7 28
|
||||
16 8 17 21 25 54 29 23 3 47 2 51 -2 5 -5 -7 -32 -27 -60 -20 -28 -36 -54 -36
|
||||
-58 0 -4 18 -33 40 -64 22 -32 40 -60 40 -63 0 -3 -22 -6 -49 -6 -46 0 -51 3
|
||||
-71 35 l-22 35 -22 -32 c-19 -28 -28 -33 -69 -36 -26 -2 -47 1 -47 5 0 4 18
|
||||
34 40 66 l41 58 -41 57 c-39 56 -40 57 -18 64 43 12 67 8 88 -14z"/>
|
||||
<path d="M9556 8184 c-241 -44 -498 -181 -698 -372 -246 -237 -428 -556 -603
|
||||
-1062 -99 -285 -153 -379 -390 -680 -76 -96 -179 -236 -228 -310 -86 -131
|
||||
-212 -373 -257 -495 -45 -123 -34 -270 25 -325 51 -48 218 -34 390 32 164 63
|
||||
525 246 713 360 35 22 68 38 73 36 21 -8 -313 -211 -556 -338 -66 -35 -129
|
||||
-71 -139 -81 -19 -17 -19 -19 8 -91 33 -90 109 -243 161 -323 21 -33 87 -108
|
||||
147 -167 59 -59 104 -109 99 -112 -4 -3 -45 -19 -89 -35 -307 -114 -311 -211
|
||||
-13 -305 247 -78 561 -90 759 -29 49 16 62 16 180 0 225 -30 342 -37 577 -36
|
||||
300 2 462 20 687 76 99 24 116 26 413 27 258 1 323 5 389 20 170 38 246 82
|
||||
246 141 0 51 -39 88 -160 149 -60 31 -111 60 -114 64 -2 4 9 23 25 42 167 197
|
||||
260 410 288 663 5 42 14 84 21 92 8 10 31 15 65 15 107 0 205 52 245 131 25
|
||||
48 27 153 4 230 -9 30 -74 182 -144 339 -220 490 -280 656 -355 985 -92 405
|
||||
-267 713 -566 1000 -144 138 -278 226 -427 279 -98 35 -250 72 -345 85 -108
|
||||
15 -336 12 -431 -5z m182 -890 c217 -44 417 -214 482 -410 19 -55 22 -82 18
|
||||
-167 -4 -87 -9 -111 -35 -167 -60 -130 -165 -229 -318 -301 -118 -55 -192 -72
|
||||
-320 -72 -166 0 -277 34 -422 130 -137 90 -219 212 -245 363 -42 242 132 497
|
||||
406 597 115 42 304 54 434 27z m1377 -418 c55 -25 121 -91 131 -131 3 -14 4
|
||||
-51 2 -81 -17 -202 -316 -268 -444 -97 -136 180 95 410 311 309z m-469 -545
|
||||
c23 -11 96 -71 162 -134 66 -63 146 -134 179 -158 68 -53 77 -82 42 -151 -57
|
||||
-113 -152 -218 -269 -298 -86 -58 -83 -59 -230 15 -78 39 -205 91 -309 125
|
||||
-219 73 -418 153 -440 175 -15 15 -14 18 17 44 17 15 94 61 169 102 75 41 198
|
||||
112 273 158 188 116 242 141 310 141 32 0 72 -8 96 -19z m462 -531 c99 -72
|
||||
212 -212 267 -331 13 -30 34 -95 46 -144 28 -117 23 -308 -10 -430 -83 -302
|
||||
-305 -578 -606 -752 -390 -226 -1044 -304 -1658 -197 -279 48 -572 177 -671
|
||||
295 -64 76 -80 187 -48 341 61 296 302 621 610 826 146 96 357 205 519 268
|
||||
265 102 333 107 546 38 195 -63 356 -128 455 -181 70 -38 90 -45 122 -40 79
|
||||
10 257 159 333 280 20 31 41 57 45 57 5 0 27 -13 50 -30z"/>
|
||||
<path d="M9451 7238 c-182 -25 -328 -117 -420 -263 -56 -89 -60 -109 -26 -145
|
||||
16 -17 46 -41 66 -56 l39 -26 -20 -26 c-49 -62 -2 -152 80 -152 50 0 86 31 95
|
||||
84 4 20 10 36 14 36 3 0 85 -11 181 -25 215 -32 464 -43 579 -26 139 21 147
|
||||
30 132 147 -23 177 -119 304 -294 391 -120 60 -276 83 -426 61z"/>
|
||||
<path d="M10930 6825 c-67 -31 -123 -103 -100 -130 6 -8 21 -15 32 -17 12 -2
|
||||
29 -16 38 -33 14 -25 23 -30 56 -30 31 0 41 5 51 25 10 21 24 27 95 40 58 11
|
||||
84 20 86 31 4 22 -38 80 -76 102 -44 26 -137 32 -182 12z"/>
|
||||
<path d="M7882 2838 c-14 -14 -16 -57 -3 -76 5 -8 22 -12 41 -10 26 2 35 9 40
|
||||
28 11 41 -5 70 -38 70 -15 0 -33 -5 -40 -12z"/>
|
||||
<path d="M8180 2846 c0 -9 7 -16 16 -16 17 0 14 22 -4 28 -7 2 -12 -3 -12 -12z"/>
|
||||
<path d="M8180 2755 c0 -10 7 -15 18 -13 21 4 19 22 -2 26 -10 2 -16 -3 -16
|
||||
-13z"/>
|
||||
<path d="M8441 2836 c-7 -8 -11 -30 -9 -48 3 -29 7 -33 37 -36 20 -2 37 2 42
|
||||
10 13 19 11 62 -3 76 -16 16 -53 15 -67 -2z"/>
|
||||
<path d="M8740 2800 c0 -46 2 -50 23 -50 13 0 28 5 35 12 29 29 2 88 -39 88
|
||||
-16 0 -19 -7 -19 -50z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 7.2 KiB |
@ -0,0 +1,227 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Product branding information. This influences some global
|
||||
# user-visible aspects of Calamares, such as the product
|
||||
# name, window behavior, and the slideshow during installation.
|
||||
#
|
||||
# Additional styling can be done using the stylesheet.qss
|
||||
# file, also in the branding directory.
|
||||
---
|
||||
componentName: tuxOS
|
||||
|
||||
|
||||
### WELCOME / OVERALL WORDING
|
||||
#
|
||||
# These settings affect some overall phrasing and looks,
|
||||
# which are most visible in the welcome page.
|
||||
|
||||
# This selects between different welcome texts. When false, uses
|
||||
# the traditional "Welcome to the %1 installer.", and when true,
|
||||
# uses "Welcome to the Calamares installer for %1." This allows
|
||||
# to distinguish this installer from other installers for the
|
||||
# same distribution.
|
||||
welcomeStyleCalamares: false
|
||||
|
||||
# Should the welcome image (productWelcome, below) be scaled
|
||||
# up beyond its natural size? If false, the image does not grow
|
||||
# with the window but remains the same size throughout (this
|
||||
# may have surprising effects on HiDPI monitors).
|
||||
welcomeExpandingLogo: true
|
||||
|
||||
### WINDOW CONFIGURATION
|
||||
#
|
||||
# The settings here affect the placement of the Calamares
|
||||
# window through hints to the window manager and initial
|
||||
# sizing of the Calamares window.
|
||||
|
||||
# Size and expansion policy for Calamares.
|
||||
# - "normal" or unset, expand as needed, use *windowSize*
|
||||
# - "fullscreen", start as large as possible, ignore *windowSize*
|
||||
# - "noexpand", don't expand automatically, use *windowSize*
|
||||
windowExpanding: normal
|
||||
|
||||
# Size of Calamares window, expressed as w,h. Both w and h
|
||||
# may be either pixels (suffix px) or font-units (suffix em).
|
||||
# e.g. "800px,600px"
|
||||
# "60em,480px"
|
||||
# This setting is ignored if "fullscreen" is selected for
|
||||
# *windowExpanding*, above. If not set, use constants defined
|
||||
# in CalamaresUtilsGui, 800x520.
|
||||
windowSize: 1024px,735px
|
||||
|
||||
# Placement of Calamares window. Either "center" or "free".
|
||||
# Whether "center" actually works does depend on the window
|
||||
# manager in use (and only makes sense if you're not using
|
||||
# *windowExpanding* set to "fullscreen").
|
||||
windowPlacement: center
|
||||
|
||||
### PANELS CONFIGURATION
|
||||
#
|
||||
# Calamares has a main content area, and two panels (navigation
|
||||
# and progress / sidebar). The panels can be controlled individually,
|
||||
# or switched off. If both panels are switched off, the layout of
|
||||
# the main content area loses its margins, on the assumption that
|
||||
# you're doing something special.
|
||||
|
||||
# Kind of sidebar (panel on the left, showing progress).
|
||||
# - "widget" or unset, use traditional sidebar (logo, items)
|
||||
# - "none", hide it entirely
|
||||
# - "qml", use calamares-sidebar.qml from branding folder
|
||||
# In addition, you **may** specify a side, separated by a comma,
|
||||
# from the kind. Valid sides are:
|
||||
# - "left" (if not specified, uses this)
|
||||
# - "right"
|
||||
# - "top"
|
||||
# - "bottom"
|
||||
# For instance, "widget,right" is valid; so is "qml", which defaults
|
||||
# to putting the sidebar on the left. Also valid is "qml,top".
|
||||
# While "widget,top" is valid, the widgets code is **not** flexible
|
||||
# and results will be terrible.
|
||||
sidebar: widget
|
||||
|
||||
# Kind of navigation (button panel on the bottom).
|
||||
# - "widget" or unset, use traditional navigation
|
||||
# - "none", hide it entirely
|
||||
# - "qml", use calamares-navigation.qml from branding folder
|
||||
# In addition, you **may** specify a side, separated by a comma,
|
||||
# from the kind. The same sides are valid as for *sidebar*,
|
||||
# except the default is *bottom*.
|
||||
navigation: widget
|
||||
|
||||
|
||||
### STRINGS, IMAGES AND COLORS
|
||||
#
|
||||
# This section contains the "branding proper" of names
|
||||
# and images, rather than global-look settings.
|
||||
|
||||
# These are strings shown to the user in the user interface.
|
||||
# There is no provision for translating them -- since they
|
||||
# are names, the string is included as-is.
|
||||
#
|
||||
# The four Url strings are the Urls used by the buttons in
|
||||
# the welcome screen, and are not shown to the user. Clicking
|
||||
# on the "Support" button, for instance, opens the link supportUrl.
|
||||
# If a Url is empty, the corresponding button is not shown.
|
||||
#
|
||||
# bootloaderEntryName is how this installation / distro is named
|
||||
# in the boot loader (e.g. in the GRUB menu).
|
||||
#
|
||||
# These strings support substitution from /etc/os-release
|
||||
# if KDE Frameworks 5.58 are available at build-time. When
|
||||
# enabled, @{var-name} is replaced by the equivalent value
|
||||
# from os-release. All the supported var-names are in all-caps,
|
||||
# and are listed on the FreeDesktop.org site,
|
||||
# https://www.freedesktop.org/software/systemd/man/os-release.html
|
||||
# Note that ANSI_COLOR and CPE_NAME don't make sense here, and
|
||||
# are not supported (the rest are). Remember to quote the string
|
||||
# if it contains substitutions, or you'll get YAML exceptions.
|
||||
#
|
||||
# The *Url* entries are used on the welcome page, and they
|
||||
# are visible as buttons there if the corresponding *show* keys
|
||||
# are set to "true" (they can also be overridden).
|
||||
strings:
|
||||
productName: tuxOS
|
||||
shortProductName: tuxOS
|
||||
version: 2023.01.1
|
||||
shortVersion: 2023.01.1
|
||||
versionedName: tuxOS
|
||||
shortVersionedName: tuxOS
|
||||
bootloaderEntryName: Arch
|
||||
|
||||
# These images are loaded from the branding module directory.
|
||||
#
|
||||
# productBanner is an optional image, which if present, will be shown
|
||||
# on the welcome page of the application, above the welcome text.
|
||||
# It is intended to have a width much greater than height.
|
||||
# It is displayed at 64px height (also on HiDPI).
|
||||
# Recommended size is 64px tall, and up to 460px wide.
|
||||
# productIcon is used as the window icon, and will (usually) be used
|
||||
# by the window manager to represent the application. This image
|
||||
# should be square, and may be displayed by the window manager
|
||||
# as small as 16x16 (but possibly larger).
|
||||
# productLogo is used as the logo at the top of the left-hand column
|
||||
# which shows the steps to be taken. The image should be square,
|
||||
# and is displayed at 80x80 pixels (also on HiDPI).
|
||||
# productWallpaper is an optional image, which if present, will replace
|
||||
# the normal solid background on every page of the application.
|
||||
# It can be any size and proportion,
|
||||
# and will be tiled to fit the entire window.
|
||||
# For a non-tiled wallpaper, the size should be the same as
|
||||
# the overall window, see *windowSize* above (800x520).
|
||||
# productWelcome is shown on the welcome page of the application in
|
||||
# the middle of the window, below the welcome text. It can be
|
||||
# any size and proportion, and will be scaled to fit inside
|
||||
# the window. Use `welcomeExpandingLogo` to make it non-scaled.
|
||||
# Recommended size is 320x150.
|
||||
#
|
||||
# These filenames can also use substitutions from os-release (see above).
|
||||
images:
|
||||
# productBanner: "banner.png"
|
||||
productIcon: "squid.png"
|
||||
productLogo: "squid.png"
|
||||
# productWallpaper: "wallpaper.png"
|
||||
productWelcome: "1-welcometo.png"
|
||||
|
||||
# Colors for text and background components.
|
||||
#
|
||||
# - sidebarBackground is the background of the sidebar
|
||||
# - sidebarText is the (foreground) text color
|
||||
# - sidebarTextHighlight sets the background of the selected (current) step.
|
||||
# Optional, and defaults to the application palette.
|
||||
# - sidebarSelect is the text color of the selected step.
|
||||
#
|
||||
# These colors can **also** be set through the stylesheet, if the
|
||||
# branding component also ships a stylesheet.qss. Then they are
|
||||
# the corresponding CSS attributes of #sidebarApp.
|
||||
style:
|
||||
SidebarBackground: "#292F34"
|
||||
SidebarText: "#FFFFFF"
|
||||
SidebarTextSelect: "#292F34"
|
||||
SidebarTextHighlight: "#D35400"
|
||||
|
||||
### SLIDESHOW
|
||||
#
|
||||
# The slideshow is displayed during execution steps (e.g. when the
|
||||
# installer is actually writing to disk and doing other slow things).
|
||||
|
||||
# The slideshow can be a QML file (recommended) which can display
|
||||
# arbitrary things -- text, images, animations, or even play a game --
|
||||
# during the execution step. The QML **is** abruptly stopped when the
|
||||
# execution step is done, though, so maybe a game isn't a great idea.
|
||||
#
|
||||
# The slideshow can also be a sequence of images (not recommended unless
|
||||
# you don't want QML at all in your Calamares). The images are displayed
|
||||
# at a rate of 1 every 2 seconds during the execution step.
|
||||
#
|
||||
# To configure a QML file, list a single filename:
|
||||
# slideshow: "show.qml"
|
||||
# To configure images, like the filenames (here, as an inline list):
|
||||
# slideshow: [ "/etc/calamares/slideshow/0.png", "/etc/logo.png" ]
|
||||
slideshow: "show.qml"
|
||||
|
||||
# There are two available APIs for a QML slideshow:
|
||||
# - 1 (the default) loads the entire slideshow when the installation-
|
||||
# slideshow page is shown and starts the QML then. The QML
|
||||
# is never stopped (after installation is done, times etc.
|
||||
# continue to fire).
|
||||
# - 2 loads the slideshow on startup and calls onActivate() and
|
||||
# onLeave() in the root object. After the installation is done,
|
||||
# the show is stopped (first by calling onLeave(), then destroying
|
||||
# the QML components).
|
||||
#
|
||||
# An image slideshow does not need to have the API defined.
|
||||
slideshowAPI: 2
|
||||
|
||||
|
||||
# These options are to customize online uploading of logs to pastebins:
|
||||
# - type : Defines the kind of pastebin service to be used. Currently
|
||||
# it accepts two values:
|
||||
# - none : disables the pastebin functionality
|
||||
# - fiche : use fiche pastebin server
|
||||
# - url : Defines the address of pastebin service to be used.
|
||||
# Takes string as input. Important bits are the host and port,
|
||||
# the scheme is not used.
|
||||
uploadServer :
|
||||
type : "fiche"
|
||||
url : "http://termbin.com:9999"
|
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="ar">
|
||||
<context>
|
||||
<name>show</name>
|
||||
<message>
|
||||
<location filename="../show.qml" line="64"/>
|
||||
<source>This is a second Slide element.</source>
|
||||
<translation>عرض الثاني</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../show.qml" line="68"/>
|
||||
<source>This is a third Slide element.</source>
|
||||
<translation>عرض الثالث</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="en">
|
||||
<context>
|
||||
<name>show</name>
|
||||
<message>
|
||||
<location filename="../show.qml" line="64"/>
|
||||
<source>This is a second Slide element.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../show.qml" line="68"/>
|
||||
<source>This is a third Slide element.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="eo">
|
||||
<context>
|
||||
<name>show</name>
|
||||
<message>
|
||||
<location filename="../show.qml" line="64"/>
|
||||
<source>This is a second Slide element.</source>
|
||||
<translation>Ĉi tio estas la dua gliteja.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../show.qml" line="68"/>
|
||||
<source>This is a third Slide element.</source>
|
||||
<translation>Ĉi tio estas la tria gliteja.</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="fr">
|
||||
<context>
|
||||
<name>show</name>
|
||||
<message>
|
||||
<location filename="../show.qml" line="64"/>
|
||||
<source>This is a second Slide element.</source>
|
||||
<translation>Ceci est la deuxieme affiche.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../show.qml" line="68"/>
|
||||
<source>This is a third Slide element.</source>
|
||||
<translation>La troisième affice ce trouve ici.</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="nl">
|
||||
<context>
|
||||
<name>show</name>
|
||||
<message>
|
||||
<location filename="../show.qml" line="64"/>
|
||||
<source>This is a second Slide element.</source>
|
||||
<translation>Dit is het tweede Dia element.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../show.qml" line="68"/>
|
||||
<source>This is a third Slide element.</source>
|
||||
<translation>Dit is het derde Dia element.</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
After Width: | Height: | Size: 84 KiB |
@ -0,0 +1,2 @@
|
||||
SPDX-FileCopyrightText: 2015 Teo Mrnjavac <teo@kde.org>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
@ -0,0 +1,97 @@
|
||||
/* === This file is part of Calamares - <https://calamares.io> ===
|
||||
*
|
||||
* SPDX-FileCopyrightText: 2015 Teo Mrnjavac <teo@kde.org>
|
||||
* SPDX-FileCopyrightText: 2018 Adriaan de Groot <groot@kde.org>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*
|
||||
* Calamares is Free Software: see the License-Identifier above.
|
||||
*
|
||||
*/
|
||||
|
||||
import QtQuick 2.0;
|
||||
import calamares.slideshow 1.0;
|
||||
|
||||
Presentation
|
||||
{
|
||||
id: presentation
|
||||
|
||||
function nextSlide() {
|
||||
console.log("QML Component (default slideshow) Next slide");
|
||||
presentation.goToNextSlide();
|
||||
}
|
||||
|
||||
Timer {
|
||||
id: advanceTimer
|
||||
interval: 5000
|
||||
running: presentation.activatedInCalamares
|
||||
repeat: true
|
||||
onTriggered: nextSlide()
|
||||
}
|
||||
|
||||
Slide {
|
||||
|
||||
anchors.fill: parent
|
||||
anchors.verticalCenterOffset: 0
|
||||
|
||||
Image {
|
||||
id: background1
|
||||
source: "1-welcometo.png"
|
||||
width: parent.width; height: parent.height
|
||||
horizontalAlignment: Image.AlignCenter
|
||||
verticalAlignment: Image.AlignTop
|
||||
fillMode: Image.Stretch
|
||||
anchors.fill: parent
|
||||
}
|
||||
|
||||
Text {
|
||||
anchors.horizontalCenter: background.horizontalCenter
|
||||
anchors.top: background.bottom
|
||||
text: "Welcome to"
|
||||
wrapMode: Text.WordWrap
|
||||
width: presentation.width
|
||||
horizontalAlignment: Text.Center
|
||||
}
|
||||
}
|
||||
|
||||
Slide {
|
||||
|
||||
anchors.fill: parent
|
||||
anchors.verticalCenterOffset: 0
|
||||
|
||||
Image {
|
||||
id: background2
|
||||
source: "2-alci.png"
|
||||
width: parent.width; height: parent.height
|
||||
horizontalAlignment: Image.AlignCenter
|
||||
verticalAlignment: Image.AlignTop
|
||||
fillMode: Image.Stretch
|
||||
anchors.fill: parent
|
||||
}
|
||||
|
||||
Text {
|
||||
anchors.horizontalCenter: background.horizontalCenter
|
||||
anchors.top: background.bottom
|
||||
text: "ALCI"
|
||||
wrapMode: Text.WordWrap
|
||||
width: presentation.width
|
||||
horizontalAlignment: Text.Center
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// When this slideshow is loaded as a V1 slideshow, only
|
||||
// activatedInCalamares is set, which starts the timer (see above).
|
||||
//
|
||||
// In V2, also the onActivate() and onLeave() methods are called.
|
||||
// These example functions log a message (and re-start the slides
|
||||
// from the first).
|
||||
function onActivate() {
|
||||
console.log("QML Component (default slideshow) activated");
|
||||
presentation.currentSlide = 0;
|
||||
}
|
||||
|
||||
function onLeave() {
|
||||
console.log("QML Component (default slideshow) deactivated");
|
||||
}
|
||||
|
||||
}
|
After Width: | Height: | Size: 62 KiB |
@ -0,0 +1,2 @@
|
||||
SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
@ -0,0 +1,282 @@
|
||||
/*
|
||||
|
||||
A branding component can ship a stylesheet (like this one)
|
||||
which is applied to parts of the Calamares user-interface.
|
||||
In principle, all parts can be styled through CSS.
|
||||
Missing parts should be filed as issues.
|
||||
|
||||
The IDs are based on the object names in the C++ code.
|
||||
You can use the Debug Dialog to find out object names:
|
||||
- Open the debug dialog
|
||||
- Choose tab *Tools*
|
||||
- Click *Widget Tree* button
|
||||
The list of object names is printed in the log.
|
||||
|
||||
Documentation for styling Qt Widgets through a stylesheet
|
||||
can be found at
|
||||
https://doc.qt.io/qt-5/stylesheet-examples.html
|
||||
https://doc.qt.io/qt-5/stylesheet-reference.html
|
||||
In Calamares, styling widget classes is supported (e.g.
|
||||
using `QComboBox` as a selector).
|
||||
|
||||
This example stylesheet has all the actual styling commented out.
|
||||
The examples are not exhaustive.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
/* ########## MAIN APPLICATION WINDOW ########## */
|
||||
|
||||
#mainApp {
|
||||
}
|
||||
|
||||
#mainText{
|
||||
font : bold 16px;
|
||||
}
|
||||
|
||||
#sidebarApp {
|
||||
|
||||
}
|
||||
|
||||
#logoApp {
|
||||
}
|
||||
|
||||
#sidebarMenuApp {
|
||||
padding: 3px;
|
||||
background-color: #292F34;
|
||||
}
|
||||
|
||||
QWidget {
|
||||
font: 16px;
|
||||
}
|
||||
|
||||
QTextEdit, QListView {
|
||||
}
|
||||
QDialogButtonBox {
|
||||
}
|
||||
QAbstractSpinBox {
|
||||
}
|
||||
QListWidget::item:alternate {
|
||||
}
|
||||
|
||||
|
||||
#debugButton {
|
||||
font: bold 8px;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
|
||||
/* ########## TOOLTIP ########## */
|
||||
|
||||
|
||||
|
||||
QPushButton {
|
||||
font : 16px;
|
||||
}
|
||||
|
||||
QDialogButtonBox {
|
||||
dialogbuttonbox-buttons-have-icons: 0;
|
||||
}
|
||||
|
||||
|
||||
/* ########## QLIST VIEW ########## */
|
||||
|
||||
QListView {
|
||||
font: 16px;
|
||||
}
|
||||
|
||||
|
||||
/* ########## QLINE EDIT ########## */
|
||||
|
||||
QLineEdit#LE_TestKeyboard {
|
||||
font: 16px;
|
||||
}
|
||||
|
||||
QLineEdit#m_passphraseLineEdit, QLineEdit#vgName,
|
||||
QLineEdit#m_confirmLineEdit {
|
||||
font: 16px;
|
||||
}
|
||||
|
||||
QLineEdit#textBoxUserVerifiedPassword, QLineEdit#textBoxVerifiedRootPassword {
|
||||
font: 16px;
|
||||
}
|
||||
|
||||
QLineEdit#textBoxFullName, QLineEdit#textBoxLoginName, QLineEdit#textBoxHostName,
|
||||
QLineEdit#textBoxUserPassword, QLineEdit#textBoxRootPassword {
|
||||
font: 16px;
|
||||
}
|
||||
|
||||
#textBoxFullName, #textBoxLoginName, #textBoxHostName, #textBoxUserPassword,
|
||||
#textBoxRootPassword, #textBoxAutoLogin, #vgName {
|
||||
font: 16px;
|
||||
}
|
||||
|
||||
#textBoxUserVerifiedPassword, #textBoxVerifiedRootPassword,
|
||||
#LE_TestKeyboard, #m_confirmLineEdit, #m_passphraseLineEdit {
|
||||
font: 16px;
|
||||
}
|
||||
|
||||
/* ##########PARTITION ########## */
|
||||
|
||||
#partResizerWidget {
|
||||
font: 16px;
|
||||
}
|
||||
|
||||
/* ########## PAGE_USERSETUP ########## */
|
||||
|
||||
#labelWhatIsYourName {
|
||||
font: 16px;
|
||||
}
|
||||
#textBoxFullName {
|
||||
font: 16px;
|
||||
}
|
||||
#labelFullName {
|
||||
font: 16px;
|
||||
}
|
||||
#labelFullNameError {
|
||||
font: 16px;
|
||||
}
|
||||
#username_label_2 {
|
||||
font: 16px;
|
||||
}
|
||||
#textBoxLoginName {
|
||||
font: 16px;
|
||||
}
|
||||
#labelUsername {
|
||||
font: 16px;
|
||||
}
|
||||
#labelUsernameError {
|
||||
font: 16px;
|
||||
}
|
||||
#hostname_label_2 {
|
||||
font: 16px;
|
||||
}
|
||||
#textBoxHostName {
|
||||
font: 16px;
|
||||
}
|
||||
#labelHostname {
|
||||
font: 16px;
|
||||
}
|
||||
#labelHostnameError {
|
||||
font: 16px;
|
||||
}
|
||||
#password_label_2 {
|
||||
font: 16px;
|
||||
}
|
||||
#textBoxUserPassword {
|
||||
font: 16px;
|
||||
}
|
||||
#textBoxUserVerifiedPassword {
|
||||
font: 16px;
|
||||
}
|
||||
#labelUserPassword {
|
||||
font: 16px;
|
||||
}
|
||||
#labelUserPasswordError {
|
||||
font: 16px;
|
||||
}
|
||||
#checkBoxRequireStrongPassword {
|
||||
font: 16px;
|
||||
}
|
||||
#checkBoxDoAutoLogin {
|
||||
font: 16px;
|
||||
}
|
||||
#checkBoxReusePassword {
|
||||
font: 16px;
|
||||
}
|
||||
#labelChooseRootPassword {
|
||||
font: 16px;
|
||||
}
|
||||
#textBoxRootPassword {
|
||||
font: 16px;
|
||||
}
|
||||
#textBoxVerifiedRootPassword {
|
||||
font: 16px;
|
||||
}
|
||||
#labelRootPassword {
|
||||
font: 16px;
|
||||
}
|
||||
#labelRootPasswordError {
|
||||
font: 16px;
|
||||
}
|
||||
|
||||
/* ########## COMBO BOX ########## */
|
||||
|
||||
QComboBox {
|
||||
font: 16px;
|
||||
}
|
||||
|
||||
#mountPointComboBox::drop-down {
|
||||
font: 16px;
|
||||
}
|
||||
|
||||
/* ########## SPIN BOX ########## */
|
||||
|
||||
QSpinBox {
|
||||
font: 16px;
|
||||
}
|
||||
|
||||
QLineEdit {
|
||||
font: 16px;
|
||||
}
|
||||
|
||||
/* ########## TREE VIEW ########## */
|
||||
|
||||
QTreeView {
|
||||
font: 16px;
|
||||
show-decoration-selected: 0;
|
||||
}
|
||||
|
||||
QTreeView::item {
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
QTreeView::branch:has-siblings:!adjoins-item {
|
||||
}
|
||||
QTreeView::branch:has-siblings:adjoins-item {
|
||||
}
|
||||
QTreeView::branch:!has-children:!has-siblings:adjoins-item {
|
||||
}
|
||||
QTreeView::branch:has-children:!has-siblings:closed,
|
||||
QTreeView::branch:closed:has-children:has-siblings {
|
||||
}
|
||||
QTreeView::branch:open:has-children:!has-siblings,
|
||||
QTreeView::branch:open:has-children:has-siblings {
|
||||
}
|
||||
|
||||
/* ########## CHECK BOX ########## */
|
||||
|
||||
QCheckBox {
|
||||
}
|
||||
QCheckBox::indicator:unchecked {
|
||||
}
|
||||
QCheckBox::indicator:checked {
|
||||
}
|
||||
QItemSelectionModel::Select {
|
||||
}
|
||||
|
||||
/* ########## HEADER VIEW ########## */
|
||||
|
||||
QHeaderView::section {
|
||||
font : 16px;
|
||||
}
|
||||
|
||||
#debugButton {
|
||||
background-color: none;
|
||||
font: 12px;
|
||||
color: #edecf0;
|
||||
height: 32px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#debugButton:hover {
|
||||
color: #ff7f7f;
|
||||
}
|
||||
|
||||
#aboutButton {
|
||||
background-color: none;
|
||||
font: 12px;
|
||||
color: #edecf0;
|
||||
height: 32px;
|
||||
border: none;
|
||||
}
|
13
packages/tuxos-calamares-config/files/calamares/launch.sh
Executable file
@ -0,0 +1,13 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
## Check if booted using 'Copy to RAM' mode
|
||||
DIR="/etc/calamares"
|
||||
KERNEL=`uname -r`
|
||||
|
||||
if [[ -d "/run/archiso/copytoram" ]]; then
|
||||
sudo sed -i -e 's|/run/archiso/bootmnt/arch/x86_64/airootfs.sfs|/run/archiso/copytoram/airootfs.sfs|g' "$DIR"/modules/unpackfs.conf
|
||||
sudo sed -i -e "s|/run/archiso/bootmnt/arch/boot/x86_64/vmlinuz-linux|/usr/lib/modules/$KERNEL/vmlinuz|g" "$DIR"/modules/unpackfs.conf
|
||||
fi
|
||||
|
||||
## Launch calamare installer accordingly
|
||||
pkexec calamares -d -style kvantum
|
@ -0,0 +1,27 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Bootloader configuration.
|
||||
|
||||
# Bootloader to use for EFI installations (grub, sb-shim, systemd-boot)
|
||||
efiBootLoader: "grub"
|
||||
|
||||
# systemd-boot configuration
|
||||
kernel: "/vmlinuz-linux"
|
||||
img: "/initramfs-linux.img"
|
||||
fallback: "/initramfs-linux-fallback.img"
|
||||
timeout: "10"
|
||||
bootloaderEntryName: "tuxOS"
|
||||
kernelLine: ", with Default Kernel"
|
||||
fallbackKernelLine: ", with Default Kernel (fallback)"
|
||||
|
||||
# GRUB 2 binary names and boot directory
|
||||
# These names are also used when using sb-shim
|
||||
grubInstall: "grub-install"
|
||||
grubMkconfig: "grub-mkconfig"
|
||||
grubCfg: "/boot/grub/grub.cfg"
|
||||
grubProbe: "grub-probe"
|
||||
efiBootMgr: "efibootmgr"
|
||||
|
||||
# Install a copy of the GRUB EFI bootloader as the EFI fallback loader
|
||||
installEFIFallback: true
|
@ -0,0 +1,9 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration for the "finished" page, which is usually shown only at
|
||||
# the end of the installation (successful or not).
|
||||
|
||||
restartNowMode: user-unchecked
|
||||
restartNowCommand: "systemctl -i reboot"
|
||||
notifyOnFinished: false
|
@ -0,0 +1,29 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Create, overwrite or update /etc/default/grub in the target system.
|
||||
|
||||
# If set to true, always creates /etc/default/grub from scratch even if the file
|
||||
# already existed. If set to false, edits the existing file instead.
|
||||
overwrite: false
|
||||
|
||||
# If set to true, prefer to write files in /etc/default/grub.d/
|
||||
# rather than the single file /etc/default/grub. If this is set,
|
||||
# Calamares will write /etc/default/grub.d/00Calamares instead.
|
||||
prefer_grub_d: false
|
||||
|
||||
# If set to true, an **existing** setting for GRUB_DISTRIBUTOR is
|
||||
# kept, not updated to the *bootloaderEntryName* from the branding file.
|
||||
# Use this if the GRUB_DISTRIBUTOR setting in the file is "smart" in
|
||||
# some way (e.g. uses shell-command substitution).
|
||||
keepDistributor: false
|
||||
|
||||
# Default entries to write to /etc/default/grub if it does not exist yet or if
|
||||
# we are overwriting it.
|
||||
#
|
||||
defaults:
|
||||
GRUB_TIMEOUT: 10
|
||||
GRUB_DEFAULT: saved
|
||||
GRUB_DISABLE_SUBMENU: false
|
||||
GRUB_TERMINAL_OUTPUT: "console"
|
||||
GRUB_DISABLE_RECOVERY: false
|
@ -0,0 +1,12 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Run mkinitcpio(8) with the given preset value
|
||||
|
||||
# This key defines the kernel to be loaded.
|
||||
kernel: linux
|
||||
|
||||
# Set this to true to turn off mitigations for lax file
|
||||
# permissions on initramfs (which, in turn, can compromise
|
||||
# your LUKS encryption keys, CVS-2019-13179).
|
||||
be_unsafe: false
|
@ -0,0 +1,31 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
|
||||
# Which package manager to use
|
||||
backend: pacman
|
||||
|
||||
skip_if_no_internet: true
|
||||
update_db: false
|
||||
update_system: false
|
||||
|
||||
# post_install script does that.
|
||||
operations:
|
||||
- try_remove:
|
||||
- ac-installer
|
||||
- tuxos-calamares
|
||||
- tuxos-calamares-config
|
||||
- plasma-framework
|
||||
- kpmcore
|
||||
- yaml-cpp
|
||||
- mkinitcpio-archiso
|
||||
- boost
|
||||
- ckbcomp
|
||||
- hwinfo
|
||||
- qt5-xmlpatterns
|
||||
- kconfig
|
||||
- kcoreaddons
|
||||
- kiconthemes
|
||||
- ki18n
|
||||
- kio
|
||||
- solid
|
@ -0,0 +1,50 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# This setting specifies the mount point of the EFI system partition. Some
|
||||
# distributions (Fedora, Debian, Manjaro, etc.) use /boot/efi, others (KaOS,
|
||||
# etc.) use just /boot.
|
||||
#
|
||||
# Defaults to "/boot/efi", may be empty (but weird effects ensue)
|
||||
efiSystemPartition: "/boot/efi"
|
||||
|
||||
# Size of the EFI system partition, default : 300MiB
|
||||
efiSystemPartitionSize: 512M
|
||||
|
||||
# Name of the EFI system partition
|
||||
efiSystemPartitionName: EFI
|
||||
|
||||
# In autogenerated partitioning, allow the user to select a swap size?
|
||||
userSwapChoices:
|
||||
- none # Create no swap, use no swap
|
||||
- small # Up to 4GB
|
||||
- suspend # At least main memory size
|
||||
- file # To swap file instead of partition
|
||||
|
||||
# Name of the swap partition
|
||||
swapPartitionName: swap
|
||||
|
||||
# Correctly draw nested (e.g. logical) partitions as such.
|
||||
drawNestedPartitions: false
|
||||
|
||||
# Show/hide partition labels on manual partitioning page.
|
||||
alwaysShowPartitionLabels: true
|
||||
|
||||
# Allow manual partitioning.
|
||||
allowManualPartitioning: true
|
||||
|
||||
# Initial selection on the Choice page
|
||||
initialPartitioningChoice: none
|
||||
initialSwapChoice: none
|
||||
|
||||
# Default partition table type, used when a "erase" disk is made.
|
||||
#defaultPartitionTableType: gpt
|
||||
|
||||
# Default filesystem type, used when a "new" partition is made.
|
||||
defaultFileSystemType: "ext4"
|
||||
|
||||
# Show/hide LUKS related functionality in automated partitioning modes.
|
||||
enableLuksAutomatedPartitioning: true
|
||||
|
||||
# Filesystem type choice, When user select Erase Disk.
|
||||
availableFileSystemTypes: ["ext4","btrfs","xfs","jfs","reiser"]
|
@ -0,0 +1,12 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration for the preserve-files job
|
||||
---
|
||||
|
||||
dontChroot: true
|
||||
|
||||
files:
|
||||
- from: log
|
||||
dest: /var/log/Calamares.log
|
||||
perm: root:wheel:600
|
@ -0,0 +1,7 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Removes a single user (with userdel) from the system.
|
||||
|
||||
# Username in the target system to be removed.
|
||||
username: liveuser
|
@ -0,0 +1,18 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration for the shell process job.
|
||||
|
||||
# Set to true to run in host, rather than target system
|
||||
dontChroot: true
|
||||
|
||||
# Tune this for the commands you're actually running
|
||||
timeout: 999
|
||||
|
||||
# Commands
|
||||
script:
|
||||
#- command: "/usr/bin/post_install.sh"
|
||||
|
||||
# Description of the job
|
||||
i18n:
|
||||
name: "Settings up configuration and cleaning up... "
|
@ -0,0 +1,18 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration for the shell process job.
|
||||
|
||||
# Set to true to run in host, rather than target system
|
||||
dontChroot: true
|
||||
|
||||
# Tune this for the commands you're actually running
|
||||
timeout: 999
|
||||
|
||||
# Commands
|
||||
script:
|
||||
#- command: "/usr/bin/post_install_nvidia.sh"
|
||||
|
||||
# Description of the job
|
||||
i18n:
|
||||
name: "Enabling kernel mode setting (kms)..."
|
@ -0,0 +1,13 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Unsquash / unpack a filesystem. Multiple sources are supported, and
|
||||
# they may be squashed or plain filesystems.
|
||||
|
||||
unpack:
|
||||
- source: "/run/archiso/bootmnt/arch/x86_64/airootfs.sfs"
|
||||
sourcefs: "squashfs"
|
||||
destination: ""
|
||||
- source: "/run/archiso/bootmnt/arch/boot/x86_64/vmlinuz-linux"
|
||||
sourcefs: "file"
|
||||
destination: "/boot/vmlinuz-linux"
|
@ -0,0 +1,63 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration for the one-user-system user module.
|
||||
|
||||
# Used as default groups for the created user.
|
||||
defaultGroups:
|
||||
- name: users
|
||||
must_exist: true
|
||||
system: true
|
||||
- lp
|
||||
- power
|
||||
- video
|
||||
- network
|
||||
- storage
|
||||
- name: wheel
|
||||
must_exist: false
|
||||
system: true
|
||||
- audio
|
||||
- sys
|
||||
- optical
|
||||
- scanner
|
||||
- rfkill
|
||||
|
||||
# Some Distributions require a 'autologin' group for the user.
|
||||
autologinGroup: autologin
|
||||
|
||||
# Check Autologin checkbox by default?
|
||||
doAutologin: false
|
||||
|
||||
# Sudoers group
|
||||
sudoersGroup: wheel
|
||||
|
||||
# Setting this to false, causes the root account to be disabled.
|
||||
setRootPassword: true
|
||||
|
||||
# When checked, the user password is used for the root account too.
|
||||
doReusePassword: true
|
||||
|
||||
# These are optional password-requirements that a distro can enforce
|
||||
# on the user.
|
||||
passwordRequirements:
|
||||
nonempty: true
|
||||
# minLength: -1 # Password at least this many characters
|
||||
# maxLength: -1 # Password at most this many characters
|
||||
# libpwquality:
|
||||
# - minlen=0
|
||||
# - minclass=0
|
||||
|
||||
# You can control the visibility of the 'strong passwords' checkbox here.
|
||||
allowWeakPasswords: false
|
||||
|
||||
# You can control the initial state for the 'strong passwords' checkbox here.
|
||||
allowWeakPasswordsDefault: true
|
||||
|
||||
# Shell to be used for the regular user of the target system.
|
||||
userShell: /bin/zsh
|
||||
|
||||
# Hostname setting
|
||||
setHostname: EtcFile
|
||||
|
||||
# Should /etc/hosts be written with a hostname for this machine
|
||||
writeHostsFile: true
|
@ -0,0 +1,38 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration for the welcome module.
|
||||
|
||||
# Show Links from the branding file.
|
||||
showSupportUrl: false
|
||||
showKnownIssuesUrl: false
|
||||
showReleaseNotesUrl: false
|
||||
showDonateUrl: false
|
||||
|
||||
# Requirements checking.
|
||||
requirements:
|
||||
requiredStorage: 8.0
|
||||
|
||||
requiredRam: 1.0
|
||||
|
||||
internetCheckUrl: http://example.com
|
||||
|
||||
check:
|
||||
- storage
|
||||
- ram
|
||||
- power
|
||||
- root
|
||||
- screen
|
||||
|
||||
required:
|
||||
- ram
|
||||
- root
|
||||
|
||||
# GeoIP checking
|
||||
geoip:
|
||||
style: "none"
|
||||
url: "https://geoip.kde.org/v1/ubiquity" # extended XML format
|
||||
selector: "CountryCode" # blank uses default, which is wrong
|
||||
|
||||
# User interface
|
||||
languageIcon: /etc/calamares/branding/tuxOS/icons/language.svg
|
@ -0,0 +1,75 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration file for Calamares
|
||||
|
||||
## Modules
|
||||
modules-search: [ local ]
|
||||
|
||||
## Instances
|
||||
instances:
|
||||
- id: kms
|
||||
module: shellprocess
|
||||
config: shellprocess_kms.conf
|
||||
|
||||
## Sequence
|
||||
sequence:
|
||||
- show:
|
||||
- welcome
|
||||
- locale
|
||||
- keyboard
|
||||
- partition
|
||||
- users
|
||||
- summary
|
||||
- exec:
|
||||
- partition
|
||||
- mount
|
||||
- unpackfs
|
||||
- machineid
|
||||
- fstab
|
||||
- locale
|
||||
- keyboard
|
||||
- localecfg
|
||||
- luksbootkeyfile
|
||||
- luksopenswaphookcfg
|
||||
- initcpiocfg
|
||||
- shellprocess@kms
|
||||
- initcpio
|
||||
- removeuser
|
||||
- users
|
||||
- displaymanager
|
||||
- networkcfg
|
||||
- hwclock
|
||||
- services-systemd
|
||||
- packages
|
||||
- shellprocess
|
||||
- grubcfg
|
||||
- bootloader
|
||||
- preservefiles
|
||||
- umount
|
||||
- show:
|
||||
- finished
|
||||
|
||||
## Branding
|
||||
branding: tuxOS
|
||||
|
||||
## Whether calamares should show "Are you sure?" prompt right before each execution phase.
|
||||
prompt-install: false
|
||||
|
||||
## Whether use calamares as a post-install configuration tool rather than system installer.
|
||||
dont-chroot: false
|
||||
|
||||
## Whether Calamares should refer itself as a "setup program" rather than an "installer".
|
||||
oem-setup: false
|
||||
|
||||
## Disable the "Cancel" button entirely.
|
||||
disable-cancel: false
|
||||
|
||||
## Disable the "Cancel" button once you start the 'Installation'.
|
||||
disable-cancel-during-exec: false
|
||||
|
||||
## Hide the "Next" and "Back" button once you start the 'Installation'.
|
||||
hide-back-and-next-during-exec: false
|
||||
|
||||
## Quit automatically after 'Installation'.
|
||||
quit-at-end: false
|
8
packages/tuxos-calamares/49-nopasswd-calamares.rules
Normal file
@ -0,0 +1,8 @@
|
||||
/* Allow Calamares to be started without password authentication
|
||||
*/
|
||||
polkit.addRule(function(action, subject) {
|
||||
if ((action.id == "com.github.calamares.calamares.pkexec.run"))
|
||||
{
|
||||
return polkit.Result.YES;
|
||||
}
|
||||
});
|
81
packages/tuxos-calamares/PKGBUILD
Normal file
@ -0,0 +1,81 @@
|
||||
# Maintainer: tux <0xtux@pm.me>
|
||||
|
||||
pkgname=tuxos-calamares
|
||||
_pkgname=calamares
|
||||
pkgver=3.2.61
|
||||
pkgrel=1
|
||||
pkgdesc='Distribution-independent installer framework'
|
||||
arch=('i686' 'x86_64')
|
||||
license=(GPL)
|
||||
url="https://github.com/calamares/calamares/releases"
|
||||
license=('LGPL')
|
||||
depends=('kconfig' 'kcoreaddons' 'kiconthemes' 'ki18n' 'kio' 'solid' 'yaml-cpp' 'kpmcore>=4.2.0' 'mkinitcpio-openswap'
|
||||
'boost-libs' 'ckbcomp' 'hwinfo' 'qt5-svg' 'polkit-qt5' 'gtk-update-icon-cache' 'plasma-framework'
|
||||
'qt5-xmlpatterns' 'squashfs-tools' 'libpwquality' 'efibootmgr' 'icu')
|
||||
conflicts=()
|
||||
makedepends=('extra-cmake-modules' 'qt5-tools' 'qt5-translations' 'git' 'boost')
|
||||
backup=('usr/share/calamares/modules/bootloader.conf'
|
||||
'usr/share/calamares/modules/displaymanager.conf'
|
||||
'usr/share/calamares/modules/initcpio.conf'
|
||||
'usr/share/calamares/modules/unpackfs.conf')
|
||||
|
||||
source=("$_pkgname-$pkgver::$url/download/v$pkgver/$_pkgname-$pkgver.tar.gz"
|
||||
"49-nopasswd-calamares.rules")
|
||||
|
||||
sha256sums=('7591b9b60738bdba7b9de2b8da5462ab21006db06a006f0dd21ac5b832711dd2'
|
||||
'56d85ff6bf860b9559b8c9f997ad9b1002f3fccc782073760eca505e3bddd176')
|
||||
|
||||
pkgver() {
|
||||
cd ${srcdir}/$_pkgname-$pkgver
|
||||
_ver="$(cat CMakeLists.txt | grep -m3 -e " VERSION" | grep -o "[[:digit:]]*" | xargs | sed s'/ /./g')"
|
||||
# _git=".r$(git rev-list --count HEAD).$(git rev-parse --short HEAD)"
|
||||
printf '%s%s' "${_ver}" #"${_git}"
|
||||
}
|
||||
|
||||
prepare() {
|
||||
|
||||
sed -i -e 's/"Install configuration files" OFF/"Install configuration files" ON/' "$srcdir/${_pkgname}-${pkgver}/CMakeLists.txt"
|
||||
sed -i -e 's/# DEBUG_FILESYSTEMS/DEBUG_FILESYSTEMS/' "$srcdir/${_pkgname}-${pkgver}/CMakeLists.txt"
|
||||
sed -i -e "s/desired_size = 512 \* 1024 \* 1024 \# 512MiB/desired_size = 512 \* 1024 \* 1024 \* 4 \# 2048MiB/" "$srcdir/${_pkgname}-${pkgver}/src/modules/fstab/main.py"
|
||||
|
||||
# modify desktop file
|
||||
sed -i -e 's#Exec=sh.*#Exec=sh -c "/etc/calamares/launch.sh"#g' "$srcdir/${_pkgname}-${pkgver}/calamares.desktop"
|
||||
sed -i -e 's#Name=.*#Name=Install tuxOS#g' "$srcdir/${_pkgname}-${pkgver}/calamares.desktop"
|
||||
sed -i -e 's#GenericName=.*#GenericName=System Installer#g' "$srcdir/${_pkgname}-${pkgver}/calamares.desktop"
|
||||
sed -i -e 's#Icon=.*#Icon=tuxOS-green#g' "$srcdir/${_pkgname}-${pkgver}/calamares.desktop"
|
||||
sed -i -e 's#Comment=.*#Comment=tuxOS System Installer#g' "$srcdir/${_pkgname}-${pkgver}/calamares.desktop"
|
||||
|
||||
# add pkgrelease to patch-version
|
||||
cd ${_pkgname}-${pkgver}
|
||||
_patchver="$(cat CMakeLists.txt | grep -m3 -e CALAMARES_VERSION_PATCH | grep -o "[[:digit:]]*" | xargs)"
|
||||
sed -i -e "s|CALAMARES_VERSION_PATCH $_patchver|CALAMARES_VERSION_PATCH $_patchver-$pkgrel|g" CMakeLists.txt
|
||||
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $_pkgname-$pkgver
|
||||
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake .. \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DCMAKE_INSTALL_LIBDIR=lib \
|
||||
-DWITH_PYTHONQT=OFF \
|
||||
-DWITH_KF5DBus=OFF \
|
||||
-DBoost_NO_BOOST_CMAKE=ON \
|
||||
-DWEBVIEW_FORCE_WEBKIT=OFF \
|
||||
-DSKIP_MODULES="webview tracking interactiveterminal initramfs \
|
||||
initramfscfg dracut dracutlukscfg \
|
||||
dummyprocess dummypython dummycpp \
|
||||
dummypythonqt services-openrc \
|
||||
keyboardq localeq welcomeq"
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd ${_pkgname}-${pkgver}/build
|
||||
make DESTDIR="$pkgdir" install
|
||||
install -Dm644 "${srcdir}/49-nopasswd-calamares.rules" "$pkgdir/etc/polkit-1/rules.d/49-nopasswd-calamares.rules"
|
||||
chmod 750 "$pkgdir"/etc/polkit-1/rules.d
|
||||
}
|
19
packages/tuxos-cursor/PKGBUILD
Normal file
@ -0,0 +1,19 @@
|
||||
# Maintainer: tux <0xtux@pm.me>
|
||||
|
||||
pkgname=tuxos-cursor
|
||||
pkgver=2.0.3
|
||||
pkgrel=1
|
||||
pkgdesc="cursor for tuxOS"
|
||||
arch=('any')
|
||||
url="https://github.com/ful1e5/Bibata_Cursor"
|
||||
license=('GPL3')
|
||||
provides=("bibata-cursor-theme-bin" "bibata-cursor-theme")
|
||||
conflicts=("bibata-cursor-theme-bin" "bibata-cursor-theme")
|
||||
options=('!strip')
|
||||
source=("${pkgname%-bin}-$pkgver.tar.gz::$url/releases/download/v$pkgver/Bibata.tar.gz")
|
||||
sha256sums=('1664a1e848707e643362eb772a38f077a4cac6362ca39f5705f59e85128b270c')
|
||||
|
||||
package() {
|
||||
install -d "$pkgdir/usr/share/icons"
|
||||
cp -r Bibata* "$pkgdir/usr/share/icons"
|
||||
}
|
37
packages/tuxos-hooks/PKGBUILD
Normal file
@ -0,0 +1,37 @@
|
||||
# Maintainer: tux <0xtux@pm.me>
|
||||
|
||||
pkgname="tuxos-hooks"
|
||||
pkgver=1.0
|
||||
pkgrel=1
|
||||
pkgdesc='tuxOS hooks'
|
||||
arch=('any')
|
||||
license=('GPL3')
|
||||
|
||||
source=(
|
||||
'tuxos-hooks.hook'
|
||||
'tuxos-os-release.hook'
|
||||
'tuxos-lsb-release.hook'
|
||||
'tuxos-reboot-required.hook'
|
||||
'tuxos-hooks-runner'
|
||||
'tuxos-reboot-required'
|
||||
)
|
||||
|
||||
sha512sums=('bb8aa5fb891f8398b48dea93b74ad266d154bdf08f5ab70f5dddf9dd3e560d4c788c4fac5b7d10b9c4310d18d3509c0752e174b69391d0b5fc0c7cc631294ad0'
|
||||
'8e4a325294b92c27e8921d5002216c106a85341de5837cfde8a090e62f695f41ed5b5c562443965e289c99f64511a58a7d205484001433d5ae568146b0664c1c'
|
||||
'7205fdc0a29ac46725a97192075c6485563496dd354683c96a204c3e6492a3a1ec880dbcc3f192ab0b50741b7f67e6c0e90bc884653a87935610b5532e5ba3db'
|
||||
'4e47bbc391573be11dc607bd0e3e3716896092f88e8615f57260e3c5f96feffcb79437dbb0e5283e733931a1017a1348ba9af37ddf4e3a57e6005d381f9594ce'
|
||||
'8559011b9d5e7cae185746fcc2d76735e1ce0c63cfb4a98db0bd819c8a6dce4f5331ad16f8e6c2ddb5a7ab2f8d3947159a1e4de6a099b6a5d7e9f3acf169c8f1'
|
||||
'3bffb02739f75e41fa346c7700e1b8a51a066ef5593ce1bee997a0da5c1d4c46a373b86c069fbdee4b432f4c71a5846369ec5db9d3120297ffafb81fc7f9126b')
|
||||
|
||||
package() {
|
||||
local hooks=${pkgdir}/usr/share/libalpm/hooks
|
||||
local bin=${pkgdir}/usr/bin
|
||||
|
||||
install -Dm644 tuxos-hooks.hook "$hooks"/tuxos-hooks.hook
|
||||
install -Dm644 tuxos-lsb-release.hook "$hooks"/tuxos-lsb-release.hook
|
||||
install -Dm644 tuxos-os-release.hook "$hooks"/tuxos-os-release.hook
|
||||
install -Dm644 tuxos-reboot-required.hook "$hooks"/tuxos-reboot-required.hook
|
||||
|
||||
install -Dm755 tuxos-hooks-runner "$bin"/tuxos-hooks-runner
|
||||
install -Dm755 tuxos-reboot-required "$bin"/tuxos-reboot-required
|
||||
}
|
53
packages/tuxos-hooks/tuxos-hooks-runner
Executable file
@ -0,0 +1,53 @@
|
||||
#!/bin/bash
|
||||
|
||||
Lsb_release() {
|
||||
local file=/etc/lsb-release
|
||||
|
||||
if [[ -z "`grep "^DISTRIB_RELEASE=" $file`" ]] ; then
|
||||
# add missing DISTRIB_RELEASE=
|
||||
echo "DISTRIB_RELEASE=rolling" >> "$file"
|
||||
fi
|
||||
sed -i "$file" \
|
||||
-e 's|^DISTRIB_ID=.*$|DISTRIB_ID=tuxOS|' \
|
||||
-e 's|^DISTRIB_RELEASE=.*$|DISTRIB_RELEASE=rolling|' \
|
||||
-e 's|^DISTRIB_DESCRIPTION=.*$|DISTRIB_DESCRIPTION=\"tuxOS\"|'
|
||||
}
|
||||
|
||||
Os_release() {
|
||||
local file=/usr/lib/os-release
|
||||
|
||||
sed -i "$file" \
|
||||
-e 's|^NAME=.*$|NAME=\"tuxOS\"|' \
|
||||
-e 's|^PRETTY_NAME=.*$|PRETTY_NAME=\"tuxOS\"|' \
|
||||
-e 's|^ID=.*$|ID=tuxOS|' \
|
||||
-e 's|^ID_LIKE=.*$|ID_LIKE=arch|' \
|
||||
-e 's|^BUILD_ID=.*$|BUILD_ID=rolling|' \
|
||||
-e 's|^HOME_URL=.*$|HOME_URL=\"https://github.com/0xtux/tuxOS\"|' \
|
||||
-e 's|^DOCUMENTATION_URL=.*$|DOCUMENTATION_URL=\"https://github.com/0xtux/tuxOS/wiki\"|' \
|
||||
-e 's|^SUPPORT_URL=.*$|SUPPORT_URL=\"https://github.com/0xtux/tuxOS\"|' \
|
||||
-e 's|^BUG_REPORT_URL=.*$|BUG_REPORT_URL=\"https://github.com/0xtux/tuxOS/issues\"|' \
|
||||
-e 's|^LOGO=.*$|LOGO=tuxOS|'
|
||||
|
||||
if [ -z "$(grep "^ID_LIKE=" $file)" ] && [ -n "$(grep "^ID=" $file)" ] ; then
|
||||
# add missing ID_LIKE=
|
||||
sed -i $file -e '/^ID=/a \ID_LIKE=arch'
|
||||
fi
|
||||
|
||||
# fix issue file
|
||||
sed -i 's|Arch Linux|tuxOS|g' /etc/issue /usr/share/factory/etc/issue
|
||||
}
|
||||
|
||||
Main()
|
||||
{
|
||||
local hookname="$1"
|
||||
|
||||
case "$hookname" in
|
||||
os-release) Os_release ;;
|
||||
lsb-release) Lsb_release ;;
|
||||
"") Os_release
|
||||
Lsb_release
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
Main "$@"
|
10
packages/tuxos-hooks/tuxos-hooks.hook
Normal file
@ -0,0 +1,10 @@
|
||||
[Trigger]
|
||||
Operation = Install
|
||||
Operation = Upgrade
|
||||
Type = Package
|
||||
Target = tuxos-hooks
|
||||
|
||||
[Action]
|
||||
Description = Update tuxOS specific hooks.
|
||||
When = PostTransaction
|
||||
Exec = /usr/bin/tuxos-hooks-runner
|
10
packages/tuxos-hooks/tuxos-lsb-release.hook
Normal file
@ -0,0 +1,10 @@
|
||||
[Trigger]
|
||||
Operation = Install
|
||||
Operation = Upgrade
|
||||
Type = Package
|
||||
Target = lsb-release
|
||||
|
||||
[Action]
|
||||
Description = Add tuxOS specific config.
|
||||
When = PostTransaction
|
||||
Exec = /usr/bin/tuxos-hooks-runner lsb-release
|
10
packages/tuxos-hooks/tuxos-os-release.hook
Normal file
@ -0,0 +1,10 @@
|
||||
[Trigger]
|
||||
Operation = Install
|
||||
Operation = Upgrade
|
||||
Type = Package
|
||||
Target = filesystem
|
||||
|
||||
[Action]
|
||||
Description = Add tuxOS specific config.
|
||||
When = PostTransaction
|
||||
Exec = /usr/bin/tuxos-hooks-runner os-release
|
89
packages/tuxos-hooks/tuxos-reboot-required
Executable file
@ -0,0 +1,89 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Avoid unnecessary reboots: don't notify if an updated package is
|
||||
# - not currently running (e.g. alternative kernel)
|
||||
# - not in use (e.g. alternative driver)
|
||||
|
||||
IsRunningKernel() {
|
||||
cat /proc/cmdline | sed 's|.*/vmlinuz-\(linux[a-z0-9-]*\) .*|\1|'
|
||||
}
|
||||
|
||||
DoNotify() {
|
||||
local xx
|
||||
|
||||
for xx in "$DESKTOP_SESSION" "$XDG_CURRENT_DESKTOP" ; do
|
||||
if [[ -n "$xx" ]] ; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ -n "$xx" ]] ; then
|
||||
local user userid cmd
|
||||
|
||||
for user in $(/usr/bin/users) ; do
|
||||
userid=$(/usr/bin/id -u $user)
|
||||
cmd=(DISPLAY=:0 DBUS_SESSION_ADDRESS=unix:path=/run/user/$userid/bus /usr/bin/notify-send)
|
||||
cmd+=(--icon=system-reboot --urgency=critical)
|
||||
cmd+=("\"tuxOS\`s core system package upgraded, You need to reboot the machine.\"")
|
||||
/usr/bin/su $user -c "${cmd[*]}"
|
||||
done
|
||||
else
|
||||
# at TTY
|
||||
echo -e "[*] tuxOS\`s core system package upgraded, You need to reboot the machine.">&2
|
||||
fi
|
||||
}
|
||||
|
||||
Main() {
|
||||
local targets=$(cat) # list of updated package names from the hook (stdin)
|
||||
local target
|
||||
local running_kernel=""
|
||||
|
||||
# do not notify if the updated package is not in use
|
||||
for target in $targets ; do
|
||||
case "$target" in
|
||||
linux | linux-lts | linux-zen | linux-hardened | linux-rt | linux-rt-lts | linux-lts?? | linux-lts???)
|
||||
# Note: only official and older LTS kernels are checked.
|
||||
if IsRunningKernel "$target" ; then
|
||||
DoNotify
|
||||
fi
|
||||
;;
|
||||
nvidia)
|
||||
if IsRunningKernel linux ; then
|
||||
DoNotify
|
||||
fi
|
||||
;;
|
||||
nvidia-lts)
|
||||
if IsRunningKernel linux-lts ; then
|
||||
DoNotify
|
||||
fi
|
||||
;;
|
||||
amd-ucode)
|
||||
if [ "$(device-info --cpu)" = "AuthenticAMD" ] ; then
|
||||
DoNotify
|
||||
fi
|
||||
;;
|
||||
intel-ucode)
|
||||
if [ "$(device-info --cpu)" = "GenuineIntel" ] ; then
|
||||
DoNotify
|
||||
fi
|
||||
;;
|
||||
btrfs-progs)
|
||||
# Notify only if btrfs is in use
|
||||
if [ -n "$(/usr/bin/df -hT | awk '{print $2}' | grep -w btrfs)" ] ; then
|
||||
DoNotify
|
||||
fi
|
||||
;;
|
||||
wayland | egl-wayland)
|
||||
case "$XDG_SESSION_TYPE" in
|
||||
x11) ;;
|
||||
*) DoNotify ;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
DoNotify
|
||||
;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
Main "$@"
|
37
packages/tuxos-hooks/tuxos-reboot-required.hook
Normal file
@ -0,0 +1,37 @@
|
||||
[Trigger]
|
||||
Operation = Upgrade
|
||||
Type = Package
|
||||
Target = amd-ucode
|
||||
Target = intel-ucode
|
||||
Target = btrfs-progs
|
||||
Target = cryptsetup
|
||||
Target = linux
|
||||
Target = linux-hardened
|
||||
Target = linux-lts
|
||||
Target = linux-zen
|
||||
Target = linux-rt
|
||||
Target = linux-rt-lts
|
||||
Target = linux-firmware*
|
||||
Target = nvidia
|
||||
Target = nvidia-dkms
|
||||
Target = nvidia-*xx-dkms
|
||||
Target = nvidia-*xx
|
||||
Target = nvidia-*lts-dkms
|
||||
Target = nvidia*-lts
|
||||
Target = mesa
|
||||
Target = systemd*
|
||||
Target = wayland
|
||||
Target = virtualbox-guest-utils
|
||||
Target = virtualbox-host-dkms
|
||||
Target = virtualbox-host-modules-arch
|
||||
Target = egl-wayland
|
||||
Target = xf86-video-*
|
||||
Target = xorg-server*
|
||||
Target = xorg-fonts*
|
||||
|
||||
[Action]
|
||||
Description = Check if user should be informed about rebooting after certain system package upgrades.
|
||||
When = PostTransaction
|
||||
Depends = libnotify
|
||||
NeedsTargets
|
||||
Exec = /usr/bin/tuxos-reboot-required
|
20
packages/tuxos-nvim/PKGBUILD
Normal file
@ -0,0 +1,20 @@
|
||||
# Maintainer: tux <0xtux@pm.me>
|
||||
|
||||
pkgname=tuxos-nvim
|
||||
pkgver=3.10.3
|
||||
pkgrel=1
|
||||
pkgdesc="tuxOS nvim configuration"
|
||||
arch=('any')
|
||||
url="https://github.com/AstroNvim/AstroNvim"
|
||||
license=('GPL3')
|
||||
options=('!strip')
|
||||
source=(git+"${url}.git" init.lua)
|
||||
sha256sums=('SKIP'
|
||||
'39b1c4bc297cd20858fa60e2261ee5b94e7e7429d6e5702c3cf901ee08db921a')
|
||||
|
||||
package() {
|
||||
mkdir -p "$pkgdir/etc/skel/.config/nvim"
|
||||
cp -r AstroNvim/. "$pkgdir/etc/skel/.config/nvim"
|
||||
mkdir -p "$pkgdir/etc/skel/.config/nvim/lua/user"
|
||||
cp init.lua "$pkgdir/etc/skel/.config/nvim/lua/user"
|
||||
}
|
135
packages/tuxos-nvim/init.lua
Normal file
@ -0,0 +1,135 @@
|
||||
local M = {}
|
||||
|
||||
M.colorscheme = "poimandres"
|
||||
M.icons = {
|
||||
VimIcon = "",
|
||||
ScrollText = "",
|
||||
GitBranch = "",
|
||||
GitAdd = "",
|
||||
GitChange = "",
|
||||
GitDelete = "",
|
||||
}
|
||||
M.heirline = {
|
||||
separators = {
|
||||
left = { "", " " },
|
||||
right = { " ", "" },
|
||||
tab = { "", "" },
|
||||
},
|
||||
colors = function(hl)
|
||||
local get_hlgroup = require("astronvim.utils").get_hlgroup
|
||||
local comment_fg = get_hlgroup("Comment").fg
|
||||
hl.git_branch_fg = comment_fg
|
||||
hl.git_added = comment_fg
|
||||
hl.git_changed = comment_fg
|
||||
hl.git_removed = comment_fg
|
||||
hl.blank_bg = get_hlgroup("Folded").fg
|
||||
hl.file_info_bg = get_hlgroup("Visual").bg
|
||||
hl.nav_icon_bg = get_hlgroup("String").fg
|
||||
hl.nav_fg = hl.nav_icon_bg
|
||||
hl.folder_icon_bg = get_hlgroup("Error").fg
|
||||
return hl
|
||||
end,
|
||||
attributes = {
|
||||
mode = { bold = true },
|
||||
},
|
||||
icon_highlights = {
|
||||
file_icon = {
|
||||
statusline = false,
|
||||
},
|
||||
},
|
||||
}
|
||||
M.plugins = {
|
||||
{ "olivercederborg/poimandres.nvim", name = "poimandres", opts = {} },
|
||||
{
|
||||
"goolord/alpha-nvim",
|
||||
opts = function(_, opts)
|
||||
opts.section.header.val = {
|
||||
"██████████████████████████████████████████████████",
|
||||
"█░░░░░░░░░░░░░░█░░░░░░██░░░░░░█░░░░░░░░██░░░░░░░░█",
|
||||
"█░░▄▀▄▀▄▀▄▀▄▀░░█░░▄▀░░██░░▄▀░░█░░▄▀▄▀░░██░░▄▀▄▀░░█",
|
||||
"█░░░░░░▄▀░░░░░░█░░▄▀░░██░░▄▀░░█░░░░▄▀░░██░░▄▀░░░░█",
|
||||
"█████░░▄▀░░█████░░▄▀░░██░░▄▀░░███░░░░▄▀▄▀▄▀░░░░███",
|
||||
"█████░░▄▀░░█████░░▄▀░░██░░▄▀░░█████░░▄▀▄▀▄▀░░█████",
|
||||
"█████░░▄▀░░█████░░▄▀░░██░░▄▀░░███░░░░▄▀▄▀▄▀░░░░███",
|
||||
"█████░░▄▀░░█████░░▄▀░░░░░░▄▀░░█░░░░▄▀░░██░░▄▀░░░░█",
|
||||
"█████░░▄▀░░█████░░▄▀▄▀▄▀▄▀▄▀░░█░░▄▀▄▀░░██░░▄▀▄▀░░█",
|
||||
"█████░░░░░░█████░░░░░░░░░░░░░░█░░░░░░░░██░░░░░░░░█",
|
||||
"██████████████████████████████████████████████████",
|
||||
}
|
||||
end,
|
||||
},
|
||||
"AstroNvim/astrocommunity",
|
||||
{ import = "astrocommunity.pack.json" },
|
||||
{ import = "astrocommunity.pack.bash" },
|
||||
{ import = "astrocommunity.pack.lua" },
|
||||
{ import = "astrocommunity.pack.python" },
|
||||
{ import = "astrocommunity.pack.go" },
|
||||
{ import = "astrocommunity.pack.typescript" },
|
||||
{ import = "astrocommunity.pack.prisma" },
|
||||
{ import = "astrocommunity.colorscheme.oxocarbon" },
|
||||
{
|
||||
"rebelot/heirline.nvim",
|
||||
opts = function(_, opts)
|
||||
local status = require("astronvim.utils.status")
|
||||
opts.statusline = {
|
||||
hl = { fg = "fg", bg = "bg" },
|
||||
status.component.mode {
|
||||
mode_text = { icon = { kind = "VimIcon", padding = { right = 1, left = 1 } } },
|
||||
surround = {
|
||||
separator = "left",
|
||||
color = function() return { main = status.hl.mode_bg(), right = "blank_bg" } end,
|
||||
},
|
||||
},
|
||||
status.component.builder {
|
||||
{ provider = "" },
|
||||
surround = { separator = "left", color = { main = "blank_bg", right = "file_info_bg" } },
|
||||
},
|
||||
status.component.file_info {
|
||||
file_icon = { padding = { left = 0 } },
|
||||
filename = { fallback = "Empty" },
|
||||
padding = { right = 1 },
|
||||
surround = { separator = "left", condition = false },
|
||||
},
|
||||
status.component.git_branch { surround = { separator = "none" } },
|
||||
status.component.git_diff { padding = { left = 1 }, surround = { separator = "none" } },
|
||||
status.component.fill(),
|
||||
status.component.lsp { lsp_client_names = false, surround = { separator = "none", color = "bg" } },
|
||||
status.component.fill(),
|
||||
status.component.diagnostics { surround = { separator = "right" } },
|
||||
status.component.lsp { lsp_progress = false, surround = { separator = "right" } },
|
||||
{
|
||||
status.component.builder {
|
||||
{ provider = require("astronvim.utils").get_icon "FolderClosed" },
|
||||
padding = { right = 1 },
|
||||
hl = { fg = "bg" },
|
||||
surround = { separator = "right", color = "folder_icon_bg" },
|
||||
},
|
||||
status.component.file_info {
|
||||
filename = { fname = function(nr) return vim.fn.getcwd(nr) end, padding = { left = 1 } },
|
||||
file_icon = false,
|
||||
file_modified = false,
|
||||
file_read_only = false,
|
||||
surround = { separator = "none", color = "file_info_bg", condition = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
status.component.builder {
|
||||
{ provider = require("astronvim.utils").get_icon "ScrollText" },
|
||||
padding = { right = 1 },
|
||||
hl = { fg = "bg" },
|
||||
surround = { separator = "right", color = { main = "nav_icon_bg", left = "file_info_bg" } },
|
||||
},
|
||||
status.component.nav {
|
||||
percentage = { padding = { right = 1 } },
|
||||
ruler = false,
|
||||
scrollbar = false,
|
||||
surround = { separator = "none", color = "file_info_bg" },
|
||||
},
|
||||
},
|
||||
}
|
||||
return opts
|
||||
end,
|
||||
},
|
||||
}
|
||||
return M
|
||||
|
22
packages/tuxos-omz/PKGBUILD
Normal file
@ -0,0 +1,22 @@
|
||||
# Maintainer: tux <0xtux@pm.me>
|
||||
|
||||
pkgname=tuxos-omz
|
||||
pkgver=1
|
||||
pkgrel=1
|
||||
pkgdesc="oh my zsh for tuxOS"
|
||||
arch=('any')
|
||||
url="https://github.com/ohmyzsh/ohmyzsh"
|
||||
license=('GPL3')
|
||||
options=('!strip')
|
||||
source=(git+"${url}.git" git+"https://github.com/zsh-users/zsh-syntax-highlighting.git" git+"https://github.com/zsh-users/zsh-autosuggestions.git")
|
||||
sha256sums=('SKIP'
|
||||
'SKIP'
|
||||
'SKIP')
|
||||
|
||||
package() {
|
||||
mkdir -p "$pkgdir/etc/skel/.oh-my-zsh"
|
||||
cp -r ohmyzsh/. "$pkgdir/etc/skel/.oh-my-zsh"
|
||||
cp -r zsh-syntax-highlighting "$pkgdir/etc/skel/.oh-my-zsh/custom/plugins"
|
||||
cp -r zsh-autosuggestions "$pkgdir/etc/skel/.oh-my-zsh/custom/plugins"
|
||||
chmod +x "$pkgdir/etc/skel/.oh-my-zsh/oh-my-zsh.sh"
|
||||
}
|
21
packages/tuxos-pfetch/PKGBUILD
Normal file
@ -0,0 +1,21 @@
|
||||
# Maintainer: tux <0xtux@pm.me>
|
||||
|
||||
pkgname=tuxos-pfetch
|
||||
pkgver=0.6.0
|
||||
pkgrel=1
|
||||
pkgdesc="pfetch for tuxOS"
|
||||
arch=('any')
|
||||
license=('GPL3')
|
||||
makedepends=()
|
||||
depends=()
|
||||
conflicts=()
|
||||
provides=("pfetch")
|
||||
options=(!strip !emptydirs)
|
||||
|
||||
source=('pfetch')
|
||||
|
||||
sha256sums=('1b265d6affe214ec101d6ff5892d0ae3fbaaaabc6fed467d91684a8af146cd0c')
|
||||
|
||||
package() {
|
||||
install -Dm 755 pfetch ${pkgdir}/usr/local/bin/pfetch
|
||||
}
|
1958
packages/tuxos-pfetch/pfetch
Normal file
31
packages/tuxos-skel/PKGBUILD
Normal file
@ -0,0 +1,31 @@
|
||||
# Maintainer: tux <0xtux@pm.me>
|
||||
|
||||
pkgname=tuxos-skel
|
||||
pkgver=1.0
|
||||
pkgrel=1
|
||||
pkgdesc="tuxOS configurations"
|
||||
arch=('any')
|
||||
license=('GPL3')
|
||||
makedepends=()
|
||||
provides=("${pkgname}")
|
||||
options=(!strip !emptydirs)
|
||||
#install="${pkgname}.install"
|
||||
|
||||
prepare() {
|
||||
cp -af ../skel/. ${srcdir}
|
||||
}
|
||||
|
||||
package() {
|
||||
local _skeldir=${pkgdir}/etc/skel
|
||||
local _configdir=${_skeldir}/.config
|
||||
|
||||
mkdir -p "$_skeldir" && mkdir -p "$_configdir"
|
||||
|
||||
cp -r ${srcdir}/eww "$_configdir"
|
||||
cp -r ${srcdir}/starship "$_configdir"
|
||||
cp -r ${srcdir}/wezterm "$_configdir"
|
||||
cp -r ${srcdir}/kitty "$_configdir"
|
||||
|
||||
install -Dm 755 ".zshrc" "$_skeldir"
|
||||
install -Dm 644 ".xinitrc" "$_skeldir"
|
||||
}
|
1
packages/tuxos-skel/skel/.xinitrc
Normal file
@ -0,0 +1 @@
|
||||
xsetroot -cursor_name left_ptr
|
12
packages/tuxos-skel/skel/.zshrc
Executable file
@ -0,0 +1,12 @@
|
||||
# Setup Path
|
||||
export PATH="$PATH:$HOME/.config/bspwm/bin"
|
||||
|
||||
# Setup Starship
|
||||
export STARSHIP_CONFIG=~/.config/starship/config.toml
|
||||
eval "$(starship init zsh)"
|
||||
|
||||
export ZSH=$HOME/.oh-my-zsh
|
||||
plugins=(git zsh-syntax-highlighting zsh-autosuggestions history sudo)
|
||||
source $ZSH/oh-my-zsh.sh
|
||||
|
||||
pfetch
|
BIN
packages/tuxos-skel/skel/eww/bar/eww-bar.png
Normal file
After Width: | Height: | Size: 6.1 KiB |
55
packages/tuxos-skel/skel/eww/bar/eww.scss
Normal file
@ -0,0 +1,55 @@
|
||||
* {
|
||||
all: unset; //Unsets everything so you can style everything from scratch
|
||||
}
|
||||
|
||||
//Global Styles
|
||||
.bar {
|
||||
background-color: #3a3a3a;
|
||||
color: #b0b4bc;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
// Styles on classes (see eww.yuck for more information)
|
||||
|
||||
.sidestuff slider {
|
||||
all: unset;
|
||||
color: #ffd5cd;
|
||||
}
|
||||
|
||||
.metric scale trough highlight {
|
||||
all: unset;
|
||||
background-color: #D35D6E;
|
||||
color: #000000;
|
||||
border-radius: 10px;
|
||||
}
|
||||
.metric scale trough {
|
||||
all: unset;
|
||||
background-color: #4e4e4e;
|
||||
border-radius: 50px;
|
||||
min-height: 3px;
|
||||
min-width: 50px;
|
||||
margin-left: 10px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
.metric scale trough highlight {
|
||||
all: unset;
|
||||
background-color: #D35D6E;
|
||||
color: #000000;
|
||||
border-radius: 10px;
|
||||
}
|
||||
.metric scale trough {
|
||||
all: unset;
|
||||
background-color: #4e4e4e;
|
||||
border-radius: 50px;
|
||||
min-height: 3px;
|
||||
min-width: 50px;
|
||||
margin-left: 10px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
.label-ram {
|
||||
font-size: large;
|
||||
}
|
||||
.workspaces button:hover {
|
||||
color: #D35D6E;
|
||||
}
|
||||
|
75
packages/tuxos-skel/skel/eww/bar/eww.yuck
Normal file
@ -0,0 +1,75 @@
|
||||
(defwidget bar []
|
||||
(centerbox :orientation "h"
|
||||
(workspaces)
|
||||
(music)
|
||||
(sidestuff)))
|
||||
|
||||
(defwidget sidestuff []
|
||||
(box :class "sidestuff" :orientation "h" :space-evenly false :halign "end"
|
||||
(metric :label "🔊"
|
||||
:value volume
|
||||
:onchange "amixer -D pulse sset Master {}%")
|
||||
(metric :label ""
|
||||
:value {EWW_RAM.used_mem_perc}
|
||||
:onchange "")
|
||||
(metric :label "💾"
|
||||
:value {round((1 - (EWW_DISK["/"].free / EWW_DISK["/"].total)) * 100, 0)}
|
||||
:onchange "")
|
||||
time))
|
||||
|
||||
(defwidget workspaces []
|
||||
(box :class "workspaces"
|
||||
:orientation "h"
|
||||
:space-evenly true
|
||||
:halign "start"
|
||||
:spacing 10
|
||||
(button :onclick "wmctrl -s 0" 1)
|
||||
(button :onclick "wmctrl -s 1" 2)
|
||||
(button :onclick "wmctrl -s 2" 3)
|
||||
(button :onclick "wmctrl -s 3" 4)
|
||||
(button :onclick "wmctrl -s 4" 5)
|
||||
(button :onclick "wmctrl -s 5" 6)
|
||||
(button :onclick "wmctrl -s 6" 7)
|
||||
(button :onclick "wmctrl -s 7" 8)
|
||||
(button :onclick "wmctrl -s 8" 9)))
|
||||
|
||||
(defwidget music []
|
||||
(box :class "music"
|
||||
:orientation "h"
|
||||
:space-evenly false
|
||||
:halign "center"
|
||||
{music != "" ? "🎵${music}" : ""}))
|
||||
|
||||
|
||||
(defwidget metric [label value onchange]
|
||||
(box :orientation "h"
|
||||
:class "metric"
|
||||
:space-evenly false
|
||||
(box :class "label" label)
|
||||
(scale :min 0
|
||||
:max 101
|
||||
:active {onchange != ""}
|
||||
:value value
|
||||
:onchange onchange)))
|
||||
|
||||
|
||||
|
||||
(deflisten music :initial ""
|
||||
"playerctl --follow metadata --format '{{ artist }} - {{ title }}' || true")
|
||||
|
||||
(defpoll volume :interval "1s"
|
||||
"scripts/getvol")
|
||||
|
||||
(defpoll time :interval "10s"
|
||||
"date '+%H:%M %b %d, %Y'")
|
||||
|
||||
(defwindow bar
|
||||
:monitor 0
|
||||
:windowtype "dock"
|
||||
:geometry (geometry :x "0%"
|
||||
:y "0%"
|
||||
:width "90%"
|
||||
:height "10px"
|
||||
:anchor "top center")
|
||||
:reserve (struts :side "top" :distance "4%")
|
||||
(bar))
|
2
packages/tuxos-skel/skel/eww/bar/scripts/getram
Executable file
@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
printf "%.0f\n" $(free -m | grep Mem | awk '{print ($3/$2)*100}')
|
2
packages/tuxos-skel/skel/eww/bar/scripts/getvol
Executable file
@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
amixer -D pulse sget Master | grep 'Left:' | awk -F'[][]' '{ print $2 }' | tr -d '%' | head -1
|
70
packages/tuxos-skel/skel/kitty/kitty.conf
Normal file
@ -0,0 +1,70 @@
|
||||
font_family FiraCode Nerd Font
|
||||
bold_font FiraCode Nerd Font Regular
|
||||
font_size 16.0
|
||||
window_padding_width 20
|
||||
|
||||
foreground #fff
|
||||
background #000
|
||||
|
||||
# Black
|
||||
color0 #1b1e28
|
||||
color8 #a6accd
|
||||
|
||||
# Red
|
||||
color1 #d0679d
|
||||
color9 #d0679d
|
||||
|
||||
# Green
|
||||
color2 #5de4c7
|
||||
color10 #5de4c7
|
||||
|
||||
# Yellow
|
||||
color3 #fffac2
|
||||
color11 #fffac2
|
||||
|
||||
# Blue
|
||||
color4 #add7ff
|
||||
color12 #89ddff
|
||||
|
||||
# Magenta
|
||||
color5 #fcc5e9
|
||||
color13 #fae4fc
|
||||
|
||||
# Cyan
|
||||
color6 #add7ff
|
||||
color14 #89ddff
|
||||
|
||||
# White
|
||||
color7 #ffffff
|
||||
color15 #ffffff
|
||||
|
||||
# Cursor
|
||||
cursor #ffffff
|
||||
cursor_text_color #1b1e28
|
||||
|
||||
# Selection highlight
|
||||
selection_foreground none
|
||||
selection_background #28344a
|
||||
|
||||
# The color for highlighting URLs on mouse-over
|
||||
# url_color #9ece6a
|
||||
url color #5de4c7
|
||||
|
||||
# Window borders
|
||||
active_border_color #3d59a1
|
||||
inactive_border_color #101014
|
||||
bell_border_color #fffac2
|
||||
|
||||
# Tab bar
|
||||
tab_bar_style fade
|
||||
tab_fade 1
|
||||
active_tab_foreground #3d59a1
|
||||
active_tab_background #16161e
|
||||
active_tab_font_style bold
|
||||
inactive_tab_foreground #787c99
|
||||
inactive_tab_background #16161e
|
||||
inactive_tab_font_style bold
|
||||
tab_bar_background #101014
|
||||
|
||||
# Title bar
|
||||
macos_titlebar_color #16161e
|
51
packages/tuxos-skel/skel/starship/config.toml
Normal file
@ -0,0 +1,51 @@
|
||||
format = """
|
||||
[ ](bold green)$directory(bold blue)$git_branch$git_status[❯](bold yellow)[❯](bold purple)[❯](bold blue) """
|
||||
|
||||
scan_timeout = 60
|
||||
add_newline = false
|
||||
|
||||
[line_break]
|
||||
disabled = true
|
||||
|
||||
[directory]
|
||||
style = "bold blue"
|
||||
|
||||
[cmd_duration]
|
||||
format = "[$duration]($style) "
|
||||
|
||||
[status]
|
||||
disabled = false
|
||||
format = "[$symbol $status]($style) "
|
||||
not_found_symbol = ""
|
||||
not_executable_symbol = ""
|
||||
sigint_symbol = "ﭦ"
|
||||
map_symbol = true
|
||||
|
||||
[git_branch]
|
||||
format = "[$symbol$branch]($style) "
|
||||
|
||||
[package]
|
||||
format = "[$symbol$version]($style) "
|
||||
symbol = " "
|
||||
|
||||
[python]
|
||||
format = '[${symbol}${pyenv_prefix}(${version} )(\($virtualenv\) )]($style)'
|
||||
symbol = " "
|
||||
|
||||
[nodejs]
|
||||
format = "[$symbol($version )]($style)"
|
||||
|
||||
[php]
|
||||
format = "[$symbol($version )]($style)"
|
||||
symbol = " "
|
||||
|
||||
[java]
|
||||
format = "[${symbol}(${version} )]($style)"
|
||||
symbol = " "
|
||||
|
||||
[rust]
|
||||
format = "[$symbol($version )]($style)"
|
||||
|
||||
[golang]
|
||||
format = "[$symbol($version )]($style)"
|
||||
symbol = " "
|
22
packages/tuxos-skel/skel/wezterm/wezterm.lua
Normal file
@ -0,0 +1,22 @@
|
||||
local wezterm = require 'wezterm'
|
||||
local config = {}
|
||||
|
||||
config.window_close_confirmation = 'NeverPrompt'
|
||||
config.color_scheme = 'Poimandres'
|
||||
config.colors = {
|
||||
background = "#000"
|
||||
}
|
||||
config.enable_tab_bar = false
|
||||
config.font = wezterm.font_with_fallback {
|
||||
'FiraCode Nerd Font',
|
||||
}
|
||||
config.font_size = 16.0
|
||||
config.window_background_opacity = 1
|
||||
config.window_padding = {
|
||||
left = '20px',
|
||||
right = '20px',
|
||||
top = '20px',
|
||||
bottom = '20px',
|
||||
}
|
||||
|
||||
return config
|
19
packages/tuxos-skel/tuxos-skel.install
Normal file
@ -0,0 +1,19 @@
|
||||
main() {
|
||||
local _user=`echo ${SUDO_USER:-$(whoami)}`
|
||||
local _gid=`echo ${SUDO_GID}`
|
||||
local _group=`cat /etc/group | grep ${_gid} | cut -d: -f1 | head -1`
|
||||
local _dir="/home/${_user}/.config"
|
||||
local _skel='/etc/skel/.config'
|
||||
|
||||
mkdir -p ${_dir}
|
||||
cp -rf ${_skel}/* ${_dir}
|
||||
chown -R ${_user}:${_group} ${_dir}/*
|
||||
}
|
||||
|
||||
post_install() {
|
||||
main
|
||||
}
|
||||
|
||||
post_upgrade() {
|
||||
main
|
||||
}
|