From ee12877380a946c02293b2d43d55ee17be08b407 Mon Sep 17 00:00:00 2001 From: Erwin Boskma Date: Mon, 22 Nov 2021 18:56:59 +0100 Subject: [PATCH] Tweaks --- .gitignore | 1 + flake.lock | 34 ++++++----------- home-manager/modules/firefox/default.nix | 15 ++++++++ home-manager/modules/sway/default.nix | 3 +- modules/desktop/default.nix | 14 +++++++ modules/docker/default.nix | 18 ++++++++- modules/docker/element-web.json | 47 ++++++++++++++++++++++++ modules/fonts/default.nix | 1 + 8 files changed, 109 insertions(+), 24 deletions(-) create mode 100755 modules/docker/element-web.json diff --git a/.gitignore b/.gitignore index e384660..8e4f059 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /backup +/result diff --git a/flake.lock b/flake.lock index 9e2a13d..9cfa4d0 100644 --- a/flake.lock +++ b/flake.lock @@ -26,11 +26,11 @@ ] }, "locked": { - "lastModified": 1637510878, - "narHash": "sha256-7dVyPvVpj+qat8+XCmWbD7v4m3pW4ah85sV8Olzxs84=", + "lastModified": 1637523547, + "narHash": "sha256-VIx3kWZ4VSub49NDbZiC0eWNY76+WeEnyHnT/FBPD/4=", "ref": "main", - "rev": "3b33c60e64a7aa5b02fbbdee1182d9ad70ad8f58", - "revCount": 5, + "rev": "43de89c70b9f68b7d1e50ac303b29e3cfed9f280", + "revCount": 6, "type": "git", "url": "ssh://git@git.datarift.nl/erwin/ha-now-playing.git" }, @@ -47,11 +47,11 @@ ] }, "locked": { - "lastModified": 1637481586, - "narHash": "sha256-cvgegmCRfNFuA/vPseMcSptmlNqD2nC0lLI9BQWU46A=", + "lastModified": 1637516270, + "narHash": "sha256-qTffAQ0kWA2qXMJUVMDsgXVbzMNI0BfR78vB/4QFA+o=", "owner": "nix-community", "repo": "home-manager", - "rev": "1abd311eef125e7b64dff723f198d15e5aca2dd4", + "rev": "15ae861e1bfad90e0d14106551544e9e07cbcb10", "type": "github" }, "original": { @@ -62,7 +62,10 @@ }, "naersk": { "inputs": { - "nixpkgs": "nixpkgs" + "nixpkgs": [ + "ha-now-playing", + "nixpkgs" + ] }, "locked": { "lastModified": 1636968630, @@ -80,19 +83,6 @@ } }, "nixpkgs": { - "locked": { - "lastModified": 1636976544, - "narHash": "sha256-9ZmdyoRz4Qu8bP5BKR1T10YbzcB9nvCeQjOEw2cRKR0=", - "path": "/nix/store/ha4ld6wd29q1igjmhjdvkvbxpxxxxbxf-source", - "rev": "931ab058daa7e4cd539533963f95e2bb0dbd41e6", - "type": "path" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, - "nixpkgs_2": { "locked": { "lastModified": 1637155076, "narHash": "sha256-26ZPNiuzlsnXpt55Q44+yzXvp385aNAfevzVEKbrU5Q=", @@ -137,7 +127,7 @@ "flake-utils": "flake-utils", "ha-now-playing": "ha-now-playing", "home-manager": "home-manager", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs", "pamedia": "pamedia" } } diff --git a/home-manager/modules/firefox/default.nix b/home-manager/modules/firefox/default.nix index 11f4647..a390b46 100644 --- a/home-manager/modules/firefox/default.nix +++ b/home-manager/modules/firefox/default.nix @@ -14,6 +14,19 @@ let "privacy.webrtc.legacyGlobalIndicator" = false; "browser.shell.checkDefaultBrowser" = false; }; + + nonDefaultDesktop = pkgs.makeDesktopItem { + name = "firefox-" + (if cfg.work then "private" else "horus"); + desktopName = "Firefox (" + (if cfg.work then "Private" else "Horus") + ")"; + exec = "firefox -P " + (if cfg.work then "private" else "horus") + " %u"; + icon = "firefox"; + categories = "GNOME;GTK;Network;WebBrowser"; + mimeType = "text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;"; + startupNotify = "true"; + extraDesktopEntries = { + "X-MultipleArgs" = "false"; + }; + }; in { options.eboskma.programs.firefox = { @@ -44,5 +57,7 @@ in }; }; }; + + home.packages = [ nonDefaultDesktop ]; }; } diff --git a/home-manager/modules/sway/default.nix b/home-manager/modules/sway/default.nix index 6296293..ce54fad 100644 --- a/home-manager/modules/sway/default.nix +++ b/home-manager/modules/sway/default.nix @@ -180,6 +180,8 @@ in for_window [class="^.*"] inhibit_idle fullscreen for_window [app_id="gnome-calculator"] floating enable + exec_always --no-startup-id systemctl --user import-environment _JAVA_AWT_WM_NONREPARENTING MOZ_ENABLE_WAYLAND MOZ_DBUS_REMOTE QT_QPA_PLATFORM QT_WAYLAND_DISABLE_WINDOWDECORATION QT_QPA_PLATFORMTHEME SDL_VIDEODRIVER SSH_AUTH_SOCK + exec_always --no-startup-id dbus-update-activation-environment --systemd _JAVA_AWT_WM_NONREPARENTING MOZ_ENABLE_WAYLAND MOZ_DBUS_REMOTE QT_QPA_PLATFORM QT_WAYLAND_DISABLE_WINDOWDECORATION QT_QPA_PLATFORMTHEME SDL_VIDEODRIVER SSH_AUTH_SOCK exec --no-startup-id ${pkgs.networkmanagerapplet}/bin/nm-applet --indicator exec --no-startup-id ${pkgs.swayidle}/bin/swayidle -w timeout 900 ${swaylockcmd}; exec --no-startup-id ${pkgs.swayidle}/bin/swayidle -w 1200 ${pkgs.sway}/bin/swaymsg 'output * dpms off' resume ${pkgs.sway}/bin/swaymsg 'output * dpms off'; @@ -195,7 +197,6 @@ in export QT_QPA_PLATFORMTHEME=qt5ct export SDL_VIDEODRIVER=wayland export SSH_AUTH_SOCK="''${XDG_RUNTIME_DIR}/gnupg/S.gpg-agent.ssh" - export WLR_NO_HARDWARE_CURSORS=1 ''; wrapperFeatures = { diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix index 5b5b8ac..17bea83 100644 --- a/modules/desktop/default.nix +++ b/modules/desktop/default.nix @@ -68,6 +68,7 @@ in gnome.nautilus jetbrains.clion neovim + nomachine-client ripgrep signal-desktop steam @@ -141,6 +142,7 @@ in portal = { enable = true; wlr.enable = true; + extraPortals = with pkgs; [ xdg-desktop-portal-gtk ]; gtkUsePortal = true; }; }; @@ -154,5 +156,17 @@ in auth include login ''; }; + + environment.sessionVariables = { + _JAVA_AWT_WM_NONREPARENTING = "1"; + MOZ_ENABLE_WAYLAND = "1"; + MOZ_DBUS_REMOTE = "1"; + QT_QPA_PLATFORM = "wayland"; + QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; + QT_QPA_PLATFORMTHEME = "qt5ct"; + SDL_VIDEODRIVER = "wayland"; + SSH_AUTH_SOCK = ''''${XDG_RUNTIME_DIR}/gnupg/S.gpg-agent.ssh''; + }; + }; } diff --git a/modules/docker/default.nix b/modules/docker/default.nix index 3b0233b..d907dae 100644 --- a/modules/docker/default.nix +++ b/modules/docker/default.nix @@ -1,6 +1,8 @@ { lib, pkgs, config, ... }: with lib; -let cfg = config.eboskma.docker; +let + cfg = config.eboskma.docker; + matrixClientConfig = pkgs.writeText "element-web.json" (builtins.readFile ./element-web.json); in { @@ -18,6 +20,20 @@ in }; }; + # docker run -d --restart=always --name element-web -p 8888:80 -v $PWD/element-web.json:/app/config.json vectorim/element-web + virtualisation.oci-containers.containers = { + element-web = { + autoStart = true; + image = "vectorim/element-web"; + ports = [ + "8888:80" + ]; + volumes = [ + "${matrixClientConfig}:/app/config.json" + ]; + }; + }; + users.extraUsers.${config.eboskma.var.mainUser}.extraGroups = [ "docker" ]; diff --git a/modules/docker/element-web.json b/modules/docker/element-web.json new file mode 100755 index 0000000..3a21840 --- /dev/null +++ b/modules/docker/element-web.json @@ -0,0 +1,47 @@ +{ + "default_server_config": { + "m.homeserver": { + "base_url": "https://matrix-client.matrix.org", + "server_name": "matrix.org" + }, + "m.identity_server": { + "base_url": "https://vector.im" + } + }, + "disable_custom_urls": false, + "disable_guests": true, + "disable_login_language_selector": false, + "disable_3pid_login": false, + "brand": "Element", + "integrations_ui_url": "https://scalar.vector.im/", + "integrations_rest_url": "https://scalar.vector.im/api", + "integrations_widgets_urls": [ + "https://scalar.vector.im/_matrix/integrations/v1", + "https://scalar.vector.im/api", + "https://scalar-staging.vector.im/_matrix/integrations/v1", + "https://scalar-staging.vector.im/api", + "https://scalar-staging.riot.im/scalar/api" + ], + "bug_report_endpoint_url": "https://element.io/bugreports/submit", + "defaultCountryCode": "NL", + "showLabsSettings": true, + "features": { }, + "default_federate": true, + "default_theme": "light", + "roomDirectory": { + "servers": [ + "matrix.org" + ] + }, + "piwik": false, + "enable_presence_by_hs_url": { + "https://matrix.org": false, + "https://matrix-client.matrix.org": false + }, + "settingDefaults": { + "breadcrumbs": true + }, + "jitsi": { + "preferredDomain": "jitsi.riot.im" + } +} diff --git a/modules/fonts/default.nix b/modules/fonts/default.nix index 668dccc..ed5c09c 100644 --- a/modules/fonts/default.nix +++ b/modules/fonts/default.nix @@ -15,6 +15,7 @@ in fonts = with pkgs; [ (nerdfonts.override { fonts = [ "CascadiaCode" "DroidSansMono" "FantasqueSansMono" "FiraCode" "Iosevka" "JetBrainsMono" "Meslo" "Noto" "SourceCodePro" ]; }) dejavu_fonts + google-fonts kochi-substitute noto-fonts-emoji corefonts