added stuff
This commit is contained in:
parent
e8d9044d2b
commit
9d0ebdfbd0
907 changed files with 70990 additions and 0 deletions
|
@ -0,0 +1,11 @@
|
|||
{pkgs, ...}:
|
||||
pkgs.writeTextFile {
|
||||
name = "dbus-hyprland-env";
|
||||
destination = "/bin/dbus-hyprland-environment";
|
||||
executable = true;
|
||||
text = ''
|
||||
dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=hyprland
|
||||
systemctl --user stop pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr
|
||||
systemctl --user start pipewire wireplumber pipewire-media-session xdg-desktop-portal xdg-desktop-portal-hyprland
|
||||
'';
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
inputs',
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
packages = {
|
||||
inherit (inputs'.hyprland-contrib.packages) grimblast;
|
||||
inherit (inputs'.hyprpicker.packages) hyprpicker;
|
||||
|
||||
wrapper = pkgs.callPackage ./wrapper {inherit (inputs') hyprland;};
|
||||
hyprshot = pkgs.callPackage ./hyprshot.nix {};
|
||||
dbus-hyprland-env = pkgs.callPackage ./dbus-hyprland-env.nix {};
|
||||
propaganda = pkgs.callPackage ./propaganda.nix {};
|
||||
};
|
||||
in
|
||||
packages
|
|
@ -0,0 +1,10 @@
|
|||
{pkgs, ...}:
|
||||
pkgs.writeShellApplication {
|
||||
name = "hyprshot";
|
||||
runtimeInputs = with pkgs; [grim slurp swappy];
|
||||
text = ''
|
||||
hyprctl keyword animation "fadeOut,0,8,slow" && \
|
||||
grim -g "$(slurp -w 0 -b 5e81acd2)" - | swappy -f -; \
|
||||
hyprctl keyword animation "fadeOut,1,8,slow"
|
||||
'';
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
{pkgs, ...}:
|
||||
pkgs.writeTextFile {
|
||||
name = "propaganda";
|
||||
text = ''
|
||||
## Nix advantages:
|
||||
- Correct and complete packaging
|
||||
- Immutable & reproducible results
|
||||
- Easy to cross and static compile
|
||||
- Source-based (you can alter packages without forking anything)
|
||||
- Single package manager to rule them all! (C, Python, Docker, NodeJS, etc)
|
||||
- Great for development, easily switches between dev envs with direnv
|
||||
- Easy to try out packages without installing using `nix shell` or `nix run`
|
||||
- allows to create scripts that can do and depend on anything, so long as the host has nix, it'll download things automatically for them
|
||||
- Uses binary caches so you almost never need to compile anything
|
||||
- Easy to set up a binary cache
|
||||
- Easy to set up remote building
|
||||
- Distribute your builds accross an unlimited number of machines, without any hassle
|
||||
- Excellent testing infrastructure
|
||||
- Portable - runs on Linux and macOS
|
||||
- Can be built statically and run anywhere without root permissions
|
||||
- Mix and match different package versions without conflicts
|
||||
- Want to have a package with openssl1.1 and another with openssl 3.0? No problem!
|
||||
- Flakes let you pin versions to specific revisions
|
||||
- Various alternatives for Flakes for version pinning, such as npins and niv
|
||||
|
||||
## NixOS advantages:
|
||||
- Declarative configuration
|
||||
- Meaning easier to configure your system(s)
|
||||
- Easier to change, manage and maintain the configuration
|
||||
- Easier to back up and share with people
|
||||
- Easy to deploy machines and their configuration
|
||||
- Out of the box Rollbacks.
|
||||
- Configuration options for many programs & services
|
||||
- Free of side effects - Actually uninstalls packages and their dependencies
|
||||
- Easy to set up VMs
|
||||
- People can test each other's configurations using `nix run` and `nix shell` by just having access to the source
|
||||
'';
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
hyprland,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.meta) getExe';
|
||||
in
|
||||
pkgs.writeShellScriptBin "hyprland" ''
|
||||
${builtins.readFile ./session.sh}
|
||||
${getExe' hyprland.packages.default "Hyprland"} $@
|
||||
''
|
|
@ -0,0 +1,41 @@
|
|||
# disable shellcheck's shell check
|
||||
# it'll be provided by writeShellScript
|
||||
# shellcheck disable=2148
|
||||
|
||||
# session
|
||||
export XDG_SESSION_TYPE=wayland
|
||||
export XDG_SESSION_DESKTOP=hyprland
|
||||
export XDG_CURRENT_DESKTOP=hyprland
|
||||
|
||||
# firefox
|
||||
export MOZ_ENABLE_WAYLAND=1
|
||||
export MOZ_DBUS_REMOTE=1
|
||||
|
||||
# qt
|
||||
export QT_QPA_PLATFORM=wayland
|
||||
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
|
||||
|
||||
# gtk
|
||||
export GDK_BACKEND=wayland
|
||||
|
||||
# sdl
|
||||
export SDL_VIDEODRIVER=wayland
|
||||
|
||||
# java
|
||||
export _JAVA_AWT_WM_NONREPARENTING=1
|
||||
export JDK_JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel -Dswing.crossplatformlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel"
|
||||
|
||||
# other
|
||||
export CLUTTER_BACKEND=wayland
|
||||
export XCURSOR_SIZE=24
|
||||
export NIXOS_OZONE_WL=1
|
||||
|
||||
# cursed dbus
|
||||
|
||||
dbus-update-activation-environment --systemd MOZ_ENABLE_WAYLAND MOZ_DBUS_REMOTE QT_QPA_PLATFORM QT_QPA_PLATFORMTHEME QT_WAYLAND_DISABLE_WINDOWDECORATION SDL_VIDEODRIVER _JAVA_AWT_WM_NONREPARENTING JDK_JAVA_OPTIONS XCURSOR_SIZE XCURSOR_THEME
|
||||
|
||||
# theme in dbus:
|
||||
# QT_PLUGIN_PATH=<qt5ct>/lib/qt-ver/plugins + breeze will correctly set the theme.
|
||||
# HOWEVER it won't find thumbnailers. For now the easiest way to deal with this, though definitely not
|
||||
# the right one, is to just throw $PATH into dbus.
|
||||
dbus-update-activation-environment --systemd PATH
|
Loading…
Add table
Add a link
Reference in a new issue