summaryrefslogtreecommitdiffstats
path: root/lass
diff options
context:
space:
mode:
Diffstat (limited to 'lass')
-rw-r--r--lass/1systems/coaxmetal/config.nix53
-rw-r--r--lass/1systems/coaxmetal/physical.nix52
-rw-r--r--lass/1systems/yellow/config.nix14
-rw-r--r--lass/2configs/hass/default.nix158
-rw-r--r--lass/5pkgs/custom/xmonad-lass/default.nix8
-rw-r--r--lass/5pkgs/tdlib-purple/default.nix4
6 files changed, 215 insertions, 74 deletions
diff --git a/lass/1systems/coaxmetal/config.nix b/lass/1systems/coaxmetal/config.nix
new file mode 100644
index 000000000..3e0b1674a
--- /dev/null
+++ b/lass/1systems/coaxmetal/config.nix
@@ -0,0 +1,53 @@
+{ config, lib, pkgs, ... }:
+
+{
+ imports = [
+ <stockholm/lass>
+
+ <stockholm/lass/2configs/retiolum.nix>
+ <stockholm/lass/2configs/exim-retiolum.nix>
+ <stockholm/lass/2configs/baseX.nix>
+ <stockholm/lass/2configs/browsers.nix>
+ <stockholm/lass/2configs/programs.nix>
+ <stockholm/lass/2configs/network-manager.nix>
+ <stockholm/lass/2configs/syncthing.nix>
+ <stockholm/lass/2configs/sync/sync.nix>
+ <stockholm/lass/2configs/games.nix>
+ <stockholm/lass/2configs/steam.nix>
+ <stockholm/lass/2configs/wine.nix>
+ <stockholm/lass/2configs/fetchWallpaper.nix>
+ <stockholm/lass/2configs/nfs-dl.nix>
+ <stockholm/lass/2configs/pass.nix>
+ <stockholm/lass/2configs/mail.nix>
+ <stockholm/lass/2configs/bitcoin.nix>
+ ];
+
+ krebs.build.host = config.krebs.hosts.coaxmetal;
+
+ environment.shellAliases = {
+ deploy = pkgs.writeDash "deploy" ''
+ set -eu
+ export SYSTEM="$1"
+ $(nix-build $HOME/sync/stockholm/lass/krops.nix --no-out-link --argstr name "$SYSTEM" -A deploy)
+ '';
+ usb-tether-on = pkgs.writeDash "usb-tether-on" ''
+ adb shell su -c service call connectivity 33 i32 1 s16 text
+ '';
+ usb-tether-off = pkgs.writeDash "usb-tether-off" ''
+ adb shell su -c service call connectivity 33 i32 0 s16 text
+ '';
+ };
+
+ programs.adb.enable = true;
+
+ hardware.bluetooth = {
+ enable = true;
+ powerOnBoot = true;
+ # config.General.Disable = "Headset";
+ extraConfig = ''
+ [General]
+ Disable = Headset
+ '';
+ };
+ hardware.pulseaudio.package = pkgs.pulseaudioFull;
+}
diff --git a/lass/1systems/coaxmetal/physical.nix b/lass/1systems/coaxmetal/physical.nix
new file mode 100644
index 000000000..c94740c54
--- /dev/null
+++ b/lass/1systems/coaxmetal/physical.nix
@@ -0,0 +1,52 @@
+{ config, lib, pkgs, modulesPath, ... }:
+{
+ imports = [
+ ./config.nix
+ (modulesPath + "/installer/scan/not-detected.nix")
+ ];
+
+ networking.hostId = "e0c335ea";
+ boot.zfs.requestEncryptionCredentials = true;
+ boot.loader.efi.canTouchEfiVariables = true;
+ boot.loader.grub = {
+ enable = true;
+ # device = "/dev/disk/by-id/nvme-WDC_PC_SN730_SDBQNTY-1T00-1001_205349800040";
+ device = "nodev";
+ efiSupport = true;
+ # efiInstallAsRemovable = true;
+ };
+
+ services.xserver.videoDrivers = [
+ "amdgpu"
+ ];
+
+ hardware.opengl.extraPackages = [ pkgs.amdvlk ];
+ # is required for amd graphics support ( xorg wont boot otherwise )
+ boot.kernelPackages = pkgs.linuxPackages_latest;
+ environment.variables.VK_ICD_FILENAMES =
+ "/run/opengl-driver/share/vulkan/icd.d/amd_icd64.json";
+
+ boot.initrd.availableKernelModules = [ "nvme" "ehci_pci" "xhci_pci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
+ boot.kernelModules = [ "kvm-amd" ];
+
+ fileSystems."/" = {
+ device = "zpool/root/root";
+ fsType = "zfs";
+ };
+
+ fileSystems."/home" = {
+ device = "zpool/root/home";
+ fsType = "zfs";
+ };
+
+ fileSystems."/boot" = {
+ device = "/dev/disk/by-uuid/50A7-1889";
+ fsType = "vfat";
+ };
+
+ services.logind.lidSwitch = "ignore";
+ services.logind.lidSwitchDocked = "ignore";
+ boot.extraModprobeConfig = ''
+ options psmouse proto=imps
+ '';
+}
diff --git a/lass/1systems/yellow/config.nix b/lass/1systems/yellow/config.nix
index 1afad003c..178a5adf1 100644
--- a/lass/1systems/yellow/config.nix
+++ b/lass/1systems/yellow/config.nix
@@ -152,10 +152,11 @@ with import <stockholm/lib>;
krebs.iptables = {
enable = true;
tables.filter.INPUT.rules = [
- { predicate = "-p tcp --dport 80"; target = "ACCEPT"; }
- { predicate = "-p tcp --dport 9091"; target = "ACCEPT"; }
- { predicate = "-p tcp --dport 51413"; target = "ACCEPT"; }
- { predicate = "-p udp --dport 51413"; target = "ACCEPT"; }
+ { predicate = "-p tcp --dport 80"; target = "ACCEPT"; } # nginx web dir
+ { predicate = "-p tcp --dport 9091"; target = "ACCEPT"; } # transmission-web
+ { predicate = "-p tcp --dport 51413"; target = "ACCEPT"; } # transmission-traffic
+ { predicate = "-p udp --dport 51413"; target = "ACCEPT"; } # transmission-traffic
+ { predicate = "-p tcp --dport 8096"; target = "ACCEPT"; } # jellyfin
];
};
@@ -265,4 +266,9 @@ with import <stockholm/lib>;
'';
};
};
+
+ services.jellyfin = {
+ enable = true;
+ group = "download";
+ };
}
diff --git a/lass/2configs/hass/default.nix b/lass/2configs/hass/default.nix
index 3cd6e0ebf..7765db84e 100644
--- a/lass/2configs/hass/default.nix
+++ b/lass/2configs/hass/default.nix
@@ -1,7 +1,29 @@
{ config, lib, pkgs, ... }:
with import ./lib.nix { inherit lib; };
+let
+ unstable = import (pkgs.fetchFromGitHub {
+ owner = "nixos";
+ repo = "nixpkgs";
+ rev = (lib.importJSON ../../../krebs/nixpkgs-unstable.json).rev;
+ sha256 = (lib.importJSON ../../../krebs/nixpkgs-unstable.json).sha256;
+ }) {};
+ dwdwfsapi = pkgs.python3Packages.buildPythonPackage rec {
+ pname = "dwdwfsapi";
+ version = "1.0.3";
-{
+ src = pkgs.python3Packages.fetchPypi {
+ inherit pname version;
+ sha256 = "0fcv79xiq0qr4kivhd68iqpgrsjc7djxqs2h543pyr0sdgb5nz9x";
+ };
+
+ buildInputs = with pkgs.python3Packages; [
+ requests ciso8601
+ ];
+
+ # LC_ALL = "en_US.UTF-8";
+ };
+
+in {
imports = [
./zigbee.nix
./rooms/bett.nix
@@ -21,78 +43,80 @@ with import ./lib.nix { inherit lib; };
services.home-assistant = {
enable = true;
- package = pkgs.home-assistant.override {
- # extraComponents = [ "hue" ];
+ package = (unstable.home-assistant.overrideAttrs (old: {
+ doInstallCheck = false;
+ })).override {
+ extraPackages = _: [ dwdwfsapi ];
};
configWritable = true;
lovelaceConfigWritable = true;
- };
-
- services.home-assistant.config = let
- tasmota_s20 = name: topic: {
- platform = "mqtt";
- inherit name;
- state_topic = "stat/${topic}/POWER";
- command_topic = "cmnd/${topic}/POWER";
- payload_on = "ON";
- payload_off = "OFF";
- };
- in {
- homeassistant = {
- name = "Home";
- time_zone = "Europe/Berlin";
- latitude = "52.46187";
- longitude = "13.41489";
- elevation = 90;
- unit_system = "metric";
- customize = friendly_names;
- };
- config = {};
- sun.elevation = 66;
- shopping_list = {};
- discovery = {};
- frontend = {};
- mqtt = {
- broker = "localhost";
- port = 1883;
- client_id = "home-assistant";
- username = "gg23";
- password = "gg23-mqtt";
- keepalive = 60;
- protocol = 3.1;
-
- discovery = true;
- birth_message = {
- topic = "/hass/status";
- payload = "online";
+ config = let
+ tasmota_s20 = name: topic: {
+ platform = "mqtt";
+ inherit name;
+ state_topic = "stat/${topic}/POWER";
+ command_topic = "cmnd/${topic}/POWER";
+ payload_on = "ON";
+ payload_off = "OFF";
+ };
+ in {
+ homeassistant = {
+ name = "Home";
+ time_zone = "Europe/Berlin";
+ latitude = "52.46187";
+ longitude = "13.41489";
+ elevation = 90;
+ unit_system = "metric";
+ customize = friendly_names;
};
- will_message = {
- topic = "/hass/status";
- payload = "offline";
+ config = {};
+ sun.elevation = 66;
+ shopping_list = {};
+ discovery = {};
+ frontend = {};
+ http = {};
+ mqtt = {
+ broker = "localhost";
+ port = 1883;
+ client_id = "home-assistant";
+ username = "gg23";
+ password = "gg23-mqtt";
+ keepalive = 60;
+ protocol = 3.1;
+
+ discovery = true;
+ birth_message = {
+ topic = "/hass/status";
+ payload = "online";
+ };
+ will_message = {
+ topic = "/hass/status";
+ payload = "offline";
+ };
};
+ sensor = [
+ {
+ platform = "dwd_weather_warnings";
+ region_name = "Berlin";
+ }
+ ];
+ switch = [
+ (tasmota_s20 "TV" "tv")
+ (tasmota_s20 "Drucker Strom" "drucker")
+ (tasmota_s20 "Waschmaschine" "wasch")
+ (tasmota_s20 "Stereo Anlage" "stereo")
+ ];
+ mobile_app = {};
+ weather = [
+ {
+ platform = "openweathermap";
+ api_key = "xxx"; # TODO put into secrets
+ }
+ ];
+ system_health = {};
+ history = {};
+ shopping_list = {};
};
- sensor = [
- {
- platform = "dwd_weather_warnings";
- region_name = "Berlin";
- }
- ];
- switch = [
- (tasmota_s20 "TV" "tv")
- (tasmota_s20 "Drucker Strom" "drucker")
- (tasmota_s20 "Waschmaschine" "wasch")
- (tasmota_s20 "Stereo Anlage" "stereo")
- ];
- mobile_app = {};
- weather = [
- {
- platform = "openweathermap";
- api_key = "xxx"; # TODO put into secrets
- }
- ];
- system_health = {};
- history = {};
- shopping_list = {};
};
services.mosquitto = {
diff --git a/lass/5pkgs/custom/xmonad-lass/default.nix b/lass/5pkgs/custom/xmonad-lass/default.nix
index 5a741353d..3b45552b3 100644
--- a/lass/5pkgs/custom/xmonad-lass/default.nix
+++ b/lass/5pkgs/custom/xmonad-lass/default.nix
@@ -35,6 +35,7 @@ import XMonad.Hooks.ManageHelpers (doCenterFloat, doRectFloat, (-?>))
import XMonad.Hooks.Place (placeHook, smart)
import XMonad.Hooks.UrgencyHook (focusUrgent)
import XMonad.Hooks.UrgencyHook (withUrgencyHook, UrgencyHook(..))
+import XMonad.Layout.BoringWindows (boringWindows, focusDown, focusUp)
import XMonad.Layout.FixedColumn (FixedColumn(..))
import XMonad.Layout.Grid (Grid(..))
import XMonad.Layout.Minimize (minimize)
@@ -93,7 +94,7 @@ main' = do
myLayoutHook = defLayout
where
- defLayout = minimize $ ((avoidStruts $ Mirror (Tall 1 (3/100) (1/2))) ||| Full ||| FixedColumn 2 80 80 1 ||| Tall 1 (3/100) (1/2) ||| simplestFloat ||| mouseResizableTile ||| Grid)
+ defLayout = minimize . boringWindows $ ((avoidStruts $ Mirror (Tall 1 (3/100) (1/2))) ||| Full ||| FixedColumn 2 80 80 1 ||| Tall 1 (3/100) (1/2) ||| simplestFloat ||| mouseResizableTile ||| Grid)
floatHooks = composeAll
[ className =? "Pinentry" --> doCenterFloat
@@ -123,6 +124,11 @@ myKeyMap =
, ("<XF86Launch1>", gridselectWorkspace gridConfig W.view)
, ("M4-C-k", spawn "${pkgs.xorg.xkill}/bin/xkill")
+ , ("M4-<Tab>", focusDown)
+ , ("M4-S-<Tab>", focusUp)
+ , ("M4-j", focusDown)
+ , ("M4-k", focusUp)
+
, ("M4-a", focusUrgent)
, ("M4-S-r", renameWorkspace myXPConfig)
, ("M4-S-a", addWorkspacePrompt myXPConfig)
diff --git a/lass/5pkgs/tdlib-purple/default.nix b/lass/5pkgs/tdlib-purple/default.nix
index 445839a4b..54841588e 100644
--- a/lass/5pkgs/tdlib-purple/default.nix
+++ b/lass/5pkgs/tdlib-purple/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "tdlib-purple";
- version = "0.7.6";
+ version = "0.7.8";
src = fetchFromGitHub {
owner = "ars3niy";
repo = pname;
rev = "v${version}";
- sha256 = "1inamfzbrz0sy4y431jgwjfg6lz14a7c71khrg02481raxchhzzf";
+ sha256 = "17g54mcxsidcx37l6m4p8i06ln1hvq3347dhdl9xkkn7pqpwvv1c";
};
cmakeFlags = [
[cgit] Unable to lock slot /tmp/cgit/36000000.lock: No such file or directory (2)