From 507474099247df8c30cb4f229d2affd791f7c838 Mon Sep 17 00:00:00 2001 From: "Alexander \"PapaTutuWawa" Date: Sun, 27 Mar 2022 12:30:13 +0200 Subject: [PATCH] meta: Dump changes --- flake.lock | 228 +++++++++++++++++- flake.nix | 4 +- hosts/mashu.nix | 2 +- hosts/miku.nix | 10 +- hosts/nishimiya.nix | 6 +- lib/baseSystem.nix | 4 +- modules/default.nix | 1 + modules/programs/emacs/dotemacs | 1 + modules/programs/gdm/default.nix | 22 ++ overlays/default.nix | 2 +- overlays/sandbox.nix | 20 ++ overlays/simple.nix | 2 + .../discord-app/default.nix | 46 ++++ packages/default.nix | 4 + 14 files changed, 333 insertions(+), 19 deletions(-) create mode 100644 modules/programs/gdm/default.nix create mode 100644 packages/applications/networking/instant-messengers/discord-app/default.nix diff --git a/flake.lock b/flake.lock index db71966..78939ff 100644 --- a/flake.lock +++ b/flake.lock @@ -33,6 +33,27 @@ "type": "github" } }, + "flake-helper": { + "inputs": { + "nixpkgs": [ + "ostylk-home", + "pkg-unstable" + ] + }, + "locked": { + "lastModified": 1645120126, + "narHash": "sha256-bAJO50lRaOUz+lQk+3cd+7Yz8+QGL3YyG8kpeHLtKMc=", + "ref": "master", + "rev": "35e3f54ad63695b2c00e650c17b30280d49e7232", + "revCount": 5, + "type": "git", + "url": "https://dev.ostylk.de/NixDistro/FlakeHelper.git" + }, + "original": { + "type": "git", + "url": "https://dev.ostylk.de/NixDistro/FlakeHelper.git" + } + }, "flake-utils": { "locked": { "lastModified": 1644229661, @@ -93,6 +114,21 @@ "type": "github" } }, + "flake-utils_5": { + "locked": { + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": "nixpkgs" @@ -134,6 +170,50 @@ "type": "github" } }, + "home-stable": { + "inputs": { + "nixpkgs": [ + "ostylk-home", + "pkg-stable" + ] + }, + "locked": { + "lastModified": 1647175256, + "narHash": "sha256-7H+veXPM7IwdN1DoZqliwb9sghlN56koV5dnCu1kpsc=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "a8d00f5c038cf7ec54e7dac9c57b171c1217f008", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "release-21.11", + "repo": "home-manager", + "type": "github" + } + }, + "home-unstable": { + "inputs": { + "nixpkgs": [ + "ostylk-home", + "pkg-unstable" + ] + }, + "locked": { + "lastModified": 1648078876, + "narHash": "sha256-oa3RA0Z0UwEZ1M5kQOT9oUVd4ew3XePOu2oDTenFd98=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "ac9404115362c901ffe5c5c215f76f74b79d5eda", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "master", + "repo": "home-manager", + "type": "github" + } + }, "impermanence": { "locked": { "lastModified": 1640808801, @@ -167,6 +247,24 @@ "type": "github" } }, + "naersk_2": { + "inputs": { + "nixpkgs": "nixpkgs_7" + }, + "locked": { + "lastModified": 1639947939, + "narHash": "sha256-pGsM8haJadVP80GFq4xhnSpNitYNQpaXk4cnA796Cso=", + "owner": "nix-community", + "repo": "naersk", + "rev": "2fc8ce9d3c025d59fee349c1f80be9785049d653", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "naersk", + "type": "github" + } + }, "nixos-hardware": { "locked": { "lastModified": 1647447644, @@ -301,6 +399,35 @@ } }, "nixpkgs_7": { + "locked": { + "lastModified": 1645010845, + "narHash": "sha256-hO9X4PvxkSLMQnGGB7tOrKPwufhLMiNQMNXNwzLqneo=", + "path": "/nix/store/hkl03hpzvq0pj2qkc56485dd8fm27nng-source", + "rev": "2128d0aa28edef51fd8fef38b132ffc0155595df", + "type": "path" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "nixpkgs_8": { + "locked": { + "lastModified": 1642190797, + "narHash": "sha256-cxeEEAtfIACnm8sV1oz0xlNp9IVk10Fxcc09ggoEZuo=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "3ddd960a3b575bf3230d0e59f42614b71f9e0db9", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-21.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_9": { "locked": { "lastModified": 1645373091, "narHash": "sha256-eRbiakFKdxtjrqOtErp4BgOJlLN5VEBymldfxy+ZKzI=", @@ -350,11 +477,67 @@ "rev": "a1d35e75bf019737281854551d8e5c4aff76e6f7", "revCount": 167, "type": "git", - "url": "https://dev.ostylk.de/NixDistro/Config" + "url": "https://destiny.ostylk.de/gitea/NixDistro/Config.git" }, "original": { "type": "git", - "url": "https://dev.ostylk.de/NixDistro/Config" + "url": "https://destiny.ostylk.de/gitea/NixDistro/Config.git" + } + }, + "ostylk-home": { + "inputs": { + "flake-helper": "flake-helper", + "flake-utils": "flake-utils_4", + "home-stable": "home-stable", + "home-unstable": "home-unstable", + "pkg-stable": "pkg-stable", + "pkg-unstable": "pkg-unstable", + "rnix-lsp": "rnix-lsp_2" + }, + "locked": { + "lastModified": 1648314458, + "narHash": "sha256-3eJDYivk8g5U4hSaD7c0WkwPcZ743Bc75vwRjTssO9I=", + "ref": "master", + "rev": "cb9d4eec8d6f27353f906d1d8f3bba90882504c9", + "revCount": 57, + "type": "git", + "url": "https://destiny.ostylk.de/gitea/NixDistro/Home.git" + }, + "original": { + "type": "git", + "url": "https://destiny.ostylk.de/gitea/NixDistro/Home.git" + } + }, + "pkg-stable": { + "locked": { + "lastModified": 1647992509, + "narHash": "sha256-AG40Nt5OWz0LBs5p457emOuwLKOvTtcv/2fUdnEN3Ws=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d2caa9377539e3b5ff1272ac3aa2d15f3081069f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-21.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "pkg-unstable": { + "locked": { + "lastModified": 1648069223, + "narHash": "sha256-BXzQV8p/RR440EB9qY0ULYfTH0zSW1stjUCYeP4SF+E=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1d08ea2bd83abef174fb43cbfb8a856b8ef2ce26", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" } }, "rnix-lsp": { @@ -381,6 +564,27 @@ "type": "github" } }, + "rnix-lsp_2": { + "inputs": { + "naersk": "naersk_2", + "nixpkgs": "nixpkgs_8", + "utils": "utils_2" + }, + "locked": { + "lastModified": 1643586450, + "narHash": "sha256-BRIAc3+zavSlJPYSbov2n1W9/a4Iuh2swFPYRWjCm1g=", + "owner": "nix-community", + "repo": "rnix-lsp", + "rev": "41eb2f3366e3f351bf2563c2a7c46fd17e78dfe0", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "master", + "repo": "rnix-lsp", + "type": "github" + } + }, "root": { "inputs": { "emacs": "emacs", @@ -390,6 +594,7 @@ "nixpkgs": "nixpkgs_2", "nur": "nur", "ostylk": "ostylk", + "ostylk-home": "ostylk-home", "stable": "stable", "tablet-mode": "tablet-mode_2" } @@ -431,8 +636,8 @@ }, "tablet-mode_2": { "inputs": { - "flake-utils": "flake-utils_4", - "nixpkgs": "nixpkgs_7" + "flake-utils": "flake-utils_5", + "nixpkgs": "nixpkgs_9" }, "locked": { "lastModified": 1645816436, @@ -462,6 +667,21 @@ "repo": "flake-utils", "type": "github" } + }, + "utils_2": { + "locked": { + "lastModified": 1638122382, + "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 36cf541..4acdd82 100644 --- a/flake.nix +++ b/flake.nix @@ -8,7 +8,8 @@ stable.url = "github:nixos/nixpkgs/nixos-21.05"; emacs.url = "github:nix-community/emacs-overlay"; nur.url = "github:nix-community/nur"; - ostylk.url = "git+https://dev.ostylk.de/NixDistro/Config"; + ostylk.url = "git+https://destiny.ostylk.de/gitea/NixDistro/Config.git"; + ostylk-home.url = "git+https://destiny.ostylk.de/gitea/NixDistro/Home.git"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; tablet-mode.url = "git+https://dev.ostylk.de/NixDistro/tablet-mode.git"; }; @@ -18,6 +19,7 @@ , nixpkgs , home-manager , flake-utils + , ostylk-home , ... }@inputs: let inherit (import ./lib/flake.nix { diff --git a/hosts/mashu.nix b/hosts/mashu.nix index ad9c95b..d5257b3 100644 --- a/hosts/mashu.nix +++ b/hosts/mashu.nix @@ -42,7 +42,7 @@ plasma.mobile = true; }; services = { - gnome.enable = true; + gdm.enable = true; }; system = { i18n.enable = true; diff --git a/hosts/miku.nix b/hosts/miku.nix index c6284d6..fb567e7 100644 --- a/hosts/miku.nix +++ b/hosts/miku.nix @@ -43,7 +43,7 @@ #psst # Proprietary stuff (yikes) - discord-wrapped spotify-wrapped + discord-wrapped discord-app-wrapped spotify-wrapped ]; ptw = { @@ -75,6 +75,10 @@ enable = false; postStartCommand = "${pkgs.input-remapper}/bin/input-remapper-control --command start --preset NOOP --device \"Razer Razer Tartarus V2\""; }; + gdm = { + enable = true; + monitors = ../data/miku/monitors.xml; + }; }; system = { i18n.enable = true; @@ -148,10 +152,6 @@ enable = true; layout = "de"; libinput.enable = true; - displayManager.gdm = { - wayland = true; - enable = true; - }; }; earlyoom.enable = lib.mkForce false; }; diff --git a/hosts/nishimiya.nix b/hosts/nishimiya.nix index 0524624..8082639 100644 --- a/hosts/nishimiya.nix +++ b/hosts/nishimiya.nix @@ -53,7 +53,7 @@ office.enable = true; }; services = { - gnome.enable = true; + gdm.enable = true; kanshi = let horizontal = "Samsung Electric Company C27F398 H4ZR101145"; @@ -116,10 +116,6 @@ enable = true; layout = "de"; libinput.enable = true; - displayManager.gdm = { - enable = true; - wayland = true; - }; }; }; diff --git a/lib/baseSystem.nix b/lib/baseSystem.nix index c491e9f..c2f44d1 100644 --- a/lib/baseSystem.nix +++ b/lib/baseSystem.nix @@ -113,7 +113,7 @@ in { # Everyone needs sound pipewire = { - enable = false; + enable = true; pulse.enable = true; jack.enable = true; alsa.enable = true; @@ -241,7 +241,7 @@ in { hardware = { enableRedistributableFirmware = true; # This is a Pipewire household! - #pulseaudio.enable = false; + pulseaudio.enable = false; opengl = { enable = true; diff --git a/modules/default.nix b/modules/default.nix index 82df1a1..b5034f5 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -10,6 +10,7 @@ ./programs/emacs ./programs/firefox ./programs/gnome + ./programs/gdm ./programs/gnome-terminal ./programs/mpv ./programs/git diff --git a/modules/programs/emacs/dotemacs b/modules/programs/emacs/dotemacs index 6baa940..9c11580 100644 --- a/modules/programs/emacs/dotemacs +++ b/modules/programs/emacs/dotemacs @@ -89,6 +89,7 @@ (smartparens-global-mode t)) (use-package undo-tree :config + (setq undo-tree-auto-save-history nil) (global-undo-tree-mode)) (setq-default indent-tab-mode t) diff --git a/modules/programs/gdm/default.nix b/modules/programs/gdm/default.nix new file mode 100644 index 0000000..2b2fec0 --- /dev/null +++ b/modules/programs/gdm/default.nix @@ -0,0 +1,22 @@ +{ pkgs, config, lib, ... }: + +let + cfg = config.ptw.services.gdm; +in { + options.ptw.services.gdm = { + enable = lib.mkEnableOption "Enable GDM as a display manager"; + monitors = lib.mkOption { + description = "The file to use as a monitors.xml"; + }; + }; + + config = lib.mkIf cfg.enable { + services.xserver.displayManager.gdm = { + wayland = true; + enable = true; + + # TODO: Use monitors.xml + # job + }; + }; +} diff --git a/overlays/default.nix b/overlays/default.nix index 7ea717f..7ccf955 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -1,4 +1,4 @@ -{ pkgs }: +{ pkgs, inputs }: { simple = import ./simple.nix; diff --git a/overlays/sandbox.nix b/overlays/sandbox.nix index 0251ea7..1dfadac 100644 --- a/overlays/sandbox.nix +++ b/overlays/sandbox.nix @@ -23,6 +23,26 @@ in { categories = [ "Network" "InstantMessaging" ]; }; }; + + discord-app-wrapped = wrapInSandbox { + name = "discord-app"; + package = prev.discord-app; + binaryName = "discord-app"; + mountInHome = [ ".local/share/discord-app" ]; + additionalBlacklist = [ "/mnt" ]; + chdirTo = "/home/$USER"; + + version = "1.0.0"; + desktopFileArgs = { + name = "discord-app-wrapped"; + #exec = "discord"; + icon = "discord"; + desktopName = "Discord-App (wrapped)"; + genericName = "Instant Messenger"; + categories = [ "Network" "InstantMessaging" ]; + }; + }; + minecraft-wrapped = wrapInSandbox { name = "minecraft-launcher"; package = prev.minecraft; diff --git a/overlays/simple.nix b/overlays/simple.nix index 73e8545..445cbb1 100644 --- a/overlays/simple.nix +++ b/overlays/simple.nix @@ -103,4 +103,6 @@ final: prev: tor-browser-bundle-bin = prev.tor-browser-bundle-bin.override { useHardenedMalloc = false; }; + + discord-app = prev.discord-app.override { chromium = prev.ungoogled-chromium; }; } diff --git a/packages/applications/networking/instant-messengers/discord-app/default.nix b/packages/applications/networking/instant-messengers/discord-app/default.nix new file mode 100644 index 0000000..4cca5c3 --- /dev/null +++ b/packages/applications/networking/instant-messengers/discord-app/default.nix @@ -0,0 +1,46 @@ +{ + stdenv +, makeDesktopItem, writeScript, fetchurl +, chromium +}: + +let + script = writeScript "run-discord-app.sh" '' + ${chromium}/bin/chromium \ + --class="Discord-App" \ + --app="https://discord.com/channels/@me" \ + --user-data-dir=$HOME/.local/share/discord-app +''; + desktopItem = makeDesktopItem { + name = "discord-app"; + desktopName = "Discord App"; + genericName = "All-in-one cross-platform voice and text chat for gamers"; + exec = "${script}"; + icon = "discord"; + type = "Application"; + categories = [ "Network" "InstantMessaging" ]; + startupWMClass = "Discord-App"; + }; + iconSvg = fetchurl { + url = "https://discord.com/assets/3437c10597c1526c3dbd98c737c2bcae.svg"; + sha256 = "0w18j5pvqnaimnsx9flqm8n5yb7lnkc5jsvf1c9sk5a3jplq2j61"; + }; +in stdenv.mkDerivation { + pname = "discord-app"; + version = "1.0.0"; + + buildInputs = [ chromium ]; + + phases = "installPhase"; + + installPhase = '' + # Install the icon + mkdir -p $out/share/pixmaps + cp ${iconSvg} $out/share/pixmaps/discord.svg + + mkdir -p $out/bin + cp ${script} $out/bin/discord-app + cp -r ${desktopItem}/share/* $out/share + ''; +} + diff --git a/packages/default.nix b/packages/default.nix index e344b4d..06b03b5 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -61,4 +61,8 @@ in { qtgreet = prev.libsForQt5.callPackage ./qtgreet.nix {}; spice-gtk = prev.callPackage temp/spice-gtk/default.nix {}; + + discord-app = prev.callPackage applications/networking/instant-messengers/discord-app { + chromium = prev.ungoogled-chromium; + }; }