added stuff

This commit is contained in:
Charlie Root 2024-04-09 23:11:33 +02:00
commit 9d0ebdfbd0
907 changed files with 70990 additions and 0 deletions

View file

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

View file

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

View file

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

View file

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

View file

@ -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"} $@
''

View file

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