From f80edaffdb091753e291accae52743c2fb2418af Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Tue, 3 May 2022 12:32:04 +0200 Subject: [PATCH] Various: - slack as wayland native application - google chrome is a wayland native application now - Emacs - `aggressive-indent` - `symex` - disabled `org-superstar-mode` - default `hunspell` dictionary is `en_US` now - glances - translate-shell - `qutebrowser` is the default browser now --- pkgs/default.nix | 2 ++ pkgs/emacs/default.nix | 4 +++- pkgs/google-chrome/default.nix | 8 ++++++++ pkgs/slack/default.nix | 12 ++++++++++++ pkgs/v4l2loopback-dc/default.nix | 3 +++ profiles/core/default.nix | 1 + users/ccr/default.nix | 2 ++ .../profiles/emacs/emacs.d/config/config-lisp.el | 15 +++++++++++++++ users/profiles/emacs/emacs.d/config/config-org.el | 4 ++-- .../emacs/emacs.d/config/config-spelling.el | 6 +++--- users/profiles/emacs/emacs.d/init.el | 1 + users/profiles/qutebrowser/default.nix | 14 ++++++++++++++ 12 files changed, 66 insertions(+), 6 deletions(-) create mode 100644 pkgs/google-chrome/default.nix create mode 100644 pkgs/slack/default.nix create mode 100644 users/profiles/emacs/emacs.d/config/config-lisp.el diff --git a/pkgs/default.nix b/pkgs/default.nix index f90606e..6948e7c 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -28,5 +28,7 @@ in umoria = nixpkgsDev.umoria; droidcam = prev.callPackage (import ./droidcam) { }; v4l2loopback-dc = prev.callPackage (import ./v4l2loopback-dc) { kernel = prev.linux; }; + slack = import ./slack { pkgs = prev; }; + google-chrome = import ./google-chrome { pkgs = prev; }; # then, call packages with `final.callPackage` } diff --git a/pkgs/emacs/default.nix b/pkgs/emacs/default.nix index 93229b6..a4037f6 100644 --- a/pkgs/emacs/default.nix +++ b/pkgs/emacs/default.nix @@ -9,6 +9,7 @@ emacsWithPackages ( ) ++ ( with epkgs.melpaPackages; [ # dirvish + aggressive-indent all-the-icons company dap-mode @@ -17,8 +18,8 @@ emacsWithPackages ( evil evil-collection fira-code-mode - good-scroll go-translate + good-scroll haskell-mode helm helm-ag @@ -45,6 +46,7 @@ emacsWithPackages ( rainbow-identifiers scad-mode sudo-utils + symex treemacs treemacs-evil treemacs-icons-dired diff --git a/pkgs/google-chrome/default.nix b/pkgs/google-chrome/default.nix new file mode 100644 index 0000000..424deea --- /dev/null +++ b/pkgs/google-chrome/default.nix @@ -0,0 +1,8 @@ +{ pkgs }: + +pkgs.google-chrome.override { + commandLineArgs = [ + "--enable-features=UseOzonePlatform" + "--ozone-platform=wayland" + ]; +} diff --git a/pkgs/slack/default.nix b/pkgs/slack/default.nix new file mode 100644 index 0000000..5b99c44 --- /dev/null +++ b/pkgs/slack/default.nix @@ -0,0 +1,12 @@ +{ pkgs }: + +pkgs.slack.overrideAttrs (old: { + buildInputs = old.buildInputs ++ [ pkgs.makeWrapper ]; + postInstall = old.postInstall or "" + '' + rm $out/bin/slack + makeWrapper $out/lib/slack/slack $out/bin/slack \ + --prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \ + --prefix PATH : ${pkgs.lib.makeBinPath [pkgs.xdg-utils]} \ + --add-flags "--ozone-platform=wayland --enable-features=UseOzonePlatform,WebRTCPipeWireCapturer" + ''; +}) diff --git a/pkgs/v4l2loopback-dc/default.nix b/pkgs/v4l2loopback-dc/default.nix index 0c3fe9c..0329c54 100644 --- a/pkgs/v4l2loopback-dc/default.nix +++ b/pkgs/v4l2loopback-dc/default.nix @@ -1,5 +1,8 @@ { stdenv, fetchzip, kernel }: +# if "Built-in-audio" (virtual device) is not shown in pavucontrol try the following +# pacmd load-module module-alsa-source device=hw:Loopback,1,0 + stdenv.mkDerivation rec { pname = "v4l2loopback-dc"; version = "0"; diff --git a/profiles/core/default.nix b/profiles/core/default.nix index cb05ec2..5c0ef1e 100644 --- a/profiles/core/default.nix +++ b/profiles/core/default.nix @@ -16,6 +16,7 @@ in fd git htop + glances bottom gptfdisk iputils diff --git a/users/ccr/default.nix b/users/ccr/default.nix index 8bd43f9..e679210 100644 --- a/users/ccr/default.nix +++ b/users/ccr/default.nix @@ -26,6 +26,8 @@ texlive.combined.scheme-full gphoto2 rawtherapee + slack + translate-shell ] ++ (if !stdenv.hostPlatform.isAarch64 then [ wineWowPackages.full diff --git a/users/profiles/emacs/emacs.d/config/config-lisp.el b/users/profiles/emacs/emacs.d/config/config-lisp.el new file mode 100644 index 0000000..17cebcf --- /dev/null +++ b/users/profiles/emacs/emacs.d/config/config-lisp.el @@ -0,0 +1,15 @@ +(use-package symex + :custom + (symex-modal-backend 'evil) + :config + (symex-initialize) + (global-set-key (kbd "C-c s") 'symex-mode-interface)) ; or whatever keybinding you like + + +(use-package aggressive-indent + :commands (aggressive-indent-mode aggressive-indent-global-mode) + :hook + (emacs-lisp-mode . aggressive-indent-mode) + (lisp-mode . aggressive-indent-mode)) + +(provide 'config-lisp) diff --git a/users/profiles/emacs/emacs.d/config/config-org.el b/users/profiles/emacs/emacs.d/config/config-org.el index 2963252..200f91f 100644 --- a/users/profiles/emacs/emacs.d/config/config-org.el +++ b/users/profiles/emacs/emacs.d/config/config-org.el @@ -49,8 +49,8 @@ (use-package org-superstar :custom (org-superstar-special-todo-items t) - :hook - (('org-mode . (lambda () (org-superstar-mode 1))))) + ;; :hook (('org-mode . (lambda () (org-superstar-mode 1)))) + ) (use-package org-download :hook diff --git a/users/profiles/emacs/emacs.d/config/config-spelling.el b/users/profiles/emacs/emacs.d/config/config-spelling.el index 94cfa2c..5500387 100644 --- a/users/profiles/emacs/emacs.d/config/config-spelling.el +++ b/users/profiles/emacs/emacs.d/config/config-spelling.el @@ -8,13 +8,13 @@ ) :custom ((ispell-program-name "hunspell") - (ispell-dictionary "it_IT")) + (ispell-dictionary "en_US")) :config (defun switch-dictionary-it-en () (interactive) (let* ((dict ispell-current-dictionary) - (new (if (string= dict "it_IT") "en_US" - "it_IT"))) + (new (if (string= dict "en_US") "it_IT" + "en_US"))) (ispell-change-dictionary new) (message "Switched dictionary from %s to %s" dict new)))) diff --git a/users/profiles/emacs/emacs.d/init.el b/users/profiles/emacs/emacs.d/init.el index 1d57a13..ce73d36 100644 --- a/users/profiles/emacs/emacs.d/init.el +++ b/users/profiles/emacs/emacs.d/init.el @@ -28,5 +28,6 @@ Return nil if COMMAND is not found anywhere in `exec-path'." (require 'config-purescript) (require 'config-scad) (require 'config-translate) +(require 'config-lisp) (server-start) diff --git a/users/profiles/qutebrowser/default.nix b/users/profiles/qutebrowser/default.nix index ae2cb55..4cf7d7d 100644 --- a/users/profiles/qutebrowser/default.nix +++ b/users/profiles/qutebrowser/default.nix @@ -1,3 +1,5 @@ +{ pkgs, ... }: + { programs.qutebrowser = { enable = true; @@ -30,5 +32,17 @@ ]; }; }; + home.packages = [ + ( + pkgs.makeDesktopItem { + name = "qutebrowser"; + exec = "qutebrowser %u"; + comment = "Qutebrowser"; + desktopName = "qutebrowser"; + type = "Application"; + mimeType = "x-scheme-handler/https"; + } + ) + ]; }