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;
};
boot.loader.efi.canTouchEfiVariables = true;
boot.plymouth = {
enable = true;
};
# Enable networking
networking.useDHCP = lib.mkDefault true;

74
flake.lock generated
View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -77,7 +77,7 @@
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=_,disable
monitor=,disable
input {
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.backupFileExtension = "backup";
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = {
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.
Don't delay, install penguin today: https://distrochooser.de/" | wl-copy