This commit is contained in:
DashieTM 2024-08-17 16:50:04 +02:00
parent 220cea894b
commit b5a0dee3e8
11 changed files with 63 additions and 174 deletions

View file

@ -12,6 +12,9 @@ in
configurationLimit = 5; configurationLimit = 5;
}; };
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
boot.plymouth = {
enable = true;
};
# Enable networking # Enable networking
networking.useDHCP = lib.mkDefault true; networking.useDHCP = lib.mkDefault true;

74
flake.lock generated
View file

@ -40,11 +40,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1722347739, "lastModified": 1723405438,
"narHash": "sha256-rAoh+K6KG+b1DwSWtqRVocdojnH6nGk6q07mNltoUSM=", "narHash": "sha256-bpmC2m7OhlDvqgQZdZ2jBLyeIkq/Jld3X4bqRAxBSp8=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "aquamarine", "repo": "aquamarine",
"rev": "7c3565f9bedc7cb601cc0baa14792247e4dc1d5a", "rev": "9312aa28271c91e5d67ecb9def527b2bbcff0e66",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -218,11 +218,11 @@
"nixvim": "nixvim" "nixvim": "nixvim"
}, },
"locked": { "locked": {
"lastModified": 1722777725, "lastModified": 1723843436,
"narHash": "sha256-QQ1yP9rag8vslOJRXR8kL+KkrL/iAC6/vSfvorHicNQ=", "narHash": "sha256-CBt5FNCMx+zYdvvDwwsiqoM66Ja6SMpxRR6z+VEwWN0=",
"owner": "DashieTM", "owner": "DashieTM",
"repo": "DashVim", "repo": "DashVim",
"rev": "0169fb3fd02229ab19e23951d9caecf92ea4f265", "rev": "abe622273c5627ccfdaf58a2664079147509e143",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -790,11 +790,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1722630065, "lastModified": 1723399884,
"narHash": "sha256-QfM/9BMRkCmgWzrPDK+KbgJOUlSJnfX4OvsUupEUZvA=", "narHash": "sha256-97wn0ihhGqfMb8WcUgzzkM/TuAxce2Gd20A8oiruju4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "afc892db74d65042031a093adb6010c4c3378422", "rev": "086f619dd991a4d355c07837448244029fc2d9ab",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -840,11 +840,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1721330371, "lastModified": 1722623071,
"narHash": "sha256-aYlHTWylczLt6ERJyg6E66Y/XSCbVL7leVcRuJmVbpI=", "narHash": "sha256-sLADpVgebpCBFXkA1FlCXtvEPu1tdEsTfqK1hfeHySE=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprcursor", "repo": "hyprcursor",
"rev": "4493a972b48f9c3014befbbf381ed5fff91a65dc", "rev": "912d56025f03d41b1ad29510c423757b4379eb1c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -884,11 +884,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1723143710, "lastModified": 1723824059,
"narHash": "sha256-qbjodK+UgnQ2YdtKmuI1XEG84SZlid39rQo6Ap9NTqI=", "narHash": "sha256-3AebH/B40viTNVJpgiQkfptVe4aRTfyffa8rjUNB0pU=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "4b4971c06fb02df00a2bd20b6b47b5d0e7d799a7", "rev": "c5feee1e357f3c3c59ebe406630601c627807963",
"revCount": 5071, "revCount": 5098,
"submodules": true, "submodules": true,
"type": "git", "type": "git",
"url": "https://github.com/hyprwm/Hyprland" "url": "https://github.com/hyprwm/Hyprland"
@ -967,11 +967,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1722098849, "lastModified": 1722869141,
"narHash": "sha256-D3wIZlBNh7LuZ0NaoCpY/Pvu+xHxIVtSN+KkWZYvvVs=", "narHash": "sha256-0KU4qhyMp441qfwbirNg3+wbm489KnEjXOz2I/RbeFs=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprutils", "repo": "hyprutils",
"rev": "5dcbbc1e3de40b2cecfd2007434d86e924468f1f", "rev": "0252fd13e78e60fb0da512a212e56007515a49f7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1368,11 +1368,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1722185531, "lastModified": 1723637854,
"narHash": "sha256-veKR07psFoJjINLC8RK4DiLniGGMgF3QMlS4tb74S6k=", "narHash": "sha256-med8+5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "52ec9ac3b12395ad677e8b62106f0b98c1f8569d", "rev": "c3aa7b8938b17aebd2deecf7be0636000d62a2b9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1414,11 +1414,11 @@
}, },
"nixpkgs_7": { "nixpkgs_7": {
"locked": { "locked": {
"lastModified": 1722630782, "lastModified": 1723637854,
"narHash": "sha256-hMyG9/WlUi0Ho9VkRrrez7SeNlDzLxalm9FwY7n/Noo=", "narHash": "sha256-med8+5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c=",
"owner": "NixOs", "owner": "NixOs",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d04953086551086b44b6f3c6b7eeb26294f207da", "rev": "c3aa7b8938b17aebd2deecf7be0636000d62a2b9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1488,11 +1488,11 @@
}, },
"nur": { "nur": {
"locked": { "locked": {
"lastModified": 1722801783, "lastModified": 1723905880,
"narHash": "sha256-A6xMNsSzYPeYABqUkXXpoxcefo0v8LIMGvETSJLaxkg=", "narHash": "sha256-j9xPPY4sVVmdt6n9q4/bH2IHYnzFJ96rWwBUVF9puPM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nur", "repo": "nur",
"rev": "161e94cdfcaf37a3418992abdef5b2537e5ac4ce", "rev": "55a2281172b763189cfef53d02e843851cccc51a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1829,11 +1829,11 @@
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1722114803, "lastModified": 1723501126,
"narHash": "sha256-s6YhI8UHwQvO4cIFLwl1wZ1eS5Cuuw7ld2VzUchdFP0=", "narHash": "sha256-N9IcHgj/p1+2Pvk8P4Zc1bfrMwld5PcosVA0nL6IGdE=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "eb34eb588132d653e4c4925d862f1e5a227cc2ab", "rev": "be0eec2d27563590194a9206f551a6f73d52fa34",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1844,11 +1844,11 @@
}, },
"stable": { "stable": {
"locked": { "locked": {
"lastModified": 1722651103, "lastModified": 1723688146,
"narHash": "sha256-IRiJA0NVAoyaZeKZluwfb2DoTpBAj+FLI0KfybBeDU0=", "narHash": "sha256-sqLwJcHYeWLOeP/XoLwAtYjr01TISlkOfz+NG82pbdg=",
"owner": "NixOs", "owner": "NixOs",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a633d89c6dc9a2a8aae11813a62d7c58b2c0cc51", "rev": "c3d4ac725177c030b1e289015989da2ad9d56af0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1873,11 +1873,11 @@
"nixpkgs": "nixpkgs_22" "nixpkgs": "nixpkgs_22"
}, },
"locked": { "locked": {
"lastModified": 1722295291, "lastModified": 1723834469,
"narHash": "sha256-3XpT9GMw50NCGT1Gd2YAwEjrEcFtDqnuQ7sRUcuU/Pc=", "narHash": "sha256-PkJTr9DWBQcR5Ru1fJpG80dtw0MLSxAZlKnhHHFAGIA=",
"owner": "danth", "owner": "danth",
"repo": "stylix", "repo": "stylix",
"rev": "feb2973dfa8232c07efbd2b48f11a5cfa2276570", "rev": "6858d08ed012bc6491cc92c13142104e56badf31",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -89,11 +89,13 @@
extra-substituters = [ extra-substituters = [
"https://hyprland.cachix.org" "https://hyprland.cachix.org"
"https://anyrun.cachix.org" "https://anyrun.cachix.org"
"https://cache.garnix.io"
]; ];
extra-trusted-public-keys = [ extra-trusted-public-keys = [
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
"anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s=" "anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s="
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
]; ];
}; };
} }

View file

@ -10,7 +10,7 @@ in
# config variables # config variables
conf = { conf = {
monitor = "DP-1"; monitor = "DP-1";
streamdeck.enable = true; streamdeck.enable = false;
hostname = "spaceship"; hostname = "spaceship";
}; };
mods = { mods = {
@ -23,8 +23,8 @@ in
# default # default
"DP-2,2560x1440@165,0x0,1" "DP-2,2560x1440@165,0x0,1"
"DP-1,3440x1440@180,2560x0,1,vrr,0" "DP-1,3440x1440@180,2560x0,1,vrr,0"
"HDMI-A-1,1920x1200@60,6000x0,1" "DP-3,1920x1080@144,6000x0,1"
"HDMI-A-1,transform,1" "DP-3,transform,1"
# all others # all others
",highrr,auto,1" ",highrr,auto,1"
@ -46,21 +46,21 @@ in
"7,monitor:DP-2" "7,monitor:DP-2"
# monitor right # monitor right
"3,monitor:HDMI-A-1, default:true" "3,monitor:DP-3, default:true"
]; ];
hyprpaper.config = '' hyprpaper.config = ''
#load #load
preload = /home/${username}/Pictures/backgrounds/shinobu_2k.jpg preload = /home/${username}/Pictures/backgrounds/shinobu_2k.jpg
preload = /home/${username}/Pictures/backgrounds/shino_wide.png preload = /home/${username}/Pictures/backgrounds/shino_wide.png
preload = /home/${username}/Pictures/backgrounds/shinobu_1200.jpg preload = /home/${username}/Pictures/backgrounds/shinobu_1080.jpg
#set #set
wallpaper = DP-2,/home/${username}/Pictures/backgrounds/shinobu_2k.jpg wallpaper = DP-2,/home/${username}/Pictures/backgrounds/shinobu_2k.jpg
wallpaper = DP-1,/home/${username}/Pictures/backgrounds/shino_wide.png wallpaper = DP-1,/home/${username}/Pictures/backgrounds/shino_wide.png
wallpaper = HDMI-A-1,/home/${username}/Pictures/backgrounds/shinobu_1200.jpg wallpaper = DP-3,/home/${username}/Pictures/backgrounds/shinobu_1080.jpg
splash = true splash = true
''; '';
extra_autostart = [ "streamdeck -n" ]; extra_autostart = [ "flatpak run com.core447.StreamController -b" ];
}; };
extraDrives = [ extraDrives = [
{ {
@ -82,6 +82,7 @@ in
xone.enable = true; xone.enable = true;
amdgpu.enable = true; amdgpu.enable = true;
piper.enable = true; piper.enable = true;
flatpak.additional_packages = [ "com.core447.StreamController" ];
vapi = { vapi = {
enable = true; enable = true;
rocm.enable = true; rocm.enable = true;

View file

@ -54,9 +54,10 @@
kdePackages.breeze-icons kdePackages.breeze-icons
seahorse seahorse
upower upower
(lib.mkIf config.conf.streamdeck.enable (callPackage thunderbird
../../override/streamdeck.nix podman-tui
{ })) podman-compose
dive
]; ];
gtk.iconCache.enable = false; gtk.iconCache.enable = false;
@ -65,7 +66,11 @@
cantarell-fonts cantarell-fonts
]; ];
virtualisation.docker.enable = true; virtualisation.podman = {
enable = true;
dockerCompat = true;
defaultNetwork.settings.dns_enabled = true;
};
services.upower.enable = true; services.upower.enable = true;
services.dbus.enable = true; services.dbus.enable = true;

View file

@ -46,6 +46,7 @@
base_packages = [ base_packages = [
pkgs.libvdpau-va-gl pkgs.libvdpau-va-gl
pkgs.vaapiVdpau pkgs.vaapiVdpau
pkgs.mesa.drivers
]; ];
rocm_packages = [ rocm_packages = [
pkgs.rocmPackages.clr.icd pkgs.rocmPackages.clr.icd

View file

@ -77,7 +77,7 @@
exec-once=gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' exec-once=gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
monitor=${config.mods.greetd.monitor},${config.mods.greetd.resolution},0x0,${config.mods.greetd.scale} monitor=${config.mods.greetd.monitor},${config.mods.greetd.resolution},0x0,${config.mods.greetd.scale}
monitor=_,disable monitor=,disable
input { input {
kb_layout = ${config.mods.xkb.layout} kb_layout = ${config.mods.xkb.layout}

View file

@ -1,106 +0,0 @@
{ lib
, pkgs
, python3Packages
, fetchFromGitHub
, writeText
, makeDesktopItem
}:
python3Packages.buildPythonApplication rec {
pname = "streamdeck-ui";
version = "4.1.2";
src = fetchFromGitHub {
repo = "streamdeck-linux-gui";
owner = "streamdeck-linux-gui";
rev = "v${version}";
sha256 = "sha256-CSsFPGnKVQUCND6YOA9kfO41KS85C57YL9LcrWlQRKo=";
};
patches = [
# nixpkgs has a newer pillow version
./streamdeck.patch
];
desktopItems =
let
common = {
name = "streamdeck-ui";
desktopName = "Stream Deck UI";
icon = "streamdeck-ui";
exec = "streamdeck";
comment = "UI for the Elgato Stream Deck";
categories = [ "Utility" ];
};
in
builtins.map makeDesktopItem [
common
(common // {
name = "${common.name}-noui";
exec = "${common.exec} --no-ui";
noDisplay = true;
})
];
postInstall =
let
udevRules = ''
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", TAG+="uaccess"
'';
in
''
mkdir -p $out/lib/systemd/user
substitute scripts/streamdeck.service $out/lib/systemd/user/streamdeck.service \
--replace '<path to streamdeck>' $out/bin/streamdeck
mkdir -p "$out/etc/udev/rules.d"
cp ${writeText "70-streamdeck.rules" udevRules} $out/etc/udev/rules.d/70-streamdeck.rules
mkdir -p "$out/share/pixmaps"
cp streamdeck_ui/logo.png $out/share/pixmaps/streamdeck-ui.png
'';
dontWrapQtApps = true;
dontWrapGApps = true;
makeWrapperArgs = [ "\${qtWrapperArgs[@]}" "\${gappsWrapperArgs[@]}" ];
format = "pyproject";
nativeBuildInputs = [
pkgs.python3Packages.poetry-core
pkgs.copyDesktopItems
pkgs.qt6.wrapQtAppsHook
pkgs.wrapGAppsHook
];
propagatedBuildInputs = with pkgs.python3Packages; [
importlib-metadata
setuptools
filetype
cairosvg
pillow
pynput
pyside6
streamdeck
xlib
] ++ lib.optionals stdenv.isLinux [
pkgs.qt6.qtwayland
];
nativeCheckInputs = [
pkgs.xvfb-run
pkgs.python3Packages.pytest
];
# checkPhase = ''
# xvfb-run pytest tests
# '';
meta = with lib; {
description = "Linux compatible UI for the Elgato Stream Deck";
homepage = "https://streamdeck-linux-gui.github.io/streamdeck-linux-gui/";
license = licenses.mit;
mainProgram = "streamdeck";
maintainers = with maintainers; [ majiir ];
};
}

View file

@ -1,18 +0,0 @@
diff --git a/pyproject.toml b/pyproject.toml
index 54a8c19..0b95fb3 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -14,11 +14,11 @@ packages = [
[tool.poetry.dependencies]
python = ">=3.8,<3.13"
streamdeck = "^0.9.5"
-pillow = "10.2.0"
+pillow = "^10.2.0"
pyside6 = "^6.4.2"
CairoSVG = "^2.5.2"
filetype = "^1.0.10"
-importlib-metadata = "^6.8.0"
+importlib-metadata = "^7.0.0"
evdev = "^1.6.1"
[tool.poetry.group.docs.dependencies]

View file

@ -25,6 +25,7 @@ in
]; ];
}; };
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
# home-manager.backupFileExtension = "backup";
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { home-manager.extraSpecialArgs = {
inherit inputs; inherit inputs;

View file

@ -1,3 +1,3 @@
echo "Are you tired about ads on your operating system? About forced telemetry? About arbitrary intallation requirements like online accounts or forced hardware upgrades? echo "Are you tired about ads on your operating system? About forced telemetry? About arbitrary installation requirements like online accounts or forced hardware upgrades?
Fear not penguin is for you, free of charge and free to change. Penguin does not control you, you control penguin. Fear not penguin is for you, free of charge and free to change. Penguin does not control you, you control penguin.
Don't delay, install penguin today: https://distrochooser.de/" | wl-copy Don't delay, install penguin today: https://distrochooser.de/" | wl-copy