From 3921a36b1eba94e9e00292aa7f9356f3c33376cc Mon Sep 17 00:00:00 2001 From: Samuel Talbot Date: Sat, 11 May 2024 10:54:05 +1200 Subject: [PATCH] initial hyprland setup --- .gitignore | 1 + build.sh | 5 ++ config/files/etc/ly/config.ini | 153 +++++++++++++++++++++++++++++++++ recipes/recipe.yml | 38 ++++++-- 4 files changed, 192 insertions(+), 5 deletions(-) create mode 100755 build.sh create mode 100644 config/files/etc/ly/config.ini diff --git a/.gitignore b/.gitignore index 8703795..76dbce5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ cosign.key cosign.private /Containerfile +iso-output/ diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..4b595c3 --- /dev/null +++ b/build.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +echo "Building iso image" +mkdir ./iso-output +sudo podman run --rm --privileged --volume ./iso-output:/build-container-installer/build --security-opt label=disable --pull=newer \ +ghcr.io/jasonn3/build-container-installer:latest diff --git a/config/files/etc/ly/config.ini b/config/files/etc/ly/config.ini new file mode 100644 index 0000000..c08783c --- /dev/null +++ b/config/files/etc/ly/config.ini @@ -0,0 +1,153 @@ +# The active animation +# none -> Nothing (default) +# doom -> PSX DOOM fire +# matrix -> CMatrix +animation = doom + +# Format string for clock in top right corner (see strftime specification). Example: %c +clock = %I:%M %p %d/%m + +# Enable/disable big clock +bigclock = false + +# The character used to mask the password +asterisk = * + +# Erase password input on failure +clear_password = false + +# Enable vi keybindings +vi_mode = false + +# The `fg` and `bg` color settings take a digit 0-8 corresponding to: +#define TB_DEFAULT 0x00 +#define TB_BLACK 0x01 +#define TB_RED 0x02 +#define TB_GREEN 0x03 +#define TB_YELLOW 0x04 +#define TB_BLUE 0x05 +#define TB_MAGENTA 0x06 +#define TB_CYAN 0x07 +#define TB_WHITE 0x08 +# +# Setting both to zero makes `bg` black and `fg` white. To set the actual color palette you are encouraged to use another tool +# such as [mkinitcpio-colors](https://github.com/evanpurkhiser/mkinitcpio-colors). Note that the color palette defined with +# `mkinitcpio-colors` takes 16 colors (0-15), only values 0-8 are valid for `ly` config and these values do not correspond +# exactly. For instance, in defining palettes with `mkinitcpio-colors` the order is black, dark red, dark green, brown, dark +# blue, dark purple, dark cyan, light gray, dark gray, bright red, bright green, yellow, bright blue, bright purple, bright +# cyan, and white, indexed in that order 0 through 15. For example, the color defined for white (indexed at 15 in the mkinitcpio +# config) will be used by `ly` for `fg = 8`. + +# Background color id +bg = 0 + +# Foreground color id +fg = 8 + +# Border color +border_fg = 8 + +# Blank main box background +# Setting to false will make it transparent +blank_box = true + +# Remove main box borders +hide_borders = false + +# Main box margins +margin_box_h = 2 +margin_box_v = 1 + +# Input boxes length +input_len = 34 + +# Max input sizes +max_desktop_len = 100 +max_login_len = 255 +max_password_len = 255 + +# Input box active by default on startup +# Available inputs: session, login, password +default_input = login + +# Load the saved desktop and username +load = true + +# Save the current desktop and login as defaults +save = true + +# Deprecated - Will be removed in a future version +# New save files are now loaded from the same directory as the config +# Currently used to migrate old save files to the new version +# File in which to save and load the default desktop and login +save_file = /etc/ly/save + +# Remove power management command hints +hide_key_hints = false + +# Specifies the key used for shutdown (F1-F12) +shutdown_key = F1 + +# Specifies the key used for restart (F1-F12) +restart_key = F2 + +# Specifies the key used for sleep (F1-F12) +sleep_key = F3 + +# Command executed when pressing shutdown_key +shutdown_cmd = /sbin/shutdown -a now + +# Command executed when pressing restart_key +restart_cmd = /sbin/shutdown -r now + +# Command executed when pressing sleep key (can be null) +sleep_cmd = null + +# Active language +# Available languages are found in /etc/ly/lang/ +lang = en + +# TTY in use +tty = 2 + +# Console path +console_dev = /dev/console + +# Default path. If null, ly doesn't set a path. +path = /sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin + +# Event timeout in milliseconds +min_refresh_delta = 5 + +# Service name (set to ly to use the provided pam config file) +service_name = ly + +# Terminal reset command (tput is faster) +term_reset_cmd = /usr/bin/tput reset + +# Terminal restore cursor command +term_restore_cursor_cmd = /usr/bin/tput cnorm + +# Cookie generator +mcookie_cmd = /usr/bin/mcookie + +# Wayland setup command +wayland_cmd = /etc/ly/wsetup.sh + +# Wayland desktop environments +waylandsessions = /usr/share/wayland-sessions + +# xinitrc (hidden if null) +xinitrc = ~/.xinitrc + +# Xorg server command +x_cmd = /usr/bin/X + +# Xorg setup command +x_cmd_setup = /etc/ly/xsetup.sh + +# Xorg xauthority edition tool +xauth_cmd = /usr/bin/xauth + +# Xorg desktop environments +xsessions = /usr/share/xsessions diff --git a/recipes/recipe.yml b/recipes/recipe.yml index 22f9872..3c29439 100644 --- a/recipes/recipe.yml +++ b/recipes/recipe.yml @@ -1,10 +1,12 @@ # image will be published to ghcr.io// -name: template +name: immutable-hyprland # description will be included in the image's metadata description: This is my personal OS image. # the base image to build on top of (FROM) and the version tag to use -base-image: ghcr.io/ublue-os/silverblue-main +#base-image: ghcr.io/ublue-os/silverblue-main +#image-version: 40 # latest is also supported if you want new updates ASAP +base-image: quay.io/fedora-ostree-desktops/base image-version: 40 # latest is also supported if you want new updates ASAP # module configuration, executed in order @@ -18,15 +20,41 @@ modules: - type: rpm-ostree repos: - # - https://copr.fedorainfracloud.org/coprs/atim/starship/repo/fedora-%OS_VERSION%/atim-starship-fedora-%OS_VERSION%.repo + # starship prompt + - https://copr.fedorainfracloud.org/coprs/atim/starship/repo/fedora-%OS_VERSION%/atim-starship-fedora-%OS_VERSION%.repo + # hyprland & related + - https://copr.fedorainfracloud.org/coprs/solopasha/hyprland/repo/fedora-%OS_VERSION%/solopasha-hyprland-fedora-%OS_VERSION%.repo + # tofi app launcher + - https://copr.fedorainfracloud.org/coprs/alternateved/tofi/repo/fedora-%OS_VERSION%/alternateved-tofi-fedora-%OS_VERSION%.repo + # my ly build (very cursed) + - https://copr.fedorainfracloud.org/coprs/book-reader/ly/repo/fedora-%OS_VERSION%/book-reader-ly-fedora-%OS_VERSION%.repo install: - # - micro - # - starship + - starship + - hyprland + - hyprlock + - hypridle + - hyprpaper + - alacritty + - tofi + - rofi-wayland + - ly-git + - vim + - fish + - fastfetch + - waybar + - distrobox remove: # example: removing firefox (in favor of the flatpak) # "firefox" is the main package, "firefox-langpacks" is a dependency # - firefox # - firefox-langpacks # also remove firefox dependency (not required for all packages, this is a special case) + #- sudo + #- sudo-python-plugin + + #- type: script + # scripts: + #- ly-displaymanager.sh + - type: default-flatpaks notify: true # Send notification after install/uninstall is finished (true/false)