From 19a37e52e2a1a9e39b0f2c7d48b8e942a3eeb325 Mon Sep 17 00:00:00 2001 From: Paul Zinselmeyer Date: Wed, 28 Aug 2024 23:20:58 +0200 Subject: [PATCH] thekenlicht daemon + dmx --- flake.lock | 141 ++++++++++++++++++++++++++++++++++++++------ flake.nix | 7 ++- stube-pc/system.nix | 11 +++- 3 files changed, 138 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 5dfd0c8..1f7d989 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,84 @@ { "nodes": { + "advisory-db": { + "flake": false, + "locked": { + "lastModified": 1724775741, + "narHash": "sha256-xuj7Ye3Y2EgunLiEEV5zYxUQuLTURV5mgbXDB1fA7h8=", + "owner": "rustsec", + "repo": "advisory-db", + "rev": "fe4d5979b34444815287d61bd2a4e193cebbc7a6", + "type": "github" + }, + "original": { + "owner": "rustsec", + "repo": "advisory-db", + "type": "github" + } + }, + "crane": { + "inputs": { + "nixpkgs": [ + "thekenlicht-daemon", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1724537630, + "narHash": "sha256-gpqINM71zp3kw5XYwUXa84ZtPnCmLLnByuFoYesT1bY=", + "owner": "ipetkov", + "repo": "crane", + "rev": "3e08f4b1fc9aaede5dd511d8f5f4ef27501e49b0", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, + "fenix": { + "inputs": { + "nixpkgs": [ + "thekenlicht-daemon", + "nixpkgs" + ], + "rust-analyzer-src": [ + "thekenlicht-daemon" + ] + }, + "locked": { + "lastModified": 1724826636, + "narHash": "sha256-hz8Szf5J9oQg6EeMhHE/eKuexoHPiDbmOZTPvijYwyM=", + "owner": "nix-community", + "repo": "fenix", + "rev": "3454a665ff4dd29cf618e6a2e53065370876297f", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "fenix", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -38,11 +117,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1724316499, - "narHash": "sha256-Qb9MhKBUTCfWg/wqqaxt89Xfi6qTD3XpTzQ9eXi3JmE=", + "lastModified": 1724727824, + "narHash": "sha256-0XH9MJk54imJm+RHOLTUJ7e+ponLW00tw5ke4MTVa1Y=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "797f7dc49e0bc7fab4b57c021cdf68f595e47841", + "rev": "36bae45077667aff5720e5b3f1a5458f51cf0776", "type": "github" }, "original": { @@ -52,27 +131,51 @@ "type": "github" } }, - "nur": { - "locked": { - "lastModified": 1724754492, - "narHash": "sha256-oTQ3H993c2hJREkqEN5zyff5ifIRKDRtFTvHlxFcHdI=", - "owner": "nix-community", - "repo": "NUR", - "rev": "d39c7ced498d546513270b314d682ac5d7de734d", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "NUR", - "type": "github" - } - }, "root": { "inputs": { "home-manager": "home-manager", "impermanence": "impermanence", "nixpkgs": "nixpkgs", - "nur": "nur" + "thekenlicht-daemon": "thekenlicht-daemon" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "thekenlicht-daemon": { + "inputs": { + "advisory-db": "advisory-db", + "crane": "crane", + "fenix": "fenix", + "flake-utils": "flake-utils", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1724879978, + "narHash": "sha256-xVyj6l5b7XG0ZFaBuB84SJZWtvxguXH8gkwNN46MvnY=", + "ref": "refs/heads/master", + "rev": "500ef0ed5ae071daa719c2de7bb3464af61dab80", + "revCount": 4, + "type": "git", + "url": "https://git.pfzetto.de/ffmh/thekenlicht" + }, + "original": { + "type": "git", + "url": "https://git.pfzetto.de/ffmh/thekenlicht" } } }, diff --git a/flake.nix b/flake.nix index 514239a..d0d7ee0 100644 --- a/flake.nix +++ b/flake.nix @@ -8,9 +8,13 @@ inputs.nixpkgs.follows = "nixpkgs"; }; impermanence.url = "github:nix-community/impermanence"; + thekenlicht-daemon = { + url = "git+https://git.pfzetto.de/ffmh/thekenlicht"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; - outputs = { self, nixpkgs, home-manager, impermanence }@inputs: { + outputs = { self, nixpkgs, home-manager, impermanence, thekenlicht-daemon }@inputs: { nixosConfigurations."stube-pc" = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = inputs; @@ -18,6 +22,7 @@ ./stube-pc/system.nix home-manager.nixosModules.home-manager impermanence.nixosModules.impermanence + thekenlicht-daemon.nixosModules.thekenlicht-daemon { nix.settings.experimental-features = [ "nix-command" "flakes" ]; home-manager = { diff --git a/stube-pc/system.nix b/stube-pc/system.nix index f9cc9be..b350efd 100644 --- a/stube-pc/system.nix +++ b/stube-pc/system.nix @@ -52,7 +52,6 @@ enable = true; xkb.layout = "de"; desktopManager.xfce.enable = true; - videoDrivers = [ "displaylink" "modesetting" ]; }; services.displayManager = { enable = true; @@ -68,6 +67,11 @@ services.xserver.displayManager.lightdm.autoLogin.timeout = 0; services.xserver.desktopManager.xfce.enableScreensaver = false; + services.thekenlicht-daemon = { + enable = true; + serialPort = "/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0"; + }; + # enable gpu support hardware.opengl = { enable = true; @@ -81,6 +85,11 @@ git # source code management for nixos-rebuild from flake xfce.xfce4-pulseaudio-plugin # pulseaudio-plugin in top panel pavucontrol # audio control panel + qlcplus + ]; + + services.udev.packages = with pkgs; [ + qlcplus ]; # link current system configuration to /etc/current-nixos