From 339809b1a26200bab9a22e728268b89790623841 Mon Sep 17 00:00:00 2001 From: m3tam3re Date: Sun, 18 Jun 2023 06:00:57 +0200 Subject: [PATCH] -wofi-emoji +bemoji --- home/features/cli/#fish.nix# | 68 +++++++++++++++++ home/features/desktop/#default.nix# | 89 +++++++++++++++++++++++ home/features/desktop/wofi.nix | 3 +- home/users/m3tam3re/dotfiles/hyprland.nix | 2 +- pkgs/bemoji/default.nix | 24 ++++++ pkgs/bemoji/default.nix.~1~ | 24 ++++++ pkgs/default.nix | 1 + pkgs/wofi-pass/default.nix | 5 +- 8 files changed, 212 insertions(+), 4 deletions(-) create mode 100644 home/features/cli/#fish.nix# create mode 100644 home/features/desktop/#default.nix# create mode 100644 pkgs/bemoji/default.nix create mode 100644 pkgs/bemoji/default.nix.~1~ diff --git a/home/features/cli/#fish.nix# b/home/features/cli/#fish.nix# new file mode 100644 index 0000000..da45b2f --- /dev/null +++ b/home/features/cli/#fish.nix# @@ -0,0 +1,68 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let cfg = config.features.cli.fish; + +in { + + options.features.cli.fish.enable = mkEnableOption "enable fish shell"; + + config = mkIf cfg.enable { + programs.fish = { + enable = true; + plugins = [{ + name = "foreign-env"; + src = pkgs.fetchFromGitHub { + owner = "oh-my-fish"; + repo = "plugin-foreign-env"; + rev = "dddd9213272a0ab848d474d0cbde12ad034e65bc"; + sha256 = "00xqlyl3lffc5l0viin1nyp819wf81fncqyz87jx8ljjdhilmgbs"; + }; + }]; + loginShellInit = '' + set -x WEBKIT_DISABLE_COMPOSITING_MODE 1 + set -x EDITOR emacsclient + set -x VISUAL emacsclient + set -x XDG_DATA_HOME $HOME/.local/share + set -x FZF_ALT_C_COMMAND fd --type d --exclude .git --follow --hidden + set -x FZF_DEFAULT_COMMAND fd --type f --exclude .git --follow --hidden + set -x FZF_CTRL_T_COMMAND "$FZF_DEFAULT_COMMAND" + + if test (tty) = "/dev/tty1" + exec Hyprland &> /dev/null + end + ''; + shellAbbrs = { + ls = "exa"; + grep = "rg"; + ps = "procs"; + + n = "nix"; + nd = "nix develop -c $SHELL"; + ns = "nix shell"; + nsn = "nix shell nixpkgs#"; + nb = "nix build"; + nbn = "nix build nixpkgs#"; + nf = "nix flake"; + + + nrs = "sudo nixos-rebuild switch --flake .#$HOSTNAME"; + snr = "sudo nixos-rebuild --flake ."; + snrs = "sudo nixos-rebuild --flake . switch"; + hm = "home-manager --flake ."; + hms = "home-manager --flake . switch"; + + tsu = "sudo tailscale up"; + tsd = "sudo tailscale down"; + + vi = "nvim"; + vim = "nvim"; + + wgd = "sudo systemctl stop wg-quick-wg0.service"; + wgu = "sudo systemctl start wg-quick-wg0.service"; + + }; + }; + }; +} diff --git a/home/features/desktop/#default.nix# b/home/features/desktop/#default.nix# new file mode 100644 index 0000000..6cbff1d --- /dev/null +++ b/home/features/desktop/#default.nix# @@ -0,0 +1,89 @@ +{ pkgs, ... }: { + + imports = [ + ./crypto.nix + ./design.nix +# ./espanso.nix + ./extrafonts.nix + ./media.nix + ./office.nix + ./qt.nix + ./syncthing.nix + ./waybar.nix + ./wofi.nix + ]; + + xdg.mimeApps = { + enable = true; + defaultApplications = { "application/pdf" = [ "okular.desktop" ]; }; + }; + + home.sessionVariables = { + WEBKIT_DISABLE_COMPOSITING_MODE = "1"; + NIXOS_OZONE_WL = "1"; + EDITOR = "emacsclient"; + VISUAL = "emacsclient"; + TERMINAL = "alacritty"; + BROWSER = "nyxt"; + QT_QPA_PLATFORM = "wayland"; + XDG_CONFIG_HOME = "\${HOME}/.config"; + XDG_BIN_HOME = "\${HOME}/.local/bin"; + XDG_DATA_HOME = "\${HOME}/.local/share"; + }; + home.sessionPath = + [ "\${XDG_BIN_HOME}" "\${HOME}/.cargo/bin" "$HOME/.npm-global/bin" ]; + + fonts.fontconfig.enable = true; + + services.mako = { + enable = true; + backgroundColor = "#282a36"; + textColor = "#80FFEA"; + borderColor = "#9742b5"; + width = 400; + height = 150; + padding = "10,20"; + borderRadius = 8; + borderSize = 1; + margin = "20,20"; + }; + + home.packages = with pkgs; [ + alacritty + appimage-run + blueberry + brave + brightnessctl + clipman + distrobox + flameshot + firefox + fuzzel + gnome.file-roller + gnome.seahorse + gnome.sushi + gnome.vinagre + glib + gsettings-desktop-schemas + hyprpaper + pamixer + pavucontrol + libsForQt5.qtstyleplugins + nyxt + qt5ct + rustdesk + tor-browser-bundle-bin + transmission-gtk + ungoogled-chromium + unrar + unzip + usbutils + v4l-utils + wl-clipboard + wlogout + wtype + xdg-utils + ydotool + zip + ]; +} diff --git a/home/features/desktop/wofi.nix b/home/features/desktop/wofi.nix index 6b9e889..466a4be 100644 --- a/home/features/desktop/wofi.nix +++ b/home/features/desktop/wofi.nix @@ -1,11 +1,12 @@ { pkgs, outputs, ...}: let wofi-pass = outputs.packages.x86_64-linux.wofi-pass; + bemoji = outputs.packages.x86_64-linux.bemoji; in { home.packages = [ pkgs.wofi - pkgs.wofi-emoji + bemoji wofi-pass ]; } diff --git a/home/users/m3tam3re/dotfiles/hyprland.nix b/home/users/m3tam3re/dotfiles/hyprland.nix index 0b1e127..9ff5134 100644 --- a/home/users/m3tam3re/dotfiles/hyprland.nix +++ b/home/users/m3tam3re/dotfiles/hyprland.nix @@ -163,7 +163,7 @@ bind= $mainMod, F, fullscreen bind = $mainMod, V, togglefloating, bind = $mainMod, D, exec, wofi --show drun --allow-images - bind = $mainMod SHIFT, S, exec, wofi-emoji + bind = $mainMod SHIFT, S, exec, bemoji bind = $mainMod, P, exec, wofi-pass bind = $mainMod SHIFT, P, pseudo, # dwindle bind = $mainMod, J, togglesplit, # dwindle diff --git a/pkgs/bemoji/default.nix b/pkgs/bemoji/default.nix new file mode 100644 index 0000000..a94ef3d --- /dev/null +++ b/pkgs/bemoji/default.nix @@ -0,0 +1,24 @@ +{ stdenv, lib, fetchFromGitHub, bash, pkgs, makeWrapper }: + +with lib; +with pkgs; + +stdenv.mkDerivation { + pname = "bemoji"; + version = "0.3.0"; + src = fetchFromGitHub { + owner = "marty-oehme"; + repo = "bemoji"; + rev = "dc68887"; + sha256 = "XXNrUaS06UHF3cVfIfWjGF1sdPE709W2tFhfwTitzNs="; + }; + buildInputs = [ bash coreutils wl-clipboard wofi wtype ]; + + nativeBuildInputs = [ makeWrapper ]; + installPhase = '' + mkdir -p $out/bin + cp bemoji $out/bin/bemoji + wrapProgram $out/bin/bemoji \ + --prefix PATH : ${makeBinPath [ bash coreutils wl-clipboard wofi wtype ]} + ''; +} diff --git a/pkgs/bemoji/default.nix.~1~ b/pkgs/bemoji/default.nix.~1~ new file mode 100644 index 0000000..f2ecdc5 --- /dev/null +++ b/pkgs/bemoji/default.nix.~1~ @@ -0,0 +1,24 @@ +{ stdenv, lib, fetchFromGitHub, bash, pkgs, makeWrapper }: + +with lib; +with pkgs; + +stdenv.mkDerivation { + pname = "wofi-pass"; + version = "0.1"; + src = fetchFromGitHub { + owner = "TinfoilSubmarine"; + repo = "wofi-pass"; + rev = "869c545"; + sha256 = "gcfW8E/3/dqv0P3S4z9fDv8k4R7czcIKwpo/OHFFWj0="; + }; + buildInputs = [ bash coreutils wl-clipboard wofi wtype ]; + + nativeBuildInputs = [ makeWrapper ]; + installPhase = '' + mkdir -p $out/bin + cp wofi-pass $out/bin/wofi-pass + wrapProgram $out/bin/wofi-pass \ + --prefix PATH : ${makeBinPath [ bash coreutils wl-clipboard wofi wtype ]} + ''; +} diff --git a/pkgs/default.nix b/pkgs/default.nix index 96cfff7..0e7c5c7 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,5 +1,6 @@ { pkgs ? import { } }: { wofi-pass = pkgs.callPackage ./wofi-pass { }; + bemoji = pkgs.callPackage ./bemoji { }; } diff --git a/pkgs/wofi-pass/default.nix b/pkgs/wofi-pass/default.nix index 21ebe51..f2ecdc5 100644 --- a/pkgs/wofi-pass/default.nix +++ b/pkgs/wofi-pass/default.nix @@ -1,6 +1,7 @@ { stdenv, lib, fetchFromGitHub, bash, pkgs, makeWrapper }: with lib; +with pkgs; stdenv.mkDerivation { pname = "wofi-pass"; @@ -11,13 +12,13 @@ stdenv.mkDerivation { rev = "869c545"; sha256 = "gcfW8E/3/dqv0P3S4z9fDv8k4R7czcIKwpo/OHFFWj0="; }; - buildInputs = [ bash ]; + buildInputs = [ bash coreutils wl-clipboard wofi wtype ]; nativeBuildInputs = [ makeWrapper ]; installPhase = '' mkdir -p $out/bin cp wofi-pass $out/bin/wofi-pass wrapProgram $out/bin/wofi-pass \ - --prefix PATH : ${makeBinPath [ bash ]} + --prefix PATH : ${makeBinPath [ bash coreutils wl-clipboard wofi wtype ]} ''; }