Compare commits
1 Commits
main
...
3b663d722b
Author | SHA1 | Date | |
---|---|---|---|
3b663d722b |
5
.github/workflows/build.yml
vendored
5
.github/workflows/build.yml
vendored
@@ -2,13 +2,14 @@ name: bluebuild
|
||||
on:
|
||||
schedule:
|
||||
- cron:
|
||||
"00 06 * * *" # build at 06:00 UTC every Monday
|
||||
"00 06 * * *" # build at 06:00 UTC every day
|
||||
# (20 minutes after last ublue images start building)
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths-ignore: # don't rebuild if only documentation has changed
|
||||
- "**.md"
|
||||
|
||||
pull_request:
|
||||
workflow_dispatch: # allow manually triggering builds
|
||||
concurrency:
|
||||
@@ -29,8 +30,8 @@ jobs:
|
||||
recipe:
|
||||
# !! Add your recipes here
|
||||
- recipe.yml
|
||||
- recipe_nvidia.yml
|
||||
steps:
|
||||
|
||||
# the build is fully handled by the reusable github action
|
||||
- name: Build Custom Image
|
||||
uses: blue-build/github-action@v1.8
|
||||
|
@@ -1,4 +1,4 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDgbLqIZdNv3Lx7jEKq3l6UImgXi/
|
||||
MdQ51/79s4zfI2f4wQ8ran/sZO3y91hhsImytGqfSpNZmMV8T0rmOAAXkg==
|
||||
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEzzK2nfqN5MlTqBitNsehDVnITGSF
|
||||
r9FQRKI6dNDXRjlKgcMaa88Mb9FdfqFVHSPesN1mHz3/QfZIPG/s7mJAfw==
|
||||
-----END PUBLIC KEY-----
|
||||
|
@@ -1,8 +0,0 @@
|
||||
[gitlab.com_paulcarroty_vscodium_repo]
|
||||
name=download.vscodium.com
|
||||
baseurl=https://download.vscodium.com/rpms/
|
||||
enabled=1
|
||||
gpgcheck=1
|
||||
repo_gpgcheck=1
|
||||
gpgkey=https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/raw/master/pub.gpg
|
||||
metadata_expire=1h
|
@@ -1,4 +0,0 @@
|
||||
[org.gnome.desktop.interface]
|
||||
gtk-theme='Adwaita-dark'
|
||||
color-scheme='prefer-dark'
|
||||
icon-theme='Papirus'
|
@@ -1,40 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Tell build process to exit if there are any errors.
|
||||
set -oue pipefail
|
||||
|
||||
# This file includes code from Universal Blue which is licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS"
|
||||
# BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language
|
||||
# governing permissions and limitations under the License.
|
||||
|
||||
IMAGE_PRETTY_NAME="hydro-os"
|
||||
IMAGE_LIKE="fedora"
|
||||
HOME_URL="https://git.hydrosaber.com/eriq12/hydro-os"
|
||||
DOCUMENTATION_URL="https://git.hydrosaber.com/eriq12/hydro-os"
|
||||
SUPPORT_URL="https://git.hydrosaber.com/eriq12/hydro-os/issues"
|
||||
BUG_SUPPORT_URL="https://git.hydrosaber.com/eriq12/hydro-os/issues"
|
||||
|
||||
if grep -q "VARIANT_ID" /usr/lib/os-release; then
|
||||
sed -i "s/^VARIANT_ID=.*/VARIANT_ID=$IMAGE_NAME/" /usr/lib/os-release
|
||||
else
|
||||
echo "VARIANT_ID=$IMAGE_NAME" >> /usr/lib/os-release
|
||||
fi
|
||||
sed -i "s/^PRETTY_NAME=.*/PRETTY_NAME=\"${IMAGE_PRETTY_NAME} (powered by Fedora Atomic)\"/" /usr/lib/os-release
|
||||
sed -i "s/^NAME=.*/NAME=\"$IMAGE_PRETTY_NAME\"/" /usr/lib/os-release
|
||||
sed -i "s|^HOME_URL=.*|HOME_URL=\"$HOME_URL\"|" /usr/lib/os-release
|
||||
sed -i "s|^DOCUMENTATION_URL=.*|DOCUMENTATION_URL=\"$DOCUMENTATION_URL\"|" /usr/lib/os-release
|
||||
sed -i "s|^SUPPORT_URL=.*|SUPPORT_URL=\"$SUPPORT_URL\"|" /usr/lib/os-release
|
||||
sed -i "s|^BUG_REPORT_URL=.*|BUG_REPORT_URL=\"$BUG_SUPPORT_URL\"|" /usr/lib/os-release
|
||||
sed -i "s|^CPE_NAME=\"cpe:/o:fedoraproject:fedora|CPE_NAME=\"cpe:/o:wayblue:${IMAGE_PRETTY_NAME,}|" /usr/lib/os-release
|
||||
sed -i "s/^DEFAULT_HOSTNAME=.*/DEFAULT_HOSTNAME=\"${IMAGE_PRETTY_NAME,}\"/" /usr/lib/os-release
|
||||
sed -i "s/^ID=fedora/ID=\"${IMAGE_LIKE,}\"\nID_LIKE=\"${IMAGE_PRETTY_NAME,}\"/" /usr/lib/os-release
|
||||
sed -i "/^REDHAT_BUGZILLA_PRODUCT=/d; /^REDHAT_BUGZILLA_PRODUCT_VERSION=/d; /^REDHAT_SUPPORT_PRODUCT=/d; /^REDHAT_SUPPORT_PRODUCT_VERSION=/d" /usr/lib/os-release
|
||||
|
||||
# Fix issues caused by ID no longer being fedora
|
||||
sed -i "s/^EFIDIR=.*/EFIDIR=\"fedora\"/" /usr/sbin/grub2-switch-to-blscfg
|
@@ -1,27 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Tell build process to exit if there are any errors.
|
||||
set -oue pipefail
|
||||
|
||||
echo "INFO: grab kernel module"
|
||||
KERNEL_VER=$(ls /lib/modules | head -n 1)
|
||||
echo $KERNEL_VER
|
||||
|
||||
echo "INFO: list all modules"
|
||||
ls /usr/src
|
||||
|
||||
echo "INFO: grab xpad modules"
|
||||
XPAD_MODULE_VER=$(ls /usr/src | grep xpadneo | sed 's/-/\//')
|
||||
echo $XPAD_MODULE_VER
|
||||
|
||||
echo "INFO: grab open razer modules"
|
||||
RAZER_MODULE_VER=$(ls /usr/src | grep razer | sed -E 's/(.*)-/\1\//')
|
||||
echo $RAZER_MODULE_VER
|
||||
|
||||
echo "INFO: build and install xpadneo"
|
||||
sudo dkms build -m $XPAD_MODULE_VER -k $KERNEL_VER
|
||||
sudo dkms install -m $XPAD_MODULE_VER -k $KERNEL_VER
|
||||
|
||||
echo "INFO: build and install openrazer"
|
||||
sudo dkms build -m $RAZER_MODULE_VER -k $KERNEL_VER
|
||||
sudo dkms install -m $RAZER_MODULE_VER -k $KERNEL_VER
|
@@ -3,4 +3,4 @@
|
||||
# Tell build process to exit if there are any errors.
|
||||
set -oue pipefail
|
||||
|
||||
git clone https://github.com/ohmyzsh/ohmyzsh.git /usr/share/ohmyzsh
|
||||
semodule --verbose --install /usr/share/selinux/packages/nvidia-container.pp
|
10
files/scripts/nvidia/removeunusedrepos.sh
Normal file
10
files/scripts/nvidia/removeunusedrepos.sh
Normal file
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Tell build process to exit if there are any errors.
|
||||
set -oue pipefail
|
||||
|
||||
rm -f /etc/yum.repos.d/negativo17-fedora-nvidia.repo
|
||||
rm -f /etc/yum.repos.d/negativo17-fedora-multimedia.repo
|
||||
rm -f /etc/yum.repos.d/eyecantcu-supergfxctl.repo
|
||||
rm -f /etc/yum.repos.d/_copr_ublue-os-akmods.repo
|
||||
rm -f /etc/yum.repos.d/nvidia-container-toolkit.repo
|
16
files/scripts/nvidia/setdrmvariables.sh
Normal file
16
files/scripts/nvidia/setdrmvariables.sh
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Tell build process to exit if there are any errors.
|
||||
set -oue pipefail
|
||||
|
||||
|
||||
echo '
|
||||
|
||||
# Nvidia modesetting support. Set to 0 or comment to disable kernel modesetting
|
||||
# support. This must be disabled in case of SLI Mosaic.
|
||||
|
||||
options nvidia-drm modeset=1 fbdev=1
|
||||
|
||||
' > /usr/lib/modprobe.d/nvidia-modeset.conf
|
||||
|
||||
cp /usr/lib/modprobe.d/nvidia-modeset.conf /etc/modprobe.d/nvidia-modeset.conf
|
7
files/scripts/nvidia/setearlyloading.sh
Normal file
7
files/scripts/nvidia/setearlyloading.sh
Normal file
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Tell build process to exit if there are any errors.
|
||||
set -oue pipefail
|
||||
|
||||
sed -i 's@omit_drivers@force_drivers@g' /usr/lib/dracut/dracut.conf.d/99-nvidia.conf
|
||||
sed -i 's@ nvidia @ i915 amdgpu nvidia @g' /usr/lib/dracut/dracut.conf.d/99-nvidia.conf
|
@@ -1,10 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Tell build process to exit if there are any errors.
|
||||
set -oue pipefail
|
||||
|
||||
git clone https://git.hydrosaber.com/eriq12/dotfiles /etc/skel/.local/share/chezmoi
|
||||
|
||||
cp /etc/skel/.local/share/chezmoi/dot_bashrc /etc/skel/.bashrc
|
||||
cp /etc/skel/.local/share/chezmoi/dot_zshrc /etc/skel/.zshrc
|
||||
cp -r /etc/skel/.local/share/chezmoi/dot_config /etc/skel/.config
|
@@ -1,8 +0,0 @@
|
||||
# useradd defaults file
|
||||
GROUP=100
|
||||
HOME=/home
|
||||
INACTIVE=-1
|
||||
EXPIRE=
|
||||
SHELL=/bin/zsh
|
||||
SKEL=/etc/skel
|
||||
CREATE_MAIL_SPOOL=yes
|
@@ -1,2 +0,0 @@
|
||||
QT_QPA_PLATFORMTHEME=qt6ct
|
||||
QT_QUICK_CONTROLS_STYLE=org.hyprland.style
|
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<service>
|
||||
<port port="12315" protocol="tcp"/>
|
||||
</service>
|
@@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<service>
|
||||
<port port="53317" protocol="tcp"/>
|
||||
<port port="53317" protocol="udp"/>
|
||||
</service>
|
@@ -1 +0,0 @@
|
||||
nct6775
|
@@ -1 +0,0 @@
|
||||
ntsync
|
@@ -1,26 +0,0 @@
|
||||
# ~/.config/pipewire/pipewire.conf.d/104-group-game-audio-to-node.conf
|
||||
|
||||
node.rules = [
|
||||
{
|
||||
matches = [
|
||||
{
|
||||
application.process.binary = "equibop.bin"
|
||||
}
|
||||
{
|
||||
pipewire.access.portal.app_id = "io.github.equicord.equibop"
|
||||
}
|
||||
{
|
||||
pipewire.access.portal.app_id = "com.discordapp.Discord"
|
||||
}
|
||||
{
|
||||
pipewire.access.portal.app_id = "com.discordapp.DiscordCanary"
|
||||
}
|
||||
]
|
||||
actions = {
|
||||
update-props = {
|
||||
application.name = "Discord"
|
||||
node.name = "Discord"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
@@ -1,17 +0,0 @@
|
||||
# ~/.config/pipewire/pipewire.conf.d/104-group-game-audio-to-node.conf
|
||||
|
||||
node.rules = [
|
||||
{
|
||||
matches = [
|
||||
{
|
||||
pipewire.access.portal.app_id = "io.github.equicord.equibop"
|
||||
}
|
||||
]
|
||||
actions = {
|
||||
update-props = {
|
||||
application.name = "Freetube"
|
||||
node.name = "Freetube"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
@@ -1,4 +0,0 @@
|
||||
# monitors.conf
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
monitor=,preferred,auto,auto
|
59
files/system/etc/skel/.config/hyprpanel/config.json
Normal file
59
files/system/etc/skel/.config/hyprpanel/config.json
Normal file
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"scalingPriority": "gdk",
|
||||
"theme.bar.floating": true,
|
||||
"bar.autoHide": "never",
|
||||
"bar.layouts": {
|
||||
"*": {
|
||||
"left": [
|
||||
"cpu",
|
||||
"ram",
|
||||
"workspaces",
|
||||
"windowtitle"
|
||||
],
|
||||
"middle": [
|
||||
"media"
|
||||
],
|
||||
"right": [
|
||||
"volume",
|
||||
"network",
|
||||
"bluetooth",
|
||||
"systray",
|
||||
"notifications",
|
||||
"clock",
|
||||
"dashboard"
|
||||
]
|
||||
}
|
||||
},
|
||||
"theme.notification.enableShadow": false,
|
||||
"theme.bar.border.location": "none",
|
||||
"theme.bar.border_radius": "0.75em",
|
||||
"theme.bar.outer_spacing": ".25em",
|
||||
"theme.bar.buttons.radius": "0.75em",
|
||||
"theme.bar.menus.monochrome": false,
|
||||
"theme.bar.menus.opacity": 100,
|
||||
"theme.bar.buttons.y_margins": "0.1em",
|
||||
"theme.bar.buttons.enableBorders": true,
|
||||
"theme.bar.transparent": true,
|
||||
"theme.bar.enableShadow": false,
|
||||
"menus.clock.time.hideSeconds": false,
|
||||
"menus.dashboard.shortcuts.left.shortcut1.icon": "",
|
||||
"menus.dashboard.shortcuts.left.shortcut1.command": "uwsm app -- one.ablaze.floorp.desktop",
|
||||
"menus.dashboard.shortcuts.left.shortcut1.tooltip": "Floorp",
|
||||
"menus.dashboard.shortcuts.enabled": true,
|
||||
"menus.dashboard.stats.enable_gpu": false,
|
||||
"menus.clock.weather.enabled": false,
|
||||
"bar.workspaces.show_icons": false,
|
||||
"bar.workspaces.show_numbered": true,
|
||||
"theme.bar.buttons.windowtitle.enableBorder": false,
|
||||
"bar.windowtitle.custom_title": true,
|
||||
"bar.windowtitle.truncation": true,
|
||||
"bar.notifications.show_total": true,
|
||||
"bar.notifications.hideCountWhenZero": true,
|
||||
"bar.launcher.icon": "",
|
||||
"bar.launcher.autoDetectIcon": false,
|
||||
"menus.dashboard.shortcuts.left.shortcut3.command": "uwsm app -- com.discordapp.Discord",
|
||||
"menus.dashboard.shortcuts.left.shortcut2.icon": "",
|
||||
"menus.dashboard.shortcuts.left.shortcut2.command": "uwsm app --net.cozic.joplin_desktop",
|
||||
"menus.dashboard.shortcuts.left.shortcut2.tooltip": "Joplin",
|
||||
"menus.dashboard.shortcuts.left.shortcut4.command": "uwsm app -- $(wofi --show drun --define=drun-print_desktop_file=true)"
|
||||
}
|
1
files/system/etc/skel/.config/hyprpanel/modules.json
Normal file
1
files/system/etc/skel/.config/hyprpanel/modules.json
Normal file
@@ -0,0 +1 @@
|
||||
{}
|
4
files/system/etc/skel/.config/nvim/init.lua
Normal file
4
files/system/etc/skel/.config/nvim/init.lua
Normal file
@@ -0,0 +1,4 @@
|
||||
#!/usr/bin/env lua
|
||||
require("options")
|
||||
require("keymaps")
|
||||
require("config.lazy")
|
47
files/system/etc/skel/.config/nvim/lua/config/lazy.lua
Normal file
47
files/system/etc/skel/.config/nvim/lua/config/lazy.lua
Normal file
@@ -0,0 +1,47 @@
|
||||
-- Bootstrap lazy.nvim
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
||||
if vim.v.shell_error ~= 0 then
|
||||
vim.api.nvim_echo({
|
||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
||||
{ out, "WarningMsg" },
|
||||
{ "\nPress any key to exit..." },
|
||||
}, true, {})
|
||||
vim.fn.getchar()
|
||||
os.exit(1)
|
||||
end
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
-- Make sure to setup `mapleader` and `maplocalleader` before
|
||||
-- loading lazy.nvim so that mappings are correct.
|
||||
-- This is also a good place to setup other settings (vim.opt)
|
||||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = "\\"
|
||||
|
||||
-- Setup lazy.nvim
|
||||
require("lazy").setup({
|
||||
spec = {
|
||||
{ "LazyVim/LazyVim", import = "lazyvim.plugins"},
|
||||
-- import your plugins
|
||||
{ import = "plugins" },
|
||||
},
|
||||
-- automatically check for plugin updates
|
||||
checker = {
|
||||
enabled = true,
|
||||
notify = false,
|
||||
},
|
||||
performance = {
|
||||
rtp = {
|
||||
disabled_plugins = {
|
||||
"gzip",
|
||||
"tarPlugin",
|
||||
"tohtml",
|
||||
"tutor",
|
||||
"zipPlugin",
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
31
files/system/etc/skel/.config/nvim/lua/keymaps.lua
Normal file
31
files/system/etc/skel/.config/nvim/lua/keymaps.lua
Normal file
@@ -0,0 +1,31 @@
|
||||
-- define comon options
|
||||
local opts = {
|
||||
noremap = true, -- non-recursive
|
||||
silent = true, -- do not show message
|
||||
}
|
||||
|
||||
-----------------
|
||||
-- Normal mode --
|
||||
-----------------
|
||||
|
||||
-- check `:h vim.map.set()` to get better idea of what this does
|
||||
-- Better window navigation
|
||||
vim.keymap.set('n', '<C-h>', '<C-w>h', opts)
|
||||
vim.keymap.set('n', '<C-j>', '<C-w>j', opts)
|
||||
vim.keymap.set('n', '<C-k>', '<C-w>k', opts)
|
||||
vim.keymap.set('n', '<C-l>', '<C-w>l', opts)
|
||||
|
||||
-- Resize with arrows
|
||||
-- delta: 2 lines
|
||||
vim.keymap.set('n', '<C-Up>', ':resize -2<CR>', opts)
|
||||
vim.keymap.set('n', '<C-Down>', ':resize +2<CR>', opts)
|
||||
vim.keymap.set('n', '<C-Left>', ':vertical resize -2<CR>', opts)
|
||||
vim.keymap.set('n', '<C-Right>', ':vertical resize +2<CR>', opts)
|
||||
|
||||
-----------------
|
||||
-- Visual mode --
|
||||
-----------------
|
||||
|
||||
-- start visual mode with same area as previous area and same mode
|
||||
vim.keymap.set('v', '<', '<gv', opts)
|
||||
vim.keymap.set('v', '>', '>gv', opts)
|
25
files/system/etc/skel/.config/nvim/lua/options.lua
Normal file
25
files/system/etc/skel/.config/nvim/lua/options.lua
Normal file
@@ -0,0 +1,25 @@
|
||||
-- use `:h <option>` to figure out meaning
|
||||
vim.opt.clipboard = "unnamedplus" -- use system keyboard
|
||||
vim.opt.completeopt = { "menu", "noinsert", "noselect" }
|
||||
vim.opt.mouse = "a" -- supposedly to allow the mouse to be used in nvim
|
||||
|
||||
-- Tab settings
|
||||
vim.opt.tabstop = 4 -- set number of visual spaces per \t (Tab)
|
||||
vim.opt.softtabstop = 4 -- set number of space in tab when editing
|
||||
vim.opt.shiftwidth = 4 -- insert 4 spaces on a tab
|
||||
vim.opt.expandtab = false -- for python apparently, treat tabs as spaces
|
||||
|
||||
-- UI config
|
||||
vim.opt.number = true -- show the absolute number
|
||||
vim.opt.relativenumber = true -- to add numbers to each line on the left side (line numbers?)
|
||||
vim.opt.cursorline = true -- highlights the line where the cursor is
|
||||
vim.opt.splitbelow = true -- sets new splits to be opened below
|
||||
vim.opt.splitright = true -- sets new splits to be opened to the right
|
||||
vim.opt.termguicolors = true -- enables 24-bit RGB color in Terminal UI
|
||||
-- vim.opt.showmode = false -- removes the --INSERT-- like UI at the bottom
|
||||
|
||||
-- Search settings
|
||||
vim.opt.incsearch = true -- search as characters are entered
|
||||
--vim.opt.hlsearch = false -- do not highlight matches
|
||||
vim.opt.ignorecase = true -- ignore cases by default
|
||||
vim.opt.smartcase = true -- when capitalized, be case sensitive
|
@@ -0,0 +1,17 @@
|
||||
return {
|
||||
"folke/tokyonight.nvim",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
opts = {
|
||||
style = "night",
|
||||
on_highlights = function(h1)
|
||||
h1.LineNrAbove = {
|
||||
fg = "#6ab8ff",
|
||||
}
|
||||
h1.LineNrBelow = {
|
||||
fg = "#ff6188"
|
||||
}
|
||||
end,
|
||||
on_colors = function() end,
|
||||
},
|
||||
}
|
12
files/system/etc/skel/.config/nvim/lua/plugins/neo-tree.lua
Normal file
12
files/system/etc/skel/.config/nvim/lua/plugins/neo-tree.lua
Normal file
@@ -0,0 +1,12 @@
|
||||
return {
|
||||
{
|
||||
"nvim-neo-tree/neo-tree.nvim",
|
||||
branch = "v3.x",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
|
||||
"MunifTanjim/nui.nvim",
|
||||
-- {"3rd/image.nvim", opts = {}}, -- Optional image support in preview window: See `# Preview Mode` for more information
|
||||
},
|
||||
},
|
||||
}
|
@@ -0,0 +1,14 @@
|
||||
return {
|
||||
{
|
||||
{
|
||||
"akinsho/bufferline.nvim",
|
||||
version = "*",
|
||||
dependencies = "nvim-tree/nvim-web-devicons",
|
||||
opts = {
|
||||
options = {
|
||||
mode = "tabs",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
@@ -0,0 +1,18 @@
|
||||
local plugin = {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
build = function()
|
||||
require("nvim-treesitter.install").update({ with_sync = true })()
|
||||
end,
|
||||
config = function()
|
||||
local configs = require("nvim-treesitter.configs")
|
||||
|
||||
configs.setup({
|
||||
ensure_installed = { "c", "lua", "vim", "vimdoc", "query", "elixir", "heex", "javascript", "html" },
|
||||
sync_install = false,
|
||||
highlight = { enable = true },
|
||||
indent = { enable = true },
|
||||
})
|
||||
end,
|
||||
}
|
||||
|
||||
return { plugin }
|
@@ -1,16 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Type=Application
|
||||
Name=kitty
|
||||
GenericName=Terminal emulator
|
||||
Comment=Fast, feature-rich, GPU based terminal
|
||||
TryExec=kitty
|
||||
StartupNotify=true
|
||||
Exec=/usr/bin/hyprctl dispatch exec [workspace special:terminal silent] /usr/bin/kitty
|
||||
Icon=kitty
|
||||
Categories=System;TerminalEmulator;
|
||||
X-TerminalArgExec=--
|
||||
X-TerminalArgTitle=--title
|
||||
X-TerminalArgAppId=--class
|
||||
X-TerminalArgDir=--working-directory
|
||||
X-TerminalArgHold=--hold
|
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Name=VSCodium
|
||||
Comment=Code Editing. Redefined.
|
||||
GenericName=Text Editor
|
||||
Exec=/usr/share/codium/codium --ozone-platform=wayland %F
|
||||
Icon=vscodium
|
||||
Type=Application
|
||||
StartupNotify=false
|
||||
StartupWMClass=VSCodium
|
||||
Categories=TextEditor;Development;IDE;
|
||||
MimeType=text/plain;inode/directory;application/x-codium-workspace;
|
||||
Actions=new-empty-window;
|
||||
Keywords=vscodium;codium;vscode;
|
||||
|
||||
[Desktop Action new-empty-window]
|
||||
Name=New Empty Window
|
||||
Name[de]=Neues leeres Fenster
|
||||
Name[es]=Nueva ventana vacía
|
||||
Name[fr]=Nouvelle fenêtre vide
|
||||
Name[it]=Nuova finestra vuota
|
||||
Name[ja]=新しい空のウィンドウ
|
||||
Name[ko]=새 빈 창
|
||||
Name[ru]=Новое пустое окно
|
||||
Name[zh_CN]=新建空窗口
|
||||
Name[zh_TW]=開新空視窗
|
||||
Exec=/usr/share/codium/codium --new-window %F
|
||||
Icon=vscodium
|
Binary file not shown.
Before Width: | Height: | Size: 171 KiB |
149
files/system/usr/share/hypr-hydro-os/hyprland.conf
Normal file
149
files/system/usr/share/hypr-hydro-os/hyprland.conf
Normal file
@@ -0,0 +1,149 @@
|
||||
# hyprland.conf
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
monitor=,preferred,auto,auto
|
||||
|
||||
# Sources
|
||||
source = /usr/share/hypr-hydro-os/hyprland.conf.d/env_vars.conf
|
||||
source = /usr/share/hypr-hydro-os/hyprland.conf.d/game_workspace.conf
|
||||
source = /usr/share/hypr-hydro-os/hyprland.conf.d/discord_workspace.conf
|
||||
source = /usr/share/hypr-hydro-os/hyprland.conf.d/terminal.conf
|
||||
source = /usr/share/hypr-hydro-os/hyprland.conf.d/keybinds.conf
|
||||
source = /usr/share/hypr-hydro-os/hyprland.conf.d/browser.conf
|
||||
source = /usr/share/hypr-hydro-os/hyprland.conf.d/keybinds.conf.d/arrow_move_window.conf
|
||||
source = /usr/share/hypr-hydro-os/hyprland.conf.d/keybinds.conf.d/workspace_binds.conf
|
||||
source = /usr/share/hypr-hydro-os/hyprland.conf.d/keybinds.conf.d/media_binds.conf
|
||||
source = /usr/share/hypr-hydro-os/hyprland.conf.d/misc_apps.conf
|
||||
source = /usr/share/hypr-hydro-os/hyprland.conf.d/devices.conf
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||
|
||||
# workspaces
|
||||
workspace = 1, persistent:true, default:true
|
||||
workspace = 2
|
||||
workspace = 3
|
||||
workspace = 4
|
||||
workspace = 5, persistent:true, border:false, rounding:false
|
||||
workspace = 6
|
||||
workspace = 7
|
||||
workspace = 8
|
||||
workspace = 9
|
||||
workspace = 10
|
||||
workspace = special:magic
|
||||
|
||||
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
||||
input {
|
||||
kb_layout = us
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options =
|
||||
kb_rules =
|
||||
|
||||
follow_mouse = 1
|
||||
|
||||
touchpad {
|
||||
natural_scroll = no
|
||||
}
|
||||
|
||||
sensitivity = 0 # -1.0 to 1.0, 0 means no modification.
|
||||
}
|
||||
|
||||
general {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
|
||||
gaps_in = 5
|
||||
gaps_out = 10
|
||||
border_size = 2
|
||||
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||
col.inactive_border = rgba(595959aa)
|
||||
|
||||
layout = dwindle
|
||||
|
||||
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||
allow_tearing = false
|
||||
}
|
||||
|
||||
#xwayland {
|
||||
# force_zero_scaling = true
|
||||
#}
|
||||
|
||||
decoration {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
|
||||
blur {
|
||||
enabled = true
|
||||
size = 3
|
||||
passes = 1
|
||||
}
|
||||
|
||||
shadow {
|
||||
enabled = yes
|
||||
range = 4
|
||||
render_power = 3
|
||||
color = rgba(1a1a1aee)
|
||||
}
|
||||
|
||||
rounding = 15
|
||||
}
|
||||
|
||||
animations {
|
||||
enabled = yes
|
||||
|
||||
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||
|
||||
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||
|
||||
animation = windows, 1, 7, myBezier
|
||||
animation = windowsOut, 1, 7, default, popin 80%
|
||||
animation = border, 1, 10, default
|
||||
animation = borderangle, 1, 8, default
|
||||
animation = fade, 1, 7, default
|
||||
animation = workspaces, 1, 6, default
|
||||
animation = specialWorkspace, 1, 3, default, slidefadevert -50%
|
||||
}
|
||||
|
||||
dwindle {
|
||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = yes # you probably want this
|
||||
}
|
||||
|
||||
master {
|
||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||
new_status = slave
|
||||
}
|
||||
|
||||
gestures {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
workspace_swipe = off
|
||||
}
|
||||
|
||||
misc {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
|
||||
disable_splash_rendering = true
|
||||
}
|
||||
|
||||
# Example per-device config
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
||||
device {
|
||||
name = epic-mouse-v1
|
||||
sensitivity = -0.5
|
||||
}
|
||||
|
||||
debug {
|
||||
disable_logs = false
|
||||
}
|
||||
|
||||
experimental {
|
||||
#hdr = true
|
||||
#xx_color_management_v4 = true
|
||||
}
|
||||
|
||||
# Example windowrule v1
|
||||
# windowrule = float, ^(kitty)$
|
||||
# Example windowrule v2
|
||||
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
|
||||
#windowrulev2 = workspace special, class:(scratchy)
|
@@ -0,0 +1,7 @@
|
||||
# browser.conf
|
||||
|
||||
# floorp
|
||||
$mainMod = SUPER
|
||||
|
||||
## keybind
|
||||
bind = $mainMod, F, exec, uwsm app -- one.ablaze.floorp.desktop
|
@@ -0,0 +1,21 @@
|
||||
# discord_workspace.conf
|
||||
|
||||
$discord_class = class:^(vesktop)$|^(discord)$|^(com.discord.app.Discord)$|^(WebCord)$|^(equibop)$
|
||||
|
||||
# workspace
|
||||
workspace = special:discord
|
||||
|
||||
# window rule
|
||||
windowrule = workspace special:discord silent, $discord_class
|
||||
#windowrule = workspace special:discord silent, class:^(discord)$
|
||||
#windowrule = opacity 0.9 0.9, $discord_class
|
||||
windowrule = allowsinput on, $discord_class
|
||||
|
||||
# key binds
|
||||
$mainMod = SUPER
|
||||
#bind = $mainMod, D, focuswindow, vesktop
|
||||
bind = $mainMod, D, togglespecialworkspace, discord
|
||||
bind = $mainMod SHIFT, D, movetoworkspace, special:discord
|
||||
|
||||
# discord overlay
|
||||
#exec-once = discover-overlay
|
@@ -0,0 +1,31 @@
|
||||
# env_vars.conf
|
||||
|
||||
# hyprcursor
|
||||
env = HYPRCURSOR_THEME,Bibata-Modern-Classic
|
||||
env = HYPRCURSOR_SIZE,24
|
||||
|
||||
# Some default env vars.
|
||||
env = XCURSOR_THEME,Bibata-Modern-Classic
|
||||
env = XCURSOR_SIZE,24
|
||||
# Toolkit Backend Vars
|
||||
env = CLUTTER_BACKEND,wayland
|
||||
# QT Variables
|
||||
env = QT_QPA_PLATFORMTHEME,kde
|
||||
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
|
||||
env = QT_QPA_PLATFORM,wayland
|
||||
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
|
||||
# XDG specs vars
|
||||
env = XDG_CURRENT_DESKTOP,Hyprland
|
||||
env = XDG_SESSION_TYPE,wayland
|
||||
env = XDG_SESSION_DESKTOP,Hyprland
|
||||
# set gtk-theme
|
||||
env = QT_QUICK_CONTROLS_STYLE,org.kde.desktop
|
||||
|
||||
# copy some environments into systemctl
|
||||
exec = /usr/bin/systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP QT_QPA_PLATFORMTHEME
|
||||
|
||||
# set default editor
|
||||
env = EDITOR,/usr/bin/nvim
|
||||
|
||||
# for hdr games
|
||||
env = DXVK_HDR,1
|
@@ -0,0 +1,39 @@
|
||||
# game_workspace.conf
|
||||
|
||||
# workspace number
|
||||
$game-workspace-number = 5
|
||||
|
||||
# window rules
|
||||
windowrule = workspace 9 silent, class:^(steam)$
|
||||
|
||||
# key binds
|
||||
$mainMod = SUPER
|
||||
bind = $mainMod, G, focuswindow, class:^(gamescope|steam)
|
||||
|
||||
# To put the window rules for the game workspace
|
||||
|
||||
# steam apps
|
||||
windowrule = workspace $game-workspace-number silent, class:^steam_app_\d+$
|
||||
|
||||
# gamescope
|
||||
windowrule = fullscreen, class:^(gamescope)$
|
||||
windowrule = workspace $game-workspace-number silent, class:^(gamescope)$
|
||||
|
||||
# Minecraft
|
||||
windowrule = workspace $game-workspace-number, class:^Minecraft.*
|
||||
|
||||
# factorio
|
||||
windowrule = workspace $game-workspace-number, class:^(factorio)$
|
||||
|
||||
# RetroArch flatpak
|
||||
windowrule = workspace $game-workspace-number, class:^(org.libretro.RetroArch)$
|
||||
|
||||
# dolphin emulator
|
||||
windowrule = workspace $game-workspace-number, class:^(dolphin-emu)$
|
||||
|
||||
# Slay the Spire
|
||||
windowrule = workspace $game-workspace-number, class:^(Slay the Spire)$
|
||||
|
||||
# Terraria
|
||||
windowrule = workspace $game-workspace-number, class:^(dotnet)$
|
||||
windowrule = fullscreen, class:^(dotnet)$
|
@@ -0,0 +1,36 @@
|
||||
# key_binds.conf
|
||||
|
||||
# Set programs that you use
|
||||
$fileManager = xdg-open "$HOME"
|
||||
$menu = uwsm app -- $(wofi --show drun --define=drun-print_desktop_file=true)
|
||||
#$menu = ags request -i launcher show
|
||||
$screenshot = hyprshot -m region --clipboard-only
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||
$mainMod = SUPER
|
||||
|
||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
bind = $mainMod SHIFT, C, killactive,
|
||||
bind = $mainMod, E, exec, $fileManager
|
||||
bind = $mainMod, V, togglefloating,
|
||||
bind = $mainMod, R, exec, $menu
|
||||
bind = $mainMod, P, pseudo, # dwindle
|
||||
bind = $mainMod, J, togglesplit, # dwindle
|
||||
bind = $mainMod SHIFT, F, fullscreen
|
||||
|
||||
# screenshots and screen recorder aylur dot files
|
||||
bind = $mainMod SHIFT, Print, exec, $screenshot
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
bind = $mainMod, left, movefocus, l
|
||||
bind = $mainMod, right, movefocus, r
|
||||
bind = $mainMod, up, movefocus, u
|
||||
bind = $mainMod, down, movefocus, d
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod SHIFT, mouse:272, movewindow
|
||||
bindm = $mainMod SHIFT, mouse:273, resizewindow
|
||||
|
||||
# global hotkeys
|
||||
# discord mute
|
||||
bind = CTRL SHIFT, M, pass, initialclass:^(discord)$
|
@@ -0,0 +1,7 @@
|
||||
# arrow_move_window.conf
|
||||
|
||||
# Move window with mainMod + Shift + arrow kyes
|
||||
bind = $mainMod SHIFT, left, movewindow, l
|
||||
bind = $mainMod SHIFT, right, movewindow, r
|
||||
bind = $mainMod SHIFT, up, movewindow, u
|
||||
bind = $mainMod SHIFT, down, movewindow, d
|
@@ -0,0 +1,16 @@
|
||||
# media_binds.conf
|
||||
$mainMod = SUPER
|
||||
|
||||
# media play-pause toggle
|
||||
bind = , XF86AudioPlay, exec, playerctl play-pause
|
||||
|
||||
# media volume up/down
|
||||
bind = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%-
|
||||
bind = , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 1%+
|
||||
|
||||
# media volume up/down
|
||||
bind = $mainMod, XF86AudioLowerVolume, exec, playerctl position 5-
|
||||
bind = $mainMod, XF86AudioRaiseVolume, exec, playerctl position 5+
|
||||
|
||||
# media pause
|
||||
bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
@@ -0,0 +1,34 @@
|
||||
# workspace_binds.conf
|
||||
$mainMod = SUPER
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bind = $mainMod, 1, workspace, 1
|
||||
bind = $mainMod, 2, workspace, 2
|
||||
bind = $mainMod, 3, workspace, 3
|
||||
bind = $mainMod, 4, workspace, 4
|
||||
bind = $mainMod, 5, workspace, 5
|
||||
bind = $mainMod, 6, workspace, 6
|
||||
bind = $mainMod, 7, workspace, 7
|
||||
bind = $mainMod, 8, workspace, 8
|
||||
bind = $mainMod, 9, workspace, 9
|
||||
bind = $mainMod, 0, workspace, 10
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||
|
||||
# Example special workspace (scratchpad)
|
||||
bind = $mainMod, S, togglespecialworkspace, magic
|
||||
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
@@ -0,0 +1,9 @@
|
||||
# terminal.conf
|
||||
|
||||
# workspace
|
||||
workspace = special:terminal
|
||||
|
||||
# key binds
|
||||
$mainMod = SUPER
|
||||
bind = $mainMod, T, togglespecialworkspace, terminal
|
||||
bind = $mainMod SHIFT, T, movetoworkspace, special:terminal
|
@@ -0,0 +1,7 @@
|
||||
[Desktop Entry]
|
||||
Name=Hyprland Hydro-os (uwsm managed)
|
||||
Comment=An intelligent dynamic tiling Wayland compositor, with Hydro-os configuration.
|
||||
Exec=uwsm start -- hyprland-hydro-os.desktop
|
||||
Type=Application
|
||||
DesktopNames=Hyprland
|
||||
Keywords=tiling;wayland;compositor;
|
@@ -0,0 +1,7 @@
|
||||
[Desktop Entry]
|
||||
Name=Hyprland Hydro-os
|
||||
Comment=An intelligent dynamic tiling Wayland compositor, with Hydro-os configuration.
|
||||
Exec=Hyprland --config /usr/share/hypr-hydro-os/hyprland.conf
|
||||
Type=Application
|
||||
DesktopNames=Hyprland
|
||||
Keywords=tiling;wayland;compositor;
|
@@ -1,8 +0,0 @@
|
||||
[Unit]
|
||||
Description=Download bootc updates
|
||||
Documentation=man:bootc(8)
|
||||
ConditionPathExists=/run/ostree-booted
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/bootc update --quiet
|
@@ -1,12 +0,0 @@
|
||||
[Unit]
|
||||
Description=Download bootc updates
|
||||
Documentation=man:bootc(8)
|
||||
ConditionPathExists=/run/ostree-booted
|
||||
|
||||
[Timer]
|
||||
OnBootSec=15min
|
||||
OnUnitInactiveSec=8h
|
||||
RandomizedDelaySec=2h
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
@@ -1,5 +0,0 @@
|
||||
[Unit]
|
||||
Description=Update flatpaks
|
||||
|
||||
[Service]
|
||||
ExecStart=flatpak update --noninteractive
|
@@ -1,9 +0,0 @@
|
||||
[Unit]
|
||||
Description=Update flatpak
|
||||
|
||||
[Timer]
|
||||
OnBootSec=15min
|
||||
OnCalendar=daily
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
17
files/systemd/user/discord.service
Normal file
17
files/systemd/user/discord.service
Normal file
@@ -0,0 +1,17 @@
|
||||
[Unit]
|
||||
Description=The VoIP program targeted towards gaming.
|
||||
# order startup after WM
|
||||
After=graphical-session.target
|
||||
|
||||
[Service]
|
||||
Type=exec
|
||||
# Repurpose XDG Autostart filtering
|
||||
ExecCondition=/lib/systemd/systemd-xdg-autostart-condition "wlroots:sway:Wayfire:labwc:Hyprland" ""
|
||||
ExecStart=/usr/bin/flatpak run com.discordapp.Discord
|
||||
Slice=app-graphical.slice
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical-session.target
|
||||
# Alternatively can be wanted by specific WMs' targets
|
||||
# Should also be duplicated in 'After=' to avoid ordering loop
|
||||
#WantedBy=wayland-session@hyprland.desktop.target
|
@@ -1,5 +0,0 @@
|
||||
[Unit]
|
||||
Description=Update flatpaks
|
||||
|
||||
[Service]
|
||||
ExecStart=flatpak update --noninteractive
|
@@ -1,9 +0,0 @@
|
||||
[Unit]
|
||||
Description=Update flatpak
|
||||
|
||||
[Timer]
|
||||
OnBootSec=15min
|
||||
OnCalendar=daily
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
@@ -1,5 +1,6 @@
|
||||
[Unit]
|
||||
Description=A panel bar branched from AGS maintained by Hyprland devs.
|
||||
Documentation=man:waybar(5)
|
||||
# order startup after WM
|
||||
After=graphical-session.target
|
||||
|
||||
@@ -7,7 +8,7 @@ After=graphical-session.target
|
||||
Type=exec
|
||||
# Repurpose XDG Autostart filtering
|
||||
ExecCondition=/lib/systemd/systemd-xdg-autostart-condition "wlroots:sway:Wayfire:labwc:Hyprland" ""
|
||||
ExecStart=/usr/bin/quickshell
|
||||
ExecStart=/usr/bin/hyprpanel
|
||||
Restart=on-failure
|
||||
Slice=app-graphical.slice
|
||||
|
17
files/systemd/user/steam.service
Normal file
17
files/systemd/user/steam.service
Normal file
@@ -0,0 +1,17 @@
|
||||
[Unit]
|
||||
Description=The pc gaming platform
|
||||
# order startup after WM
|
||||
After=graphical-session.target
|
||||
|
||||
[Service]
|
||||
Type=exec
|
||||
# Repurpose XDG Autostart filtering
|
||||
ExecCondition=/lib/systemd/systemd-xdg-autostart-condition "wlroots:sway:Wayfire:labwc:Hyprland" ""
|
||||
ExecStart=/usr/bin/steam %U
|
||||
Slice=app-graphical.slice
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical-session.target
|
||||
# Alternatively can be wanted by specific WMs' targets
|
||||
# Should also be duplicated in 'After=' to avoid ordering loop
|
||||
#WantedBy=wayland-session@hyprland.desktop.target
|
@@ -1,15 +0,0 @@
|
||||
[Unit]
|
||||
Description=Background service
|
||||
# order startup after WM
|
||||
After=graphical-session.target
|
||||
|
||||
[Service]
|
||||
Type=exec
|
||||
# Repurpose XDG Autostart filtering
|
||||
ExecCondition=/lib/systemd/systemd-xdg-autostart-condition "wlroots:sway:Wayfire:labwc:Hyprland" ""
|
||||
ExecStart=/usr/bin/swww-daemon
|
||||
Restart=on-failure
|
||||
Slice=app-graphical.slice
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical-session.target
|
17
files/systemd/user/terminal.service
Normal file
17
files/systemd/user/terminal.service
Normal file
@@ -0,0 +1,17 @@
|
||||
[Unit]
|
||||
Description=The Kitty terminal emulator.
|
||||
# order startup after WM
|
||||
After=graphical-session.target
|
||||
|
||||
[Service]
|
||||
Type=exec
|
||||
# Repurpose XDG Autostart filtering
|
||||
ExecCondition=/lib/systemd/systemd-xdg-autostart-condition "wlroots:sway:Wayfire:labwc:Hyprland" ""
|
||||
ExecStart=hyprctl dispatch exec [workspace special:terminal silent] /usr/bin/kitty
|
||||
Slice=app-graphical.slice
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical-session.target
|
||||
# Alternatively can be wanted by specific WMs' targets
|
||||
# Should also be duplicated in 'After=' to avoid ordering loop
|
||||
#WantedBy=wayland-session@hyprland.desktop.target
|
9
recipes/components/autostart-module.yml
Normal file
9
recipes/components/autostart-module.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
modules:
|
||||
- type: systemd
|
||||
user:
|
||||
enabled:
|
||||
- hyprpanel.service
|
||||
- hyprpolkitagent.service
|
||||
- discord.service
|
||||
- steam.service
|
||||
- terminal.service
|
140
recipes/components/base-module.yml
Normal file
140
recipes/components/base-module.yml
Normal file
@@ -0,0 +1,140 @@
|
||||
modules:
|
||||
- type: dnf
|
||||
repos:
|
||||
copr:
|
||||
- ublue-os/packages
|
||||
install:
|
||||
packages:
|
||||
- ublue-os-udev-rules
|
||||
- ublue-os-update-services
|
||||
- ublue-os-signing
|
||||
|
||||
- type: systemd
|
||||
system:
|
||||
enabled:
|
||||
- rpm-ostreed-automatic.timer
|
||||
- podman-auto-update.timer
|
||||
- flatpak-system-update.timer
|
||||
user:
|
||||
enabled:
|
||||
- podman-auto-update.timer
|
||||
- flatpak-user-update.timer
|
||||
|
||||
- type: dnf
|
||||
install:
|
||||
packages:
|
||||
# environment
|
||||
# fuzzy finder
|
||||
- fzf
|
||||
# power profiles like
|
||||
- tuned-ppd
|
||||
# xwayland
|
||||
- xorg-x11-server-Xwayland
|
||||
# headset control
|
||||
- headsetcontrol
|
||||
# media related
|
||||
- mediainfo
|
||||
- playerctl
|
||||
- alsa-firmware
|
||||
# text editor
|
||||
- neovim
|
||||
# tools for evocation
|
||||
- just
|
||||
# zip utilities
|
||||
- p7zip
|
||||
# qt libraries
|
||||
- qt5-qtwayland
|
||||
- qt6-qtwayland
|
||||
# emoji fonts
|
||||
- google-noto-emoji-fonts
|
||||
# vulkan
|
||||
- vulkan-tools
|
||||
- vulkan-validation-layers
|
||||
# kirigami
|
||||
- qt5-kirigami
|
||||
- qt6-kirigami
|
||||
- qt6-kirigami-addons
|
||||
|
||||
# polkit
|
||||
- polkit
|
||||
- polkit-kde
|
||||
|
||||
# sound
|
||||
- wireplumber
|
||||
- pipewire
|
||||
- pamixer
|
||||
- pulseaudio-utils
|
||||
|
||||
# networking
|
||||
- bluez
|
||||
- bluez-tools
|
||||
- firewall-config
|
||||
|
||||
# file manager
|
||||
- dolphin
|
||||
- ark
|
||||
|
||||
# theme and GUI
|
||||
- fontawesome-fonts-all
|
||||
- gnome-themes-extra
|
||||
- gnome-icon-theme
|
||||
- paper-icon-theme
|
||||
- breeze-icon-theme
|
||||
- papirus-icon-theme
|
||||
|
||||
# software
|
||||
- plasma-discover
|
||||
- plasma-discover-flatpak
|
||||
- plasma-discover-rpm-ostree
|
||||
|
||||
# settings and dependencies
|
||||
- plasma-systemsettings
|
||||
- kf6-kconfig
|
||||
- kf6-kcrash
|
||||
- kf6-kdbusaddons
|
||||
- kf6-kdoctools
|
||||
- kf6-kguiaddons
|
||||
- kf6-ki18n
|
||||
- kf6-kiconthemes
|
||||
- kf6-kitemmodels
|
||||
- kf6-kitemviews
|
||||
- kf6-kcmutils
|
||||
- kf6-kio
|
||||
- kf6-krunner
|
||||
- kf6-kservice
|
||||
- kf6-kwidgetsaddons
|
||||
- kf6-kwindowsystem
|
||||
- kf6-kxmlgui
|
||||
- plasma-activites
|
||||
- desktop-file-utils
|
||||
- extra-cmake-modules
|
||||
- kf6-rpm-macros
|
||||
|
||||
# power
|
||||
- powerstat
|
||||
|
||||
remove:
|
||||
packages:
|
||||
# remove firefox
|
||||
- firefox
|
||||
- firefox-langpacks
|
||||
|
||||
- type: dnf
|
||||
repos:
|
||||
nonfree: rpmfusion
|
||||
replace:
|
||||
- from-repo: rpmfusion-nonfree
|
||||
packages:
|
||||
- libheif
|
||||
- libva
|
||||
- libva-intel-media-driver
|
||||
- mesa-dri-drivers
|
||||
- mesa-filesystem
|
||||
- mesa-libEGL
|
||||
- mesa-libGL
|
||||
- mesa-libgbm
|
||||
- mesa-va-drivers
|
||||
- mesa-vulkan-drivers
|
||||
- gstreamer1-plugin-libav
|
||||
|
||||
|
@@ -1,7 +0,0 @@
|
||||
modules:
|
||||
- type: chezmoi
|
||||
repository: "https://git.hydrosaber.com/eriq12/dotfiles"
|
||||
|
||||
- type: script
|
||||
scripts:
|
||||
- setupchezmoiskel.sh
|
@@ -1,19 +1,9 @@
|
||||
modules:
|
||||
- type: default-flatpaks
|
||||
configurations:
|
||||
- scope: user
|
||||
repo:
|
||||
title: Flathub (user)
|
||||
notify: true
|
||||
system:
|
||||
install:
|
||||
- one.ablaze.floorp
|
||||
- io.github.equicord.equibop
|
||||
- scope: system
|
||||
repo:
|
||||
title: Flathub
|
||||
notify: true
|
||||
user:
|
||||
install:
|
||||
- com.github.tchx84.Flatseal
|
||||
- io.missioncenter.MissionCenter
|
||||
- io.github.flattool.Ignition
|
||||
- net.davidotek.pupgui2
|
||||
- org.gnome.Loupe
|
||||
- com.discordapp.Discord
|
@@ -1,8 +0,0 @@
|
||||
modules:
|
||||
- from-file: dnf/multimedia.yml
|
||||
- from-file: dnf/sddm.yml
|
||||
- from-file: dnf/hyprland.yml
|
||||
- from-file: dnf/environment.yml
|
||||
- from-file: dnf/applications.yml
|
||||
- from-file: dnf/themes.yml
|
||||
- from-file: dnf/drivers.yml
|
@@ -1,4 +0,0 @@
|
||||
modules:
|
||||
- type: gschema-overrides
|
||||
include:
|
||||
- zz1-hydro-os-theming.gschema.override
|
11
recipes/components/hyprland-module.yml
Normal file
11
recipes/components/hyprland-module.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
modules:
|
||||
- type: dnf
|
||||
repos:
|
||||
copr:
|
||||
- solopasha/hyprland
|
||||
install:
|
||||
packages:
|
||||
- hyprland-git
|
||||
- hyprpanel
|
||||
- hyprpolkitagent
|
||||
- hyprshot
|
16
recipes/components/nvidia-module.yml
Normal file
16
recipes/components/nvidia-module.yml
Normal file
@@ -0,0 +1,16 @@
|
||||
modules:
|
||||
- type: containerfile
|
||||
snippets:
|
||||
- COPY --from=ghcr.io/ublue-os/akmods-nvidia:main-42 /rpms/ /tmp/rpms
|
||||
- RUN find /tmp/rpms
|
||||
- RUN rpm-ostree install /tmp/rpms/ublue-os/ublue-os-nvidia*.rpm
|
||||
- RUN sed -i '0,/enabled=0/{s/enabled=0/enabled=1/}' /etc/yum.repos.d/nvidia-container-toolkit.repo
|
||||
- RUN sed -i '0,/enabled=0/{s/enabled=0/enabled=1\npriority=90/}' /etc/yum.repos.d/negativo17-fedora-nvidia.repo
|
||||
- RUN rpm-ostree install /tmp/rpms/kmods/kmod-nvidia*.rpm libnvidia-fbc libva-nvidia-driver nvidia-driver nvidia-modprobe nvidia-persistenced nvidia-settings nvidia-container-toolkit
|
||||
|
||||
- type: script
|
||||
scripts:
|
||||
- nvidia/installtoolkitpolicy.sh
|
||||
- nvidia/removeunusedrepos.sh
|
||||
- nvidia/setearlyloading.sh
|
||||
- nvidia/setdrmvariables.sh
|
@@ -1,5 +0,0 @@
|
||||
modules:
|
||||
- type: script
|
||||
scripts:
|
||||
- addimageinfo.sh
|
||||
- installohmyzsh.sh
|
15
recipes/components/sddm-module.yml
Normal file
15
recipes/components/sddm-module.yml
Normal file
@@ -0,0 +1,15 @@
|
||||
modules:
|
||||
- type: dnf
|
||||
install:
|
||||
packages:
|
||||
- sddm
|
||||
- sddm-themes
|
||||
- qt5-qtgraphicaleffects
|
||||
- qt5-qtquickcontrols2
|
||||
- qt5-qtsvg
|
||||
- kwallet
|
||||
- pam-kwallet
|
||||
|
||||
- type: script
|
||||
scripts:
|
||||
- setsddmtheming.sh
|
16
recipes/components/steam-module.yml
Normal file
16
recipes/components/steam-module.yml
Normal file
@@ -0,0 +1,16 @@
|
||||
modules:
|
||||
- type: dnf
|
||||
repos:
|
||||
nonfree: rpmfusion
|
||||
install:
|
||||
packages:
|
||||
- steam
|
||||
# for game mode and big picture mode
|
||||
- gamescope
|
||||
# for performance view
|
||||
- mangohud
|
||||
|
||||
- type: default-flatpaks
|
||||
system:
|
||||
install:
|
||||
- net.davidotek.pupgui2
|
@@ -1,12 +0,0 @@
|
||||
modules:
|
||||
- type: systemd
|
||||
system:
|
||||
enabled:
|
||||
- bootc-fetch-updates.timer
|
||||
- flatpak-system-update.timer
|
||||
user:
|
||||
enabled:
|
||||
- flatpak-user-update.timer
|
||||
- swww.service
|
||||
- quickshell.service
|
||||
- hyprpolkitagent.service
|
@@ -1,70 +0,0 @@
|
||||
modules:
|
||||
- type: dnf
|
||||
repos:
|
||||
nonfree: rpmfusion
|
||||
files:
|
||||
- codium.repo
|
||||
copr:
|
||||
- mavit/discover-overlay
|
||||
keys:
|
||||
- https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/raw/master/pub.gpg
|
||||
install:
|
||||
packages:
|
||||
# applications
|
||||
# fuzzy finder
|
||||
- fzf
|
||||
|
||||
# dmenu runner
|
||||
- fuzzel
|
||||
|
||||
# file manager
|
||||
- nautilus
|
||||
- file-roller
|
||||
- file-roller-nautilus
|
||||
|
||||
- ffmpegthumbnailer
|
||||
|
||||
# music / video player
|
||||
- vlc
|
||||
|
||||
# text editor
|
||||
- neovim
|
||||
- codium
|
||||
|
||||
# software store
|
||||
- gnome-software
|
||||
|
||||
# disk management
|
||||
- gnome-disk-utility
|
||||
|
||||
# kdeconnect
|
||||
- kde-connect
|
||||
|
||||
# discord overlay
|
||||
- discover-overlay
|
||||
|
||||
# settings apps
|
||||
# qt
|
||||
- qt5ct
|
||||
- qt6ct
|
||||
|
||||
# gtk
|
||||
- nwg-look
|
||||
|
||||
# zsh
|
||||
- zsh
|
||||
# zoxide for z stuff
|
||||
- zoxide
|
||||
|
||||
# steam
|
||||
- steam
|
||||
# for game mode and big picture mode
|
||||
- gamescope
|
||||
# for performance view
|
||||
- mangohud
|
||||
|
||||
remove:
|
||||
packages:
|
||||
# remove firefox
|
||||
- firefox
|
||||
- firefox-langpacks
|
@@ -1,17 +0,0 @@
|
||||
modules:
|
||||
- type: dnf
|
||||
repos:
|
||||
files:
|
||||
- https://negativo17.org/repos/fedora-steam.repo
|
||||
- https://openrazer.github.io/hardware:razer.repo
|
||||
install:
|
||||
packages:
|
||||
- dkms
|
||||
- openrazer-meta
|
||||
- repo: fedora-steam
|
||||
packages:
|
||||
- dkms-xpadneo
|
||||
|
||||
- type: script
|
||||
scripts:
|
||||
- installdkmsmodules.sh
|
@@ -1,47 +0,0 @@
|
||||
modules:
|
||||
- type: dnf
|
||||
repos:
|
||||
files:
|
||||
- codium.repo
|
||||
copr:
|
||||
- ublue-os/packages
|
||||
install:
|
||||
packages:
|
||||
# ublue udev rules and signing
|
||||
- ublue-os-udev-rules
|
||||
- ublue-os-signing
|
||||
|
||||
# environment
|
||||
# xwayland
|
||||
- xorg-x11-server-Xwayland
|
||||
# headset control
|
||||
- headsetcontrol
|
||||
# media related
|
||||
- mediainfo
|
||||
- playerctl
|
||||
- alsa-firmware
|
||||
# zip utilities
|
||||
- p7zip
|
||||
# qt libraries
|
||||
- qt5-qtwayland
|
||||
- qt6-qtwayland
|
||||
# vulkan
|
||||
- vulkan-tools
|
||||
- vulkan-validation-layers
|
||||
# xdg-desktop-portals
|
||||
- xdg-desktop-portal
|
||||
- xdg-desktop-portal-gtk
|
||||
- xdg-desktop-portal-gnome
|
||||
|
||||
# polkit
|
||||
- polkit
|
||||
|
||||
# sound
|
||||
- wireplumber
|
||||
- pipewire
|
||||
- headsetcontrol
|
||||
|
||||
# networking
|
||||
- bluez
|
||||
- bluez-tools
|
||||
- firewall-config
|
@@ -1,20 +0,0 @@
|
||||
modules:
|
||||
- type: dnf
|
||||
repos:
|
||||
copr:
|
||||
- solopasha/hyprland
|
||||
- errornointernet/quickshell
|
||||
install:
|
||||
packages:
|
||||
- aquamarine
|
||||
- hyprland-git
|
||||
- hyprpolkitagent
|
||||
- hyprshot
|
||||
- hyprland-qt-support
|
||||
- hyprland-qtutils
|
||||
- xdg-desktop-portal-hyprland
|
||||
- swww
|
||||
- matugen
|
||||
|
||||
# quickshell
|
||||
- quickshell
|
@@ -1,38 +0,0 @@
|
||||
modules:
|
||||
- type: dnf
|
||||
repos:
|
||||
nonfree: rpmfusion
|
||||
install:
|
||||
packages:
|
||||
# other multimedia
|
||||
- gstreamer1-plugin-libav
|
||||
- gstreamer1-plugins-bad-free-extras
|
||||
- gstreamer1-plugins-bad-freeworld
|
||||
- gstreamer1-plugins-ugly
|
||||
- gstreamer1-vaapi
|
||||
|
||||
remove:
|
||||
packages:
|
||||
# old codecs
|
||||
- fdk-aac-free
|
||||
- libavcodec-free
|
||||
- libavdevice-free
|
||||
- libavfilter-free
|
||||
- libavformat-free
|
||||
- libavutil-free
|
||||
- libpostproc-free
|
||||
- libswresample-free
|
||||
- libswscale-free
|
||||
- ffmpeg-free
|
||||
|
||||
replace:
|
||||
- from-repo: rpmfusion-free-updates
|
||||
packages:
|
||||
- old: mesa-va-drivers
|
||||
new: mesa-va-drivers-freeworld
|
||||
|
||||
- type: dnf
|
||||
install:
|
||||
packages:
|
||||
- ffmpeg
|
||||
- mesa-vdpau-drivers-freeworld
|
@@ -1,28 +0,0 @@
|
||||
modules:
|
||||
- type: dnf
|
||||
install:
|
||||
packages:
|
||||
# sddm
|
||||
- sddm
|
||||
- sddm-themes
|
||||
- qt5-qtgraphicaleffects
|
||||
- qt5-qtquickcontrols2
|
||||
- qt5-qtsvg
|
||||
|
||||
# added libraries for quickshell
|
||||
- qt5-qtimageformats
|
||||
- qt5-qtmultimedia
|
||||
- qt6-qtquickcontrols2
|
||||
- qt6-qtsvg
|
||||
- qt6-qtimageformats
|
||||
- qt6-qtmultimedia
|
||||
- qt6-qt5compat
|
||||
|
||||
# added for editing quickshell (qmlls)
|
||||
- qt5-qtdeclarative-devel
|
||||
- qt6-qtdeclarative-devel
|
||||
|
||||
# password keeper
|
||||
- kf6-kwallet
|
||||
- kwalletmanager
|
||||
- pam-kwallet
|
@@ -1,17 +0,0 @@
|
||||
modules:
|
||||
- type: dnf
|
||||
repos:
|
||||
copr:
|
||||
- peterwu/rendezvous
|
||||
install:
|
||||
packages:
|
||||
# Themes and fonts
|
||||
# emoji fonts
|
||||
- google-noto-emoji-fonts
|
||||
|
||||
# theme and GUI
|
||||
- fontawesome-fonts-all
|
||||
- gnome-themes-extra
|
||||
- papirus-icon-theme
|
||||
- bibata-cursor-themes
|
||||
- material-icons-fonts
|
@@ -12,12 +12,13 @@ image-version: 42 # latest is also supported if you want new updates ASAP
|
||||
# module configuration, executed in order
|
||||
# you can include multiple instances of the same module
|
||||
modules:
|
||||
- from-file: components/dnf-module.yml
|
||||
- from-file: components/script-module.yml
|
||||
- from-file: components/sddm-module.yml
|
||||
- from-file: components/base-module.yml
|
||||
- from-file: components/sys-files-module.yml
|
||||
- from-file: components/systemd-module.yml
|
||||
- from-file: components/hyprland-module.yml
|
||||
- from-file: components/steam-module.yml
|
||||
- from-file: components/autostart-module.yml
|
||||
- from-file: components/default-flatpak.yml
|
||||
- from-file: components/chezmoi-module.yml
|
||||
|
||||
- type: signing
|
||||
- type: signing # this sets up the proper policy & signing files for signed images to work fully
|
||||
|
||||
|
25
recipes/recipe_nvidia.yml
Normal file
25
recipes/recipe_nvidia.yml
Normal file
@@ -0,0 +1,25 @@
|
||||
---
|
||||
# yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json
|
||||
# image will be published to ghcr.io/<user>/<name>
|
||||
name: hydro-os-nvidia
|
||||
# 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: quay.io/fedora-ostree-desktops/base-atomic
|
||||
image-version: 42 # latest is also supported if you want new updates ASAP
|
||||
|
||||
# module configuration, executed in order
|
||||
# you can include multiple instances of the same module
|
||||
modules:
|
||||
- from-file: components/sddm-module.yml
|
||||
- from-file: components/base-module.yml
|
||||
- from-file: components/nvidia-module.yml
|
||||
- from-file: components/sys-files-module.yml
|
||||
- from-file: components/hyprland-module.yml
|
||||
- from-file: components/steam-module.yml
|
||||
- from-file: components/autostart-module.yml
|
||||
- from-file: components/default-flatpak.yml
|
||||
|
||||
- type: signing # this sets up the proper policy & signing files for signed images to work fully
|
||||
|
Reference in New Issue
Block a user