added packages

This commit is contained in:
2023-04-29 00:31:15 +05:30
parent 6c0edc5379
commit cb7808a9bd
78 changed files with 5393 additions and 0 deletions

34
packages/ckbcomp/PKGBUILD Normal file
View 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/
}

View 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"
}

View 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"

View 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
}

View 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
}

View 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 ""
}

View 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"
}

View 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/*
}

View 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 &

View 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"

View 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;
}

View 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

View 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%

View 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);
}

View 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

View 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

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

View 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."
}

View 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
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

View File

@ -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

View File

@ -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"

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

View File

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: 2015 Teo Mrnjavac <teo@kde.org>
SPDX-License-Identifier: GPL-3.0-or-later

View File

@ -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");
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

View File

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
SPDX-License-Identifier: GPL-3.0-or-later

View File

@ -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;
}

View 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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"]

View File

@ -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

View File

@ -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

View File

@ -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... "

View File

@ -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)..."

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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

View 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;
}
});

View 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
}

View 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"
}

View 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
}

View 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 "$@"

View 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

View 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

View 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

View 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 "$@"

View 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

View 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"
}

View 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

View 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"
}

View 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

File diff suppressed because it is too large Load Diff

View 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"
}

View File

@ -0,0 +1 @@
xsetroot -cursor_name left_ptr

12
packages/tuxos-skel/skel/.zshrc Executable file
View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

View 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;
}

View 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))

View File

@ -0,0 +1,2 @@
#!/bin/sh
printf "%.0f\n" $(free -m | grep Mem | awk '{print ($3/$2)*100}')

View File

@ -0,0 +1,2 @@
#!/bin/sh
amixer -D pulse sget Master | grep 'Left:' | awk -F'[][]' '{ print $2 }' | tr -d '%' | head -1

View 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

View 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 = " "

View 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

View 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
}