changes like workspace added to qs and zen as browser
This commit is contained in:
@@ -30,6 +30,8 @@
|
||||
lsof
|
||||
(gamescope.overrideAttrs {
|
||||
enableWsi = true;
|
||||
# Fixes some games being blurry under wayland backend
|
||||
NIX_CFLAGS_COMPILE = [ "-fno-fast-math" ];
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
den,
|
||||
modules,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
@@ -11,7 +12,7 @@
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
modules.helium = {
|
||||
modules.helium = settings: {
|
||||
homeManager =
|
||||
{ pkgs, home, ... }:
|
||||
{
|
||||
@@ -23,7 +24,7 @@
|
||||
xdg.configFile."net.imput.helium/WidevineCdm/latest-component-updated-widevine-cdm" = {
|
||||
text = ''{"Path":"${pkgs.widevine-cdm}/share/google/chrome/WidevineCdm"}'';
|
||||
};
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
wayland.windowManager.hyprland.settings = lib.mkIf settings.default {
|
||||
binds = [
|
||||
"$mainMod, E, exec, helium"
|
||||
];
|
||||
|
||||
@@ -170,7 +170,6 @@
|
||||
windowrule = [
|
||||
"match:class .*, suppress_event maximize"
|
||||
"match:class ^(gamescope)$, workspace 5"
|
||||
"match:class ^(gamescope)$, fullscreen true"
|
||||
"match:class ^(gamescope)$, immediate true"
|
||||
"match:class ^(steam)$, workspace 6 silent"
|
||||
"match:class ^(vesktop)$, workspace 8 silent"
|
||||
|
||||
156
config/modules/nix-ld.nix
Normal file
156
config/modules/nix-ld.nix
Normal file
@@ -0,0 +1,156 @@
|
||||
{ den, modules, ... }:
|
||||
{
|
||||
modules.nix-ld = {
|
||||
nixos =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.nix-ld = {
|
||||
enable = true;
|
||||
libraries = with pkgs; [
|
||||
# List by default
|
||||
zlib
|
||||
zstd
|
||||
stdenv.cc.cc
|
||||
curl
|
||||
openssl
|
||||
attr
|
||||
libssh
|
||||
bzip2
|
||||
libxml2
|
||||
acl
|
||||
libsodium
|
||||
util-linux
|
||||
xz
|
||||
systemd
|
||||
|
||||
# My own additions
|
||||
xorg.libXcomposite
|
||||
xorg.libXtst
|
||||
xorg.libXrandr
|
||||
xorg.libXext
|
||||
xorg.libX11
|
||||
xorg.libXfixes
|
||||
libGL
|
||||
libva
|
||||
pipewire
|
||||
xorg.libxcb
|
||||
xorg.libXdamage
|
||||
xorg.libxshmfence
|
||||
xorg.libXxf86vm
|
||||
libelf
|
||||
|
||||
# Required
|
||||
glib
|
||||
gtk2
|
||||
|
||||
# Inspired by steam
|
||||
# https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/st/steam/package.nix#L36-L85
|
||||
networkmanager
|
||||
vulkan-loader
|
||||
libgbm
|
||||
libdrm
|
||||
libxcrypt
|
||||
coreutils
|
||||
pciutils
|
||||
zenity
|
||||
# glibc_multi.bin # Seems to cause issue in ARM
|
||||
|
||||
# # Without these it silently fails
|
||||
xorg.libXinerama
|
||||
xorg.libXcursor
|
||||
xorg.libXrender
|
||||
xorg.libXScrnSaver
|
||||
xorg.libXi
|
||||
xorg.libSM
|
||||
xorg.libICE
|
||||
gnome2.GConf
|
||||
nspr
|
||||
nss
|
||||
cups
|
||||
libcap
|
||||
SDL2
|
||||
libusb1
|
||||
dbus-glib
|
||||
ffmpeg
|
||||
# Only libraries are needed from those two
|
||||
libudev0-shim
|
||||
|
||||
# needed to run unity
|
||||
gtk3
|
||||
icu
|
||||
libnotify
|
||||
gsettings-desktop-schemas
|
||||
# https://github.com/NixOS/nixpkgs/issues/72282
|
||||
# https://github.com/NixOS/nixpkgs/blob/2e87260fafdd3d18aa1719246fd704b35e55b0f2/pkgs/applications/misc/joplin-desktop/default.nix#L16
|
||||
# log in /home/leo/.config/unity3d/Editor.log
|
||||
# it will segfault when opening files if you don’t do:
|
||||
# export XDG_DATA_DIRS=/nix/store/0nfsywbk0qml4faa7sk3sdfmbd85b7ra-gsettings-desktop-schemas-43.0/share/gsettings-schemas/gsettings-desktop-schemas-43.0:/nix/store/rkscn1raa3x850zq7jp9q3j5ghcf6zi2-gtk+3-3.24.35/share/gsettings-schemas/gtk+3-3.24.35/:$XDG_DATA_DIRS
|
||||
# other issue: (Unity:377230): GLib-GIO-CRITICAL **: 21:09:04.706: g_dbus_proxy_call_sync_internal: assertion 'G_IS_DBUS_PROXY (proxy)' failed
|
||||
|
||||
# Verified games requirements
|
||||
xorg.libXt
|
||||
xorg.libXmu
|
||||
libogg
|
||||
libvorbis
|
||||
SDL
|
||||
SDL2_image
|
||||
glew110
|
||||
libidn
|
||||
tbb
|
||||
|
||||
# Other things from runtime
|
||||
flac
|
||||
freeglut
|
||||
libjpeg
|
||||
libpng
|
||||
libpng12
|
||||
libsamplerate
|
||||
libmikmod
|
||||
libtheora
|
||||
libtiff
|
||||
pixman
|
||||
speex
|
||||
SDL_image
|
||||
SDL_ttf
|
||||
SDL_mixer
|
||||
SDL2_ttf
|
||||
SDL2_mixer
|
||||
libappindicator-gtk2
|
||||
libdbusmenu-gtk2
|
||||
libindicator-gtk2
|
||||
libcaca
|
||||
libcanberra
|
||||
libgcrypt
|
||||
libvpx
|
||||
librsvg
|
||||
xorg.libXft
|
||||
libvdpau
|
||||
# ...
|
||||
# Some more libraries that I needed to run programs
|
||||
pango
|
||||
cairo
|
||||
atk
|
||||
gdk-pixbuf
|
||||
fontconfig
|
||||
freetype
|
||||
dbus
|
||||
alsa-lib
|
||||
expat
|
||||
# for blender
|
||||
libxkbcommon
|
||||
|
||||
libxcrypt-legacy # For natron
|
||||
libGLU # For natron
|
||||
|
||||
fribidi
|
||||
harfbuzz
|
||||
libgpg-error
|
||||
|
||||
# Appimages need fuse, e.g. https://musescore.org/fr/download/musescore-x86_64.AppImage
|
||||
fuse
|
||||
e2fsprogs
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -32,6 +32,7 @@
|
||||
ripgrep
|
||||
# misc
|
||||
nixd
|
||||
tree-sitter
|
||||
];
|
||||
performance.byteCompileLua = {
|
||||
enable = true;
|
||||
@@ -174,7 +175,7 @@
|
||||
tiny-inline-diagnostic.enable = true;
|
||||
# persisted.enable = true;
|
||||
auto-session = {
|
||||
enable = true;
|
||||
enable = false;
|
||||
settings = {
|
||||
enabled = true;
|
||||
auto_save = true;
|
||||
@@ -190,6 +191,7 @@
|
||||
lua
|
||||
make
|
||||
markdown
|
||||
rust
|
||||
nix
|
||||
regex
|
||||
toml
|
||||
|
||||
@@ -53,12 +53,12 @@ Scope {
|
||||
height: clockText.height
|
||||
radius: 3.5
|
||||
|
||||
color: "white"
|
||||
color: Colors.backgroundAlt
|
||||
|
||||
anchors.centerIn: parent
|
||||
Text {
|
||||
id: clockText
|
||||
// font.pointSize: 24
|
||||
color: Colors.textPrimary
|
||||
text: Clock.time
|
||||
}
|
||||
}
|
||||
|
||||
109
config/modules/quickshell/quickshell/Colors.qml
Normal file
109
config/modules/quickshell/quickshell/Colors.qml
Normal file
@@ -0,0 +1,109 @@
|
||||
pragma Singleton
|
||||
import QtQuick 2.15
|
||||
|
||||
// Gruvbox Dark — base24 QML singleton
|
||||
// Notes:
|
||||
// - This is a template for a "base24" palette. Replace the baseNN hex values
|
||||
// with your exact base24 values if you have them.
|
||||
// - Semantic aliases (background, textPrimary, accentBlue, etc.) map to the
|
||||
// palette entries and make QML usage easier.
|
||||
|
||||
// "Thanks CoPilot" - Doloro
|
||||
|
||||
QtObject {
|
||||
id: gruvbox
|
||||
|
||||
// ---- Base24 palette (base00 .. base23) ----
|
||||
// Replace these hex values with exact ones from the base24 palette if needed.
|
||||
property color base00: "#1d2021" // darkest background
|
||||
property color base01: "#282828"
|
||||
property color base02: "#32302f"
|
||||
property color base03: "#3c3836"
|
||||
property color base04: "#504945"
|
||||
property color base05: "#665c54"
|
||||
property color base06: "#7c6f64"
|
||||
property color base07: "#928374"
|
||||
property color base08: "#bdae93"
|
||||
property color base09: "#d5c4a1"
|
||||
property color base10: "#ebdbb2" // main foreground
|
||||
property color base11: "#fbf1c7"
|
||||
property color base12: "#cc241d" // red
|
||||
property color base13: "#d65d0e" // orange
|
||||
property color base14: "#d79921" // yellow
|
||||
property color base15: "#98971a" // green
|
||||
property color base16: "#689d6a" // aqua/green
|
||||
property color base17: "#8ec07c" // light aqua
|
||||
property color base18: "#458588" // blue
|
||||
property color base19: "#b16286" // purple
|
||||
property color base20: "#a89984" // muted
|
||||
property color base21: "#7c6f64" // subtle
|
||||
property color base22: "#504945"
|
||||
property color base23: "#282828" // repeat or very dark
|
||||
|
||||
// ---- Semantic aliases (use these in your QML components) ----
|
||||
property color background: base00
|
||||
property color backgroundAlt: base01
|
||||
property color surface: base02
|
||||
property color surfaceAlt: base03
|
||||
|
||||
property color textPrimary: base10
|
||||
property color textSecondary: base06
|
||||
property color textDisabled: base04
|
||||
property color border: base05
|
||||
property color muted: base20
|
||||
|
||||
// accents
|
||||
property color accentRed: base12
|
||||
property color accentOrange: base13
|
||||
property color accentYellow: base14
|
||||
property color accentGreen: base15
|
||||
property color accentAqua: base16
|
||||
property color accentLightAqua: base17
|
||||
property color accentBlue: base18
|
||||
property color accentPurple: base19
|
||||
|
||||
// Example semantic levels for UI elements
|
||||
property color windowBackground: background
|
||||
property color panelBackground: surface
|
||||
property color cardBackground: surfaceAlt
|
||||
property color primaryText: textPrimary
|
||||
property color secondaryText: textSecondary
|
||||
property color highlight: accentBlue
|
||||
property color danger: accentRed
|
||||
property color success: accentGreen
|
||||
property color warning: accentYellow
|
||||
|
||||
// ---- Helper function ----
|
||||
// Returns a color by semantic name (string). Useful for dynamic lookups.
|
||||
function colorFor(name) {
|
||||
switch (name) {
|
||||
case "background":
|
||||
return gruvbox.background;
|
||||
case "panelBackground":
|
||||
return gruvbox.panelBackground;
|
||||
case "cardBackground":
|
||||
return gruvbox.cardBackground;
|
||||
case "primaryText":
|
||||
return gruvbox.primaryText;
|
||||
case "secondaryText":
|
||||
return gruvbox.secondaryText;
|
||||
case "highlight":
|
||||
return gruvbox.highlight;
|
||||
case "danger":
|
||||
return gruvbox.danger;
|
||||
case "success":
|
||||
return gruvbox.success;
|
||||
case "warning":
|
||||
return gruvbox.warning;
|
||||
case "accentBlue":
|
||||
return gruvbox.accentBlue;
|
||||
case "accentRed":
|
||||
return gruvbox.accentRed;
|
||||
case "accentGreen":
|
||||
return gruvbox.accentGreen;
|
||||
default:
|
||||
// fallback to primary text if unknown
|
||||
return gruvbox.textPrimary;
|
||||
}
|
||||
}
|
||||
}
|
||||
20
config/modules/quickshell/quickshell/HyprlandHelpers.qml
Normal file
20
config/modules/quickshell/quickshell/HyprlandHelpers.qml
Normal file
@@ -0,0 +1,20 @@
|
||||
// Time.qml
|
||||
pragma Singleton
|
||||
|
||||
import Quickshell
|
||||
import QtQuick
|
||||
import Quickshell.Hyprland
|
||||
|
||||
Singleton {
|
||||
id: root
|
||||
|
||||
function getHyprlandWorkspaceById(id) {
|
||||
for (var x of Hyprland.workspaces.values) {
|
||||
if (x.id == id) {
|
||||
return x;
|
||||
}
|
||||
print(x);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -3,15 +3,57 @@ import Quickshell
|
||||
import Quickshell.Io
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import Quickshell.Hyprland
|
||||
|
||||
Item {
|
||||
id: root
|
||||
width: content.width
|
||||
height: content.height
|
||||
Rectangle {
|
||||
id: content
|
||||
width: 20
|
||||
width: row.width
|
||||
height: row.height
|
||||
RowLayout {
|
||||
id: row
|
||||
height: 15
|
||||
color: "red"
|
||||
Repeater {
|
||||
id: repeater
|
||||
model: 10
|
||||
delegate: Item {
|
||||
id: content
|
||||
required property int index
|
||||
property bool focused: HyprlandHelpers.getHyprlandWorkspaceById(index + 1).focused
|
||||
property bool exists: HyprlandHelpers.getHyprlandWorkspaceById(index + 1) ? true : false
|
||||
state: focused && exists ? "FOCUSED" : "NOT"
|
||||
states: [
|
||||
State {
|
||||
name: "FOCUSED"
|
||||
PropertyChanges {
|
||||
target: content
|
||||
width: 10
|
||||
}
|
||||
},
|
||||
State {
|
||||
name: "NOT"
|
||||
PropertyChanges {
|
||||
target: content
|
||||
width: 10
|
||||
}
|
||||
}
|
||||
]
|
||||
height: 15
|
||||
Rectangle {
|
||||
width: parent.width
|
||||
height: parent.height
|
||||
radius: 2.5
|
||||
color: {
|
||||
if (HyprlandHelpers.getHyprlandWorkspaceById(index + 1) != null) {
|
||||
if (HyprlandHelpers.getHyprlandWorkspaceById(index + 1).focused) {
|
||||
return Colors.primaryText;
|
||||
}
|
||||
return Colors.textSecondary;
|
||||
} else {
|
||||
return Colors.textDisabled;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
zen-browser.url = "github:youwen5/zen-browser-flake";
|
||||
zen-browser.inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
modules.zen-browser = {
|
||||
modules.zen-browser = settings: {
|
||||
homeManager =
|
||||
{
|
||||
home,
|
||||
@@ -42,6 +42,11 @@
|
||||
];
|
||||
in
|
||||
{
|
||||
wayland.windowManager.hyprland.settings = lib.mkIf settings.default {
|
||||
bind = [
|
||||
"$mainMod, E, exec, zen"
|
||||
];
|
||||
};
|
||||
home.packages = [
|
||||
(pkgs.wrapFirefox
|
||||
inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.zen-browser-unwrapped
|
||||
|
||||
Reference in New Issue
Block a user